diff --git a/lib/libesp32/berry_matter/src/be_matter_module.c b/lib/libesp32/berry_matter/src/be_matter_module.c
index c6cce0315..b5901619b 100644
--- a/lib/libesp32/berry_matter/src/be_matter_module.c
+++ b/lib/libesp32/berry_matter/src/be_matter_module.c
@@ -222,7 +222,7 @@ extern const bclass be_class_Matter_TLV; // need to declare it upfront because
#include "solidify/solidified_Matter_Session.h"
#include "solidify/solidified_Matter_Session_Store.h"
#include "solidify/solidified_Matter_Commissioning_Data.h"
-#include "solidify/solidified_Matter_Commissioning.h"
+#include "solidify/solidified_Matter_Commissioning_Context.h"
#include "solidify/solidified_Matter_Message.h"
#include "solidify/solidified_Matter_MessageHandler.h"
#include "solidify/solidified_Matter_IM_Message.h"
@@ -231,6 +231,7 @@ extern const bclass be_class_Matter_TLV; // need to declare it upfront because
#include "solidify/solidified_Matter_EventHandler.h"
#include "solidify/solidified_Matter_Control_Message.h"
#include "solidify/solidified_Matter_Plugin_0.h"
+#include "solidify/solidified_Matter_z_Commissioning.h"
#include "solidify/solidified_Matter_Base38.h"
#include "solidify/solidified_Matter_UI.h"
#include "solidify/solidified_Matter_Profiler.h"
@@ -470,6 +471,9 @@ module matter (scope: global, strings: weak) {
Control_Message, class(be_class_Matter_Control_Message)
UI, class(be_class_Matter_UI)
+ // Commissioning
+ Commissioning, class(be_class_Matter_Commissioning)
+
// QR Code
QRCode, class(be_class_Matter_QRCode)
diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Commissioning.be b/lib/libesp32/berry_matter/src/embedded/Matter_Commissioning_Context.be
similarity index 98%
rename from lib/libesp32/berry_matter/src/embedded/Matter_Commissioning.be
rename to lib/libesp32/berry_matter/src/embedded/Matter_Commissioning_Context.be
index 2e7f0e170..f0a611944 100644
--- a/lib/libesp32/berry_matter/src/embedded/Matter_Commissioning.be
+++ b/lib/libesp32/berry_matter/src/embedded/Matter_Commissioning_Context.be
@@ -1,5 +1,5 @@
#
-# Matter_Commissioning.be - suppport for Matter Commissioning process PASE and CASE
+# Matter_Commissioning_Context.be - suppport for Matter Commissioning process PASE and CASE
#
# Copyright (C) 2023 Stephan Hadinger & Theo Arends
#
@@ -53,7 +53,7 @@ class Matter_Commisioning_Context
def process_incoming(msg)
#
- if !self.device.is_commissioning_open() && msg.opcode >= 0x20 && msg.opcode <= 0x24
+ if !self.device.commissioning.is_commissioning_open() && msg.opcode >= 0x20 && msg.opcode <= 0x24
log("MTR: commissioning not open", 2)
return false
end
@@ -139,8 +139,8 @@ class Matter_Commisioning_Context
# generate 32 bytes random
pbkdfparamresp.responderRandom = crypto.random(32)
pbkdfparamresp.responderSessionId = session.__future_local_session_id
- pbkdfparamresp.pbkdf_parameters_salt = self.device.commissioning_salt
- pbkdfparamresp.pbkdf_parameters_iterations = self.device.commissioning_iterations
+ pbkdfparamresp.pbkdf_parameters_salt = self.device.commissioning.commissioning_salt
+ pbkdfparamresp.pbkdf_parameters_iterations = self.device.commissioning.commissioning_iterations
# log("MTR: pbkdfparamresp: " + str(matter.inspect(pbkdfparamresp)), 4)
var pbkdfparamresp_raw = pbkdfparamresp.tlv2raw()
# log("MTR: pbkdfparamresp_raw: " + pbkdfparamresp_raw.tohex(), 4)
@@ -172,7 +172,7 @@ class Matter_Commisioning_Context
# instanciate SPAKE
# for testing purpose, we don't send `w1` to make sure
- var spake = crypto.SPAKE2P_Matter(self.device.commissioning_w0, nil, self.device.commissioning_L)
+ var spake = crypto.SPAKE2P_Matter(self.device.commissioning.commissioning_w0, nil, self.device.commissioning.commissioning_L)
# generate `y` nonce (not persisted)
var y = crypto.random(32) # 32 bytes random known only by verifier
diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Root.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Root.be
index 6a9f8e58f..4673810d5 100644
--- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Root.be
+++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Root.be
@@ -196,17 +196,17 @@ class Matter_Plugin_Root : Matter_Plugin
# ====================================================================================================
elif cluster == 0x003C # ========== Administrator Commissioning Cluster 11.18 p.725 ==========
if attribute == 0x0000 # ---------- WindowStatus / u8 ----------
- var commissioning_open = self.device.is_commissioning_open()
- var basic_commissioning = self.device.is_root_commissioning_open()
+ var commissioning_open = self.device.commissioning.is_commissioning_open()
+ var basic_commissioning = self.device.commissioning.is_root_commissioning_open()
var val = commissioning_open ? (basic_commissioning ? 2 #-BasicWindowOpen-# : 1 #-EnhancedWindowOpen-#) : 0 #-WindowNotOpen-#
return tlv_solo.set(TLV.U1, val)
elif attribute == 0x0001 # ---------- AdminFabricIndex / u16 ----------
- var admin_fabric = self.device.commissioning_admin_fabric
+ var admin_fabric = self.device.commissioning.commissioning_admin_fabric
if admin_fabric != nil
return tlv_solo.set_or_nil(TLV.U2, admin_fabric.get_fabric_index())
end
elif attribute == 0x0002 # ---------- AdminVendorId / u16 ----------
- var admin_fabric = self.device.commissioning_admin_fabric
+ var admin_fabric = self.device.commissioning.commissioning_admin_fabric
if admin_fabric != nil
return tlv_solo.set_or_nil(TLV.U2, admin_fabric.get_admin_vendor())
end
@@ -387,7 +387,7 @@ class Matter_Plugin_Root : Matter_Plugin
ccr.add_TLV(1, TLV.UTF1, "") # DebugText = ""
ctx.command = 0x05 # CommissioningCompleteResponse
- self.device.start_commissioning_complete_deferred(session)
+ self.device.commissioning.start_commissioning_complete_deferred(session)
return ccr
else
raise "context_error", "CommissioningComplete: no fabric attached"
@@ -526,7 +526,7 @@ class Matter_Plugin_Root : Matter_Plugin
var hk = crypto.HKDF_SHA256()
var fabric_rev = fabric_id.copy().reverse()
var k_fabric = hk.derive(root_ca_pub, fabric_rev, info, 8)
- var parent_fabric = session._fabric ? session._fabric : self.device.commissioning_admin_fabric # get parent fabric whether CASE or PASE
+ var parent_fabric = session._fabric ? session._fabric : self.device.commissioning.commissioning_admin_fabric # get parent fabric whether CASE or PASE
new_fabric.set_fabric_device(fabric_id, deviceid, k_fabric, parent_fabric)
# log("MTR: AddNoc k_fabric=" + str(k_fabric), 3)
@@ -534,7 +534,7 @@ class Matter_Plugin_Root : Matter_Plugin
new_fabric.fabric_candidate()
# move to next step
- self.device.start_operational_discovery_deferred(new_fabric)
+ self.device.commissioning.start_operational_discovery_deferred(new_fabric)
# we keep the PASE session for 1 minute
if session.is_PASE()
@@ -627,7 +627,7 @@ class Matter_Plugin_Root : Matter_Plugin
var w0 = passcode_verifier[0..31]
var L = passcode_verifier[32..]
- self.device.start_basic_commissioning(timeout, iterations, discriminator, salt, w0, #-w1,-# L, session.get_fabric())
+ self.device.commissioning.start_basic_commissioning(timeout, iterations, discriminator, salt, w0, #-w1,-# L, session.get_fabric())
# TODO announce in MDNS
return true # OK
elif command == 0x0001 # ---------- OpenBasicCommissioningWindow ----------
@@ -637,7 +637,7 @@ class Matter_Plugin_Root : Matter_Plugin
return true
elif command == 0x0002 # ---------- RevokeCommissioning ----------
# TODO add checks that the commissioning window was opened by the same fabric
- self.device.stop_basic_commissioning()
+ self.device.commissioning.stop_basic_commissioning()
return true
end
diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_UI.be b/lib/libesp32/berry_matter/src/embedded/Matter_UI.be
index 6917a9d7b..3bd31aa98 100644
--- a/lib/libesp32/berry_matter/src/embedded/Matter_UI.be
+++ b/lib/libesp32/berry_matter/src/embedded/Matter_UI.be
@@ -108,7 +108,7 @@ class Matter_UI
if self.matter_enabled()
# checkbox for Matter commissioning
- var commissioning_open_checked = self.device.commissioning_open != nil ? "checked" : ""
+ var commissioning_open_checked = self.device.commissioning.commissioning_open != nil ? "checked" : ""
webserver.content_send(f"
")
webserver.content_send("
")
var disable_bridge_mode_checked = self.device.disable_bridge_mode ? " checked" : ""
@@ -173,17 +173,17 @@ class Matter_UI
def show_commissioning_info()
import webserver
- var seconds_left = (self.device.commissioning_open - tasmota.millis()) / 1000
+ var seconds_left = (self.device.commissioning.commissioning_open - tasmota.millis()) / 1000
if seconds_left < 0 seconds_left = 0 end
var min_left = (seconds_left + 30) / 60
webserver.content_send(f"")
@@ -794,11 +794,11 @@ class Matter_UI
end
#- and force restart -#
webserver.redirect("/?rst=")
- elif matter_commissioning_requested != (self.device.commissioning_open != nil)
+ elif matter_commissioning_requested != (self.device.commissioning.commissioning_open != nil)
if matter_commissioning_requested
self.device.start_root_basic_commissioning()
else
- self.device.stop_basic_commissioning()
+ self.device.commissioning.stop_basic_commissioning()
end
#- and force restart -#
@@ -1085,7 +1085,7 @@ class Matter_UI
self.show_bridge_status()
- if self.device.is_root_commissioning_open()
+ if self.device.commissioning.is_root_commissioning_open()
self.show_commissioning_info()
end
@@ -1095,7 +1095,7 @@ class Matter_UI
def web_get_arg()
import webserver
if webserver.has_arg("mtc0") # Close Commissioning
- self.device.stop_basic_commissioning()
+ self.device.commissioning.stop_basic_commissioning()
elif webserver.has_arg("mtc1") # Open Commissioning
self.device.start_root_basic_commissioning()
end
diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_z_Commissioning.be b/lib/libesp32/berry_matter/src/embedded/Matter_z_Commissioning.be
new file mode 100644
index 000000000..45b706419
--- /dev/null
+++ b/lib/libesp32/berry_matter/src/embedded/Matter_z_Commissioning.be
@@ -0,0 +1,483 @@
+#
+# Matter_z_Commissioning.be - implements the commissioning and MDNS logic
+#
+# Copyright (C) 2023 Stephan Hadinger & Theo Arends
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+
+import matter
+
+#@ solidify:Matter_Commissioning,weak
+
+class Matter_Commissioning
+ var device # reference to the main Device instance
+
+ static var PBKDF_ITERATIONS = 1000 # I don't see any reason to choose a different number
+ static var PASE_TIMEOUT = 10*60 # default open commissioning window (10 minutes)
+ # Commissioning open
+ var commissioning_open # timestamp for timeout of commissioning (millis()) or `nil` if closed
+ var commissioning_iterations # current PBKDF number of iterations
+ var commissioning_discriminator # commissioning_discriminator
+ var commissioning_salt # current salt
+ var commissioning_w0 # current w0 (SPAKE2+)
+ var commissioning_L # current L (SPAKE2+)
+ var commissioning_admin_fabric # the fabric that opened the currint commissioning window, or `nil` for default
+ # information about the device
+ var commissioning_instance_wifi # random instance name for commissioning (mDNS)
+ var commissioning_instance_eth # random instance name for commissioning (mDNS)
+ var hostname_wifi # MAC-derived hostname for commissioning
+ var hostname_eth # MAC-derived hostname for commissioning
+ # mDNS active announces
+ var mdns_pase_eth # do we have an active PASE mDNS announce for eth
+ var mdns_pase_wifi # do we have an active PASE mDNS announce for wifi
+
+
+ #############################################################
+ def init(device)
+ self.device = device
+ self._init_basic_commissioning()
+ end
+
+ #############################################################
+ # Start Basic Commissioning Window if needed at startup
+ def _init_basic_commissioning()
+ # if no fabric is configured, automatically open commissioning at restart
+ if self.device.sessions.count_active_fabrics() == 0
+ self.start_root_basic_commissioning()
+ end
+ end
+
+ #############################################################
+ # dispatch every second click to sub-objects that need it
+ def every_second()
+ if self.commissioning_open != nil && tasmota.time_reached(self.commissioning_open) # timeout reached, close provisioning
+ self.commissioning_open = nil
+ end
+ end
+
+ #############################################################
+ # Start Basic Commissioning with root parameters
+ #
+ # Open window for `timeout_s` (default 10 minutes)
+ def start_root_basic_commissioning(timeout_s)
+ if timeout_s == nil timeout_s = self.PASE_TIMEOUT end
+
+ # show Manual pairing code in logs
+ var pairing_code = self.compute_manual_pairing_code()
+ log(format("MTR: Manual pairing code: %s", pairing_code), 2)
+
+ # output MQTT
+ var qr_code = self.compute_qrcode_content()
+ tasmota.publish_result(format('{"Matter":{"Commissioning":1,"PairingCode":"%s","QRCode":"%s"}}', pairing_code, qr_code), 'Matter')
+
+ # compute PBKDF
+ import crypto
+ var root_salt = crypto.random(16)
+
+ # Compute the PBKDF parameters for SPAKE2+ from root parameters
+ var passcode = bytes().add(self.device.root_passcode, 4)
+
+ var tv = crypto.PBKDF2_HMAC_SHA256().derive(passcode, root_salt, self.PBKDF_ITERATIONS, 80)
+ var w0s = tv[0..39]
+ var w1s = tv[40..79]
+
+ var root_w0 = crypto.EC_P256().mod(w0s)
+ var w1 = crypto.EC_P256().mod(w1s) # w1 is temporarily computed then discarded
+ # self.root_w1 = crypto.EC_P256().mod(w1s)
+ var root_L = crypto.EC_P256().public_key(w1)
+ self.start_basic_commissioning(timeout_s, self.PBKDF_ITERATIONS, self.device.root_discriminator, root_salt, root_w0, #-self.root_w1,-# root_L, nil)
+ end
+
+ #############################################################
+ # Start Basic Commissioning Window with custom parameters
+ def start_basic_commissioning(timeout_s, iterations, discriminator, salt, w0, L, admin_fabric)
+ self.commissioning_open = tasmota.millis() + timeout_s * 1000
+ self.commissioning_iterations = iterations
+ self.commissioning_discriminator = discriminator
+ self.commissioning_salt = salt
+ self.commissioning_w0 = w0
+ self.commissioning_L = L
+ self.commissioning_admin_fabric = admin_fabric
+
+ if tasmota.wifi()['up'] || tasmota.eth()['up']
+ self.mdns_announce_PASE()
+ else
+ tasmota.add_rule("Wifi#Connected", def ()
+ self.mdns_announce_PASE()
+ tasmota.remove_rule("Wifi#Connected", "mdns_announce_PASE")
+ end, "mdns_announce_PASE")
+ tasmota.add_rule("Eth#Connected", def ()
+ self.mdns_announce_PASE()
+ tasmota.remove_rule("Eth#Connected", "mdns_announce_PASE")
+ end, "mdns_announce_PASE")
+ end
+ end
+
+ #############################################################
+ # Is root commissioning currently open. Mostly for UI to know if QRCode needs to be shown.
+ def is_root_commissioning_open()
+ return self.commissioning_open != nil && self.commissioning_admin_fabric == nil
+ end
+
+ #############################################################
+ # Stop PASE commissioning, mostly called when CASE is about to start
+ def stop_basic_commissioning()
+ var n = nil
+ if self.is_root_commissioning_open()
+ tasmota.publish_result('{"Matter":{"Commissioning":0}}', 'Matter')
+ end
+ self.commissioning_open = n
+
+ self.mdns_remove_PASE()
+
+ # clear any PBKDF information to free memory
+ self.commissioning_iterations = n
+ self.commissioning_discriminator = n
+ self.commissioning_salt = n
+ self.commissioning_w0 = n
+ # self.commissioning_w1 = nil
+ self.commissioning_L = n
+ self.commissioning_admin_fabric = n
+ end
+ def is_commissioning_open()
+ return self.commissioning_open != nil
+ end
+
+ #############################################################
+ # Compute QR Code content - can be done only for root PASE
+ def compute_qrcode_content()
+ var raw = bytes().resize(11) # we don't use TLV Data so it's only 88 bits or 11 bytes
+ # version is `000` dont touch
+ raw.setbits(3, 16, self.device.VENDOR_ID)
+ raw.setbits(19, 16, self.device.PRODUCT_ID)
+ # custom flow = 0 (offset=35, len=2)
+ raw.setbits(37, 8, 0x04) # already on IP network
+ raw.setbits(45, 12, self.device.root_discriminator & 0xFFF)
+ raw.setbits(57, 27, self.device.root_passcode & 0x7FFFFFF)
+ # padding (offset=84 len=4)
+ return "MT:" + matter.Base38.encode(raw)
+ end
+
+
+ #############################################################
+ # Compute the 11 digits manual pairing code (wihout vendorid nor productid) p.223
+ #
+ # can be done only for root PASE (we need the passcode, but we don't get it with OpenCommissioningWindow command)
+ def compute_manual_pairing_code()
+ var digit_1 = (self.device.root_discriminator & 0x0FFF) >> 10
+ var digit_2_6 = ((self.device.root_discriminator & 0x0300) << 6) | (self.device.root_passcode & 0x3FFF)
+ var digit_7_10 = (self.device.root_passcode >> 14)
+
+ var ret = format("%1i%05i%04i", digit_1, digit_2_6, digit_7_10)
+ ret += matter.Verhoeff.checksum(ret)
+ return ret
+ end
+
+ #############################################################
+ # Start Operational Discovery for this session
+ #
+ # Deferred until next tick.
+ def start_operational_discovery_deferred(fabric)
+ # defer to next click
+ tasmota.set_timer(0, /-> self.start_operational_discovery(fabric))
+ end
+
+ #############################################################
+ # Start Commissioning Complete for this session
+ #
+ # Deferred until next tick.
+ def start_commissioning_complete_deferred(session)
+ # defer to next click
+ tasmota.set_timer(0, /-> self.start_commissioning_complete(session))
+ end
+
+ #############################################################
+ # Start Operational Discovery for this session
+ #
+ # Stop Basic Commissioning and clean PASE specific values (to save memory).
+ # Announce fabric entry in mDNS.
+ def start_operational_discovery(fabric)
+ import crypto
+ import mdns
+
+ self.stop_basic_commissioning() # close all PASE commissioning information
+
+ self.mdns_announce_op_discovery(fabric)
+ end
+
+ #############################################################
+ # Commissioning Complete
+ #
+ # Stop basic commissioning.
+ def start_commissioning_complete(session)
+ var fabric = session.get_fabric()
+ var fabric_id = fabric.get_fabric_id().copy().reverse().tohex()
+ var vendor_name = fabric.get_admin_vendor_name()
+ log(f"MTR: --- Commissioning complete for Fabric '{fabric_id}' (Vendor {vendor_name}) ---", 2)
+ self.stop_basic_commissioning() # by default close commissioning when it's complete
+ end
+
+ #############################################################
+ # mDNS Configuration
+ #############################################################
+ # Start mDNS and announce hostnames for Wifi and ETH from MAC
+ #
+ # When the announce is active, `hostname_wifi` and `hostname_eth`
+ # are defined
+ def start_mdns_announce_hostnames()
+ if tasmota.wifi()['up']
+ self._mdns_announce_hostname(false)
+ else
+ tasmota.add_rule("Wifi#Connected", def ()
+ self._mdns_announce_hostname(false)
+ tasmota.remove_rule("Wifi#Connected", "matter_mdns_host")
+ end, "matter_mdns_host")
+ end
+
+ if tasmota.eth()['up']
+ self._mdns_announce_hostname(true)
+ else
+ tasmota.add_rule("Eth#Connected", def ()
+ self._mdns_announce_hostname(true)
+ tasmota.remove_rule("Eth#Connected", "matter_mdns_host")
+ end, "matter_mdns_host")
+ end
+ end
+
+ #############################################################
+ # Start UDP mDNS announcements hostname
+ # This announcement is independant from commissioning windows
+ #
+ # eth is `true` if ethernet turned up, `false` is wifi turned up
+ def _mdns_announce_hostname(is_eth)
+ import mdns
+ import string
+
+ mdns.start()
+
+ try
+ if is_eth
+ # Add Hostname (based on MAC) with IPv4/IPv6 addresses
+ var eth = tasmota.eth()
+ self.hostname_eth = string.replace(eth.find("mac"), ':', '')
+ if !self.device.ipv4only || !eth.contains('ip6local')
+ # log(format("MTR: calling mdns.add_hostname(%s, %s, %s)", self.hostname_eth, eth.find('ip6local',''), eth.find('ip','')), 4)
+ mdns.add_hostname(self.hostname_eth, eth.find('ip6local',''), eth.find('ip',''), eth.find('ip6',''))
+ else
+ log(format("MTR: calling mdns.add_hostname(%s, %s)", self.hostname_eth, eth.find('ip','')), 3)
+ mdns.add_hostname(self.hostname_eth, eth.find('ip',''))
+ end
+ else
+ var wifi = tasmota.wifi()
+ self.hostname_wifi = string.replace(wifi.find("mac"), ':', '')
+ if !self.device.ipv4only || !wifi.contains('ip6local')
+ # log(format("MTR: calling mdns.add_hostname(%s, %s, %s)", self.hostname_wifi, wifi.find('ip6local',''), wifi.find('ip','')), 4)
+ mdns.add_hostname(self.hostname_wifi, wifi.find('ip6local',''), wifi.find('ip',''), wifi.find('ip6',''))
+ else
+ log(format("MTR: calling mdns.add_hostname(%s, %s)", self.hostname_wifi, wifi.find('ip','')), 3)
+ mdns.add_hostname(self.hostname_wifi, wifi.find('ip',''))
+ end
+ end
+ log(format("MTR: start mDNS on %s host '%s.local'", is_eth ? "eth" : "wifi", is_eth ? self.hostname_eth : self.hostname_wifi), 3)
+ except .. as e, m
+ log("MTR: Exception" + str(e) + "|" + str(m), 2)
+ end
+
+ self.mdns_announce_op_discovery_all_fabrics()
+ end
+
+ #############################################################
+ # Announce MDNS for PASE commissioning
+ def mdns_announce_PASE()
+ import mdns
+ import crypto
+
+ var services = {
+ "VP": f"{self.device.VENDOR_ID}+{self.device.PRODUCT_ID}",
+ "D": self.commissioning_discriminator,
+ "CM":1, # requires passcode
+ "T":0, # no support for TCP
+ "SII":5000, "SAI":300
+ }
+
+ self.commissioning_instance_wifi = crypto.random(8).tohex() # 16 characters random hostname
+ self.commissioning_instance_eth = crypto.random(8).tohex() # 16 characters random hostname
+
+ try
+ if self.hostname_eth
+ # Add Matter `_matterc._udp` service
+ # log(format("MTR: calling mdns.add_service(%s, %s, %i, %s, %s, %s)", "_matterc", "_udp", 5540, str(services), self.commissioning_instance_eth, self.hostname_eth), 4)
+ mdns.add_service("_matterc", "_udp", 5540, services, self.commissioning_instance_eth, self.hostname_eth)
+ self.mdns_pase_eth = true
+
+ log(format("MTR: announce mDNS on %s '%s' ptr to `%s.local`", "eth", self.commissioning_instance_eth, self.hostname_eth), 2)
+
+ # `mdns.add_subtype(service:string, proto:string, instance:string, hostname:string, subtype:string) -> nil`
+ var subtype = "_L" + str(self.commissioning_discriminator & 0xFFF)
+ log("MTR: adding subtype: "+subtype, 3)
+ mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth, subtype)
+ subtype = "_S" + str((self.commissioning_discriminator & 0xF00) >> 8)
+ log("MTR: adding subtype: "+subtype, 3)
+ mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth, subtype)
+ subtype = "_V" + str(self.device.VENDOR_ID)
+ log("MTR: adding subtype: "+subtype, 3)
+ mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth, subtype)
+ subtype = "_CM1"
+ log("MTR: adding subtype: "+subtype, 3)
+ mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth, subtype)
+ end
+ if self.hostname_wifi
+
+ # log(format("MTR: calling mdns.add_service(%s, %s, %i, %s, %s, %s)", "_matterc", "_udp", 5540, str(services), self.commissioning_instance_wifi, self.hostname_wifi), 4)
+ mdns.add_service("_matterc", "_udp", 5540, services, self.commissioning_instance_wifi, self.hostname_wifi)
+ self.mdns_pase_wifi = true
+
+ log(format("MTR: starting mDNS on %s '%s' ptr to `%s.local`", "wifi", self.commissioning_instance_wifi, self.hostname_wifi), 3)
+
+ # `mdns.add_subtype(service:string, proto:string, instance:string, hostname:string, subtype:string) -> nil`
+ var subtype = "_L" + str(self.commissioning_discriminator & 0xFFF)
+ log("MTR: adding subtype: "+subtype, 3)
+ mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype)
+ subtype = "_S" + str((self.commissioning_discriminator & 0xF00) >> 8)
+ log("MTR: adding subtype: "+subtype, 3)
+ mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype)
+ subtype = "_V" + str(self.device.VENDOR_ID)
+ log("MTR: adding subtype: "+subtype, 3)
+ mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype)
+ subtype = "_CM1"
+ log("MTR: adding subtype: "+subtype, 3)
+ mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype)
+ end
+ except .. as e, m
+ log("MTR: Exception" + str(e) + "|" + str(m), 2)
+ end
+
+ end
+
+ #############################################################
+ # MDNS remove any PASE announce
+ def mdns_remove_PASE()
+ import mdns
+
+ try
+ if self.mdns_pase_eth
+ log(format("MTR: calling mdns.remove_service(%s, %s, %s, %s)", "_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth), 3)
+ log(format("MTR: remove mDNS on %s '%s'", "eth", self.commissioning_instance_eth), 3)
+ self.mdns_pase_eth = false
+ mdns.remove_service("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth)
+ end
+ if self.mdns_pase_wifi
+ log(format("MTR: calling mdns.remove_service(%s, %s, %s, %s)", "_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi), 3)
+ log(format("MTR: remove mDNS on %s '%s'", "wifi", self.commissioning_instance_wifi), 3)
+ self.mdns_pase_wifi = false
+ mdns.remove_service("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi)
+ end
+ except .. as e, m
+ log("MTR: Exception" + str(e) + "|" + str(m), 2)
+ end
+ end
+
+ #############################################################
+ # Start UDP mDNS announcements for commissioning for all persisted sessions
+ def mdns_announce_op_discovery_all_fabrics()
+ for fabric: self.device.sessions.active_fabrics()
+ if fabric.get_device_id() && fabric.get_fabric_id()
+ self.mdns_announce_op_discovery(fabric)
+ end
+ end
+ end
+
+ #############################################################
+ # Start UDP mDNS announcements for commissioning
+ def mdns_announce_op_discovery(fabric)
+ import mdns
+ try
+ var device_id = fabric.get_device_id().copy().reverse()
+ var k_fabric = fabric.get_fabric_compressed()
+ var op_node = k_fabric.tohex() + "-" + device_id.tohex()
+ log("MTR: Operational Discovery node = " + op_node, 3)
+
+ # mdns
+ if (tasmota.eth().find("up"))
+ log(format("MTR: adding mDNS on %s '%s' ptr to `%s.local`", "eth", op_node, self.hostname_eth), 3)
+ mdns.add_service("_matter","_tcp", 5540, nil, op_node, self.hostname_eth)
+ var subtype = "_I" + k_fabric.tohex()
+ log("MTR: adding subtype: "+subtype, 3)
+ mdns.add_subtype("_matter", "_tcp", op_node, self.hostname_eth, subtype)
+ end
+ if (tasmota.wifi().find("up"))
+ log(format("MTR: adding mDNS on %s '%s' ptr to `%s.local`", "wifi", op_node, self.hostname_wifi), 3)
+ mdns.add_service("_matter","_tcp", 5540, nil, op_node, self.hostname_wifi)
+ var subtype = "_I" + k_fabric.tohex()
+ log("MTR: adding subtype: "+subtype, 3)
+ mdns.add_subtype("_matter", "_tcp", op_node, self.hostname_wifi, subtype)
+ end
+ except .. as e, m
+ log("MTR: Exception" + str(e) + "|" + str(m), 2)
+ end
+ end
+
+ #############################################################
+ # Remove all mDNS announces for all fabrics
+ def mdns_remove_op_discovery_all_fabrics()
+ for fabric: self.device.sessions.active_fabrics()
+ if fabric.get_device_id() && fabric.get_fabric_id()
+ self.mdns_remove_op_discovery(fabric)
+ end
+ end
+ end
+
+ #############################################################
+ # Remove mDNS announce for fabric
+ def mdns_remove_op_discovery(fabric)
+ import mdns
+ try
+ var device_id = fabric.get_device_id().copy().reverse()
+ var k_fabric = fabric.get_fabric_compressed()
+ var op_node = k_fabric.tohex() + "-" + device_id.tohex()
+
+ # mdns
+ if (tasmota.eth().find("up"))
+ log(format("MTR: remove mDNS on %s '%s'", "eth", op_node), 3)
+ mdns.remove_service("_matter", "_tcp", op_node, self.hostname_eth)
+ end
+ if (tasmota.wifi().find("up"))
+ log(format("MTR: remove mDNS on %s '%s'", "wifi", op_node), 3)
+ mdns.remove_service("_matter", "_tcp", op_node, self.hostname_wifi)
+ end
+ except .. as e, m
+ log("MTR: Exception" + str(e) + "|" + str(m), 2)
+ end
+ end
+
+ #####################################################################
+ # Generate random passcode
+ #####################################################################
+ static var PASSCODE_INVALID = [ 0, 11111111, 22222222, 33333333, 44444444, 55555555, 66666666, 77777777, 88888888, 99999999, 12345678, 87654321]
+ def generate_random_passcode()
+ import crypto
+ var passcode
+ while true
+ passcode = crypto.random(4).get(0, 4) & 0x7FFFFFF
+ if passcode > 0x5F5E0FE continue end # larger than allowed
+ for inv: self.PASSCODE_INVALID
+ if passcode == inv passcode = nil end
+ end
+ if passcode != nil return passcode end
+ end
+ end
+
+end
+matter.Commissioning = Matter_Commissioning
diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_zz_Device.be b/lib/libesp32/berry_matter/src/embedded/Matter_zz_Device.be
index cc0528efc..d547c3df7 100644
--- a/lib/libesp32/berry_matter/src/embedded/Matter_zz_Device.be
+++ b/lib/libesp32/berry_matter/src/embedded/Matter_zz_Device.be
@@ -23,11 +23,9 @@ import matter
class Matter_Device
static var UDP_PORT = 5540 # this is the default port for group multicast, we also use it for unicast
- static var PBKDF_ITERATIONS = 1000 # I don't see any reason to choose a different number
static var VENDOR_ID = 0xFFF1
static var PRODUCT_ID = 0x8000
static var FILENAME = "_matter_device.json"
- static var PASE_TIMEOUT = 10*60 # default open commissioning window (10 minutes)
var started # is the Matter Device started (configured, mDNS and UDPServer started)
var plugins # list of plugins instances
var plugins_persist # true if plugins configuration needs to be saved
@@ -37,27 +35,12 @@ class Matter_Device
var udp_server # `matter.UDPServer()` object
var profiler
var message_handler # `matter.MessageHandler()` object
+ var commissioning # `matter.Commissioning()` object
var sessions # `matter.Session_Store()` objet
var ui
var tick # increment at each tick, avoids to repeat too frequently some actions
# Events
var events # Event handler
- # Commissioning open
- var commissioning_open # timestamp for timeout of commissioning (millis()) or `nil` if closed
- var commissioning_iterations # current PBKDF number of iterations
- var commissioning_discriminator # commissioning_discriminator
- var commissioning_salt # current salt
- var commissioning_w0 # current w0 (SPAKE2+)
- var commissioning_L # current L (SPAKE2+)
- var commissioning_admin_fabric # the fabric that opened the currint commissioning window, or `nil` for default
- # information about the device
- var commissioning_instance_wifi # random instance name for commissioning (mDNS)
- var commissioning_instance_eth # random instance name for commissioning (mDNS)
- var hostname_wifi # MAC-derived hostname for commissioning
- var hostname_eth # MAC-derived hostname for commissioning
- # mDNS active announces
- var mdns_pase_eth # do we have an active PASE mDNS announce for eth
- var mdns_pase_wifi # do we have an active PASE mDNS announce for wifi
# for brige mode, list of HTTP_remote objects (only one instance per remote object)
var http_remotes # map of 'domain:port' to `Matter_HTTP_remote` instance or `nil` if no bridges
# saved in parameters
@@ -114,7 +97,7 @@ class Matter_Device
end, "matter_start")
end
- self._init_basic_commissioning()
+ self.commissioning = matter.Commissioning(self)
tasmota.add_driver(self)
@@ -131,60 +114,18 @@ class Matter_Device
self._start_udp(self.UDP_PORT)
- self.start_mdns_announce_hostnames()
+ self.commissioning.start_mdns_announce_hostnames()
self.started = true
end
- #############################################################
- # Start Basic Commissioning Window if needed at startup
- def _init_basic_commissioning()
- # if no fabric is configured, automatically open commissioning at restart
- if self.sessions.count_active_fabrics() == 0
- self.start_root_basic_commissioning()
- end
- end
-
- #############################################################
- # Start Basic Commissioning with root parameters
- #
- # Open window for `timeout_s` (default 10 minutes)
- def start_root_basic_commissioning(timeout_s)
- if timeout_s == nil timeout_s = self.PASE_TIMEOUT end
-
- # show Manual pairing code in logs
- var pairing_code = self.compute_manual_pairing_code()
- log(format("MTR: Manual pairing code: %s", pairing_code), 2)
-
- # output MQTT
- var qr_code = self.compute_qrcode_content()
- tasmota.publish_result(format('{"Matter":{"Commissioning":1,"PairingCode":"%s","QRCode":"%s"}}', pairing_code, qr_code), 'Matter')
-
- # compute PBKDF
- import crypto
- var root_salt = crypto.random(16)
-
- # Compute the PBKDF parameters for SPAKE2+ from root parameters
- var passcode = bytes().add(self.root_passcode, 4)
-
- var tv = crypto.PBKDF2_HMAC_SHA256().derive(passcode, root_salt, self.PBKDF_ITERATIONS, 80)
- var w0s = tv[0..39]
- var w1s = tv[40..79]
-
- var root_w0 = crypto.EC_P256().mod(w0s)
- var w1 = crypto.EC_P256().mod(w1s) # w1 is temporarily computed then discarded
- # self.root_w1 = crypto.EC_P256().mod(w1s)
- var root_L = crypto.EC_P256().public_key(w1)
- self.start_basic_commissioning(timeout_s, self.PBKDF_ITERATIONS, self.root_discriminator, root_salt, root_w0, #-self.root_w1,-# root_L, nil)
- end
-
#####################################################################
# Remove a fabric and clean all corresponding values and mDNS entries
def remove_fabric(fabric)
if fabric != nil
log("MTR: removing fabric " + fabric.get_fabric_id().copy().reverse().tohex(), 2)
self.message_handler.im.subs_shop.remove_by_fabric(fabric)
- self.mdns_remove_op_discovery(fabric)
+ self.commissioning.mdns_remove_op_discovery(fabric)
self.sessions.remove_fabric(fabric)
end
# var sub_fabrics = self.sessions.find_children_fabrics(fabric_parent.get_fabric_index())
@@ -201,91 +142,6 @@ class Matter_Device
self.sessions.save_fabrics()
end
- #############################################################
- # Start Basic Commissioning Window with custom parameters
- def start_basic_commissioning(timeout_s, iterations, discriminator, salt, w0, L, admin_fabric)
- self.commissioning_open = tasmota.millis() + timeout_s * 1000
- self.commissioning_iterations = iterations
- self.commissioning_discriminator = discriminator
- self.commissioning_salt = salt
- self.commissioning_w0 = w0
- self.commissioning_L = L
- self.commissioning_admin_fabric = admin_fabric
-
- if tasmota.wifi()['up'] || tasmota.eth()['up']
- self.mdns_announce_PASE()
- else
- tasmota.add_rule("Wifi#Connected", def ()
- self.mdns_announce_PASE()
- tasmota.remove_rule("Wifi#Connected", "mdns_announce_PASE")
- end, "mdns_announce_PASE")
- tasmota.add_rule("Eth#Connected", def ()
- self.mdns_announce_PASE()
- tasmota.remove_rule("Eth#Connected", "mdns_announce_PASE")
- end, "mdns_announce_PASE")
- end
- end
-
- #############################################################
- # Is root commissioning currently open. Mostly for UI to know if QRCode needs to be shown.
- def is_root_commissioning_open()
- return self.commissioning_open != nil && self.commissioning_admin_fabric == nil
- end
-
- #############################################################
- # Stop PASE commissioning, mostly called when CASE is about to start
- def stop_basic_commissioning()
- var n = nil
- if self.is_root_commissioning_open()
- tasmota.publish_result('{"Matter":{"Commissioning":0}}', 'Matter')
- end
- self.commissioning_open = n
-
- self.mdns_remove_PASE()
-
- # clear any PBKDF information to free memory
- self.commissioning_iterations = n
- self.commissioning_discriminator = n
- self.commissioning_salt = n
- self.commissioning_w0 = n
- # self.commissioning_w1 = nil
- self.commissioning_L = n
- self.commissioning_admin_fabric = n
- end
- def is_commissioning_open()
- return self.commissioning_open != nil
- end
-
- #############################################################
- # Compute QR Code content - can be done only for root PASE
- def compute_qrcode_content()
- var raw = bytes().resize(11) # we don't use TLV Data so it's only 88 bits or 11 bytes
- # version is `000` dont touch
- raw.setbits(3, 16, self.VENDOR_ID)
- raw.setbits(19, 16, self.PRODUCT_ID)
- # custom flow = 0 (offset=35, len=2)
- raw.setbits(37, 8, 0x04) # already on IP network
- raw.setbits(45, 12, self.root_discriminator & 0xFFF)
- raw.setbits(57, 27, self.root_passcode & 0x7FFFFFF)
- # padding (offset=84 len=4)
- return "MT:" + matter.Base38.encode(raw)
- end
-
-
- #############################################################
- # Compute the 11 digits manual pairing code (wihout vendorid nor productid) p.223
- #
- # can be done only for root PASE (we need the passcode, but we don't get it with OpenCommissioningWindow command)
- def compute_manual_pairing_code()
- var digit_1 = (self.root_discriminator & 0x0FFF) >> 10
- var digit_2_6 = ((self.root_discriminator & 0x0300) << 6) | (self.root_passcode & 0x3FFF)
- var digit_7_10 = (self.root_passcode >> 14)
-
- var ret = format("%1i%05i%04i", digit_1, digit_2_6, digit_7_10)
- ret += matter.Verhoeff.checksum(ret)
- return ret
- end
-
#####################################################################
# Driver handling of buttons
#####################################################################
@@ -330,9 +186,7 @@ class Matter_Device
self.sessions.every_second()
self.message_handler.every_second()
self.events.every_second() # periodically remove bytes() representation of events
- if self.commissioning_open != nil && tasmota.time_reached(self.commissioning_open) # timeout reached, close provisioning
- self.commissioning_open = nil
- end
+ self.commissioning.every_second()
end
#############################################################
@@ -440,50 +294,6 @@ class Matter_Device
self.udp_server.start(/ raw, addr, port -> self.msg_received(raw, addr, port))
end
- #############################################################
- # Start Operational Discovery for this session
- #
- # Deferred until next tick.
- def start_operational_discovery_deferred(fabric)
- # defer to next click
- tasmota.set_timer(0, /-> self.start_operational_discovery(fabric))
- end
-
- #############################################################
- # Start Commissioning Complete for this session
- #
- # Deferred until next tick.
- def start_commissioning_complete_deferred(session)
- # defer to next click
- tasmota.set_timer(0, /-> self.start_commissioning_complete(session))
- end
-
- #############################################################
- # Start Operational Discovery for this session
- #
- # Stop Basic Commissioning and clean PASE specific values (to save memory).
- # Announce fabric entry in mDNS.
- def start_operational_discovery(fabric)
- import crypto
- import mdns
-
- self.stop_basic_commissioning() # close all PASE commissioning information
-
- self.mdns_announce_op_discovery(fabric)
- end
-
- #############################################################
- # Commissioning Complete
- #
- # Stop basic commissioning.
- def start_commissioning_complete(session)
- var fabric = session.get_fabric()
- var fabric_id = fabric.get_fabric_id().copy().reverse().tohex()
- var vendor_name = fabric.get_admin_vendor_name()
- log(f"MTR: --- Commissioning complete for Fabric '{fabric_id}' (Vendor {vendor_name}) ---", 2)
- self.stop_basic_commissioning() # by default close commissioning when it's complete
- end
-
#################################################################################
# Simple insertion sort - sorts the list in place, and returns the list
@@ -734,7 +544,7 @@ class Matter_Device
dirty = true
end
if self.root_passcode == nil
- self.root_passcode = self.generate_random_passcode()
+ self.root_passcode = self.commissioning.generate_random_passcode()
dirty = true
end
if dirty self.save_param() end
@@ -814,239 +624,6 @@ class Matter_Device
ctx.status = matter.UNSUPPORTED_ENDPOINT
end
- #############################################################
- # mDNS Configuration
- #############################################################
- # Start mDNS and announce hostnames for Wifi and ETH from MAC
- #
- # When the announce is active, `hostname_wifi` and `hostname_eth`
- # are defined
- def start_mdns_announce_hostnames()
- if tasmota.wifi()['up']
- self._mdns_announce_hostname(false)
- else
- tasmota.add_rule("Wifi#Connected", def ()
- self._mdns_announce_hostname(false)
- tasmota.remove_rule("Wifi#Connected", "matter_mdns_host")
- end, "matter_mdns_host")
- end
-
- if tasmota.eth()['up']
- self._mdns_announce_hostname(true)
- else
- tasmota.add_rule("Eth#Connected", def ()
- self._mdns_announce_hostname(true)
- tasmota.remove_rule("Eth#Connected", "matter_mdns_host")
- end, "matter_mdns_host")
- end
- end
-
- #############################################################
- # Start UDP mDNS announcements hostname
- # This announcement is independant from commissioning windows
- #
- # eth is `true` if ethernet turned up, `false` is wifi turned up
- def _mdns_announce_hostname(is_eth)
- import mdns
- import string
-
- mdns.start()
-
- try
- if is_eth
- # Add Hostname (based on MAC) with IPv4/IPv6 addresses
- var eth = tasmota.eth()
- self.hostname_eth = string.replace(eth.find("mac"), ':', '')
- if !self.ipv4only || !eth.contains('ip6local')
- # log(format("MTR: calling mdns.add_hostname(%s, %s, %s)", self.hostname_eth, eth.find('ip6local',''), eth.find('ip','')), 4)
- mdns.add_hostname(self.hostname_eth, eth.find('ip6local',''), eth.find('ip',''), eth.find('ip6',''))
- else
- log(format("MTR: calling mdns.add_hostname(%s, %s)", self.hostname_eth, eth.find('ip','')), 3)
- mdns.add_hostname(self.hostname_eth, eth.find('ip',''))
- end
- else
- var wifi = tasmota.wifi()
- self.hostname_wifi = string.replace(wifi.find("mac"), ':', '')
- if !self.ipv4only || !wifi.contains('ip6local')
- # log(format("MTR: calling mdns.add_hostname(%s, %s, %s)", self.hostname_wifi, wifi.find('ip6local',''), wifi.find('ip','')), 4)
- mdns.add_hostname(self.hostname_wifi, wifi.find('ip6local',''), wifi.find('ip',''), wifi.find('ip6',''))
- else
- log(format("MTR: calling mdns.add_hostname(%s, %s)", self.hostname_wifi, wifi.find('ip','')), 3)
- mdns.add_hostname(self.hostname_wifi, wifi.find('ip',''))
- end
- end
- log(format("MTR: start mDNS on %s host '%s.local'", is_eth ? "eth" : "wifi", is_eth ? self.hostname_eth : self.hostname_wifi), 3)
- except .. as e, m
- log("MTR: Exception" + str(e) + "|" + str(m), 2)
- end
-
- self.mdns_announce_op_discovery_all_fabrics()
- end
-
- #############################################################
- # Announce MDNS for PASE commissioning
- def mdns_announce_PASE()
- import mdns
- import crypto
-
- var services = {
- "VP": f"{self.VENDOR_ID}+{self.PRODUCT_ID}",
- "D": self.commissioning_discriminator,
- "CM":1, # requires passcode
- "T":0, # no support for TCP
- "SII":5000, "SAI":300
- }
-
- self.commissioning_instance_wifi = crypto.random(8).tohex() # 16 characters random hostname
- self.commissioning_instance_eth = crypto.random(8).tohex() # 16 characters random hostname
-
- try
- if self.hostname_eth
- # Add Matter `_matterc._udp` service
- # log(format("MTR: calling mdns.add_service(%s, %s, %i, %s, %s, %s)", "_matterc", "_udp", 5540, str(services), self.commissioning_instance_eth, self.hostname_eth), 4)
- mdns.add_service("_matterc", "_udp", 5540, services, self.commissioning_instance_eth, self.hostname_eth)
- self.mdns_pase_eth = true
-
- log(format("MTR: announce mDNS on %s '%s' ptr to `%s.local`", "eth", self.commissioning_instance_eth, self.hostname_eth), 2)
-
- # `mdns.add_subtype(service:string, proto:string, instance:string, hostname:string, subtype:string) -> nil`
- var subtype = "_L" + str(self.commissioning_discriminator & 0xFFF)
- log("MTR: adding subtype: "+subtype, 3)
- mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth, subtype)
- subtype = "_S" + str((self.commissioning_discriminator & 0xF00) >> 8)
- log("MTR: adding subtype: "+subtype, 3)
- mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth, subtype)
- subtype = "_V" + str(self.VENDOR_ID)
- log("MTR: adding subtype: "+subtype, 3)
- mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth, subtype)
- subtype = "_CM1"
- log("MTR: adding subtype: "+subtype, 3)
- mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth, subtype)
- end
- if self.hostname_wifi
-
- # log(format("MTR: calling mdns.add_service(%s, %s, %i, %s, %s, %s)", "_matterc", "_udp", 5540, str(services), self.commissioning_instance_wifi, self.hostname_wifi), 4)
- mdns.add_service("_matterc", "_udp", 5540, services, self.commissioning_instance_wifi, self.hostname_wifi)
- self.mdns_pase_wifi = true
-
- log(format("MTR: starting mDNS on %s '%s' ptr to `%s.local`", "wifi", self.commissioning_instance_wifi, self.hostname_wifi), 3)
-
- # `mdns.add_subtype(service:string, proto:string, instance:string, hostname:string, subtype:string) -> nil`
- var subtype = "_L" + str(self.commissioning_discriminator & 0xFFF)
- log("MTR: adding subtype: "+subtype, 3)
- mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype)
- subtype = "_S" + str((self.commissioning_discriminator & 0xF00) >> 8)
- log("MTR: adding subtype: "+subtype, 3)
- mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype)
- subtype = "_V" + str(self.VENDOR_ID)
- log("MTR: adding subtype: "+subtype, 3)
- mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype)
- subtype = "_CM1"
- log("MTR: adding subtype: "+subtype, 3)
- mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype)
- end
- except .. as e, m
- log("MTR: Exception" + str(e) + "|" + str(m), 2)
- end
-
- end
-
- #############################################################
- # MDNS remove any PASE announce
- def mdns_remove_PASE()
- import mdns
-
- try
- if self.mdns_pase_eth
- log(format("MTR: calling mdns.remove_service(%s, %s, %s, %s)", "_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth), 3)
- log(format("MTR: remove mDNS on %s '%s'", "eth", self.commissioning_instance_eth), 3)
- self.mdns_pase_eth = false
- mdns.remove_service("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth)
- end
- if self.mdns_pase_wifi
- log(format("MTR: calling mdns.remove_service(%s, %s, %s, %s)", "_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi), 3)
- log(format("MTR: remove mDNS on %s '%s'", "wifi", self.commissioning_instance_wifi), 3)
- self.mdns_pase_wifi = false
- mdns.remove_service("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi)
- end
- except .. as e, m
- log("MTR: Exception" + str(e) + "|" + str(m), 2)
- end
- end
-
- #############################################################
- # Start UDP mDNS announcements for commissioning for all persisted sessions
- def mdns_announce_op_discovery_all_fabrics()
- for fabric: self.sessions.active_fabrics()
- if fabric.get_device_id() && fabric.get_fabric_id()
- self.mdns_announce_op_discovery(fabric)
- end
- end
- end
-
- #############################################################
- # Start UDP mDNS announcements for commissioning
- def mdns_announce_op_discovery(fabric)
- import mdns
- try
- var device_id = fabric.get_device_id().copy().reverse()
- var k_fabric = fabric.get_fabric_compressed()
- var op_node = k_fabric.tohex() + "-" + device_id.tohex()
- log("MTR: Operational Discovery node = " + op_node, 3)
-
- # mdns
- if (tasmota.eth().find("up"))
- log(format("MTR: adding mDNS on %s '%s' ptr to `%s.local`", "eth", op_node, self.hostname_eth), 3)
- mdns.add_service("_matter","_tcp", 5540, nil, op_node, self.hostname_eth)
- var subtype = "_I" + k_fabric.tohex()
- log("MTR: adding subtype: "+subtype, 3)
- mdns.add_subtype("_matter", "_tcp", op_node, self.hostname_eth, subtype)
- end
- if (tasmota.wifi().find("up"))
- log(format("MTR: adding mDNS on %s '%s' ptr to `%s.local`", "wifi", op_node, self.hostname_wifi), 3)
- mdns.add_service("_matter","_tcp", 5540, nil, op_node, self.hostname_wifi)
- var subtype = "_I" + k_fabric.tohex()
- log("MTR: adding subtype: "+subtype, 3)
- mdns.add_subtype("_matter", "_tcp", op_node, self.hostname_wifi, subtype)
- end
- except .. as e, m
- log("MTR: Exception" + str(e) + "|" + str(m), 2)
- end
- end
-
- #############################################################
- # Remove all mDNS announces for all fabrics
- def mdns_remove_op_discovery_all_fabrics()
- for fabric: self.sessions.active_fabrics()
- if fabric.get_device_id() && fabric.get_fabric_id()
- self.mdns_remove_op_discovery(fabric)
- end
- end
- end
-
- #############################################################
- # Remove mDNS announce for fabric
- def mdns_remove_op_discovery(fabric)
- import mdns
- try
- var device_id = fabric.get_device_id().copy().reverse()
- var k_fabric = fabric.get_fabric_compressed()
- var op_node = k_fabric.tohex() + "-" + device_id.tohex()
-
- # mdns
- if (tasmota.eth().find("up"))
- log(format("MTR: remove mDNS on %s '%s'", "eth", op_node), 3)
- mdns.remove_service("_matter", "_tcp", op_node, self.hostname_eth)
- end
- if (tasmota.wifi().find("up"))
- log(format("MTR: remove mDNS on %s '%s'", "wifi", op_node), 3)
- mdns.remove_service("_matter", "_tcp", op_node, self.hostname_wifi)
- end
- except .. as e, m
- log("MTR: Exception" + str(e) + "|" + str(m), 2)
- end
- end
-
#############################################################
# Try to clean MDNS entries before restart.
#
@@ -1408,23 +985,6 @@ class Matter_Device
end
end
- #####################################################################
- # Generate random passcode
- #####################################################################
- static var PASSCODE_INVALID = [ 0, 11111111, 22222222, 33333333, 44444444, 55555555, 66666666, 77777777, 88888888, 99999999, 12345678, 87654321]
- def generate_random_passcode()
- import crypto
- var passcode
- while true
- passcode = crypto.random(4).get(0, 4) & 0x7FFFFFF
- if passcode > 0x5F5E0FE continue end # larger than allowed
- for inv: self.PASSCODE_INVALID
- if passcode == inv passcode = nil end
- end
- if passcode != nil return passcode end
- end
- end
-
#####################################################################
# Manager HTTP remotes
#####################################################################
@@ -1523,7 +1083,7 @@ class Matter_Device
def MtrJoin(cmd_found, idx, payload, payload_json)
var payload_int = int(payload)
if payload_int
- self.start_root_basic_commissioning()
+ self.commissioning.start_root_basic_commissioning()
else
self.stop_basic_commissioning()
end
diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning_Context.h
similarity index 68%
rename from lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning.h
rename to lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning_Context.h
index 13ecf842a..944e0a787 100644
--- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning.h
+++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning_Context.h
@@ -1,10 +1,10 @@
-/* Solidification of Matter_Commissioning.h */
+/* Solidification of Matter_Commissioning_Context.h */
/********************************************************************\
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
-// compact class 'Matter_Commisioning_Context' ktab size: 184, total: 359 (saved 1400 bytes)
-static const bvalue be_ktab_class_Matter_Commisioning_Context[184] = {
+// compact class 'Matter_Commisioning_Context' ktab size: 185, total: 362 (saved 1416 bytes)
+static const bvalue be_ktab_class_Matter_Commisioning_Context[185] = {
/* K0 */ be_nested_str_weak(session),
/* K1 */ be_nested_str_weak(raw),
/* K2 */ be_nested_str_weak(app_payload_idx),
@@ -63,132 +63,133 @@ static const bvalue be_ktab_class_Matter_Commisioning_Context[184] = {
/* K55 */ be_nested_str_weak(random),
/* K56 */ be_nested_str_weak(responderSessionId),
/* K57 */ be_nested_str_weak(pbkdf_parameters_salt),
- /* K58 */ be_nested_str_weak(commissioning_salt),
- /* K59 */ be_nested_str_weak(pbkdf_parameters_iterations),
- /* K60 */ be_nested_str_weak(commissioning_iterations),
- /* K61 */ be_nested_str_weak(tlv2raw),
- /* K62 */ be_nested_str_weak(__Msg2),
- /* K63 */ be_nested_str_weak(build_response),
- /* K64 */ be_nested_str_weak(encode_frame),
- /* K65 */ be_nested_str_weak(responder),
- /* K66 */ be_nested_str_weak(send_response_frame),
- /* K67 */ be_nested_str_weak(add),
- /* K68 */ be_nested_str_weak(MTR_X3A_X20invalid_X20Pake1_X20message),
- /* K69 */ be_nested_str_weak(Pake1),
- /* K70 */ be_nested_str_weak(pA),
- /* K71 */ be_nested_str_weak(SPAKE2P_Matter),
- /* K72 */ be_nested_str_weak(commissioning_w0),
- /* K73 */ be_nested_str_weak(commissioning_L),
- /* K74 */ be_nested_str_weak(compute_pB),
- /* K75 */ be_nested_str_weak(compute_ZV_verifier),
- /* K76 */ be_nested_str_weak(SHA256),
- /* K77 */ be_nested_str_weak(fromstring),
- /* K78 */ be_nested_str_weak(Matter_Context_Prefix),
- /* K79 */ be_nested_str_weak(set_context),
- /* K80 */ be_nested_str_weak(compute_TT_hash),
- /* K81 */ be_nested_str_weak(Pake2),
- /* K82 */ be_nested_str_weak(pB),
- /* K83 */ be_nested_str_weak(cB),
- /* K84 */ be_nested_str_weak(__spake_cA),
- /* K85 */ be_nested_str_weak(cA),
- /* K86 */ be_nested_str_weak(__spake_Ke),
- /* K87 */ be_nested_str_weak(Ke),
- /* K88 */ be_nested_str_weak(MTR_X3A_X20New_X20Commissioning_X20_X28PASE_X20id_X3D_X25i_X29_X20from_X20_X5B_X25s_X5D_X3A_X25i),
- /* K89 */ be_nested_str_weak(_ip),
- /* K90 */ be_nested_str_weak(_port),
- /* K91 */ be_nested_str_weak(MTR_X3A_X20invalid_X20Pake3_X20message),
- /* K92 */ be_nested_str_weak(Pake3),
- /* K93 */ be_nested_str_weak(MTR_X3A_X20invalid_X20cA_X20received),
- /* K94 */ be_nested_str_weak(rtc_utc),
- /* K95 */ be_nested_str_weak(HKDF_SHA256),
- /* K96 */ be_nested_str_weak(derive),
- /* K97 */ be_nested_str_weak(SEKeys_Info),
- /* K98 */ be_nested_str_weak(add_session),
- /* K99 */ be_nested_str_weak(Sigma3),
- /* K100 */ be_nested_str_weak(S3K_Info),
- /* K101 */ be_nested_str_weak(shared_secret),
- /* K102 */ be_nested_str_weak(TBEData3Encrypted),
- /* K103 */ be_nested_str_weak(AES_CCM),
- /* K104 */ be_nested_str_weak(TBEData3_Nonce),
- /* K105 */ be_nested_str_weak(decrypt),
- /* K106 */ be_nested_str_weak(tag),
- /* K107 */ be_nested_str_weak(MTR_X3A_X20Tag_X20don_X27t_X20match),
- /* K108 */ be_nested_str_weak(TLV),
- /* K109 */ be_nested_str_weak(findsubval),
- /* K110 */ be_nested_str_weak(findsub),
- /* K111 */ be_nested_str_weak(int),
- /* K112 */ be_nested_str_weak(peer_node_id),
- /* K113 */ be_nested_str_weak(int64),
- /* K114 */ be_nested_str_weak(fromu32),
- /* K115 */ be_nested_str_weak(tobytes),
- /* K116 */ be_nested_str_weak(Matter_TLV_struct),
- /* K117 */ be_nested_str_weak(add_TLV),
- /* K118 */ be_nested_str_weak(B1),
- /* K119 */ be_nested_str_weak(__initiator_pub),
- /* K120 */ be_nested_str_weak(__responder_pub),
- /* K121 */ be_nested_str_weak(EC_P256),
- /* K122 */ be_nested_str_weak(ecdsa_verify_sha256),
- /* K123 */ be_nested_str_weak(MTR_X3A_X20sigma3_tbs_X20does_X20not_X20have_X20a_X20valid_X20signature),
- /* K124 */ be_nested_str_weak(MTR_X3A_X20_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X20Invalid_X20signature_X2C_X20trying_X20anyways),
- /* K125 */ be_nested_str_weak(MTR_X3A_X20Sigma3_X20verified_X2C_X20computing_X20new_X20keys),
- /* K126 */ be_nested_str_weak(Msg3),
- /* K127 */ be_nested_str_weak(close),
- /* K128 */ be_nested_str_weak(_breadcrumb),
- /* K129 */ be_nested_str_weak(counter_snd_next),
- /* K130 */ be_nested_str_weak(set_persist),
- /* K131 */ be_nested_str_weak(set_no_expiration),
- /* K132 */ be_nested_str_weak(persist_to_fabric),
- /* K133 */ be_nested_str_weak(save),
- /* K134 */ be_nested_str_weak(is_commissioning_open),
- /* K135 */ be_nested_str_weak(MTR_X3A_X20commissioning_X20not_X20open),
- /* K136 */ be_nested_str_weak(parse_PBKDFParamRequest),
- /* K137 */ be_nested_str_weak(parse_Pake1),
- /* K138 */ be_nested_str_weak(parse_Pake3),
- /* K139 */ be_nested_str_weak(parse_Sigma1),
- /* K140 */ be_nested_str_weak(parse_Sigma3),
- /* K141 */ be_nested_str_weak(parse_StatusReport),
- /* K142 */ be_nested_str_weak(MTR_X3A_X20_X3E_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X20Unknown_X20OpCode_X20_X28secure_X20channel_X29_X20_X2502X),
- /* K143 */ be_nested_str_weak(Sigma1),
- /* K144 */ be_nested_str_weak(initiatorEphPubKey),
- /* K145 */ be_nested_str_weak(resumptionID),
- /* K146 */ be_nested_str_weak(initiatorResumeMIC),
- /* K147 */ be_nested_str_weak(find_session_by_resumption_id),
- /* K148 */ be_nested_str_weak(_fabric),
- /* K149 */ be_nested_str_weak(MTR_X3A_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Sigma1_X20Resumption_X20FAILED_X2C_X20session_X20not_X20found_X20resumption_id_X3D_X25s),
- /* K150 */ be_nested_str_weak(MTR_X3A_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Sigma1_X20Resumption),
- /* K151 */ be_nested_str_weak(Sigma1_Resume),
- /* K152 */ be_nested_str_weak(NCASE_SigmaS1),
- /* K153 */ be_nested_str_weak(_source_node_id),
- /* K154 */ be_nested_str_weak(source_node_id),
- /* K155 */ be_nested_str_weak(set_mode_CASE),
- /* K156 */ be_nested_str_weak(resumption_id),
- /* K157 */ be_nested_str_weak(Sigma2_Resume),
- /* K158 */ be_nested_str_weak(NCASE_SigmaS2),
- /* K159 */ be_nested_str_weak(Sigma2Resume),
- /* K160 */ be_nested_str_weak(sigma2ResumeMIC),
- /* K161 */ be_nested_str_weak(responderSessionID),
- /* K162 */ be_nested_str_weak(SessionResumptionKeys),
- /* K163 */ be_nested_str_weak(MTR_X3A_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Sigma1_X20Resumption_X20SUCCEEDED),
- /* K164 */ be_nested_str_weak(MTR_X3A_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Sigma1_X20Resumption_X20FAILED_X2C_X20switching_X20to_X20CASE),
- /* K165 */ be_nested_str_weak(find_fabric_by_destination_id),
- /* K166 */ be_nested_str_weak(destinationId),
- /* K167 */ be_nested_str_weak(MTR_X3A_X20StatusReport_X28GeneralCode_X3A_X20FAILURE_X2C_X20ProtocolId_X3A_X20SECURE_CHANNEL_X2C_X20ProtocolCode_X3A_X20NO_SHARED_TRUST_ROOTS_X29),
- /* K168 */ be_nested_str_weak(__responder_priv),
- /* K169 */ be_nested_str_weak(public_key),
- /* K170 */ be_nested_str_weak(shared_key),
- /* K171 */ be_nested_str_weak(B2),
- /* K172 */ be_nested_str_weak(get_noc),
- /* K173 */ be_nested_str_weak(get_icac),
- /* K174 */ be_nested_str_weak(ecdsa_sign_sha256),
- /* K175 */ be_nested_str_weak(get_pk),
- /* K176 */ be_nested_str_weak(Msg1),
- /* K177 */ be_nested_str_weak(S2K_Info),
- /* K178 */ be_nested_str_weak(TBEData2_Nonce),
- /* K179 */ be_nested_str_weak(encrypt),
- /* K180 */ be_nested_str_weak(Sigma2),
- /* K181 */ be_nested_str_weak(responderEphPubKey),
- /* K182 */ be_nested_str_weak(encrypted2),
- /* K183 */ be_nested_str_weak(MTR_X3A_X20New_X20Connection_X20_X28CASE_X20id_X3D_X25i_X29_X20from_X20_X5B_X25s_X5D_X3A_X25i),
+ /* K58 */ be_nested_str_weak(commissioning),
+ /* K59 */ be_nested_str_weak(commissioning_salt),
+ /* K60 */ be_nested_str_weak(pbkdf_parameters_iterations),
+ /* K61 */ be_nested_str_weak(commissioning_iterations),
+ /* K62 */ be_nested_str_weak(tlv2raw),
+ /* K63 */ be_nested_str_weak(__Msg2),
+ /* K64 */ be_nested_str_weak(build_response),
+ /* K65 */ be_nested_str_weak(encode_frame),
+ /* K66 */ be_nested_str_weak(responder),
+ /* K67 */ be_nested_str_weak(send_response_frame),
+ /* K68 */ be_nested_str_weak(add),
+ /* K69 */ be_nested_str_weak(MTR_X3A_X20invalid_X20Pake1_X20message),
+ /* K70 */ be_nested_str_weak(Pake1),
+ /* K71 */ be_nested_str_weak(pA),
+ /* K72 */ be_nested_str_weak(SPAKE2P_Matter),
+ /* K73 */ be_nested_str_weak(commissioning_w0),
+ /* K74 */ be_nested_str_weak(commissioning_L),
+ /* K75 */ be_nested_str_weak(compute_pB),
+ /* K76 */ be_nested_str_weak(compute_ZV_verifier),
+ /* K77 */ be_nested_str_weak(SHA256),
+ /* K78 */ be_nested_str_weak(fromstring),
+ /* K79 */ be_nested_str_weak(Matter_Context_Prefix),
+ /* K80 */ be_nested_str_weak(set_context),
+ /* K81 */ be_nested_str_weak(compute_TT_hash),
+ /* K82 */ be_nested_str_weak(Pake2),
+ /* K83 */ be_nested_str_weak(pB),
+ /* K84 */ be_nested_str_weak(cB),
+ /* K85 */ be_nested_str_weak(__spake_cA),
+ /* K86 */ be_nested_str_weak(cA),
+ /* K87 */ be_nested_str_weak(__spake_Ke),
+ /* K88 */ be_nested_str_weak(Ke),
+ /* K89 */ be_nested_str_weak(MTR_X3A_X20New_X20Commissioning_X20_X28PASE_X20id_X3D_X25i_X29_X20from_X20_X5B_X25s_X5D_X3A_X25i),
+ /* K90 */ be_nested_str_weak(_ip),
+ /* K91 */ be_nested_str_weak(_port),
+ /* K92 */ be_nested_str_weak(MTR_X3A_X20invalid_X20Pake3_X20message),
+ /* K93 */ be_nested_str_weak(Pake3),
+ /* K94 */ be_nested_str_weak(MTR_X3A_X20invalid_X20cA_X20received),
+ /* K95 */ be_nested_str_weak(rtc_utc),
+ /* K96 */ be_nested_str_weak(HKDF_SHA256),
+ /* K97 */ be_nested_str_weak(derive),
+ /* K98 */ be_nested_str_weak(SEKeys_Info),
+ /* K99 */ be_nested_str_weak(add_session),
+ /* K100 */ be_nested_str_weak(Sigma3),
+ /* K101 */ be_nested_str_weak(S3K_Info),
+ /* K102 */ be_nested_str_weak(shared_secret),
+ /* K103 */ be_nested_str_weak(TBEData3Encrypted),
+ /* K104 */ be_nested_str_weak(AES_CCM),
+ /* K105 */ be_nested_str_weak(TBEData3_Nonce),
+ /* K106 */ be_nested_str_weak(decrypt),
+ /* K107 */ be_nested_str_weak(tag),
+ /* K108 */ be_nested_str_weak(MTR_X3A_X20Tag_X20don_X27t_X20match),
+ /* K109 */ be_nested_str_weak(TLV),
+ /* K110 */ be_nested_str_weak(findsubval),
+ /* K111 */ be_nested_str_weak(findsub),
+ /* K112 */ be_nested_str_weak(int),
+ /* K113 */ be_nested_str_weak(peer_node_id),
+ /* K114 */ be_nested_str_weak(int64),
+ /* K115 */ be_nested_str_weak(fromu32),
+ /* K116 */ be_nested_str_weak(tobytes),
+ /* K117 */ be_nested_str_weak(Matter_TLV_struct),
+ /* K118 */ be_nested_str_weak(add_TLV),
+ /* K119 */ be_nested_str_weak(B1),
+ /* K120 */ be_nested_str_weak(__initiator_pub),
+ /* K121 */ be_nested_str_weak(__responder_pub),
+ /* K122 */ be_nested_str_weak(EC_P256),
+ /* K123 */ be_nested_str_weak(ecdsa_verify_sha256),
+ /* K124 */ be_nested_str_weak(MTR_X3A_X20sigma3_tbs_X20does_X20not_X20have_X20a_X20valid_X20signature),
+ /* K125 */ be_nested_str_weak(MTR_X3A_X20_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X20Invalid_X20signature_X2C_X20trying_X20anyways),
+ /* K126 */ be_nested_str_weak(MTR_X3A_X20Sigma3_X20verified_X2C_X20computing_X20new_X20keys),
+ /* K127 */ be_nested_str_weak(Msg3),
+ /* K128 */ be_nested_str_weak(close),
+ /* K129 */ be_nested_str_weak(_breadcrumb),
+ /* K130 */ be_nested_str_weak(counter_snd_next),
+ /* K131 */ be_nested_str_weak(set_persist),
+ /* K132 */ be_nested_str_weak(set_no_expiration),
+ /* K133 */ be_nested_str_weak(persist_to_fabric),
+ /* K134 */ be_nested_str_weak(save),
+ /* K135 */ be_nested_str_weak(is_commissioning_open),
+ /* K136 */ be_nested_str_weak(MTR_X3A_X20commissioning_X20not_X20open),
+ /* K137 */ be_nested_str_weak(parse_PBKDFParamRequest),
+ /* K138 */ be_nested_str_weak(parse_Pake1),
+ /* K139 */ be_nested_str_weak(parse_Pake3),
+ /* K140 */ be_nested_str_weak(parse_Sigma1),
+ /* K141 */ be_nested_str_weak(parse_Sigma3),
+ /* K142 */ be_nested_str_weak(parse_StatusReport),
+ /* K143 */ be_nested_str_weak(MTR_X3A_X20_X3E_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X20Unknown_X20OpCode_X20_X28secure_X20channel_X29_X20_X2502X),
+ /* K144 */ be_nested_str_weak(Sigma1),
+ /* K145 */ be_nested_str_weak(initiatorEphPubKey),
+ /* K146 */ be_nested_str_weak(resumptionID),
+ /* K147 */ be_nested_str_weak(initiatorResumeMIC),
+ /* K148 */ be_nested_str_weak(find_session_by_resumption_id),
+ /* K149 */ be_nested_str_weak(_fabric),
+ /* K150 */ be_nested_str_weak(MTR_X3A_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Sigma1_X20Resumption_X20FAILED_X2C_X20session_X20not_X20found_X20resumption_id_X3D_X25s),
+ /* K151 */ be_nested_str_weak(MTR_X3A_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Sigma1_X20Resumption),
+ /* K152 */ be_nested_str_weak(Sigma1_Resume),
+ /* K153 */ be_nested_str_weak(NCASE_SigmaS1),
+ /* K154 */ be_nested_str_weak(_source_node_id),
+ /* K155 */ be_nested_str_weak(source_node_id),
+ /* K156 */ be_nested_str_weak(set_mode_CASE),
+ /* K157 */ be_nested_str_weak(resumption_id),
+ /* K158 */ be_nested_str_weak(Sigma2_Resume),
+ /* K159 */ be_nested_str_weak(NCASE_SigmaS2),
+ /* K160 */ be_nested_str_weak(Sigma2Resume),
+ /* K161 */ be_nested_str_weak(sigma2ResumeMIC),
+ /* K162 */ be_nested_str_weak(responderSessionID),
+ /* K163 */ be_nested_str_weak(SessionResumptionKeys),
+ /* K164 */ be_nested_str_weak(MTR_X3A_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Sigma1_X20Resumption_X20SUCCEEDED),
+ /* K165 */ be_nested_str_weak(MTR_X3A_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Sigma1_X20Resumption_X20FAILED_X2C_X20switching_X20to_X20CASE),
+ /* K166 */ be_nested_str_weak(find_fabric_by_destination_id),
+ /* K167 */ be_nested_str_weak(destinationId),
+ /* K168 */ be_nested_str_weak(MTR_X3A_X20StatusReport_X28GeneralCode_X3A_X20FAILURE_X2C_X20ProtocolId_X3A_X20SECURE_CHANNEL_X2C_X20ProtocolCode_X3A_X20NO_SHARED_TRUST_ROOTS_X29),
+ /* K169 */ be_nested_str_weak(__responder_priv),
+ /* K170 */ be_nested_str_weak(public_key),
+ /* K171 */ be_nested_str_weak(shared_key),
+ /* K172 */ be_nested_str_weak(B2),
+ /* K173 */ be_nested_str_weak(get_noc),
+ /* K174 */ be_nested_str_weak(get_icac),
+ /* K175 */ be_nested_str_weak(ecdsa_sign_sha256),
+ /* K176 */ be_nested_str_weak(get_pk),
+ /* K177 */ be_nested_str_weak(Msg1),
+ /* K178 */ be_nested_str_weak(S2K_Info),
+ /* K179 */ be_nested_str_weak(TBEData2_Nonce),
+ /* K180 */ be_nested_str_weak(encrypt),
+ /* K181 */ be_nested_str_weak(Sigma2),
+ /* K182 */ be_nested_str_weak(responderEphPubKey),
+ /* K183 */ be_nested_str_weak(encrypted2),
+ /* K184 */ be_nested_str_weak(MTR_X3A_X20New_X20Connection_X20_X28CASE_X20id_X3D_X25i_X29_X20from_X20_X5B_X25s_X5D_X3A_X25i),
};
@@ -414,7 +415,7 @@ be_local_closure(class_Matter_Commisioning_Context_parse_PBKDFParamRequest, /*
&be_ktab_class_Matter_Commisioning_Context, /* shared constants */
be_str_weak(parse_PBKDFParamRequest),
&be_const_str_solidified,
- ( &(const binstruction[113]) { /* code */
+ ( &(const binstruction[115]) { /* code */
0xA40A1200, // 0000 IMPORT R2 K9
0x880C0300, // 0001 GETMBR R3 R1 K0
0x8810031D, // 0002 GETMBR R4 R1 K29
@@ -508,26 +509,28 @@ be_local_closure(class_Matter_Commisioning_Context_parse_PBKDFParamRequest, /*
0x90167006, // 005A SETMBR R5 K56 R6
0x8818010D, // 005B GETMBR R6 R0 K13
0x88180D3A, // 005C GETMBR R6 R6 K58
- 0x90167206, // 005D SETMBR R5 K57 R6
- 0x8818010D, // 005E GETMBR R6 R0 K13
- 0x88180D3C, // 005F GETMBR R6 R6 K60
- 0x90167606, // 0060 SETMBR R5 K59 R6
- 0x8C180B3D, // 0061 GETMET R6 R5 K61
- 0x7C180200, // 0062 CALL R6 1
- 0x900E7C06, // 0063 SETMBR R3 K62 R6
- 0x8C1C033F, // 0064 GETMET R7 R1 K63
- 0x54260020, // 0065 LDINT R9 33
- 0x50280200, // 0066 LDBOOL R10 1 0
- 0x7C1C0600, // 0067 CALL R7 3
- 0x8C200F40, // 0068 GETMET R8 R7 K64
- 0x5C280C00, // 0069 MOVE R10 R6
- 0x7C200400, // 006A CALL R8 2
- 0x88240141, // 006B GETMBR R9 R0 K65
- 0x8C241342, // 006C GETMET R9 R9 K66
- 0x5C2C0E00, // 006D MOVE R11 R7
- 0x7C240400, // 006E CALL R9 2
- 0x50240200, // 006F LDBOOL R9 1 0
- 0x80041200, // 0070 RET 1 R9
+ 0x88180D3B, // 005D GETMBR R6 R6 K59
+ 0x90167206, // 005E SETMBR R5 K57 R6
+ 0x8818010D, // 005F GETMBR R6 R0 K13
+ 0x88180D3A, // 0060 GETMBR R6 R6 K58
+ 0x88180D3D, // 0061 GETMBR R6 R6 K61
+ 0x90167806, // 0062 SETMBR R5 K60 R6
+ 0x8C180B3E, // 0063 GETMET R6 R5 K62
+ 0x7C180200, // 0064 CALL R6 1
+ 0x900E7E06, // 0065 SETMBR R3 K63 R6
+ 0x8C1C0340, // 0066 GETMET R7 R1 K64
+ 0x54260020, // 0067 LDINT R9 33
+ 0x50280200, // 0068 LDBOOL R10 1 0
+ 0x7C1C0600, // 0069 CALL R7 3
+ 0x8C200F41, // 006A GETMET R8 R7 K65
+ 0x5C280C00, // 006B MOVE R10 R6
+ 0x7C200400, // 006C CALL R8 2
+ 0x88240142, // 006D GETMBR R9 R0 K66
+ 0x8C241343, // 006E GETMET R9 R9 K67
+ 0x5C2C0E00, // 006F MOVE R11 R7
+ 0x7C240400, // 0070 CALL R9 2
+ 0x50240200, // 0071 LDBOOL R9 1 0
+ 0x80041200, // 0072 RET 1 R9
})
)
);
@@ -551,29 +554,29 @@ be_local_closure(class_Matter_Commisioning_Context_send_status_report, /* name
be_str_weak(send_status_report),
&be_const_str_solidified,
( &(const binstruction[26]) { /* code */
- 0x8C18033F, // 0000 GETMET R6 R1 K63
+ 0x8C180340, // 0000 GETMET R6 R1 K64
0x5422003F, // 0001 LDINT R8 64
0x5C240A00, // 0002 MOVE R9 R5
0x7C180600, // 0003 CALL R6 3
0x601C0015, // 0004 GETGBL R7 G21
0x7C1C0000, // 0005 CALL R7 0
- 0x8C200F43, // 0006 GETMET R8 R7 K67
+ 0x8C200F44, // 0006 GETMET R8 R7 K68
0x5C280400, // 0007 MOVE R10 R2
0x582C0022, // 0008 LDCONST R11 K34
0x7C200600, // 0009 CALL R8 3
- 0x8C200F43, // 000A GETMET R8 R7 K67
+ 0x8C200F44, // 000A GETMET R8 R7 K68
0x5C280600, // 000B MOVE R10 R3
0x542E0003, // 000C LDINT R11 4
0x7C200600, // 000D CALL R8 3
- 0x8C200F43, // 000E GETMET R8 R7 K67
+ 0x8C200F44, // 000E GETMET R8 R7 K68
0x5C280800, // 000F MOVE R10 R4
0x542E0003, // 0010 LDINT R11 4
0x7C200600, // 0011 CALL R8 3
- 0x8C200D40, // 0012 GETMET R8 R6 K64
+ 0x8C200D41, // 0012 GETMET R8 R6 K65
0x5C280E00, // 0013 MOVE R10 R7
0x7C200400, // 0014 CALL R8 2
- 0x88240141, // 0015 GETMBR R9 R0 K65
- 0x8C241342, // 0016 GETMET R9 R9 K66
+ 0x88240142, // 0015 GETMBR R9 R0 K66
+ 0x8C241343, // 0016 GETMET R9 R9 K67
0x5C2C0C00, // 0017 MOVE R11 R6
0x7C240400, // 0018 CALL R9 2
0x80000000, // 0019 RET 0
@@ -599,7 +602,7 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Pake1, /* name */
&be_ktab_class_Matter_Commisioning_Context, /* shared constants */
be_str_weak(parse_Pake1),
&be_const_str_solidified,
- ( &(const binstruction[112]) { /* code */
+ ( &(const binstruction[114]) { /* code */
0xA40A1200, // 0000 IMPORT R2 K9
0x880C0300, // 0001 GETMBR R3 R1 K0
0x8810031D, // 0002 GETMBR R4 R1 K29
@@ -613,7 +616,7 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Pake1, /* name */
0x2010091F, // 000A NE R4 R4 K31
0x78120010, // 000B JMPF R4 #001D
0xB8120A00, // 000C GETNGBL R4 K5
- 0x58140044, // 000D LDCONST R5 K68
+ 0x58140045, // 000D LDCONST R5 K69
0x58180008, // 000E LDCONST R6 K8
0x7C100400, // 000F CALL R4 2
0xB8120A00, // 0010 GETNGBL R4 K5
@@ -630,88 +633,90 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Pake1, /* name */
0x50100000, // 001B LDBOOL R4 0 0
0x80040800, // 001C RET 1 R4
0xB8124C00, // 001D GETNGBL R4 K38
- 0x8C100945, // 001E GETMET R4 R4 K69
+ 0x8C100946, // 001E GETMET R4 R4 K70
0x7C100200, // 001F CALL R4 1
0x8C100928, // 0020 GETMET R4 R4 K40
0x88180301, // 0021 GETMBR R6 R1 K1
0x881C0302, // 0022 GETMBR R7 R1 K2
0x7C100600, // 0023 CALL R4 3
- 0x88140946, // 0024 GETMBR R5 R4 K70
- 0x8C180547, // 0025 GETMET R6 R2 K71
+ 0x88140947, // 0024 GETMBR R5 R4 K71
+ 0x8C180548, // 0025 GETMET R6 R2 K72
0x8820010D, // 0026 GETMBR R8 R0 K13
- 0x88201148, // 0027 GETMBR R8 R8 K72
- 0x4C240000, // 0028 LDNIL R9
- 0x8828010D, // 0029 GETMBR R10 R0 K13
- 0x88281549, // 002A GETMBR R10 R10 K73
- 0x7C180800, // 002B CALL R6 4
- 0x8C1C0537, // 002C GETMET R7 R2 K55
- 0x5426001F, // 002D LDINT R9 32
- 0x7C1C0400, // 002E CALL R7 2
- 0x8C200D4A, // 002F GETMET R8 R6 K74
- 0x5C280E00, // 0030 MOVE R10 R7
- 0x7C200400, // 0031 CALL R8 2
- 0x8C200D4B, // 0032 GETMET R8 R6 K75
- 0x5C280A00, // 0033 MOVE R10 R5
- 0x7C200400, // 0034 CALL R8 2
- 0x8C20054C, // 0035 GETMET R8 R2 K76
- 0x7C200200, // 0036 CALL R8 1
- 0x8C241116, // 0037 GETMET R9 R8 K22
- 0x602C0015, // 0038 GETGBL R11 G21
- 0x7C2C0000, // 0039 CALL R11 0
- 0x8C2C174D, // 003A GETMET R11 R11 K77
- 0x8834014E, // 003B GETMBR R13 R0 K78
- 0x7C2C0400, // 003C CALL R11 2
- 0x7C240400, // 003D CALL R9 2
- 0x8C241116, // 003E GETMET R9 R8 K22
- 0x882C072A, // 003F GETMBR R11 R3 K42
- 0x7C240400, // 0040 CALL R9 2
- 0x8C241116, // 0041 GETMET R9 R8 K22
- 0x882C073E, // 0042 GETMBR R11 R3 K62
- 0x7C240400, // 0043 CALL R9 2
- 0x8C241117, // 0044 GETMET R9 R8 K23
- 0x7C240200, // 0045 CALL R9 1
- 0x901A8C05, // 0046 SETMBR R6 K70 R5
- 0x8C280D4F, // 0047 GETMET R10 R6 K79
- 0x5C301200, // 0048 MOVE R12 R9
- 0x7C280400, // 0049 CALL R10 2
- 0x8C280D50, // 004A GETMET R10 R6 K80
- 0x50300200, // 004B LDBOOL R12 1 0
- 0x7C280400, // 004C CALL R10 2
- 0xB82A4C00, // 004D GETNGBL R10 K38
- 0x8C281551, // 004E GETMET R10 R10 K81
- 0x7C280200, // 004F CALL R10 1
- 0x882C0D52, // 0050 GETMBR R11 R6 K82
- 0x902AA40B, // 0051 SETMBR R10 K82 R11
+ 0x8820113A, // 0027 GETMBR R8 R8 K58
+ 0x88201149, // 0028 GETMBR R8 R8 K73
+ 0x4C240000, // 0029 LDNIL R9
+ 0x8828010D, // 002A GETMBR R10 R0 K13
+ 0x8828153A, // 002B GETMBR R10 R10 K58
+ 0x8828154A, // 002C GETMBR R10 R10 K74
+ 0x7C180800, // 002D CALL R6 4
+ 0x8C1C0537, // 002E GETMET R7 R2 K55
+ 0x5426001F, // 002F LDINT R9 32
+ 0x7C1C0400, // 0030 CALL R7 2
+ 0x8C200D4B, // 0031 GETMET R8 R6 K75
+ 0x5C280E00, // 0032 MOVE R10 R7
+ 0x7C200400, // 0033 CALL R8 2
+ 0x8C200D4C, // 0034 GETMET R8 R6 K76
+ 0x5C280A00, // 0035 MOVE R10 R5
+ 0x7C200400, // 0036 CALL R8 2
+ 0x8C20054D, // 0037 GETMET R8 R2 K77
+ 0x7C200200, // 0038 CALL R8 1
+ 0x8C241116, // 0039 GETMET R9 R8 K22
+ 0x602C0015, // 003A GETGBL R11 G21
+ 0x7C2C0000, // 003B CALL R11 0
+ 0x8C2C174E, // 003C GETMET R11 R11 K78
+ 0x8834014F, // 003D GETMBR R13 R0 K79
+ 0x7C2C0400, // 003E CALL R11 2
+ 0x7C240400, // 003F CALL R9 2
+ 0x8C241116, // 0040 GETMET R9 R8 K22
+ 0x882C072A, // 0041 GETMBR R11 R3 K42
+ 0x7C240400, // 0042 CALL R9 2
+ 0x8C241116, // 0043 GETMET R9 R8 K22
+ 0x882C073F, // 0044 GETMBR R11 R3 K63
+ 0x7C240400, // 0045 CALL R9 2
+ 0x8C241117, // 0046 GETMET R9 R8 K23
+ 0x7C240200, // 0047 CALL R9 1
+ 0x901A8E05, // 0048 SETMBR R6 K71 R5
+ 0x8C280D50, // 0049 GETMET R10 R6 K80
+ 0x5C301200, // 004A MOVE R12 R9
+ 0x7C280400, // 004B CALL R10 2
+ 0x8C280D51, // 004C GETMET R10 R6 K81
+ 0x50300200, // 004D LDBOOL R12 1 0
+ 0x7C280400, // 004E CALL R10 2
+ 0xB82A4C00, // 004F GETNGBL R10 K38
+ 0x8C281552, // 0050 GETMET R10 R10 K82
+ 0x7C280200, // 0051 CALL R10 1
0x882C0D53, // 0052 GETMBR R11 R6 K83
0x902AA60B, // 0053 SETMBR R10 K83 R11
- 0x8C2C153D, // 0054 GETMET R11 R10 K61
- 0x7C2C0200, // 0055 CALL R11 1
- 0x88300D55, // 0056 GETMBR R12 R6 K85
- 0x900EA80C, // 0057 SETMBR R3 K84 R12
- 0x88300D57, // 0058 GETMBR R12 R6 K87
- 0x900EAC0C, // 0059 SETMBR R3 K86 R12
- 0x8C30033F, // 005A GETMET R12 R1 K63
- 0x543A0022, // 005B LDINT R14 35
- 0x503C0200, // 005C LDBOOL R15 1 0
- 0x7C300600, // 005D CALL R12 3
- 0x8C341940, // 005E GETMET R13 R12 K64
- 0x5C3C1600, // 005F MOVE R15 R11
- 0x7C340400, // 0060 CALL R13 2
- 0xB83A0A00, // 0061 GETNGBL R14 K5
- 0x603C0018, // 0062 GETGBL R15 G24
- 0x58400058, // 0063 LDCONST R16 K88
- 0x8844072F, // 0064 GETMBR R17 R3 K47
- 0x88480759, // 0065 GETMBR R18 R3 K89
- 0x884C075A, // 0066 GETMBR R19 R3 K90
- 0x7C3C0800, // 0067 CALL R15 4
- 0x58400022, // 0068 LDCONST R16 K34
- 0x7C380400, // 0069 CALL R14 2
- 0x88380141, // 006A GETMBR R14 R0 K65
- 0x8C381D42, // 006B GETMET R14 R14 K66
- 0x5C401800, // 006C MOVE R16 R12
- 0x7C380400, // 006D CALL R14 2
- 0x50380200, // 006E LDBOOL R14 1 0
- 0x80041C00, // 006F RET 1 R14
+ 0x882C0D54, // 0054 GETMBR R11 R6 K84
+ 0x902AA80B, // 0055 SETMBR R10 K84 R11
+ 0x8C2C153E, // 0056 GETMET R11 R10 K62
+ 0x7C2C0200, // 0057 CALL R11 1
+ 0x88300D56, // 0058 GETMBR R12 R6 K86
+ 0x900EAA0C, // 0059 SETMBR R3 K85 R12
+ 0x88300D58, // 005A GETMBR R12 R6 K88
+ 0x900EAE0C, // 005B SETMBR R3 K87 R12
+ 0x8C300340, // 005C GETMET R12 R1 K64
+ 0x543A0022, // 005D LDINT R14 35
+ 0x503C0200, // 005E LDBOOL R15 1 0
+ 0x7C300600, // 005F CALL R12 3
+ 0x8C341941, // 0060 GETMET R13 R12 K65
+ 0x5C3C1600, // 0061 MOVE R15 R11
+ 0x7C340400, // 0062 CALL R13 2
+ 0xB83A0A00, // 0063 GETNGBL R14 K5
+ 0x603C0018, // 0064 GETGBL R15 G24
+ 0x58400059, // 0065 LDCONST R16 K89
+ 0x8844072F, // 0066 GETMBR R17 R3 K47
+ 0x8848075A, // 0067 GETMBR R18 R3 K90
+ 0x884C075B, // 0068 GETMBR R19 R3 K91
+ 0x7C3C0800, // 0069 CALL R15 4
+ 0x58400022, // 006A LDCONST R16 K34
+ 0x7C380400, // 006B CALL R14 2
+ 0x88380142, // 006C GETMBR R14 R0 K66
+ 0x8C381D43, // 006D GETMET R14 R14 K67
+ 0x5C401800, // 006E MOVE R16 R12
+ 0x7C380400, // 006F CALL R14 2
+ 0x50380200, // 0070 LDBOOL R14 1 0
+ 0x80041C00, // 0071 RET 1 R14
})
)
);
@@ -736,7 +741,7 @@ be_local_closure(class_Matter_Commisioning_Context_init, /* name */
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
0xA40A1200, // 0000 IMPORT R2 K9
- 0x90028201, // 0001 SETMBR R0 K65 R1
+ 0x90028401, // 0001 SETMBR R0 K66 R1
0x880C030D, // 0002 GETMBR R3 R1 K13
0x90021A03, // 0003 SETMBR R0 K13 R3
0x80000000, // 0004 RET 0
@@ -776,7 +781,7 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Pake3, /* name */
0x2010091F, // 000A NE R4 R4 K31
0x78120010, // 000B JMPF R4 #001D
0xB8120A00, // 000C GETNGBL R4 K5
- 0x5814005B, // 000D LDCONST R5 K91
+ 0x5814005C, // 000D LDCONST R5 K92
0x58180008, // 000E LDCONST R6 K8
0x7C100400, // 000F CALL R4 2
0xB8120A00, // 0010 GETNGBL R4 K5
@@ -793,18 +798,18 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Pake3, /* name */
0x50100000, // 001B LDBOOL R4 0 0
0x80040800, // 001C RET 1 R4
0xB8124C00, // 001D GETNGBL R4 K38
- 0x8C10095C, // 001E GETMET R4 R4 K92
+ 0x8C10095D, // 001E GETMET R4 R4 K93
0x7C100200, // 001F CALL R4 1
0x8C100928, // 0020 GETMET R4 R4 K40
0x88180301, // 0021 GETMBR R6 R1 K1
0x881C0302, // 0022 GETMBR R7 R1 K2
0x7C100600, // 0023 CALL R4 3
- 0x88140955, // 0024 GETMBR R5 R4 K85
- 0x88180754, // 0025 GETMBR R6 R3 K84
+ 0x88140956, // 0024 GETMBR R5 R4 K86
+ 0x88180755, // 0025 GETMBR R6 R3 K85
0x20180A06, // 0026 NE R6 R5 R6
0x781A0010, // 0027 JMPF R6 #0039
0xB81A0A00, // 0028 GETNGBL R6 K5
- 0x581C005D, // 0029 LDCONST R7 K93
+ 0x581C005E, // 0029 LDCONST R7 K94
0x58200008, // 002A LDCONST R8 K8
0x7C180400, // 002B CALL R6 2
0xB81A0A00, // 002C GETNGBL R6 K5
@@ -821,18 +826,18 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Pake3, /* name */
0x50180000, // 0037 LDBOOL R6 0 0
0x80040C00, // 0038 RET 1 R6
0xB81A1400, // 0039 GETNGBL R6 K10
- 0x8C180D5E, // 003A GETMET R6 R6 K94
+ 0x8C180D5F, // 003A GETMET R6 R6 K95
0x7C180200, // 003B CALL R6 1
- 0x8C1C055F, // 003C GETMET R7 R2 K95
+ 0x8C1C0560, // 003C GETMET R7 R2 K96
0x7C1C0200, // 003D CALL R7 1
- 0x8C1C0F60, // 003E GETMET R7 R7 K96
- 0x88240756, // 003F GETMBR R9 R3 K86
+ 0x8C1C0F61, // 003E GETMET R7 R7 K97
+ 0x88240757, // 003F GETMBR R9 R3 K87
0x60280015, // 0040 GETGBL R10 G21
0x7C280000, // 0041 CALL R10 0
0x602C0015, // 0042 GETGBL R11 G21
0x7C2C0000, // 0043 CALL R11 0
- 0x8C2C174D, // 0044 GETMET R11 R11 K77
- 0x88340161, // 0045 GETMBR R13 R0 K97
+ 0x8C2C174E, // 0044 GETMET R11 R11 K78
+ 0x88340162, // 0045 GETMBR R13 R0 K98
0x7C2C0400, // 0046 CALL R11 2
0x5432002F, // 0047 LDINT R12 48
0x7C1C0A00, // 0048 CALL R7 5
@@ -854,7 +859,7 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Pake3, /* name */
0x5840001F, // 0058 LDCONST R16 K31
0x50440000, // 0059 LDBOOL R17 0 0
0x7C2C0C00, // 005A CALL R11 6
- 0x8C2C0162, // 005B GETMET R11 R0 K98
+ 0x8C2C0163, // 005B GETMET R11 R0 K99
0x8834072F, // 005C GETMBR R13 R3 K47
0x8838072D, // 005D GETMBR R14 R3 K45
0x5C3C1000, // 005E MOVE R15 R8
@@ -913,31 +918,31 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */
0x80040600, // 0017 RET 1 R3
0x880C0300, // 0018 GETMBR R3 R1 K0
0xB8124C00, // 0019 GETNGBL R4 K38
- 0x8C100963, // 001A GETMET R4 R4 K99
+ 0x8C100964, // 001A GETMET R4 R4 K100
0x7C100200, // 001B CALL R4 1
0x8C100928, // 001C GETMET R4 R4 K40
0x88180301, // 001D GETMBR R6 R1 K1
0x881C0302, // 001E GETMBR R7 R1 K2
0x7C100600, // 001F CALL R4 3
- 0x8C14054C, // 0020 GETMET R5 R2 K76
+ 0x8C14054D, // 0020 GETMET R5 R2 K77
0x7C140200, // 0021 CALL R5 1
0x8C140B16, // 0022 GETMET R5 R5 K22
0x881C072A, // 0023 GETMBR R7 R3 K42
0x7C140400, // 0024 CALL R5 2
0x8C140B16, // 0025 GETMET R5 R5 K22
- 0x881C073E, // 0026 GETMBR R7 R3 K62
+ 0x881C073F, // 0026 GETMBR R7 R3 K63
0x7C140400, // 0027 CALL R5 2
0x8C140B17, // 0028 GETMET R5 R5 K23
0x7C140200, // 0029 CALL R5 1
0x60180015, // 002A GETGBL R6 G21
0x7C180000, // 002B CALL R6 0
- 0x8C180D4D, // 002C GETMET R6 R6 K77
- 0x88200164, // 002D GETMBR R8 R0 K100
+ 0x8C180D4E, // 002C GETMET R6 R6 K78
+ 0x88200165, // 002D GETMBR R8 R0 K101
0x7C180400, // 002E CALL R6 2
- 0x8C1C055F, // 002F GETMET R7 R2 K95
+ 0x8C1C0560, // 002F GETMET R7 R2 K96
0x7C1C0200, // 0030 CALL R7 1
- 0x8C1C0F60, // 0031 GETMET R7 R7 K96
- 0x88240765, // 0032 GETMBR R9 R3 K101
+ 0x8C1C0F61, // 0031 GETMET R7 R7 K97
+ 0x88240766, // 0032 GETMBR R9 R3 K102
0x8C280714, // 0033 GETMET R10 R3 K20
0x7C280200, // 0034 CALL R10 1
0x00281405, // 0035 ADD R10 R10 R5
@@ -946,18 +951,18 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */
0x7C1C0A00, // 0038 CALL R7 5
0x5421FFEE, // 0039 LDINT R8 -17
0x40223E08, // 003A CONNECT R8 K31 R8
- 0x88240966, // 003B GETMBR R9 R4 K102
+ 0x88240967, // 003B GETMBR R9 R4 K103
0x94201208, // 003C GETIDX R8 R9 R8
0x5429FFEF, // 003D LDINT R10 -16
0x40281503, // 003E CONNECT R10 R10 K3
- 0x882C0966, // 003F GETMBR R11 R4 K102
+ 0x882C0967, // 003F GETMBR R11 R4 K103
0x9424160A, // 0040 GETIDX R9 R11 R10
- 0x8C300567, // 0041 GETMET R12 R2 K103
+ 0x8C300568, // 0041 GETMET R12 R2 K104
0x5C380E00, // 0042 MOVE R14 R7
0x603C0015, // 0043 GETGBL R15 G21
0x7C3C0000, // 0044 CALL R15 0
- 0x8C3C1F4D, // 0045 GETMET R15 R15 K77
- 0x88440168, // 0046 GETMBR R17 R0 K104
+ 0x8C3C1F4E, // 0045 GETMET R15 R15 K78
+ 0x88440169, // 0046 GETMBR R17 R0 K105
0x7C3C0400, // 0047 CALL R15 2
0x60400015, // 0048 GETGBL R16 G21
0x7C400000, // 0049 CALL R16 0
@@ -967,16 +972,16 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */
0x544A000F, // 004D LDINT R18 16
0x7C300C00, // 004E CALL R12 6
0x5C281800, // 004F MOVE R10 R12
- 0x8C301569, // 0050 GETMET R12 R10 K105
+ 0x8C30156A, // 0050 GETMET R12 R10 K106
0x5C381000, // 0051 MOVE R14 R8
0x7C300400, // 0052 CALL R12 2
0x5C2C1800, // 0053 MOVE R11 R12
- 0x8C30156A, // 0054 GETMET R12 R10 K106
+ 0x8C30156B, // 0054 GETMET R12 R10 K107
0x7C300200, // 0055 CALL R12 1
0x20341809, // 0056 NE R13 R12 R9
0x78360010, // 0057 JMPF R13 #0069
0xB8360A00, // 0058 GETNGBL R13 K5
- 0x5838006B, // 0059 LDCONST R14 K107
+ 0x5838006C, // 0059 LDCONST R14 K108
0x583C0008, // 005A LDCONST R15 K8
0x7C340400, // 005B CALL R13 2
0xB8360A00, // 005C GETNGBL R13 K5
@@ -993,86 +998,86 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */
0x50340000, // 0067 LDBOOL R13 0 0
0x80041A00, // 0068 RET 1 R13
0xB8364C00, // 0069 GETNGBL R13 K38
- 0x88341B6C, // 006A GETMBR R13 R13 K108
+ 0x88341B6D, // 006A GETMBR R13 R13 K109
0x8C341B28, // 006B GETMET R13 R13 K40
0x5C3C1600, // 006C MOVE R15 R11
0x7C340400, // 006D CALL R13 2
- 0x8C381B6D, // 006E GETMET R14 R13 K109
+ 0x8C381B6E, // 006E GETMET R14 R13 K110
0x58400025, // 006F LDCONST R16 K37
0x7C380400, // 0070 CALL R14 2
- 0x8C3C1B6D, // 0071 GETMET R15 R13 K109
+ 0x8C3C1B6E, // 0071 GETMET R15 R13 K110
0x58440022, // 0072 LDCONST R17 K34
0x7C3C0400, // 0073 CALL R15 2
- 0x8C401B6D, // 0074 GETMET R16 R13 K109
+ 0x8C401B6E, // 0074 GETMET R16 R13 K110
0x58480008, // 0075 LDCONST R18 K8
0x7C400400, // 0076 CALL R16 2
0xB8464C00, // 0077 GETNGBL R17 K38
- 0x8844236C, // 0078 GETMBR R17 R17 K108
+ 0x8844236D, // 0078 GETMBR R17 R17 K109
0x8C442328, // 0079 GETMET R17 R17 K40
0x5C4C1C00, // 007A MOVE R19 R14
0x7C440400, // 007B CALL R17 2
- 0x8C48236D, // 007C GETMET R18 R17 K109
+ 0x8C48236E, // 007C GETMET R18 R17 K110
0x54520008, // 007D LDINT R20 9
0x7C480400, // 007E CALL R18 2
- 0x8C4C236E, // 007F GETMET R19 R17 K110
+ 0x8C4C236F, // 007F GETMET R19 R17 K111
0x54560005, // 0080 LDINT R21 6
0x7C4C0400, // 0081 CALL R19 2
- 0x8C50276D, // 0082 GETMET R20 R19 K109
+ 0x8C50276E, // 0082 GETMET R20 R19 K110
0x545A0010, // 0083 LDINT R22 17
0x7C500400, // 0084 CALL R20 2
0x60540004, // 0085 GETGBL R21 G4
0x5C582800, // 0086 MOVE R22 R20
0x7C540200, // 0087 CALL R21 1
- 0x1C542B6F, // 0088 EQ R21 R21 K111
+ 0x1C542B70, // 0088 EQ R21 R21 K112
0x78560007, // 0089 JMPF R21 #0092
- 0xB856E200, // 008A GETNGBL R21 K113
- 0x8C542B72, // 008B GETMET R21 R21 K114
+ 0xB856E400, // 008A GETNGBL R21 K114
+ 0x8C542B73, // 008B GETMET R21 R21 K115
0x5C5C2800, // 008C MOVE R23 R20
0x7C540400, // 008D CALL R21 2
- 0x8C542B73, // 008E GETMET R21 R21 K115
+ 0x8C542B74, // 008E GETMET R21 R21 K116
0x7C540200, // 008F CALL R21 1
- 0x900EE015, // 0090 SETMBR R3 K112 R21
+ 0x900EE215, // 0090 SETMBR R3 K113 R21
0x70020002, // 0091 JMP #0095
- 0x8C542973, // 0092 GETMET R21 R20 K115
+ 0x8C542974, // 0092 GETMET R21 R20 K116
0x7C540200, // 0093 CALL R21 1
- 0x900EE015, // 0094 SETMBR R3 K112 R21
+ 0x900EE215, // 0094 SETMBR R3 K113 R21
0xB8564C00, // 0095 GETNGBL R21 K38
- 0x88542B6C, // 0096 GETMBR R21 R21 K108
- 0x8C542B74, // 0097 GETMET R21 R21 K116
+ 0x88542B6D, // 0096 GETMBR R21 R21 K109
+ 0x8C542B75, // 0097 GETMET R21 R21 K117
0x7C540200, // 0098 CALL R21 1
- 0x8C582B75, // 0099 GETMET R22 R21 K117
+ 0x8C582B76, // 0099 GETMET R22 R21 K118
0x58600025, // 009A LDCONST R24 K37
0xB8664C00, // 009B GETNGBL R25 K38
- 0x8864336C, // 009C GETMBR R25 R25 K108
- 0x88643376, // 009D GETMBR R25 R25 K118
+ 0x8864336D, // 009C GETMBR R25 R25 K109
+ 0x88643377, // 009D GETMBR R25 R25 K119
0x5C681C00, // 009E MOVE R26 R14
0x7C580800, // 009F CALL R22 4
- 0x8C582B75, // 00A0 GETMET R22 R21 K117
+ 0x8C582B76, // 00A0 GETMET R22 R21 K118
0x58600022, // 00A1 LDCONST R24 K34
0xB8664C00, // 00A2 GETNGBL R25 K38
- 0x8864336C, // 00A3 GETMBR R25 R25 K108
- 0x88643376, // 00A4 GETMBR R25 R25 K118
+ 0x8864336D, // 00A3 GETMBR R25 R25 K109
+ 0x88643377, // 00A4 GETMBR R25 R25 K119
0x5C681E00, // 00A5 MOVE R26 R15
0x7C580800, // 00A6 CALL R22 4
- 0x8C582B75, // 00A7 GETMET R22 R21 K117
+ 0x8C582B76, // 00A7 GETMET R22 R21 K118
0x58600008, // 00A8 LDCONST R24 K8
0xB8664C00, // 00A9 GETNGBL R25 K38
- 0x8864336C, // 00AA GETMBR R25 R25 K108
- 0x88643376, // 00AB GETMBR R25 R25 K118
- 0x88680777, // 00AC GETMBR R26 R3 K119
+ 0x8864336D, // 00AA GETMBR R25 R25 K109
+ 0x88643377, // 00AB GETMBR R25 R25 K119
+ 0x88680778, // 00AC GETMBR R26 R3 K120
0x7C580800, // 00AD CALL R22 4
- 0x8C582B75, // 00AE GETMET R22 R21 K117
+ 0x8C582B76, // 00AE GETMET R22 R21 K118
0x54620003, // 00AF LDINT R24 4
0xB8664C00, // 00B0 GETNGBL R25 K38
- 0x8864336C, // 00B1 GETMBR R25 R25 K108
- 0x88643376, // 00B2 GETMBR R25 R25 K118
- 0x88680778, // 00B3 GETMBR R26 R3 K120
+ 0x8864336D, // 00B1 GETMBR R25 R25 K109
+ 0x88643377, // 00B2 GETMBR R25 R25 K119
+ 0x88680779, // 00B3 GETMBR R26 R3 K121
0x7C580800, // 00B4 CALL R22 4
- 0x8C582B3D, // 00B5 GETMET R22 R21 K61
+ 0x8C582B3E, // 00B5 GETMET R22 R21 K62
0x7C580200, // 00B6 CALL R22 1
- 0x8C5C0579, // 00B7 GETMET R23 R2 K121
+ 0x8C5C057A, // 00B7 GETMET R23 R2 K122
0x7C5C0200, // 00B8 CALL R23 1
- 0x8C5C2F7A, // 00B9 GETMET R23 R23 K122
+ 0x8C5C2F7B, // 00B9 GETMET R23 R23 K123
0x5C642400, // 00BA MOVE R25 R18
0x5C682C00, // 00BB MOVE R26 R22
0x5C6C2000, // 00BC MOVE R27 R16
@@ -1080,28 +1085,28 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */
0x5C602E00, // 00BE MOVE R24 R23
0x74620008, // 00BF JMPT R24 #00C9
0xB8620A00, // 00C0 GETNGBL R24 K5
- 0x5864007B, // 00C1 LDCONST R25 K123
+ 0x5864007C, // 00C1 LDCONST R25 K124
0x58680022, // 00C2 LDCONST R26 K34
0x7C600400, // 00C3 CALL R24 2
0xB8620A00, // 00C4 GETNGBL R24 K5
- 0x5864007C, // 00C5 LDCONST R25 K124
+ 0x5864007D, // 00C5 LDCONST R25 K125
0x58680022, // 00C6 LDCONST R26 K34
0x7C600400, // 00C7 CALL R24 2
0x70020003, // 00C8 JMP #00CD
0xB8620A00, // 00C9 GETNGBL R24 K5
- 0x5864007D, // 00CA LDCONST R25 K125
+ 0x5864007E, // 00CA LDCONST R25 K126
0x58680008, // 00CB LDCONST R26 K8
0x7C600400, // 00CC CALL R24 2
- 0x8C60054C, // 00CD GETMET R24 R2 K76
+ 0x8C60054D, // 00CD GETMET R24 R2 K77
0x7C600200, // 00CE CALL R24 1
0x8C603116, // 00CF GETMET R24 R24 K22
0x8868072A, // 00D0 GETMBR R26 R3 K42
0x7C600400, // 00D1 CALL R24 2
0x8C603116, // 00D2 GETMET R24 R24 K22
- 0x8868073E, // 00D3 GETMBR R26 R3 K62
+ 0x8868073F, // 00D3 GETMBR R26 R3 K63
0x7C600400, // 00D4 CALL R24 2
0x8C603116, // 00D5 GETMET R24 R24 K22
- 0x8868097E, // 00D6 GETMBR R26 R4 K126
+ 0x8868097F, // 00D6 GETMBR R26 R4 K127
0x7C600400, // 00D7 CALL R24 2
0x8C603117, // 00D8 GETMET R24 R24 K23
0x7C600200, // 00D9 CALL R24 1
@@ -1109,18 +1114,18 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */
0x4C600000, // 00DB LDNIL R24
0x900E5418, // 00DC SETMBR R3 K42 R24
0x4C600000, // 00DD LDNIL R24
- 0x900E7C18, // 00DE SETMBR R3 K62 R24
- 0x8C60055F, // 00DF GETMET R24 R2 K95
+ 0x900E7E18, // 00DE SETMBR R3 K63 R24
+ 0x8C600560, // 00DF GETMET R24 R2 K96
0x7C600200, // 00E0 CALL R24 1
- 0x8C603160, // 00E1 GETMET R24 R24 K96
- 0x88680765, // 00E2 GETMBR R26 R3 K101
+ 0x8C603161, // 00E1 GETMET R24 R24 K97
+ 0x88680766, // 00E2 GETMBR R26 R3 K102
0x8C6C0714, // 00E3 GETMET R27 R3 K20
0x7C6C0200, // 00E4 CALL R27 1
0x006C3605, // 00E5 ADD R27 R27 R5
0x60700015, // 00E6 GETGBL R28 G21
0x7C700000, // 00E7 CALL R28 0
- 0x8C70394D, // 00E8 GETMET R28 R28 K77
- 0x88780161, // 00E9 GETMBR R30 R0 K97
+ 0x8C70394E, // 00E8 GETMET R28 R28 K78
+ 0x88780162, // 00E9 GETMBR R30 R0 K98
0x7C700400, // 00EA CALL R28 2
0x5476002F, // 00EB LDINT R29 48
0x7C600A00, // 00EC CALL R24 5
@@ -1136,7 +1141,7 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */
0x406C361C, // 00F6 CONNECT R27 R27 R28
0x946C301B, // 00F7 GETIDX R27 R24 R27
0xB8721400, // 00F8 GETNGBL R28 K10
- 0x8C70395E, // 00F9 GETMET R28 R28 K94
+ 0x8C70395F, // 00F9 GETMET R28 R28 K95
0x7C700200, // 00FA CALL R28 1
0x8C740124, // 00FB GETMET R29 R0 K36
0x5C7C0200, // 00FC MOVE R31 R1
@@ -1145,7 +1150,7 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */
0x5888001F, // 00FF LDCONST R34 K31
0x508C0200, // 0100 LDBOOL R35 1 0
0x7C740C00, // 0101 CALL R29 6
- 0x8C74077F, // 0102 GETMET R29 R3 K127
+ 0x8C740780, // 0102 GETMET R29 R3 K128
0x7C740200, // 0103 CALL R29 1
0x8C74071C, // 0104 GETMET R29 R3 K28
0x5C7C3200, // 0105 MOVE R31 R25
@@ -1153,17 +1158,17 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */
0x5C843600, // 0107 MOVE R33 R27
0x5C883800, // 0108 MOVE R34 R28
0x7C740A00, // 0109 CALL R29 5
- 0x900F011F, // 010A SETMBR R3 K128 K31
- 0x8C740781, // 010B GETMET R29 R3 K129
+ 0x900F031F, // 010A SETMBR R3 K129 K31
+ 0x8C740782, // 010B GETMET R29 R3 K130
0x7C740200, // 010C CALL R29 1
- 0x8C740782, // 010D GETMET R29 R3 K130
+ 0x8C740783, // 010D GETMET R29 R3 K131
0x507C0200, // 010E LDBOOL R31 1 0
0x7C740400, // 010F CALL R29 2
- 0x8C740783, // 0110 GETMET R29 R3 K131
+ 0x8C740784, // 0110 GETMET R29 R3 K132
0x7C740200, // 0111 CALL R29 1
- 0x8C740784, // 0112 GETMET R29 R3 K132
+ 0x8C740785, // 0112 GETMET R29 R3 K133
0x7C740200, // 0113 CALL R29 1
- 0x8C740785, // 0114 GETMET R29 R3 K133
+ 0x8C740786, // 0114 GETMET R29 R3 K134
0x7C740200, // 0115 CALL R29 1
0x50740200, // 0116 LDBOOL R29 1 0
0x80043A00, // 0117 RET 1 R29
@@ -1189,95 +1194,96 @@ be_local_closure(class_Matter_Commisioning_Context_process_incoming, /* name *
&be_ktab_class_Matter_Commisioning_Context, /* shared constants */
be_str_weak(process_incoming),
&be_const_str_solidified,
- ( &(const binstruction[88]) { /* code */
+ ( &(const binstruction[89]) { /* code */
0x8808010D, // 0000 GETMBR R2 R0 K13
- 0x8C080586, // 0001 GETMET R2 R2 K134
- 0x7C080200, // 0002 CALL R2 1
- 0x740A000D, // 0003 JMPT R2 #0012
- 0x8808031D, // 0004 GETMBR R2 R1 K29
- 0x540E001F, // 0005 LDINT R3 32
- 0x28080403, // 0006 GE R2 R2 R3
- 0x780A0009, // 0007 JMPF R2 #0012
- 0x8808031D, // 0008 GETMBR R2 R1 K29
- 0x540E0023, // 0009 LDINT R3 36
- 0x18080403, // 000A LE R2 R2 R3
- 0x780A0005, // 000B JMPF R2 #0012
- 0xB80A0A00, // 000C GETNGBL R2 K5
- 0x580C0087, // 000D LDCONST R3 K135
- 0x58100022, // 000E LDCONST R4 K34
- 0x7C080400, // 000F CALL R2 2
- 0x50080000, // 0010 LDBOOL R2 0 0
- 0x80040400, // 0011 RET 1 R2
- 0x8808031D, // 0012 GETMBR R2 R1 K29
- 0x540E000F, // 0013 LDINT R3 16
- 0x1C080403, // 0014 EQ R2 R2 R3
- 0x780A0000, // 0015 JMPF R2 #0017
- 0x7002003E, // 0016 JMP #0056
- 0x8808031D, // 0017 GETMBR R2 R1 K29
- 0x540E001F, // 0018 LDINT R3 32
- 0x1C080403, // 0019 EQ R2 R2 R3
- 0x780A0004, // 001A JMPF R2 #0020
- 0x8C080188, // 001B GETMET R2 R0 K136
- 0x5C100200, // 001C MOVE R4 R1
- 0x7C080400, // 001D CALL R2 2
- 0x80040400, // 001E RET 1 R2
- 0x70020035, // 001F JMP #0056
- 0x8808031D, // 0020 GETMBR R2 R1 K29
- 0x540E0021, // 0021 LDINT R3 34
- 0x1C080403, // 0022 EQ R2 R2 R3
- 0x780A0004, // 0023 JMPF R2 #0029
- 0x8C080189, // 0024 GETMET R2 R0 K137
- 0x5C100200, // 0025 MOVE R4 R1
- 0x7C080400, // 0026 CALL R2 2
- 0x80040400, // 0027 RET 1 R2
- 0x7002002C, // 0028 JMP #0056
- 0x8808031D, // 0029 GETMBR R2 R1 K29
- 0x540E0023, // 002A LDINT R3 36
- 0x1C080403, // 002B EQ R2 R2 R3
- 0x780A0004, // 002C JMPF R2 #0032
- 0x8C08018A, // 002D GETMET R2 R0 K138
- 0x5C100200, // 002E MOVE R4 R1
- 0x7C080400, // 002F CALL R2 2
- 0x80040400, // 0030 RET 1 R2
- 0x70020023, // 0031 JMP #0056
- 0x8808031D, // 0032 GETMBR R2 R1 K29
- 0x540E002F, // 0033 LDINT R3 48
- 0x1C080403, // 0034 EQ R2 R2 R3
- 0x780A0004, // 0035 JMPF R2 #003B
- 0x8C08018B, // 0036 GETMET R2 R0 K139
- 0x5C100200, // 0037 MOVE R4 R1
- 0x7C080400, // 0038 CALL R2 2
- 0x80040400, // 0039 RET 1 R2
- 0x7002001A, // 003A JMP #0056
- 0x8808031D, // 003B GETMBR R2 R1 K29
- 0x540E0031, // 003C LDINT R3 50
- 0x1C080403, // 003D EQ R2 R2 R3
- 0x780A0004, // 003E JMPF R2 #0044
- 0x8C08018C, // 003F GETMET R2 R0 K140
- 0x5C100200, // 0040 MOVE R4 R1
- 0x7C080400, // 0041 CALL R2 2
- 0x80040400, // 0042 RET 1 R2
- 0x70020011, // 0043 JMP #0056
- 0x8808031D, // 0044 GETMBR R2 R1 K29
- 0x540E003F, // 0045 LDINT R3 64
- 0x1C080403, // 0046 EQ R2 R2 R3
- 0x780A0004, // 0047 JMPF R2 #004D
- 0x8C08018D, // 0048 GETMET R2 R0 K141
- 0x5C100200, // 0049 MOVE R4 R1
- 0x7C080400, // 004A CALL R2 2
- 0x80040400, // 004B RET 1 R2
- 0x70020008, // 004C JMP #0056
- 0xB80A0A00, // 004D GETNGBL R2 K5
- 0x600C0018, // 004E GETGBL R3 G24
- 0x5810008E, // 004F LDCONST R4 K142
- 0x8814031D, // 0050 GETMBR R5 R1 K29
- 0x7C0C0400, // 0051 CALL R3 2
- 0x58100022, // 0052 LDCONST R4 K34
- 0x7C080400, // 0053 CALL R2 2
- 0x50080000, // 0054 LDBOOL R2 0 0
- 0x80040400, // 0055 RET 1 R2
- 0x50080000, // 0056 LDBOOL R2 0 0
- 0x80040400, // 0057 RET 1 R2
+ 0x8808053A, // 0001 GETMBR R2 R2 K58
+ 0x8C080587, // 0002 GETMET R2 R2 K135
+ 0x7C080200, // 0003 CALL R2 1
+ 0x740A000D, // 0004 JMPT R2 #0013
+ 0x8808031D, // 0005 GETMBR R2 R1 K29
+ 0x540E001F, // 0006 LDINT R3 32
+ 0x28080403, // 0007 GE R2 R2 R3
+ 0x780A0009, // 0008 JMPF R2 #0013
+ 0x8808031D, // 0009 GETMBR R2 R1 K29
+ 0x540E0023, // 000A LDINT R3 36
+ 0x18080403, // 000B LE R2 R2 R3
+ 0x780A0005, // 000C JMPF R2 #0013
+ 0xB80A0A00, // 000D GETNGBL R2 K5
+ 0x580C0088, // 000E LDCONST R3 K136
+ 0x58100022, // 000F LDCONST R4 K34
+ 0x7C080400, // 0010 CALL R2 2
+ 0x50080000, // 0011 LDBOOL R2 0 0
+ 0x80040400, // 0012 RET 1 R2
+ 0x8808031D, // 0013 GETMBR R2 R1 K29
+ 0x540E000F, // 0014 LDINT R3 16
+ 0x1C080403, // 0015 EQ R2 R2 R3
+ 0x780A0000, // 0016 JMPF R2 #0018
+ 0x7002003E, // 0017 JMP #0057
+ 0x8808031D, // 0018 GETMBR R2 R1 K29
+ 0x540E001F, // 0019 LDINT R3 32
+ 0x1C080403, // 001A EQ R2 R2 R3
+ 0x780A0004, // 001B JMPF R2 #0021
+ 0x8C080189, // 001C GETMET R2 R0 K137
+ 0x5C100200, // 001D MOVE R4 R1
+ 0x7C080400, // 001E CALL R2 2
+ 0x80040400, // 001F RET 1 R2
+ 0x70020035, // 0020 JMP #0057
+ 0x8808031D, // 0021 GETMBR R2 R1 K29
+ 0x540E0021, // 0022 LDINT R3 34
+ 0x1C080403, // 0023 EQ R2 R2 R3
+ 0x780A0004, // 0024 JMPF R2 #002A
+ 0x8C08018A, // 0025 GETMET R2 R0 K138
+ 0x5C100200, // 0026 MOVE R4 R1
+ 0x7C080400, // 0027 CALL R2 2
+ 0x80040400, // 0028 RET 1 R2
+ 0x7002002C, // 0029 JMP #0057
+ 0x8808031D, // 002A GETMBR R2 R1 K29
+ 0x540E0023, // 002B LDINT R3 36
+ 0x1C080403, // 002C EQ R2 R2 R3
+ 0x780A0004, // 002D JMPF R2 #0033
+ 0x8C08018B, // 002E GETMET R2 R0 K139
+ 0x5C100200, // 002F MOVE R4 R1
+ 0x7C080400, // 0030 CALL R2 2
+ 0x80040400, // 0031 RET 1 R2
+ 0x70020023, // 0032 JMP #0057
+ 0x8808031D, // 0033 GETMBR R2 R1 K29
+ 0x540E002F, // 0034 LDINT R3 48
+ 0x1C080403, // 0035 EQ R2 R2 R3
+ 0x780A0004, // 0036 JMPF R2 #003C
+ 0x8C08018C, // 0037 GETMET R2 R0 K140
+ 0x5C100200, // 0038 MOVE R4 R1
+ 0x7C080400, // 0039 CALL R2 2
+ 0x80040400, // 003A RET 1 R2
+ 0x7002001A, // 003B JMP #0057
+ 0x8808031D, // 003C GETMBR R2 R1 K29
+ 0x540E0031, // 003D LDINT R3 50
+ 0x1C080403, // 003E EQ R2 R2 R3
+ 0x780A0004, // 003F JMPF R2 #0045
+ 0x8C08018D, // 0040 GETMET R2 R0 K141
+ 0x5C100200, // 0041 MOVE R4 R1
+ 0x7C080400, // 0042 CALL R2 2
+ 0x80040400, // 0043 RET 1 R2
+ 0x70020011, // 0044 JMP #0057
+ 0x8808031D, // 0045 GETMBR R2 R1 K29
+ 0x540E003F, // 0046 LDINT R3 64
+ 0x1C080403, // 0047 EQ R2 R2 R3
+ 0x780A0004, // 0048 JMPF R2 #004E
+ 0x8C08018E, // 0049 GETMET R2 R0 K142
+ 0x5C100200, // 004A MOVE R4 R1
+ 0x7C080400, // 004B CALL R2 2
+ 0x80040400, // 004C RET 1 R2
+ 0x70020008, // 004D JMP #0057
+ 0xB80A0A00, // 004E GETNGBL R2 K5
+ 0x600C0018, // 004F GETGBL R3 G24
+ 0x5810008F, // 0050 LDCONST R4 K143
+ 0x8814031D, // 0051 GETMBR R5 R1 K29
+ 0x7C0C0400, // 0052 CALL R3 2
+ 0x58100022, // 0053 LDCONST R4 K34
+ 0x7C080400, // 0054 CALL R2 2
+ 0x50080000, // 0055 LDBOOL R2 0 0
+ 0x80040400, // 0056 RET 1 R2
+ 0x50080000, // 0057 LDBOOL R2 0 0
+ 0x80040400, // 0058 RET 1 R2
})
)
);
@@ -1327,19 +1333,19 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */
0x50100000, // 0017 LDBOOL R4 0 0
0x80040800, // 0018 RET 1 R4
0xB8124C00, // 0019 GETNGBL R4 K38
- 0x8C10098F, // 001A GETMET R4 R4 K143
+ 0x8C100990, // 001A GETMET R4 R4 K144
0x7C100200, // 001B CALL R4 1
0x8C100928, // 001C GETMET R4 R4 K40
0x88180301, // 001D GETMBR R6 R1 K1
0x881C0302, // 001E GETMBR R7 R1 K2
0x7C100600, // 001F CALL R4 3
- 0x88140990, // 0020 GETMBR R5 R4 K144
- 0x900EEE05, // 0021 SETMBR R3 K119 R5
- 0x88140991, // 0022 GETMBR R5 R4 K145
+ 0x88140991, // 0020 GETMBR R5 R4 K145
+ 0x900EF005, // 0021 SETMBR R3 K120 R5
+ 0x88140992, // 0022 GETMBR R5 R4 K146
0x4C180000, // 0023 LDNIL R6
0x20140A06, // 0024 NE R5 R5 R6
0x78160003, // 0025 JMPF R5 #002A
- 0x88140992, // 0026 GETMBR R5 R4 K146
+ 0x88140993, // 0026 GETMBR R5 R4 K147
0x4C180000, // 0027 LDNIL R6
0x20140A06, // 0028 NE R5 R5 R6
0x74160000, // 0029 JMPT R5 #002B
@@ -1349,60 +1355,60 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */
0x78160014, // 002D JMPF R5 #0043
0x881C010D, // 002E GETMBR R7 R0 K13
0x881C0F0E, // 002F GETMBR R7 R7 K14
- 0x8C1C0F93, // 0030 GETMET R7 R7 K147
- 0x88240991, // 0031 GETMBR R9 R4 K145
+ 0x8C1C0F94, // 0030 GETMET R7 R7 K148
+ 0x88240992, // 0031 GETMBR R9 R4 K146
0x7C1C0400, // 0032 CALL R7 2
0x5C180E00, // 0033 MOVE R6 R7
0x4C1C0000, // 0034 LDNIL R7
0x1C1C0C07, // 0035 EQ R7 R6 R7
0x741E0003, // 0036 JMPT R7 #003B
- 0x881C0D94, // 0037 GETMBR R7 R6 K148
+ 0x881C0D95, // 0037 GETMBR R7 R6 K149
0x4C200000, // 0038 LDNIL R8
0x1C1C0E08, // 0039 EQ R7 R7 R8
0x781E0007, // 003A JMPF R7 #0043
0xB81E0A00, // 003B GETNGBL R7 K5
0x60200018, // 003C GETGBL R8 G24
- 0x58240095, // 003D LDCONST R9 K149
- 0x88280991, // 003E GETMBR R10 R4 K145
+ 0x58240096, // 003D LDCONST R9 K150
+ 0x88280992, // 003E GETMBR R10 R4 K146
0x7C200400, // 003F CALL R8 2
0x58240008, // 0040 LDCONST R9 K8
0x7C1C0400, // 0041 CALL R7 2
0x50140000, // 0042 LDBOOL R5 0 0
0x781600C3, // 0043 JMPF R5 #0108
0xB81E0A00, // 0044 GETNGBL R7 K5
- 0x58200096, // 0045 LDCONST R8 K150
+ 0x58200097, // 0045 LDCONST R8 K151
0x58240008, // 0046 LDCONST R9 K8
0x7C1C0400, // 0047 CALL R7 2
0x881C0935, // 0048 GETMBR R7 R4 K53
- 0x88200991, // 0049 GETMBR R8 R4 K145
+ 0x88200992, // 0049 GETMBR R8 R4 K146
0x001C0E08, // 004A ADD R7 R7 R8
0x60200015, // 004B GETGBL R8 G21
0x7C200000, // 004C CALL R8 0
- 0x8C20114D, // 004D GETMET R8 R8 K77
- 0x58280097, // 004E LDCONST R10 K151
+ 0x8C20114E, // 004D GETMET R8 R8 K78
+ 0x58280098, // 004E LDCONST R10 K152
0x7C200400, // 004F CALL R8 2
- 0x8C24055F, // 0050 GETMET R9 R2 K95
+ 0x8C240560, // 0050 GETMET R9 R2 K96
0x7C240200, // 0051 CALL R9 1
- 0x8C241360, // 0052 GETMET R9 R9 K96
- 0x882C0D65, // 0053 GETMBR R11 R6 K101
+ 0x8C241361, // 0052 GETMET R9 R9 K97
+ 0x882C0D66, // 0053 GETMBR R11 R6 K102
0x5C300E00, // 0054 MOVE R12 R7
0x5C341000, // 0055 MOVE R13 R8
0x543A000F, // 0056 LDINT R14 16
0x7C240A00, // 0057 CALL R9 5
0x60280015, // 0058 GETGBL R10 G21
0x7C280000, // 0059 CALL R10 0
- 0x8C28154D, // 005A GETMET R10 R10 K77
- 0x58300098, // 005B LDCONST R12 K152
+ 0x8C28154E, // 005A GETMET R10 R10 K78
+ 0x58300099, // 005B LDCONST R12 K153
0x7C280400, // 005C CALL R10 2
0x542DFFEE, // 005D LDINT R11 -17
0x402E3E0B, // 005E CONNECT R11 K31 R11
- 0x88300992, // 005F GETMBR R12 R4 K146
+ 0x88300993, // 005F GETMBR R12 R4 K147
0x942C180B, // 0060 GETIDX R11 R12 R11
0x5435FFEF, // 0061 LDINT R13 -16
0x40341B03, // 0062 CONNECT R13 R13 K3
- 0x88380992, // 0063 GETMBR R14 R4 K146
+ 0x88380993, // 0063 GETMBR R14 R4 K147
0x94301C0D, // 0064 GETIDX R12 R14 R13
- 0x8C3C0567, // 0065 GETMET R15 R2 K103
+ 0x8C3C0568, // 0065 GETMET R15 R2 K104
0x5C441200, // 0066 MOVE R17 R9
0x5C481400, // 0067 MOVE R18 R10
0x604C0015, // 0068 GETGBL R19 G21
@@ -1413,19 +1419,19 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */
0x5456000F, // 006D LDINT R21 16
0x7C3C0C00, // 006E CALL R15 6
0x5C341E00, // 006F MOVE R13 R15
- 0x8C3C1B69, // 0070 GETMET R15 R13 K105
+ 0x8C3C1B6A, // 0070 GETMET R15 R13 K106
0x5C441600, // 0071 MOVE R17 R11
0x7C3C0400, // 0072 CALL R15 2
0x5C381E00, // 0073 MOVE R14 R15
- 0x8C3C1B6A, // 0074 GETMET R15 R13 K106
+ 0x8C3C1B6B, // 0074 GETMET R15 R13 K107
0x7C3C0200, // 0075 CALL R15 1
0x1C40180F, // 0076 EQ R16 R12 R15
0x7842008A, // 0077 JMPF R16 #0103
- 0x88400D94, // 0078 GETMBR R16 R6 K148
- 0x900F2810, // 0079 SETMBR R3 K148 R16
- 0x8840039A, // 007A GETMBR R16 R1 K154
- 0x900F3210, // 007B SETMBR R3 K153 R16
- 0x8C40079B, // 007C GETMET R16 R3 K155
+ 0x88400D95, // 0078 GETMBR R16 R6 K149
+ 0x900F2A10, // 0079 SETMBR R3 K149 R16
+ 0x8840039B, // 007A GETMBR R16 R1 K155
+ 0x900F3410, // 007B SETMBR R3 K154 R16
+ 0x8C40079C, // 007C GETMET R16 R3 K156
0x7C400200, // 007D CALL R16 1
0x8840092E, // 007E GETMBR R16 R4 K46
0x900E5A10, // 007F SETMBR R3 K45 R16
@@ -1443,62 +1449,62 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */
0x7C440800, // 008B CALL R17 4
0x58480008, // 008C LDCONST R18 K8
0x7C400400, // 008D CALL R16 2
- 0x88400D65, // 008E GETMBR R16 R6 K101
- 0x900ECA10, // 008F SETMBR R3 K101 R16
+ 0x88400D66, // 008E GETMBR R16 R6 K102
+ 0x900ECC10, // 008F SETMBR R3 K102 R16
0x8C400537, // 0090 GETMET R16 R2 K55
0x544A000F, // 0091 LDINT R18 16
0x7C400400, // 0092 CALL R16 2
- 0x900F3810, // 0093 SETMBR R3 K156 R16
+ 0x900F3A10, // 0093 SETMBR R3 K157 R16
0x60400015, // 0094 GETGBL R16 G21
0x7C400000, // 0095 CALL R16 0
- 0x8C40214D, // 0096 GETMET R16 R16 K77
- 0x5848009D, // 0097 LDCONST R18 K157
+ 0x8C40214E, // 0096 GETMET R16 R16 K78
+ 0x5848009E, // 0097 LDCONST R18 K158
0x7C400400, // 0098 CALL R16 2
0x88440935, // 0099 GETMBR R17 R4 K53
- 0x8848079C, // 009A GETMBR R18 R3 K156
+ 0x8848079D, // 009A GETMBR R18 R3 K157
0x00442212, // 009B ADD R17 R17 R18
- 0x8C48055F, // 009C GETMET R18 R2 K95
+ 0x8C480560, // 009C GETMET R18 R2 K96
0x7C480200, // 009D CALL R18 1
- 0x8C482560, // 009E GETMET R18 R18 K96
- 0x88500765, // 009F GETMBR R20 R3 K101
+ 0x8C482561, // 009E GETMET R18 R18 K97
+ 0x88500766, // 009F GETMBR R20 R3 K102
0x5C542200, // 00A0 MOVE R21 R17
0x5C582000, // 00A1 MOVE R22 R16
0x545E000F, // 00A2 LDINT R23 16
0x7C480A00, // 00A3 CALL R18 5
- 0x8C4C0567, // 00A4 GETMET R19 R2 K103
+ 0x8C4C0568, // 00A4 GETMET R19 R2 K104
0x5C542400, // 00A5 MOVE R21 R18
0x60580015, // 00A6 GETGBL R22 G21
0x7C580000, // 00A7 CALL R22 0
- 0x8C582D4D, // 00A8 GETMET R22 R22 K77
- 0x5860009E, // 00A9 LDCONST R24 K158
+ 0x8C582D4E, // 00A8 GETMET R22 R22 K78
+ 0x5860009F, // 00A9 LDCONST R24 K159
0x7C580400, // 00AA CALL R22 2
0x605C0015, // 00AB GETGBL R23 G21
0x7C5C0000, // 00AC CALL R23 0
0x5860001F, // 00AD LDCONST R24 K31
0x5466000F, // 00AE LDINT R25 16
0x7C4C0C00, // 00AF CALL R19 6
- 0x8C50276A, // 00B0 GETMET R20 R19 K106
+ 0x8C50276B, // 00B0 GETMET R20 R19 K107
0x7C500200, // 00B1 CALL R20 1
0xB8564C00, // 00B2 GETNGBL R21 K38
- 0x8C542B9F, // 00B3 GETMET R21 R21 K159
+ 0x8C542BA0, // 00B3 GETMET R21 R21 K160
0x7C540200, // 00B4 CALL R21 1
- 0x8858079C, // 00B5 GETMBR R22 R3 K156
- 0x90572216, // 00B6 SETMBR R21 K145 R22
- 0x90574014, // 00B7 SETMBR R21 K160 R20
+ 0x8858079D, // 00B5 GETMBR R22 R3 K157
+ 0x90572416, // 00B6 SETMBR R21 K146 R22
+ 0x90574214, // 00B7 SETMBR R21 K161 R20
0x8858072F, // 00B8 GETMBR R22 R3 K47
- 0x90574216, // 00B9 SETMBR R21 K161 R22
+ 0x90574416, // 00B9 SETMBR R21 K162 R22
0x88580935, // 00BA GETMBR R22 R4 K53
- 0x885C0D9C, // 00BB GETMBR R23 R6 K156
+ 0x885C0D9D, // 00BB GETMBR R23 R6 K157
0x00582C17, // 00BC ADD R22 R22 R23
- 0x8C5C055F, // 00BD GETMET R23 R2 K95
+ 0x8C5C0560, // 00BD GETMET R23 R2 K96
0x7C5C0200, // 00BE CALL R23 1
- 0x8C5C2F60, // 00BF GETMET R23 R23 K96
- 0x88640765, // 00C0 GETMBR R25 R3 K101
+ 0x8C5C2F61, // 00BF GETMET R23 R23 K97
+ 0x88640766, // 00C0 GETMBR R25 R3 K102
0x5C682C00, // 00C1 MOVE R26 R22
0x606C0015, // 00C2 GETGBL R27 G21
0x7C6C0000, // 00C3 CALL R27 0
- 0x8C6C374D, // 00C4 GETMET R27 R27 K77
- 0x587400A2, // 00C5 LDCONST R29 K162
+ 0x8C6C374E, // 00C4 GETMET R27 R27 K78
+ 0x587400A3, // 00C5 LDCONST R29 K163
0x7C6C0400, // 00C6 CALL R27 2
0x5472002F, // 00C7 LDINT R28 48
0x7C5C0A00, // 00C8 CALL R23 5
@@ -1514,24 +1520,24 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */
0x4068341B, // 00D2 CONNECT R26 R26 R27
0x94682E1A, // 00D3 GETIDX R26 R23 R26
0xB86E1400, // 00D4 GETNGBL R27 K10
- 0x8C6C375E, // 00D5 GETMET R27 R27 K94
+ 0x8C6C375F, // 00D5 GETMET R27 R27 K95
0x7C6C0200, // 00D6 CALL R27 1
- 0x8C702B3D, // 00D7 GETMET R28 R21 K61
+ 0x8C702B3E, // 00D7 GETMET R28 R21 K62
0x7C700200, // 00D8 CALL R28 1
0x4C740000, // 00D9 LDNIL R29
0x900E541D, // 00DA SETMBR R3 K42 R29
- 0x8C74033F, // 00DB GETMET R29 R1 K63
+ 0x8C740340, // 00DB GETMET R29 R1 K64
0x547E0032, // 00DC LDINT R31 51
0x50800200, // 00DD LDBOOL R32 1 0
0x7C740600, // 00DE CALL R29 3
- 0x8C783B40, // 00DF GETMET R30 R29 K64
+ 0x8C783B41, // 00DF GETMET R30 R29 K65
0x5C803800, // 00E0 MOVE R32 R28
0x7C780400, // 00E1 CALL R30 2
- 0x887C0141, // 00E2 GETMBR R31 R0 K65
- 0x8C7C3F42, // 00E3 GETMET R31 R31 K66
+ 0x887C0142, // 00E2 GETMBR R31 R0 K66
+ 0x8C7C3F43, // 00E3 GETMET R31 R31 K67
0x5C843A00, // 00E4 MOVE R33 R29
0x7C7C0400, // 00E5 CALL R31 2
- 0x8C7C077F, // 00E6 GETMET R31 R3 K127
+ 0x8C7C0780, // 00E6 GETMET R31 R3 K128
0x7C7C0200, // 00E7 CALL R31 1
0x8C7C071C, // 00E8 GETMET R31 R3 K28
0x5C843000, // 00E9 MOVE R33 R24
@@ -1539,48 +1545,48 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */
0x5C8C3400, // 00EB MOVE R35 R26
0x5C903600, // 00EC MOVE R36 R27
0x7C7C0A00, // 00ED CALL R31 5
- 0x887C0D70, // 00EE GETMBR R31 R6 K112
- 0x900EE01F, // 00EF SETMBR R3 K112 R31
- 0x900F011F, // 00F0 SETMBR R3 K128 K31
- 0x8C7C0781, // 00F1 GETMET R31 R3 K129
+ 0x887C0D71, // 00EE GETMBR R31 R6 K113
+ 0x900EE21F, // 00EF SETMBR R3 K113 R31
+ 0x900F031F, // 00F0 SETMBR R3 K129 K31
+ 0x8C7C0782, // 00F1 GETMET R31 R3 K130
0x7C7C0200, // 00F2 CALL R31 1
- 0x8C7C0782, // 00F3 GETMET R31 R3 K130
+ 0x8C7C0783, // 00F3 GETMET R31 R3 K131
0x50840200, // 00F4 LDBOOL R33 1 0
0x7C7C0400, // 00F5 CALL R31 2
- 0x8C7C0783, // 00F6 GETMET R31 R3 K131
+ 0x8C7C0784, // 00F6 GETMET R31 R3 K132
0x7C7C0200, // 00F7 CALL R31 1
- 0x8C7C0784, // 00F8 GETMET R31 R3 K132
+ 0x8C7C0785, // 00F8 GETMET R31 R3 K133
0x7C7C0200, // 00F9 CALL R31 1
- 0x8C7C0785, // 00FA GETMET R31 R3 K133
+ 0x8C7C0786, // 00FA GETMET R31 R3 K134
0x7C7C0200, // 00FB CALL R31 1
0xB87E0A00, // 00FC GETNGBL R31 K5
- 0x588000A3, // 00FD LDCONST R32 K163
+ 0x588000A4, // 00FD LDCONST R32 K164
0x58840008, // 00FE LDCONST R33 K8
0x7C7C0400, // 00FF CALL R31 2
0x507C0200, // 0100 LDBOOL R31 1 0
0x80043E00, // 0101 RET 1 R31
0x70020004, // 0102 JMP #0108
0xB8420A00, // 0103 GETNGBL R16 K5
- 0x584400A4, // 0104 LDCONST R17 K164
+ 0x584400A5, // 0104 LDCONST R17 K165
0x58480008, // 0105 LDCONST R18 K8
0x7C400400, // 0106 CALL R16 2
0x50140000, // 0107 LDBOOL R5 0 0
0x5C1C0A00, // 0108 MOVE R7 R5
0x741E00E4, // 0109 JMPT R7 #01EF
- 0x8C1C01A5, // 010A GETMET R7 R0 K165
- 0x882409A6, // 010B GETMBR R9 R4 K166
+ 0x8C1C01A6, // 010A GETMET R7 R0 K166
+ 0x882409A7, // 010B GETMBR R9 R4 K167
0x88280935, // 010C GETMBR R10 R4 K53
0x7C1C0600, // 010D CALL R7 3
- 0x900F2807, // 010E SETMBR R3 K148 R7
+ 0x900F2A07, // 010E SETMBR R3 K149 R7
0x4C200000, // 010F LDNIL R8
0x1C200608, // 0110 EQ R8 R3 R8
0x74220003, // 0111 JMPT R8 #0116
- 0x88200794, // 0112 GETMBR R8 R3 K148
+ 0x88200795, // 0112 GETMBR R8 R3 K149
0x4C240000, // 0113 LDNIL R9
0x1C201009, // 0114 EQ R8 R8 R9
0x7822000C, // 0115 JMPF R8 #0123
0xB8220A00, // 0116 GETNGBL R8 K5
- 0x582400A7, // 0117 LDCONST R9 K167
+ 0x582400A8, // 0117 LDCONST R9 K168
0x58280008, // 0118 LDCONST R10 K8
0x7C200400, // 0119 CALL R8 2
0x8C200124, // 011A GETMET R8 R0 K36
@@ -1592,9 +1598,9 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */
0x7C200C00, // 0120 CALL R8 6
0x50200000, // 0121 LDBOOL R8 0 0
0x80041000, // 0122 RET 1 R8
- 0x8820039A, // 0123 GETMBR R8 R1 K154
- 0x900F3208, // 0124 SETMBR R3 K153 R8
- 0x8C20079B, // 0125 GETMET R8 R3 K155
+ 0x8820039B, // 0123 GETMBR R8 R1 K155
+ 0x900F3408, // 0124 SETMBR R3 K154 R8
+ 0x8C20079C, // 0125 GETMET R8 R3 K156
0x7C200200, // 0126 CALL R8 1
0x8820092E, // 0127 GETMBR R8 R4 K46
0x900E5A08, // 0128 SETMBR R3 K45 R8
@@ -1615,106 +1621,106 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */
0x8C200537, // 0137 GETMET R8 R2 K55
0x542A000F, // 0138 LDINT R10 16
0x7C200400, // 0139 CALL R8 2
- 0x900F3808, // 013A SETMBR R3 K156 R8
+ 0x900F3A08, // 013A SETMBR R3 K157 R8
0x8C200537, // 013B GETMET R8 R2 K55
0x542A001F, // 013C LDINT R10 32
0x7C200400, // 013D CALL R8 2
- 0x900F5008, // 013E SETMBR R3 K168 R8
- 0x8C200579, // 013F GETMET R8 R2 K121
+ 0x900F5208, // 013E SETMBR R3 K169 R8
+ 0x8C20057A, // 013F GETMET R8 R2 K122
0x7C200200, // 0140 CALL R8 1
- 0x8C2011A9, // 0141 GETMET R8 R8 K169
- 0x882807A8, // 0142 GETMBR R10 R3 K168
+ 0x8C2011AA, // 0141 GETMET R8 R8 K170
+ 0x882807A9, // 0142 GETMBR R10 R3 K169
0x7C200400, // 0143 CALL R8 2
- 0x900EF008, // 0144 SETMBR R3 K120 R8
+ 0x900EF208, // 0144 SETMBR R3 K121 R8
0x8C200537, // 0145 GETMET R8 R2 K55
0x542A001F, // 0146 LDINT R10 32
0x7C200400, // 0147 CALL R8 2
- 0x8C240579, // 0148 GETMET R9 R2 K121
+ 0x8C24057A, // 0148 GETMET R9 R2 K122
0x7C240200, // 0149 CALL R9 1
- 0x8C2413AA, // 014A GETMET R9 R9 K170
- 0x882C07A8, // 014B GETMBR R11 R3 K168
- 0x88300990, // 014C GETMBR R12 R4 K144
+ 0x8C2413AB, // 014A GETMET R9 R9 K171
+ 0x882C07A9, // 014B GETMBR R11 R3 K169
+ 0x88300991, // 014C GETMBR R12 R4 K145
0x7C240600, // 014D CALL R9 3
- 0x900ECA09, // 014E SETMBR R3 K101 R9
+ 0x900ECC09, // 014E SETMBR R3 K102 R9
0xB8264C00, // 014F GETNGBL R9 K38
- 0x8824136C, // 0150 GETMBR R9 R9 K108
- 0x8C241374, // 0151 GETMET R9 R9 K116
+ 0x8824136D, // 0150 GETMBR R9 R9 K109
+ 0x8C241375, // 0151 GETMET R9 R9 K117
0x7C240200, // 0152 CALL R9 1
- 0x8C281375, // 0153 GETMET R10 R9 K117
+ 0x8C281376, // 0153 GETMET R10 R9 K118
0x58300025, // 0154 LDCONST R12 K37
0xB8364C00, // 0155 GETNGBL R13 K38
- 0x88341B6C, // 0156 GETMBR R13 R13 K108
- 0x88341BAB, // 0157 GETMBR R13 R13 K171
- 0x8C380FAC, // 0158 GETMET R14 R7 K172
+ 0x88341B6D, // 0156 GETMBR R13 R13 K109
+ 0x88341BAC, // 0157 GETMBR R13 R13 K172
+ 0x8C380FAD, // 0158 GETMET R14 R7 K173
0x7C380200, // 0159 CALL R14 1
0x7C280800, // 015A CALL R10 4
- 0x8C281375, // 015B GETMET R10 R9 K117
+ 0x8C281376, // 015B GETMET R10 R9 K118
0x58300022, // 015C LDCONST R12 K34
0xB8364C00, // 015D GETNGBL R13 K38
- 0x88341B6C, // 015E GETMBR R13 R13 K108
- 0x88341BAB, // 015F GETMBR R13 R13 K171
- 0x8C380FAD, // 0160 GETMET R14 R7 K173
+ 0x88341B6D, // 015E GETMBR R13 R13 K109
+ 0x88341BAC, // 015F GETMBR R13 R13 K172
+ 0x8C380FAE, // 0160 GETMET R14 R7 K174
0x7C380200, // 0161 CALL R14 1
0x7C280800, // 0162 CALL R10 4
- 0x8C281375, // 0163 GETMET R10 R9 K117
+ 0x8C281376, // 0163 GETMET R10 R9 K118
0x58300008, // 0164 LDCONST R12 K8
0xB8364C00, // 0165 GETNGBL R13 K38
- 0x88341B6C, // 0166 GETMBR R13 R13 K108
- 0x88341BAB, // 0167 GETMBR R13 R13 K171
- 0x88380778, // 0168 GETMBR R14 R3 K120
+ 0x88341B6D, // 0166 GETMBR R13 R13 K109
+ 0x88341BAC, // 0167 GETMBR R13 R13 K172
+ 0x88380779, // 0168 GETMBR R14 R3 K121
0x7C280800, // 0169 CALL R10 4
- 0x8C281375, // 016A GETMET R10 R9 K117
+ 0x8C281376, // 016A GETMET R10 R9 K118
0x54320003, // 016B LDINT R12 4
0xB8364C00, // 016C GETNGBL R13 K38
- 0x88341B6C, // 016D GETMBR R13 R13 K108
- 0x88341BAB, // 016E GETMBR R13 R13 K171
- 0x88380990, // 016F GETMBR R14 R4 K144
+ 0x88341B6D, // 016D GETMBR R13 R13 K109
+ 0x88341BAC, // 016E GETMBR R13 R13 K172
+ 0x88380991, // 016F GETMBR R14 R4 K145
0x7C280800, // 0170 CALL R10 4
- 0x8C280579, // 0171 GETMET R10 R2 K121
+ 0x8C28057A, // 0171 GETMET R10 R2 K122
0x7C280200, // 0172 CALL R10 1
- 0x8C2815AE, // 0173 GETMET R10 R10 K174
- 0x8C300FAF, // 0174 GETMET R12 R7 K175
+ 0x8C2815AF, // 0173 GETMET R10 R10 K175
+ 0x8C300FB0, // 0174 GETMET R12 R7 K176
0x7C300200, // 0175 CALL R12 1
- 0x8C34133D, // 0176 GETMET R13 R9 K61
+ 0x8C34133E, // 0176 GETMET R13 R9 K62
0x7C340200, // 0177 CALL R13 1
0x7C280600, // 0178 CALL R10 3
0xB82E4C00, // 0179 GETNGBL R11 K38
- 0x882C176C, // 017A GETMBR R11 R11 K108
- 0x8C2C1774, // 017B GETMET R11 R11 K116
+ 0x882C176D, // 017A GETMBR R11 R11 K109
+ 0x8C2C1775, // 017B GETMET R11 R11 K117
0x7C2C0200, // 017C CALL R11 1
- 0x8C301775, // 017D GETMET R12 R11 K117
+ 0x8C301776, // 017D GETMET R12 R11 K118
0x58380025, // 017E LDCONST R14 K37
0xB83E4C00, // 017F GETNGBL R15 K38
- 0x883C1F6C, // 0180 GETMBR R15 R15 K108
- 0x883C1FAB, // 0181 GETMBR R15 R15 K171
- 0x8C400FAC, // 0182 GETMET R16 R7 K172
+ 0x883C1F6D, // 0180 GETMBR R15 R15 K109
+ 0x883C1FAC, // 0181 GETMBR R15 R15 K172
+ 0x8C400FAD, // 0182 GETMET R16 R7 K173
0x7C400200, // 0183 CALL R16 1
0x7C300800, // 0184 CALL R12 4
- 0x8C301775, // 0185 GETMET R12 R11 K117
+ 0x8C301776, // 0185 GETMET R12 R11 K118
0x58380022, // 0186 LDCONST R14 K34
0xB83E4C00, // 0187 GETNGBL R15 K38
- 0x883C1F6C, // 0188 GETMBR R15 R15 K108
- 0x883C1FAB, // 0189 GETMBR R15 R15 K171
- 0x8C400FAD, // 018A GETMET R16 R7 K173
+ 0x883C1F6D, // 0188 GETMBR R15 R15 K109
+ 0x883C1FAC, // 0189 GETMBR R15 R15 K172
+ 0x8C400FAE, // 018A GETMET R16 R7 K174
0x7C400200, // 018B CALL R16 1
0x7C300800, // 018C CALL R12 4
- 0x8C301775, // 018D GETMET R12 R11 K117
+ 0x8C301776, // 018D GETMET R12 R11 K118
0x58380008, // 018E LDCONST R14 K8
0xB83E4C00, // 018F GETNGBL R15 K38
- 0x883C1F6C, // 0190 GETMBR R15 R15 K108
- 0x883C1FAB, // 0191 GETMBR R15 R15 K171
+ 0x883C1F6D, // 0190 GETMBR R15 R15 K109
+ 0x883C1FAC, // 0191 GETMBR R15 R15 K172
0x5C401400, // 0192 MOVE R16 R10
0x7C300800, // 0193 CALL R12 4
- 0x8C301775, // 0194 GETMET R12 R11 K117
+ 0x8C301776, // 0194 GETMET R12 R11 K118
0x543A0003, // 0195 LDINT R14 4
0xB83E4C00, // 0196 GETNGBL R15 K38
- 0x883C1F6C, // 0197 GETMBR R15 R15 K108
- 0x883C1FAB, // 0198 GETMBR R15 R15 K171
- 0x8840079C, // 0199 GETMBR R16 R3 K156
+ 0x883C1F6D, // 0197 GETMBR R15 R15 K109
+ 0x883C1FAC, // 0198 GETMBR R15 R15 K172
+ 0x8840079D, // 0199 GETMBR R16 R3 K157
0x7C300800, // 019A CALL R12 4
- 0x883009B0, // 019B GETMBR R12 R4 K176
+ 0x883009B1, // 019B GETMBR R12 R4 K177
0x900E540C, // 019C SETMBR R3 K42 R12
- 0x8C30054C, // 019D GETMET R12 R2 K76
+ 0x8C30054D, // 019D GETMET R12 R2 K77
0x7C300200, // 019E CALL R12 1
0x8C301916, // 019F GETMET R12 R12 K22
0x8838072A, // 01A0 GETMBR R14 R3 K42
@@ -1723,31 +1729,31 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */
0x7C300200, // 01A3 CALL R12 1
0x60340015, // 01A4 GETGBL R13 G21
0x7C340000, // 01A5 CALL R13 0
- 0x8C341B4D, // 01A6 GETMET R13 R13 K77
- 0x883C01B1, // 01A7 GETMBR R15 R0 K177
+ 0x8C341B4E, // 01A6 GETMET R13 R13 K78
+ 0x883C01B2, // 01A7 GETMBR R15 R0 K178
0x7C340400, // 01A8 CALL R13 2
0x8C380F14, // 01A9 GETMET R14 R7 K20
0x7C380200, // 01AA CALL R14 1
0x00381C08, // 01AB ADD R14 R14 R8
- 0x883C0778, // 01AC GETMBR R15 R3 K120
+ 0x883C0779, // 01AC GETMBR R15 R3 K121
0x00381C0F, // 01AD ADD R14 R14 R15
0x00381C0C, // 01AE ADD R14 R14 R12
- 0x8C3C055F, // 01AF GETMET R15 R2 K95
+ 0x8C3C0560, // 01AF GETMET R15 R2 K96
0x7C3C0200, // 01B0 CALL R15 1
- 0x8C3C1F60, // 01B1 GETMET R15 R15 K96
- 0x88440765, // 01B2 GETMBR R17 R3 K101
+ 0x8C3C1F61, // 01B1 GETMET R15 R15 K97
+ 0x88440766, // 01B2 GETMBR R17 R3 K102
0x5C481C00, // 01B3 MOVE R18 R14
0x5C4C1A00, // 01B4 MOVE R19 R13
0x5452000F, // 01B5 LDINT R20 16
0x7C3C0A00, // 01B6 CALL R15 5
- 0x8C40173D, // 01B7 GETMET R16 R11 K61
+ 0x8C40173E, // 01B7 GETMET R16 R11 K62
0x7C400200, // 01B8 CALL R16 1
- 0x8C440567, // 01B9 GETMET R17 R2 K103
+ 0x8C440568, // 01B9 GETMET R17 R2 K104
0x5C4C1E00, // 01BA MOVE R19 R15
0x60500015, // 01BB GETGBL R20 G21
0x7C500000, // 01BC CALL R20 0
- 0x8C50294D, // 01BD GETMET R20 R20 K77
- 0x885801B2, // 01BE GETMBR R22 R0 K178
+ 0x8C50294E, // 01BD GETMET R20 R20 K78
+ 0x885801B3, // 01BE GETMBR R22 R0 K179
0x7C500400, // 01BF CALL R20 2
0x60540015, // 01C0 GETGBL R21 G21
0x7C540000, // 01C1 CALL R21 0
@@ -1756,42 +1762,42 @@ be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */
0x7C580200, // 01C4 CALL R22 1
0x545E000F, // 01C5 LDINT R23 16
0x7C440C00, // 01C6 CALL R17 6
- 0x8C4823B3, // 01C7 GETMET R18 R17 K179
+ 0x8C4823B4, // 01C7 GETMET R18 R17 K180
0x5C502000, // 01C8 MOVE R20 R16
0x7C480400, // 01C9 CALL R18 2
- 0x8C4C236A, // 01CA GETMET R19 R17 K106
+ 0x8C4C236B, // 01CA GETMET R19 R17 K107
0x7C4C0200, // 01CB CALL R19 1
0x00482413, // 01CC ADD R18 R18 R19
0xB84E4C00, // 01CD GETNGBL R19 K38
- 0x8C4C27B4, // 01CE GETMET R19 R19 K180
+ 0x8C4C27B5, // 01CE GETMET R19 R19 K181
0x7C4C0200, // 01CF CALL R19 1
0x904E6C08, // 01D0 SETMBR R19 K54 R8
0x8850072F, // 01D1 GETMBR R20 R3 K47
0x904E7014, // 01D2 SETMBR R19 K56 R20
- 0x88500778, // 01D3 GETMBR R20 R3 K120
- 0x904F6A14, // 01D4 SETMBR R19 K181 R20
- 0x904F6C12, // 01D5 SETMBR R19 K182 R18
- 0x8C50273D, // 01D6 GETMET R20 R19 K61
+ 0x88500779, // 01D3 GETMBR R20 R3 K121
+ 0x904F6C14, // 01D4 SETMBR R19 K182 R20
+ 0x904F6E12, // 01D5 SETMBR R19 K183 R18
+ 0x8C50273E, // 01D6 GETMET R20 R19 K62
0x7C500200, // 01D7 CALL R20 1
- 0x900E7C14, // 01D8 SETMBR R3 K62 R20
- 0x8C54033F, // 01D9 GETMET R21 R1 K63
+ 0x900E7E14, // 01D8 SETMBR R3 K63 R20
+ 0x8C540340, // 01D9 GETMET R21 R1 K64
0x545E0030, // 01DA LDINT R23 49
0x50600200, // 01DB LDBOOL R24 1 0
0x7C540600, // 01DC CALL R21 3
- 0x8C582B40, // 01DD GETMET R22 R21 K64
+ 0x8C582B41, // 01DD GETMET R22 R21 K65
0x5C602800, // 01DE MOVE R24 R20
0x7C580400, // 01DF CALL R22 2
0xB85E0A00, // 01E0 GETNGBL R23 K5
0x60600018, // 01E1 GETGBL R24 G24
- 0x586400B7, // 01E2 LDCONST R25 K183
+ 0x586400B8, // 01E2 LDCONST R25 K184
0x8868072F, // 01E3 GETMBR R26 R3 K47
- 0x886C0759, // 01E4 GETMBR R27 R3 K89
- 0x8870075A, // 01E5 GETMBR R28 R3 K90
+ 0x886C075A, // 01E4 GETMBR R27 R3 K90
+ 0x8870075B, // 01E5 GETMBR R28 R3 K91
0x7C600800, // 01E6 CALL R24 4
0x58640022, // 01E7 LDCONST R25 K34
0x7C5C0400, // 01E8 CALL R23 2
- 0x885C0141, // 01E9 GETMBR R23 R0 K65
- 0x8C5C2F42, // 01EA GETMET R23 R23 K66
+ 0x885C0142, // 01E9 GETMBR R23 R0 K66
+ 0x8C5C2F43, // 01EA GETMET R23 R23 K67
0x5C642A00, // 01EB MOVE R25 R21
0x7C5C0400, // 01EC CALL R23 2
0x505C0200, // 01ED LDBOOL R23 1 0
diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Root.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Root.h
index c6b837e1d..57aa70d09 100644
--- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Root.h
+++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Root.h
@@ -3,8 +3,8 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
-// compact class 'Matter_Plugin_Root' ktab size: 172, total: 225 (saved 424 bytes)
-static const bvalue be_ktab_class_Matter_Plugin_Root[172] = {
+// compact class 'Matter_Plugin_Root' ktab size: 173, total: 227 (saved 432 bytes)
+static const bvalue be_ktab_class_Matter_Plugin_Root[173] = {
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
@@ -79,104 +79,105 @@ static const bvalue be_ktab_class_Matter_Plugin_Root[172] = {
/* K71 */ be_nested_str_weak(_MAX_CASE),
/* K72 */ be_nested_str_weak(count_active_fabrics),
/* K73 */ be_nested_str_weak(_fabric),
- /* K74 */ be_nested_str_weak(is_commissioning_open),
- /* K75 */ be_nested_str_weak(is_root_commissioning_open),
- /* K76 */ be_nested_str_weak(commissioning_admin_fabric),
- /* K77 */ be_nested_str_weak(set_or_nil),
- /* K78 */ be_nested_str_weak(Tasmota),
- /* K79 */ be_nested_str_weak(VENDOR_ID),
- /* K80 */ be_nested_str_weak(DeviceName),
- /* K81 */ be_nested_str_weak(FriendlyName),
- /* K82 */ be_nested_str_weak(FriendlyName1),
- /* K83 */ be_nested_str_weak(XX),
- /* K84 */ be_nested_str_weak(Status_X202),
- /* K85 */ be_nested_str_weak(StatusFWR),
- /* K86 */ be_nested_str_weak(Hardware),
- /* K87 */ be_nested_str_weak(version),
- /* K88 */ be_nested_str_weak(Version),
- /* K89 */ be_nested_str_weak(_X28),
- /* K90 */ be_nested_str_weak(locale),
- /* K91 */ be_nested_str_weak(create_TLV),
- /* K92 */ be_nested_str_weak(get_active_endpoints),
- /* K93 */ be_nested_str_weak(disable_bridge_mode),
- /* K94 */ be_nested_str_weak(AGGREGATOR_ENDPOINT),
- /* K95 */ be_nested_str_weak(read_attribute),
- /* K96 */ be_nested_str_weak(int),
- /* K97 */ be_nested_str_weak(attribute_updated),
- /* K98 */ be_nested_str_weak(status),
- /* K99 */ be_nested_str_weak(CONSTRAINT_ERROR),
- /* K100 */ be_nested_str_weak(INVALID_ACTION),
- /* K101 */ be_nested_str_weak(init),
- /* K102 */ be_nested_str_weak(publish_event),
- /* K103 */ be_nested_str_weak(EVENT_CRITICAL),
- /* K104 */ be_nested_str_weak(Matter_TLV_item),
- /* K105 */ be_nested_str_weak(crypto),
- /* K106 */ be_nested_str_weak(command),
- /* K107 */ be_nested_str_weak(fabric_completed),
- /* K108 */ be_nested_str_weak(set_no_expiration),
- /* K109 */ be_nested_str_weak(save),
- /* K110 */ be_nested_str_weak(start_commissioning_complete_deferred),
- /* K111 */ be_nested_str_weak(context_error),
- /* K112 */ be_nested_str_weak(CommissioningComplete_X3A_X20no_X20fabric_X20attached),
- /* K113 */ be_nested_str_weak(UNSUPPORTED_COMMAND),
- /* K114 */ be_nested_str_weak(DAC_Cert_FFF1_8000),
- /* K115 */ be_nested_str_weak(PAI_Cert_FFF1),
- /* K116 */ be_nested_str_weak(CD_FFF1_8000),
- /* K117 */ be_nested_str_weak(tlv2raw),
- /* K118 */ be_nested_str_weak(get_ac),
- /* K119 */ be_nested_str_weak(EC_P256),
- /* K120 */ be_nested_str_weak(ecdsa_sign_sha256),
- /* K121 */ be_nested_str_weak(DAC_Priv_FFF1_8000),
- /* K122 */ be_nested_str_weak(gen_CSR),
- /* K123 */ be_nested_str_weak(set_temp_ca),
- /* K124 */ be_nested_str_weak(SUCCESS),
- /* K125 */ be_nested_str_weak(log),
- /* K126 */ be_nested_str_weak(MTR_X3A_X20AddNoc_X20Args_X3D),
- /* K127 */ be_nested_str_weak(get_temp_ca),
- /* K128 */ be_nested_str_weak(MTR_X3A_X20Error_X3A_X20AdNOC_X20without_X20CA),
- /* K129 */ be_nested_str_weak(create_fabric),
- /* K130 */ be_nested_str_weak(set_ca),
- /* K131 */ be_nested_str_weak(set_noc_icac),
- /* K132 */ be_nested_str_weak(set_ipk_epoch_key),
- /* K133 */ be_nested_str_weak(set_admin_subject_vendor),
- /* K134 */ be_nested_str_weak(set_pk),
- /* K135 */ be_nested_str_weak(get_pk),
- /* K136 */ be_nested_str_weak(findsub),
- /* K137 */ be_nested_str_weak(MTR_X3A_X20Error_X3A_X20no_X20fabricid_X20nor_X20deviceid_X20in_X20NOC_X20certificate),
- /* K138 */ be_nested_str_weak(fromu32),
- /* K139 */ be_nested_str_weak(tobytes),
- /* K140 */ be_nested_str_weak(get_temp_ca_pub),
- /* K141 */ be_const_int(2147483647),
- /* K142 */ be_nested_str_weak(fromstring),
- /* K143 */ be_nested_str_weak(CompressedFabric),
- /* K144 */ be_nested_str_weak(HKDF_SHA256),
- /* K145 */ be_nested_str_weak(copy),
- /* K146 */ be_nested_str_weak(reverse),
- /* K147 */ be_nested_str_weak(derive),
- /* K148 */ be_nested_str_weak(set_fabric_device),
- /* K149 */ be_nested_str_weak(fabric_candidate),
- /* K150 */ be_nested_str_weak(start_operational_discovery_deferred),
- /* K151 */ be_nested_str_weak(is_PASE),
- /* K152 */ be_nested_str_weak(set_expire_in_seconds),
- /* K153 */ be_nested_str_weak(log_new_fabric),
- /* K154 */ be_nested_str_weak(assign_fabric_index),
- /* K155 */ be_nested_str_weak(set_fabric_label),
- /* K156 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Update_X20fabric_X20_X27_X25s_X27_X20label_X3D_X27_X25s_X27),
- /* K157 */ be_nested_str_weak(get_fabric_id),
- /* K158 */ be_nested_str_weak(tohex),
- /* K159 */ be_nested_str_weak(fabric_index_X3A),
- /* K160 */ be_nested_str_weak(mark_for_deletion),
- /* K161 */ be_nested_str_weak(set_timer),
- /* K162 */ be_nested_str_weak(MTR_X3A_X20RemoveFabric_X20fabric_X28),
- /* K163 */ be_nested_str_weak(_X29_X20not_X20found),
- /* K164 */ be_nested_str_weak(MTR_X3A_X20OpenCommissioningWindow_X28timeout_X3D_X25i_X2C_X20passcode_X3D_X25s_X2C_X20discriminator_X3D_X25i_X2C_X20iterations_X3D_X25i_X2C_X20salt_X3D_X25s_X29),
- /* K165 */ be_nested_str_weak(INVALID_DATA_TYPE),
- /* K166 */ be_nested_str_weak(MTR_X3A_X20wrong_X20size_X20for_X20PAKE_X20parameters),
- /* K167 */ be_nested_str_weak(start_basic_commissioning),
- /* K168 */ be_nested_str_weak(MTR_X3A_X20OpenBasicCommissioningWindow_X20commissioning_timeout_X3D),
- /* K169 */ be_nested_str_weak(start_root_basic_commissioning),
- /* K170 */ be_nested_str_weak(stop_basic_commissioning),
- /* K171 */ be_nested_str_weak(invoke_request),
+ /* K74 */ be_nested_str_weak(commissioning),
+ /* K75 */ be_nested_str_weak(is_commissioning_open),
+ /* K76 */ be_nested_str_weak(is_root_commissioning_open),
+ /* K77 */ be_nested_str_weak(commissioning_admin_fabric),
+ /* K78 */ be_nested_str_weak(set_or_nil),
+ /* K79 */ be_nested_str_weak(Tasmota),
+ /* K80 */ be_nested_str_weak(VENDOR_ID),
+ /* K81 */ be_nested_str_weak(DeviceName),
+ /* K82 */ be_nested_str_weak(FriendlyName),
+ /* K83 */ be_nested_str_weak(FriendlyName1),
+ /* K84 */ be_nested_str_weak(XX),
+ /* K85 */ be_nested_str_weak(Status_X202),
+ /* K86 */ be_nested_str_weak(StatusFWR),
+ /* K87 */ be_nested_str_weak(Hardware),
+ /* K88 */ be_nested_str_weak(version),
+ /* K89 */ be_nested_str_weak(Version),
+ /* K90 */ be_nested_str_weak(_X28),
+ /* K91 */ be_nested_str_weak(locale),
+ /* K92 */ be_nested_str_weak(create_TLV),
+ /* K93 */ be_nested_str_weak(get_active_endpoints),
+ /* K94 */ be_nested_str_weak(disable_bridge_mode),
+ /* K95 */ be_nested_str_weak(AGGREGATOR_ENDPOINT),
+ /* K96 */ be_nested_str_weak(read_attribute),
+ /* K97 */ be_nested_str_weak(int),
+ /* K98 */ be_nested_str_weak(attribute_updated),
+ /* K99 */ be_nested_str_weak(status),
+ /* K100 */ be_nested_str_weak(CONSTRAINT_ERROR),
+ /* K101 */ be_nested_str_weak(INVALID_ACTION),
+ /* K102 */ be_nested_str_weak(init),
+ /* K103 */ be_nested_str_weak(publish_event),
+ /* K104 */ be_nested_str_weak(EVENT_CRITICAL),
+ /* K105 */ be_nested_str_weak(Matter_TLV_item),
+ /* K106 */ be_nested_str_weak(crypto),
+ /* K107 */ be_nested_str_weak(command),
+ /* K108 */ be_nested_str_weak(fabric_completed),
+ /* K109 */ be_nested_str_weak(set_no_expiration),
+ /* K110 */ be_nested_str_weak(save),
+ /* K111 */ be_nested_str_weak(start_commissioning_complete_deferred),
+ /* K112 */ be_nested_str_weak(context_error),
+ /* K113 */ be_nested_str_weak(CommissioningComplete_X3A_X20no_X20fabric_X20attached),
+ /* K114 */ be_nested_str_weak(UNSUPPORTED_COMMAND),
+ /* K115 */ be_nested_str_weak(DAC_Cert_FFF1_8000),
+ /* K116 */ be_nested_str_weak(PAI_Cert_FFF1),
+ /* K117 */ be_nested_str_weak(CD_FFF1_8000),
+ /* K118 */ be_nested_str_weak(tlv2raw),
+ /* K119 */ be_nested_str_weak(get_ac),
+ /* K120 */ be_nested_str_weak(EC_P256),
+ /* K121 */ be_nested_str_weak(ecdsa_sign_sha256),
+ /* K122 */ be_nested_str_weak(DAC_Priv_FFF1_8000),
+ /* K123 */ be_nested_str_weak(gen_CSR),
+ /* K124 */ be_nested_str_weak(set_temp_ca),
+ /* K125 */ be_nested_str_weak(SUCCESS),
+ /* K126 */ be_nested_str_weak(log),
+ /* K127 */ be_nested_str_weak(MTR_X3A_X20AddNoc_X20Args_X3D),
+ /* K128 */ be_nested_str_weak(get_temp_ca),
+ /* K129 */ be_nested_str_weak(MTR_X3A_X20Error_X3A_X20AdNOC_X20without_X20CA),
+ /* K130 */ be_nested_str_weak(create_fabric),
+ /* K131 */ be_nested_str_weak(set_ca),
+ /* K132 */ be_nested_str_weak(set_noc_icac),
+ /* K133 */ be_nested_str_weak(set_ipk_epoch_key),
+ /* K134 */ be_nested_str_weak(set_admin_subject_vendor),
+ /* K135 */ be_nested_str_weak(set_pk),
+ /* K136 */ be_nested_str_weak(get_pk),
+ /* K137 */ be_nested_str_weak(findsub),
+ /* K138 */ be_nested_str_weak(MTR_X3A_X20Error_X3A_X20no_X20fabricid_X20nor_X20deviceid_X20in_X20NOC_X20certificate),
+ /* K139 */ be_nested_str_weak(fromu32),
+ /* K140 */ be_nested_str_weak(tobytes),
+ /* K141 */ be_nested_str_weak(get_temp_ca_pub),
+ /* K142 */ be_const_int(2147483647),
+ /* K143 */ be_nested_str_weak(fromstring),
+ /* K144 */ be_nested_str_weak(CompressedFabric),
+ /* K145 */ be_nested_str_weak(HKDF_SHA256),
+ /* K146 */ be_nested_str_weak(copy),
+ /* K147 */ be_nested_str_weak(reverse),
+ /* K148 */ be_nested_str_weak(derive),
+ /* K149 */ be_nested_str_weak(set_fabric_device),
+ /* K150 */ be_nested_str_weak(fabric_candidate),
+ /* K151 */ be_nested_str_weak(start_operational_discovery_deferred),
+ /* K152 */ be_nested_str_weak(is_PASE),
+ /* K153 */ be_nested_str_weak(set_expire_in_seconds),
+ /* K154 */ be_nested_str_weak(log_new_fabric),
+ /* K155 */ be_nested_str_weak(assign_fabric_index),
+ /* K156 */ be_nested_str_weak(set_fabric_label),
+ /* K157 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Update_X20fabric_X20_X27_X25s_X27_X20label_X3D_X27_X25s_X27),
+ /* K158 */ be_nested_str_weak(get_fabric_id),
+ /* K159 */ be_nested_str_weak(tohex),
+ /* K160 */ be_nested_str_weak(fabric_index_X3A),
+ /* K161 */ be_nested_str_weak(mark_for_deletion),
+ /* K162 */ be_nested_str_weak(set_timer),
+ /* K163 */ be_nested_str_weak(MTR_X3A_X20RemoveFabric_X20fabric_X28),
+ /* K164 */ be_nested_str_weak(_X29_X20not_X20found),
+ /* K165 */ be_nested_str_weak(MTR_X3A_X20OpenCommissioningWindow_X28timeout_X3D_X25i_X2C_X20passcode_X3D_X25s_X2C_X20discriminator_X3D_X25i_X2C_X20iterations_X3D_X25i_X2C_X20salt_X3D_X25s_X29),
+ /* K166 */ be_nested_str_weak(INVALID_DATA_TYPE),
+ /* K167 */ be_nested_str_weak(MTR_X3A_X20wrong_X20size_X20for_X20PAKE_X20parameters),
+ /* K168 */ be_nested_str_weak(start_basic_commissioning),
+ /* K169 */ be_nested_str_weak(MTR_X3A_X20OpenBasicCommissioningWindow_X20commissioning_timeout_X3D),
+ /* K170 */ be_nested_str_weak(start_root_basic_commissioning),
+ /* K171 */ be_nested_str_weak(stop_basic_commissioning),
+ /* K172 */ be_nested_str_weak(invoke_request),
};
@@ -198,7 +199,7 @@ be_local_closure(class_Matter_Plugin_Root_read_attribute, /* name */
&be_ktab_class_Matter_Plugin_Root, /* shared constants */
be_str_weak(read_attribute),
&be_const_str_solidified,
- ( &(const binstruction[926]) { /* code */
+ ( &(const binstruction[930]) { /* code */
0xA4120000, // 0000 IMPORT R4 K0
0xB8160200, // 0001 GETNGBL R5 K1
0x88140B02, // 0002 GETMBR R5 R5 K2
@@ -255,11 +256,11 @@ be_local_closure(class_Matter_Plugin_Root_read_attribute, /* name */
0x502C0000, // 0035 LDBOOL R11 0 0
0x7C200600, // 0036 CALL R8 3
0x80041000, // 0037 RET 1 R8
- 0x7002035B, // 0038 JMP #0395
+ 0x7002035F, // 0038 JMP #0399
0x54220031, // 0039 LDINT R8 50
0x1C200C08, // 003A EQ R8 R6 R8
0x78220000, // 003B JMPF R8 #003D
- 0x70020357, // 003C JMP #0395
+ 0x7002035B, // 003C JMP #0399
0x54220032, // 003D LDINT R8 51
0x1C200C08, // 003E EQ R8 R6 R8
0x782200DC, // 003F JMPF R8 #011D
@@ -483,11 +484,11 @@ be_local_closure(class_Matter_Plugin_Root_read_attribute, /* name */
0x502C0000, // 0119 LDBOOL R11 0 0
0x7C200600, // 011A CALL R8 3
0x80041000, // 011B RET 1 R8
- 0x70020277, // 011C JMP #0395
+ 0x7002027B, // 011C JMP #0399
0x54220033, // 011D LDINT R8 52
0x1C200C08, // 011E EQ R8 R6 R8
0x78220000, // 011F JMPF R8 #0121
- 0x70020273, // 0120 JMP #0395
+ 0x70020277, // 0120 JMP #0399
0x54220037, // 0121 LDINT R8 56
0x1C200C08, // 0122 EQ R8 R6 R8
0x7822002B, // 0123 JMPF R8 #0150
@@ -534,7 +535,7 @@ be_local_closure(class_Matter_Plugin_Root_read_attribute, /* name */
0x5C301000, // 014C MOVE R12 R8
0x7C240600, // 014D CALL R9 3
0x80041200, // 014E RET 1 R9
- 0x70020244, // 014F JMP #0395
+ 0x70020248, // 014F JMP #0399
0x5422003D, // 0150 LDINT R8 62
0x1C200C08, // 0151 EQ R8 R6 R8
0x782200B5, // 0152 JMPF R8 #0209
@@ -719,412 +720,416 @@ be_local_closure(class_Matter_Plugin_Root_read_attribute, /* name */
0x5C301000, // 0205 MOVE R12 R8
0x7C240600, // 0206 CALL R9 3
0x80041200, // 0207 RET 1 R9
- 0x7002018B, // 0208 JMP #0395
+ 0x7002018F, // 0208 JMP #0399
0x5422003B, // 0209 LDINT R8 60
0x1C200C08, // 020A EQ R8 R6 R8
- 0x78220030, // 020B JMPF R8 #023D
+ 0x78220034, // 020B JMPF R8 #0241
0x1C200F05, // 020C EQ R8 R7 K5
- 0x78220012, // 020D JMPF R8 #0221
+ 0x78220014, // 020D JMPF R8 #0223
0x88200136, // 020E GETMBR R8 R0 K54
- 0x8C20114A, // 020F GETMET R8 R8 K74
- 0x7C200200, // 0210 CALL R8 1
- 0x88240136, // 0211 GETMBR R9 R0 K54
- 0x8C24134B, // 0212 GETMET R9 R9 K75
- 0x7C240200, // 0213 CALL R9 1
- 0x78220004, // 0214 JMPF R8 #021A
- 0x78260001, // 0215 JMPF R9 #0218
- 0x5828000D, // 0216 LDCONST R10 K13
- 0x70020000, // 0217 JMP #0219
- 0x58280009, // 0218 LDCONST R10 K9
+ 0x8820114A, // 020F GETMBR R8 R8 K74
+ 0x8C20114B, // 0210 GETMET R8 R8 K75
+ 0x7C200200, // 0211 CALL R8 1
+ 0x88240136, // 0212 GETMBR R9 R0 K54
+ 0x8824134A, // 0213 GETMBR R9 R9 K74
+ 0x8C24134C, // 0214 GETMET R9 R9 K76
+ 0x7C240200, // 0215 CALL R9 1
+ 0x78220004, // 0216 JMPF R8 #021C
+ 0x78260001, // 0217 JMPF R9 #021A
+ 0x5828000D, // 0218 LDCONST R10 K13
0x70020000, // 0219 JMP #021B
- 0x58280005, // 021A LDCONST R10 K5
- 0x8C2C0706, // 021B GETMET R11 R3 K6
- 0x88340B0E, // 021C GETMBR R13 R5 K14
- 0x5C381400, // 021D MOVE R14 R10
- 0x7C2C0600, // 021E CALL R11 3
- 0x80041600, // 021F RET 1 R11
- 0x7002001A, // 0220 JMP #023C
- 0x1C200F09, // 0221 EQ R8 R7 K9
- 0x7822000B, // 0222 JMPF R8 #022F
- 0x88200136, // 0223 GETMBR R8 R0 K54
- 0x8820114C, // 0224 GETMBR R8 R8 K76
- 0x4C240000, // 0225 LDNIL R9
- 0x20241009, // 0226 NE R9 R8 R9
- 0x78260005, // 0227 JMPF R9 #022E
- 0x8C24074D, // 0228 GETMET R9 R3 K77
- 0x882C0B0C, // 0229 GETMBR R11 R5 K12
- 0x8C30113D, // 022A GETMET R12 R8 K61
- 0x7C300200, // 022B CALL R12 1
- 0x7C240600, // 022C CALL R9 3
- 0x80041200, // 022D RET 1 R9
- 0x7002000C, // 022E JMP #023C
- 0x1C200F0D, // 022F EQ R8 R7 K13
- 0x7822000A, // 0230 JMPF R8 #023C
- 0x88200136, // 0231 GETMBR R8 R0 K54
- 0x8820114C, // 0232 GETMBR R8 R8 K76
- 0x4C240000, // 0233 LDNIL R9
- 0x20241009, // 0234 NE R9 R8 R9
- 0x78260005, // 0235 JMPF R9 #023C
- 0x8C24074D, // 0236 GETMET R9 R3 K77
- 0x882C0B0C, // 0237 GETMBR R11 R5 K12
- 0x8C301142, // 0238 GETMET R12 R8 K66
- 0x7C300200, // 0239 CALL R12 1
- 0x7C240600, // 023A CALL R9 3
- 0x80041200, // 023B RET 1 R9
- 0x70020157, // 023C JMP #0395
- 0x54220027, // 023D LDINT R8 40
- 0x1C200C08, // 023E EQ R8 R6 R8
- 0x782200BC, // 023F JMPF R8 #02FD
- 0x8C200133, // 0240 GETMET R8 R0 K51
- 0x5C280400, // 0241 MOVE R10 R2
- 0x7C200400, // 0242 CALL R8 2
- 0x1C200F05, // 0243 EQ R8 R7 K5
- 0x78220005, // 0244 JMPF R8 #024B
- 0x8C200706, // 0245 GETMET R8 R3 K6
- 0x88280B0C, // 0246 GETMBR R10 R5 K12
- 0x582C0009, // 0247 LDCONST R11 K9
- 0x7C200600, // 0248 CALL R8 3
- 0x80041000, // 0249 RET 1 R8
- 0x700200B0, // 024A JMP #02FC
- 0x1C200F09, // 024B EQ R8 R7 K9
- 0x78220005, // 024C JMPF R8 #0253
- 0x8C200706, // 024D GETMET R8 R3 K6
- 0x88280B16, // 024E GETMBR R10 R5 K22
- 0x582C004E, // 024F LDCONST R11 K78
- 0x7C200600, // 0250 CALL R8 3
- 0x80041000, // 0251 RET 1 R8
- 0x700200A8, // 0252 JMP #02FC
- 0x1C200F0D, // 0253 EQ R8 R7 K13
- 0x78220006, // 0254 JMPF R8 #025C
- 0x8C200706, // 0255 GETMET R8 R3 K6
- 0x88280B0C, // 0256 GETMBR R10 R5 K12
- 0x882C0136, // 0257 GETMBR R11 R0 K54
- 0x882C174F, // 0258 GETMBR R11 R11 K79
- 0x7C200600, // 0259 CALL R8 3
- 0x80041000, // 025A RET 1 R8
- 0x7002009F, // 025B JMP #02FC
- 0x1C200F0F, // 025C EQ R8 R7 K15
- 0x7822000A, // 025D JMPF R8 #0269
- 0x8C200706, // 025E GETMET R8 R3 K6
- 0x88280B16, // 025F GETMBR R10 R5 K22
- 0xB82E2400, // 0260 GETNGBL R11 K18
- 0x8C2C1726, // 0261 GETMET R11 R11 K38
- 0x58340050, // 0262 LDCONST R13 K80
- 0x50380200, // 0263 LDBOOL R14 1 0
- 0x7C2C0600, // 0264 CALL R11 3
- 0x942C1750, // 0265 GETIDX R11 R11 K80
- 0x7C200600, // 0266 CALL R8 3
- 0x80041000, // 0267 RET 1 R8
- 0x70020092, // 0268 JMP #02FC
- 0x54220003, // 0269 LDINT R8 4
- 0x1C200E08, // 026A EQ R8 R7 R8
- 0x78220005, // 026B JMPF R8 #0272
- 0x8C200706, // 026C GETMET R8 R3 K6
- 0x88280B0C, // 026D GETMBR R10 R5 K12
- 0x542E7FFF, // 026E LDINT R11 32768
- 0x7C200600, // 026F CALL R8 3
- 0x80041000, // 0270 RET 1 R8
- 0x70020089, // 0271 JMP #02FC
- 0x54220004, // 0272 LDINT R8 5
- 0x1C200E08, // 0273 EQ R8 R7 R8
- 0x7822000A, // 0274 JMPF R8 #0280
- 0x8C200706, // 0275 GETMET R8 R3 K6
- 0x88280B16, // 0276 GETMBR R10 R5 K22
- 0xB82E2400, // 0277 GETNGBL R11 K18
- 0x8C2C1726, // 0278 GETMET R11 R11 K38
- 0x58340051, // 0279 LDCONST R13 K81
- 0x50380200, // 027A LDBOOL R14 1 0
- 0x7C2C0600, // 027B CALL R11 3
- 0x942C1752, // 027C GETIDX R11 R11 K82
- 0x7C200600, // 027D CALL R8 3
- 0x80041000, // 027E RET 1 R8
- 0x7002007B, // 027F JMP #02FC
- 0x54220005, // 0280 LDINT R8 6
- 0x1C200E08, // 0281 EQ R8 R7 R8
- 0x78220005, // 0282 JMPF R8 #0289
- 0x8C200706, // 0283 GETMET R8 R3 K6
- 0x88280B16, // 0284 GETMBR R10 R5 K22
- 0x582C0053, // 0285 LDCONST R11 K83
- 0x7C200600, // 0286 CALL R8 3
- 0x80041000, // 0287 RET 1 R8
- 0x70020072, // 0288 JMP #02FC
- 0x54220006, // 0289 LDINT R8 7
- 0x1C200E08, // 028A EQ R8 R7 R8
- 0x78220005, // 028B JMPF R8 #0292
- 0x8C200706, // 028C GETMET R8 R3 K6
- 0x88280B0C, // 028D GETMBR R10 R5 K12
- 0x582C0005, // 028E LDCONST R11 K5
- 0x7C200600, // 028F CALL R8 3
- 0x80041000, // 0290 RET 1 R8
- 0x70020069, // 0291 JMP #02FC
- 0x54220007, // 0292 LDINT R8 8
- 0x1C200E08, // 0293 EQ R8 R7 R8
- 0x7822000B, // 0294 JMPF R8 #02A1
- 0x8C200706, // 0295 GETMET R8 R3 K6
- 0x88280B16, // 0296 GETMBR R10 R5 K22
- 0xB82E2400, // 0297 GETNGBL R11 K18
- 0x8C2C1726, // 0298 GETMET R11 R11 K38
- 0x58340054, // 0299 LDCONST R13 K84
- 0x50380200, // 029A LDBOOL R14 1 0
- 0x7C2C0600, // 029B CALL R11 3
- 0x942C1755, // 029C GETIDX R11 R11 K85
- 0x942C1756, // 029D GETIDX R11 R11 K86
- 0x7C200600, // 029E CALL R8 3
- 0x80041000, // 029F RET 1 R8
- 0x7002005A, // 02A0 JMP #02FC
- 0x54220008, // 02A1 LDINT R8 9
- 0x1C200E08, // 02A2 EQ R8 R7 R8
- 0x78220007, // 02A3 JMPF R8 #02AC
- 0x8C200706, // 02A4 GETMET R8 R3 K6
- 0x88280B2A, // 02A5 GETMBR R10 R5 K42
- 0xB82E2400, // 02A6 GETNGBL R11 K18
- 0x8C2C1757, // 02A7 GETMET R11 R11 K87
- 0x7C2C0200, // 02A8 CALL R11 1
- 0x7C200600, // 02A9 CALL R8 3
- 0x80041000, // 02AA RET 1 R8
- 0x7002004F, // 02AB JMP #02FC
- 0x54220009, // 02AC LDINT R8 10
- 0x1C200E08, // 02AD EQ R8 R7 R8
- 0x78220015, // 02AE JMPF R8 #02C5
- 0xB8222400, // 02AF GETNGBL R8 K18
- 0x8C201126, // 02B0 GETMET R8 R8 K38
- 0x58280054, // 02B1 LDCONST R10 K84
- 0x502C0200, // 02B2 LDBOOL R11 1 0
- 0x7C200600, // 02B3 CALL R8 3
- 0x94201155, // 02B4 GETIDX R8 R8 K85
- 0x94201158, // 02B5 GETIDX R8 R8 K88
- 0x8C24091B, // 02B6 GETMET R9 R4 K27
- 0x5C2C1000, // 02B7 MOVE R11 R8
- 0x58300059, // 02B8 LDCONST R12 K89
- 0x7C240600, // 02B9 CALL R9 3
- 0x24281305, // 02BA GT R10 R9 K5
- 0x782A0002, // 02BB JMPF R10 #02BF
- 0x04281309, // 02BC SUB R10 R9 K9
- 0x402A0A0A, // 02BD CONNECT R10 K5 R10
- 0x9420100A, // 02BE GETIDX R8 R8 R10
- 0x8C280706, // 02BF GETMET R10 R3 K6
- 0x88300B16, // 02C0 GETMBR R12 R5 K22
- 0x5C341000, // 02C1 MOVE R13 R8
- 0x7C280600, // 02C2 CALL R10 3
- 0x80041400, // 02C3 RET 1 R10
- 0x70020036, // 02C4 JMP #02FC
- 0x5422000E, // 02C5 LDINT R8 15
- 0x1C200E08, // 02C6 EQ R8 R7 R8
- 0x7822000B, // 02C7 JMPF R8 #02D4
- 0x8C200706, // 02C8 GETMET R8 R3 K6
- 0x88280B16, // 02C9 GETMBR R10 R5 K22
- 0xB82E2400, // 02CA GETNGBL R11 K18
- 0x8C2C1725, // 02CB GETMET R11 R11 K37
- 0x7C2C0200, // 02CC CALL R11 1
- 0x8C2C171B, // 02CD GETMET R11 R11 K27
- 0x5834001C, // 02CE LDCONST R13 K28
- 0x5838001D, // 02CF LDCONST R14 K29
- 0x7C2C0600, // 02D0 CALL R11 3
- 0x7C200600, // 02D1 CALL R8 3
- 0x80041000, // 02D2 RET 1 R8
- 0x70020027, // 02D3 JMP #02FC
- 0x54220010, // 02D4 LDINT R8 17
- 0x1C200E08, // 02D5 EQ R8 R7 R8
- 0x78220005, // 02D6 JMPF R8 #02DD
- 0x8C200706, // 02D7 GETMET R8 R3 K6
- 0x88280B10, // 02D8 GETMBR R10 R5 K16
- 0x582C0009, // 02D9 LDCONST R11 K9
- 0x7C200600, // 02DA CALL R8 3
- 0x80041000, // 02DB RET 1 R8
- 0x7002001E, // 02DC JMP #02FC
- 0x54220011, // 02DD LDINT R8 18
- 0x1C200E08, // 02DE EQ R8 R7 R8
- 0x7822000B, // 02DF JMPF R8 #02EC
- 0x8C200706, // 02E0 GETMET R8 R3 K6
- 0x88280B16, // 02E1 GETMBR R10 R5 K22
- 0xB82E2400, // 02E2 GETNGBL R11 K18
- 0x8C2C1725, // 02E3 GETMET R11 R11 K37
- 0x7C2C0200, // 02E4 CALL R11 1
- 0x8C2C171B, // 02E5 GETMET R11 R11 K27
- 0x5834001C, // 02E6 LDCONST R13 K28
- 0x5838001D, // 02E7 LDCONST R14 K29
- 0x7C2C0600, // 02E8 CALL R11 3
- 0x7C200600, // 02E9 CALL R8 3
- 0x80041000, // 02EA RET 1 R8
- 0x7002000F, // 02EB JMP #02FC
- 0x54220012, // 02EC LDINT R8 19
- 0x1C200E08, // 02ED EQ R8 R7 R8
- 0x7822000C, // 02EE JMPF R8 #02FC
- 0x8C200B0A, // 02EF GETMET R8 R5 K10
- 0x7C200200, // 02F0 CALL R8 1
- 0x8C24110B, // 02F1 GETMET R9 R8 K11
- 0x582C0005, // 02F2 LDCONST R11 K5
- 0x88300B0C, // 02F3 GETMBR R12 R5 K12
- 0x5834000F, // 02F4 LDCONST R13 K15
- 0x7C240800, // 02F5 CALL R9 4
- 0x8C24110B, // 02F6 GETMET R9 R8 K11
- 0x582C0009, // 02F7 LDCONST R11 K9
- 0x88300B0C, // 02F8 GETMBR R12 R5 K12
- 0x5834000F, // 02F9 LDCONST R13 K15
- 0x7C240800, // 02FA CALL R9 4
- 0x80041000, // 02FB RET 1 R8
- 0x70020097, // 02FC JMP #0395
- 0x5422003E, // 02FD LDINT R8 63
- 0x1C200C08, // 02FE EQ R8 R6 R8
- 0x78220000, // 02FF JMPF R8 #0301
- 0x70020093, // 0300 JMP #0395
- 0x54220029, // 0301 LDINT R8 42
+ 0x58280009, // 021A LDCONST R10 K9
+ 0x70020000, // 021B JMP #021D
+ 0x58280005, // 021C LDCONST R10 K5
+ 0x8C2C0706, // 021D GETMET R11 R3 K6
+ 0x88340B0E, // 021E GETMBR R13 R5 K14
+ 0x5C381400, // 021F MOVE R14 R10
+ 0x7C2C0600, // 0220 CALL R11 3
+ 0x80041600, // 0221 RET 1 R11
+ 0x7002001C, // 0222 JMP #0240
+ 0x1C200F09, // 0223 EQ R8 R7 K9
+ 0x7822000C, // 0224 JMPF R8 #0232
+ 0x88200136, // 0225 GETMBR R8 R0 K54
+ 0x8820114A, // 0226 GETMBR R8 R8 K74
+ 0x8820114D, // 0227 GETMBR R8 R8 K77
+ 0x4C240000, // 0228 LDNIL R9
+ 0x20241009, // 0229 NE R9 R8 R9
+ 0x78260005, // 022A JMPF R9 #0231
+ 0x8C24074E, // 022B GETMET R9 R3 K78
+ 0x882C0B0C, // 022C GETMBR R11 R5 K12
+ 0x8C30113D, // 022D GETMET R12 R8 K61
+ 0x7C300200, // 022E CALL R12 1
+ 0x7C240600, // 022F CALL R9 3
+ 0x80041200, // 0230 RET 1 R9
+ 0x7002000D, // 0231 JMP #0240
+ 0x1C200F0D, // 0232 EQ R8 R7 K13
+ 0x7822000B, // 0233 JMPF R8 #0240
+ 0x88200136, // 0234 GETMBR R8 R0 K54
+ 0x8820114A, // 0235 GETMBR R8 R8 K74
+ 0x8820114D, // 0236 GETMBR R8 R8 K77
+ 0x4C240000, // 0237 LDNIL R9
+ 0x20241009, // 0238 NE R9 R8 R9
+ 0x78260005, // 0239 JMPF R9 #0240
+ 0x8C24074E, // 023A GETMET R9 R3 K78
+ 0x882C0B0C, // 023B GETMBR R11 R5 K12
+ 0x8C301142, // 023C GETMET R12 R8 K66
+ 0x7C300200, // 023D CALL R12 1
+ 0x7C240600, // 023E CALL R9 3
+ 0x80041200, // 023F RET 1 R9
+ 0x70020157, // 0240 JMP #0399
+ 0x54220027, // 0241 LDINT R8 40
+ 0x1C200C08, // 0242 EQ R8 R6 R8
+ 0x782200BC, // 0243 JMPF R8 #0301
+ 0x8C200133, // 0244 GETMET R8 R0 K51
+ 0x5C280400, // 0245 MOVE R10 R2
+ 0x7C200400, // 0246 CALL R8 2
+ 0x1C200F05, // 0247 EQ R8 R7 K5
+ 0x78220005, // 0248 JMPF R8 #024F
+ 0x8C200706, // 0249 GETMET R8 R3 K6
+ 0x88280B0C, // 024A GETMBR R10 R5 K12
+ 0x582C0009, // 024B LDCONST R11 K9
+ 0x7C200600, // 024C CALL R8 3
+ 0x80041000, // 024D RET 1 R8
+ 0x700200B0, // 024E JMP #0300
+ 0x1C200F09, // 024F EQ R8 R7 K9
+ 0x78220005, // 0250 JMPF R8 #0257
+ 0x8C200706, // 0251 GETMET R8 R3 K6
+ 0x88280B16, // 0252 GETMBR R10 R5 K22
+ 0x582C004F, // 0253 LDCONST R11 K79
+ 0x7C200600, // 0254 CALL R8 3
+ 0x80041000, // 0255 RET 1 R8
+ 0x700200A8, // 0256 JMP #0300
+ 0x1C200F0D, // 0257 EQ R8 R7 K13
+ 0x78220006, // 0258 JMPF R8 #0260
+ 0x8C200706, // 0259 GETMET R8 R3 K6
+ 0x88280B0C, // 025A GETMBR R10 R5 K12
+ 0x882C0136, // 025B GETMBR R11 R0 K54
+ 0x882C1750, // 025C GETMBR R11 R11 K80
+ 0x7C200600, // 025D CALL R8 3
+ 0x80041000, // 025E RET 1 R8
+ 0x7002009F, // 025F JMP #0300
+ 0x1C200F0F, // 0260 EQ R8 R7 K15
+ 0x7822000A, // 0261 JMPF R8 #026D
+ 0x8C200706, // 0262 GETMET R8 R3 K6
+ 0x88280B16, // 0263 GETMBR R10 R5 K22
+ 0xB82E2400, // 0264 GETNGBL R11 K18
+ 0x8C2C1726, // 0265 GETMET R11 R11 K38
+ 0x58340051, // 0266 LDCONST R13 K81
+ 0x50380200, // 0267 LDBOOL R14 1 0
+ 0x7C2C0600, // 0268 CALL R11 3
+ 0x942C1751, // 0269 GETIDX R11 R11 K81
+ 0x7C200600, // 026A CALL R8 3
+ 0x80041000, // 026B RET 1 R8
+ 0x70020092, // 026C JMP #0300
+ 0x54220003, // 026D LDINT R8 4
+ 0x1C200E08, // 026E EQ R8 R7 R8
+ 0x78220005, // 026F JMPF R8 #0276
+ 0x8C200706, // 0270 GETMET R8 R3 K6
+ 0x88280B0C, // 0271 GETMBR R10 R5 K12
+ 0x542E7FFF, // 0272 LDINT R11 32768
+ 0x7C200600, // 0273 CALL R8 3
+ 0x80041000, // 0274 RET 1 R8
+ 0x70020089, // 0275 JMP #0300
+ 0x54220004, // 0276 LDINT R8 5
+ 0x1C200E08, // 0277 EQ R8 R7 R8
+ 0x7822000A, // 0278 JMPF R8 #0284
+ 0x8C200706, // 0279 GETMET R8 R3 K6
+ 0x88280B16, // 027A GETMBR R10 R5 K22
+ 0xB82E2400, // 027B GETNGBL R11 K18
+ 0x8C2C1726, // 027C GETMET R11 R11 K38
+ 0x58340052, // 027D LDCONST R13 K82
+ 0x50380200, // 027E LDBOOL R14 1 0
+ 0x7C2C0600, // 027F CALL R11 3
+ 0x942C1753, // 0280 GETIDX R11 R11 K83
+ 0x7C200600, // 0281 CALL R8 3
+ 0x80041000, // 0282 RET 1 R8
+ 0x7002007B, // 0283 JMP #0300
+ 0x54220005, // 0284 LDINT R8 6
+ 0x1C200E08, // 0285 EQ R8 R7 R8
+ 0x78220005, // 0286 JMPF R8 #028D
+ 0x8C200706, // 0287 GETMET R8 R3 K6
+ 0x88280B16, // 0288 GETMBR R10 R5 K22
+ 0x582C0054, // 0289 LDCONST R11 K84
+ 0x7C200600, // 028A CALL R8 3
+ 0x80041000, // 028B RET 1 R8
+ 0x70020072, // 028C JMP #0300
+ 0x54220006, // 028D LDINT R8 7
+ 0x1C200E08, // 028E EQ R8 R7 R8
+ 0x78220005, // 028F JMPF R8 #0296
+ 0x8C200706, // 0290 GETMET R8 R3 K6
+ 0x88280B0C, // 0291 GETMBR R10 R5 K12
+ 0x582C0005, // 0292 LDCONST R11 K5
+ 0x7C200600, // 0293 CALL R8 3
+ 0x80041000, // 0294 RET 1 R8
+ 0x70020069, // 0295 JMP #0300
+ 0x54220007, // 0296 LDINT R8 8
+ 0x1C200E08, // 0297 EQ R8 R7 R8
+ 0x7822000B, // 0298 JMPF R8 #02A5
+ 0x8C200706, // 0299 GETMET R8 R3 K6
+ 0x88280B16, // 029A GETMBR R10 R5 K22
+ 0xB82E2400, // 029B GETNGBL R11 K18
+ 0x8C2C1726, // 029C GETMET R11 R11 K38
+ 0x58340055, // 029D LDCONST R13 K85
+ 0x50380200, // 029E LDBOOL R14 1 0
+ 0x7C2C0600, // 029F CALL R11 3
+ 0x942C1756, // 02A0 GETIDX R11 R11 K86
+ 0x942C1757, // 02A1 GETIDX R11 R11 K87
+ 0x7C200600, // 02A2 CALL R8 3
+ 0x80041000, // 02A3 RET 1 R8
+ 0x7002005A, // 02A4 JMP #0300
+ 0x54220008, // 02A5 LDINT R8 9
+ 0x1C200E08, // 02A6 EQ R8 R7 R8
+ 0x78220007, // 02A7 JMPF R8 #02B0
+ 0x8C200706, // 02A8 GETMET R8 R3 K6
+ 0x88280B2A, // 02A9 GETMBR R10 R5 K42
+ 0xB82E2400, // 02AA GETNGBL R11 K18
+ 0x8C2C1758, // 02AB GETMET R11 R11 K88
+ 0x7C2C0200, // 02AC CALL R11 1
+ 0x7C200600, // 02AD CALL R8 3
+ 0x80041000, // 02AE RET 1 R8
+ 0x7002004F, // 02AF JMP #0300
+ 0x54220009, // 02B0 LDINT R8 10
+ 0x1C200E08, // 02B1 EQ R8 R7 R8
+ 0x78220015, // 02B2 JMPF R8 #02C9
+ 0xB8222400, // 02B3 GETNGBL R8 K18
+ 0x8C201126, // 02B4 GETMET R8 R8 K38
+ 0x58280055, // 02B5 LDCONST R10 K85
+ 0x502C0200, // 02B6 LDBOOL R11 1 0
+ 0x7C200600, // 02B7 CALL R8 3
+ 0x94201156, // 02B8 GETIDX R8 R8 K86
+ 0x94201159, // 02B9 GETIDX R8 R8 K89
+ 0x8C24091B, // 02BA GETMET R9 R4 K27
+ 0x5C2C1000, // 02BB MOVE R11 R8
+ 0x5830005A, // 02BC LDCONST R12 K90
+ 0x7C240600, // 02BD CALL R9 3
+ 0x24281305, // 02BE GT R10 R9 K5
+ 0x782A0002, // 02BF JMPF R10 #02C3
+ 0x04281309, // 02C0 SUB R10 R9 K9
+ 0x402A0A0A, // 02C1 CONNECT R10 K5 R10
+ 0x9420100A, // 02C2 GETIDX R8 R8 R10
+ 0x8C280706, // 02C3 GETMET R10 R3 K6
+ 0x88300B16, // 02C4 GETMBR R12 R5 K22
+ 0x5C341000, // 02C5 MOVE R13 R8
+ 0x7C280600, // 02C6 CALL R10 3
+ 0x80041400, // 02C7 RET 1 R10
+ 0x70020036, // 02C8 JMP #0300
+ 0x5422000E, // 02C9 LDINT R8 15
+ 0x1C200E08, // 02CA EQ R8 R7 R8
+ 0x7822000B, // 02CB JMPF R8 #02D8
+ 0x8C200706, // 02CC GETMET R8 R3 K6
+ 0x88280B16, // 02CD GETMBR R10 R5 K22
+ 0xB82E2400, // 02CE GETNGBL R11 K18
+ 0x8C2C1725, // 02CF GETMET R11 R11 K37
+ 0x7C2C0200, // 02D0 CALL R11 1
+ 0x8C2C171B, // 02D1 GETMET R11 R11 K27
+ 0x5834001C, // 02D2 LDCONST R13 K28
+ 0x5838001D, // 02D3 LDCONST R14 K29
+ 0x7C2C0600, // 02D4 CALL R11 3
+ 0x7C200600, // 02D5 CALL R8 3
+ 0x80041000, // 02D6 RET 1 R8
+ 0x70020027, // 02D7 JMP #0300
+ 0x54220010, // 02D8 LDINT R8 17
+ 0x1C200E08, // 02D9 EQ R8 R7 R8
+ 0x78220005, // 02DA JMPF R8 #02E1
+ 0x8C200706, // 02DB GETMET R8 R3 K6
+ 0x88280B10, // 02DC GETMBR R10 R5 K16
+ 0x582C0009, // 02DD LDCONST R11 K9
+ 0x7C200600, // 02DE CALL R8 3
+ 0x80041000, // 02DF RET 1 R8
+ 0x7002001E, // 02E0 JMP #0300
+ 0x54220011, // 02E1 LDINT R8 18
+ 0x1C200E08, // 02E2 EQ R8 R7 R8
+ 0x7822000B, // 02E3 JMPF R8 #02F0
+ 0x8C200706, // 02E4 GETMET R8 R3 K6
+ 0x88280B16, // 02E5 GETMBR R10 R5 K22
+ 0xB82E2400, // 02E6 GETNGBL R11 K18
+ 0x8C2C1725, // 02E7 GETMET R11 R11 K37
+ 0x7C2C0200, // 02E8 CALL R11 1
+ 0x8C2C171B, // 02E9 GETMET R11 R11 K27
+ 0x5834001C, // 02EA LDCONST R13 K28
+ 0x5838001D, // 02EB LDCONST R14 K29
+ 0x7C2C0600, // 02EC CALL R11 3
+ 0x7C200600, // 02ED CALL R8 3
+ 0x80041000, // 02EE RET 1 R8
+ 0x7002000F, // 02EF JMP #0300
+ 0x54220012, // 02F0 LDINT R8 19
+ 0x1C200E08, // 02F1 EQ R8 R7 R8
+ 0x7822000C, // 02F2 JMPF R8 #0300
+ 0x8C200B0A, // 02F3 GETMET R8 R5 K10
+ 0x7C200200, // 02F4 CALL R8 1
+ 0x8C24110B, // 02F5 GETMET R9 R8 K11
+ 0x582C0005, // 02F6 LDCONST R11 K5
+ 0x88300B0C, // 02F7 GETMBR R12 R5 K12
+ 0x5834000F, // 02F8 LDCONST R13 K15
+ 0x7C240800, // 02F9 CALL R9 4
+ 0x8C24110B, // 02FA GETMET R9 R8 K11
+ 0x582C0009, // 02FB LDCONST R11 K9
+ 0x88300B0C, // 02FC GETMBR R12 R5 K12
+ 0x5834000F, // 02FD LDCONST R13 K15
+ 0x7C240800, // 02FE CALL R9 4
+ 0x80041000, // 02FF RET 1 R8
+ 0x70020097, // 0300 JMP #0399
+ 0x5422003E, // 0301 LDINT R8 63
0x1C200C08, // 0302 EQ R8 R6 R8
- 0x7822001D, // 0303 JMPF R8 #0322
- 0x1C200F05, // 0304 EQ R8 R7 K5
- 0x78220003, // 0305 JMPF R8 #030A
- 0x8C200B11, // 0306 GETMET R8 R5 K17
- 0x7C200200, // 0307 CALL R8 1
- 0x80041000, // 0308 RET 1 R8
- 0x70020016, // 0309 JMP #0321
- 0x1C200F09, // 030A EQ R8 R7 K9
- 0x78220005, // 030B JMPF R8 #0312
- 0x8C200706, // 030C GETMET R8 R3 K6
- 0x88280B10, // 030D GETMBR R10 R5 K16
- 0x582C0005, // 030E LDCONST R11 K5
- 0x7C200600, // 030F CALL R8 3
- 0x80041000, // 0310 RET 1 R8
- 0x7002000E, // 0311 JMP #0321
- 0x1C200F0D, // 0312 EQ R8 R7 K13
- 0x78220005, // 0313 JMPF R8 #031A
- 0x8C200706, // 0314 GETMET R8 R3 K6
- 0x88280B0E, // 0315 GETMBR R10 R5 K14
- 0x582C0009, // 0316 LDCONST R11 K9
- 0x7C200600, // 0317 CALL R8 3
- 0x80041000, // 0318 RET 1 R8
- 0x70020006, // 0319 JMP #0321
- 0x1C200F0F, // 031A EQ R8 R7 K15
- 0x78220004, // 031B JMPF R8 #0321
- 0x8C200706, // 031C GETMET R8 R3 K6
- 0x88280B18, // 031D GETMBR R10 R5 K24
- 0x4C2C0000, // 031E LDNIL R11
- 0x7C200600, // 031F CALL R8 3
- 0x80041000, // 0320 RET 1 R8
- 0x70020072, // 0321 JMP #0395
- 0x5422002A, // 0322 LDINT R8 43
- 0x1C200C08, // 0323 EQ R8 R6 R8
- 0x78220016, // 0324 JMPF R8 #033C
- 0x1C200F05, // 0325 EQ R8 R7 K5
- 0x78220007, // 0326 JMPF R8 #032F
- 0x8C200706, // 0327 GETMET R8 R3 K6
- 0x88280B16, // 0328 GETMBR R10 R5 K22
- 0xB82E2400, // 0329 GETNGBL R11 K18
- 0x8C2C175A, // 032A GETMET R11 R11 K90
- 0x7C2C0200, // 032B CALL R11 1
- 0x7C200600, // 032C CALL R8 3
- 0x80041000, // 032D RET 1 R8
- 0x7002000B, // 032E JMP #033B
- 0x1C200F09, // 032F EQ R8 R7 K9
- 0x78220009, // 0330 JMPF R8 #033B
- 0x8C200B11, // 0331 GETMET R8 R5 K17
- 0x7C200200, // 0332 CALL R8 1
- 0x8C24110B, // 0333 GETMET R9 R8 K11
- 0x4C2C0000, // 0334 LDNIL R11
- 0x88300B16, // 0335 GETMBR R12 R5 K22
- 0xB8362400, // 0336 GETNGBL R13 K18
- 0x8C341B5A, // 0337 GETMET R13 R13 K90
- 0x7C340200, // 0338 CALL R13 1
- 0x7C240800, // 0339 CALL R9 4
- 0x80041000, // 033A RET 1 R8
- 0x70020058, // 033B JMP #0395
- 0x5422002B, // 033C LDINT R8 44
- 0x1C200C08, // 033D EQ R8 R6 R8
- 0x7822001C, // 033E JMPF R8 #035C
- 0x1C200F05, // 033F EQ R8 R7 K5
- 0x78220005, // 0340 JMPF R8 #0347
- 0x8C200706, // 0341 GETMET R8 R3 K6
- 0x88280B0E, // 0342 GETMBR R10 R5 K14
- 0x582C0009, // 0343 LDCONST R11 K9
- 0x7C200600, // 0344 CALL R8 3
- 0x80041000, // 0345 RET 1 R8
- 0x70020013, // 0346 JMP #035B
- 0x1C200F09, // 0347 EQ R8 R7 K9
- 0x78220005, // 0348 JMPF R8 #034F
- 0x8C200706, // 0349 GETMET R8 R3 K6
- 0x88280B0E, // 034A GETMBR R10 R5 K14
- 0x542E0003, // 034B LDINT R11 4
- 0x7C200600, // 034C CALL R8 3
- 0x80041000, // 034D RET 1 R8
- 0x7002000B, // 034E JMP #035B
- 0x1C200F0D, // 034F EQ R8 R7 K13
- 0x78220009, // 0350 JMPF R8 #035B
- 0x8C200B11, // 0351 GETMET R8 R5 K17
- 0x7C200200, // 0352 CALL R8 1
- 0x8C24110B, // 0353 GETMET R9 R8 K11
- 0x4C2C0000, // 0354 LDNIL R11
- 0x8C300B5B, // 0355 GETMET R12 R5 K91
- 0x88380B0E, // 0356 GETMBR R14 R5 K14
- 0x543E0003, // 0357 LDINT R15 4
- 0x7C300600, // 0358 CALL R12 3
- 0x7C240600, // 0359 CALL R9 3
- 0x80041000, // 035A RET 1 R8
- 0x70020038, // 035B JMP #0395
- 0x54220030, // 035C LDINT R8 49
- 0x1C200C08, // 035D EQ R8 R6 R8
- 0x78220007, // 035E JMPF R8 #0367
- 0x1C200F0F, // 035F EQ R8 R7 K15
- 0x78220004, // 0360 JMPF R8 #0366
- 0x8C200706, // 0361 GETMET R8 R3 K6
- 0x88280B0E, // 0362 GETMBR R10 R5 K14
- 0x542E001D, // 0363 LDINT R11 30
- 0x7C200600, // 0364 CALL R8 3
- 0x80041000, // 0365 RET 1 R8
- 0x7002002D, // 0366 JMP #0395
- 0x5422001C, // 0367 LDINT R8 29
- 0x1C200C08, // 0368 EQ R8 R6 R8
- 0x7822002A, // 0369 JMPF R8 #0395
- 0x1C200F0D, // 036A EQ R8 R7 K13
- 0x78220008, // 036B JMPF R8 #0375
- 0x8C200B11, // 036C GETMET R8 R5 K17
- 0x7C200200, // 036D CALL R8 1
- 0x8C24110B, // 036E GETMET R9 R8 K11
- 0x4C2C0000, // 036F LDNIL R11
- 0x88300B0C, // 0370 GETMBR R12 R5 K12
- 0x5436001E, // 0371 LDINT R13 31
- 0x7C240800, // 0372 CALL R9 4
- 0x80041000, // 0373 RET 1 R8
- 0x7002001F, // 0374 JMP #0395
- 0x1C200F0F, // 0375 EQ R8 R7 K15
- 0x7822001D, // 0376 JMPF R8 #0395
- 0x8C200B11, // 0377 GETMET R8 R5 K17
- 0x7C200200, // 0378 CALL R8 1
- 0x88240136, // 0379 GETMBR R9 R0 K54
- 0x8C24135C, // 037A GETMET R9 R9 K92
- 0x502C0200, // 037B LDBOOL R11 1 0
- 0x7C240400, // 037C CALL R9 2
- 0x88280136, // 037D GETMBR R10 R0 K54
- 0x8828155D, // 037E GETMBR R10 R10 K93
- 0x602C0010, // 037F GETGBL R11 G16
- 0x5C301200, // 0380 MOVE R12 R9
- 0x7C2C0200, // 0381 CALL R11 1
- 0xA802000D, // 0382 EXBLK 0 #0391
- 0x5C301600, // 0383 MOVE R12 R11
- 0x7C300000, // 0384 CALL R12 0
- 0x5C341400, // 0385 MOVE R13 R10
- 0x78360003, // 0386 JMPF R13 #038B
- 0xB8360200, // 0387 GETNGBL R13 K1
- 0x88341B5E, // 0388 GETMBR R13 R13 K94
- 0x2034180D, // 0389 NE R13 R12 R13
- 0x78360004, // 038A JMPF R13 #0390
- 0x8C34110B, // 038B GETMET R13 R8 K11
- 0x4C3C0000, // 038C LDNIL R15
- 0x88400B0C, // 038D GETMBR R16 R5 K12
- 0x5C441800, // 038E MOVE R17 R12
- 0x7C340800, // 038F CALL R13 4
- 0x7001FFF1, // 0390 JMP #0383
- 0x582C003E, // 0391 LDCONST R11 K62
- 0xAC2C0200, // 0392 CATCH R11 1 0
- 0xB0080000, // 0393 RAISE 2 R0 R0
- 0x80041000, // 0394 RET 1 R8
- 0x60200003, // 0395 GETGBL R8 G3
- 0x5C240000, // 0396 MOVE R9 R0
- 0x7C200200, // 0397 CALL R8 1
- 0x8C20115F, // 0398 GETMET R8 R8 K95
- 0x5C280200, // 0399 MOVE R10 R1
- 0x5C2C0400, // 039A MOVE R11 R2
- 0x5C300600, // 039B MOVE R12 R3
- 0x7C200800, // 039C CALL R8 4
- 0x80041000, // 039D RET 1 R8
+ 0x78220000, // 0303 JMPF R8 #0305
+ 0x70020093, // 0304 JMP #0399
+ 0x54220029, // 0305 LDINT R8 42
+ 0x1C200C08, // 0306 EQ R8 R6 R8
+ 0x7822001D, // 0307 JMPF R8 #0326
+ 0x1C200F05, // 0308 EQ R8 R7 K5
+ 0x78220003, // 0309 JMPF R8 #030E
+ 0x8C200B11, // 030A GETMET R8 R5 K17
+ 0x7C200200, // 030B CALL R8 1
+ 0x80041000, // 030C RET 1 R8
+ 0x70020016, // 030D JMP #0325
+ 0x1C200F09, // 030E EQ R8 R7 K9
+ 0x78220005, // 030F JMPF R8 #0316
+ 0x8C200706, // 0310 GETMET R8 R3 K6
+ 0x88280B10, // 0311 GETMBR R10 R5 K16
+ 0x582C0005, // 0312 LDCONST R11 K5
+ 0x7C200600, // 0313 CALL R8 3
+ 0x80041000, // 0314 RET 1 R8
+ 0x7002000E, // 0315 JMP #0325
+ 0x1C200F0D, // 0316 EQ R8 R7 K13
+ 0x78220005, // 0317 JMPF R8 #031E
+ 0x8C200706, // 0318 GETMET R8 R3 K6
+ 0x88280B0E, // 0319 GETMBR R10 R5 K14
+ 0x582C0009, // 031A LDCONST R11 K9
+ 0x7C200600, // 031B CALL R8 3
+ 0x80041000, // 031C RET 1 R8
+ 0x70020006, // 031D JMP #0325
+ 0x1C200F0F, // 031E EQ R8 R7 K15
+ 0x78220004, // 031F JMPF R8 #0325
+ 0x8C200706, // 0320 GETMET R8 R3 K6
+ 0x88280B18, // 0321 GETMBR R10 R5 K24
+ 0x4C2C0000, // 0322 LDNIL R11
+ 0x7C200600, // 0323 CALL R8 3
+ 0x80041000, // 0324 RET 1 R8
+ 0x70020072, // 0325 JMP #0399
+ 0x5422002A, // 0326 LDINT R8 43
+ 0x1C200C08, // 0327 EQ R8 R6 R8
+ 0x78220016, // 0328 JMPF R8 #0340
+ 0x1C200F05, // 0329 EQ R8 R7 K5
+ 0x78220007, // 032A JMPF R8 #0333
+ 0x8C200706, // 032B GETMET R8 R3 K6
+ 0x88280B16, // 032C GETMBR R10 R5 K22
+ 0xB82E2400, // 032D GETNGBL R11 K18
+ 0x8C2C175B, // 032E GETMET R11 R11 K91
+ 0x7C2C0200, // 032F CALL R11 1
+ 0x7C200600, // 0330 CALL R8 3
+ 0x80041000, // 0331 RET 1 R8
+ 0x7002000B, // 0332 JMP #033F
+ 0x1C200F09, // 0333 EQ R8 R7 K9
+ 0x78220009, // 0334 JMPF R8 #033F
+ 0x8C200B11, // 0335 GETMET R8 R5 K17
+ 0x7C200200, // 0336 CALL R8 1
+ 0x8C24110B, // 0337 GETMET R9 R8 K11
+ 0x4C2C0000, // 0338 LDNIL R11
+ 0x88300B16, // 0339 GETMBR R12 R5 K22
+ 0xB8362400, // 033A GETNGBL R13 K18
+ 0x8C341B5B, // 033B GETMET R13 R13 K91
+ 0x7C340200, // 033C CALL R13 1
+ 0x7C240800, // 033D CALL R9 4
+ 0x80041000, // 033E RET 1 R8
+ 0x70020058, // 033F JMP #0399
+ 0x5422002B, // 0340 LDINT R8 44
+ 0x1C200C08, // 0341 EQ R8 R6 R8
+ 0x7822001C, // 0342 JMPF R8 #0360
+ 0x1C200F05, // 0343 EQ R8 R7 K5
+ 0x78220005, // 0344 JMPF R8 #034B
+ 0x8C200706, // 0345 GETMET R8 R3 K6
+ 0x88280B0E, // 0346 GETMBR R10 R5 K14
+ 0x582C0009, // 0347 LDCONST R11 K9
+ 0x7C200600, // 0348 CALL R8 3
+ 0x80041000, // 0349 RET 1 R8
+ 0x70020013, // 034A JMP #035F
+ 0x1C200F09, // 034B EQ R8 R7 K9
+ 0x78220005, // 034C JMPF R8 #0353
+ 0x8C200706, // 034D GETMET R8 R3 K6
+ 0x88280B0E, // 034E GETMBR R10 R5 K14
+ 0x542E0003, // 034F LDINT R11 4
+ 0x7C200600, // 0350 CALL R8 3
+ 0x80041000, // 0351 RET 1 R8
+ 0x7002000B, // 0352 JMP #035F
+ 0x1C200F0D, // 0353 EQ R8 R7 K13
+ 0x78220009, // 0354 JMPF R8 #035F
+ 0x8C200B11, // 0355 GETMET R8 R5 K17
+ 0x7C200200, // 0356 CALL R8 1
+ 0x8C24110B, // 0357 GETMET R9 R8 K11
+ 0x4C2C0000, // 0358 LDNIL R11
+ 0x8C300B5C, // 0359 GETMET R12 R5 K92
+ 0x88380B0E, // 035A GETMBR R14 R5 K14
+ 0x543E0003, // 035B LDINT R15 4
+ 0x7C300600, // 035C CALL R12 3
+ 0x7C240600, // 035D CALL R9 3
+ 0x80041000, // 035E RET 1 R8
+ 0x70020038, // 035F JMP #0399
+ 0x54220030, // 0360 LDINT R8 49
+ 0x1C200C08, // 0361 EQ R8 R6 R8
+ 0x78220007, // 0362 JMPF R8 #036B
+ 0x1C200F0F, // 0363 EQ R8 R7 K15
+ 0x78220004, // 0364 JMPF R8 #036A
+ 0x8C200706, // 0365 GETMET R8 R3 K6
+ 0x88280B0E, // 0366 GETMBR R10 R5 K14
+ 0x542E001D, // 0367 LDINT R11 30
+ 0x7C200600, // 0368 CALL R8 3
+ 0x80041000, // 0369 RET 1 R8
+ 0x7002002D, // 036A JMP #0399
+ 0x5422001C, // 036B LDINT R8 29
+ 0x1C200C08, // 036C EQ R8 R6 R8
+ 0x7822002A, // 036D JMPF R8 #0399
+ 0x1C200F0D, // 036E EQ R8 R7 K13
+ 0x78220008, // 036F JMPF R8 #0379
+ 0x8C200B11, // 0370 GETMET R8 R5 K17
+ 0x7C200200, // 0371 CALL R8 1
+ 0x8C24110B, // 0372 GETMET R9 R8 K11
+ 0x4C2C0000, // 0373 LDNIL R11
+ 0x88300B0C, // 0374 GETMBR R12 R5 K12
+ 0x5436001E, // 0375 LDINT R13 31
+ 0x7C240800, // 0376 CALL R9 4
+ 0x80041000, // 0377 RET 1 R8
+ 0x7002001F, // 0378 JMP #0399
+ 0x1C200F0F, // 0379 EQ R8 R7 K15
+ 0x7822001D, // 037A JMPF R8 #0399
+ 0x8C200B11, // 037B GETMET R8 R5 K17
+ 0x7C200200, // 037C CALL R8 1
+ 0x88240136, // 037D GETMBR R9 R0 K54
+ 0x8C24135D, // 037E GETMET R9 R9 K93
+ 0x502C0200, // 037F LDBOOL R11 1 0
+ 0x7C240400, // 0380 CALL R9 2
+ 0x88280136, // 0381 GETMBR R10 R0 K54
+ 0x8828155E, // 0382 GETMBR R10 R10 K94
+ 0x602C0010, // 0383 GETGBL R11 G16
+ 0x5C301200, // 0384 MOVE R12 R9
+ 0x7C2C0200, // 0385 CALL R11 1
+ 0xA802000D, // 0386 EXBLK 0 #0395
+ 0x5C301600, // 0387 MOVE R12 R11
+ 0x7C300000, // 0388 CALL R12 0
+ 0x5C341400, // 0389 MOVE R13 R10
+ 0x78360003, // 038A JMPF R13 #038F
+ 0xB8360200, // 038B GETNGBL R13 K1
+ 0x88341B5F, // 038C GETMBR R13 R13 K95
+ 0x2034180D, // 038D NE R13 R12 R13
+ 0x78360004, // 038E JMPF R13 #0394
+ 0x8C34110B, // 038F GETMET R13 R8 K11
+ 0x4C3C0000, // 0390 LDNIL R15
+ 0x88400B0C, // 0391 GETMBR R16 R5 K12
+ 0x5C441800, // 0392 MOVE R17 R12
+ 0x7C340800, // 0393 CALL R13 4
+ 0x7001FFF1, // 0394 JMP #0387
+ 0x582C003E, // 0395 LDCONST R11 K62
+ 0xAC2C0200, // 0396 CATCH R11 1 0
+ 0xB0080000, // 0397 RAISE 2 R0 R0
+ 0x80041000, // 0398 RET 1 R8
+ 0x60200003, // 0399 GETGBL R8 G3
+ 0x5C240000, // 039A MOVE R9 R0
+ 0x7C200200, // 039B CALL R8 1
+ 0x8C201160, // 039C GETMET R8 R8 K96
+ 0x5C280200, // 039D MOVE R10 R1
+ 0x5C2C0400, // 039E MOVE R11 R2
+ 0x5C300600, // 039F MOVE R12 R3
+ 0x7C200800, // 03A0 CALL R8 4
+ 0x80041000, // 03A1 RET 1 R8
})
)
);
@@ -1160,7 +1165,7 @@ be_local_closure(class_Matter_Plugin_Root_write_attribute, /* name */
0x601C0004, // 0009 GETGBL R7 G4
0x5C200600, // 000A MOVE R8 R3
0x7C1C0200, // 000B CALL R7 1
- 0x1C1C0F60, // 000C EQ R7 R7 K96
+ 0x1C1C0F61, // 000C EQ R7 R7 K97
0x741E0004, // 000D JMPT R7 #0013
0x601C000F, // 000E GETGBL R7 G15
0x5C200600, // 000F MOVE R8 R3
@@ -1168,7 +1173,7 @@ be_local_closure(class_Matter_Plugin_Root_write_attribute, /* name */
0x7C1C0400, // 0011 CALL R7 2
0x781E0007, // 0012 JMPF R7 #001B
0x90061003, // 0013 SETMBR R1 K8 R3
- 0x8C1C0161, // 0014 GETMET R7 R0 K97
+ 0x8C1C0162, // 0014 GETMET R7 R0 K98
0x88240503, // 0015 GETMBR R9 R2 K3
0x88280504, // 0016 GETMBR R10 R2 K4
0x7C1C0600, // 0017 CALL R7 3
@@ -1176,8 +1181,8 @@ be_local_closure(class_Matter_Plugin_Root_write_attribute, /* name */
0x80040E00, // 0019 RET 1 R7
0x70020004, // 001A JMP #0020
0xB81E0200, // 001B GETNGBL R7 K1
- 0x881C0F63, // 001C GETMBR R7 R7 K99
- 0x900AC407, // 001D SETMBR R2 K98 R7
+ 0x881C0F64, // 001C GETMBR R7 R7 K100
+ 0x900AC607, // 001D SETMBR R2 K99 R7
0x501C0000, // 001E LDBOOL R7 0 0
0x80040E00, // 001F RET 1 R7
0x70020041, // 0020 JMP #0063
@@ -1218,8 +1223,8 @@ be_local_closure(class_Matter_Plugin_Root_write_attribute, /* name */
0x1C1C0D05, // 0043 EQ R7 R6 K5
0x781E0004, // 0044 JMPF R7 #004A
0xB81E0200, // 0045 GETNGBL R7 K1
- 0x881C0F63, // 0046 GETMBR R7 R7 K99
- 0x900AC407, // 0047 SETMBR R2 K98 R7
+ 0x881C0F64, // 0046 GETMBR R7 R7 K100
+ 0x900AC607, // 0047 SETMBR R2 K99 R7
0x501C0000, // 0048 LDBOOL R7 0 0
0x80040E00, // 0049 RET 1 R7
0x70020017, // 004A JMP #0063
@@ -1243,8 +1248,8 @@ be_local_closure(class_Matter_Plugin_Root_write_attribute, /* name */
0x1C1C0C07, // 005C EQ R7 R6 R7
0x781E0004, // 005D JMPF R7 #0063
0xB81E0200, // 005E GETNGBL R7 K1
- 0x881C0F64, // 005F GETMBR R7 R7 K100
- 0x900AC407, // 0060 SETMBR R2 K98 R7
+ 0x881C0F65, // 005F GETMBR R7 R7 K101
+ 0x900AC607, // 0060 SETMBR R2 K99 R7
0x501C0000, // 0061 LDBOOL R7 0 0
0x80040E00, // 0062 RET 1 R7
0x80000000, // 0063 RET 0
@@ -1274,37 +1279,37 @@ be_local_closure(class_Matter_Plugin_Root_init, /* name */
0x60100003, // 0000 GETGBL R4 G3
0x5C140000, // 0001 MOVE R5 R0
0x7C100200, // 0002 CALL R4 1
- 0x8C100965, // 0003 GETMET R4 R4 K101
+ 0x8C100966, // 0003 GETMET R4 R4 K102
0x5C180200, // 0004 MOVE R6 R1
0x5C1C0400, // 0005 MOVE R7 R2
0x5C200600, // 0006 MOVE R8 R3
0x7C100800, // 0007 CALL R4 4
- 0x8C100166, // 0008 GETMET R4 R0 K102
+ 0x8C100167, // 0008 GETMET R4 R0 K103
0x541A0027, // 0009 LDINT R6 40
0x581C0005, // 000A LDCONST R7 K5
0xB8220200, // 000B GETNGBL R8 K1
- 0x88201167, // 000C GETMBR R8 R8 K103
+ 0x88201168, // 000C GETMBR R8 R8 K104
0xB8260200, // 000D GETNGBL R9 K1
0x88241302, // 000E GETMBR R9 R9 K2
- 0x8C241368, // 000F GETMET R9 R9 K104
+ 0x8C241369, // 000F GETMET R9 R9 K105
0x7C240200, // 0010 CALL R9 1
0x8C241306, // 0011 GETMET R9 R9 K6
0xB82E0200, // 0012 GETNGBL R11 K1
0x882C1702, // 0013 GETMBR R11 R11 K2
0x882C172A, // 0014 GETMBR R11 R11 K42
0xB8322400, // 0015 GETNGBL R12 K18
- 0x8C301957, // 0016 GETMET R12 R12 K87
+ 0x8C301958, // 0016 GETMET R12 R12 K88
0x7C300200, // 0017 CALL R12 1
0x7C240600, // 0018 CALL R9 3
0x7C100A00, // 0019 CALL R4 5
- 0x8C100166, // 001A GETMET R4 R0 K102
+ 0x8C100167, // 001A GETMET R4 R0 K103
0x541A0032, // 001B LDINT R6 51
0x581C000F, // 001C LDCONST R7 K15
0xB8220200, // 001D GETNGBL R8 K1
- 0x88201167, // 001E GETMBR R8 R8 K103
+ 0x88201168, // 001E GETMBR R8 R8 K104
0xB8260200, // 001F GETNGBL R9 K1
0x88241302, // 0020 GETMBR R9 R9 K2
- 0x8C241368, // 0021 GETMET R9 R9 K104
+ 0x8C241369, // 0021 GETMET R9 R9 K105
0x7C240200, // 0022 CALL R9 1
0x8C241306, // 0023 GETMET R9 R9 K6
0xB82E0200, // 0024 GETNGBL R11 K1
@@ -1364,15 +1369,15 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
&be_ktab_class_Matter_Plugin_Root, /* shared constants */
be_str_weak(invoke_request),
&be_const_str_solidified,
- ( &(const binstruction[737]) { /* code */
- 0xA412D200, // 0000 IMPORT R4 K105
+ ( &(const binstruction[742]) { /* code */
+ 0xA412D400, // 0000 IMPORT R4 K106
0xB8160200, // 0001 GETNGBL R5 K1
0x88140B02, // 0002 GETMBR R5 R5 K2
0x88180703, // 0003 GETMBR R6 R3 K3
- 0x881C076A, // 0004 GETMBR R7 R3 K106
+ 0x881C076B, // 0004 GETMBR R7 R3 K107
0x5422002F, // 0005 LDINT R8 48
0x1C200C08, // 0006 EQ R8 R6 R8
- 0x7822005C, // 0007 JMPF R8 #0065
+ 0x7822005D, // 0007 JMPF R8 #0066
0x1C200F05, // 0008 EQ R8 R7 K5
0x78220017, // 0009 JMPF R8 #0022
0x8C200541, // 000A GETMET R8 R2 K65
@@ -1396,9 +1401,9 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
0x88380B16, // 001C GETMBR R14 R5 K22
0x583C001D, // 001D LDCONST R15 K29
0x7C2C0800, // 001E CALL R11 4
- 0x900ED509, // 001F SETMBR R3 K106 K9
+ 0x900ED709, // 001F SETMBR R3 K107 K9
0x80041400, // 0020 RET 1 R10
- 0x70020041, // 0021 JMP #0064
+ 0x70020042, // 0021 JMP #0065
0x1C200F0D, // 0022 EQ R8 R7 K13
0x7822001A, // 0023 JMPF R8 #003F
0x8C200541, // 0024 GETMET R8 R2 K65
@@ -1406,7 +1411,7 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
0x7C200400, // 0026 CALL R8 2
0x8C240541, // 0027 GETMET R9 R2 K65
0x582C0009, // 0028 LDCONST R11 K9
- 0x58300053, // 0029 LDCONST R12 K83
+ 0x58300054, // 0029 LDCONST R12 K84
0x7C240600, // 002A CALL R9 3
0x8C280541, // 002B GETMET R10 R2 K65
0x5830000D, // 002C LDCONST R12 K13
@@ -1425,24 +1430,24 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
0x883C0B16, // 0039 GETMBR R15 R5 K22
0x5840001D, // 003A LDCONST R16 K29
0x7C300800, // 003B CALL R12 4
- 0x900ED50F, // 003C SETMBR R3 K106 K15
+ 0x900ED70F, // 003C SETMBR R3 K107 K15
0x80041600, // 003D RET 1 R11
- 0x70020024, // 003E JMP #0064
+ 0x70020025, // 003E JMP #0065
0x54220003, // 003F LDINT R8 4
0x1C200E08, // 0040 EQ R8 R7 R8
- 0x78220021, // 0041 JMPF R8 #0064
+ 0x78220022, // 0041 JMPF R8 #0065
0x8C200133, // 0042 GETMET R8 R0 K51
0x5C280600, // 0043 MOVE R10 R3
0x7C200400, // 0044 CALL R8 2
0x88200349, // 0045 GETMBR R8 R1 K73
- 0x7822001B, // 0046 JMPF R8 #0063
+ 0x7822001C, // 0046 JMPF R8 #0064
0x90061105, // 0047 SETMBR R1 K8 K5
0x88200349, // 0048 GETMBR R8 R1 K73
- 0x8C20116B, // 0049 GETMET R8 R8 K107
+ 0x8C20116C, // 0049 GETMET R8 R8 K108
0x7C200200, // 004A CALL R8 1
- 0x8C20036C, // 004B GETMET R8 R1 K108
+ 0x8C20036D, // 004B GETMET R8 R1 K109
0x7C200200, // 004C CALL R8 1
- 0x8C20036D, // 004D GETMET R8 R1 K109
+ 0x8C20036E, // 004D GETMET R8 R1 K110
0x7C200200, // 004E CALL R8 1
0x8C200B0A, // 004F GETMET R8 R5 K10
0x7C200200, // 0050 CALL R8 1
@@ -1457,651 +1462,656 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
0x5834001D, // 0059 LDCONST R13 K29
0x7C240800, // 005A CALL R9 4
0x54260004, // 005B LDINT R9 5
- 0x900ED409, // 005C SETMBR R3 K106 R9
+ 0x900ED609, // 005C SETMBR R3 K107 R9
0x88240136, // 005D GETMBR R9 R0 K54
- 0x8C24136E, // 005E GETMET R9 R9 K110
- 0x5C2C0200, // 005F MOVE R11 R1
- 0x7C240400, // 0060 CALL R9 2
- 0x80041000, // 0061 RET 1 R8
- 0x70020000, // 0062 JMP #0064
- 0xB006DF70, // 0063 RAISE 1 K111 K112
- 0x70020279, // 0064 JMP #02DF
- 0x5422003D, // 0065 LDINT R8 62
- 0x1C200C08, // 0066 EQ R8 R6 R8
- 0x782201DD, // 0067 JMPF R8 #0246
- 0x1C200F0D, // 0068 EQ R8 R7 K13
- 0x7822001D, // 0069 JMPF R8 #0088
- 0x8C200541, // 006A GETMET R8 R2 K65
- 0x58280005, // 006B LDCONST R10 K5
- 0x7C200400, // 006C CALL R8 2
- 0x20241109, // 006D NE R9 R8 K9
- 0x78260006, // 006E JMPF R9 #0076
- 0x2024110D, // 006F NE R9 R8 K13
- 0x78260004, // 0070 JMPF R9 #0076
- 0xB8260200, // 0071 GETNGBL R9 K1
- 0x88241371, // 0072 GETMBR R9 R9 K113
- 0x900EC409, // 0073 SETMBR R3 K98 R9
- 0x4C240000, // 0074 LDNIL R9
- 0x80041200, // 0075 RET 1 R9
- 0x8C240B0A, // 0076 GETMET R9 R5 K10
- 0x7C240200, // 0077 CALL R9 1
- 0x8C28130B, // 0078 GETMET R10 R9 K11
- 0x58300005, // 0079 LDCONST R12 K5
- 0x88340B3A, // 007A GETMBR R13 R5 K58
- 0x1C381109, // 007B EQ R14 R8 K9
- 0x783A0003, // 007C JMPF R14 #0081
- 0xB83A0200, // 007D GETNGBL R14 K1
- 0x8C381D72, // 007E GETMET R14 R14 K114
- 0x7C380200, // 007F CALL R14 1
- 0x70020002, // 0080 JMP #0084
- 0xB83A0200, // 0081 GETNGBL R14 K1
- 0x8C381D73, // 0082 GETMET R14 R14 K115
- 0x7C380200, // 0083 CALL R14 1
- 0x7C280800, // 0084 CALL R10 4
- 0x900ED50F, // 0085 SETMBR R3 K106 K15
- 0x80041200, // 0086 RET 1 R9
- 0x700201BC, // 0087 JMP #0245
- 0x1C200F05, // 0088 EQ R8 R7 K5
- 0x7822003C, // 0089 JMPF R8 #00C7
- 0x8C200541, // 008A GETMET R8 R2 K65
- 0x58280005, // 008B LDCONST R10 K5
- 0x7C200400, // 008C CALL R8 2
- 0x6024000C, // 008D GETGBL R9 G12
- 0x5C281000, // 008E MOVE R10 R8
- 0x7C240200, // 008F CALL R9 1
- 0x542A001F, // 0090 LDINT R10 32
- 0x2024120A, // 0091 NE R9 R9 R10
- 0x78260001, // 0092 JMPF R9 #0095
- 0x4C240000, // 0093 LDNIL R9
- 0x80041200, // 0094 RET 1 R9
- 0x900ED509, // 0095 SETMBR R3 K106 K9
- 0x8C240B0A, // 0096 GETMET R9 R5 K10
- 0x7C240200, // 0097 CALL R9 1
- 0x8C28130B, // 0098 GETMET R10 R9 K11
- 0x58300009, // 0099 LDCONST R12 K9
- 0x88340B3A, // 009A GETMBR R13 R5 K58
- 0xB83A0200, // 009B GETNGBL R14 K1
- 0x8C381D74, // 009C GETMET R14 R14 K116
- 0x7C380200, // 009D CALL R14 1
- 0x7C280800, // 009E CALL R10 4
- 0x8C28130B, // 009F GETMET R10 R9 K11
- 0x5830000D, // 00A0 LDCONST R12 K13
- 0x88340B1F, // 00A1 GETMBR R13 R5 K31
- 0x5C381000, // 00A2 MOVE R14 R8
- 0x7C280800, // 00A3 CALL R10 4
- 0x8C28130B, // 00A4 GETMET R10 R9 K11
- 0x5830000F, // 00A5 LDCONST R12 K15
- 0x88340B2A, // 00A6 GETMBR R13 R5 K42
- 0xB83A2400, // 00A7 GETNGBL R14 K18
- 0x8C381D2F, // 00A8 GETMET R14 R14 K47
- 0x7C380200, // 00A9 CALL R14 1
- 0x7C280800, // 00AA CALL R10 4
- 0x8C281375, // 00AB GETMET R10 R9 K117
- 0x7C280200, // 00AC CALL R10 1
- 0x8C2C0376, // 00AD GETMET R11 R1 K118
- 0x7C2C0200, // 00AE CALL R11 1
- 0x0030140B, // 00AF ADD R12 R10 R11
- 0x8C340977, // 00B0 GETMET R13 R4 K119
- 0x7C340200, // 00B1 CALL R13 1
- 0x8C341B78, // 00B2 GETMET R13 R13 K120
- 0xB83E0200, // 00B3 GETNGBL R15 K1
- 0x8C3C1F79, // 00B4 GETMET R15 R15 K121
- 0x7C3C0200, // 00B5 CALL R15 1
- 0x5C401800, // 00B6 MOVE R16 R12
- 0x7C340600, // 00B7 CALL R13 3
- 0x8C380B0A, // 00B8 GETMET R14 R5 K10
- 0x7C380200, // 00B9 CALL R14 1
- 0x8C3C1D0B, // 00BA GETMET R15 R14 K11
- 0x58440005, // 00BB LDCONST R17 K5
- 0x88480B3A, // 00BC GETMBR R18 R5 K58
- 0x5C4C1400, // 00BD MOVE R19 R10
- 0x7C3C0800, // 00BE CALL R15 4
- 0x8C3C1D0B, // 00BF GETMET R15 R14 K11
- 0x58440009, // 00C0 LDCONST R17 K9
- 0x88480B1F, // 00C1 GETMBR R18 R5 K31
- 0x5C4C1A00, // 00C2 MOVE R19 R13
- 0x7C3C0800, // 00C3 CALL R15 4
- 0x900ED509, // 00C4 SETMBR R3 K106 K9
- 0x80041C00, // 00C5 RET 1 R14
- 0x7002017D, // 00C6 JMP #0245
- 0x54220003, // 00C7 LDINT R8 4
- 0x1C200E08, // 00C8 EQ R8 R7 R8
- 0x7822003C, // 00C9 JMPF R8 #0107
- 0x8C200133, // 00CA GETMET R8 R0 K51
- 0x5C280600, // 00CB MOVE R10 R3
- 0x7C200400, // 00CC CALL R8 2
- 0x8C200541, // 00CD GETMET R8 R2 K65
- 0x58280005, // 00CE LDCONST R10 K5
- 0x7C200400, // 00CF CALL R8 2
- 0x6024000C, // 00D0 GETGBL R9 G12
- 0x5C281000, // 00D1 MOVE R10 R8
- 0x7C240200, // 00D2 CALL R9 1
- 0x542A001F, // 00D3 LDINT R10 32
- 0x2024120A, // 00D4 NE R9 R9 R10
- 0x78260001, // 00D5 JMPF R9 #00D8
- 0x4C240000, // 00D6 LDNIL R9
- 0x80041200, // 00D7 RET 1 R9
- 0x8C240541, // 00D8 GETMET R9 R2 K65
- 0x582C0009, // 00D9 LDCONST R11 K9
- 0x50300000, // 00DA LDBOOL R12 0 0
- 0x7C240600, // 00DB CALL R9 3
- 0x8C28037A, // 00DC GETMET R10 R1 K122
- 0x7C280200, // 00DD CALL R10 1
- 0x8C2C0B0A, // 00DE GETMET R11 R5 K10
- 0x7C2C0200, // 00DF CALL R11 1
- 0x8C30170B, // 00E0 GETMET R12 R11 K11
- 0x58380009, // 00E1 LDCONST R14 K9
- 0x883C0B3A, // 00E2 GETMBR R15 R5 K58
- 0x5C401400, // 00E3 MOVE R16 R10
- 0x7C300800, // 00E4 CALL R12 4
- 0x8C30170B, // 00E5 GETMET R12 R11 K11
- 0x5838000D, // 00E6 LDCONST R14 K13
- 0x883C0B1F, // 00E7 GETMBR R15 R5 K31
- 0x5C401000, // 00E8 MOVE R16 R8
- 0x7C300800, // 00E9 CALL R12 4
- 0x8C301775, // 00EA GETMET R12 R11 K117
- 0x7C300200, // 00EB CALL R12 1
- 0x8C340376, // 00EC GETMET R13 R1 K118
- 0x7C340200, // 00ED CALL R13 1
- 0x0034180D, // 00EE ADD R13 R12 R13
- 0x8C380977, // 00EF GETMET R14 R4 K119
- 0x7C380200, // 00F0 CALL R14 1
- 0x8C381D78, // 00F1 GETMET R14 R14 K120
- 0xB8420200, // 00F2 GETNGBL R16 K1
- 0x8C402179, // 00F3 GETMET R16 R16 K121
- 0x7C400200, // 00F4 CALL R16 1
- 0x5C441A00, // 00F5 MOVE R17 R13
- 0x7C380600, // 00F6 CALL R14 3
- 0x8C3C0B0A, // 00F7 GETMET R15 R5 K10
- 0x7C3C0200, // 00F8 CALL R15 1
- 0x8C401F0B, // 00F9 GETMET R16 R15 K11
- 0x58480005, // 00FA LDCONST R18 K5
- 0x884C0B3A, // 00FB GETMBR R19 R5 K58
- 0x5C501800, // 00FC MOVE R20 R12
- 0x7C400800, // 00FD CALL R16 4
- 0x8C401F0B, // 00FE GETMET R16 R15 K11
- 0x58480009, // 00FF LDCONST R18 K9
- 0x884C0B1F, // 0100 GETMBR R19 R5 K31
- 0x5C501C00, // 0101 MOVE R20 R14
- 0x7C400800, // 0102 CALL R16 4
- 0x54420004, // 0103 LDINT R16 5
- 0x900ED410, // 0104 SETMBR R3 K106 R16
- 0x80041E00, // 0105 RET 1 R15
- 0x7002013D, // 0106 JMP #0245
- 0x5422000A, // 0107 LDINT R8 11
- 0x1C200E08, // 0108 EQ R8 R7 R8
- 0x7822000B, // 0109 JMPF R8 #0116
- 0x8C200541, // 010A GETMET R8 R2 K65
- 0x58280005, // 010B LDCONST R10 K5
- 0x7C200400, // 010C CALL R8 2
- 0x8C24037B, // 010D GETMET R9 R1 K123
- 0x5C2C1000, // 010E MOVE R11 R8
- 0x7C240400, // 010F CALL R9 2
- 0xB8260200, // 0110 GETNGBL R9 K1
- 0x8824137C, // 0111 GETMBR R9 R9 K124
- 0x900EC409, // 0112 SETMBR R3 K98 R9
- 0x4C240000, // 0113 LDNIL R9
- 0x80041200, // 0114 RET 1 R9
- 0x7002012E, // 0115 JMP #0245
- 0x54220005, // 0116 LDINT R8 6
- 0x1C200E08, // 0117 EQ R8 R7 R8
- 0x782200B8, // 0118 JMPF R8 #01D2
- 0xB822FA00, // 0119 GETNGBL R8 K125
- 0x60240008, // 011A GETGBL R9 G8
- 0x5C280400, // 011B MOVE R10 R2
- 0x7C240200, // 011C CALL R9 1
- 0x0026FC09, // 011D ADD R9 K126 R9
- 0x542A0003, // 011E LDINT R10 4
- 0x7C200400, // 011F CALL R8 2
- 0x8C200541, // 0120 GETMET R8 R2 K65
- 0x58280005, // 0121 LDCONST R10 K5
- 0x7C200400, // 0122 CALL R8 2
- 0x8C240541, // 0123 GETMET R9 R2 K65
- 0x582C0009, // 0124 LDCONST R11 K9
- 0x7C240400, // 0125 CALL R9 2
- 0x6028000C, // 0126 GETGBL R10 G12
- 0x5C2C1200, // 0127 MOVE R11 R9
- 0x7C280200, // 0128 CALL R10 1
- 0x1C281505, // 0129 EQ R10 R10 K5
- 0x782A0000, // 012A JMPF R10 #012C
- 0x4C240000, // 012B LDNIL R9
- 0x8C280541, // 012C GETMET R10 R2 K65
- 0x5830000D, // 012D LDCONST R12 K13
- 0x7C280400, // 012E CALL R10 2
- 0x8C2C0541, // 012F GETMET R11 R2 K65
- 0x5834000F, // 0130 LDCONST R13 K15
- 0x7C2C0400, // 0131 CALL R11 2
- 0x8C300541, // 0132 GETMET R12 R2 K65
- 0x543A0003, // 0133 LDINT R14 4
- 0x7C300400, // 0134 CALL R12 2
- 0x8C34037F, // 0135 GETMET R13 R1 K127
- 0x7C340200, // 0136 CALL R13 1
- 0x4C380000, // 0137 LDNIL R14
- 0x1C341A0E, // 0138 EQ R13 R13 R14
- 0x78360005, // 0139 JMPF R13 #0140
- 0xB836FA00, // 013A GETNGBL R13 K125
- 0x58380080, // 013B LDCONST R14 K128
- 0x583C000D, // 013C LDCONST R15 K13
- 0x7C340400, // 013D CALL R13 2
- 0x4C340000, // 013E LDNIL R13
- 0x80041A00, // 013F RET 1 R13
- 0x88340136, // 0140 GETMBR R13 R0 K54
- 0x88341B37, // 0141 GETMBR R13 R13 K55
- 0x8C341B81, // 0142 GETMET R13 R13 K129
- 0x7C340200, // 0143 CALL R13 1
- 0x8C381B82, // 0144 GETMET R14 R13 K130
- 0x8C40037F, // 0145 GETMET R16 R1 K127
- 0x7C400200, // 0146 CALL R16 1
- 0x7C380400, // 0147 CALL R14 2
- 0x8C381B83, // 0148 GETMET R14 R13 K131
- 0x5C401000, // 0149 MOVE R16 R8
- 0x5C441200, // 014A MOVE R17 R9
- 0x7C380600, // 014B CALL R14 3
- 0x8C381B84, // 014C GETMET R14 R13 K132
- 0x5C401400, // 014D MOVE R16 R10
- 0x7C380400, // 014E CALL R14 2
- 0x8C381B85, // 014F GETMET R14 R13 K133
- 0x5C401600, // 0150 MOVE R16 R11
- 0x5C441800, // 0151 MOVE R17 R12
- 0x7C380600, // 0152 CALL R14 3
- 0x8C381B86, // 0153 GETMET R14 R13 K134
- 0x8C400387, // 0154 GETMET R16 R1 K135
- 0x7C400200, // 0155 CALL R16 1
- 0x7C380400, // 0156 CALL R14 2
- 0xB83A0200, // 0157 GETNGBL R14 K1
- 0x88381D02, // 0158 GETMBR R14 R14 K2
- 0x8C381D3F, // 0159 GETMET R14 R14 K63
- 0x5C401000, // 015A MOVE R16 R8
- 0x7C380400, // 015B CALL R14 2
- 0x8C3C1D88, // 015C GETMET R15 R14 K136
- 0x54460005, // 015D LDINT R17 6
- 0x7C3C0400, // 015E CALL R15 2
- 0x8C401F41, // 015F GETMET R16 R15 K65
- 0x544A0014, // 0160 LDINT R18 21
- 0x7C400400, // 0161 CALL R16 2
- 0x8C441F41, // 0162 GETMET R17 R15 K65
- 0x544E0010, // 0163 LDINT R19 17
- 0x7C440400, // 0164 CALL R17 2
- 0x5C482000, // 0165 MOVE R18 R16
- 0x784A0001, // 0166 JMPF R18 #0169
- 0x5C482200, // 0167 MOVE R18 R17
- 0x744A0005, // 0168 JMPT R18 #016F
- 0xB84AFA00, // 0169 GETNGBL R18 K125
- 0x584C0089, // 016A LDCONST R19 K137
- 0x5850000D, // 016B LDCONST R20 K13
- 0x7C480400, // 016C CALL R18 2
- 0x50480000, // 016D LDBOOL R18 0 0
- 0x80042400, // 016E RET 1 R18
- 0x60480004, // 016F GETGBL R18 G4
- 0x5C4C2000, // 0170 MOVE R19 R16
- 0x7C480200, // 0171 CALL R18 1
- 0x1C482560, // 0172 EQ R18 R18 K96
- 0x784A0007, // 0173 JMPF R18 #017C
- 0xB84A5C00, // 0174 GETNGBL R18 K46
- 0x8C48258A, // 0175 GETMET R18 R18 K138
- 0x5C502000, // 0176 MOVE R20 R16
- 0x7C480400, // 0177 CALL R18 2
- 0x8C48258B, // 0178 GETMET R18 R18 K139
- 0x7C480200, // 0179 CALL R18 1
- 0x5C402400, // 017A MOVE R16 R18
- 0x70020002, // 017B JMP #017F
- 0x8C48218B, // 017C GETMET R18 R16 K139
- 0x7C480200, // 017D CALL R18 1
- 0x5C402400, // 017E MOVE R16 R18
- 0x60480004, // 017F GETGBL R18 G4
- 0x5C4C2200, // 0180 MOVE R19 R17
- 0x7C480200, // 0181 CALL R18 1
- 0x1C482560, // 0182 EQ R18 R18 K96
- 0x784A0007, // 0183 JMPF R18 #018C
- 0xB84A5C00, // 0184 GETNGBL R18 K46
- 0x8C48258A, // 0185 GETMET R18 R18 K138
- 0x5C502200, // 0186 MOVE R20 R17
- 0x7C480400, // 0187 CALL R18 2
- 0x8C48258B, // 0188 GETMET R18 R18 K139
- 0x7C480200, // 0189 CALL R18 1
- 0x5C442400, // 018A MOVE R17 R18
- 0x70020002, // 018B JMP #018F
- 0x8C48238B, // 018C GETMET R18 R17 K139
- 0x7C480200, // 018D CALL R18 1
- 0x5C442400, // 018E MOVE R17 R18
- 0x8C48038C, // 018F GETMET R18 R1 K140
- 0x7C480200, // 0190 CALL R18 1
- 0x404E138D, // 0191 CONNECT R19 K9 K141
- 0x94482413, // 0192 GETIDX R18 R18 R19
- 0x604C0015, // 0193 GETGBL R19 G21
- 0x7C4C0000, // 0194 CALL R19 0
- 0x8C4C278E, // 0195 GETMET R19 R19 K142
- 0x5854008F, // 0196 LDCONST R21 K143
- 0x7C4C0400, // 0197 CALL R19 2
- 0x8C500990, // 0198 GETMET R20 R4 K144
- 0x7C500200, // 0199 CALL R20 1
- 0x8C542191, // 019A GETMET R21 R16 K145
- 0x7C540200, // 019B CALL R21 1
- 0x8C542B92, // 019C GETMET R21 R21 K146
- 0x7C540200, // 019D CALL R21 1
- 0x8C582993, // 019E GETMET R22 R20 K147
- 0x5C602400, // 019F MOVE R24 R18
- 0x5C642A00, // 01A0 MOVE R25 R21
- 0x5C682600, // 01A1 MOVE R26 R19
- 0x546E0007, // 01A2 LDINT R27 8
- 0x7C580A00, // 01A3 CALL R22 5
- 0x885C0349, // 01A4 GETMBR R23 R1 K73
- 0x785E0001, // 01A5 JMPF R23 #01A8
- 0x885C0349, // 01A6 GETMBR R23 R1 K73
- 0x70020001, // 01A7 JMP #01AA
- 0x885C0136, // 01A8 GETMBR R23 R0 K54
- 0x885C2F4C, // 01A9 GETMBR R23 R23 K76
- 0x8C601B94, // 01AA GETMET R24 R13 K148
- 0x5C682000, // 01AB MOVE R26 R16
- 0x5C6C2200, // 01AC MOVE R27 R17
- 0x5C702C00, // 01AD MOVE R28 R22
- 0x5C742E00, // 01AE MOVE R29 R23
- 0x7C600A00, // 01AF CALL R24 5
- 0x8C601B95, // 01B0 GETMET R24 R13 K149
- 0x7C600200, // 01B1 CALL R24 1
- 0x88600136, // 01B2 GETMBR R24 R0 K54
- 0x8C603196, // 01B3 GETMET R24 R24 K150
- 0x5C681A00, // 01B4 MOVE R26 R13
- 0x7C600400, // 01B5 CALL R24 2
- 0x8C600397, // 01B6 GETMET R24 R1 K151
- 0x7C600200, // 01B7 CALL R24 1
- 0x78620002, // 01B8 JMPF R24 #01BC
+ 0x8824134A, // 005E GETMBR R9 R9 K74
+ 0x8C24136F, // 005F GETMET R9 R9 K111
+ 0x5C2C0200, // 0060 MOVE R11 R1
+ 0x7C240400, // 0061 CALL R9 2
+ 0x80041000, // 0062 RET 1 R8
+ 0x70020000, // 0063 JMP #0065
+ 0xB006E171, // 0064 RAISE 1 K112 K113
+ 0x7002027D, // 0065 JMP #02E4
+ 0x5422003D, // 0066 LDINT R8 62
+ 0x1C200C08, // 0067 EQ R8 R6 R8
+ 0x782201DF, // 0068 JMPF R8 #0249
+ 0x1C200F0D, // 0069 EQ R8 R7 K13
+ 0x7822001D, // 006A JMPF R8 #0089
+ 0x8C200541, // 006B GETMET R8 R2 K65
+ 0x58280005, // 006C LDCONST R10 K5
+ 0x7C200400, // 006D CALL R8 2
+ 0x20241109, // 006E NE R9 R8 K9
+ 0x78260006, // 006F JMPF R9 #0077
+ 0x2024110D, // 0070 NE R9 R8 K13
+ 0x78260004, // 0071 JMPF R9 #0077
+ 0xB8260200, // 0072 GETNGBL R9 K1
+ 0x88241372, // 0073 GETMBR R9 R9 K114
+ 0x900EC609, // 0074 SETMBR R3 K99 R9
+ 0x4C240000, // 0075 LDNIL R9
+ 0x80041200, // 0076 RET 1 R9
+ 0x8C240B0A, // 0077 GETMET R9 R5 K10
+ 0x7C240200, // 0078 CALL R9 1
+ 0x8C28130B, // 0079 GETMET R10 R9 K11
+ 0x58300005, // 007A LDCONST R12 K5
+ 0x88340B3A, // 007B GETMBR R13 R5 K58
+ 0x1C381109, // 007C EQ R14 R8 K9
+ 0x783A0003, // 007D JMPF R14 #0082
+ 0xB83A0200, // 007E GETNGBL R14 K1
+ 0x8C381D73, // 007F GETMET R14 R14 K115
+ 0x7C380200, // 0080 CALL R14 1
+ 0x70020002, // 0081 JMP #0085
+ 0xB83A0200, // 0082 GETNGBL R14 K1
+ 0x8C381D74, // 0083 GETMET R14 R14 K116
+ 0x7C380200, // 0084 CALL R14 1
+ 0x7C280800, // 0085 CALL R10 4
+ 0x900ED70F, // 0086 SETMBR R3 K107 K15
+ 0x80041200, // 0087 RET 1 R9
+ 0x700201BE, // 0088 JMP #0248
+ 0x1C200F05, // 0089 EQ R8 R7 K5
+ 0x7822003C, // 008A JMPF R8 #00C8
+ 0x8C200541, // 008B GETMET R8 R2 K65
+ 0x58280005, // 008C LDCONST R10 K5
+ 0x7C200400, // 008D CALL R8 2
+ 0x6024000C, // 008E GETGBL R9 G12
+ 0x5C281000, // 008F MOVE R10 R8
+ 0x7C240200, // 0090 CALL R9 1
+ 0x542A001F, // 0091 LDINT R10 32
+ 0x2024120A, // 0092 NE R9 R9 R10
+ 0x78260001, // 0093 JMPF R9 #0096
+ 0x4C240000, // 0094 LDNIL R9
+ 0x80041200, // 0095 RET 1 R9
+ 0x900ED709, // 0096 SETMBR R3 K107 K9
+ 0x8C240B0A, // 0097 GETMET R9 R5 K10
+ 0x7C240200, // 0098 CALL R9 1
+ 0x8C28130B, // 0099 GETMET R10 R9 K11
+ 0x58300009, // 009A LDCONST R12 K9
+ 0x88340B3A, // 009B GETMBR R13 R5 K58
+ 0xB83A0200, // 009C GETNGBL R14 K1
+ 0x8C381D75, // 009D GETMET R14 R14 K117
+ 0x7C380200, // 009E CALL R14 1
+ 0x7C280800, // 009F CALL R10 4
+ 0x8C28130B, // 00A0 GETMET R10 R9 K11
+ 0x5830000D, // 00A1 LDCONST R12 K13
+ 0x88340B1F, // 00A2 GETMBR R13 R5 K31
+ 0x5C381000, // 00A3 MOVE R14 R8
+ 0x7C280800, // 00A4 CALL R10 4
+ 0x8C28130B, // 00A5 GETMET R10 R9 K11
+ 0x5830000F, // 00A6 LDCONST R12 K15
+ 0x88340B2A, // 00A7 GETMBR R13 R5 K42
+ 0xB83A2400, // 00A8 GETNGBL R14 K18
+ 0x8C381D2F, // 00A9 GETMET R14 R14 K47
+ 0x7C380200, // 00AA CALL R14 1
+ 0x7C280800, // 00AB CALL R10 4
+ 0x8C281376, // 00AC GETMET R10 R9 K118
+ 0x7C280200, // 00AD CALL R10 1
+ 0x8C2C0377, // 00AE GETMET R11 R1 K119
+ 0x7C2C0200, // 00AF CALL R11 1
+ 0x0030140B, // 00B0 ADD R12 R10 R11
+ 0x8C340978, // 00B1 GETMET R13 R4 K120
+ 0x7C340200, // 00B2 CALL R13 1
+ 0x8C341B79, // 00B3 GETMET R13 R13 K121
+ 0xB83E0200, // 00B4 GETNGBL R15 K1
+ 0x8C3C1F7A, // 00B5 GETMET R15 R15 K122
+ 0x7C3C0200, // 00B6 CALL R15 1
+ 0x5C401800, // 00B7 MOVE R16 R12
+ 0x7C340600, // 00B8 CALL R13 3
+ 0x8C380B0A, // 00B9 GETMET R14 R5 K10
+ 0x7C380200, // 00BA CALL R14 1
+ 0x8C3C1D0B, // 00BB GETMET R15 R14 K11
+ 0x58440005, // 00BC LDCONST R17 K5
+ 0x88480B3A, // 00BD GETMBR R18 R5 K58
+ 0x5C4C1400, // 00BE MOVE R19 R10
+ 0x7C3C0800, // 00BF CALL R15 4
+ 0x8C3C1D0B, // 00C0 GETMET R15 R14 K11
+ 0x58440009, // 00C1 LDCONST R17 K9
+ 0x88480B1F, // 00C2 GETMBR R18 R5 K31
+ 0x5C4C1A00, // 00C3 MOVE R19 R13
+ 0x7C3C0800, // 00C4 CALL R15 4
+ 0x900ED709, // 00C5 SETMBR R3 K107 K9
+ 0x80041C00, // 00C6 RET 1 R14
+ 0x7002017F, // 00C7 JMP #0248
+ 0x54220003, // 00C8 LDINT R8 4
+ 0x1C200E08, // 00C9 EQ R8 R7 R8
+ 0x7822003C, // 00CA JMPF R8 #0108
+ 0x8C200133, // 00CB GETMET R8 R0 K51
+ 0x5C280600, // 00CC MOVE R10 R3
+ 0x7C200400, // 00CD CALL R8 2
+ 0x8C200541, // 00CE GETMET R8 R2 K65
+ 0x58280005, // 00CF LDCONST R10 K5
+ 0x7C200400, // 00D0 CALL R8 2
+ 0x6024000C, // 00D1 GETGBL R9 G12
+ 0x5C281000, // 00D2 MOVE R10 R8
+ 0x7C240200, // 00D3 CALL R9 1
+ 0x542A001F, // 00D4 LDINT R10 32
+ 0x2024120A, // 00D5 NE R9 R9 R10
+ 0x78260001, // 00D6 JMPF R9 #00D9
+ 0x4C240000, // 00D7 LDNIL R9
+ 0x80041200, // 00D8 RET 1 R9
+ 0x8C240541, // 00D9 GETMET R9 R2 K65
+ 0x582C0009, // 00DA LDCONST R11 K9
+ 0x50300000, // 00DB LDBOOL R12 0 0
+ 0x7C240600, // 00DC CALL R9 3
+ 0x8C28037B, // 00DD GETMET R10 R1 K123
+ 0x7C280200, // 00DE CALL R10 1
+ 0x8C2C0B0A, // 00DF GETMET R11 R5 K10
+ 0x7C2C0200, // 00E0 CALL R11 1
+ 0x8C30170B, // 00E1 GETMET R12 R11 K11
+ 0x58380009, // 00E2 LDCONST R14 K9
+ 0x883C0B3A, // 00E3 GETMBR R15 R5 K58
+ 0x5C401400, // 00E4 MOVE R16 R10
+ 0x7C300800, // 00E5 CALL R12 4
+ 0x8C30170B, // 00E6 GETMET R12 R11 K11
+ 0x5838000D, // 00E7 LDCONST R14 K13
+ 0x883C0B1F, // 00E8 GETMBR R15 R5 K31
+ 0x5C401000, // 00E9 MOVE R16 R8
+ 0x7C300800, // 00EA CALL R12 4
+ 0x8C301776, // 00EB GETMET R12 R11 K118
+ 0x7C300200, // 00EC CALL R12 1
+ 0x8C340377, // 00ED GETMET R13 R1 K119
+ 0x7C340200, // 00EE CALL R13 1
+ 0x0034180D, // 00EF ADD R13 R12 R13
+ 0x8C380978, // 00F0 GETMET R14 R4 K120
+ 0x7C380200, // 00F1 CALL R14 1
+ 0x8C381D79, // 00F2 GETMET R14 R14 K121
+ 0xB8420200, // 00F3 GETNGBL R16 K1
+ 0x8C40217A, // 00F4 GETMET R16 R16 K122
+ 0x7C400200, // 00F5 CALL R16 1
+ 0x5C441A00, // 00F6 MOVE R17 R13
+ 0x7C380600, // 00F7 CALL R14 3
+ 0x8C3C0B0A, // 00F8 GETMET R15 R5 K10
+ 0x7C3C0200, // 00F9 CALL R15 1
+ 0x8C401F0B, // 00FA GETMET R16 R15 K11
+ 0x58480005, // 00FB LDCONST R18 K5
+ 0x884C0B3A, // 00FC GETMBR R19 R5 K58
+ 0x5C501800, // 00FD MOVE R20 R12
+ 0x7C400800, // 00FE CALL R16 4
+ 0x8C401F0B, // 00FF GETMET R16 R15 K11
+ 0x58480009, // 0100 LDCONST R18 K9
+ 0x884C0B1F, // 0101 GETMBR R19 R5 K31
+ 0x5C501C00, // 0102 MOVE R20 R14
+ 0x7C400800, // 0103 CALL R16 4
+ 0x54420004, // 0104 LDINT R16 5
+ 0x900ED610, // 0105 SETMBR R3 K107 R16
+ 0x80041E00, // 0106 RET 1 R15
+ 0x7002013F, // 0107 JMP #0248
+ 0x5422000A, // 0108 LDINT R8 11
+ 0x1C200E08, // 0109 EQ R8 R7 R8
+ 0x7822000B, // 010A JMPF R8 #0117
+ 0x8C200541, // 010B GETMET R8 R2 K65
+ 0x58280005, // 010C LDCONST R10 K5
+ 0x7C200400, // 010D CALL R8 2
+ 0x8C24037C, // 010E GETMET R9 R1 K124
+ 0x5C2C1000, // 010F MOVE R11 R8
+ 0x7C240400, // 0110 CALL R9 2
+ 0xB8260200, // 0111 GETNGBL R9 K1
+ 0x8824137D, // 0112 GETMBR R9 R9 K125
+ 0x900EC609, // 0113 SETMBR R3 K99 R9
+ 0x4C240000, // 0114 LDNIL R9
+ 0x80041200, // 0115 RET 1 R9
+ 0x70020130, // 0116 JMP #0248
+ 0x54220005, // 0117 LDINT R8 6
+ 0x1C200E08, // 0118 EQ R8 R7 R8
+ 0x782200BA, // 0119 JMPF R8 #01D5
+ 0xB822FC00, // 011A GETNGBL R8 K126
+ 0x60240008, // 011B GETGBL R9 G8
+ 0x5C280400, // 011C MOVE R10 R2
+ 0x7C240200, // 011D CALL R9 1
+ 0x0026FE09, // 011E ADD R9 K127 R9
+ 0x542A0003, // 011F LDINT R10 4
+ 0x7C200400, // 0120 CALL R8 2
+ 0x8C200541, // 0121 GETMET R8 R2 K65
+ 0x58280005, // 0122 LDCONST R10 K5
+ 0x7C200400, // 0123 CALL R8 2
+ 0x8C240541, // 0124 GETMET R9 R2 K65
+ 0x582C0009, // 0125 LDCONST R11 K9
+ 0x7C240400, // 0126 CALL R9 2
+ 0x6028000C, // 0127 GETGBL R10 G12
+ 0x5C2C1200, // 0128 MOVE R11 R9
+ 0x7C280200, // 0129 CALL R10 1
+ 0x1C281505, // 012A EQ R10 R10 K5
+ 0x782A0000, // 012B JMPF R10 #012D
+ 0x4C240000, // 012C LDNIL R9
+ 0x8C280541, // 012D GETMET R10 R2 K65
+ 0x5830000D, // 012E LDCONST R12 K13
+ 0x7C280400, // 012F CALL R10 2
+ 0x8C2C0541, // 0130 GETMET R11 R2 K65
+ 0x5834000F, // 0131 LDCONST R13 K15
+ 0x7C2C0400, // 0132 CALL R11 2
+ 0x8C300541, // 0133 GETMET R12 R2 K65
+ 0x543A0003, // 0134 LDINT R14 4
+ 0x7C300400, // 0135 CALL R12 2
+ 0x8C340380, // 0136 GETMET R13 R1 K128
+ 0x7C340200, // 0137 CALL R13 1
+ 0x4C380000, // 0138 LDNIL R14
+ 0x1C341A0E, // 0139 EQ R13 R13 R14
+ 0x78360005, // 013A JMPF R13 #0141
+ 0xB836FC00, // 013B GETNGBL R13 K126
+ 0x58380081, // 013C LDCONST R14 K129
+ 0x583C000D, // 013D LDCONST R15 K13
+ 0x7C340400, // 013E CALL R13 2
+ 0x4C340000, // 013F LDNIL R13
+ 0x80041A00, // 0140 RET 1 R13
+ 0x88340136, // 0141 GETMBR R13 R0 K54
+ 0x88341B37, // 0142 GETMBR R13 R13 K55
+ 0x8C341B82, // 0143 GETMET R13 R13 K130
+ 0x7C340200, // 0144 CALL R13 1
+ 0x8C381B83, // 0145 GETMET R14 R13 K131
+ 0x8C400380, // 0146 GETMET R16 R1 K128
+ 0x7C400200, // 0147 CALL R16 1
+ 0x7C380400, // 0148 CALL R14 2
+ 0x8C381B84, // 0149 GETMET R14 R13 K132
+ 0x5C401000, // 014A MOVE R16 R8
+ 0x5C441200, // 014B MOVE R17 R9
+ 0x7C380600, // 014C CALL R14 3
+ 0x8C381B85, // 014D GETMET R14 R13 K133
+ 0x5C401400, // 014E MOVE R16 R10
+ 0x7C380400, // 014F CALL R14 2
+ 0x8C381B86, // 0150 GETMET R14 R13 K134
+ 0x5C401600, // 0151 MOVE R16 R11
+ 0x5C441800, // 0152 MOVE R17 R12
+ 0x7C380600, // 0153 CALL R14 3
+ 0x8C381B87, // 0154 GETMET R14 R13 K135
+ 0x8C400388, // 0155 GETMET R16 R1 K136
+ 0x7C400200, // 0156 CALL R16 1
+ 0x7C380400, // 0157 CALL R14 2
+ 0xB83A0200, // 0158 GETNGBL R14 K1
+ 0x88381D02, // 0159 GETMBR R14 R14 K2
+ 0x8C381D3F, // 015A GETMET R14 R14 K63
+ 0x5C401000, // 015B MOVE R16 R8
+ 0x7C380400, // 015C CALL R14 2
+ 0x8C3C1D89, // 015D GETMET R15 R14 K137
+ 0x54460005, // 015E LDINT R17 6
+ 0x7C3C0400, // 015F CALL R15 2
+ 0x8C401F41, // 0160 GETMET R16 R15 K65
+ 0x544A0014, // 0161 LDINT R18 21
+ 0x7C400400, // 0162 CALL R16 2
+ 0x8C441F41, // 0163 GETMET R17 R15 K65
+ 0x544E0010, // 0164 LDINT R19 17
+ 0x7C440400, // 0165 CALL R17 2
+ 0x5C482000, // 0166 MOVE R18 R16
+ 0x784A0001, // 0167 JMPF R18 #016A
+ 0x5C482200, // 0168 MOVE R18 R17
+ 0x744A0005, // 0169 JMPT R18 #0170
+ 0xB84AFC00, // 016A GETNGBL R18 K126
+ 0x584C008A, // 016B LDCONST R19 K138
+ 0x5850000D, // 016C LDCONST R20 K13
+ 0x7C480400, // 016D CALL R18 2
+ 0x50480000, // 016E LDBOOL R18 0 0
+ 0x80042400, // 016F RET 1 R18
+ 0x60480004, // 0170 GETGBL R18 G4
+ 0x5C4C2000, // 0171 MOVE R19 R16
+ 0x7C480200, // 0172 CALL R18 1
+ 0x1C482561, // 0173 EQ R18 R18 K97
+ 0x784A0007, // 0174 JMPF R18 #017D
+ 0xB84A5C00, // 0175 GETNGBL R18 K46
+ 0x8C48258B, // 0176 GETMET R18 R18 K139
+ 0x5C502000, // 0177 MOVE R20 R16
+ 0x7C480400, // 0178 CALL R18 2
+ 0x8C48258C, // 0179 GETMET R18 R18 K140
+ 0x7C480200, // 017A CALL R18 1
+ 0x5C402400, // 017B MOVE R16 R18
+ 0x70020002, // 017C JMP #0180
+ 0x8C48218C, // 017D GETMET R18 R16 K140
+ 0x7C480200, // 017E CALL R18 1
+ 0x5C402400, // 017F MOVE R16 R18
+ 0x60480004, // 0180 GETGBL R18 G4
+ 0x5C4C2200, // 0181 MOVE R19 R17
+ 0x7C480200, // 0182 CALL R18 1
+ 0x1C482561, // 0183 EQ R18 R18 K97
+ 0x784A0007, // 0184 JMPF R18 #018D
+ 0xB84A5C00, // 0185 GETNGBL R18 K46
+ 0x8C48258B, // 0186 GETMET R18 R18 K139
+ 0x5C502200, // 0187 MOVE R20 R17
+ 0x7C480400, // 0188 CALL R18 2
+ 0x8C48258C, // 0189 GETMET R18 R18 K140
+ 0x7C480200, // 018A CALL R18 1
+ 0x5C442400, // 018B MOVE R17 R18
+ 0x70020002, // 018C JMP #0190
+ 0x8C48238C, // 018D GETMET R18 R17 K140
+ 0x7C480200, // 018E CALL R18 1
+ 0x5C442400, // 018F MOVE R17 R18
+ 0x8C48038D, // 0190 GETMET R18 R1 K141
+ 0x7C480200, // 0191 CALL R18 1
+ 0x404E138E, // 0192 CONNECT R19 K9 K142
+ 0x94482413, // 0193 GETIDX R18 R18 R19
+ 0x604C0015, // 0194 GETGBL R19 G21
+ 0x7C4C0000, // 0195 CALL R19 0
+ 0x8C4C278F, // 0196 GETMET R19 R19 K143
+ 0x58540090, // 0197 LDCONST R21 K144
+ 0x7C4C0400, // 0198 CALL R19 2
+ 0x8C500991, // 0199 GETMET R20 R4 K145
+ 0x7C500200, // 019A CALL R20 1
+ 0x8C542192, // 019B GETMET R21 R16 K146
+ 0x7C540200, // 019C CALL R21 1
+ 0x8C542B93, // 019D GETMET R21 R21 K147
+ 0x7C540200, // 019E CALL R21 1
+ 0x8C582994, // 019F GETMET R22 R20 K148
+ 0x5C602400, // 01A0 MOVE R24 R18
+ 0x5C642A00, // 01A1 MOVE R25 R21
+ 0x5C682600, // 01A2 MOVE R26 R19
+ 0x546E0007, // 01A3 LDINT R27 8
+ 0x7C580A00, // 01A4 CALL R22 5
+ 0x885C0349, // 01A5 GETMBR R23 R1 K73
+ 0x785E0001, // 01A6 JMPF R23 #01A9
+ 0x885C0349, // 01A7 GETMBR R23 R1 K73
+ 0x70020002, // 01A8 JMP #01AC
+ 0x885C0136, // 01A9 GETMBR R23 R0 K54
+ 0x885C2F4A, // 01AA GETMBR R23 R23 K74
+ 0x885C2F4D, // 01AB GETMBR R23 R23 K77
+ 0x8C601B95, // 01AC GETMET R24 R13 K149
+ 0x5C682000, // 01AD MOVE R26 R16
+ 0x5C6C2200, // 01AE MOVE R27 R17
+ 0x5C702C00, // 01AF MOVE R28 R22
+ 0x5C742E00, // 01B0 MOVE R29 R23
+ 0x7C600A00, // 01B1 CALL R24 5
+ 0x8C601B96, // 01B2 GETMET R24 R13 K150
+ 0x7C600200, // 01B3 CALL R24 1
+ 0x88600136, // 01B4 GETMBR R24 R0 K54
+ 0x8860314A, // 01B5 GETMBR R24 R24 K74
+ 0x8C603197, // 01B6 GETMET R24 R24 K151
+ 0x5C681A00, // 01B7 MOVE R26 R13
+ 0x7C600400, // 01B8 CALL R24 2
0x8C600398, // 01B9 GETMET R24 R1 K152
- 0x546A003B, // 01BA LDINT R26 60
- 0x7C600400, // 01BB CALL R24 2
- 0x8C601B99, // 01BC GETMET R24 R13 K153
- 0x7C600200, // 01BD CALL R24 1
- 0x8C601B9A, // 01BE GETMET R24 R13 K154
- 0x7C600200, // 01BF CALL R24 1
- 0x8C600B0A, // 01C0 GETMET R24 R5 K10
- 0x7C600200, // 01C1 CALL R24 1
- 0x8C64310B, // 01C2 GETMET R25 R24 K11
- 0x586C0005, // 01C3 LDCONST R27 K5
- 0x88700B0E, // 01C4 GETMBR R28 R5 K14
- 0xB8760200, // 01C5 GETNGBL R29 K1
- 0x88743B7C, // 01C6 GETMBR R29 R29 K124
- 0x7C640800, // 01C7 CALL R25 4
- 0x8C64310B, // 01C8 GETMET R25 R24 K11
- 0x586C0009, // 01C9 LDCONST R27 K9
- 0x88700B0E, // 01CA GETMBR R28 R5 K14
- 0x8C741B3D, // 01CB GETMET R29 R13 K61
- 0x7C740200, // 01CC CALL R29 1
- 0x7C640800, // 01CD CALL R25 4
- 0x54660007, // 01CE LDINT R25 8
- 0x900ED419, // 01CF SETMBR R3 K106 R25
- 0x80043000, // 01D0 RET 1 R24
- 0x70020072, // 01D1 JMP #0245
- 0x54220008, // 01D2 LDINT R8 9
- 0x1C200E08, // 01D3 EQ R8 R7 R8
- 0x7822002B, // 01D4 JMPF R8 #0201
- 0x8C200541, // 01D5 GETMET R8 R2 K65
- 0x58280005, // 01D6 LDCONST R10 K5
- 0x7C200400, // 01D7 CALL R8 2
- 0x8C24039B, // 01D8 GETMET R9 R1 K155
- 0x5C2C1000, // 01D9 MOVE R11 R8
- 0x7C240400, // 01DA CALL R9 2
- 0xB826FA00, // 01DB GETNGBL R9 K125
- 0x60280018, // 01DC GETGBL R10 G24
- 0x582C009C, // 01DD LDCONST R11 K156
- 0x88300349, // 01DE GETMBR R12 R1 K73
- 0x8C30199D, // 01DF GETMET R12 R12 K157
- 0x7C300200, // 01E0 CALL R12 1
- 0x8C301991, // 01E1 GETMET R12 R12 K145
- 0x7C300200, // 01E2 CALL R12 1
- 0x8C301992, // 01E3 GETMET R12 R12 K146
- 0x7C300200, // 01E4 CALL R12 1
- 0x8C30199E, // 01E5 GETMET R12 R12 K158
- 0x7C300200, // 01E6 CALL R12 1
- 0x60340008, // 01E7 GETGBL R13 G8
- 0x5C381000, // 01E8 MOVE R14 R8
- 0x7C340200, // 01E9 CALL R13 1
- 0x7C280600, // 01EA CALL R10 3
- 0x582C000F, // 01EB LDCONST R11 K15
- 0x7C240400, // 01EC CALL R9 2
- 0x8C240B0A, // 01ED GETMET R9 R5 K10
- 0x7C240200, // 01EE CALL R9 1
- 0x8C28130B, // 01EF GETMET R10 R9 K11
- 0x58300005, // 01F0 LDCONST R12 K5
- 0x88340B0E, // 01F1 GETMBR R13 R5 K14
- 0xB83A0200, // 01F2 GETNGBL R14 K1
- 0x88381D7C, // 01F3 GETMBR R14 R14 K124
- 0x7C280800, // 01F4 CALL R10 4
- 0x8C28130B, // 01F5 GETMET R10 R9 K11
- 0x58300009, // 01F6 LDCONST R12 K9
- 0x88340B0E, // 01F7 GETMBR R13 R5 K14
- 0x8C380335, // 01F8 GETMET R14 R1 K53
- 0x7C380200, // 01F9 CALL R14 1
- 0x8C381D3D, // 01FA GETMET R14 R14 K61
- 0x7C380200, // 01FB CALL R14 1
- 0x7C280800, // 01FC CALL R10 4
- 0x542A0007, // 01FD LDINT R10 8
- 0x900ED40A, // 01FE SETMBR R3 K106 R10
- 0x80041200, // 01FF RET 1 R9
- 0x70020043, // 0200 JMP #0245
- 0x54220009, // 0201 LDINT R8 10
- 0x1C200E08, // 0202 EQ R8 R7 R8
- 0x78220040, // 0203 JMPF R8 #0245
- 0x8C200541, // 0204 GETMET R8 R2 K65
- 0x58280005, // 0205 LDCONST R10 K5
- 0x7C200400, // 0206 CALL R8 2
- 0x60240008, // 0207 GETGBL R9 G8
- 0x5C281000, // 0208 MOVE R10 R8
- 0x7C240200, // 0209 CALL R9 1
- 0x00273E09, // 020A ADD R9 K159 R9
- 0x900EFA09, // 020B SETMBR R3 K125 R9
- 0x60240010, // 020C GETGBL R9 G16
- 0x88280136, // 020D GETMBR R10 R0 K54
- 0x88281537, // 020E GETMBR R10 R10 K55
- 0x8C281538, // 020F GETMET R10 R10 K56
- 0x7C280200, // 0210 CALL R10 1
- 0x7C240200, // 0211 CALL R9 1
- 0xA8020020, // 0212 EXBLK 0 #0234
- 0x5C281200, // 0213 MOVE R10 R9
- 0x7C280000, // 0214 CALL R10 0
- 0x8C2C153D, // 0215 GETMET R11 R10 K61
- 0x7C2C0200, // 0216 CALL R11 1
- 0x1C2C1608, // 0217 EQ R11 R11 R8
- 0x782E0018, // 0218 JMPF R11 #0232
- 0x8C2C15A0, // 0219 GETMET R11 R10 K160
- 0x7C2C0200, // 021A CALL R11 1
- 0xB82E2400, // 021B GETNGBL R11 K18
- 0x8C2C17A1, // 021C GETMET R11 R11 K161
- 0x543607CF, // 021D LDINT R13 2000
- 0x84380000, // 021E CLOSURE R14 P0
- 0x7C2C0600, // 021F CALL R11 3
- 0x8C2C0B0A, // 0220 GETMET R11 R5 K10
- 0x7C2C0200, // 0221 CALL R11 1
- 0x8C30170B, // 0222 GETMET R12 R11 K11
- 0x58380005, // 0223 LDCONST R14 K5
- 0x883C0B0E, // 0224 GETMBR R15 R5 K14
- 0xB8420200, // 0225 GETNGBL R16 K1
- 0x8840217C, // 0226 GETMBR R16 R16 K124
- 0x7C300800, // 0227 CALL R12 4
- 0x8C30170B, // 0228 GETMET R12 R11 K11
- 0x58380009, // 0229 LDCONST R14 K9
- 0x883C0B0E, // 022A GETMBR R15 R5 K14
- 0x5C401000, // 022B MOVE R16 R8
- 0x7C300800, // 022C CALL R12 4
- 0x54320007, // 022D LDINT R12 8
- 0x900ED40C, // 022E SETMBR R3 K106 R12
- 0xA0000000, // 022F CLOSE R0
- 0xA8040001, // 0230 EXBLK 1 1
- 0x80041600, // 0231 RET 1 R11
- 0xA0240000, // 0232 CLOSE R9
- 0x7001FFDE, // 0233 JMP #0213
- 0x5824003E, // 0234 LDCONST R9 K62
- 0xAC240200, // 0235 CATCH R9 1 0
- 0xB0080000, // 0236 RAISE 2 R0 R0
- 0xB826FA00, // 0237 GETNGBL R9 K125
- 0x60280008, // 0238 GETGBL R10 G8
- 0x5C2C1000, // 0239 MOVE R11 R8
- 0x7C280200, // 023A CALL R10 1
- 0x002B440A, // 023B ADD R10 K162 R10
- 0x002815A3, // 023C ADD R10 R10 K163
- 0x582C000D, // 023D LDCONST R11 K13
- 0x7C240400, // 023E CALL R9 2
- 0xB8260200, // 023F GETNGBL R9 K1
- 0x88241364, // 0240 GETMBR R9 R9 K100
- 0x900EC409, // 0241 SETMBR R3 K98 R9
- 0x4C240000, // 0242 LDNIL R9
- 0xA0000000, // 0243 CLOSE R0
- 0x80041200, // 0244 RET 1 R9
- 0x70020098, // 0245 JMP #02DF
- 0x5422003B, // 0246 LDINT R8 60
- 0x1C200C08, // 0247 EQ R8 R6 R8
- 0x78220082, // 0248 JMPF R8 #02CC
- 0x1C200F05, // 0249 EQ R8 R7 K5
- 0x78220063, // 024A JMPF R8 #02AF
- 0x8C200541, // 024B GETMET R8 R2 K65
- 0x58280005, // 024C LDCONST R10 K5
- 0x7C200400, // 024D CALL R8 2
- 0x8C240541, // 024E GETMET R9 R2 K65
- 0x582C0009, // 024F LDCONST R11 K9
- 0x7C240400, // 0250 CALL R9 2
- 0x8C280541, // 0251 GETMET R10 R2 K65
- 0x5830000D, // 0252 LDCONST R12 K13
- 0x7C280400, // 0253 CALL R10 2
- 0x8C2C0541, // 0254 GETMET R11 R2 K65
- 0x5834000F, // 0255 LDCONST R13 K15
- 0x7C2C0400, // 0256 CALL R11 2
- 0x8C300541, // 0257 GETMET R12 R2 K65
- 0x543A0003, // 0258 LDINT R14 4
- 0x7C300400, // 0259 CALL R12 2
- 0xB836FA00, // 025A GETNGBL R13 K125
- 0x60380018, // 025B GETGBL R14 G24
- 0x583C00A4, // 025C LDCONST R15 K164
- 0x5C401000, // 025D MOVE R16 R8
- 0x8C44139E, // 025E GETMET R17 R9 K158
- 0x7C440200, // 025F CALL R17 1
- 0x5C481400, // 0260 MOVE R18 R10
- 0x5C4C1600, // 0261 MOVE R19 R11
- 0x8C50199E, // 0262 GETMET R20 R12 K158
- 0x7C500200, // 0263 CALL R20 1
- 0x7C380C00, // 0264 CALL R14 6
- 0x543E0003, // 0265 LDINT R15 4
- 0x7C340400, // 0266 CALL R13 2
- 0x4C340000, // 0267 LDNIL R13
- 0x1C34100D, // 0268 EQ R13 R8 R13
- 0x7436000B, // 0269 JMPT R13 #0276
+ 0x7C600200, // 01BA CALL R24 1
+ 0x78620002, // 01BB JMPF R24 #01BF
+ 0x8C600399, // 01BC GETMET R24 R1 K153
+ 0x546A003B, // 01BD LDINT R26 60
+ 0x7C600400, // 01BE CALL R24 2
+ 0x8C601B9A, // 01BF GETMET R24 R13 K154
+ 0x7C600200, // 01C0 CALL R24 1
+ 0x8C601B9B, // 01C1 GETMET R24 R13 K155
+ 0x7C600200, // 01C2 CALL R24 1
+ 0x8C600B0A, // 01C3 GETMET R24 R5 K10
+ 0x7C600200, // 01C4 CALL R24 1
+ 0x8C64310B, // 01C5 GETMET R25 R24 K11
+ 0x586C0005, // 01C6 LDCONST R27 K5
+ 0x88700B0E, // 01C7 GETMBR R28 R5 K14
+ 0xB8760200, // 01C8 GETNGBL R29 K1
+ 0x88743B7D, // 01C9 GETMBR R29 R29 K125
+ 0x7C640800, // 01CA CALL R25 4
+ 0x8C64310B, // 01CB GETMET R25 R24 K11
+ 0x586C0009, // 01CC LDCONST R27 K9
+ 0x88700B0E, // 01CD GETMBR R28 R5 K14
+ 0x8C741B3D, // 01CE GETMET R29 R13 K61
+ 0x7C740200, // 01CF CALL R29 1
+ 0x7C640800, // 01D0 CALL R25 4
+ 0x54660007, // 01D1 LDINT R25 8
+ 0x900ED619, // 01D2 SETMBR R3 K107 R25
+ 0x80043000, // 01D3 RET 1 R24
+ 0x70020072, // 01D4 JMP #0248
+ 0x54220008, // 01D5 LDINT R8 9
+ 0x1C200E08, // 01D6 EQ R8 R7 R8
+ 0x7822002B, // 01D7 JMPF R8 #0204
+ 0x8C200541, // 01D8 GETMET R8 R2 K65
+ 0x58280005, // 01D9 LDCONST R10 K5
+ 0x7C200400, // 01DA CALL R8 2
+ 0x8C24039C, // 01DB GETMET R9 R1 K156
+ 0x5C2C1000, // 01DC MOVE R11 R8
+ 0x7C240400, // 01DD CALL R9 2
+ 0xB826FC00, // 01DE GETNGBL R9 K126
+ 0x60280018, // 01DF GETGBL R10 G24
+ 0x582C009D, // 01E0 LDCONST R11 K157
+ 0x88300349, // 01E1 GETMBR R12 R1 K73
+ 0x8C30199E, // 01E2 GETMET R12 R12 K158
+ 0x7C300200, // 01E3 CALL R12 1
+ 0x8C301992, // 01E4 GETMET R12 R12 K146
+ 0x7C300200, // 01E5 CALL R12 1
+ 0x8C301993, // 01E6 GETMET R12 R12 K147
+ 0x7C300200, // 01E7 CALL R12 1
+ 0x8C30199F, // 01E8 GETMET R12 R12 K159
+ 0x7C300200, // 01E9 CALL R12 1
+ 0x60340008, // 01EA GETGBL R13 G8
+ 0x5C381000, // 01EB MOVE R14 R8
+ 0x7C340200, // 01EC CALL R13 1
+ 0x7C280600, // 01ED CALL R10 3
+ 0x582C000F, // 01EE LDCONST R11 K15
+ 0x7C240400, // 01EF CALL R9 2
+ 0x8C240B0A, // 01F0 GETMET R9 R5 K10
+ 0x7C240200, // 01F1 CALL R9 1
+ 0x8C28130B, // 01F2 GETMET R10 R9 K11
+ 0x58300005, // 01F3 LDCONST R12 K5
+ 0x88340B0E, // 01F4 GETMBR R13 R5 K14
+ 0xB83A0200, // 01F5 GETNGBL R14 K1
+ 0x88381D7D, // 01F6 GETMBR R14 R14 K125
+ 0x7C280800, // 01F7 CALL R10 4
+ 0x8C28130B, // 01F8 GETMET R10 R9 K11
+ 0x58300009, // 01F9 LDCONST R12 K9
+ 0x88340B0E, // 01FA GETMBR R13 R5 K14
+ 0x8C380335, // 01FB GETMET R14 R1 K53
+ 0x7C380200, // 01FC CALL R14 1
+ 0x8C381D3D, // 01FD GETMET R14 R14 K61
+ 0x7C380200, // 01FE CALL R14 1
+ 0x7C280800, // 01FF CALL R10 4
+ 0x542A0007, // 0200 LDINT R10 8
+ 0x900ED60A, // 0201 SETMBR R3 K107 R10
+ 0x80041200, // 0202 RET 1 R9
+ 0x70020043, // 0203 JMP #0248
+ 0x54220009, // 0204 LDINT R8 10
+ 0x1C200E08, // 0205 EQ R8 R7 R8
+ 0x78220040, // 0206 JMPF R8 #0248
+ 0x8C200541, // 0207 GETMET R8 R2 K65
+ 0x58280005, // 0208 LDCONST R10 K5
+ 0x7C200400, // 0209 CALL R8 2
+ 0x60240008, // 020A GETGBL R9 G8
+ 0x5C281000, // 020B MOVE R10 R8
+ 0x7C240200, // 020C CALL R9 1
+ 0x00274009, // 020D ADD R9 K160 R9
+ 0x900EFC09, // 020E SETMBR R3 K126 R9
+ 0x60240010, // 020F GETGBL R9 G16
+ 0x88280136, // 0210 GETMBR R10 R0 K54
+ 0x88281537, // 0211 GETMBR R10 R10 K55
+ 0x8C281538, // 0212 GETMET R10 R10 K56
+ 0x7C280200, // 0213 CALL R10 1
+ 0x7C240200, // 0214 CALL R9 1
+ 0xA8020020, // 0215 EXBLK 0 #0237
+ 0x5C281200, // 0216 MOVE R10 R9
+ 0x7C280000, // 0217 CALL R10 0
+ 0x8C2C153D, // 0218 GETMET R11 R10 K61
+ 0x7C2C0200, // 0219 CALL R11 1
+ 0x1C2C1608, // 021A EQ R11 R11 R8
+ 0x782E0018, // 021B JMPF R11 #0235
+ 0x8C2C15A1, // 021C GETMET R11 R10 K161
+ 0x7C2C0200, // 021D CALL R11 1
+ 0xB82E2400, // 021E GETNGBL R11 K18
+ 0x8C2C17A2, // 021F GETMET R11 R11 K162
+ 0x543607CF, // 0220 LDINT R13 2000
+ 0x84380000, // 0221 CLOSURE R14 P0
+ 0x7C2C0600, // 0222 CALL R11 3
+ 0x8C2C0B0A, // 0223 GETMET R11 R5 K10
+ 0x7C2C0200, // 0224 CALL R11 1
+ 0x8C30170B, // 0225 GETMET R12 R11 K11
+ 0x58380005, // 0226 LDCONST R14 K5
+ 0x883C0B0E, // 0227 GETMBR R15 R5 K14
+ 0xB8420200, // 0228 GETNGBL R16 K1
+ 0x8840217D, // 0229 GETMBR R16 R16 K125
+ 0x7C300800, // 022A CALL R12 4
+ 0x8C30170B, // 022B GETMET R12 R11 K11
+ 0x58380009, // 022C LDCONST R14 K9
+ 0x883C0B0E, // 022D GETMBR R15 R5 K14
+ 0x5C401000, // 022E MOVE R16 R8
+ 0x7C300800, // 022F CALL R12 4
+ 0x54320007, // 0230 LDINT R12 8
+ 0x900ED60C, // 0231 SETMBR R3 K107 R12
+ 0xA0000000, // 0232 CLOSE R0
+ 0xA8040001, // 0233 EXBLK 1 1
+ 0x80041600, // 0234 RET 1 R11
+ 0xA0240000, // 0235 CLOSE R9
+ 0x7001FFDE, // 0236 JMP #0216
+ 0x5824003E, // 0237 LDCONST R9 K62
+ 0xAC240200, // 0238 CATCH R9 1 0
+ 0xB0080000, // 0239 RAISE 2 R0 R0
+ 0xB826FC00, // 023A GETNGBL R9 K126
+ 0x60280008, // 023B GETGBL R10 G8
+ 0x5C2C1000, // 023C MOVE R11 R8
+ 0x7C280200, // 023D CALL R10 1
+ 0x002B460A, // 023E ADD R10 K163 R10
+ 0x002815A4, // 023F ADD R10 R10 K164
+ 0x582C000D, // 0240 LDCONST R11 K13
+ 0x7C240400, // 0241 CALL R9 2
+ 0xB8260200, // 0242 GETNGBL R9 K1
+ 0x88241365, // 0243 GETMBR R9 R9 K101
+ 0x900EC609, // 0244 SETMBR R3 K99 R9
+ 0x4C240000, // 0245 LDNIL R9
+ 0xA0000000, // 0246 CLOSE R0
+ 0x80041200, // 0247 RET 1 R9
+ 0x7002009A, // 0248 JMP #02E4
+ 0x5422003B, // 0249 LDINT R8 60
+ 0x1C200C08, // 024A EQ R8 R6 R8
+ 0x78220084, // 024B JMPF R8 #02D1
+ 0x1C200F05, // 024C EQ R8 R7 K5
+ 0x78220064, // 024D JMPF R8 #02B3
+ 0x8C200541, // 024E GETMET R8 R2 K65
+ 0x58280005, // 024F LDCONST R10 K5
+ 0x7C200400, // 0250 CALL R8 2
+ 0x8C240541, // 0251 GETMET R9 R2 K65
+ 0x582C0009, // 0252 LDCONST R11 K9
+ 0x7C240400, // 0253 CALL R9 2
+ 0x8C280541, // 0254 GETMET R10 R2 K65
+ 0x5830000D, // 0255 LDCONST R12 K13
+ 0x7C280400, // 0256 CALL R10 2
+ 0x8C2C0541, // 0257 GETMET R11 R2 K65
+ 0x5834000F, // 0258 LDCONST R13 K15
+ 0x7C2C0400, // 0259 CALL R11 2
+ 0x8C300541, // 025A GETMET R12 R2 K65
+ 0x543A0003, // 025B LDINT R14 4
+ 0x7C300400, // 025C CALL R12 2
+ 0xB836FC00, // 025D GETNGBL R13 K126
+ 0x60380018, // 025E GETGBL R14 G24
+ 0x583C00A5, // 025F LDCONST R15 K165
+ 0x5C401000, // 0260 MOVE R16 R8
+ 0x8C44139F, // 0261 GETMET R17 R9 K159
+ 0x7C440200, // 0262 CALL R17 1
+ 0x5C481400, // 0263 MOVE R18 R10
+ 0x5C4C1600, // 0264 MOVE R19 R11
+ 0x8C50199F, // 0265 GETMET R20 R12 K159
+ 0x7C500200, // 0266 CALL R20 1
+ 0x7C380C00, // 0267 CALL R14 6
+ 0x543E0003, // 0268 LDINT R15 4
+ 0x7C340400, // 0269 CALL R13 2
0x4C340000, // 026A LDNIL R13
- 0x1C34120D, // 026B EQ R13 R9 R13
- 0x74360008, // 026C JMPT R13 #0276
+ 0x1C34100D, // 026B EQ R13 R8 R13
+ 0x7436000B, // 026C JMPT R13 #0279
0x4C340000, // 026D LDNIL R13
- 0x1C34140D, // 026E EQ R13 R10 R13
- 0x74360005, // 026F JMPT R13 #0276
+ 0x1C34120D, // 026E EQ R13 R9 R13
+ 0x74360008, // 026F JMPT R13 #0279
0x4C340000, // 0270 LDNIL R13
- 0x1C34160D, // 0271 EQ R13 R11 R13
- 0x74360002, // 0272 JMPT R13 #0276
+ 0x1C34140D, // 0271 EQ R13 R10 R13
+ 0x74360005, // 0272 JMPT R13 #0279
0x4C340000, // 0273 LDNIL R13
- 0x1C34180D, // 0274 EQ R13 R12 R13
- 0x78360005, // 0275 JMPF R13 #027C
- 0xB8360200, // 0276 GETNGBL R13 K1
- 0x88341BA5, // 0277 GETMBR R13 R13 K165
- 0x900EC40D, // 0278 SETMBR R3 K98 R13
- 0x4C340000, // 0279 LDNIL R13
- 0xA0000000, // 027A CLOSE R0
- 0x80041A00, // 027B RET 1 R13
- 0x6034000C, // 027C GETGBL R13 G12
- 0x5C381200, // 027D MOVE R14 R9
- 0x7C340200, // 027E CALL R13 1
- 0x543A001F, // 027F LDINT R14 32
- 0x543E0040, // 0280 LDINT R15 65
- 0x00381C0F, // 0281 ADD R14 R14 R15
- 0x20341A0E, // 0282 NE R13 R13 R14
- 0x7436000B, // 0283 JMPT R13 #0290
- 0x6034000C, // 0284 GETGBL R13 G12
- 0x5C381800, // 0285 MOVE R14 R12
- 0x7C340200, // 0286 CALL R13 1
- 0x543A000F, // 0287 LDINT R14 16
- 0x14341A0E, // 0288 LT R13 R13 R14
- 0x74360005, // 0289 JMPT R13 #0290
- 0x6034000C, // 028A GETGBL R13 G12
- 0x5C381800, // 028B MOVE R14 R12
- 0x7C340200, // 028C CALL R13 1
- 0x543A001F, // 028D LDINT R14 32
- 0x24341A0E, // 028E GT R13 R13 R14
- 0x78360009, // 028F JMPF R13 #029A
- 0xB836FA00, // 0290 GETNGBL R13 K125
- 0x583800A6, // 0291 LDCONST R14 K166
- 0x583C000D, // 0292 LDCONST R15 K13
- 0x7C340400, // 0293 CALL R13 2
- 0xB8360200, // 0294 GETNGBL R13 K1
- 0x88341B63, // 0295 GETMBR R13 R13 K99
- 0x900EC40D, // 0296 SETMBR R3 K98 R13
- 0x4C340000, // 0297 LDNIL R13
- 0xA0000000, // 0298 CLOSE R0
- 0x80041A00, // 0299 RET 1 R13
- 0x5436001E, // 029A LDINT R13 31
- 0x40360A0D, // 029B CONNECT R13 K5 R13
- 0x9434120D, // 029C GETIDX R13 R9 R13
- 0x543A001F, // 029D LDINT R14 32
- 0x40381D8D, // 029E CONNECT R14 R14 K141
- 0x9438120E, // 029F GETIDX R14 R9 R14
- 0x883C0136, // 02A0 GETMBR R15 R0 K54
- 0x8C3C1FA7, // 02A1 GETMET R15 R15 K167
- 0x5C441000, // 02A2 MOVE R17 R8
- 0x5C481600, // 02A3 MOVE R18 R11
- 0x5C4C1400, // 02A4 MOVE R19 R10
- 0x5C501800, // 02A5 MOVE R20 R12
- 0x5C541A00, // 02A6 MOVE R21 R13
- 0x5C581C00, // 02A7 MOVE R22 R14
- 0x8C5C0335, // 02A8 GETMET R23 R1 K53
- 0x7C5C0200, // 02A9 CALL R23 1
- 0x7C3C1000, // 02AA CALL R15 8
- 0x503C0200, // 02AB LDBOOL R15 1 0
- 0xA0000000, // 02AC CLOSE R0
- 0x80041E00, // 02AD RET 1 R15
- 0x7002001B, // 02AE JMP #02CB
- 0x1C200F09, // 02AF EQ R8 R7 K9
- 0x78220011, // 02B0 JMPF R8 #02C3
- 0x8C200541, // 02B1 GETMET R8 R2 K65
- 0x58280005, // 02B2 LDCONST R10 K5
- 0x7C200400, // 02B3 CALL R8 2
- 0xB826FA00, // 02B4 GETNGBL R9 K125
- 0x60280008, // 02B5 GETGBL R10 G8
- 0x5C2C1000, // 02B6 MOVE R11 R8
- 0x7C280200, // 02B7 CALL R10 1
- 0x002B500A, // 02B8 ADD R10 K168 R10
- 0x582C000F, // 02B9 LDCONST R11 K15
- 0x7C240400, // 02BA CALL R9 2
- 0x88240136, // 02BB GETMBR R9 R0 K54
- 0x8C2413A9, // 02BC GETMET R9 R9 K169
- 0x5C2C1000, // 02BD MOVE R11 R8
+ 0x1C34160D, // 0274 EQ R13 R11 R13
+ 0x74360002, // 0275 JMPT R13 #0279
+ 0x4C340000, // 0276 LDNIL R13
+ 0x1C34180D, // 0277 EQ R13 R12 R13
+ 0x78360005, // 0278 JMPF R13 #027F
+ 0xB8360200, // 0279 GETNGBL R13 K1
+ 0x88341BA6, // 027A GETMBR R13 R13 K166
+ 0x900EC60D, // 027B SETMBR R3 K99 R13
+ 0x4C340000, // 027C LDNIL R13
+ 0xA0000000, // 027D CLOSE R0
+ 0x80041A00, // 027E RET 1 R13
+ 0x6034000C, // 027F GETGBL R13 G12
+ 0x5C381200, // 0280 MOVE R14 R9
+ 0x7C340200, // 0281 CALL R13 1
+ 0x543A001F, // 0282 LDINT R14 32
+ 0x543E0040, // 0283 LDINT R15 65
+ 0x00381C0F, // 0284 ADD R14 R14 R15
+ 0x20341A0E, // 0285 NE R13 R13 R14
+ 0x7436000B, // 0286 JMPT R13 #0293
+ 0x6034000C, // 0287 GETGBL R13 G12
+ 0x5C381800, // 0288 MOVE R14 R12
+ 0x7C340200, // 0289 CALL R13 1
+ 0x543A000F, // 028A LDINT R14 16
+ 0x14341A0E, // 028B LT R13 R13 R14
+ 0x74360005, // 028C JMPT R13 #0293
+ 0x6034000C, // 028D GETGBL R13 G12
+ 0x5C381800, // 028E MOVE R14 R12
+ 0x7C340200, // 028F CALL R13 1
+ 0x543A001F, // 0290 LDINT R14 32
+ 0x24341A0E, // 0291 GT R13 R13 R14
+ 0x78360009, // 0292 JMPF R13 #029D
+ 0xB836FC00, // 0293 GETNGBL R13 K126
+ 0x583800A7, // 0294 LDCONST R14 K167
+ 0x583C000D, // 0295 LDCONST R15 K13
+ 0x7C340400, // 0296 CALL R13 2
+ 0xB8360200, // 0297 GETNGBL R13 K1
+ 0x88341B64, // 0298 GETMBR R13 R13 K100
+ 0x900EC60D, // 0299 SETMBR R3 K99 R13
+ 0x4C340000, // 029A LDNIL R13
+ 0xA0000000, // 029B CLOSE R0
+ 0x80041A00, // 029C RET 1 R13
+ 0x5436001E, // 029D LDINT R13 31
+ 0x40360A0D, // 029E CONNECT R13 K5 R13
+ 0x9434120D, // 029F GETIDX R13 R9 R13
+ 0x543A001F, // 02A0 LDINT R14 32
+ 0x40381D8E, // 02A1 CONNECT R14 R14 K142
+ 0x9438120E, // 02A2 GETIDX R14 R9 R14
+ 0x883C0136, // 02A3 GETMBR R15 R0 K54
+ 0x883C1F4A, // 02A4 GETMBR R15 R15 K74
+ 0x8C3C1FA8, // 02A5 GETMET R15 R15 K168
+ 0x5C441000, // 02A6 MOVE R17 R8
+ 0x5C481600, // 02A7 MOVE R18 R11
+ 0x5C4C1400, // 02A8 MOVE R19 R10
+ 0x5C501800, // 02A9 MOVE R20 R12
+ 0x5C541A00, // 02AA MOVE R21 R13
+ 0x5C581C00, // 02AB MOVE R22 R14
+ 0x8C5C0335, // 02AC GETMET R23 R1 K53
+ 0x7C5C0200, // 02AD CALL R23 1
+ 0x7C3C1000, // 02AE CALL R15 8
+ 0x503C0200, // 02AF LDBOOL R15 1 0
+ 0xA0000000, // 02B0 CLOSE R0
+ 0x80041E00, // 02B1 RET 1 R15
+ 0x7002001C, // 02B2 JMP #02D0
+ 0x1C200F09, // 02B3 EQ R8 R7 K9
+ 0x78220011, // 02B4 JMPF R8 #02C7
+ 0x8C200541, // 02B5 GETMET R8 R2 K65
+ 0x58280005, // 02B6 LDCONST R10 K5
+ 0x7C200400, // 02B7 CALL R8 2
+ 0xB826FC00, // 02B8 GETNGBL R9 K126
+ 0x60280008, // 02B9 GETGBL R10 G8
+ 0x5C2C1000, // 02BA MOVE R11 R8
+ 0x7C280200, // 02BB CALL R10 1
+ 0x002B520A, // 02BC ADD R10 K169 R10
+ 0x582C000F, // 02BD LDCONST R11 K15
0x7C240400, // 02BE CALL R9 2
- 0x50240200, // 02BF LDBOOL R9 1 0
- 0xA0000000, // 02C0 CLOSE R0
- 0x80041200, // 02C1 RET 1 R9
- 0x70020007, // 02C2 JMP #02CB
- 0x1C200F0D, // 02C3 EQ R8 R7 K13
- 0x78220005, // 02C4 JMPF R8 #02CB
- 0x88200136, // 02C5 GETMBR R8 R0 K54
- 0x8C2011AA, // 02C6 GETMET R8 R8 K170
- 0x7C200200, // 02C7 CALL R8 1
- 0x50200200, // 02C8 LDBOOL R8 1 0
- 0xA0000000, // 02C9 CLOSE R0
- 0x80041000, // 02CA RET 1 R8
- 0x70020012, // 02CB JMP #02DF
- 0x54220029, // 02CC LDINT R8 42
- 0x1C200C08, // 02CD EQ R8 R6 R8
- 0x78220005, // 02CE JMPF R8 #02D5
- 0x1C200F05, // 02CF EQ R8 R7 K5
- 0x78220002, // 02D0 JMPF R8 #02D4
- 0x50200200, // 02D1 LDBOOL R8 1 0
- 0xA0000000, // 02D2 CLOSE R0
- 0x80041000, // 02D3 RET 1 R8
- 0x70020009, // 02D4 JMP #02DF
- 0x60200003, // 02D5 GETGBL R8 G3
- 0x5C240000, // 02D6 MOVE R9 R0
- 0x7C200200, // 02D7 CALL R8 1
- 0x8C2011AB, // 02D8 GETMET R8 R8 K171
- 0x5C280200, // 02D9 MOVE R10 R1
- 0x5C2C0400, // 02DA MOVE R11 R2
- 0x5C300600, // 02DB MOVE R12 R3
- 0x7C200800, // 02DC CALL R8 4
- 0xA0000000, // 02DD CLOSE R0
- 0x80041000, // 02DE RET 1 R8
- 0xA0000000, // 02DF CLOSE R0
- 0x80000000, // 02E0 RET 0
+ 0x88240136, // 02BF GETMBR R9 R0 K54
+ 0x8C2413AA, // 02C0 GETMET R9 R9 K170
+ 0x5C2C1000, // 02C1 MOVE R11 R8
+ 0x7C240400, // 02C2 CALL R9 2
+ 0x50240200, // 02C3 LDBOOL R9 1 0
+ 0xA0000000, // 02C4 CLOSE R0
+ 0x80041200, // 02C5 RET 1 R9
+ 0x70020008, // 02C6 JMP #02D0
+ 0x1C200F0D, // 02C7 EQ R8 R7 K13
+ 0x78220006, // 02C8 JMPF R8 #02D0
+ 0x88200136, // 02C9 GETMBR R8 R0 K54
+ 0x8820114A, // 02CA GETMBR R8 R8 K74
+ 0x8C2011AB, // 02CB GETMET R8 R8 K171
+ 0x7C200200, // 02CC CALL R8 1
+ 0x50200200, // 02CD LDBOOL R8 1 0
+ 0xA0000000, // 02CE CLOSE R0
+ 0x80041000, // 02CF RET 1 R8
+ 0x70020012, // 02D0 JMP #02E4
+ 0x54220029, // 02D1 LDINT R8 42
+ 0x1C200C08, // 02D2 EQ R8 R6 R8
+ 0x78220005, // 02D3 JMPF R8 #02DA
+ 0x1C200F05, // 02D4 EQ R8 R7 K5
+ 0x78220002, // 02D5 JMPF R8 #02D9
+ 0x50200200, // 02D6 LDBOOL R8 1 0
+ 0xA0000000, // 02D7 CLOSE R0
+ 0x80041000, // 02D8 RET 1 R8
+ 0x70020009, // 02D9 JMP #02E4
+ 0x60200003, // 02DA GETGBL R8 G3
+ 0x5C240000, // 02DB MOVE R9 R0
+ 0x7C200200, // 02DC CALL R8 1
+ 0x8C2011AC, // 02DD GETMET R8 R8 K172
+ 0x5C280200, // 02DE MOVE R10 R1
+ 0x5C2C0400, // 02DF MOVE R11 R2
+ 0x5C300600, // 02E0 MOVE R12 R3
+ 0x7C200800, // 02E1 CALL R8 4
+ 0xA0000000, // 02E2 CLOSE R0
+ 0x80041000, // 02E3 RET 1 R8
+ 0xA0000000, // 02E4 CLOSE R0
+ 0x80000000, // 02E5 RET 0
})
)
);
diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h
index 590fdb306..f6f59fc67 100644
--- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h
+++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h
@@ -434,7 +434,7 @@ be_local_closure(class_Matter_UI_web_sensor, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[17]) { /* constants */
+ ( &(const bvalue[18]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(matter_enabled),
/* K2 */ be_nested_str_weak(device),
@@ -450,16 +450,17 @@ be_local_closure(class_Matter_UI_web_sensor, /* name */
/* K12 */ be_nested_str_weak(s),
/* K13 */ be_nested_str_weak(),
/* K14 */ be_nested_str_weak(show_bridge_status),
- /* K15 */ be_nested_str_weak(is_root_commissioning_open),
- /* K16 */ be_nested_str_weak(show_commissioning_info),
+ /* K15 */ be_nested_str_weak(commissioning),
+ /* K16 */ be_nested_str_weak(is_root_commissioning_open),
+ /* K17 */ be_nested_str_weak(show_commissioning_info),
}),
be_str_weak(web_sensor),
&be_const_str_solidified,
- ( &(const binstruction[49]) { /* code */
+ ( &(const binstruction[50]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0x7C080200, // 0002 CALL R2 1
- 0x780A002B, // 0003 JMPF R2 #0030
+ 0x780A002C, // 0003 JMPF R2 #0031
0x88080102, // 0004 GETMBR R2 R0 K2
0x88080503, // 0005 GETMBR R2 R2 K3
0x4C0C0000, // 0006 LDNIL R3
@@ -499,12 +500,13 @@ be_local_closure(class_Matter_UI_web_sensor, /* name */
0x8C0C010E, // 0028 GETMET R3 R0 K14
0x7C0C0200, // 0029 CALL R3 1
0x880C0102, // 002A GETMBR R3 R0 K2
- 0x8C0C070F, // 002B GETMET R3 R3 K15
- 0x7C0C0200, // 002C CALL R3 1
- 0x780E0001, // 002D JMPF R3 #0030
- 0x8C0C0110, // 002E GETMET R3 R0 K16
- 0x7C0C0200, // 002F CALL R3 1
- 0x80000000, // 0030 RET 0
+ 0x880C070F, // 002B GETMBR R3 R3 K15
+ 0x8C0C0710, // 002C GETMET R3 R3 K16
+ 0x7C0C0200, // 002D CALL R3 1
+ 0x780E0001, // 002E JMPF R3 #0031
+ 0x8C0C0111, // 002F GETMET R3 R0 K17
+ 0x7C0C0200, // 0030 CALL R3 1
+ 0x80000000, // 0031 RET 0
})
)
);
@@ -1034,86 +1036,90 @@ be_local_closure(class_Matter_UI_show_commissioning_info, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[17]) { /* constants */
+ ( &(const bvalue[18]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(device),
- /* K2 */ be_nested_str_weak(commissioning_open),
- /* K3 */ be_nested_str_weak(tasmota),
- /* K4 */ be_nested_str_weak(millis),
- /* K5 */ be_const_int(0),
- /* K6 */ be_nested_str_weak(content_send),
- /* K7 */ be_nested_str_weak(_X3Cfieldset_X3E_X3Clegend_X3E_X3Cb_X3E_X26nbsp_X3BCommissioning_X20open_X20for_X20_X25i_X20min_X26nbsp_X3B_X3C_X2Fb_X3E_X3C_X2Flegend_X3E_X3Cp_X3E_X3C_X2Fp_X3E),
- /* K8 */ be_nested_str_weak(compute_manual_pairing_code),
- /* K9 */ be_nested_str_weak(_X3Cp_X3EManual_X20pairing_X20code_X3A_X3Cbr_X3E_X3Cb_X3E_X25s_X2D_X25s_X2D_X25s_X3C_X2Fb_X3E_X3C_X2Fp_X3E_X3Chr_X3E),
- /* K10 */ be_const_int(3),
- /* K11 */ be_const_int(2147483647),
- /* K12 */ be_nested_str_weak(_X3Cdiv_X3E_X3Ccenter_X3E),
- /* K13 */ be_nested_str_weak(compute_qrcode_content),
- /* K14 */ be_nested_str_weak(show_qrcode),
- /* K15 */ be_nested_str_weak(_X3Cp_X3E_X20_X25s_X3C_X2Fp_X3E),
- /* K16 */ be_nested_str_weak(_X3C_X2Fdiv_X3E_X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E),
+ /* K2 */ be_nested_str_weak(commissioning),
+ /* K3 */ be_nested_str_weak(commissioning_open),
+ /* K4 */ be_nested_str_weak(tasmota),
+ /* K5 */ be_nested_str_weak(millis),
+ /* K6 */ be_const_int(0),
+ /* K7 */ be_nested_str_weak(content_send),
+ /* K8 */ be_nested_str_weak(_X3Cfieldset_X3E_X3Clegend_X3E_X3Cb_X3E_X26nbsp_X3BCommissioning_X20open_X20for_X20_X25i_X20min_X26nbsp_X3B_X3C_X2Fb_X3E_X3C_X2Flegend_X3E_X3Cp_X3E_X3C_X2Fp_X3E),
+ /* K9 */ be_nested_str_weak(compute_manual_pairing_code),
+ /* K10 */ be_nested_str_weak(_X3Cp_X3EManual_X20pairing_X20code_X3A_X3Cbr_X3E_X3Cb_X3E_X25s_X2D_X25s_X2D_X25s_X3C_X2Fb_X3E_X3C_X2Fp_X3E_X3Chr_X3E),
+ /* K11 */ be_const_int(3),
+ /* K12 */ be_const_int(2147483647),
+ /* K13 */ be_nested_str_weak(_X3Cdiv_X3E_X3Ccenter_X3E),
+ /* K14 */ be_nested_str_weak(compute_qrcode_content),
+ /* K15 */ be_nested_str_weak(show_qrcode),
+ /* K16 */ be_nested_str_weak(_X3Cp_X3E_X20_X25s_X3C_X2Fp_X3E),
+ /* K17 */ be_nested_str_weak(_X3C_X2Fdiv_X3E_X3Cp_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E),
}),
be_str_weak(show_commissioning_info),
&be_const_str_solidified,
- ( &(const binstruction[58]) { /* code */
+ ( &(const binstruction[61]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x88080101, // 0001 GETMBR R2 R0 K1
0x88080502, // 0002 GETMBR R2 R2 K2
- 0xB80E0600, // 0003 GETNGBL R3 K3
- 0x8C0C0704, // 0004 GETMET R3 R3 K4
- 0x7C0C0200, // 0005 CALL R3 1
- 0x04080403, // 0006 SUB R2 R2 R3
- 0x540E03E7, // 0007 LDINT R3 1000
- 0x0C080403, // 0008 DIV R2 R2 R3
- 0x140C0505, // 0009 LT R3 R2 K5
- 0x780E0000, // 000A JMPF R3 #000C
- 0x58080005, // 000B LDCONST R2 K5
- 0x540E001D, // 000C LDINT R3 30
- 0x000C0403, // 000D ADD R3 R2 R3
- 0x5412003B, // 000E LDINT R4 60
- 0x0C0C0604, // 000F DIV R3 R3 R4
- 0x8C100306, // 0010 GETMET R4 R1 K6
- 0x60180018, // 0011 GETGBL R6 G24
- 0x581C0007, // 0012 LDCONST R7 K7
- 0x5C200600, // 0013 MOVE R8 R3
- 0x7C180400, // 0014 CALL R6 2
- 0x7C100400, // 0015 CALL R4 2
- 0x88100101, // 0016 GETMBR R4 R0 K1
- 0x8C100908, // 0017 GETMET R4 R4 K8
- 0x7C100200, // 0018 CALL R4 1
- 0x8C140306, // 0019 GETMET R5 R1 K6
- 0x601C0018, // 001A GETGBL R7 G24
- 0x58200009, // 001B LDCONST R8 K9
- 0x40260B0A, // 001C CONNECT R9 K5 K10
- 0x94240809, // 001D GETIDX R9 R4 R9
- 0x542A0003, // 001E LDINT R10 4
- 0x542E0005, // 001F LDINT R11 6
- 0x4028140B, // 0020 CONNECT R10 R10 R11
- 0x9428080A, // 0021 GETIDX R10 R4 R10
- 0x542E0006, // 0022 LDINT R11 7
- 0x402C170B, // 0023 CONNECT R11 R11 K11
- 0x942C080B, // 0024 GETIDX R11 R4 R11
- 0x7C1C0800, // 0025 CALL R7 4
- 0x7C140400, // 0026 CALL R5 2
- 0x8C140306, // 0027 GETMET R5 R1 K6
- 0x581C000C, // 0028 LDCONST R7 K12
- 0x7C140400, // 0029 CALL R5 2
- 0x88140101, // 002A GETMBR R5 R0 K1
- 0x8C140B0D, // 002B GETMET R5 R5 K13
- 0x7C140200, // 002C CALL R5 1
- 0x8C18010E, // 002D GETMET R6 R0 K14
- 0x5C200A00, // 002E MOVE R8 R5
- 0x7C180400, // 002F CALL R6 2
- 0x8C180306, // 0030 GETMET R6 R1 K6
- 0x60200018, // 0031 GETGBL R8 G24
- 0x5824000F, // 0032 LDCONST R9 K15
- 0x5C280A00, // 0033 MOVE R10 R5
- 0x7C200400, // 0034 CALL R8 2
- 0x7C180400, // 0035 CALL R6 2
- 0x8C180306, // 0036 GETMET R6 R1 K6
- 0x58200010, // 0037 LDCONST R8 K16
+ 0x88080503, // 0003 GETMBR R2 R2 K3
+ 0xB80E0800, // 0004 GETNGBL R3 K4
+ 0x8C0C0705, // 0005 GETMET R3 R3 K5
+ 0x7C0C0200, // 0006 CALL R3 1
+ 0x04080403, // 0007 SUB R2 R2 R3
+ 0x540E03E7, // 0008 LDINT R3 1000
+ 0x0C080403, // 0009 DIV R2 R2 R3
+ 0x140C0506, // 000A LT R3 R2 K6
+ 0x780E0000, // 000B JMPF R3 #000D
+ 0x58080006, // 000C LDCONST R2 K6
+ 0x540E001D, // 000D LDINT R3 30
+ 0x000C0403, // 000E ADD R3 R2 R3
+ 0x5412003B, // 000F LDINT R4 60
+ 0x0C0C0604, // 0010 DIV R3 R3 R4
+ 0x8C100307, // 0011 GETMET R4 R1 K7
+ 0x60180018, // 0012 GETGBL R6 G24
+ 0x581C0008, // 0013 LDCONST R7 K8
+ 0x5C200600, // 0014 MOVE R8 R3
+ 0x7C180400, // 0015 CALL R6 2
+ 0x7C100400, // 0016 CALL R4 2
+ 0x88100101, // 0017 GETMBR R4 R0 K1
+ 0x88100902, // 0018 GETMBR R4 R4 K2
+ 0x8C100909, // 0019 GETMET R4 R4 K9
+ 0x7C100200, // 001A CALL R4 1
+ 0x8C140307, // 001B GETMET R5 R1 K7
+ 0x601C0018, // 001C GETGBL R7 G24
+ 0x5820000A, // 001D LDCONST R8 K10
+ 0x40260D0B, // 001E CONNECT R9 K6 K11
+ 0x94240809, // 001F GETIDX R9 R4 R9
+ 0x542A0003, // 0020 LDINT R10 4
+ 0x542E0005, // 0021 LDINT R11 6
+ 0x4028140B, // 0022 CONNECT R10 R10 R11
+ 0x9428080A, // 0023 GETIDX R10 R4 R10
+ 0x542E0006, // 0024 LDINT R11 7
+ 0x402C170C, // 0025 CONNECT R11 R11 K12
+ 0x942C080B, // 0026 GETIDX R11 R4 R11
+ 0x7C1C0800, // 0027 CALL R7 4
+ 0x7C140400, // 0028 CALL R5 2
+ 0x8C140307, // 0029 GETMET R5 R1 K7
+ 0x581C000D, // 002A LDCONST R7 K13
+ 0x7C140400, // 002B CALL R5 2
+ 0x88140101, // 002C GETMBR R5 R0 K1
+ 0x88140B02, // 002D GETMBR R5 R5 K2
+ 0x8C140B0E, // 002E GETMET R5 R5 K14
+ 0x7C140200, // 002F CALL R5 1
+ 0x8C18010F, // 0030 GETMET R6 R0 K15
+ 0x5C200A00, // 0031 MOVE R8 R5
+ 0x7C180400, // 0032 CALL R6 2
+ 0x8C180307, // 0033 GETMET R6 R1 K7
+ 0x60200018, // 0034 GETGBL R8 G24
+ 0x58240010, // 0035 LDCONST R9 K16
+ 0x5C280A00, // 0036 MOVE R10 R5
+ 0x7C200400, // 0037 CALL R8 2
0x7C180400, // 0038 CALL R6 2
- 0x80000000, // 0039 RET 0
+ 0x8C180307, // 0039 GETMET R6 R1 K7
+ 0x58200011, // 003A LDCONST R8 K17
+ 0x7C180400, // 003B CALL R6 2
+ 0x80000000, // 003C RET 0
})
)
);
@@ -1584,35 +1590,37 @@ be_local_closure(class_Matter_UI_web_get_arg, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[ 7]) { /* constants */
+ ( &(const bvalue[ 8]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(has_arg),
/* K2 */ be_nested_str_weak(mtc0),
/* K3 */ be_nested_str_weak(device),
- /* K4 */ be_nested_str_weak(stop_basic_commissioning),
- /* K5 */ be_nested_str_weak(mtc1),
- /* K6 */ be_nested_str_weak(start_root_basic_commissioning),
+ /* K4 */ be_nested_str_weak(commissioning),
+ /* K5 */ be_nested_str_weak(stop_basic_commissioning),
+ /* K6 */ be_nested_str_weak(mtc1),
+ /* K7 */ be_nested_str_weak(start_root_basic_commissioning),
}),
be_str_weak(web_get_arg),
&be_const_str_solidified,
- ( &(const binstruction[17]) { /* code */
+ ( &(const binstruction[18]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080301, // 0001 GETMET R2 R1 K1
0x58100002, // 0002 LDCONST R4 K2
0x7C080400, // 0003 CALL R2 2
- 0x780A0003, // 0004 JMPF R2 #0009
+ 0x780A0004, // 0004 JMPF R2 #000A
0x88080103, // 0005 GETMBR R2 R0 K3
- 0x8C080504, // 0006 GETMET R2 R2 K4
- 0x7C080200, // 0007 CALL R2 1
- 0x70020006, // 0008 JMP #0010
- 0x8C080301, // 0009 GETMET R2 R1 K1
- 0x58100005, // 000A LDCONST R4 K5
- 0x7C080400, // 000B CALL R2 2
- 0x780A0002, // 000C JMPF R2 #0010
- 0x88080103, // 000D GETMBR R2 R0 K3
- 0x8C080506, // 000E GETMET R2 R2 K6
- 0x7C080200, // 000F CALL R2 1
- 0x80000000, // 0010 RET 0
+ 0x88080504, // 0006 GETMBR R2 R2 K4
+ 0x8C080505, // 0007 GETMET R2 R2 K5
+ 0x7C080200, // 0008 CALL R2 1
+ 0x70020006, // 0009 JMP #0011
+ 0x8C080301, // 000A GETMET R2 R1 K1
+ 0x58100006, // 000B LDCONST R4 K6
+ 0x7C080400, // 000C CALL R2 2
+ 0x780A0002, // 000D JMPF R2 #0011
+ 0x88080103, // 000E GETMBR R2 R0 K3
+ 0x8C080507, // 000F GETMET R2 R2 K7
+ 0x7C080200, // 0010 CALL R2 1
+ 0x80000000, // 0011 RET 0
})
)
);
@@ -2199,7 +2207,7 @@ be_local_closure(class_Matter_UI_page_part_ctl, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[101]) { /* constants */
+ ( &(const bvalue[102]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(check_privileged_access),
/* K2 */ be_nested_str_weak(string),
@@ -2236,75 +2244,76 @@ be_local_closure(class_Matter_UI_page_part_ctl, /* name */
/* K33 */ be_nested_str_weak(_X201),
/* K34 */ be_nested_str_weak(disable),
/* K35 */ be_nested_str_weak(_X200),
- /* K36 */ be_nested_str_weak(commissioning_open),
- /* K37 */ be_nested_str_weak(start_root_basic_commissioning),
- /* K38 */ be_nested_str_weak(stop_basic_commissioning),
- /* K39 */ be_nested_str_weak(_X2F),
- /* K40 */ be_nested_str_weak(del_fabric),
- /* K41 */ be_const_int(0),
- /* K42 */ be_nested_str_weak(sessions),
- /* K43 */ be_nested_str_weak(fabrics),
- /* K44 */ be_nested_str_weak(get_fabric_index),
- /* K45 */ be_nested_str_weak(remove_fabric),
- /* K46 */ be_const_int(1),
- /* K47 */ be_nested_str_weak(_X2Fmattera_X3F),
- /* K48 */ be_nested_str_weak(auto),
- /* K49 */ be_nested_str_weak(plugins_persist),
- /* K50 */ be_nested_str_weak(config),
- /* K51 */ be_nested_str_weak(arg_size),
- /* K52 */ be_nested_str_weak(arg_name),
- /* K53 */ be_nested_str_weak(find),
- /* K54 */ be_const_int(2147483647),
- /* K55 */ be_nested_str_weak(plugins_config),
- /* K56 */ be_nested_str_weak(plugins_classes),
- /* K57 */ be_nested_str_weak(type),
- /* K58 */ be_nested_str_weak(),
- /* K59 */ be_nested_str_weak(MTR_X3A_X20ep_X3D_X25i_X20arg_X3D_X25s),
- /* K60 */ be_nested_str_weak(ui_conf_to_string),
- /* K61 */ be_nested_str_weak(MTR_X3A_X20ep_X3D_X25i_X20prev_arg_X3D_X27_X25s_X27_X20arg_X3D_X27_X25s_X27_X20_X25s),
- /* K62 */ be_nested_str_weak(changed),
- /* K63 */ be_nested_str_weak(ui_string_to_conf),
- /* K64 */ be_nested_str_weak(find_plugin_by_endpoint),
- /* K65 */ be_nested_str_weak(MTR_X3A_X20apply_X20conf_X20_X27_X25s_X27_X20_X28_X25i_X29_X20to_X20_X25s),
- /* K66 */ be_nested_str_weak(parse_configuration),
- /* K67 */ be_nested_str_weak(MTR_X3A_X20ep_X3D_X25i_X20not_X20found),
- /* K68 */ be_nested_str_weak(nam),
- /* K69 */ be_nested_str_weak(name),
- /* K70 */ be_nested_str_weak(set_name),
- /* K71 */ be_nested_str_weak(remove),
- /* K72 */ be_nested_str_weak(MTR_X3A_X20apply_X20name_X20_X27_X25s_X27_X20_X28_X25i_X29_X20to_X20_X25s),
- /* K73 */ be_nested_str_weak(stop_iteration),
- /* K74 */ be_nested_str_weak(MTR_X3A_X20config_X20_X3D_X20_X25s),
- /* K75 */ be_nested_str_weak(MTR_X3A_X20config_X20error_X20_X3D_X20_X25s),
- /* K76 */ be_nested_str_weak(_X2Fmatterc_X3F),
- /* K77 */ be_nested_str_weak(addep),
- /* K78 */ be_nested_str_weak(pi),
- /* K79 */ be_nested_str_weak(MTR_X3A_X20add_X20endpoint_X20typ_X3D_X27_X25s_X27_X20arg_X3D_X27_X25s_X27),
- /* K80 */ be_nested_str_weak(bridge_add_endpoint),
- /* K81 */ be_nested_str_weak(addrem),
- /* K82 */ be_nested_str_weak(url),
- /* K83 */ be_nested_str_weak(value_error),
- /* K84 */ be_nested_str_weak(url_X20shouldn_X27t_X20be_X20null),
- /* K85 */ be_nested_str_weak(equal_map),
- /* K86 */ be_nested_str_weak(MTR_X3A_X20remote_X20add_X20url_X3D_X27_X25s_X27_X20type_X3D_X27_X25s_X27_X20arg_X3D_X27_X25s_X27),
- /* K87 */ be_nested_str_weak(del),
- /* K88 */ be_nested_str_weak(bridge_remove_endpoint),
- /* K89 */ be_nested_str_weak(content_start),
- /* K90 */ be_nested_str_weak(Parameter_X20error),
- /* K91 */ be_nested_str_weak(content_send_style),
- /* K92 */ be_nested_str_weak(content_send),
- /* K93 */ be_nested_str_weak(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EError_X3A_X3C_X2Fb_X3E_X25s_X3C_X2Fp_X3E),
- /* K94 */ be_nested_str_weak(html_escape),
- /* K95 */ be_nested_str_weak(content_button),
- /* K96 */ be_nested_str_weak(BUTTON_CONFIGURATION),
- /* K97 */ be_nested_str_weak(content_stop),
- /* K98 */ be_nested_str_weak(BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s),
- /* K99 */ be_const_int(2),
- /* K100 */ be_nested_str_weak(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EException_X3A_X3C_X2Fb_X3E_X3Cbr_X3E_X27_X25s_X27_X3Cbr_X3E_X25s_X3C_X2Fp_X3E),
+ /* K36 */ be_nested_str_weak(commissioning),
+ /* K37 */ be_nested_str_weak(commissioning_open),
+ /* K38 */ be_nested_str_weak(start_root_basic_commissioning),
+ /* K39 */ be_nested_str_weak(stop_basic_commissioning),
+ /* K40 */ be_nested_str_weak(_X2F),
+ /* K41 */ be_nested_str_weak(del_fabric),
+ /* K42 */ be_const_int(0),
+ /* K43 */ be_nested_str_weak(sessions),
+ /* K44 */ be_nested_str_weak(fabrics),
+ /* K45 */ be_nested_str_weak(get_fabric_index),
+ /* K46 */ be_nested_str_weak(remove_fabric),
+ /* K47 */ be_const_int(1),
+ /* K48 */ be_nested_str_weak(_X2Fmattera_X3F),
+ /* K49 */ be_nested_str_weak(auto),
+ /* K50 */ be_nested_str_weak(plugins_persist),
+ /* K51 */ be_nested_str_weak(config),
+ /* K52 */ be_nested_str_weak(arg_size),
+ /* K53 */ be_nested_str_weak(arg_name),
+ /* K54 */ be_nested_str_weak(find),
+ /* K55 */ be_const_int(2147483647),
+ /* K56 */ be_nested_str_weak(plugins_config),
+ /* K57 */ be_nested_str_weak(plugins_classes),
+ /* K58 */ be_nested_str_weak(type),
+ /* K59 */ be_nested_str_weak(),
+ /* K60 */ be_nested_str_weak(MTR_X3A_X20ep_X3D_X25i_X20arg_X3D_X25s),
+ /* K61 */ be_nested_str_weak(ui_conf_to_string),
+ /* K62 */ be_nested_str_weak(MTR_X3A_X20ep_X3D_X25i_X20prev_arg_X3D_X27_X25s_X27_X20arg_X3D_X27_X25s_X27_X20_X25s),
+ /* K63 */ be_nested_str_weak(changed),
+ /* K64 */ be_nested_str_weak(ui_string_to_conf),
+ /* K65 */ be_nested_str_weak(find_plugin_by_endpoint),
+ /* K66 */ be_nested_str_weak(MTR_X3A_X20apply_X20conf_X20_X27_X25s_X27_X20_X28_X25i_X29_X20to_X20_X25s),
+ /* K67 */ be_nested_str_weak(parse_configuration),
+ /* K68 */ be_nested_str_weak(MTR_X3A_X20ep_X3D_X25i_X20not_X20found),
+ /* K69 */ be_nested_str_weak(nam),
+ /* K70 */ be_nested_str_weak(name),
+ /* K71 */ be_nested_str_weak(set_name),
+ /* K72 */ be_nested_str_weak(remove),
+ /* K73 */ be_nested_str_weak(MTR_X3A_X20apply_X20name_X20_X27_X25s_X27_X20_X28_X25i_X29_X20to_X20_X25s),
+ /* K74 */ be_nested_str_weak(stop_iteration),
+ /* K75 */ be_nested_str_weak(MTR_X3A_X20config_X20_X3D_X20_X25s),
+ /* K76 */ be_nested_str_weak(MTR_X3A_X20config_X20error_X20_X3D_X20_X25s),
+ /* K77 */ be_nested_str_weak(_X2Fmatterc_X3F),
+ /* K78 */ be_nested_str_weak(addep),
+ /* K79 */ be_nested_str_weak(pi),
+ /* K80 */ be_nested_str_weak(MTR_X3A_X20add_X20endpoint_X20typ_X3D_X27_X25s_X27_X20arg_X3D_X27_X25s_X27),
+ /* K81 */ be_nested_str_weak(bridge_add_endpoint),
+ /* K82 */ be_nested_str_weak(addrem),
+ /* K83 */ be_nested_str_weak(url),
+ /* K84 */ be_nested_str_weak(value_error),
+ /* K85 */ be_nested_str_weak(url_X20shouldn_X27t_X20be_X20null),
+ /* K86 */ be_nested_str_weak(equal_map),
+ /* K87 */ be_nested_str_weak(MTR_X3A_X20remote_X20add_X20url_X3D_X27_X25s_X27_X20type_X3D_X27_X25s_X27_X20arg_X3D_X27_X25s_X27),
+ /* K88 */ be_nested_str_weak(del),
+ /* K89 */ be_nested_str_weak(bridge_remove_endpoint),
+ /* K90 */ be_nested_str_weak(content_start),
+ /* K91 */ be_nested_str_weak(Parameter_X20error),
+ /* K92 */ be_nested_str_weak(content_send_style),
+ /* K93 */ be_nested_str_weak(content_send),
+ /* K94 */ be_nested_str_weak(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EError_X3A_X3C_X2Fb_X3E_X25s_X3C_X2Fp_X3E),
+ /* K95 */ be_nested_str_weak(html_escape),
+ /* K96 */ be_nested_str_weak(content_button),
+ /* K97 */ be_nested_str_weak(BUTTON_CONFIGURATION),
+ /* K98 */ be_nested_str_weak(content_stop),
+ /* K99 */ be_nested_str_weak(BRY_X3A_X20Exception_X3E_X20_X27_X25s_X27_X20_X2D_X20_X25s),
+ /* K100 */ be_const_int(2),
+ /* K101 */ be_nested_str_weak(_X3Cp_X20style_X3D_X27width_X3A340px_X3B_X27_X3E_X3Cb_X3EException_X3A_X3C_X2Fb_X3E_X3Cbr_X3E_X27_X25s_X27_X3Cbr_X3E_X25s_X3C_X2Fp_X3E),
}),
be_str_weak(page_part_ctl),
&be_const_str_solidified,
- ( &(const binstruction[659]) { /* code */
+ ( &(const binstruction[661]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080301, // 0001 GETMET R2 R1 K1
0x7C080200, // 0002 CALL R2 1
@@ -2315,7 +2324,7 @@ be_local_closure(class_Matter_UI_page_part_ctl, /* name */
0xA40E0600, // 0007 IMPORT R3 K3
0xA4120800, // 0008 IMPORT R4 K4
0x4C140000, // 0009 LDNIL R5
- 0xA8020269, // 000A EXBLK 0 #0275
+ 0xA802026B, // 000A EXBLK 0 #0277
0x8C180305, // 000B GETMET R6 R1 K5
0x58200006, // 000C LDCONST R8 K6
0x7C180400, // 000D CALL R6 2
@@ -2365,11 +2374,11 @@ be_local_closure(class_Matter_UI_page_part_ctl, /* name */
0x8C180313, // 0039 GETMET R6 R1 K19
0x58200014, // 003A LDCONST R8 K20
0x7C180400, // 003B CALL R6 2
- 0x70020222, // 003C JMP #0260
+ 0x70020224, // 003C JMP #0262
0x8C180305, // 003D GETMET R6 R1 K5
0x58200015, // 003E LDCONST R8 K21
0x7C180400, // 003F CALL R6 2
- 0x781A0052, // 0040 JMPF R6 #0094
+ 0x781A0054, // 0040 JMPF R6 #0096
0x8C180305, // 0041 GETMET R6 R1 K5
0x58200016, // 0042 LDCONST R8 K22
0x7C180400, // 0043 CALL R6 2
@@ -2430,540 +2439,542 @@ be_local_closure(class_Matter_UI_page_part_ctl, /* name */
0x8C240313, // 007A GETMET R9 R1 K19
0x582C0014, // 007B LDCONST R11 K20
0x7C240400, // 007C CALL R9 2
- 0x70020014, // 007D JMP #0093
+ 0x70020016, // 007D JMP #0095
0x8824010B, // 007E GETMBR R9 R0 K11
0x88241324, // 007F GETMBR R9 R9 K36
- 0x4C280000, // 0080 LDNIL R10
- 0x2024120A, // 0081 NE R9 R9 R10
- 0x20240E09, // 0082 NE R9 R7 R9
- 0x7826000B, // 0083 JMPF R9 #0090
- 0x781E0003, // 0084 JMPF R7 #0089
- 0x8824010B, // 0085 GETMBR R9 R0 K11
- 0x8C241325, // 0086 GETMET R9 R9 K37
- 0x7C240200, // 0087 CALL R9 1
- 0x70020002, // 0088 JMP #008C
- 0x8824010B, // 0089 GETMBR R9 R0 K11
- 0x8C241326, // 008A GETMET R9 R9 K38
- 0x7C240200, // 008B CALL R9 1
- 0x8C240313, // 008C GETMET R9 R1 K19
- 0x582C0027, // 008D LDCONST R11 K39
- 0x7C240400, // 008E CALL R9 2
- 0x70020002, // 008F JMP #0093
- 0x8C240313, // 0090 GETMET R9 R1 K19
- 0x582C0027, // 0091 LDCONST R11 K39
- 0x7C240400, // 0092 CALL R9 2
- 0x700201CB, // 0093 JMP #0260
- 0x8C180305, // 0094 GETMET R6 R1 K5
- 0x58200028, // 0095 LDCONST R8 K40
- 0x7C180400, // 0096 CALL R6 2
- 0x781A0025, // 0097 JMPF R6 #00BE
- 0xB81A1000, // 0098 GETNGBL R6 K8
- 0x601C0018, // 0099 GETGBL R7 G24
- 0x58200009, // 009A LDCONST R8 K9
- 0x58240028, // 009B LDCONST R9 K40
- 0x7C1C0400, // 009C CALL R7 2
- 0x5820000A, // 009D LDCONST R8 K10
- 0x7C180400, // 009E CALL R6 2
- 0x60180009, // 009F GETGBL R6 G9
- 0x8C1C030D, // 00A0 GETMET R7 R1 K13
- 0x58240028, // 00A1 LDCONST R9 K40
- 0x7C1C0400, // 00A2 CALL R7 2
- 0x7C180200, // 00A3 CALL R6 1
- 0x581C0029, // 00A4 LDCONST R7 K41
- 0x8820010B, // 00A5 GETMBR R8 R0 K11
- 0x8820112A, // 00A6 GETMBR R8 R8 K42
- 0x8820112B, // 00A7 GETMBR R8 R8 K43
- 0x6024000C, // 00A8 GETGBL R9 G12
- 0x5C281000, // 00A9 MOVE R10 R8
- 0x7C240200, // 00AA CALL R9 1
- 0x14240E09, // 00AB LT R9 R7 R9
- 0x7826000C, // 00AC JMPF R9 #00BA
- 0x94241007, // 00AD GETIDX R9 R8 R7
- 0x8C24132C, // 00AE GETMET R9 R9 K44
- 0x7C240200, // 00AF CALL R9 1
- 0x1C241206, // 00B0 EQ R9 R9 R6
- 0x78260005, // 00B1 JMPF R9 #00B8
- 0x8824010B, // 00B2 GETMBR R9 R0 K11
- 0x8C24132D, // 00B3 GETMET R9 R9 K45
- 0x942C1007, // 00B4 GETIDX R11 R8 R7
- 0x7C240400, // 00B5 CALL R9 2
- 0x70020002, // 00B6 JMP #00BA
- 0x70020000, // 00B7 JMP #00B9
- 0x001C0F2E, // 00B8 ADD R7 R7 K46
- 0x7001FFED, // 00B9 JMP #00A8
- 0x8C240313, // 00BA GETMET R9 R1 K19
- 0x582C002F, // 00BB LDCONST R11 K47
- 0x7C240400, // 00BC CALL R9 2
- 0x700201A1, // 00BD JMP #0260
- 0x8C180305, // 00BE GETMET R6 R1 K5
- 0x58200030, // 00BF LDCONST R8 K48
- 0x7C180400, // 00C0 CALL R6 2
- 0x781A0010, // 00C1 JMPF R6 #00D3
- 0xB81A1000, // 00C2 GETNGBL R6 K8
- 0x601C0018, // 00C3 GETGBL R7 G24
- 0x58200009, // 00C4 LDCONST R8 K9
- 0x58240030, // 00C5 LDCONST R9 K48
- 0x7C1C0400, // 00C6 CALL R7 2
- 0x5820000A, // 00C7 LDCONST R8 K10
- 0x7C180400, // 00C8 CALL R6 2
- 0x8818010B, // 00C9 GETMBR R6 R0 K11
- 0x501C0000, // 00CA LDBOOL R7 0 0
- 0x901A6207, // 00CB SETMBR R6 K49 R7
- 0x8818010B, // 00CC GETMBR R6 R0 K11
- 0x8C180D12, // 00CD GETMET R6 R6 K18
- 0x7C180200, // 00CE CALL R6 1
- 0x8C180313, // 00CF GETMET R6 R1 K19
- 0x58200014, // 00D0 LDCONST R8 K20
- 0x7C180400, // 00D1 CALL R6 2
- 0x7002018C, // 00D2 JMP #0260
- 0x8C180305, // 00D3 GETMET R6 R1 K5
- 0x58200032, // 00D4 LDCONST R8 K50
- 0x7C180400, // 00D5 CALL R6 2
- 0x781A00CE, // 00D6 JMPF R6 #01A6
- 0xB81A1000, // 00D7 GETNGBL R6 K8
- 0x601C0018, // 00D8 GETGBL R7 G24
- 0x58200009, // 00D9 LDCONST R8 K9
- 0x58240032, // 00DA LDCONST R9 K50
- 0x7C1C0400, // 00DB CALL R7 2
- 0x5820000A, // 00DC LDCONST R8 K10
- 0x7C180400, // 00DD CALL R6 2
- 0x50180000, // 00DE LDBOOL R6 0 0
- 0x601C0010, // 00DF GETGBL R7 G16
- 0x8C200333, // 00E0 GETMET R8 R1 K51
- 0x7C200200, // 00E1 CALL R8 1
- 0x0420112E, // 00E2 SUB R8 R8 K46
- 0x40225208, // 00E3 CONNECT R8 K41 R8
- 0x7C1C0200, // 00E4 CALL R7 1
- 0xA802009B, // 00E5 EXBLK 0 #0182
- 0x5C200E00, // 00E6 MOVE R8 R7
- 0x7C200000, // 00E7 CALL R8 0
- 0x8C240334, // 00E8 GETMET R9 R1 K52
- 0x5C2C1000, // 00E9 MOVE R11 R8
- 0x7C240400, // 00EA CALL R9 2
- 0x8C280535, // 00EB GETMET R10 R2 K53
- 0x5C301200, // 00EC MOVE R12 R9
- 0x5834000D, // 00ED LDCONST R13 K13
- 0x7C280600, // 00EE CALL R10 3
- 0x1C281529, // 00EF EQ R10 R10 K41
- 0x782A0057, // 00F0 JMPF R10 #0149
- 0x60280009, // 00F1 GETGBL R10 G9
- 0x402E1536, // 00F2 CONNECT R11 K10 K54
- 0x942C120B, // 00F3 GETIDX R11 R9 R11
- 0x7C280200, // 00F4 CALL R10 1
- 0x8C2C030D, // 00F5 GETMET R11 R1 K13
- 0x5C341000, // 00F6 MOVE R13 R8
- 0x7C2C0400, // 00F7 CALL R11 2
- 0x8830010B, // 00F8 GETMBR R12 R0 K11
- 0x88301937, // 00F9 GETMBR R12 R12 K55
- 0x8C301935, // 00FA GETMET R12 R12 K53
- 0x60380008, // 00FB GETGBL R14 G8
- 0x5C3C1400, // 00FC MOVE R15 R10
- 0x7C380200, // 00FD CALL R14 1
- 0x7C300400, // 00FE CALL R12 2
- 0x4C340000, // 00FF LDNIL R13
- 0x2034180D, // 0100 NE R13 R12 R13
- 0x7836003E, // 0101 JMPF R13 #0141
- 0x8834010B, // 0102 GETMBR R13 R0 K11
- 0x88341B38, // 0103 GETMBR R13 R13 K56
- 0x8C341B35, // 0104 GETMET R13 R13 K53
- 0x8C3C1935, // 0105 GETMET R15 R12 K53
- 0x58440039, // 0106 LDCONST R17 K57
- 0x5848003A, // 0107 LDCONST R18 K58
- 0x7C3C0600, // 0108 CALL R15 3
- 0x7C340400, // 0109 CALL R13 2
- 0x4C380000, // 010A LDNIL R14
- 0x20381A0E, // 010B NE R14 R13 R14
- 0x783A0032, // 010C JMPF R14 #0140
- 0xB83A1000, // 010D GETNGBL R14 K8
- 0x603C0018, // 010E GETGBL R15 G24
- 0x5840003B, // 010F LDCONST R16 K59
- 0x5C441400, // 0110 MOVE R17 R10
- 0x5C481600, // 0111 MOVE R18 R11
- 0x7C3C0600, // 0112 CALL R15 3
- 0x5840000A, // 0113 LDCONST R16 K10
- 0x7C380400, // 0114 CALL R14 2
- 0x8C381B3C, // 0115 GETMET R14 R13 K60
- 0x5C401A00, // 0116 MOVE R16 R13
- 0x5C441800, // 0117 MOVE R17 R12
- 0x7C380600, // 0118 CALL R14 3
- 0x203C1C0B, // 0119 NE R15 R14 R11
- 0xB8421000, // 011A GETNGBL R16 K8
- 0x60440018, // 011B GETGBL R17 G24
- 0x5848003D, // 011C LDCONST R18 K61
- 0x5C4C1400, // 011D MOVE R19 R10
- 0x5C501C00, // 011E MOVE R20 R14
- 0x5C541600, // 011F MOVE R21 R11
- 0x20581C0B, // 0120 NE R22 R14 R11
- 0x785A0001, // 0121 JMPF R22 #0124
- 0x5858003E, // 0122 LDCONST R22 K62
- 0x70020000, // 0123 JMP #0125
- 0x5858003A, // 0124 LDCONST R22 K58
- 0x7C440A00, // 0125 CALL R17 5
- 0x5848000A, // 0126 LDCONST R18 K10
- 0x7C400400, // 0127 CALL R16 2
- 0x783E0016, // 0128 JMPF R15 #0140
- 0x50180200, // 0129 LDBOOL R6 1 0
- 0x8C401B3F, // 012A GETMET R16 R13 K63
- 0x5C481A00, // 012B MOVE R18 R13
- 0x5C4C1800, // 012C MOVE R19 R12
- 0x5C501600, // 012D MOVE R20 R11
- 0x7C400800, // 012E CALL R16 4
- 0x8840010B, // 012F GETMBR R16 R0 K11
- 0x8C402140, // 0130 GETMET R16 R16 K64
- 0x5C481400, // 0131 MOVE R18 R10
- 0x7C400400, // 0132 CALL R16 2
- 0x7842000B, // 0133 JMPF R16 #0140
- 0xB8461000, // 0134 GETNGBL R17 K8
- 0x60480018, // 0135 GETGBL R18 G24
- 0x584C0041, // 0136 LDCONST R19 K65
- 0x5C501800, // 0137 MOVE R20 R12
- 0x5C541400, // 0138 MOVE R21 R10
- 0x5C582000, // 0139 MOVE R22 R16
- 0x7C480800, // 013A CALL R18 4
- 0x584C000A, // 013B LDCONST R19 K10
- 0x7C440400, // 013C CALL R17 2
- 0x8C442142, // 013D GETMET R17 R16 K66
- 0x5C4C1800, // 013E MOVE R19 R12
- 0x7C440400, // 013F CALL R17 2
- 0x70020006, // 0140 JMP #0148
- 0xB8361000, // 0141 GETNGBL R13 K8
- 0x60380018, // 0142 GETGBL R14 G24
- 0x583C0043, // 0143 LDCONST R15 K67
- 0x5C401400, // 0144 MOVE R16 R10
- 0x7C380400, // 0145 CALL R14 2
- 0x583C000A, // 0146 LDCONST R15 K10
- 0x7C340400, // 0147 CALL R13 2
- 0x70020037, // 0148 JMP #0181
- 0x8C280535, // 0149 GETMET R10 R2 K53
- 0x5C301200, // 014A MOVE R12 R9
- 0x58340044, // 014B LDCONST R13 K68
- 0x7C280600, // 014C CALL R10 3
- 0x1C281529, // 014D EQ R10 R10 K41
- 0x782A0031, // 014E JMPF R10 #0181
- 0x60280009, // 014F GETGBL R10 G9
- 0x402E1536, // 0150 CONNECT R11 K10 K54
- 0x942C120B, // 0151 GETIDX R11 R9 R11
- 0x7C280200, // 0152 CALL R10 1
- 0x8C2C030D, // 0153 GETMET R11 R1 K13
- 0x5C341000, // 0154 MOVE R13 R8
- 0x7C2C0400, // 0155 CALL R11 2
- 0x8830010B, // 0156 GETMBR R12 R0 K11
- 0x88301937, // 0157 GETMBR R12 R12 K55
- 0x8C301935, // 0158 GETMET R12 R12 K53
- 0x60380008, // 0159 GETGBL R14 G8
- 0x5C3C1400, // 015A MOVE R15 R10
- 0x7C380200, // 015B CALL R14 1
- 0x7C300400, // 015C CALL R12 2
- 0x4C340000, // 015D LDNIL R13
- 0x2034180D, // 015E NE R13 R12 R13
- 0x78360020, // 015F JMPF R13 #0181
- 0x8C341935, // 0160 GETMET R13 R12 K53
- 0x583C0045, // 0161 LDCONST R15 K69
- 0x5840003A, // 0162 LDCONST R16 K58
- 0x7C340600, // 0163 CALL R13 3
- 0x20381A0B, // 0164 NE R14 R13 R11
- 0x783A001A, // 0165 JMPF R14 #0181
- 0x50180200, // 0166 LDBOOL R6 1 0
- 0x883C010B, // 0167 GETMBR R15 R0 K11
- 0x8C3C1F40, // 0168 GETMET R15 R15 K64
- 0x5C441400, // 0169 MOVE R17 R10
- 0x7C3C0400, // 016A CALL R15 2
- 0x783E0014, // 016B JMPF R15 #0181
- 0x8C401F46, // 016C GETMET R16 R15 K70
- 0x5C481600, // 016D MOVE R18 R11
- 0x7C400400, // 016E CALL R16 2
- 0x782E0001, // 016F JMPF R11 #0172
- 0x98328A0B, // 0170 SETIDX R12 K69 R11
- 0x70020002, // 0171 JMP #0175
- 0x8C401947, // 0172 GETMET R16 R12 K71
- 0x58480045, // 0173 LDCONST R18 K69
- 0x7C400400, // 0174 CALL R16 2
- 0xB8421000, // 0175 GETNGBL R16 K8
- 0x60440018, // 0176 GETGBL R17 G24
- 0x58480048, // 0177 LDCONST R18 K72
- 0x5C4C1800, // 0178 MOVE R19 R12
- 0x5C501400, // 0179 MOVE R20 R10
- 0x5C541E00, // 017A MOVE R21 R15
- 0x7C440800, // 017B CALL R17 4
- 0x5848000A, // 017C LDCONST R18 K10
- 0x7C400400, // 017D CALL R16 2
- 0x8C401F42, // 017E GETMET R16 R15 K66
- 0x5C481800, // 017F MOVE R18 R12
- 0x7C400400, // 0180 CALL R16 2
- 0x7001FF63, // 0181 JMP #00E6
- 0x581C0049, // 0182 LDCONST R7 K73
- 0xAC1C0200, // 0183 CATCH R7 1 0
- 0xB0080000, // 0184 RAISE 2 R0 R0
- 0xB81E1000, // 0185 GETNGBL R7 K8
- 0x60200018, // 0186 GETGBL R8 G24
- 0x5824004A, // 0187 LDCONST R9 K74
- 0x60280008, // 0188 GETGBL R10 G8
- 0x882C010B, // 0189 GETMBR R11 R0 K11
- 0x882C1737, // 018A GETMBR R11 R11 K55
- 0x7C280200, // 018B CALL R10 1
- 0x7C200400, // 018C CALL R8 2
- 0x5824000A, // 018D LDCONST R9 K10
- 0x7C1C0400, // 018E CALL R7 2
- 0x78160007, // 018F JMPF R5 #0198
- 0xB81E1000, // 0190 GETNGBL R7 K8
- 0x60200018, // 0191 GETGBL R8 G24
- 0x5824004B, // 0192 LDCONST R9 K75
- 0x5C280A00, // 0193 MOVE R10 R5
- 0x7C200400, // 0194 CALL R8 2
- 0x5824000A, // 0195 LDCONST R9 K10
- 0x7C1C0400, // 0196 CALL R7 2
- 0x7002000C, // 0197 JMP #01A5
- 0x741A0002, // 0198 JMPT R6 #019C
- 0x881C010B, // 0199 GETMBR R7 R0 K11
- 0x881C0F31, // 019A GETMBR R7 R7 K49
- 0x741E0005, // 019B JMPT R7 #01A2
- 0x881C010B, // 019C GETMBR R7 R0 K11
- 0x50200200, // 019D LDBOOL R8 1 0
- 0x901E6208, // 019E SETMBR R7 K49 R8
- 0x881C010B, // 019F GETMBR R7 R0 K11
- 0x8C1C0F12, // 01A0 GETMET R7 R7 K18
- 0x7C1C0200, // 01A1 CALL R7 1
- 0x8C1C0313, // 01A2 GETMET R7 R1 K19
- 0x5824004C, // 01A3 LDCONST R9 K76
- 0x7C1C0400, // 01A4 CALL R7 2
- 0x700200B9, // 01A5 JMP #0260
- 0x8C180305, // 01A6 GETMET R6 R1 K5
- 0x5820004D, // 01A7 LDCONST R8 K77
- 0x7C180400, // 01A8 CALL R6 2
- 0x781A002A, // 01A9 JMPF R6 #01D5
- 0x8C18030D, // 01AA GETMET R6 R1 K13
- 0x5820004E, // 01AB LDCONST R8 K78
- 0x7C180400, // 01AC CALL R6 2
- 0x8C1C030D, // 01AD GETMET R7 R1 K13
- 0x5824000D, // 01AE LDCONST R9 K13
- 0x7C1C0400, // 01AF CALL R7 2
- 0x8C20030D, // 01B0 GETMET R8 R1 K13
- 0x58280044, // 01B1 LDCONST R10 K68
- 0x7C200400, // 01B2 CALL R8 2
- 0xB8261000, // 01B3 GETNGBL R9 K8
- 0x60280018, // 01B4 GETGBL R10 G24
- 0x582C004F, // 01B5 LDCONST R11 K79
- 0x5C300C00, // 01B6 MOVE R12 R6
- 0x5C340E00, // 01B7 MOVE R13 R7
- 0x7C280600, // 01B8 CALL R10 3
- 0x582C000A, // 01B9 LDCONST R11 K10
- 0x7C240400, // 01BA CALL R9 2
- 0x8824010B, // 01BB GETMBR R9 R0 K11
- 0x88241338, // 01BC GETMBR R9 R9 K56
- 0x8C241335, // 01BD GETMET R9 R9 K53
- 0x5C2C0C00, // 01BE MOVE R11 R6
- 0x7C240400, // 01BF CALL R9 2
- 0x4C280000, // 01C0 LDNIL R10
- 0x2028120A, // 01C1 NE R10 R9 R10
- 0x782A000D, // 01C2 JMPF R10 #01D1
- 0x60280013, // 01C3 GETGBL R10 G19
- 0x7C280000, // 01C4 CALL R10 0
- 0x78220000, // 01C5 JMPF R8 #01C7
- 0x982A8A08, // 01C6 SETIDX R10 K69 R8
- 0x8C2C133F, // 01C7 GETMET R11 R9 K63
- 0x5C341200, // 01C8 MOVE R13 R9
- 0x5C381400, // 01C9 MOVE R14 R10
- 0x5C3C0E00, // 01CA MOVE R15 R7
- 0x7C2C0800, // 01CB CALL R11 4
- 0x882C010B, // 01CC GETMBR R11 R0 K11
- 0x8C2C1750, // 01CD GETMET R11 R11 K80
- 0x5C340C00, // 01CE MOVE R13 R6
- 0x5C381400, // 01CF MOVE R14 R10
- 0x7C2C0600, // 01D0 CALL R11 3
- 0x8C280313, // 01D1 GETMET R10 R1 K19
- 0x5830004C, // 01D2 LDCONST R12 K76
- 0x7C280400, // 01D3 CALL R10 2
- 0x7002008A, // 01D4 JMP #0260
- 0x8C180305, // 01D5 GETMET R6 R1 K5
- 0x58200051, // 01D6 LDCONST R8 K81
- 0x7C180400, // 01D7 CALL R6 2
- 0x781A005D, // 01D8 JMPF R6 #0237
- 0x8C18030D, // 01D9 GETMET R6 R1 K13
- 0x58200052, // 01DA LDCONST R8 K82
- 0x7C180400, // 01DB CALL R6 2
- 0x4C1C0000, // 01DC LDNIL R7
- 0x1C1C0C07, // 01DD EQ R7 R6 R7
- 0x741E0001, // 01DE JMPT R7 #01E1
- 0x1C1C0D3A, // 01DF EQ R7 R6 K58
- 0x781E0000, // 01E0 JMPF R7 #01E2
- 0xB006A754, // 01E1 RAISE 1 K83 K84
- 0x581C0029, // 01E2 LDCONST R7 K41
- 0x60200008, // 01E3 GETGBL R8 G8
- 0x5C240E00, // 01E4 MOVE R9 R7
- 0x7C200200, // 01E5 CALL R8 1
- 0x8C240305, // 01E6 GETMET R9 R1 K5
- 0x002E9C08, // 01E7 ADD R11 K78 R8
- 0x7C240400, // 01E8 CALL R9 2
- 0x78260048, // 01E9 JMPF R9 #0233
- 0x8C24030D, // 01EA GETMET R9 R1 K13
- 0x002E9C08, // 01EB ADD R11 K78 R8
- 0x7C240400, // 01EC CALL R9 2
- 0x8C28030D, // 01ED GETMET R10 R1 K13
- 0x00321A08, // 01EE ADD R12 K13 R8
- 0x7C280400, // 01EF CALL R10 2
- 0x8C2C030D, // 01F0 GETMET R11 R1 K13
- 0x00368808, // 01F1 ADD R13 K68 R8
- 0x7C2C0400, // 01F2 CALL R11 2
- 0x2030133A, // 01F3 NE R12 R9 K58
- 0x78320037, // 01F4 JMPF R12 #022D
- 0x8830010B, // 01F5 GETMBR R12 R0 K11
- 0x88301938, // 01F6 GETMBR R12 R12 K56
- 0x8C301935, // 01F7 GETMET R12 R12 K53
- 0x5C381200, // 01F8 MOVE R14 R9
- 0x7C300400, // 01F9 CALL R12 2
- 0x4C340000, // 01FA LDNIL R13
- 0x2034180D, // 01FB NE R13 R12 R13
- 0x7836002F, // 01FC JMPF R13 #022D
- 0x60340013, // 01FD GETGBL R13 G19
- 0x7C340000, // 01FE CALL R13 0
- 0x9836A406, // 01FF SETIDX R13 K82 R6
- 0x98367209, // 0200 SETIDX R13 K57 R9
- 0x782E0000, // 0201 JMPF R11 #0203
- 0x98368A0B, // 0202 SETIDX R13 K69 R11
- 0x8C38193F, // 0203 GETMET R14 R12 K63
- 0x5C401800, // 0204 MOVE R16 R12
- 0x5C441A00, // 0205 MOVE R17 R13
- 0x5C481400, // 0206 MOVE R18 R10
- 0x7C380800, // 0207 CALL R14 4
- 0x50380000, // 0208 LDBOOL R14 0 0
- 0x603C0010, // 0209 GETGBL R15 G16
- 0x8840010B, // 020A GETMBR R16 R0 K11
- 0x88402137, // 020B GETMBR R16 R16 K55
- 0x7C3C0200, // 020C CALL R15 1
- 0xA802000B, // 020D EXBLK 0 #021A
- 0x5C401E00, // 020E MOVE R16 R15
- 0x7C400000, // 020F CALL R16 0
- 0x8C440155, // 0210 GETMET R17 R0 K85
- 0x5C4C2000, // 0211 MOVE R19 R16
- 0x5C501A00, // 0212 MOVE R20 R13
- 0x7C440600, // 0213 CALL R17 3
- 0x78460001, // 0214 JMPF R17 #0217
- 0x50380200, // 0215 LDBOOL R14 1 0
- 0x70020000, // 0216 JMP #0218
- 0x7001FFF5, // 0217 JMP #020E
- 0xA8040001, // 0218 EXBLK 1 1
- 0x70020002, // 0219 JMP #021D
- 0x583C0049, // 021A LDCONST R15 K73
- 0xAC3C0200, // 021B CATCH R15 1 0
- 0xB0080000, // 021C RAISE 2 R0 R0
- 0x5C3C1C00, // 021D MOVE R15 R14
- 0x743E000D, // 021E JMPT R15 #022D
- 0xB83E1000, // 021F GETNGBL R15 K8
- 0x60400018, // 0220 GETGBL R16 G24
- 0x58440056, // 0221 LDCONST R17 K86
- 0x5C480C00, // 0222 MOVE R18 R6
- 0x5C4C1200, // 0223 MOVE R19 R9
- 0x5C501400, // 0224 MOVE R20 R10
- 0x7C400800, // 0225 CALL R16 4
- 0x5844000A, // 0226 LDCONST R17 K10
- 0x7C3C0400, // 0227 CALL R15 2
- 0x883C010B, // 0228 GETMBR R15 R0 K11
- 0x8C3C1F50, // 0229 GETMET R15 R15 K80
- 0x5C441200, // 022A MOVE R17 R9
- 0x5C481A00, // 022B MOVE R18 R13
- 0x7C3C0600, // 022C CALL R15 3
- 0x001C0F2E, // 022D ADD R7 R7 K46
- 0x60300008, // 022E GETGBL R12 G8
- 0x5C340E00, // 022F MOVE R13 R7
- 0x7C300200, // 0230 CALL R12 1
- 0x5C201800, // 0231 MOVE R8 R12
- 0x7001FFB2, // 0232 JMP #01E6
- 0x8C240313, // 0233 GETMET R9 R1 K19
- 0x582C004C, // 0234 LDCONST R11 K76
- 0x7C240400, // 0235 CALL R9 2
- 0x70020028, // 0236 JMP #0260
- 0x4C180000, // 0237 LDNIL R6
- 0x601C0010, // 0238 GETGBL R7 G16
- 0x8C200333, // 0239 GETMET R8 R1 K51
- 0x7C200200, // 023A CALL R8 1
- 0x0420112E, // 023B SUB R8 R8 K46
- 0x40225208, // 023C CONNECT R8 K41 R8
- 0x7C1C0200, // 023D CALL R7 1
- 0xA8020013, // 023E EXBLK 0 #0253
- 0x5C200E00, // 023F MOVE R8 R7
- 0x7C200000, // 0240 CALL R8 0
- 0x8C240334, // 0241 GETMET R9 R1 K52
- 0x5C2C1000, // 0242 MOVE R11 R8
- 0x7C240400, // 0243 CALL R9 2
- 0x8C280535, // 0244 GETMET R10 R2 K53
- 0x5C301200, // 0245 MOVE R12 R9
- 0x58340057, // 0246 LDCONST R13 K87
- 0x7C280600, // 0247 CALL R10 3
- 0x1C281529, // 0248 EQ R10 R10 K41
- 0x782A0005, // 0249 JMPF R10 #0250
- 0x60280009, // 024A GETGBL R10 G9
- 0x402E1536, // 024B CONNECT R11 K10 K54
- 0x942C120B, // 024C GETIDX R11 R9 R11
- 0x7C280200, // 024D CALL R10 1
- 0x5C181400, // 024E MOVE R6 R10
- 0x70020000, // 024F JMP #0251
- 0x7001FFED, // 0250 JMP #023F
- 0xA8040001, // 0251 EXBLK 1 1
- 0x70020002, // 0252 JMP #0256
- 0x581C0049, // 0253 LDCONST R7 K73
- 0xAC1C0200, // 0254 CATCH R7 1 0
- 0xB0080000, // 0255 RAISE 2 R0 R0
- 0x4C1C0000, // 0256 LDNIL R7
- 0x201C0C07, // 0257 NE R7 R6 R7
- 0x781E0006, // 0258 JMPF R7 #0260
- 0x881C010B, // 0259 GETMBR R7 R0 K11
- 0x8C1C0F58, // 025A GETMET R7 R7 K88
- 0x5C240C00, // 025B MOVE R9 R6
- 0x7C1C0400, // 025C CALL R7 2
- 0x8C1C0313, // 025D GETMET R7 R1 K19
- 0x5824004C, // 025E LDCONST R9 K76
- 0x7C1C0400, // 025F CALL R7 2
- 0x78160011, // 0260 JMPF R5 #0273
- 0x8C180359, // 0261 GETMET R6 R1 K89
- 0x5820005A, // 0262 LDCONST R8 K90
- 0x7C180400, // 0263 CALL R6 2
- 0x8C18035B, // 0264 GETMET R6 R1 K91
- 0x7C180200, // 0265 CALL R6 1
+ 0x88241325, // 0080 GETMBR R9 R9 K37
+ 0x4C280000, // 0081 LDNIL R10
+ 0x2024120A, // 0082 NE R9 R9 R10
+ 0x20240E09, // 0083 NE R9 R7 R9
+ 0x7826000C, // 0084 JMPF R9 #0092
+ 0x781E0003, // 0085 JMPF R7 #008A
+ 0x8824010B, // 0086 GETMBR R9 R0 K11
+ 0x8C241326, // 0087 GETMET R9 R9 K38
+ 0x7C240200, // 0088 CALL R9 1
+ 0x70020003, // 0089 JMP #008E
+ 0x8824010B, // 008A GETMBR R9 R0 K11
+ 0x88241324, // 008B GETMBR R9 R9 K36
+ 0x8C241327, // 008C GETMET R9 R9 K39
+ 0x7C240200, // 008D CALL R9 1
+ 0x8C240313, // 008E GETMET R9 R1 K19
+ 0x582C0028, // 008F LDCONST R11 K40
+ 0x7C240400, // 0090 CALL R9 2
+ 0x70020002, // 0091 JMP #0095
+ 0x8C240313, // 0092 GETMET R9 R1 K19
+ 0x582C0028, // 0093 LDCONST R11 K40
+ 0x7C240400, // 0094 CALL R9 2
+ 0x700201CB, // 0095 JMP #0262
+ 0x8C180305, // 0096 GETMET R6 R1 K5
+ 0x58200029, // 0097 LDCONST R8 K41
+ 0x7C180400, // 0098 CALL R6 2
+ 0x781A0025, // 0099 JMPF R6 #00C0
+ 0xB81A1000, // 009A GETNGBL R6 K8
+ 0x601C0018, // 009B GETGBL R7 G24
+ 0x58200009, // 009C LDCONST R8 K9
+ 0x58240029, // 009D LDCONST R9 K41
+ 0x7C1C0400, // 009E CALL R7 2
+ 0x5820000A, // 009F LDCONST R8 K10
+ 0x7C180400, // 00A0 CALL R6 2
+ 0x60180009, // 00A1 GETGBL R6 G9
+ 0x8C1C030D, // 00A2 GETMET R7 R1 K13
+ 0x58240029, // 00A3 LDCONST R9 K41
+ 0x7C1C0400, // 00A4 CALL R7 2
+ 0x7C180200, // 00A5 CALL R6 1
+ 0x581C002A, // 00A6 LDCONST R7 K42
+ 0x8820010B, // 00A7 GETMBR R8 R0 K11
+ 0x8820112B, // 00A8 GETMBR R8 R8 K43
+ 0x8820112C, // 00A9 GETMBR R8 R8 K44
+ 0x6024000C, // 00AA GETGBL R9 G12
+ 0x5C281000, // 00AB MOVE R10 R8
+ 0x7C240200, // 00AC CALL R9 1
+ 0x14240E09, // 00AD LT R9 R7 R9
+ 0x7826000C, // 00AE JMPF R9 #00BC
+ 0x94241007, // 00AF GETIDX R9 R8 R7
+ 0x8C24132D, // 00B0 GETMET R9 R9 K45
+ 0x7C240200, // 00B1 CALL R9 1
+ 0x1C241206, // 00B2 EQ R9 R9 R6
+ 0x78260005, // 00B3 JMPF R9 #00BA
+ 0x8824010B, // 00B4 GETMBR R9 R0 K11
+ 0x8C24132E, // 00B5 GETMET R9 R9 K46
+ 0x942C1007, // 00B6 GETIDX R11 R8 R7
+ 0x7C240400, // 00B7 CALL R9 2
+ 0x70020002, // 00B8 JMP #00BC
+ 0x70020000, // 00B9 JMP #00BB
+ 0x001C0F2F, // 00BA ADD R7 R7 K47
+ 0x7001FFED, // 00BB JMP #00AA
+ 0x8C240313, // 00BC GETMET R9 R1 K19
+ 0x582C0030, // 00BD LDCONST R11 K48
+ 0x7C240400, // 00BE CALL R9 2
+ 0x700201A1, // 00BF JMP #0262
+ 0x8C180305, // 00C0 GETMET R6 R1 K5
+ 0x58200031, // 00C1 LDCONST R8 K49
+ 0x7C180400, // 00C2 CALL R6 2
+ 0x781A0010, // 00C3 JMPF R6 #00D5
+ 0xB81A1000, // 00C4 GETNGBL R6 K8
+ 0x601C0018, // 00C5 GETGBL R7 G24
+ 0x58200009, // 00C6 LDCONST R8 K9
+ 0x58240031, // 00C7 LDCONST R9 K49
+ 0x7C1C0400, // 00C8 CALL R7 2
+ 0x5820000A, // 00C9 LDCONST R8 K10
+ 0x7C180400, // 00CA CALL R6 2
+ 0x8818010B, // 00CB GETMBR R6 R0 K11
+ 0x501C0000, // 00CC LDBOOL R7 0 0
+ 0x901A6407, // 00CD SETMBR R6 K50 R7
+ 0x8818010B, // 00CE GETMBR R6 R0 K11
+ 0x8C180D12, // 00CF GETMET R6 R6 K18
+ 0x7C180200, // 00D0 CALL R6 1
+ 0x8C180313, // 00D1 GETMET R6 R1 K19
+ 0x58200014, // 00D2 LDCONST R8 K20
+ 0x7C180400, // 00D3 CALL R6 2
+ 0x7002018C, // 00D4 JMP #0262
+ 0x8C180305, // 00D5 GETMET R6 R1 K5
+ 0x58200033, // 00D6 LDCONST R8 K51
+ 0x7C180400, // 00D7 CALL R6 2
+ 0x781A00CE, // 00D8 JMPF R6 #01A8
+ 0xB81A1000, // 00D9 GETNGBL R6 K8
+ 0x601C0018, // 00DA GETGBL R7 G24
+ 0x58200009, // 00DB LDCONST R8 K9
+ 0x58240033, // 00DC LDCONST R9 K51
+ 0x7C1C0400, // 00DD CALL R7 2
+ 0x5820000A, // 00DE LDCONST R8 K10
+ 0x7C180400, // 00DF CALL R6 2
+ 0x50180000, // 00E0 LDBOOL R6 0 0
+ 0x601C0010, // 00E1 GETGBL R7 G16
+ 0x8C200334, // 00E2 GETMET R8 R1 K52
+ 0x7C200200, // 00E3 CALL R8 1
+ 0x0420112F, // 00E4 SUB R8 R8 K47
+ 0x40225408, // 00E5 CONNECT R8 K42 R8
+ 0x7C1C0200, // 00E6 CALL R7 1
+ 0xA802009B, // 00E7 EXBLK 0 #0184
+ 0x5C200E00, // 00E8 MOVE R8 R7
+ 0x7C200000, // 00E9 CALL R8 0
+ 0x8C240335, // 00EA GETMET R9 R1 K53
+ 0x5C2C1000, // 00EB MOVE R11 R8
+ 0x7C240400, // 00EC CALL R9 2
+ 0x8C280536, // 00ED GETMET R10 R2 K54
+ 0x5C301200, // 00EE MOVE R12 R9
+ 0x5834000D, // 00EF LDCONST R13 K13
+ 0x7C280600, // 00F0 CALL R10 3
+ 0x1C28152A, // 00F1 EQ R10 R10 K42
+ 0x782A0057, // 00F2 JMPF R10 #014B
+ 0x60280009, // 00F3 GETGBL R10 G9
+ 0x402E1537, // 00F4 CONNECT R11 K10 K55
+ 0x942C120B, // 00F5 GETIDX R11 R9 R11
+ 0x7C280200, // 00F6 CALL R10 1
+ 0x8C2C030D, // 00F7 GETMET R11 R1 K13
+ 0x5C341000, // 00F8 MOVE R13 R8
+ 0x7C2C0400, // 00F9 CALL R11 2
+ 0x8830010B, // 00FA GETMBR R12 R0 K11
+ 0x88301938, // 00FB GETMBR R12 R12 K56
+ 0x8C301936, // 00FC GETMET R12 R12 K54
+ 0x60380008, // 00FD GETGBL R14 G8
+ 0x5C3C1400, // 00FE MOVE R15 R10
+ 0x7C380200, // 00FF CALL R14 1
+ 0x7C300400, // 0100 CALL R12 2
+ 0x4C340000, // 0101 LDNIL R13
+ 0x2034180D, // 0102 NE R13 R12 R13
+ 0x7836003E, // 0103 JMPF R13 #0143
+ 0x8834010B, // 0104 GETMBR R13 R0 K11
+ 0x88341B39, // 0105 GETMBR R13 R13 K57
+ 0x8C341B36, // 0106 GETMET R13 R13 K54
+ 0x8C3C1936, // 0107 GETMET R15 R12 K54
+ 0x5844003A, // 0108 LDCONST R17 K58
+ 0x5848003B, // 0109 LDCONST R18 K59
+ 0x7C3C0600, // 010A CALL R15 3
+ 0x7C340400, // 010B CALL R13 2
+ 0x4C380000, // 010C LDNIL R14
+ 0x20381A0E, // 010D NE R14 R13 R14
+ 0x783A0032, // 010E JMPF R14 #0142
+ 0xB83A1000, // 010F GETNGBL R14 K8
+ 0x603C0018, // 0110 GETGBL R15 G24
+ 0x5840003C, // 0111 LDCONST R16 K60
+ 0x5C441400, // 0112 MOVE R17 R10
+ 0x5C481600, // 0113 MOVE R18 R11
+ 0x7C3C0600, // 0114 CALL R15 3
+ 0x5840000A, // 0115 LDCONST R16 K10
+ 0x7C380400, // 0116 CALL R14 2
+ 0x8C381B3D, // 0117 GETMET R14 R13 K61
+ 0x5C401A00, // 0118 MOVE R16 R13
+ 0x5C441800, // 0119 MOVE R17 R12
+ 0x7C380600, // 011A CALL R14 3
+ 0x203C1C0B, // 011B NE R15 R14 R11
+ 0xB8421000, // 011C GETNGBL R16 K8
+ 0x60440018, // 011D GETGBL R17 G24
+ 0x5848003E, // 011E LDCONST R18 K62
+ 0x5C4C1400, // 011F MOVE R19 R10
+ 0x5C501C00, // 0120 MOVE R20 R14
+ 0x5C541600, // 0121 MOVE R21 R11
+ 0x20581C0B, // 0122 NE R22 R14 R11
+ 0x785A0001, // 0123 JMPF R22 #0126
+ 0x5858003F, // 0124 LDCONST R22 K63
+ 0x70020000, // 0125 JMP #0127
+ 0x5858003B, // 0126 LDCONST R22 K59
+ 0x7C440A00, // 0127 CALL R17 5
+ 0x5848000A, // 0128 LDCONST R18 K10
+ 0x7C400400, // 0129 CALL R16 2
+ 0x783E0016, // 012A JMPF R15 #0142
+ 0x50180200, // 012B LDBOOL R6 1 0
+ 0x8C401B40, // 012C GETMET R16 R13 K64
+ 0x5C481A00, // 012D MOVE R18 R13
+ 0x5C4C1800, // 012E MOVE R19 R12
+ 0x5C501600, // 012F MOVE R20 R11
+ 0x7C400800, // 0130 CALL R16 4
+ 0x8840010B, // 0131 GETMBR R16 R0 K11
+ 0x8C402141, // 0132 GETMET R16 R16 K65
+ 0x5C481400, // 0133 MOVE R18 R10
+ 0x7C400400, // 0134 CALL R16 2
+ 0x7842000B, // 0135 JMPF R16 #0142
+ 0xB8461000, // 0136 GETNGBL R17 K8
+ 0x60480018, // 0137 GETGBL R18 G24
+ 0x584C0042, // 0138 LDCONST R19 K66
+ 0x5C501800, // 0139 MOVE R20 R12
+ 0x5C541400, // 013A MOVE R21 R10
+ 0x5C582000, // 013B MOVE R22 R16
+ 0x7C480800, // 013C CALL R18 4
+ 0x584C000A, // 013D LDCONST R19 K10
+ 0x7C440400, // 013E CALL R17 2
+ 0x8C442143, // 013F GETMET R17 R16 K67
+ 0x5C4C1800, // 0140 MOVE R19 R12
+ 0x7C440400, // 0141 CALL R17 2
+ 0x70020006, // 0142 JMP #014A
+ 0xB8361000, // 0143 GETNGBL R13 K8
+ 0x60380018, // 0144 GETGBL R14 G24
+ 0x583C0044, // 0145 LDCONST R15 K68
+ 0x5C401400, // 0146 MOVE R16 R10
+ 0x7C380400, // 0147 CALL R14 2
+ 0x583C000A, // 0148 LDCONST R15 K10
+ 0x7C340400, // 0149 CALL R13 2
+ 0x70020037, // 014A JMP #0183
+ 0x8C280536, // 014B GETMET R10 R2 K54
+ 0x5C301200, // 014C MOVE R12 R9
+ 0x58340045, // 014D LDCONST R13 K69
+ 0x7C280600, // 014E CALL R10 3
+ 0x1C28152A, // 014F EQ R10 R10 K42
+ 0x782A0031, // 0150 JMPF R10 #0183
+ 0x60280009, // 0151 GETGBL R10 G9
+ 0x402E1537, // 0152 CONNECT R11 K10 K55
+ 0x942C120B, // 0153 GETIDX R11 R9 R11
+ 0x7C280200, // 0154 CALL R10 1
+ 0x8C2C030D, // 0155 GETMET R11 R1 K13
+ 0x5C341000, // 0156 MOVE R13 R8
+ 0x7C2C0400, // 0157 CALL R11 2
+ 0x8830010B, // 0158 GETMBR R12 R0 K11
+ 0x88301938, // 0159 GETMBR R12 R12 K56
+ 0x8C301936, // 015A GETMET R12 R12 K54
+ 0x60380008, // 015B GETGBL R14 G8
+ 0x5C3C1400, // 015C MOVE R15 R10
+ 0x7C380200, // 015D CALL R14 1
+ 0x7C300400, // 015E CALL R12 2
+ 0x4C340000, // 015F LDNIL R13
+ 0x2034180D, // 0160 NE R13 R12 R13
+ 0x78360020, // 0161 JMPF R13 #0183
+ 0x8C341936, // 0162 GETMET R13 R12 K54
+ 0x583C0046, // 0163 LDCONST R15 K70
+ 0x5840003B, // 0164 LDCONST R16 K59
+ 0x7C340600, // 0165 CALL R13 3
+ 0x20381A0B, // 0166 NE R14 R13 R11
+ 0x783A001A, // 0167 JMPF R14 #0183
+ 0x50180200, // 0168 LDBOOL R6 1 0
+ 0x883C010B, // 0169 GETMBR R15 R0 K11
+ 0x8C3C1F41, // 016A GETMET R15 R15 K65
+ 0x5C441400, // 016B MOVE R17 R10
+ 0x7C3C0400, // 016C CALL R15 2
+ 0x783E0014, // 016D JMPF R15 #0183
+ 0x8C401F47, // 016E GETMET R16 R15 K71
+ 0x5C481600, // 016F MOVE R18 R11
+ 0x7C400400, // 0170 CALL R16 2
+ 0x782E0001, // 0171 JMPF R11 #0174
+ 0x98328C0B, // 0172 SETIDX R12 K70 R11
+ 0x70020002, // 0173 JMP #0177
+ 0x8C401948, // 0174 GETMET R16 R12 K72
+ 0x58480046, // 0175 LDCONST R18 K70
+ 0x7C400400, // 0176 CALL R16 2
+ 0xB8421000, // 0177 GETNGBL R16 K8
+ 0x60440018, // 0178 GETGBL R17 G24
+ 0x58480049, // 0179 LDCONST R18 K73
+ 0x5C4C1800, // 017A MOVE R19 R12
+ 0x5C501400, // 017B MOVE R20 R10
+ 0x5C541E00, // 017C MOVE R21 R15
+ 0x7C440800, // 017D CALL R17 4
+ 0x5848000A, // 017E LDCONST R18 K10
+ 0x7C400400, // 017F CALL R16 2
+ 0x8C401F43, // 0180 GETMET R16 R15 K67
+ 0x5C481800, // 0181 MOVE R18 R12
+ 0x7C400400, // 0182 CALL R16 2
+ 0x7001FF63, // 0183 JMP #00E8
+ 0x581C004A, // 0184 LDCONST R7 K74
+ 0xAC1C0200, // 0185 CATCH R7 1 0
+ 0xB0080000, // 0186 RAISE 2 R0 R0
+ 0xB81E1000, // 0187 GETNGBL R7 K8
+ 0x60200018, // 0188 GETGBL R8 G24
+ 0x5824004B, // 0189 LDCONST R9 K75
+ 0x60280008, // 018A GETGBL R10 G8
+ 0x882C010B, // 018B GETMBR R11 R0 K11
+ 0x882C1738, // 018C GETMBR R11 R11 K56
+ 0x7C280200, // 018D CALL R10 1
+ 0x7C200400, // 018E CALL R8 2
+ 0x5824000A, // 018F LDCONST R9 K10
+ 0x7C1C0400, // 0190 CALL R7 2
+ 0x78160007, // 0191 JMPF R5 #019A
+ 0xB81E1000, // 0192 GETNGBL R7 K8
+ 0x60200018, // 0193 GETGBL R8 G24
+ 0x5824004C, // 0194 LDCONST R9 K76
+ 0x5C280A00, // 0195 MOVE R10 R5
+ 0x7C200400, // 0196 CALL R8 2
+ 0x5824000A, // 0197 LDCONST R9 K10
+ 0x7C1C0400, // 0198 CALL R7 2
+ 0x7002000C, // 0199 JMP #01A7
+ 0x741A0002, // 019A JMPT R6 #019E
+ 0x881C010B, // 019B GETMBR R7 R0 K11
+ 0x881C0F32, // 019C GETMBR R7 R7 K50
+ 0x741E0005, // 019D JMPT R7 #01A4
+ 0x881C010B, // 019E GETMBR R7 R0 K11
+ 0x50200200, // 019F LDBOOL R8 1 0
+ 0x901E6408, // 01A0 SETMBR R7 K50 R8
+ 0x881C010B, // 01A1 GETMBR R7 R0 K11
+ 0x8C1C0F12, // 01A2 GETMET R7 R7 K18
+ 0x7C1C0200, // 01A3 CALL R7 1
+ 0x8C1C0313, // 01A4 GETMET R7 R1 K19
+ 0x5824004D, // 01A5 LDCONST R9 K77
+ 0x7C1C0400, // 01A6 CALL R7 2
+ 0x700200B9, // 01A7 JMP #0262
+ 0x8C180305, // 01A8 GETMET R6 R1 K5
+ 0x5820004E, // 01A9 LDCONST R8 K78
+ 0x7C180400, // 01AA CALL R6 2
+ 0x781A002A, // 01AB JMPF R6 #01D7
+ 0x8C18030D, // 01AC GETMET R6 R1 K13
+ 0x5820004F, // 01AD LDCONST R8 K79
+ 0x7C180400, // 01AE CALL R6 2
+ 0x8C1C030D, // 01AF GETMET R7 R1 K13
+ 0x5824000D, // 01B0 LDCONST R9 K13
+ 0x7C1C0400, // 01B1 CALL R7 2
+ 0x8C20030D, // 01B2 GETMET R8 R1 K13
+ 0x58280045, // 01B3 LDCONST R10 K69
+ 0x7C200400, // 01B4 CALL R8 2
+ 0xB8261000, // 01B5 GETNGBL R9 K8
+ 0x60280018, // 01B6 GETGBL R10 G24
+ 0x582C0050, // 01B7 LDCONST R11 K80
+ 0x5C300C00, // 01B8 MOVE R12 R6
+ 0x5C340E00, // 01B9 MOVE R13 R7
+ 0x7C280600, // 01BA CALL R10 3
+ 0x582C000A, // 01BB LDCONST R11 K10
+ 0x7C240400, // 01BC CALL R9 2
+ 0x8824010B, // 01BD GETMBR R9 R0 K11
+ 0x88241339, // 01BE GETMBR R9 R9 K57
+ 0x8C241336, // 01BF GETMET R9 R9 K54
+ 0x5C2C0C00, // 01C0 MOVE R11 R6
+ 0x7C240400, // 01C1 CALL R9 2
+ 0x4C280000, // 01C2 LDNIL R10
+ 0x2028120A, // 01C3 NE R10 R9 R10
+ 0x782A000D, // 01C4 JMPF R10 #01D3
+ 0x60280013, // 01C5 GETGBL R10 G19
+ 0x7C280000, // 01C6 CALL R10 0
+ 0x78220000, // 01C7 JMPF R8 #01C9
+ 0x982A8C08, // 01C8 SETIDX R10 K70 R8
+ 0x8C2C1340, // 01C9 GETMET R11 R9 K64
+ 0x5C341200, // 01CA MOVE R13 R9
+ 0x5C381400, // 01CB MOVE R14 R10
+ 0x5C3C0E00, // 01CC MOVE R15 R7
+ 0x7C2C0800, // 01CD CALL R11 4
+ 0x882C010B, // 01CE GETMBR R11 R0 K11
+ 0x8C2C1751, // 01CF GETMET R11 R11 K81
+ 0x5C340C00, // 01D0 MOVE R13 R6
+ 0x5C381400, // 01D1 MOVE R14 R10
+ 0x7C2C0600, // 01D2 CALL R11 3
+ 0x8C280313, // 01D3 GETMET R10 R1 K19
+ 0x5830004D, // 01D4 LDCONST R12 K77
+ 0x7C280400, // 01D5 CALL R10 2
+ 0x7002008A, // 01D6 JMP #0262
+ 0x8C180305, // 01D7 GETMET R6 R1 K5
+ 0x58200052, // 01D8 LDCONST R8 K82
+ 0x7C180400, // 01D9 CALL R6 2
+ 0x781A005D, // 01DA JMPF R6 #0239
+ 0x8C18030D, // 01DB GETMET R6 R1 K13
+ 0x58200053, // 01DC LDCONST R8 K83
+ 0x7C180400, // 01DD CALL R6 2
+ 0x4C1C0000, // 01DE LDNIL R7
+ 0x1C1C0C07, // 01DF EQ R7 R6 R7
+ 0x741E0001, // 01E0 JMPT R7 #01E3
+ 0x1C1C0D3B, // 01E1 EQ R7 R6 K59
+ 0x781E0000, // 01E2 JMPF R7 #01E4
+ 0xB006A955, // 01E3 RAISE 1 K84 K85
+ 0x581C002A, // 01E4 LDCONST R7 K42
+ 0x60200008, // 01E5 GETGBL R8 G8
+ 0x5C240E00, // 01E6 MOVE R9 R7
+ 0x7C200200, // 01E7 CALL R8 1
+ 0x8C240305, // 01E8 GETMET R9 R1 K5
+ 0x002E9E08, // 01E9 ADD R11 K79 R8
+ 0x7C240400, // 01EA CALL R9 2
+ 0x78260048, // 01EB JMPF R9 #0235
+ 0x8C24030D, // 01EC GETMET R9 R1 K13
+ 0x002E9E08, // 01ED ADD R11 K79 R8
+ 0x7C240400, // 01EE CALL R9 2
+ 0x8C28030D, // 01EF GETMET R10 R1 K13
+ 0x00321A08, // 01F0 ADD R12 K13 R8
+ 0x7C280400, // 01F1 CALL R10 2
+ 0x8C2C030D, // 01F2 GETMET R11 R1 K13
+ 0x00368A08, // 01F3 ADD R13 K69 R8
+ 0x7C2C0400, // 01F4 CALL R11 2
+ 0x2030133B, // 01F5 NE R12 R9 K59
+ 0x78320037, // 01F6 JMPF R12 #022F
+ 0x8830010B, // 01F7 GETMBR R12 R0 K11
+ 0x88301939, // 01F8 GETMBR R12 R12 K57
+ 0x8C301936, // 01F9 GETMET R12 R12 K54
+ 0x5C381200, // 01FA MOVE R14 R9
+ 0x7C300400, // 01FB CALL R12 2
+ 0x4C340000, // 01FC LDNIL R13
+ 0x2034180D, // 01FD NE R13 R12 R13
+ 0x7836002F, // 01FE JMPF R13 #022F
+ 0x60340013, // 01FF GETGBL R13 G19
+ 0x7C340000, // 0200 CALL R13 0
+ 0x9836A606, // 0201 SETIDX R13 K83 R6
+ 0x98367409, // 0202 SETIDX R13 K58 R9
+ 0x782E0000, // 0203 JMPF R11 #0205
+ 0x98368C0B, // 0204 SETIDX R13 K70 R11
+ 0x8C381940, // 0205 GETMET R14 R12 K64
+ 0x5C401800, // 0206 MOVE R16 R12
+ 0x5C441A00, // 0207 MOVE R17 R13
+ 0x5C481400, // 0208 MOVE R18 R10
+ 0x7C380800, // 0209 CALL R14 4
+ 0x50380000, // 020A LDBOOL R14 0 0
+ 0x603C0010, // 020B GETGBL R15 G16
+ 0x8840010B, // 020C GETMBR R16 R0 K11
+ 0x88402138, // 020D GETMBR R16 R16 K56
+ 0x7C3C0200, // 020E CALL R15 1
+ 0xA802000B, // 020F EXBLK 0 #021C
+ 0x5C401E00, // 0210 MOVE R16 R15
+ 0x7C400000, // 0211 CALL R16 0
+ 0x8C440156, // 0212 GETMET R17 R0 K86
+ 0x5C4C2000, // 0213 MOVE R19 R16
+ 0x5C501A00, // 0214 MOVE R20 R13
+ 0x7C440600, // 0215 CALL R17 3
+ 0x78460001, // 0216 JMPF R17 #0219
+ 0x50380200, // 0217 LDBOOL R14 1 0
+ 0x70020000, // 0218 JMP #021A
+ 0x7001FFF5, // 0219 JMP #0210
+ 0xA8040001, // 021A EXBLK 1 1
+ 0x70020002, // 021B JMP #021F
+ 0x583C004A, // 021C LDCONST R15 K74
+ 0xAC3C0200, // 021D CATCH R15 1 0
+ 0xB0080000, // 021E RAISE 2 R0 R0
+ 0x5C3C1C00, // 021F MOVE R15 R14
+ 0x743E000D, // 0220 JMPT R15 #022F
+ 0xB83E1000, // 0221 GETNGBL R15 K8
+ 0x60400018, // 0222 GETGBL R16 G24
+ 0x58440057, // 0223 LDCONST R17 K87
+ 0x5C480C00, // 0224 MOVE R18 R6
+ 0x5C4C1200, // 0225 MOVE R19 R9
+ 0x5C501400, // 0226 MOVE R20 R10
+ 0x7C400800, // 0227 CALL R16 4
+ 0x5844000A, // 0228 LDCONST R17 K10
+ 0x7C3C0400, // 0229 CALL R15 2
+ 0x883C010B, // 022A GETMBR R15 R0 K11
+ 0x8C3C1F51, // 022B GETMET R15 R15 K81
+ 0x5C441200, // 022C MOVE R17 R9
+ 0x5C481A00, // 022D MOVE R18 R13
+ 0x7C3C0600, // 022E CALL R15 3
+ 0x001C0F2F, // 022F ADD R7 R7 K47
+ 0x60300008, // 0230 GETGBL R12 G8
+ 0x5C340E00, // 0231 MOVE R13 R7
+ 0x7C300200, // 0232 CALL R12 1
+ 0x5C201800, // 0233 MOVE R8 R12
+ 0x7001FFB2, // 0234 JMP #01E8
+ 0x8C240313, // 0235 GETMET R9 R1 K19
+ 0x582C004D, // 0236 LDCONST R11 K77
+ 0x7C240400, // 0237 CALL R9 2
+ 0x70020028, // 0238 JMP #0262
+ 0x4C180000, // 0239 LDNIL R6
+ 0x601C0010, // 023A GETGBL R7 G16
+ 0x8C200334, // 023B GETMET R8 R1 K52
+ 0x7C200200, // 023C CALL R8 1
+ 0x0420112F, // 023D SUB R8 R8 K47
+ 0x40225408, // 023E CONNECT R8 K42 R8
+ 0x7C1C0200, // 023F CALL R7 1
+ 0xA8020013, // 0240 EXBLK 0 #0255
+ 0x5C200E00, // 0241 MOVE R8 R7
+ 0x7C200000, // 0242 CALL R8 0
+ 0x8C240335, // 0243 GETMET R9 R1 K53
+ 0x5C2C1000, // 0244 MOVE R11 R8
+ 0x7C240400, // 0245 CALL R9 2
+ 0x8C280536, // 0246 GETMET R10 R2 K54
+ 0x5C301200, // 0247 MOVE R12 R9
+ 0x58340058, // 0248 LDCONST R13 K88
+ 0x7C280600, // 0249 CALL R10 3
+ 0x1C28152A, // 024A EQ R10 R10 K42
+ 0x782A0005, // 024B JMPF R10 #0252
+ 0x60280009, // 024C GETGBL R10 G9
+ 0x402E1537, // 024D CONNECT R11 K10 K55
+ 0x942C120B, // 024E GETIDX R11 R9 R11
+ 0x7C280200, // 024F CALL R10 1
+ 0x5C181400, // 0250 MOVE R6 R10
+ 0x70020000, // 0251 JMP #0253
+ 0x7001FFED, // 0252 JMP #0241
+ 0xA8040001, // 0253 EXBLK 1 1
+ 0x70020002, // 0254 JMP #0258
+ 0x581C004A, // 0255 LDCONST R7 K74
+ 0xAC1C0200, // 0256 CATCH R7 1 0
+ 0xB0080000, // 0257 RAISE 2 R0 R0
+ 0x4C1C0000, // 0258 LDNIL R7
+ 0x201C0C07, // 0259 NE R7 R6 R7
+ 0x781E0006, // 025A JMPF R7 #0262
+ 0x881C010B, // 025B GETMBR R7 R0 K11
+ 0x8C1C0F59, // 025C GETMET R7 R7 K89
+ 0x5C240C00, // 025D MOVE R9 R6
+ 0x7C1C0400, // 025E CALL R7 2
+ 0x8C1C0313, // 025F GETMET R7 R1 K19
+ 0x5824004D, // 0260 LDCONST R9 K77
+ 0x7C1C0400, // 0261 CALL R7 2
+ 0x78160011, // 0262 JMPF R5 #0275
+ 0x8C18035A, // 0263 GETMET R6 R1 K90
+ 0x5820005B, // 0264 LDCONST R8 K91
+ 0x7C180400, // 0265 CALL R6 2
0x8C18035C, // 0266 GETMET R6 R1 K92
- 0x60200018, // 0267 GETGBL R8 G24
- 0x5824005D, // 0268 LDCONST R9 K93
- 0x8C28035E, // 0269 GETMET R10 R1 K94
- 0x5C300A00, // 026A MOVE R12 R5
- 0x7C280400, // 026B CALL R10 2
- 0x7C200400, // 026C CALL R8 2
- 0x7C180400, // 026D CALL R6 2
- 0x8C18035F, // 026E GETMET R6 R1 K95
- 0x88200360, // 026F GETMBR R8 R1 K96
- 0x7C180400, // 0270 CALL R6 2
- 0x8C180361, // 0271 GETMET R6 R1 K97
- 0x7C180200, // 0272 CALL R6 1
- 0xA8040001, // 0273 EXBLK 1 1
- 0x7002001C, // 0274 JMP #0292
- 0xAC180002, // 0275 CATCH R6 0 2
- 0x70020019, // 0276 JMP #0291
- 0xB8221000, // 0277 GETNGBL R8 K8
- 0x60240018, // 0278 GETGBL R9 G24
- 0x58280062, // 0279 LDCONST R10 K98
- 0x5C2C0C00, // 027A MOVE R11 R6
- 0x5C300E00, // 027B MOVE R12 R7
- 0x7C240600, // 027C CALL R9 3
- 0x58280063, // 027D LDCONST R10 K99
- 0x7C200400, // 027E CALL R8 2
- 0x8C200359, // 027F GETMET R8 R1 K89
- 0x5828005A, // 0280 LDCONST R10 K90
- 0x7C200400, // 0281 CALL R8 2
- 0x8C20035B, // 0282 GETMET R8 R1 K91
- 0x7C200200, // 0283 CALL R8 1
+ 0x7C180200, // 0267 CALL R6 1
+ 0x8C18035D, // 0268 GETMET R6 R1 K93
+ 0x60200018, // 0269 GETGBL R8 G24
+ 0x5824005E, // 026A LDCONST R9 K94
+ 0x8C28035F, // 026B GETMET R10 R1 K95
+ 0x5C300A00, // 026C MOVE R12 R5
+ 0x7C280400, // 026D CALL R10 2
+ 0x7C200400, // 026E CALL R8 2
+ 0x7C180400, // 026F CALL R6 2
+ 0x8C180360, // 0270 GETMET R6 R1 K96
+ 0x88200361, // 0271 GETMBR R8 R1 K97
+ 0x7C180400, // 0272 CALL R6 2
+ 0x8C180362, // 0273 GETMET R6 R1 K98
+ 0x7C180200, // 0274 CALL R6 1
+ 0xA8040001, // 0275 EXBLK 1 1
+ 0x7002001C, // 0276 JMP #0294
+ 0xAC180002, // 0277 CATCH R6 0 2
+ 0x70020019, // 0278 JMP #0293
+ 0xB8221000, // 0279 GETNGBL R8 K8
+ 0x60240018, // 027A GETGBL R9 G24
+ 0x58280063, // 027B LDCONST R10 K99
+ 0x5C2C0C00, // 027C MOVE R11 R6
+ 0x5C300E00, // 027D MOVE R12 R7
+ 0x7C240600, // 027E CALL R9 3
+ 0x58280064, // 027F LDCONST R10 K100
+ 0x7C200400, // 0280 CALL R8 2
+ 0x8C20035A, // 0281 GETMET R8 R1 K90
+ 0x5828005B, // 0282 LDCONST R10 K91
+ 0x7C200400, // 0283 CALL R8 2
0x8C20035C, // 0284 GETMET R8 R1 K92
- 0x60280018, // 0285 GETGBL R10 G24
- 0x582C0064, // 0286 LDCONST R11 K100
- 0x5C300C00, // 0287 MOVE R12 R6
- 0x5C340E00, // 0288 MOVE R13 R7
- 0x7C280600, // 0289 CALL R10 3
- 0x7C200400, // 028A CALL R8 2
- 0x8C20035F, // 028B GETMET R8 R1 K95
- 0x88280360, // 028C GETMBR R10 R1 K96
- 0x7C200400, // 028D CALL R8 2
- 0x8C200361, // 028E GETMET R8 R1 K97
- 0x7C200200, // 028F CALL R8 1
- 0x70020000, // 0290 JMP #0292
- 0xB0080000, // 0291 RAISE 2 R0 R0
- 0x80000000, // 0292 RET 0
+ 0x7C200200, // 0285 CALL R8 1
+ 0x8C20035D, // 0286 GETMET R8 R1 K93
+ 0x60280018, // 0287 GETGBL R10 G24
+ 0x582C0065, // 0288 LDCONST R11 K101
+ 0x5C300C00, // 0289 MOVE R12 R6
+ 0x5C340E00, // 028A MOVE R13 R7
+ 0x7C280600, // 028B CALL R10 3
+ 0x7C200400, // 028C CALL R8 2
+ 0x8C200360, // 028D GETMET R8 R1 K96
+ 0x88280361, // 028E GETMBR R10 R1 K97
+ 0x7C200400, // 028F CALL R8 2
+ 0x8C200362, // 0290 GETMET R8 R1 K98
+ 0x7C200200, // 0291 CALL R8 1
+ 0x70020000, // 0292 JMP #0294
+ 0xB0080000, // 0293 RAISE 2 R0 R0
+ 0x80000000, // 0294 RET 0
})
)
);
@@ -3149,7 +3160,7 @@ be_local_closure(class_Matter_UI_show_enable, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[16]) { /* constants */
+ ( &(const bvalue[17]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(matter_enabled),
/* K2 */ be_nested_str_weak(content_send),
@@ -3159,17 +3170,18 @@ be_local_closure(class_Matter_UI_show_enable, /* name */
/* K6 */ be_nested_str_weak(_X3Cp_X3E_X3Cinput_X20id_X3D_X27menable_X27_X20type_X3D_X27checkbox_X27_X20name_X3D_X27menable_X27_X20_X25s_X3E),
/* K7 */ be_nested_str_weak(_X3Clabel_X20for_X3D_X27menable_X27_X3E_X3Cb_X3EMatter_X20enable_X3C_X2Fb_X3E_X3C_X2Flabel_X3E_X3C_X2Fp_X3E),
/* K8 */ be_nested_str_weak(device),
- /* K9 */ be_nested_str_weak(commissioning_open),
- /* K10 */ be_nested_str_weak(_X3Cp_X3E_X3Cinput_X20id_X3D_X27comm_X27_X20type_X3D_X27checkbox_X27_X20name_X3D_X27comm_X27_X20_X25s_X3E),
- /* K11 */ be_nested_str_weak(_X3Clabel_X20for_X3D_X27comm_X27_X3E_X3Cb_X3ECommissioning_X20open_X3C_X2Fb_X3E_X3C_X2Flabel_X3E_X3C_X2Fp_X3E),
- /* K12 */ be_nested_str_weak(disable_bridge_mode),
- /* K13 */ be_nested_str_weak(_X20checked),
- /* K14 */ be_nested_str_weak(_X3Cp_X3E_X3Cinput_X20type_X3D_X27checkbox_X27_X20name_X3D_X27nobridge_X27_X25s_X3E_X3Cb_X3EForce_X20Static_X20endpoints_X3C_X2Fb_X3E_X20_X28non_X2Dbridge_X29_X3C_X2Fp_X3E),
- /* K15 */ be_nested_str_weak(_X3Cp_X3E_X3C_X2Fp_X3E_X3Cbutton_X20name_X3D_X27save_X27_X20class_X3D_X27button_X20bgrn_X27_X3ESave_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E),
+ /* K9 */ be_nested_str_weak(commissioning),
+ /* K10 */ be_nested_str_weak(commissioning_open),
+ /* K11 */ be_nested_str_weak(_X3Cp_X3E_X3Cinput_X20id_X3D_X27comm_X27_X20type_X3D_X27checkbox_X27_X20name_X3D_X27comm_X27_X20_X25s_X3E),
+ /* K12 */ be_nested_str_weak(_X3Clabel_X20for_X3D_X27comm_X27_X3E_X3Cb_X3ECommissioning_X20open_X3C_X2Fb_X3E_X3C_X2Flabel_X3E_X3C_X2Fp_X3E),
+ /* K13 */ be_nested_str_weak(disable_bridge_mode),
+ /* K14 */ be_nested_str_weak(_X20checked),
+ /* K15 */ be_nested_str_weak(_X3Cp_X3E_X3Cinput_X20type_X3D_X27checkbox_X27_X20name_X3D_X27nobridge_X27_X25s_X3E_X3Cb_X3EForce_X20Static_X20endpoints_X3C_X2Fb_X3E_X20_X28non_X2Dbridge_X29_X3C_X2Fp_X3E),
+ /* K16 */ be_nested_str_weak(_X3Cp_X3E_X3C_X2Fp_X3E_X3Cbutton_X20name_X3D_X27save_X27_X20class_X3D_X27button_X20bgrn_X27_X3ESave_X3C_X2Fbutton_X3E_X3C_X2Fform_X3E_X3C_X2Fp_X3E_X3C_X2Ffieldset_X3E_X3Cp_X3E_X3C_X2Fp_X3E),
}),
be_str_weak(show_enable),
&be_const_str_solidified,
- ( &(const binstruction[56]) { /* code */
+ ( &(const binstruction[57]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x88080101, // 0001 GETMBR R2 R0 K1
0x8C0C0302, // 0002 GETMET R3 R1 K2
@@ -3192,40 +3204,41 @@ be_local_closure(class_Matter_UI_show_enable, /* name */
0x7C100400, // 0013 CALL R4 2
0x8C100101, // 0014 GETMET R4 R0 K1
0x7C100200, // 0015 CALL R4 1
- 0x7812001C, // 0016 JMPF R4 #0034
+ 0x7812001D, // 0016 JMPF R4 #0035
0x88100108, // 0017 GETMBR R4 R0 K8
0x88100909, // 0018 GETMBR R4 R4 K9
- 0x4C140000, // 0019 LDNIL R5
- 0x20100805, // 001A NE R4 R4 R5
- 0x78120001, // 001B JMPF R4 #001E
- 0x58100004, // 001C LDCONST R4 K4
- 0x70020000, // 001D JMP #001F
- 0x58100005, // 001E LDCONST R4 K5
- 0x8C140302, // 001F GETMET R5 R1 K2
- 0x601C0018, // 0020 GETGBL R7 G24
- 0x5820000A, // 0021 LDCONST R8 K10
- 0x5C240800, // 0022 MOVE R9 R4
- 0x7C1C0400, // 0023 CALL R7 2
- 0x7C140400, // 0024 CALL R5 2
- 0x8C140302, // 0025 GETMET R5 R1 K2
- 0x581C000B, // 0026 LDCONST R7 K11
- 0x7C140400, // 0027 CALL R5 2
- 0x88140108, // 0028 GETMBR R5 R0 K8
- 0x88140B0C, // 0029 GETMBR R5 R5 K12
- 0x78160001, // 002A JMPF R5 #002D
- 0x5814000D, // 002B LDCONST R5 K13
- 0x70020000, // 002C JMP #002E
- 0x58140005, // 002D LDCONST R5 K5
- 0x8C180302, // 002E GETMET R6 R1 K2
- 0x60200018, // 002F GETGBL R8 G24
- 0x5824000E, // 0030 LDCONST R9 K14
- 0x5C280A00, // 0031 MOVE R10 R5
- 0x7C200400, // 0032 CALL R8 2
- 0x7C180400, // 0033 CALL R6 2
- 0x8C100302, // 0034 GETMET R4 R1 K2
- 0x5818000F, // 0035 LDCONST R6 K15
- 0x7C100400, // 0036 CALL R4 2
- 0x80000000, // 0037 RET 0
+ 0x8810090A, // 0019 GETMBR R4 R4 K10
+ 0x4C140000, // 001A LDNIL R5
+ 0x20100805, // 001B NE R4 R4 R5
+ 0x78120001, // 001C JMPF R4 #001F
+ 0x58100004, // 001D LDCONST R4 K4
+ 0x70020000, // 001E JMP #0020
+ 0x58100005, // 001F LDCONST R4 K5
+ 0x8C140302, // 0020 GETMET R5 R1 K2
+ 0x601C0018, // 0021 GETGBL R7 G24
+ 0x5820000B, // 0022 LDCONST R8 K11
+ 0x5C240800, // 0023 MOVE R9 R4
+ 0x7C1C0400, // 0024 CALL R7 2
+ 0x7C140400, // 0025 CALL R5 2
+ 0x8C140302, // 0026 GETMET R5 R1 K2
+ 0x581C000C, // 0027 LDCONST R7 K12
+ 0x7C140400, // 0028 CALL R5 2
+ 0x88140108, // 0029 GETMBR R5 R0 K8
+ 0x88140B0D, // 002A GETMBR R5 R5 K13
+ 0x78160001, // 002B JMPF R5 #002E
+ 0x5814000E, // 002C LDCONST R5 K14
+ 0x70020000, // 002D JMP #002F
+ 0x58140005, // 002E LDCONST R5 K5
+ 0x8C180302, // 002F GETMET R6 R1 K2
+ 0x60200018, // 0030 GETGBL R8 G24
+ 0x5824000F, // 0031 LDCONST R9 K15
+ 0x5C280A00, // 0032 MOVE R10 R5
+ 0x7C200400, // 0033 CALL R8 2
+ 0x7C180400, // 0034 CALL R6 2
+ 0x8C100302, // 0035 GETMET R4 R1 K2
+ 0x58180010, // 0036 LDCONST R6 K16
+ 0x7C100400, // 0037 CALL R4 2
+ 0x80000000, // 0038 RET 0
})
)
);
diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_z_Commissioning.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_z_Commissioning.h
new file mode 100644
index 000000000..646169710
--- /dev/null
+++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_z_Commissioning.h
@@ -0,0 +1,1976 @@
+/* Solidification of Matter_z_Commissioning.h */
+/********************************************************************\
+* Generated code, don't edit *
+\********************************************************************/
+#include "be_constobj.h"
+// compact class 'Matter_Commissioning' ktab size: 133, total: 275 (saved 1136 bytes)
+static const bvalue be_ktab_class_Matter_Commissioning[133] = {
+ /* K0 */ be_nested_str_weak(device),
+ /* K1 */ be_nested_str_weak(root_discriminator),
+ /* K2 */ be_nested_str_weak(root_passcode),
+ /* K3 */ be_nested_str_weak(_X251i_X2505i_X2504i),
+ /* K4 */ be_nested_str_weak(matter),
+ /* K5 */ be_nested_str_weak(Verhoeff),
+ /* K6 */ be_nested_str_weak(checksum),
+ /* K7 */ be_nested_str_weak(is_root_commissioning_open),
+ /* K8 */ be_nested_str_weak(tasmota),
+ /* K9 */ be_nested_str_weak(publish_result),
+ /* K10 */ be_nested_str_weak(_X7B_X22Matter_X22_X3A_X7B_X22Commissioning_X22_X3A0_X7D_X7D),
+ /* K11 */ be_nested_str_weak(Matter),
+ /* K12 */ be_nested_str_weak(commissioning_open),
+ /* K13 */ be_nested_str_weak(mdns_remove_PASE),
+ /* K14 */ be_nested_str_weak(commissioning_iterations),
+ /* K15 */ be_nested_str_weak(commissioning_discriminator),
+ /* K16 */ be_nested_str_weak(commissioning_salt),
+ /* K17 */ be_nested_str_weak(commissioning_w0),
+ /* K18 */ be_nested_str_weak(commissioning_L),
+ /* K19 */ be_nested_str_weak(commissioning_admin_fabric),
+ /* K20 */ be_nested_str_weak(get_fabric),
+ /* K21 */ be_nested_str_weak(get_fabric_id),
+ /* K22 */ be_nested_str_weak(copy),
+ /* K23 */ be_nested_str_weak(reverse),
+ /* K24 */ be_nested_str_weak(tohex),
+ /* K25 */ be_nested_str_weak(get_admin_vendor_name),
+ /* K26 */ be_nested_str_weak(log),
+ /* K27 */ be_nested_str_weak(MTR_X3A_X20_X2D_X2D_X2D_X20Commissioning_X20complete_X20for_X20Fabric_X20_X27_X25s_X27_X20_X28Vendor_X20_X25s_X29_X20_X2D_X2D_X2D),
+ /* K28 */ be_const_int(2),
+ /* K29 */ be_nested_str_weak(stop_basic_commissioning),
+ /* K30 */ be_nested_str_weak(resize),
+ /* K31 */ be_nested_str_weak(setbits),
+ /* K32 */ be_const_int(3),
+ /* K33 */ be_nested_str_weak(VENDOR_ID),
+ /* K34 */ be_nested_str_weak(PRODUCT_ID),
+ /* K35 */ be_const_int(134217727),
+ /* K36 */ be_nested_str_weak(MT_X3A),
+ /* K37 */ be_nested_str_weak(Base38),
+ /* K38 */ be_nested_str_weak(encode),
+ /* K39 */ be_nested_str_weak(crypto),
+ /* K40 */ be_nested_str_weak(mdns),
+ /* K41 */ be_nested_str_weak(mdns_announce_op_discovery),
+ /* K42 */ be_nested_str_weak(sessions),
+ /* K43 */ be_nested_str_weak(active_fabrics),
+ /* K44 */ be_nested_str_weak(get_device_id),
+ /* K45 */ be_nested_str_weak(mdns_remove_op_discovery),
+ /* K46 */ be_nested_str_weak(stop_iteration),
+ /* K47 */ be_nested_str_weak(get_fabric_compressed),
+ /* K48 */ be_nested_str_weak(_X2D),
+ /* K49 */ be_nested_str_weak(eth),
+ /* K50 */ be_nested_str_weak(find),
+ /* K51 */ be_nested_str_weak(up),
+ /* K52 */ be_nested_str_weak(MTR_X3A_X20remove_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27),
+ /* K53 */ be_nested_str_weak(remove_service),
+ /* K54 */ be_nested_str_weak(_matter),
+ /* K55 */ be_nested_str_weak(_tcp),
+ /* K56 */ be_nested_str_weak(hostname_eth),
+ /* K57 */ be_nested_str_weak(wifi),
+ /* K58 */ be_nested_str_weak(hostname_wifi),
+ /* K59 */ be_nested_str_weak(MTR_X3A_X20Exception),
+ /* K60 */ be_nested_str_weak(_X7C),
+ /* K61 */ be_nested_str_weak(millis),
+ /* K62 */ be_nested_str_weak(mdns_announce_PASE),
+ /* K63 */ be_nested_str_weak(add_rule),
+ /* K64 */ be_nested_str_weak(Wifi_X23Connected),
+ /* K65 */ be_nested_str_weak(Eth_X23Connected),
+ /* K66 */ be_nested_str_weak(set_timer),
+ /* K67 */ be_const_int(0),
+ /* K68 */ be_nested_str_weak(string),
+ /* K69 */ be_nested_str_weak(start),
+ /* K70 */ be_nested_str_weak(replace),
+ /* K71 */ be_nested_str_weak(mac),
+ /* K72 */ be_nested_str_weak(_X3A),
+ /* K73 */ be_nested_str_weak(),
+ /* K74 */ be_nested_str_weak(ipv4only),
+ /* K75 */ be_nested_str_weak(contains),
+ /* K76 */ be_nested_str_weak(ip6local),
+ /* K77 */ be_nested_str_weak(add_hostname),
+ /* K78 */ be_nested_str_weak(ip),
+ /* K79 */ be_nested_str_weak(ip6),
+ /* K80 */ be_nested_str_weak(MTR_X3A_X20calling_X20mdns_X2Eadd_hostname_X28_X25s_X2C_X20_X25s_X29),
+ /* K81 */ be_nested_str_weak(MTR_X3A_X20start_X20mDNS_X20on_X20_X25s_X20host_X20_X27_X25s_X2Elocal_X27),
+ /* K82 */ be_nested_str_weak(mdns_announce_op_discovery_all_fabrics),
+ /* K83 */ be_nested_str_weak(random),
+ /* K84 */ be_nested_str_weak(get),
+ /* K85 */ be_const_int(99999998),
+ /* K86 */ be_nested_str_weak(PASSCODE_INVALID),
+ /* K87 */ be_nested_str_weak(MTR_X3A_X20Operational_X20Discovery_X20node_X20_X3D_X20),
+ /* K88 */ be_nested_str_weak(MTR_X3A_X20adding_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27_X20ptr_X20to_X20_X60_X25s_X2Elocal_X60),
+ /* K89 */ be_nested_str_weak(add_service),
+ /* K90 */ be_nested_str_weak(_I),
+ /* K91 */ be_nested_str_weak(MTR_X3A_X20adding_X20subtype_X3A_X20),
+ /* K92 */ be_nested_str_weak(add_subtype),
+ /* K93 */ be_nested_str_weak(time_reached),
+ /* K94 */ be_nested_str_weak(VP),
+ /* K95 */ be_nested_str_weak(_X25s_X2B_X25s),
+ /* K96 */ be_nested_str_weak(D),
+ /* K97 */ be_nested_str_weak(CM),
+ /* K98 */ be_const_int(1),
+ /* K99 */ be_nested_str_weak(T),
+ /* K100 */ be_nested_str_weak(SII),
+ /* K101 */ be_nested_str_weak(SAI),
+ /* K102 */ be_nested_str_weak(commissioning_instance_wifi),
+ /* K103 */ be_nested_str_weak(commissioning_instance_eth),
+ /* K104 */ be_nested_str_weak(_matterc),
+ /* K105 */ be_nested_str_weak(_udp),
+ /* K106 */ be_nested_str_weak(mdns_pase_eth),
+ /* K107 */ be_nested_str_weak(MTR_X3A_X20announce_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27_X20ptr_X20to_X20_X60_X25s_X2Elocal_X60),
+ /* K108 */ be_nested_str_weak(_L),
+ /* K109 */ be_nested_str_weak(_S),
+ /* K110 */ be_nested_str_weak(_V),
+ /* K111 */ be_nested_str_weak(_CM1),
+ /* K112 */ be_nested_str_weak(mdns_pase_wifi),
+ /* K113 */ be_nested_str_weak(MTR_X3A_X20starting_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27_X20ptr_X20to_X20_X60_X25s_X2Elocal_X60),
+ /* K114 */ be_nested_str_weak(count_active_fabrics),
+ /* K115 */ be_nested_str_weak(start_root_basic_commissioning),
+ /* K116 */ be_nested_str_weak(_mdns_announce_hostname),
+ /* K117 */ be_nested_str_weak(matter_mdns_host),
+ /* K118 */ be_nested_str_weak(PASE_TIMEOUT),
+ /* K119 */ be_nested_str_weak(compute_manual_pairing_code),
+ /* K120 */ be_nested_str_weak(MTR_X3A_X20Manual_X20pairing_X20code_X3A_X20_X25s),
+ /* K121 */ be_nested_str_weak(compute_qrcode_content),
+ /* K122 */ be_nested_str_weak(_X7B_X22Matter_X22_X3A_X7B_X22Commissioning_X22_X3A1_X2C_X22PairingCode_X22_X3A_X22_X25s_X22_X2C_X22QRCode_X22_X3A_X22_X25s_X22_X7D_X7D),
+ /* K123 */ be_nested_str_weak(add),
+ /* K124 */ be_nested_str_weak(PBKDF2_HMAC_SHA256),
+ /* K125 */ be_nested_str_weak(derive),
+ /* K126 */ be_nested_str_weak(PBKDF_ITERATIONS),
+ /* K127 */ be_nested_str_weak(EC_P256),
+ /* K128 */ be_nested_str_weak(mod),
+ /* K129 */ be_nested_str_weak(public_key),
+ /* K130 */ be_nested_str_weak(start_basic_commissioning),
+ /* K131 */ be_nested_str_weak(_init_basic_commissioning),
+ /* K132 */ be_nested_str_weak(MTR_X3A_X20calling_X20mdns_X2Eremove_service_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X2C_X20_X25s_X29),
+};
+
+
+extern const bclass be_class_Matter_Commissioning;
+
+/********************************************************************
+** Solidified function: compute_manual_pairing_code
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_compute_manual_pairing_code, /* name */
+ be_nested_proto(
+ 9, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(compute_manual_pairing_code),
+ &be_const_str_solidified,
+ ( &(const binstruction[34]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x88040301, // 0001 GETMBR R1 R1 K1
+ 0x540A0FFE, // 0002 LDINT R2 4095
+ 0x2C040202, // 0003 AND R1 R1 R2
+ 0x540A0009, // 0004 LDINT R2 10
+ 0x3C040202, // 0005 SHR R1 R1 R2
+ 0x88080100, // 0006 GETMBR R2 R0 K0
+ 0x88080501, // 0007 GETMBR R2 R2 K1
+ 0x540E02FF, // 0008 LDINT R3 768
+ 0x2C080403, // 0009 AND R2 R2 R3
+ 0x540E0005, // 000A LDINT R3 6
+ 0x38080403, // 000B SHL R2 R2 R3
+ 0x880C0100, // 000C GETMBR R3 R0 K0
+ 0x880C0702, // 000D GETMBR R3 R3 K2
+ 0x54123FFE, // 000E LDINT R4 16383
+ 0x2C0C0604, // 000F AND R3 R3 R4
+ 0x30080403, // 0010 OR R2 R2 R3
+ 0x880C0100, // 0011 GETMBR R3 R0 K0
+ 0x880C0702, // 0012 GETMBR R3 R3 K2
+ 0x5412000D, // 0013 LDINT R4 14
+ 0x3C0C0604, // 0014 SHR R3 R3 R4
+ 0x60100018, // 0015 GETGBL R4 G24
+ 0x58140003, // 0016 LDCONST R5 K3
+ 0x5C180200, // 0017 MOVE R6 R1
+ 0x5C1C0400, // 0018 MOVE R7 R2
+ 0x5C200600, // 0019 MOVE R8 R3
+ 0x7C100800, // 001A CALL R4 4
+ 0xB8160800, // 001B GETNGBL R5 K4
+ 0x88140B05, // 001C GETMBR R5 R5 K5
+ 0x8C140B06, // 001D GETMET R5 R5 K6
+ 0x5C1C0800, // 001E MOVE R7 R4
+ 0x7C140400, // 001F CALL R5 2
+ 0x00100805, // 0020 ADD R4 R4 R5
+ 0x80040800, // 0021 RET 1 R4
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: stop_basic_commissioning
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_stop_basic_commissioning, /* name */
+ be_nested_proto(
+ 6, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(stop_basic_commissioning),
+ &be_const_str_solidified,
+ ( &(const binstruction[19]) { /* code */
+ 0x4C040000, // 0000 LDNIL R1
+ 0x8C080107, // 0001 GETMET R2 R0 K7
+ 0x7C080200, // 0002 CALL R2 1
+ 0x780A0004, // 0003 JMPF R2 #0009
+ 0xB80A1000, // 0004 GETNGBL R2 K8
+ 0x8C080509, // 0005 GETMET R2 R2 K9
+ 0x5810000A, // 0006 LDCONST R4 K10
+ 0x5814000B, // 0007 LDCONST R5 K11
+ 0x7C080600, // 0008 CALL R2 3
+ 0x90021801, // 0009 SETMBR R0 K12 R1
+ 0x8C08010D, // 000A GETMET R2 R0 K13
+ 0x7C080200, // 000B CALL R2 1
+ 0x90021C01, // 000C SETMBR R0 K14 R1
+ 0x90021E01, // 000D SETMBR R0 K15 R1
+ 0x90022001, // 000E SETMBR R0 K16 R1
+ 0x90022201, // 000F SETMBR R0 K17 R1
+ 0x90022401, // 0010 SETMBR R0 K18 R1
+ 0x90022601, // 0011 SETMBR R0 K19 R1
+ 0x80000000, // 0012 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: start_commissioning_complete
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_start_commissioning_complete, /* name */
+ be_nested_proto(
+ 10, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(start_commissioning_complete),
+ &be_const_str_solidified,
+ ( &(const binstruction[23]) { /* code */
+ 0x8C080314, // 0000 GETMET R2 R1 K20
+ 0x7C080200, // 0001 CALL R2 1
+ 0x8C0C0515, // 0002 GETMET R3 R2 K21
+ 0x7C0C0200, // 0003 CALL R3 1
+ 0x8C0C0716, // 0004 GETMET R3 R3 K22
+ 0x7C0C0200, // 0005 CALL R3 1
+ 0x8C0C0717, // 0006 GETMET R3 R3 K23
+ 0x7C0C0200, // 0007 CALL R3 1
+ 0x8C0C0718, // 0008 GETMET R3 R3 K24
+ 0x7C0C0200, // 0009 CALL R3 1
+ 0x8C100519, // 000A GETMET R4 R2 K25
+ 0x7C100200, // 000B CALL R4 1
+ 0xB8163400, // 000C GETNGBL R5 K26
+ 0x60180018, // 000D GETGBL R6 G24
+ 0x581C001B, // 000E LDCONST R7 K27
+ 0x5C200600, // 000F MOVE R8 R3
+ 0x5C240800, // 0010 MOVE R9 R4
+ 0x7C180600, // 0011 CALL R6 3
+ 0x581C001C, // 0012 LDCONST R7 K28
+ 0x7C140400, // 0013 CALL R5 2
+ 0x8C14011D, // 0014 GETMET R5 R0 K29
+ 0x7C140200, // 0015 CALL R5 1
+ 0x80000000, // 0016 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: compute_qrcode_content
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_compute_qrcode_content, /* name */
+ be_nested_proto(
+ 8, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(compute_qrcode_content),
+ &be_const_str_solidified,
+ ( &(const binstruction[44]) { /* code */
+ 0x60040015, // 0000 GETGBL R1 G21
+ 0x7C040000, // 0001 CALL R1 0
+ 0x8C04031E, // 0002 GETMET R1 R1 K30
+ 0x540E000A, // 0003 LDINT R3 11
+ 0x7C040400, // 0004 CALL R1 2
+ 0x8C08031F, // 0005 GETMET R2 R1 K31
+ 0x58100020, // 0006 LDCONST R4 K32
+ 0x5416000F, // 0007 LDINT R5 16
+ 0x88180100, // 0008 GETMBR R6 R0 K0
+ 0x88180D21, // 0009 GETMBR R6 R6 K33
+ 0x7C080800, // 000A CALL R2 4
+ 0x8C08031F, // 000B GETMET R2 R1 K31
+ 0x54120012, // 000C LDINT R4 19
+ 0x5416000F, // 000D LDINT R5 16
+ 0x88180100, // 000E GETMBR R6 R0 K0
+ 0x88180D22, // 000F GETMBR R6 R6 K34
+ 0x7C080800, // 0010 CALL R2 4
+ 0x8C08031F, // 0011 GETMET R2 R1 K31
+ 0x54120024, // 0012 LDINT R4 37
+ 0x54160007, // 0013 LDINT R5 8
+ 0x541A0003, // 0014 LDINT R6 4
+ 0x7C080800, // 0015 CALL R2 4
+ 0x8C08031F, // 0016 GETMET R2 R1 K31
+ 0x5412002C, // 0017 LDINT R4 45
+ 0x5416000B, // 0018 LDINT R5 12
+ 0x88180100, // 0019 GETMBR R6 R0 K0
+ 0x88180D01, // 001A GETMBR R6 R6 K1
+ 0x541E0FFE, // 001B LDINT R7 4095
+ 0x2C180C07, // 001C AND R6 R6 R7
+ 0x7C080800, // 001D CALL R2 4
+ 0x8C08031F, // 001E GETMET R2 R1 K31
+ 0x54120038, // 001F LDINT R4 57
+ 0x5416001A, // 0020 LDINT R5 27
+ 0x88180100, // 0021 GETMBR R6 R0 K0
+ 0x88180D02, // 0022 GETMBR R6 R6 K2
+ 0x2C180D23, // 0023 AND R6 R6 K35
+ 0x7C080800, // 0024 CALL R2 4
+ 0xB80A0800, // 0025 GETNGBL R2 K4
+ 0x88080525, // 0026 GETMBR R2 R2 K37
+ 0x8C080526, // 0027 GETMET R2 R2 K38
+ 0x5C100200, // 0028 MOVE R4 R1
+ 0x7C080400, // 0029 CALL R2 2
+ 0x000A4802, // 002A ADD R2 K36 R2
+ 0x80040400, // 002B RET 1 R2
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: start_operational_discovery
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_start_operational_discovery, /* name */
+ be_nested_proto(
+ 7, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(start_operational_discovery),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 8]) { /* code */
+ 0xA40A4E00, // 0000 IMPORT R2 K39
+ 0xA40E5000, // 0001 IMPORT R3 K40
+ 0x8C10011D, // 0002 GETMET R4 R0 K29
+ 0x7C100200, // 0003 CALL R4 1
+ 0x8C100129, // 0004 GETMET R4 R0 K41
+ 0x5C180200, // 0005 MOVE R6 R1
+ 0x7C100400, // 0006 CALL R4 2
+ 0x80000000, // 0007 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: mdns_remove_op_discovery_all_fabrics
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_mdns_remove_op_discovery_all_fabrics, /* name */
+ be_nested_proto(
+ 6, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(mdns_remove_op_discovery_all_fabrics),
+ &be_const_str_solidified,
+ ( &(const binstruction[23]) { /* code */
+ 0x60040010, // 0000 GETGBL R1 G16
+ 0x88080100, // 0001 GETMBR R2 R0 K0
+ 0x8808052A, // 0002 GETMBR R2 R2 K42
+ 0x8C08052B, // 0003 GETMET R2 R2 K43
+ 0x7C080200, // 0004 CALL R2 1
+ 0x7C040200, // 0005 CALL R1 1
+ 0xA802000B, // 0006 EXBLK 0 #0013
+ 0x5C080200, // 0007 MOVE R2 R1
+ 0x7C080000, // 0008 CALL R2 0
+ 0x8C0C052C, // 0009 GETMET R3 R2 K44
+ 0x7C0C0200, // 000A CALL R3 1
+ 0x780E0005, // 000B JMPF R3 #0012
+ 0x8C0C0515, // 000C GETMET R3 R2 K21
+ 0x7C0C0200, // 000D CALL R3 1
+ 0x780E0002, // 000E JMPF R3 #0012
+ 0x8C0C012D, // 000F GETMET R3 R0 K45
+ 0x5C140400, // 0010 MOVE R5 R2
+ 0x7C0C0400, // 0011 CALL R3 2
+ 0x7001FFF3, // 0012 JMP #0007
+ 0x5804002E, // 0013 LDCONST R1 K46
+ 0xAC040200, // 0014 CATCH R1 1 0
+ 0xB0080000, // 0015 RAISE 2 R0 R0
+ 0x80000000, // 0016 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: mdns_remove_op_discovery
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_mdns_remove_op_discovery, /* name */
+ be_nested_proto(
+ 12, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(mdns_remove_op_discovery),
+ &be_const_str_solidified,
+ ( &(const binstruction[77]) { /* code */
+ 0xA40A5000, // 0000 IMPORT R2 K40
+ 0xA8020039, // 0001 EXBLK 0 #003C
+ 0x8C0C032C, // 0002 GETMET R3 R1 K44
+ 0x7C0C0200, // 0003 CALL R3 1
+ 0x8C0C0716, // 0004 GETMET R3 R3 K22
+ 0x7C0C0200, // 0005 CALL R3 1
+ 0x8C0C0717, // 0006 GETMET R3 R3 K23
+ 0x7C0C0200, // 0007 CALL R3 1
+ 0x8C10032F, // 0008 GETMET R4 R1 K47
+ 0x7C100200, // 0009 CALL R4 1
+ 0x8C140918, // 000A GETMET R5 R4 K24
+ 0x7C140200, // 000B CALL R5 1
+ 0x00140B30, // 000C ADD R5 R5 K48
+ 0x8C180718, // 000D GETMET R6 R3 K24
+ 0x7C180200, // 000E CALL R6 1
+ 0x00140A06, // 000F ADD R5 R5 R6
+ 0xB81A1000, // 0010 GETNGBL R6 K8
+ 0x8C180D31, // 0011 GETMET R6 R6 K49
+ 0x7C180200, // 0012 CALL R6 1
+ 0x8C180D32, // 0013 GETMET R6 R6 K50
+ 0x58200033, // 0014 LDCONST R8 K51
+ 0x7C180400, // 0015 CALL R6 2
+ 0x781A000D, // 0016 JMPF R6 #0025
+ 0xB81A3400, // 0017 GETNGBL R6 K26
+ 0x601C0018, // 0018 GETGBL R7 G24
+ 0x58200034, // 0019 LDCONST R8 K52
+ 0x58240031, // 001A LDCONST R9 K49
+ 0x5C280A00, // 001B MOVE R10 R5
+ 0x7C1C0600, // 001C CALL R7 3
+ 0x58200020, // 001D LDCONST R8 K32
+ 0x7C180400, // 001E CALL R6 2
+ 0x8C180535, // 001F GETMET R6 R2 K53
+ 0x58200036, // 0020 LDCONST R8 K54
+ 0x58240037, // 0021 LDCONST R9 K55
+ 0x5C280A00, // 0022 MOVE R10 R5
+ 0x882C0138, // 0023 GETMBR R11 R0 K56
+ 0x7C180A00, // 0024 CALL R6 5
+ 0xB81A1000, // 0025 GETNGBL R6 K8
+ 0x8C180D39, // 0026 GETMET R6 R6 K57
+ 0x7C180200, // 0027 CALL R6 1
+ 0x8C180D32, // 0028 GETMET R6 R6 K50
+ 0x58200033, // 0029 LDCONST R8 K51
+ 0x7C180400, // 002A CALL R6 2
+ 0x781A000D, // 002B JMPF R6 #003A
+ 0xB81A3400, // 002C GETNGBL R6 K26
+ 0x601C0018, // 002D GETGBL R7 G24
+ 0x58200034, // 002E LDCONST R8 K52
+ 0x58240039, // 002F LDCONST R9 K57
+ 0x5C280A00, // 0030 MOVE R10 R5
+ 0x7C1C0600, // 0031 CALL R7 3
+ 0x58200020, // 0032 LDCONST R8 K32
+ 0x7C180400, // 0033 CALL R6 2
+ 0x8C180535, // 0034 GETMET R6 R2 K53
+ 0x58200036, // 0035 LDCONST R8 K54
+ 0x58240037, // 0036 LDCONST R9 K55
+ 0x5C280A00, // 0037 MOVE R10 R5
+ 0x882C013A, // 0038 GETMBR R11 R0 K58
+ 0x7C180A00, // 0039 CALL R6 5
+ 0xA8040001, // 003A EXBLK 1 1
+ 0x7002000F, // 003B JMP #004C
+ 0xAC0C0002, // 003C CATCH R3 0 2
+ 0x7002000C, // 003D JMP #004B
+ 0xB8163400, // 003E GETNGBL R5 K26
+ 0x60180008, // 003F GETGBL R6 G8
+ 0x5C1C0600, // 0040 MOVE R7 R3
+ 0x7C180200, // 0041 CALL R6 1
+ 0x001A7606, // 0042 ADD R6 K59 R6
+ 0x00180D3C, // 0043 ADD R6 R6 K60
+ 0x601C0008, // 0044 GETGBL R7 G8
+ 0x5C200800, // 0045 MOVE R8 R4
+ 0x7C1C0200, // 0046 CALL R7 1
+ 0x00180C07, // 0047 ADD R6 R6 R7
+ 0x581C001C, // 0048 LDCONST R7 K28
+ 0x7C140400, // 0049 CALL R5 2
+ 0x70020000, // 004A JMP #004C
+ 0xB0080000, // 004B RAISE 2 R0 R0
+ 0x80000000, // 004C RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: start_basic_commissioning
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_start_basic_commissioning, /* name */
+ be_nested_proto(
+ 13, /* nstack */
+ 8, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 1, /* has sup protos */
+ ( &(const struct bproto*[ 2]) {
+ be_nested_proto(
+ 4, /* nstack */
+ 0, /* argc */
+ 0, /* varg */
+ 1, /* has upvals */
+ ( &(const bupvaldesc[ 1]) { /* upvals */
+ be_local_const_upval(1, 0),
+ }),
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ ( &(const bvalue[ 4]) { /* constants */
+ /* K0 */ be_nested_str_weak(mdns_announce_PASE),
+ /* K1 */ be_nested_str_weak(tasmota),
+ /* K2 */ be_nested_str_weak(remove_rule),
+ /* K3 */ be_nested_str_weak(Wifi_X23Connected),
+ }),
+ be_str_weak(_anonymous_),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 9]) { /* code */
+ 0x68000000, // 0000 GETUPV R0 U0
+ 0x8C000100, // 0001 GETMET R0 R0 K0
+ 0x7C000200, // 0002 CALL R0 1
+ 0xB8020200, // 0003 GETNGBL R0 K1
+ 0x8C000102, // 0004 GETMET R0 R0 K2
+ 0x58080003, // 0005 LDCONST R2 K3
+ 0x580C0000, // 0006 LDCONST R3 K0
+ 0x7C000600, // 0007 CALL R0 3
+ 0x80000000, // 0008 RET 0
+ })
+ ),
+ be_nested_proto(
+ 4, /* nstack */
+ 0, /* argc */
+ 0, /* varg */
+ 1, /* has upvals */
+ ( &(const bupvaldesc[ 1]) { /* upvals */
+ be_local_const_upval(1, 0),
+ }),
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ ( &(const bvalue[ 4]) { /* constants */
+ /* K0 */ be_nested_str_weak(mdns_announce_PASE),
+ /* K1 */ be_nested_str_weak(tasmota),
+ /* K2 */ be_nested_str_weak(remove_rule),
+ /* K3 */ be_nested_str_weak(Eth_X23Connected),
+ }),
+ be_str_weak(_anonymous_),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 9]) { /* code */
+ 0x68000000, // 0000 GETUPV R0 U0
+ 0x8C000100, // 0001 GETMET R0 R0 K0
+ 0x7C000200, // 0002 CALL R0 1
+ 0xB8020200, // 0003 GETNGBL R0 K1
+ 0x8C000102, // 0004 GETMET R0 R0 K2
+ 0x58080003, // 0005 LDCONST R2 K3
+ 0x580C0000, // 0006 LDCONST R3 K0
+ 0x7C000600, // 0007 CALL R0 3
+ 0x80000000, // 0008 RET 0
+ })
+ ),
+ }),
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(start_basic_commissioning),
+ &be_const_str_solidified,
+ ( &(const binstruction[40]) { /* code */
+ 0xB8221000, // 0000 GETNGBL R8 K8
+ 0x8C20113D, // 0001 GETMET R8 R8 K61
+ 0x7C200200, // 0002 CALL R8 1
+ 0x542603E7, // 0003 LDINT R9 1000
+ 0x08240209, // 0004 MUL R9 R1 R9
+ 0x00201009, // 0005 ADD R8 R8 R9
+ 0x90021808, // 0006 SETMBR R0 K12 R8
+ 0x90021C02, // 0007 SETMBR R0 K14 R2
+ 0x90021E03, // 0008 SETMBR R0 K15 R3
+ 0x90022004, // 0009 SETMBR R0 K16 R4
+ 0x90022205, // 000A SETMBR R0 K17 R5
+ 0x90022406, // 000B SETMBR R0 K18 R6
+ 0x90022607, // 000C SETMBR R0 K19 R7
+ 0xB8221000, // 000D GETNGBL R8 K8
+ 0x8C201139, // 000E GETMET R8 R8 K57
+ 0x7C200200, // 000F CALL R8 1
+ 0x94201133, // 0010 GETIDX R8 R8 K51
+ 0x74220004, // 0011 JMPT R8 #0017
+ 0xB8221000, // 0012 GETNGBL R8 K8
+ 0x8C201131, // 0013 GETMET R8 R8 K49
+ 0x7C200200, // 0014 CALL R8 1
+ 0x94201133, // 0015 GETIDX R8 R8 K51
+ 0x78220002, // 0016 JMPF R8 #001A
+ 0x8C20013E, // 0017 GETMET R8 R0 K62
+ 0x7C200200, // 0018 CALL R8 1
+ 0x7002000B, // 0019 JMP #0026
+ 0xB8221000, // 001A GETNGBL R8 K8
+ 0x8C20113F, // 001B GETMET R8 R8 K63
+ 0x58280040, // 001C LDCONST R10 K64
+ 0x842C0000, // 001D CLOSURE R11 P0
+ 0x5830003E, // 001E LDCONST R12 K62
+ 0x7C200800, // 001F CALL R8 4
+ 0xB8221000, // 0020 GETNGBL R8 K8
+ 0x8C20113F, // 0021 GETMET R8 R8 K63
+ 0x58280041, // 0022 LDCONST R10 K65
+ 0x842C0001, // 0023 CLOSURE R11 P1
+ 0x5830003E, // 0024 LDCONST R12 K62
+ 0x7C200800, // 0025 CALL R8 4
+ 0xA0000000, // 0026 CLOSE R0
+ 0x80000000, // 0027 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: start_operational_discovery_deferred
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_start_operational_discovery_deferred, /* name */
+ be_nested_proto(
+ 6, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 1, /* has sup protos */
+ ( &(const struct bproto*[ 1]) {
+ be_nested_proto(
+ 3, /* nstack */
+ 0, /* argc */
+ 0, /* varg */
+ 1, /* has upvals */
+ ( &(const bupvaldesc[ 2]) { /* upvals */
+ be_local_const_upval(1, 0),
+ be_local_const_upval(1, 1),
+ }),
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ ( &(const bvalue[ 1]) { /* constants */
+ /* K0 */ be_nested_str_weak(start_operational_discovery),
+ }),
+ be_str_weak(_X3Clambda_X3E),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 5]) { /* code */
+ 0x68000000, // 0000 GETUPV R0 U0
+ 0x8C000100, // 0001 GETMET R0 R0 K0
+ 0x68080001, // 0002 GETUPV R2 U1
+ 0x7C000400, // 0003 CALL R0 2
+ 0x80040000, // 0004 RET 1 R0
+ })
+ ),
+ }),
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(start_operational_discovery_deferred),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 7]) { /* code */
+ 0xB80A1000, // 0000 GETNGBL R2 K8
+ 0x8C080542, // 0001 GETMET R2 R2 K66
+ 0x58100043, // 0002 LDCONST R4 K67
+ 0x84140000, // 0003 CLOSURE R5 P0
+ 0x7C080600, // 0004 CALL R2 3
+ 0xA0000000, // 0005 CLOSE R0
+ 0x80000000, // 0006 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: _mdns_announce_hostname
+********************************************************************/
+be_local_closure(class_Matter_Commissioning__mdns_announce_hostname, /* name */
+ be_nested_proto(
+ 14, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(_mdns_announce_hostname),
+ &be_const_str_solidified,
+ ( &(const binstruction[146]) { /* code */
+ 0xA40A5000, // 0000 IMPORT R2 K40
+ 0xA40E8800, // 0001 IMPORT R3 K68
+ 0x8C100545, // 0002 GETMET R4 R2 K69
+ 0x7C100200, // 0003 CALL R4 1
+ 0xA8020079, // 0004 EXBLK 0 #007F
+ 0x78060034, // 0005 JMPF R1 #003B
+ 0xB8121000, // 0006 GETNGBL R4 K8
+ 0x8C100931, // 0007 GETMET R4 R4 K49
+ 0x7C100200, // 0008 CALL R4 1
+ 0x8C140746, // 0009 GETMET R5 R3 K70
+ 0x8C1C0932, // 000A GETMET R7 R4 K50
+ 0x58240047, // 000B LDCONST R9 K71
+ 0x7C1C0400, // 000C CALL R7 2
+ 0x58200048, // 000D LDCONST R8 K72
+ 0x58240049, // 000E LDCONST R9 K73
+ 0x7C140800, // 000F CALL R5 4
+ 0x90027005, // 0010 SETMBR R0 K56 R5
+ 0x88140100, // 0011 GETMBR R5 R0 K0
+ 0x88140B4A, // 0012 GETMBR R5 R5 K74
+ 0x78160003, // 0013 JMPF R5 #0018
+ 0x8C14094B, // 0014 GETMET R5 R4 K75
+ 0x581C004C, // 0015 LDCONST R7 K76
+ 0x7C140400, // 0016 CALL R5 2
+ 0x7416000F, // 0017 JMPT R5 #0028
+ 0x8C14054D, // 0018 GETMET R5 R2 K77
+ 0x881C0138, // 0019 GETMBR R7 R0 K56
+ 0x8C200932, // 001A GETMET R8 R4 K50
+ 0x5828004C, // 001B LDCONST R10 K76
+ 0x582C0049, // 001C LDCONST R11 K73
+ 0x7C200600, // 001D CALL R8 3
+ 0x8C240932, // 001E GETMET R9 R4 K50
+ 0x582C004E, // 001F LDCONST R11 K78
+ 0x58300049, // 0020 LDCONST R12 K73
+ 0x7C240600, // 0021 CALL R9 3
+ 0x8C280932, // 0022 GETMET R10 R4 K50
+ 0x5830004F, // 0023 LDCONST R12 K79
+ 0x58340049, // 0024 LDCONST R13 K73
+ 0x7C280600, // 0025 CALL R10 3
+ 0x7C140A00, // 0026 CALL R5 5
+ 0x70020011, // 0027 JMP #003A
+ 0xB8163400, // 0028 GETNGBL R5 K26
+ 0x60180018, // 0029 GETGBL R6 G24
+ 0x581C0050, // 002A LDCONST R7 K80
+ 0x88200138, // 002B GETMBR R8 R0 K56
+ 0x8C240932, // 002C GETMET R9 R4 K50
+ 0x582C004E, // 002D LDCONST R11 K78
+ 0x58300049, // 002E LDCONST R12 K73
+ 0x7C240600, // 002F CALL R9 3
+ 0x7C180600, // 0030 CALL R6 3
+ 0x581C0020, // 0031 LDCONST R7 K32
+ 0x7C140400, // 0032 CALL R5 2
+ 0x8C14054D, // 0033 GETMET R5 R2 K77
+ 0x881C0138, // 0034 GETMBR R7 R0 K56
+ 0x8C200932, // 0035 GETMET R8 R4 K50
+ 0x5828004E, // 0036 LDCONST R10 K78
+ 0x582C0049, // 0037 LDCONST R11 K73
+ 0x7C200600, // 0038 CALL R8 3
+ 0x7C140600, // 0039 CALL R5 3
+ 0x70020033, // 003A JMP #006F
+ 0xB8121000, // 003B GETNGBL R4 K8
+ 0x8C100939, // 003C GETMET R4 R4 K57
+ 0x7C100200, // 003D CALL R4 1
+ 0x8C140746, // 003E GETMET R5 R3 K70
+ 0x8C1C0932, // 003F GETMET R7 R4 K50
+ 0x58240047, // 0040 LDCONST R9 K71
+ 0x7C1C0400, // 0041 CALL R7 2
+ 0x58200048, // 0042 LDCONST R8 K72
+ 0x58240049, // 0043 LDCONST R9 K73
+ 0x7C140800, // 0044 CALL R5 4
+ 0x90027405, // 0045 SETMBR R0 K58 R5
+ 0x88140100, // 0046 GETMBR R5 R0 K0
+ 0x88140B4A, // 0047 GETMBR R5 R5 K74
+ 0x78160003, // 0048 JMPF R5 #004D
+ 0x8C14094B, // 0049 GETMET R5 R4 K75
+ 0x581C004C, // 004A LDCONST R7 K76
+ 0x7C140400, // 004B CALL R5 2
+ 0x7416000F, // 004C JMPT R5 #005D
+ 0x8C14054D, // 004D GETMET R5 R2 K77
+ 0x881C013A, // 004E GETMBR R7 R0 K58
+ 0x8C200932, // 004F GETMET R8 R4 K50
+ 0x5828004C, // 0050 LDCONST R10 K76
+ 0x582C0049, // 0051 LDCONST R11 K73
+ 0x7C200600, // 0052 CALL R8 3
+ 0x8C240932, // 0053 GETMET R9 R4 K50
+ 0x582C004E, // 0054 LDCONST R11 K78
+ 0x58300049, // 0055 LDCONST R12 K73
+ 0x7C240600, // 0056 CALL R9 3
+ 0x8C280932, // 0057 GETMET R10 R4 K50
+ 0x5830004F, // 0058 LDCONST R12 K79
+ 0x58340049, // 0059 LDCONST R13 K73
+ 0x7C280600, // 005A CALL R10 3
+ 0x7C140A00, // 005B CALL R5 5
+ 0x70020011, // 005C JMP #006F
+ 0xB8163400, // 005D GETNGBL R5 K26
+ 0x60180018, // 005E GETGBL R6 G24
+ 0x581C0050, // 005F LDCONST R7 K80
+ 0x8820013A, // 0060 GETMBR R8 R0 K58
+ 0x8C240932, // 0061 GETMET R9 R4 K50
+ 0x582C004E, // 0062 LDCONST R11 K78
+ 0x58300049, // 0063 LDCONST R12 K73
+ 0x7C240600, // 0064 CALL R9 3
+ 0x7C180600, // 0065 CALL R6 3
+ 0x581C0020, // 0066 LDCONST R7 K32
+ 0x7C140400, // 0067 CALL R5 2
+ 0x8C14054D, // 0068 GETMET R5 R2 K77
+ 0x881C013A, // 0069 GETMBR R7 R0 K58
+ 0x8C200932, // 006A GETMET R8 R4 K50
+ 0x5828004E, // 006B LDCONST R10 K78
+ 0x582C0049, // 006C LDCONST R11 K73
+ 0x7C200600, // 006D CALL R8 3
+ 0x7C140600, // 006E CALL R5 3
+ 0xB8123400, // 006F GETNGBL R4 K26
+ 0x60140018, // 0070 GETGBL R5 G24
+ 0x58180051, // 0071 LDCONST R6 K81
+ 0x78060001, // 0072 JMPF R1 #0075
+ 0x581C0031, // 0073 LDCONST R7 K49
+ 0x70020000, // 0074 JMP #0076
+ 0x581C0039, // 0075 LDCONST R7 K57
+ 0x78060001, // 0076 JMPF R1 #0079
+ 0x88200138, // 0077 GETMBR R8 R0 K56
+ 0x70020000, // 0078 JMP #007A
+ 0x8820013A, // 0079 GETMBR R8 R0 K58
+ 0x7C140600, // 007A CALL R5 3
+ 0x58180020, // 007B LDCONST R6 K32
+ 0x7C100400, // 007C CALL R4 2
+ 0xA8040001, // 007D EXBLK 1 1
+ 0x7002000F, // 007E JMP #008F
+ 0xAC100002, // 007F CATCH R4 0 2
+ 0x7002000C, // 0080 JMP #008E
+ 0xB81A3400, // 0081 GETNGBL R6 K26
+ 0x601C0008, // 0082 GETGBL R7 G8
+ 0x5C200800, // 0083 MOVE R8 R4
+ 0x7C1C0200, // 0084 CALL R7 1
+ 0x001E7607, // 0085 ADD R7 K59 R7
+ 0x001C0F3C, // 0086 ADD R7 R7 K60
+ 0x60200008, // 0087 GETGBL R8 G8
+ 0x5C240A00, // 0088 MOVE R9 R5
+ 0x7C200200, // 0089 CALL R8 1
+ 0x001C0E08, // 008A ADD R7 R7 R8
+ 0x5820001C, // 008B LDCONST R8 K28
+ 0x7C180400, // 008C CALL R6 2
+ 0x70020000, // 008D JMP #008F
+ 0xB0080000, // 008E RAISE 2 R0 R0
+ 0x8C100152, // 008F GETMET R4 R0 K82
+ 0x7C100200, // 0090 CALL R4 1
+ 0x80000000, // 0091 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: mdns_announce_op_discovery_all_fabrics
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_mdns_announce_op_discovery_all_fabrics, /* name */
+ be_nested_proto(
+ 6, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(mdns_announce_op_discovery_all_fabrics),
+ &be_const_str_solidified,
+ ( &(const binstruction[23]) { /* code */
+ 0x60040010, // 0000 GETGBL R1 G16
+ 0x88080100, // 0001 GETMBR R2 R0 K0
+ 0x8808052A, // 0002 GETMBR R2 R2 K42
+ 0x8C08052B, // 0003 GETMET R2 R2 K43
+ 0x7C080200, // 0004 CALL R2 1
+ 0x7C040200, // 0005 CALL R1 1
+ 0xA802000B, // 0006 EXBLK 0 #0013
+ 0x5C080200, // 0007 MOVE R2 R1
+ 0x7C080000, // 0008 CALL R2 0
+ 0x8C0C052C, // 0009 GETMET R3 R2 K44
+ 0x7C0C0200, // 000A CALL R3 1
+ 0x780E0005, // 000B JMPF R3 #0012
+ 0x8C0C0515, // 000C GETMET R3 R2 K21
+ 0x7C0C0200, // 000D CALL R3 1
+ 0x780E0002, // 000E JMPF R3 #0012
+ 0x8C0C0129, // 000F GETMET R3 R0 K41
+ 0x5C140400, // 0010 MOVE R5 R2
+ 0x7C0C0400, // 0011 CALL R3 2
+ 0x7001FFF3, // 0012 JMP #0007
+ 0x5804002E, // 0013 LDCONST R1 K46
+ 0xAC040200, // 0014 CATCH R1 1 0
+ 0xB0080000, // 0015 RAISE 2 R0 R0
+ 0x80000000, // 0016 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: start_commissioning_complete_deferred
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_start_commissioning_complete_deferred, /* name */
+ be_nested_proto(
+ 6, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 1, /* has sup protos */
+ ( &(const struct bproto*[ 1]) {
+ be_nested_proto(
+ 3, /* nstack */
+ 0, /* argc */
+ 0, /* varg */
+ 1, /* has upvals */
+ ( &(const bupvaldesc[ 2]) { /* upvals */
+ be_local_const_upval(1, 0),
+ be_local_const_upval(1, 1),
+ }),
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ ( &(const bvalue[ 1]) { /* constants */
+ /* K0 */ be_nested_str_weak(start_commissioning_complete),
+ }),
+ be_str_weak(_X3Clambda_X3E),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 5]) { /* code */
+ 0x68000000, // 0000 GETUPV R0 U0
+ 0x8C000100, // 0001 GETMET R0 R0 K0
+ 0x68080001, // 0002 GETUPV R2 U1
+ 0x7C000400, // 0003 CALL R0 2
+ 0x80040000, // 0004 RET 1 R0
+ })
+ ),
+ }),
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(start_commissioning_complete_deferred),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 7]) { /* code */
+ 0xB80A1000, // 0000 GETNGBL R2 K8
+ 0x8C080542, // 0001 GETMET R2 R2 K66
+ 0x58100043, // 0002 LDCONST R4 K67
+ 0x84140000, // 0003 CLOSURE R5 P0
+ 0x7C080600, // 0004 CALL R2 3
+ 0xA0000000, // 0005 CLOSE R0
+ 0x80000000, // 0006 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: generate_random_passcode
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_generate_random_passcode, /* name */
+ be_nested_proto(
+ 7, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(generate_random_passcode),
+ &be_const_str_solidified,
+ ( &(const binstruction[35]) { /* code */
+ 0xA4064E00, // 0000 IMPORT R1 K39
+ 0x4C080000, // 0001 LDNIL R2
+ 0x500C0200, // 0002 LDBOOL R3 1 0
+ 0x780E001D, // 0003 JMPF R3 #0022
+ 0x8C0C0353, // 0004 GETMET R3 R1 K83
+ 0x54160003, // 0005 LDINT R5 4
+ 0x7C0C0400, // 0006 CALL R3 2
+ 0x8C0C0754, // 0007 GETMET R3 R3 K84
+ 0x58140043, // 0008 LDCONST R5 K67
+ 0x541A0003, // 0009 LDINT R6 4
+ 0x7C0C0600, // 000A CALL R3 3
+ 0x2C0C0723, // 000B AND R3 R3 K35
+ 0x5C080600, // 000C MOVE R2 R3
+ 0x240C0555, // 000D GT R3 R2 K85
+ 0x780E0000, // 000E JMPF R3 #0010
+ 0x7001FFF1, // 000F JMP #0002
+ 0x600C0010, // 0010 GETGBL R3 G16
+ 0x88100156, // 0011 GETMBR R4 R0 K86
+ 0x7C0C0200, // 0012 CALL R3 1
+ 0xA8020005, // 0013 EXBLK 0 #001A
+ 0x5C100600, // 0014 MOVE R4 R3
+ 0x7C100000, // 0015 CALL R4 0
+ 0x1C140404, // 0016 EQ R5 R2 R4
+ 0x78160000, // 0017 JMPF R5 #0019
+ 0x4C080000, // 0018 LDNIL R2
+ 0x7001FFF9, // 0019 JMP #0014
+ 0x580C002E, // 001A LDCONST R3 K46
+ 0xAC0C0200, // 001B CATCH R3 1 0
+ 0xB0080000, // 001C RAISE 2 R0 R0
+ 0x4C0C0000, // 001D LDNIL R3
+ 0x200C0403, // 001E NE R3 R2 R3
+ 0x780E0000, // 001F JMPF R3 #0021
+ 0x80040400, // 0020 RET 1 R2
+ 0x7001FFDF, // 0021 JMP #0002
+ 0x80000000, // 0022 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: mdns_announce_op_discovery
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_mdns_announce_op_discovery, /* name */
+ be_nested_proto(
+ 14, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(mdns_announce_op_discovery),
+ &be_const_str_solidified,
+ ( &(const binstruction[115]) { /* code */
+ 0xA40A5000, // 0000 IMPORT R2 K40
+ 0xA802005F, // 0001 EXBLK 0 #0062
+ 0x8C0C032C, // 0002 GETMET R3 R1 K44
+ 0x7C0C0200, // 0003 CALL R3 1
+ 0x8C0C0716, // 0004 GETMET R3 R3 K22
+ 0x7C0C0200, // 0005 CALL R3 1
+ 0x8C0C0717, // 0006 GETMET R3 R3 K23
+ 0x7C0C0200, // 0007 CALL R3 1
+ 0x8C10032F, // 0008 GETMET R4 R1 K47
+ 0x7C100200, // 0009 CALL R4 1
+ 0x8C140918, // 000A GETMET R5 R4 K24
+ 0x7C140200, // 000B CALL R5 1
+ 0x00140B30, // 000C ADD R5 R5 K48
+ 0x8C180718, // 000D GETMET R6 R3 K24
+ 0x7C180200, // 000E CALL R6 1
+ 0x00140A06, // 000F ADD R5 R5 R6
+ 0xB81A3400, // 0010 GETNGBL R6 K26
+ 0x001EAE05, // 0011 ADD R7 K87 R5
+ 0x58200020, // 0012 LDCONST R8 K32
+ 0x7C180400, // 0013 CALL R6 2
+ 0xB81A1000, // 0014 GETNGBL R6 K8
+ 0x8C180D31, // 0015 GETMET R6 R6 K49
+ 0x7C180200, // 0016 CALL R6 1
+ 0x8C180D32, // 0017 GETMET R6 R6 K50
+ 0x58200033, // 0018 LDCONST R8 K51
+ 0x7C180400, // 0019 CALL R6 2
+ 0x781A001E, // 001A JMPF R6 #003A
+ 0xB81A3400, // 001B GETNGBL R6 K26
+ 0x601C0018, // 001C GETGBL R7 G24
+ 0x58200058, // 001D LDCONST R8 K88
+ 0x58240031, // 001E LDCONST R9 K49
+ 0x5C280A00, // 001F MOVE R10 R5
+ 0x882C0138, // 0020 GETMBR R11 R0 K56
+ 0x7C1C0800, // 0021 CALL R7 4
+ 0x58200020, // 0022 LDCONST R8 K32
+ 0x7C180400, // 0023 CALL R6 2
+ 0x8C180559, // 0024 GETMET R6 R2 K89
+ 0x58200036, // 0025 LDCONST R8 K54
+ 0x58240037, // 0026 LDCONST R9 K55
+ 0x542A15A3, // 0027 LDINT R10 5540
+ 0x4C2C0000, // 0028 LDNIL R11
+ 0x5C300A00, // 0029 MOVE R12 R5
+ 0x88340138, // 002A GETMBR R13 R0 K56
+ 0x7C180E00, // 002B CALL R6 7
+ 0x8C180918, // 002C GETMET R6 R4 K24
+ 0x7C180200, // 002D CALL R6 1
+ 0x001AB406, // 002E ADD R6 K90 R6
+ 0xB81E3400, // 002F GETNGBL R7 K26
+ 0x0022B606, // 0030 ADD R8 K91 R6
+ 0x58240020, // 0031 LDCONST R9 K32
+ 0x7C1C0400, // 0032 CALL R7 2
+ 0x8C1C055C, // 0033 GETMET R7 R2 K92
+ 0x58240036, // 0034 LDCONST R9 K54
+ 0x58280037, // 0035 LDCONST R10 K55
+ 0x5C2C0A00, // 0036 MOVE R11 R5
+ 0x88300138, // 0037 GETMBR R12 R0 K56
+ 0x5C340C00, // 0038 MOVE R13 R6
+ 0x7C1C0C00, // 0039 CALL R7 6
+ 0xB81A1000, // 003A GETNGBL R6 K8
+ 0x8C180D39, // 003B GETMET R6 R6 K57
+ 0x7C180200, // 003C CALL R6 1
+ 0x8C180D32, // 003D GETMET R6 R6 K50
+ 0x58200033, // 003E LDCONST R8 K51
+ 0x7C180400, // 003F CALL R6 2
+ 0x781A001E, // 0040 JMPF R6 #0060
+ 0xB81A3400, // 0041 GETNGBL R6 K26
+ 0x601C0018, // 0042 GETGBL R7 G24
+ 0x58200058, // 0043 LDCONST R8 K88
+ 0x58240039, // 0044 LDCONST R9 K57
+ 0x5C280A00, // 0045 MOVE R10 R5
+ 0x882C013A, // 0046 GETMBR R11 R0 K58
+ 0x7C1C0800, // 0047 CALL R7 4
+ 0x58200020, // 0048 LDCONST R8 K32
+ 0x7C180400, // 0049 CALL R6 2
+ 0x8C180559, // 004A GETMET R6 R2 K89
+ 0x58200036, // 004B LDCONST R8 K54
+ 0x58240037, // 004C LDCONST R9 K55
+ 0x542A15A3, // 004D LDINT R10 5540
+ 0x4C2C0000, // 004E LDNIL R11
+ 0x5C300A00, // 004F MOVE R12 R5
+ 0x8834013A, // 0050 GETMBR R13 R0 K58
+ 0x7C180E00, // 0051 CALL R6 7
+ 0x8C180918, // 0052 GETMET R6 R4 K24
+ 0x7C180200, // 0053 CALL R6 1
+ 0x001AB406, // 0054 ADD R6 K90 R6
+ 0xB81E3400, // 0055 GETNGBL R7 K26
+ 0x0022B606, // 0056 ADD R8 K91 R6
+ 0x58240020, // 0057 LDCONST R9 K32
+ 0x7C1C0400, // 0058 CALL R7 2
+ 0x8C1C055C, // 0059 GETMET R7 R2 K92
+ 0x58240036, // 005A LDCONST R9 K54
+ 0x58280037, // 005B LDCONST R10 K55
+ 0x5C2C0A00, // 005C MOVE R11 R5
+ 0x8830013A, // 005D GETMBR R12 R0 K58
+ 0x5C340C00, // 005E MOVE R13 R6
+ 0x7C1C0C00, // 005F CALL R7 6
+ 0xA8040001, // 0060 EXBLK 1 1
+ 0x7002000F, // 0061 JMP #0072
+ 0xAC0C0002, // 0062 CATCH R3 0 2
+ 0x7002000C, // 0063 JMP #0071
+ 0xB8163400, // 0064 GETNGBL R5 K26
+ 0x60180008, // 0065 GETGBL R6 G8
+ 0x5C1C0600, // 0066 MOVE R7 R3
+ 0x7C180200, // 0067 CALL R6 1
+ 0x001A7606, // 0068 ADD R6 K59 R6
+ 0x00180D3C, // 0069 ADD R6 R6 K60
+ 0x601C0008, // 006A GETGBL R7 G8
+ 0x5C200800, // 006B MOVE R8 R4
+ 0x7C1C0200, // 006C CALL R7 1
+ 0x00180C07, // 006D ADD R6 R6 R7
+ 0x581C001C, // 006E LDCONST R7 K28
+ 0x7C140400, // 006F CALL R5 2
+ 0x70020000, // 0070 JMP #0072
+ 0xB0080000, // 0071 RAISE 2 R0 R0
+ 0x80000000, // 0072 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: every_second
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_every_second, /* name */
+ be_nested_proto(
+ 4, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(every_second),
+ &be_const_str_solidified,
+ ( &(const binstruction[12]) { /* code */
+ 0x8804010C, // 0000 GETMBR R1 R0 K12
+ 0x4C080000, // 0001 LDNIL R2
+ 0x20040202, // 0002 NE R1 R1 R2
+ 0x78060006, // 0003 JMPF R1 #000B
+ 0xB8061000, // 0004 GETNGBL R1 K8
+ 0x8C04035D, // 0005 GETMET R1 R1 K93
+ 0x880C010C, // 0006 GETMBR R3 R0 K12
+ 0x7C040400, // 0007 CALL R1 2
+ 0x78060001, // 0008 JMPF R1 #000B
+ 0x4C040000, // 0009 LDNIL R1
+ 0x90021801, // 000A SETMBR R0 K12 R1
+ 0x80000000, // 000B RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: mdns_announce_PASE
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_mdns_announce_PASE, /* name */
+ be_nested_proto(
+ 12, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(mdns_announce_PASE),
+ &be_const_str_solidified,
+ ( &(const binstruction[226]) { /* code */
+ 0xA4065000, // 0000 IMPORT R1 K40
+ 0xA40A4E00, // 0001 IMPORT R2 K39
+ 0x600C0013, // 0002 GETGBL R3 G19
+ 0x7C0C0000, // 0003 CALL R3 0
+ 0x60100018, // 0004 GETGBL R4 G24
+ 0x5814005F, // 0005 LDCONST R5 K95
+ 0x88180100, // 0006 GETMBR R6 R0 K0
+ 0x88180D21, // 0007 GETMBR R6 R6 K33
+ 0x881C0100, // 0008 GETMBR R7 R0 K0
+ 0x881C0F22, // 0009 GETMBR R7 R7 K34
+ 0x7C100600, // 000A CALL R4 3
+ 0x980EBC04, // 000B SETIDX R3 K94 R4
+ 0x8810010F, // 000C GETMBR R4 R0 K15
+ 0x980EC004, // 000D SETIDX R3 K96 R4
+ 0x980EC362, // 000E SETIDX R3 K97 K98
+ 0x980EC743, // 000F SETIDX R3 K99 K67
+ 0x54121387, // 0010 LDINT R4 5000
+ 0x980EC804, // 0011 SETIDX R3 K100 R4
+ 0x5412012B, // 0012 LDINT R4 300
+ 0x980ECA04, // 0013 SETIDX R3 K101 R4
+ 0x8C100553, // 0014 GETMET R4 R2 K83
+ 0x541A0007, // 0015 LDINT R6 8
+ 0x7C100400, // 0016 CALL R4 2
+ 0x8C100918, // 0017 GETMET R4 R4 K24
+ 0x7C100200, // 0018 CALL R4 1
+ 0x9002CC04, // 0019 SETMBR R0 K102 R4
+ 0x8C100553, // 001A GETMET R4 R2 K83
+ 0x541A0007, // 001B LDINT R6 8
+ 0x7C100400, // 001C CALL R4 2
+ 0x8C100918, // 001D GETMET R4 R4 K24
+ 0x7C100200, // 001E CALL R4 1
+ 0x9002CE04, // 001F SETMBR R0 K103 R4
+ 0xA80200AF, // 0020 EXBLK 0 #00D1
+ 0x88100138, // 0021 GETMBR R4 R0 K56
+ 0x78120054, // 0022 JMPF R4 #0078
+ 0x8C100359, // 0023 GETMET R4 R1 K89
+ 0x58180068, // 0024 LDCONST R6 K104
+ 0x581C0069, // 0025 LDCONST R7 K105
+ 0x542215A3, // 0026 LDINT R8 5540
+ 0x5C240600, // 0027 MOVE R9 R3
+ 0x88280167, // 0028 GETMBR R10 R0 K103
+ 0x882C0138, // 0029 GETMBR R11 R0 K56
+ 0x7C100E00, // 002A CALL R4 7
+ 0x50100200, // 002B LDBOOL R4 1 0
+ 0x9002D404, // 002C SETMBR R0 K106 R4
+ 0xB8123400, // 002D GETNGBL R4 K26
+ 0x60140018, // 002E GETGBL R5 G24
+ 0x5818006B, // 002F LDCONST R6 K107
+ 0x581C0031, // 0030 LDCONST R7 K49
+ 0x88200167, // 0031 GETMBR R8 R0 K103
+ 0x88240138, // 0032 GETMBR R9 R0 K56
+ 0x7C140800, // 0033 CALL R5 4
+ 0x5818001C, // 0034 LDCONST R6 K28
+ 0x7C100400, // 0035 CALL R4 2
+ 0x60100008, // 0036 GETGBL R4 G8
+ 0x8814010F, // 0037 GETMBR R5 R0 K15
+ 0x541A0FFE, // 0038 LDINT R6 4095
+ 0x2C140A06, // 0039 AND R5 R5 R6
+ 0x7C100200, // 003A CALL R4 1
+ 0x0012D804, // 003B ADD R4 K108 R4
+ 0xB8163400, // 003C GETNGBL R5 K26
+ 0x001AB604, // 003D ADD R6 K91 R4
+ 0x581C0020, // 003E LDCONST R7 K32
+ 0x7C140400, // 003F CALL R5 2
+ 0x8C14035C, // 0040 GETMET R5 R1 K92
+ 0x581C0068, // 0041 LDCONST R7 K104
+ 0x58200069, // 0042 LDCONST R8 K105
+ 0x88240167, // 0043 GETMBR R9 R0 K103
+ 0x88280138, // 0044 GETMBR R10 R0 K56
+ 0x5C2C0800, // 0045 MOVE R11 R4
+ 0x7C140C00, // 0046 CALL R5 6
+ 0x60140008, // 0047 GETGBL R5 G8
+ 0x8818010F, // 0048 GETMBR R6 R0 K15
+ 0x541E0EFF, // 0049 LDINT R7 3840
+ 0x2C180C07, // 004A AND R6 R6 R7
+ 0x541E0007, // 004B LDINT R7 8
+ 0x3C180C07, // 004C SHR R6 R6 R7
+ 0x7C140200, // 004D CALL R5 1
+ 0x0016DA05, // 004E ADD R5 K109 R5
+ 0x5C100A00, // 004F MOVE R4 R5
+ 0xB8163400, // 0050 GETNGBL R5 K26
+ 0x001AB604, // 0051 ADD R6 K91 R4
+ 0x581C0020, // 0052 LDCONST R7 K32
+ 0x7C140400, // 0053 CALL R5 2
+ 0x8C14035C, // 0054 GETMET R5 R1 K92
+ 0x581C0068, // 0055 LDCONST R7 K104
+ 0x58200069, // 0056 LDCONST R8 K105
+ 0x88240167, // 0057 GETMBR R9 R0 K103
+ 0x88280138, // 0058 GETMBR R10 R0 K56
+ 0x5C2C0800, // 0059 MOVE R11 R4
+ 0x7C140C00, // 005A CALL R5 6
+ 0x60140008, // 005B GETGBL R5 G8
+ 0x88180100, // 005C GETMBR R6 R0 K0
+ 0x88180D21, // 005D GETMBR R6 R6 K33
+ 0x7C140200, // 005E CALL R5 1
+ 0x0016DC05, // 005F ADD R5 K110 R5
+ 0x5C100A00, // 0060 MOVE R4 R5
+ 0xB8163400, // 0061 GETNGBL R5 K26
+ 0x001AB604, // 0062 ADD R6 K91 R4
+ 0x581C0020, // 0063 LDCONST R7 K32
+ 0x7C140400, // 0064 CALL R5 2
+ 0x8C14035C, // 0065 GETMET R5 R1 K92
+ 0x581C0068, // 0066 LDCONST R7 K104
+ 0x58200069, // 0067 LDCONST R8 K105
+ 0x88240167, // 0068 GETMBR R9 R0 K103
+ 0x88280138, // 0069 GETMBR R10 R0 K56
+ 0x5C2C0800, // 006A MOVE R11 R4
+ 0x7C140C00, // 006B CALL R5 6
+ 0x5810006F, // 006C LDCONST R4 K111
+ 0xB8163400, // 006D GETNGBL R5 K26
+ 0x001AB604, // 006E ADD R6 K91 R4
+ 0x581C0020, // 006F LDCONST R7 K32
+ 0x7C140400, // 0070 CALL R5 2
+ 0x8C14035C, // 0071 GETMET R5 R1 K92
+ 0x581C0068, // 0072 LDCONST R7 K104
+ 0x58200069, // 0073 LDCONST R8 K105
+ 0x88240167, // 0074 GETMBR R9 R0 K103
+ 0x88280138, // 0075 GETMBR R10 R0 K56
+ 0x5C2C0800, // 0076 MOVE R11 R4
+ 0x7C140C00, // 0077 CALL R5 6
+ 0x8810013A, // 0078 GETMBR R4 R0 K58
+ 0x78120054, // 0079 JMPF R4 #00CF
+ 0x8C100359, // 007A GETMET R4 R1 K89
+ 0x58180068, // 007B LDCONST R6 K104
+ 0x581C0069, // 007C LDCONST R7 K105
+ 0x542215A3, // 007D LDINT R8 5540
+ 0x5C240600, // 007E MOVE R9 R3
+ 0x88280166, // 007F GETMBR R10 R0 K102
+ 0x882C013A, // 0080 GETMBR R11 R0 K58
+ 0x7C100E00, // 0081 CALL R4 7
+ 0x50100200, // 0082 LDBOOL R4 1 0
+ 0x9002E004, // 0083 SETMBR R0 K112 R4
+ 0xB8123400, // 0084 GETNGBL R4 K26
+ 0x60140018, // 0085 GETGBL R5 G24
+ 0x58180071, // 0086 LDCONST R6 K113
+ 0x581C0039, // 0087 LDCONST R7 K57
+ 0x88200166, // 0088 GETMBR R8 R0 K102
+ 0x8824013A, // 0089 GETMBR R9 R0 K58
+ 0x7C140800, // 008A CALL R5 4
+ 0x58180020, // 008B LDCONST R6 K32
+ 0x7C100400, // 008C CALL R4 2
+ 0x60100008, // 008D GETGBL R4 G8
+ 0x8814010F, // 008E GETMBR R5 R0 K15
+ 0x541A0FFE, // 008F LDINT R6 4095
+ 0x2C140A06, // 0090 AND R5 R5 R6
+ 0x7C100200, // 0091 CALL R4 1
+ 0x0012D804, // 0092 ADD R4 K108 R4
+ 0xB8163400, // 0093 GETNGBL R5 K26
+ 0x001AB604, // 0094 ADD R6 K91 R4
+ 0x581C0020, // 0095 LDCONST R7 K32
+ 0x7C140400, // 0096 CALL R5 2
+ 0x8C14035C, // 0097 GETMET R5 R1 K92
+ 0x581C0068, // 0098 LDCONST R7 K104
+ 0x58200069, // 0099 LDCONST R8 K105
+ 0x88240166, // 009A GETMBR R9 R0 K102
+ 0x8828013A, // 009B GETMBR R10 R0 K58
+ 0x5C2C0800, // 009C MOVE R11 R4
+ 0x7C140C00, // 009D CALL R5 6
+ 0x60140008, // 009E GETGBL R5 G8
+ 0x8818010F, // 009F GETMBR R6 R0 K15
+ 0x541E0EFF, // 00A0 LDINT R7 3840
+ 0x2C180C07, // 00A1 AND R6 R6 R7
+ 0x541E0007, // 00A2 LDINT R7 8
+ 0x3C180C07, // 00A3 SHR R6 R6 R7
+ 0x7C140200, // 00A4 CALL R5 1
+ 0x0016DA05, // 00A5 ADD R5 K109 R5
+ 0x5C100A00, // 00A6 MOVE R4 R5
+ 0xB8163400, // 00A7 GETNGBL R5 K26
+ 0x001AB604, // 00A8 ADD R6 K91 R4
+ 0x581C0020, // 00A9 LDCONST R7 K32
+ 0x7C140400, // 00AA CALL R5 2
+ 0x8C14035C, // 00AB GETMET R5 R1 K92
+ 0x581C0068, // 00AC LDCONST R7 K104
+ 0x58200069, // 00AD LDCONST R8 K105
+ 0x88240166, // 00AE GETMBR R9 R0 K102
+ 0x8828013A, // 00AF GETMBR R10 R0 K58
+ 0x5C2C0800, // 00B0 MOVE R11 R4
+ 0x7C140C00, // 00B1 CALL R5 6
+ 0x60140008, // 00B2 GETGBL R5 G8
+ 0x88180100, // 00B3 GETMBR R6 R0 K0
+ 0x88180D21, // 00B4 GETMBR R6 R6 K33
+ 0x7C140200, // 00B5 CALL R5 1
+ 0x0016DC05, // 00B6 ADD R5 K110 R5
+ 0x5C100A00, // 00B7 MOVE R4 R5
+ 0xB8163400, // 00B8 GETNGBL R5 K26
+ 0x001AB604, // 00B9 ADD R6 K91 R4
+ 0x581C0020, // 00BA LDCONST R7 K32
+ 0x7C140400, // 00BB CALL R5 2
+ 0x8C14035C, // 00BC GETMET R5 R1 K92
+ 0x581C0068, // 00BD LDCONST R7 K104
+ 0x58200069, // 00BE LDCONST R8 K105
+ 0x88240166, // 00BF GETMBR R9 R0 K102
+ 0x8828013A, // 00C0 GETMBR R10 R0 K58
+ 0x5C2C0800, // 00C1 MOVE R11 R4
+ 0x7C140C00, // 00C2 CALL R5 6
+ 0x5810006F, // 00C3 LDCONST R4 K111
+ 0xB8163400, // 00C4 GETNGBL R5 K26
+ 0x001AB604, // 00C5 ADD R6 K91 R4
+ 0x581C0020, // 00C6 LDCONST R7 K32
+ 0x7C140400, // 00C7 CALL R5 2
+ 0x8C14035C, // 00C8 GETMET R5 R1 K92
+ 0x581C0068, // 00C9 LDCONST R7 K104
+ 0x58200069, // 00CA LDCONST R8 K105
+ 0x88240166, // 00CB GETMBR R9 R0 K102
+ 0x8828013A, // 00CC GETMBR R10 R0 K58
+ 0x5C2C0800, // 00CD MOVE R11 R4
+ 0x7C140C00, // 00CE CALL R5 6
+ 0xA8040001, // 00CF EXBLK 1 1
+ 0x7002000F, // 00D0 JMP #00E1
+ 0xAC100002, // 00D1 CATCH R4 0 2
+ 0x7002000C, // 00D2 JMP #00E0
+ 0xB81A3400, // 00D3 GETNGBL R6 K26
+ 0x601C0008, // 00D4 GETGBL R7 G8
+ 0x5C200800, // 00D5 MOVE R8 R4
+ 0x7C1C0200, // 00D6 CALL R7 1
+ 0x001E7607, // 00D7 ADD R7 K59 R7
+ 0x001C0F3C, // 00D8 ADD R7 R7 K60
+ 0x60200008, // 00D9 GETGBL R8 G8
+ 0x5C240A00, // 00DA MOVE R9 R5
+ 0x7C200200, // 00DB CALL R8 1
+ 0x001C0E08, // 00DC ADD R7 R7 R8
+ 0x5820001C, // 00DD LDCONST R8 K28
+ 0x7C180400, // 00DE CALL R6 2
+ 0x70020000, // 00DF JMP #00E1
+ 0xB0080000, // 00E0 RAISE 2 R0 R0
+ 0x80000000, // 00E1 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: _init_basic_commissioning
+********************************************************************/
+be_local_closure(class_Matter_Commissioning__init_basic_commissioning, /* name */
+ be_nested_proto(
+ 3, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(_init_basic_commissioning),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 9]) { /* code */
+ 0x88040100, // 0000 GETMBR R1 R0 K0
+ 0x8804032A, // 0001 GETMBR R1 R1 K42
+ 0x8C040372, // 0002 GETMET R1 R1 K114
+ 0x7C040200, // 0003 CALL R1 1
+ 0x1C040343, // 0004 EQ R1 R1 K67
+ 0x78060001, // 0005 JMPF R1 #0008
+ 0x8C040173, // 0006 GETMET R1 R0 K115
+ 0x7C040200, // 0007 CALL R1 1
+ 0x80000000, // 0008 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: start_mdns_announce_hostnames
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_start_mdns_announce_hostnames, /* name */
+ be_nested_proto(
+ 6, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 1, /* has sup protos */
+ ( &(const struct bproto*[ 2]) {
+ be_nested_proto(
+ 4, /* nstack */
+ 0, /* argc */
+ 0, /* varg */
+ 1, /* has upvals */
+ ( &(const bupvaldesc[ 1]) { /* upvals */
+ be_local_const_upval(1, 0),
+ }),
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ ( &(const bvalue[ 5]) { /* constants */
+ /* K0 */ be_nested_str_weak(_mdns_announce_hostname),
+ /* K1 */ be_nested_str_weak(tasmota),
+ /* K2 */ be_nested_str_weak(remove_rule),
+ /* K3 */ be_nested_str_weak(Wifi_X23Connected),
+ /* K4 */ be_nested_str_weak(matter_mdns_host),
+ }),
+ be_str_weak(_anonymous_),
+ &be_const_str_solidified,
+ ( &(const binstruction[10]) { /* code */
+ 0x68000000, // 0000 GETUPV R0 U0
+ 0x8C000100, // 0001 GETMET R0 R0 K0
+ 0x50080000, // 0002 LDBOOL R2 0 0
+ 0x7C000400, // 0003 CALL R0 2
+ 0xB8020200, // 0004 GETNGBL R0 K1
+ 0x8C000102, // 0005 GETMET R0 R0 K2
+ 0x58080003, // 0006 LDCONST R2 K3
+ 0x580C0004, // 0007 LDCONST R3 K4
+ 0x7C000600, // 0008 CALL R0 3
+ 0x80000000, // 0009 RET 0
+ })
+ ),
+ be_nested_proto(
+ 4, /* nstack */
+ 0, /* argc */
+ 0, /* varg */
+ 1, /* has upvals */
+ ( &(const bupvaldesc[ 1]) { /* upvals */
+ be_local_const_upval(1, 0),
+ }),
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ ( &(const bvalue[ 5]) { /* constants */
+ /* K0 */ be_nested_str_weak(_mdns_announce_hostname),
+ /* K1 */ be_nested_str_weak(tasmota),
+ /* K2 */ be_nested_str_weak(remove_rule),
+ /* K3 */ be_nested_str_weak(Eth_X23Connected),
+ /* K4 */ be_nested_str_weak(matter_mdns_host),
+ }),
+ be_str_weak(_anonymous_),
+ &be_const_str_solidified,
+ ( &(const binstruction[10]) { /* code */
+ 0x68000000, // 0000 GETUPV R0 U0
+ 0x8C000100, // 0001 GETMET R0 R0 K0
+ 0x50080200, // 0002 LDBOOL R2 1 0
+ 0x7C000400, // 0003 CALL R0 2
+ 0xB8020200, // 0004 GETNGBL R0 K1
+ 0x8C000102, // 0005 GETMET R0 R0 K2
+ 0x58080003, // 0006 LDCONST R2 K3
+ 0x580C0004, // 0007 LDCONST R3 K4
+ 0x7C000600, // 0008 CALL R0 3
+ 0x80000000, // 0009 RET 0
+ })
+ ),
+ }),
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(start_mdns_announce_hostnames),
+ &be_const_str_solidified,
+ ( &(const binstruction[32]) { /* code */
+ 0xB8061000, // 0000 GETNGBL R1 K8
+ 0x8C040339, // 0001 GETMET R1 R1 K57
+ 0x7C040200, // 0002 CALL R1 1
+ 0x94040333, // 0003 GETIDX R1 R1 K51
+ 0x78060003, // 0004 JMPF R1 #0009
+ 0x8C040174, // 0005 GETMET R1 R0 K116
+ 0x500C0000, // 0006 LDBOOL R3 0 0
+ 0x7C040400, // 0007 CALL R1 2
+ 0x70020005, // 0008 JMP #000F
+ 0xB8061000, // 0009 GETNGBL R1 K8
+ 0x8C04033F, // 000A GETMET R1 R1 K63
+ 0x580C0040, // 000B LDCONST R3 K64
+ 0x84100000, // 000C CLOSURE R4 P0
+ 0x58140075, // 000D LDCONST R5 K117
+ 0x7C040800, // 000E CALL R1 4
+ 0xB8061000, // 000F GETNGBL R1 K8
+ 0x8C040331, // 0010 GETMET R1 R1 K49
+ 0x7C040200, // 0011 CALL R1 1
+ 0x94040333, // 0012 GETIDX R1 R1 K51
+ 0x78060003, // 0013 JMPF R1 #0018
+ 0x8C040174, // 0014 GETMET R1 R0 K116
+ 0x500C0200, // 0015 LDBOOL R3 1 0
+ 0x7C040400, // 0016 CALL R1 2
+ 0x70020005, // 0017 JMP #001E
+ 0xB8061000, // 0018 GETNGBL R1 K8
+ 0x8C04033F, // 0019 GETMET R1 R1 K63
+ 0x580C0041, // 001A LDCONST R3 K65
+ 0x84100001, // 001B CLOSURE R4 P1
+ 0x58140075, // 001C LDCONST R5 K117
+ 0x7C040800, // 001D CALL R1 4
+ 0xA0000000, // 001E CLOSE R0
+ 0x80000000, // 001F RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: is_root_commissioning_open
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_is_root_commissioning_open, /* name */
+ be_nested_proto(
+ 3, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(is_root_commissioning_open),
+ &be_const_str_solidified,
+ ( &(const binstruction[11]) { /* code */
+ 0x8804010C, // 0000 GETMBR R1 R0 K12
+ 0x4C080000, // 0001 LDNIL R2
+ 0x20040202, // 0002 NE R1 R1 R2
+ 0x78060003, // 0003 JMPF R1 #0008
+ 0x88040113, // 0004 GETMBR R1 R0 K19
+ 0x4C080000, // 0005 LDNIL R2
+ 0x1C040202, // 0006 EQ R1 R1 R2
+ 0x74060000, // 0007 JMPT R1 #0009
+ 0x50040001, // 0008 LDBOOL R1 0 1
+ 0x50040200, // 0009 LDBOOL R1 1 0
+ 0x80040200, // 000A RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: start_root_basic_commissioning
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_start_root_basic_commissioning, /* name */
+ be_nested_proto(
+ 22, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(start_root_basic_commissioning),
+ &be_const_str_solidified,
+ ( &(const binstruction[76]) { /* code */
+ 0x4C080000, // 0000 LDNIL R2
+ 0x1C080202, // 0001 EQ R2 R1 R2
+ 0x780A0000, // 0002 JMPF R2 #0004
+ 0x88040176, // 0003 GETMBR R1 R0 K118
+ 0x8C080177, // 0004 GETMET R2 R0 K119
+ 0x7C080200, // 0005 CALL R2 1
+ 0xB80E3400, // 0006 GETNGBL R3 K26
+ 0x60100018, // 0007 GETGBL R4 G24
+ 0x58140078, // 0008 LDCONST R5 K120
+ 0x5C180400, // 0009 MOVE R6 R2
+ 0x7C100400, // 000A CALL R4 2
+ 0x5814001C, // 000B LDCONST R5 K28
+ 0x7C0C0400, // 000C CALL R3 2
+ 0x8C0C0179, // 000D GETMET R3 R0 K121
+ 0x7C0C0200, // 000E CALL R3 1
+ 0xB8121000, // 000F GETNGBL R4 K8
+ 0x8C100909, // 0010 GETMET R4 R4 K9
+ 0x60180018, // 0011 GETGBL R6 G24
+ 0x581C007A, // 0012 LDCONST R7 K122
+ 0x5C200400, // 0013 MOVE R8 R2
+ 0x5C240600, // 0014 MOVE R9 R3
+ 0x7C180600, // 0015 CALL R6 3
+ 0x581C000B, // 0016 LDCONST R7 K11
+ 0x7C100600, // 0017 CALL R4 3
+ 0xA4124E00, // 0018 IMPORT R4 K39
+ 0x8C140953, // 0019 GETMET R5 R4 K83
+ 0x541E000F, // 001A LDINT R7 16
+ 0x7C140400, // 001B CALL R5 2
+ 0x60180015, // 001C GETGBL R6 G21
+ 0x7C180000, // 001D CALL R6 0
+ 0x8C180D7B, // 001E GETMET R6 R6 K123
+ 0x88200100, // 001F GETMBR R8 R0 K0
+ 0x88201102, // 0020 GETMBR R8 R8 K2
+ 0x54260003, // 0021 LDINT R9 4
+ 0x7C180600, // 0022 CALL R6 3
+ 0x8C1C097C, // 0023 GETMET R7 R4 K124
+ 0x7C1C0200, // 0024 CALL R7 1
+ 0x8C1C0F7D, // 0025 GETMET R7 R7 K125
+ 0x5C240C00, // 0026 MOVE R9 R6
+ 0x5C280A00, // 0027 MOVE R10 R5
+ 0x882C017E, // 0028 GETMBR R11 R0 K126
+ 0x5432004F, // 0029 LDINT R12 80
+ 0x7C1C0A00, // 002A CALL R7 5
+ 0x54220026, // 002B LDINT R8 39
+ 0x40228608, // 002C CONNECT R8 K67 R8
+ 0x94200E08, // 002D GETIDX R8 R7 R8
+ 0x54260027, // 002E LDINT R9 40
+ 0x542A004E, // 002F LDINT R10 79
+ 0x4024120A, // 0030 CONNECT R9 R9 R10
+ 0x94240E09, // 0031 GETIDX R9 R7 R9
+ 0x8C28097F, // 0032 GETMET R10 R4 K127
+ 0x7C280200, // 0033 CALL R10 1
+ 0x8C281580, // 0034 GETMET R10 R10 K128
+ 0x5C301000, // 0035 MOVE R12 R8
+ 0x7C280400, // 0036 CALL R10 2
+ 0x8C2C097F, // 0037 GETMET R11 R4 K127
+ 0x7C2C0200, // 0038 CALL R11 1
+ 0x8C2C1780, // 0039 GETMET R11 R11 K128
+ 0x5C341200, // 003A MOVE R13 R9
+ 0x7C2C0400, // 003B CALL R11 2
+ 0x8C30097F, // 003C GETMET R12 R4 K127
+ 0x7C300200, // 003D CALL R12 1
+ 0x8C301981, // 003E GETMET R12 R12 K129
+ 0x5C381600, // 003F MOVE R14 R11
+ 0x7C300400, // 0040 CALL R12 2
+ 0x8C340182, // 0041 GETMET R13 R0 K130
+ 0x5C3C0200, // 0042 MOVE R15 R1
+ 0x8840017E, // 0043 GETMBR R16 R0 K126
+ 0x88440100, // 0044 GETMBR R17 R0 K0
+ 0x88442301, // 0045 GETMBR R17 R17 K1
+ 0x5C480A00, // 0046 MOVE R18 R5
+ 0x5C4C1400, // 0047 MOVE R19 R10
+ 0x5C501800, // 0048 MOVE R20 R12
+ 0x4C540000, // 0049 LDNIL R21
+ 0x7C341000, // 004A CALL R13 8
+ 0x80000000, // 004B RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: is_commissioning_open
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_is_commissioning_open, /* name */
+ be_nested_proto(
+ 3, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(is_commissioning_open),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 4]) { /* code */
+ 0x8804010C, // 0000 GETMBR R1 R0 K12
+ 0x4C080000, // 0001 LDNIL R2
+ 0x20040202, // 0002 NE R1 R1 R2
+ 0x80040200, // 0003 RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: init
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_init, /* name */
+ be_nested_proto(
+ 4, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(init),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 4]) { /* code */
+ 0x90020001, // 0000 SETMBR R0 K0 R1
+ 0x8C080183, // 0001 GETMET R2 R0 K131
+ 0x7C080200, // 0002 CALL R2 1
+ 0x80000000, // 0003 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: mdns_remove_PASE
+********************************************************************/
+be_local_closure(class_Matter_Commissioning_mdns_remove_PASE, /* name */
+ be_nested_proto(
+ 9, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Commissioning, /* shared constants */
+ be_str_weak(mdns_remove_PASE),
+ &be_const_str_solidified,
+ ( &(const binstruction[77]) { /* code */
+ 0xA4065000, // 0000 IMPORT R1 K40
+ 0xA8020039, // 0001 EXBLK 0 #003C
+ 0x8808016A, // 0002 GETMBR R2 R0 K106
+ 0x780A0019, // 0003 JMPF R2 #001E
+ 0xB80A3400, // 0004 GETNGBL R2 K26
+ 0x600C0018, // 0005 GETGBL R3 G24
+ 0x58100084, // 0006 LDCONST R4 K132
+ 0x58140068, // 0007 LDCONST R5 K104
+ 0x58180069, // 0008 LDCONST R6 K105
+ 0x881C0167, // 0009 GETMBR R7 R0 K103
+ 0x88200138, // 000A GETMBR R8 R0 K56
+ 0x7C0C0A00, // 000B CALL R3 5
+ 0x58100020, // 000C LDCONST R4 K32
+ 0x7C080400, // 000D CALL R2 2
+ 0xB80A3400, // 000E GETNGBL R2 K26
+ 0x600C0018, // 000F GETGBL R3 G24
+ 0x58100034, // 0010 LDCONST R4 K52
+ 0x58140031, // 0011 LDCONST R5 K49
+ 0x88180167, // 0012 GETMBR R6 R0 K103
+ 0x7C0C0600, // 0013 CALL R3 3
+ 0x58100020, // 0014 LDCONST R4 K32
+ 0x7C080400, // 0015 CALL R2 2
+ 0x50080000, // 0016 LDBOOL R2 0 0
+ 0x9002D402, // 0017 SETMBR R0 K106 R2
+ 0x8C080335, // 0018 GETMET R2 R1 K53
+ 0x58100068, // 0019 LDCONST R4 K104
+ 0x58140069, // 001A LDCONST R5 K105
+ 0x88180167, // 001B GETMBR R6 R0 K103
+ 0x881C0138, // 001C GETMBR R7 R0 K56
+ 0x7C080A00, // 001D CALL R2 5
+ 0x88080170, // 001E GETMBR R2 R0 K112
+ 0x780A0019, // 001F JMPF R2 #003A
+ 0xB80A3400, // 0020 GETNGBL R2 K26
+ 0x600C0018, // 0021 GETGBL R3 G24
+ 0x58100084, // 0022 LDCONST R4 K132
+ 0x58140068, // 0023 LDCONST R5 K104
+ 0x58180069, // 0024 LDCONST R6 K105
+ 0x881C0166, // 0025 GETMBR R7 R0 K102
+ 0x8820013A, // 0026 GETMBR R8 R0 K58
+ 0x7C0C0A00, // 0027 CALL R3 5
+ 0x58100020, // 0028 LDCONST R4 K32
+ 0x7C080400, // 0029 CALL R2 2
+ 0xB80A3400, // 002A GETNGBL R2 K26
+ 0x600C0018, // 002B GETGBL R3 G24
+ 0x58100034, // 002C LDCONST R4 K52
+ 0x58140039, // 002D LDCONST R5 K57
+ 0x88180166, // 002E GETMBR R6 R0 K102
+ 0x7C0C0600, // 002F CALL R3 3
+ 0x58100020, // 0030 LDCONST R4 K32
+ 0x7C080400, // 0031 CALL R2 2
+ 0x50080000, // 0032 LDBOOL R2 0 0
+ 0x9002E002, // 0033 SETMBR R0 K112 R2
+ 0x8C080335, // 0034 GETMET R2 R1 K53
+ 0x58100068, // 0035 LDCONST R4 K104
+ 0x58140069, // 0036 LDCONST R5 K105
+ 0x88180166, // 0037 GETMBR R6 R0 K102
+ 0x881C013A, // 0038 GETMBR R7 R0 K58
+ 0x7C080A00, // 0039 CALL R2 5
+ 0xA8040001, // 003A EXBLK 1 1
+ 0x7002000F, // 003B JMP #004C
+ 0xAC080002, // 003C CATCH R2 0 2
+ 0x7002000C, // 003D JMP #004B
+ 0xB8123400, // 003E GETNGBL R4 K26
+ 0x60140008, // 003F GETGBL R5 G8
+ 0x5C180400, // 0040 MOVE R6 R2
+ 0x7C140200, // 0041 CALL R5 1
+ 0x00167605, // 0042 ADD R5 K59 R5
+ 0x00140B3C, // 0043 ADD R5 R5 K60
+ 0x60180008, // 0044 GETGBL R6 G8
+ 0x5C1C0600, // 0045 MOVE R7 R3
+ 0x7C180200, // 0046 CALL R6 1
+ 0x00140A06, // 0047 ADD R5 R5 R6
+ 0x5818001C, // 0048 LDCONST R6 K28
+ 0x7C100400, // 0049 CALL R4 2
+ 0x70020000, // 004A JMP #004C
+ 0xB0080000, // 004B RAISE 2 R0 R0
+ 0x80000000, // 004C RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified class: Matter_Commissioning
+********************************************************************/
+be_local_class(Matter_Commissioning,
+ 14,
+ NULL,
+ be_nested_map(40,
+ ( (struct bmapnode*) &(const bmapnode[]) {
+ { be_const_key_weak(commissioning_admin_fabric, -1), be_const_var(7) },
+ { be_const_key_weak(mdns_remove_op_discovery_all_fabrics, -1), be_const_closure(class_Matter_Commissioning_mdns_remove_op_discovery_all_fabrics_closure) },
+ { be_const_key_weak(commissioning_instance_eth, 6), be_const_var(9) },
+ { be_const_key_weak(mdns_remove_PASE, 1), be_const_closure(class_Matter_Commissioning_mdns_remove_PASE_closure) },
+ { be_const_key_weak(stop_basic_commissioning, -1), be_const_closure(class_Matter_Commissioning_stop_basic_commissioning_closure) },
+ { be_const_key_weak(mdns_pase_wifi, -1), be_const_var(13) },
+ { be_const_key_weak(commissioning_w0, -1), be_const_var(5) },
+ { be_const_key_weak(compute_qrcode_content, -1), be_const_closure(class_Matter_Commissioning_compute_qrcode_content_closure) },
+ { be_const_key_weak(mdns_remove_op_discovery, -1), be_const_closure(class_Matter_Commissioning_mdns_remove_op_discovery_closure) },
+ { be_const_key_weak(commissioning_open, -1), be_const_var(1) },
+ { be_const_key_weak(compute_manual_pairing_code, 3), be_const_closure(class_Matter_Commissioning_compute_manual_pairing_code_closure) },
+ { be_const_key_weak(device, -1), be_const_var(0) },
+ { be_const_key_weak(init, 32), be_const_closure(class_Matter_Commissioning_init_closure) },
+ { be_const_key_weak(PASSCODE_INVALID, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
+ be_const_list( * be_nested_list(12,
+ ( (struct bvalue*) &(const bvalue[]) {
+ be_const_int(0),
+ be_const_int(11111111),
+ be_const_int(22222222),
+ be_const_int(33333333),
+ be_const_int(44444444),
+ be_const_int(55555555),
+ be_const_int(66666666),
+ be_const_int(77777777),
+ be_const_int(88888888),
+ be_const_int(99999999),
+ be_const_int(12345678),
+ be_const_int(87654321),
+ })) ) } )) },
+ { be_const_key_weak(start_operational_discovery_deferred, -1), be_const_closure(class_Matter_Commissioning_start_operational_discovery_deferred_closure) },
+ { be_const_key_weak(start_commissioning_complete, 8), be_const_closure(class_Matter_Commissioning_start_commissioning_complete_closure) },
+ { be_const_key_weak(_mdns_announce_hostname, -1), be_const_closure(class_Matter_Commissioning__mdns_announce_hostname_closure) },
+ { be_const_key_weak(start_operational_discovery, 14), be_const_closure(class_Matter_Commissioning_start_operational_discovery_closure) },
+ { be_const_key_weak(start_basic_commissioning, 16), be_const_closure(class_Matter_Commissioning_start_basic_commissioning_closure) },
+ { be_const_key_weak(mdns_announce_op_discovery_all_fabrics, 28), be_const_closure(class_Matter_Commissioning_mdns_announce_op_discovery_all_fabrics_closure) },
+ { be_const_key_weak(start_root_basic_commissioning, -1), be_const_closure(class_Matter_Commissioning_start_root_basic_commissioning_closure) },
+ { be_const_key_weak(generate_random_passcode, -1), be_const_closure(class_Matter_Commissioning_generate_random_passcode_closure) },
+ { be_const_key_weak(mdns_announce_op_discovery, -1), be_const_closure(class_Matter_Commissioning_mdns_announce_op_discovery_closure) },
+ { be_const_key_weak(PASE_TIMEOUT, -1), be_const_int(600) },
+ { be_const_key_weak(hostname_eth, -1), be_const_var(11) },
+ { be_const_key_weak(every_second, 20), be_const_closure(class_Matter_Commissioning_every_second_closure) },
+ { be_const_key_weak(commissioning_instance_wifi, 23), be_const_var(8) },
+ { be_const_key_weak(mdns_announce_PASE, -1), be_const_closure(class_Matter_Commissioning_mdns_announce_PASE_closure) },
+ { be_const_key_weak(commissioning_L, -1), be_const_var(6) },
+ { be_const_key_weak(_init_basic_commissioning, 30), be_const_closure(class_Matter_Commissioning__init_basic_commissioning_closure) },
+ { be_const_key_weak(start_mdns_announce_hostnames, -1), be_const_closure(class_Matter_Commissioning_start_mdns_announce_hostnames_closure) },
+ { be_const_key_weak(is_root_commissioning_open, -1), be_const_closure(class_Matter_Commissioning_is_root_commissioning_open_closure) },
+ { be_const_key_weak(start_commissioning_complete_deferred, 38), be_const_closure(class_Matter_Commissioning_start_commissioning_complete_deferred_closure) },
+ { be_const_key_weak(commissioning_salt, -1), be_const_var(4) },
+ { be_const_key_weak(is_commissioning_open, -1), be_const_closure(class_Matter_Commissioning_is_commissioning_open_closure) },
+ { be_const_key_weak(mdns_pase_eth, 12), be_const_var(12) },
+ { be_const_key_weak(hostname_wifi, -1), be_const_var(10) },
+ { be_const_key_weak(commissioning_iterations, -1), be_const_var(2) },
+ { be_const_key_weak(commissioning_discriminator, -1), be_const_var(3) },
+ { be_const_key_weak(PBKDF_ITERATIONS, -1), be_const_int(1000) },
+ })),
+ be_str_weak(Matter_Commissioning)
+);
+/********************************************************************/
+/* End of solidification */
diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_zz_Device.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_zz_Device.h
index b13c67c7c..f59edbdea 100644
--- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_zz_Device.h
+++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_zz_Device.h
@@ -3,214 +3,291 @@
* Generated code, don't edit *
\********************************************************************/
#include "be_constobj.h"
-// ktab too big for class 'Matter_Device' - skipping
+extern const bclass be_class_Matter_Device;
+// compact class 'Matter_Device' ktab size: 255, total: 533 (saved 2224 bytes)
+static const bvalue be_ktab_class_Matter_Device[255] = {
+ /* K0 */ be_nested_str_weak(udp_server),
+ /* K1 */ be_nested_str_weak(received_ack),
+ /* K2 */ be_nested_str_weak(started),
+ /* K3 */ be_nested_str_weak(autoconf_device),
+ /* K4 */ be_nested_str_weak(_start_udp),
+ /* K5 */ be_nested_str_weak(UDP_PORT),
+ /* K6 */ be_nested_str_weak(commissioning),
+ /* K7 */ be_nested_str_weak(start_mdns_announce_hostnames),
+ /* K8 */ be_nested_str_weak(sessions),
+ /* K9 */ be_nested_str_weak(count_active_fabrics),
+ /* K10 */ be_const_int(0),
+ /* K11 */ be_nested_str_weak(plugins_persist),
+ /* K12 */ be_nested_str_weak(save_param),
+ /* K13 */ be_nested_str_weak(stop_basic_commissioning),
+ /* K14 */ be_nested_str_weak(mdns_remove_op_discovery_all_fabrics),
+ /* K15 */ be_const_class(be_class_Matter_Device),
+ /* K16 */ be_nested_str_weak(),
+ /* K17 */ be_nested_str_weak(k2l),
+ /* K18 */ be_nested_str_weak(type),
+ /* K19 */ be_nested_str_weak(_X20_X25s_X3A_X25s),
+ /* K20 */ be_nested_str_weak(stop_iteration),
+ /* K21 */ be_nested_str_weak(crypto),
+ /* K22 */ be_nested_str_weak(tasmota),
+ /* K23 */ be_nested_str_weak(get_option),
+ /* K24 */ be_nested_str_weak(matter),
+ /* K25 */ be_nested_str_weak(MATTER_OPTION),
+ /* K26 */ be_nested_str_weak(UI),
+ /* K27 */ be_nested_str_weak(profiler),
+ /* K28 */ be_nested_str_weak(Profiler),
+ /* K29 */ be_nested_str_weak(tick),
+ /* K30 */ be_nested_str_weak(plugins),
+ /* K31 */ be_nested_str_weak(plugins_config_remotes),
+ /* K32 */ be_nested_str_weak(next_ep),
+ /* K33 */ be_const_int(2),
+ /* K34 */ be_nested_str_weak(ipv4only),
+ /* K35 */ be_nested_str_weak(disable_bridge_mode),
+ /* K36 */ be_nested_str_weak(load_param),
+ /* K37 */ be_nested_str_weak(Session_Store),
+ /* K38 */ be_nested_str_weak(load_fabrics),
+ /* K39 */ be_nested_str_weak(message_handler),
+ /* K40 */ be_nested_str_weak(MessageHandler),
+ /* K41 */ be_nested_str_weak(events),
+ /* K42 */ be_nested_str_weak(EventHandler),
+ /* K43 */ be_nested_str_weak(ui),
+ /* K44 */ be_nested_str_weak(wifi),
+ /* K45 */ be_nested_str_weak(up),
+ /* K46 */ be_nested_str_weak(eth),
+ /* K47 */ be_nested_str_weak(start),
+ /* K48 */ be_nested_str_weak(add_rule),
+ /* K49 */ be_nested_str_weak(Wifi_X23Connected),
+ /* K50 */ be_nested_str_weak(matter_start),
+ /* K51 */ be_nested_str_weak(Eth_X23Connected),
+ /* K52 */ be_nested_str_weak(Commissioning),
+ /* K53 */ be_nested_str_weak(add_driver),
+ /* K54 */ be_nested_str_weak(register_commands),
+ /* K55 */ be_nested_str_weak(get_name),
+ /* K56 */ be_const_int(1),
+ /* K57 */ be_nested_str_weak(find),
+ /* K58 */ be_nested_str_weak(log),
+ /* K59 */ be_nested_str_weak(MTR_X3A_X20Starting_X20UDP_X20server_X20on_X20port_X3A_X20),
+ /* K60 */ be_nested_str_weak(UDPServer),
+ /* K61 */ be_nested_str_weak(MTR_X3A_X20removing_X20fabric_X20),
+ /* K62 */ be_nested_str_weak(get_fabric_id),
+ /* K63 */ be_nested_str_weak(copy),
+ /* K64 */ be_nested_str_weak(reverse),
+ /* K65 */ be_nested_str_weak(tohex),
+ /* K66 */ be_nested_str_weak(im),
+ /* K67 */ be_nested_str_weak(subs_shop),
+ /* K68 */ be_nested_str_weak(remove_by_fabric),
+ /* K69 */ be_nested_str_weak(mdns_remove_op_discovery),
+ /* K70 */ be_nested_str_weak(remove_fabric),
+ /* K71 */ be_nested_str_weak(save_fabrics),
+ /* K72 */ be_nested_str_weak(endpoint),
+ /* K73 */ be_nested_str_weak(cluster),
+ /* K74 */ be_nested_str_weak(attribute),
+ /* K75 */ be_nested_str_weak(find_plugin_by_endpoint),
+ /* K76 */ be_nested_str_weak(status),
+ /* K77 */ be_nested_str_weak(UNSUPPORTED_ENDPOINT),
+ /* K78 */ be_nested_str_weak(contains_cluster),
+ /* K79 */ be_nested_str_weak(UNSUPPORTED_CLUSTER),
+ /* K80 */ be_nested_str_weak(contains_attribute),
+ /* K81 */ be_nested_str_weak(UNSUPPORTED_ATTRIBUTE),
+ /* K82 */ be_nested_str_weak(attribute_updated),
+ /* K83 */ be_const_int(3),
+ /* K84 */ be_nested_str_weak(AGGREGATOR_ENDPOINT),
+ /* K85 */ be_nested_str_weak(json),
+ /* K86 */ be_nested_str_weak(plugins_config),
+ /* K87 */ be_nested_str_weak(autoconf_device_map),
+ /* K88 */ be_nested_str_weak(adjust_next_ep),
+ /* K89 */ be_nested_str_weak(MTR_X3A_X20autoconfig_X20_X3D_X20),
+ /* K90 */ be_nested_str_weak(_instantiate_plugins_from_config),
+ /* K91 */ be_nested_str_weak(read_sensors),
+ /* K92 */ be_nested_str_weak(loglevel),
+ /* K93 */ be_nested_str_weak(MTR_X3A_X20read_sensors_X3A_X20),
+ /* K94 */ be_nested_str_weak(load),
+ /* K95 */ be_nested_str_weak(parse_sensors),
+ /* K96 */ be_nested_str_weak(MTR_X3A_X20unable_X20to_X20parse_X20read_sensors_X3A_X20),
+ /* K97 */ be_nested_str_weak(get_endpoint),
+ /* K98 */ be_nested_str_weak(push),
+ /* K99 */ be_nested_str_weak(send_UDP),
+ /* K100 */ be_nested_str_weak(remove_driver),
+ /* K101 */ be_nested_str_weak(stop),
+ /* K102 */ be_nested_str_weak(keys),
+ /* K103 */ be_nested_str_weak(probe_sensor_time),
+ /* K104 */ be_nested_str_weak(probe_sensor_timestamp),
+ /* K105 */ be_nested_str_weak(jitter),
+ /* K106 */ be_nested_str_weak(button_handler),
+ /* K107 */ be_nested_str_weak(http_remotes),
+ /* K108 */ be_nested_str_weak(contains),
+ /* K109 */ be_nested_str_weak(get_timeout),
+ /* K110 */ be_nested_str_weak(set_timeout),
+ /* K111 */ be_nested_str_weak(HTTP_remote),
+ /* K112 */ be_nested_str_weak(set_info),
+ /* K113 */ be_nested_str_weak(k2l_num),
+ /* K114 */ be_nested_str_weak(Plugin_Root),
+ /* K115 */ be_nested_str_weak(MTR_X3A_X20Configuring_X20endpoints),
+ /* K116 */ be_nested_str_weak(MTR_X3A_X20_X20_X20endpoint_X20_X3D_X20_X255i_X20type_X3A_X25s_X25s),
+ /* K117 */ be_nested_str_weak(root),
+ /* K118 */ be_nested_str_weak(Plugin_Aggregator),
+ /* K119 */ be_nested_str_weak(aggregator),
+ /* K120 */ be_nested_str_weak(MTR_X3A_X20no_X20class_X20name_X2C_X20skipping),
+ /* K121 */ be_nested_str_weak(MTR_X3A_X20only_X20one_X20root_X20node_X20allowed),
+ /* K122 */ be_nested_str_weak(plugins_classes),
+ /* K123 */ be_nested_str_weak(MTR_X3A_X20unknown_X20class_X20name_X20_X27),
+ /* K124 */ be_nested_str_weak(_X27_X20skipping),
+ /* K125 */ be_nested_str_weak(conf_to_log),
+ /* K126 */ be_nested_str_weak(MTR_X3A_X20Exception),
+ /* K127 */ be_nested_str_weak(_X7C),
+ /* K128 */ be_nested_str_weak(publish_result),
+ /* K129 */ be_nested_str_weak(_X7B_X22Matter_X22_X3A_X7B_X22Initialized_X22_X3A1_X7D_X7D),
+ /* K130 */ be_nested_str_weak(Matter),
+ /* K131 */ be_nested_str_weak(remove),
+ /* K132 */ be_nested_str_weak(DISPLAY_NAME),
+ /* K133 */ be_nested_str_weak(introspect),
+ /* K134 */ be_nested_str_weak(get),
+ /* K135 */ be_nested_str_weak(http_remote),
+ /* K136 */ be_nested_str_weak(MTR_X3A_X20remove_X20unused_X20remote_X3A_X20),
+ /* K137 */ be_nested_str_weak(addr),
+ /* K138 */ be_nested_str_weak(close),
+ /* K139 */ be_nested_str_weak(MTR_X3A_X20invalid_X20entry_X20with_X20ep_X20_X270_X27),
+ /* K140 */ be_nested_str_weak(MTR_X3A_X20endpoint_X20_X25s_X20collides_X20wit_X20aggregator_X2C_X20relocating_X20to_X20_X25s),
+ /* K141 */ be_nested_str_weak(every_second),
+ /* K142 */ be_nested_str_weak(Path),
+ /* K143 */ be_nested_str_weak(attribute_updated_ctx),
+ /* K144 */ be_nested_str_weak(read_sensors_scheduler),
+ /* K145 */ be_nested_str_weak(every_250ms),
+ /* K146 */ be_nested_str_weak(PathGenerator),
+ /* K147 */ be_nested_str_weak(is_direct),
+ /* K148 */ be_nested_str_weak(next_attribute),
+ /* K149 */ be_nested_str_weak(get_pi),
+ /* K150 */ be_nested_str_weak(START_ENDPOINT),
+ /* K151 */ be_nested_str_weak(light),
+ /* K152 */ be_nested_str_weak(channels),
+ /* K153 */ be_nested_str_weak(light1),
+ /* K154 */ be_nested_str_weak(light2),
+ /* K155 */ be_nested_str_weak(light3),
+ /* K156 */ be_nested_str_weak(cmd),
+ /* K157 */ be_nested_str_weak(Status_X2013),
+ /* K158 */ be_nested_str_weak(MTR_X3A_X20Status_X2013_X20_X3D_X20),
+ /* K159 */ be_nested_str_weak(StatusSHT),
+ /* K160 */ be_nested_str_weak(SHT),
+ /* K161 */ be_nested_str_weak(MTR_X3A_X20_X27_X25s_X27_X20_X3D_X20_X25s),
+ /* K162 */ be_nested_str_weak(Relay1),
+ /* K163 */ be_nested_str_weak(Relay2),
+ /* K164 */ be_nested_str_weak(MTR_X3A_X20relay1_X3D_X25s_X20relay2_X3D_X25s),
+ /* K165 */ be_nested_str_weak(TiltConfig),
+ /* K166 */ be_nested_str_weak(shutter_X2Btilt),
+ /* K167 */ be_nested_str_weak(shutter),
+ /* K168 */ be_nested_str_weak(get_power),
+ /* K169 */ be_nested_str_weak(relay),
+ /* K170 */ be_nested_str_weak(autoconf_sensors_list),
+ /* K171 */ be_nested_str_weak(MTR_X3A_X20adding_X20endpoint_X20_X3D_X20_X25i_X20type_X3A_X25s_X25s),
+ /* K172 */ be_nested_str_weak(signal_endpoints_changed),
+ /* K173 */ be_nested_str_weak(MtrInfo_one),
+ /* K174 */ be_nested_str_weak(int),
+ /* K175 */ be_nested_str_weak(find_plugin_by_friendly_name),
+ /* K176 */ be_nested_str_weak(resp_cmnd_done),
+ /* K177 */ be_nested_str_weak(FILENAME),
+ /* K178 */ be_nested_str_weak(read),
+ /* K179 */ be_nested_str_weak(root_discriminator),
+ /* K180 */ be_nested_str_weak(distinguish),
+ /* K181 */ be_nested_str_weak(root_passcode),
+ /* K182 */ be_nested_str_weak(passcode),
+ /* K183 */ be_nested_str_weak(nextep),
+ /* K184 */ be_nested_str_weak(config),
+ /* K185 */ be_nested_str_weak(debug),
+ /* K186 */ be_nested_str_weak(MTR_X3A_X20Load_config_X20_X3D_X20_X25s),
+ /* K187 */ be_nested_str_weak(check_config_ep),
+ /* K188 */ be_nested_str_weak(remotes),
+ /* K189 */ be_nested_str_weak(MTR_X3A_X20load_remotes_X20_X3D_X20),
+ /* K190 */ be_nested_str_weak(io_error),
+ /* K191 */ be_nested_str_weak(MTR_X3A_X20load_param_X20Exception_X3A),
+ /* K192 */ be_nested_str_weak(random),
+ /* K193 */ be_nested_str_weak(generate_random_passcode),
+ /* K194 */ be_nested_str_weak(resp_cmnd_str),
+ /* K195 */ be_nested_str_weak(Invalid_X20JSON),
+ /* K196 */ be_nested_str_weak(find_key_i),
+ /* K197 */ be_nested_str_weak(Ep),
+ /* K198 */ be_nested_str_weak(Name),
+ /* K199 */ be_nested_str_weak(Invalid_X20_X27Ep_X27_X20attribute),
+ /* K200 */ be_nested_str_weak(Invalid_X20Device),
+ /* K201 */ be_nested_str_weak(VIRTUAL),
+ /* K202 */ be_nested_str_weak(Device_X20is_X20not_X20virtual),
+ /* K203 */ be_nested_str_weak(consolidate_update_commands),
+ /* K204 */ be_nested_str_weak(find_list_i),
+ /* K205 */ be_nested_str_weak(Invalid_X20attribute_X20_X27_X25s_X27),
+ /* K206 */ be_nested_str_weak(update_virtual),
+ /* K207 */ be_nested_str_weak(state_json),
+ /* K208 */ be_nested_str_weak(_X7B_X22_X25s_X22_X3A_X25s_X7D),
+ /* K209 */ be_nested_str_weak(resp_cmnd),
+ /* K210 */ be_nested_str_weak(Missing_X20_X27Device_X27_X20attribute),
+ /* K211 */ be_nested_str_weak(add_cmd),
+ /* K212 */ be_nested_str_weak(MtrJoin),
+ /* K213 */ be_nested_str_weak(MtrUpdate),
+ /* K214 */ be_nested_str_weak(MtrInfo),
+ /* K215 */ be_nested_str_weak(update_remotes_info),
+ /* K216 */ be_nested_str_weak(_X7B_X22distinguish_X22_X3A_X25i_X2C_X22passcode_X22_X3A_X25i_X2C_X22ipv4only_X22_X3A_X25s_X2C_X22disable_bridge_mode_X22_X3A_X25s_X2C_X22nextep_X22_X3A_X25i),
+ /* K217 */ be_nested_str_weak(true),
+ /* K218 */ be_nested_str_weak(false),
+ /* K219 */ be_nested_str_weak(_X2C_X22debug_X22_X3Atrue),
+ /* K220 */ be_nested_str_weak(_X2C_X0A_X22config_X22_X3A),
+ /* K221 */ be_nested_str_weak(dump),
+ /* K222 */ be_nested_str_weak(_X2C_X0A_X22remotes_X22_X3A),
+ /* K223 */ be_nested_str_weak(_X7D),
+ /* K224 */ be_nested_str_weak(w),
+ /* K225 */ be_nested_str_weak(write),
+ /* K226 */ be_nested_str_weak(MTR_X3A_X20_X3DSaved_X20_X20_X20_X20_X20parameters_X25s),
+ /* K227 */ be_nested_str_weak(_X20and_X20configuration),
+ /* K228 */ be_nested_str_weak(MTR_X3A_X20Session_Store_X3A_X3Asave_X20Exception_X3A),
+ /* K229 */ be_nested_str_weak(MTR_X3A_X20Cannot_X20remove_X20an_X20enpoint_X20not_X20configured_X3A_X20),
+ /* K230 */ be_nested_str_weak(MTR_X3A_X20deleting_X20endpoint_X20_X3D_X20_X25i),
+ /* K231 */ be_nested_str_weak(clean_remotes),
+ /* K232 */ be_nested_str_weak(msg_received),
+ /* K233 */ be_nested_str_weak(invoke_request),
+ /* K234 */ be_nested_str_weak(time_reached),
+ /* K235 */ be_nested_str_weak(_trigger_read_sensors),
+ /* K236 */ be_nested_str_weak(millis),
+ /* K237 */ be_nested_str_weak(start_root_basic_commissioning),
+ /* K238 */ be_nested_str_weak(Temperature),
+ /* K239 */ be_nested_str_weak(_X23Temperature),
+ /* K240 */ be_nested_str_weak(temperature),
+ /* K241 */ be_nested_str_weak(filter),
+ /* K242 */ be_nested_str_weak(Pressure),
+ /* K243 */ be_nested_str_weak(_X23Pressure),
+ /* K244 */ be_nested_str_weak(pressure),
+ /* K245 */ be_nested_str_weak(Illuminance),
+ /* K246 */ be_nested_str_weak(_X23Illuminance),
+ /* K247 */ be_nested_str_weak(illuminance),
+ /* K248 */ be_nested_str_weak(Humidity),
+ /* K249 */ be_nested_str_weak(_X23Humidity),
+ /* K250 */ be_nested_str_weak(humidity),
+ /* K251 */ be_nested_str_weak(_X7B_X22MtrInfo_X22_X3A_X25s_X7D),
+ /* K252 */ be_nested_str_weak(every_50ms),
+ /* K253 */ be_nested_str_weak(ARG),
+ /* K254 */ be_nested_str_weak(get_info),
+};
+
extern const bclass be_class_Matter_Device;
/********************************************************************
-** Solidified function: start_commissioning_complete
+** Solidified function: received_ack
********************************************************************/
-be_local_closure(class_Matter_Device_start_commissioning_complete, /* name */
- be_nested_proto(
- 10, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[10]) { /* constants */
- /* K0 */ be_nested_str_weak(get_fabric),
- /* K1 */ be_nested_str_weak(get_fabric_id),
- /* K2 */ be_nested_str_weak(copy),
- /* K3 */ be_nested_str_weak(reverse),
- /* K4 */ be_nested_str_weak(tohex),
- /* K5 */ be_nested_str_weak(get_admin_vendor_name),
- /* K6 */ be_nested_str_weak(log),
- /* K7 */ be_nested_str_weak(MTR_X3A_X20_X2D_X2D_X2D_X20Commissioning_X20complete_X20for_X20Fabric_X20_X27_X25s_X27_X20_X28Vendor_X20_X25s_X29_X20_X2D_X2D_X2D),
- /* K8 */ be_const_int(2),
- /* K9 */ be_nested_str_weak(stop_basic_commissioning),
- }),
- be_str_weak(start_commissioning_complete),
- &be_const_str_solidified,
- ( &(const binstruction[23]) { /* code */
- 0x8C080300, // 0000 GETMET R2 R1 K0
- 0x7C080200, // 0001 CALL R2 1
- 0x8C0C0501, // 0002 GETMET R3 R2 K1
- 0x7C0C0200, // 0003 CALL R3 1
- 0x8C0C0702, // 0004 GETMET R3 R3 K2
- 0x7C0C0200, // 0005 CALL R3 1
- 0x8C0C0703, // 0006 GETMET R3 R3 K3
- 0x7C0C0200, // 0007 CALL R3 1
- 0x8C0C0704, // 0008 GETMET R3 R3 K4
- 0x7C0C0200, // 0009 CALL R3 1
- 0x8C100505, // 000A GETMET R4 R2 K5
- 0x7C100200, // 000B CALL R4 1
- 0xB8160C00, // 000C GETNGBL R5 K6
- 0x60180018, // 000D GETGBL R6 G24
- 0x581C0007, // 000E LDCONST R7 K7
- 0x5C200600, // 000F MOVE R8 R3
- 0x5C240800, // 0010 MOVE R9 R4
- 0x7C180600, // 0011 CALL R6 3
- 0x581C0008, // 0012 LDCONST R7 K8
- 0x7C140400, // 0013 CALL R5 2
- 0x8C140109, // 0014 GETMET R5 R0 K9
- 0x7C140200, // 0015 CALL R5 1
- 0x80000000, // 0016 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: k2l_num
-********************************************************************/
-be_local_closure(class_Matter_Device_k2l_num, /* name */
- be_nested_proto(
- 9, /* nstack */
- 1, /* argc */
- 4, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 6]) { /* constants */
- /* K0 */ be_const_class(be_class_Matter_Device),
- /* K1 */ be_nested_str_weak(keys),
- /* K2 */ be_nested_str_weak(push),
- /* K3 */ be_nested_str_weak(stop_iteration),
- /* K4 */ be_const_int(1),
- /* K5 */ be_const_int(0),
- }),
- be_str_weak(k2l_num),
- &be_const_str_solidified,
- ( &(const binstruction[52]) { /* code */
- 0x58040000, // 0000 LDCONST R1 K0
- 0x60080012, // 0001 GETGBL R2 G18
- 0x7C080000, // 0002 CALL R2 0
- 0x4C0C0000, // 0003 LDNIL R3
- 0x1C0C0003, // 0004 EQ R3 R0 R3
- 0x780E0000, // 0005 JMPF R3 #0007
- 0x80040400, // 0006 RET 1 R2
- 0x600C0010, // 0007 GETGBL R3 G16
- 0x8C100101, // 0008 GETMET R4 R0 K1
- 0x7C100200, // 0009 CALL R4 1
- 0x7C0C0200, // 000A CALL R3 1
- 0xA8020007, // 000B EXBLK 0 #0014
- 0x5C100600, // 000C MOVE R4 R3
- 0x7C100000, // 000D CALL R4 0
- 0x8C140502, // 000E GETMET R5 R2 K2
- 0x601C0009, // 000F GETGBL R7 G9
- 0x5C200800, // 0010 MOVE R8 R4
- 0x7C1C0200, // 0011 CALL R7 1
- 0x7C140400, // 0012 CALL R5 2
- 0x7001FFF7, // 0013 JMP #000C
- 0x580C0003, // 0014 LDCONST R3 K3
- 0xAC0C0200, // 0015 CATCH R3 1 0
- 0xB0080000, // 0016 RAISE 2 R0 R0
- 0x600C0010, // 0017 GETGBL R3 G16
- 0x6010000C, // 0018 GETGBL R4 G12
- 0x5C140400, // 0019 MOVE R5 R2
- 0x7C100200, // 001A CALL R4 1
- 0x04100904, // 001B SUB R4 R4 K4
- 0x40120804, // 001C CONNECT R4 K4 R4
- 0x7C0C0200, // 001D CALL R3 1
- 0xA8020010, // 001E EXBLK 0 #0030
- 0x5C100600, // 001F MOVE R4 R3
- 0x7C100000, // 0020 CALL R4 0
- 0x94140404, // 0021 GETIDX R5 R2 R4
- 0x5C180800, // 0022 MOVE R6 R4
- 0x241C0D05, // 0023 GT R7 R6 K5
- 0x781E0008, // 0024 JMPF R7 #002E
- 0x041C0D04, // 0025 SUB R7 R6 K4
- 0x941C0407, // 0026 GETIDX R7 R2 R7
- 0x241C0E05, // 0027 GT R7 R7 R5
- 0x781E0004, // 0028 JMPF R7 #002E
- 0x041C0D04, // 0029 SUB R7 R6 K4
- 0x941C0407, // 002A GETIDX R7 R2 R7
- 0x98080C07, // 002B SETIDX R2 R6 R7
- 0x04180D04, // 002C SUB R6 R6 K4
- 0x7001FFF4, // 002D JMP #0023
- 0x98080C05, // 002E SETIDX R2 R6 R5
- 0x7001FFEE, // 002F JMP #001F
- 0x580C0003, // 0030 LDCONST R3 K3
- 0xAC0C0200, // 0031 CATCH R3 1 0
- 0xB0080000, // 0032 RAISE 2 R0 R0
- 0x80040400, // 0033 RET 1 R2
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: remove_fabric
-********************************************************************/
-be_local_closure(class_Matter_Device_remove_fabric, /* name */
+be_local_closure(class_Matter_Device_received_ack, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
- 2, /* varg */
+ 10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[15]) { /* constants */
- /* K0 */ be_nested_str_weak(log),
- /* K1 */ be_nested_str_weak(MTR_X3A_X20removing_X20fabric_X20),
- /* K2 */ be_nested_str_weak(get_fabric_id),
- /* K3 */ be_nested_str_weak(copy),
- /* K4 */ be_nested_str_weak(reverse),
- /* K5 */ be_nested_str_weak(tohex),
- /* K6 */ be_const_int(2),
- /* K7 */ be_nested_str_weak(message_handler),
- /* K8 */ be_nested_str_weak(im),
- /* K9 */ be_nested_str_weak(subs_shop),
- /* K10 */ be_nested_str_weak(remove_by_fabric),
- /* K11 */ be_nested_str_weak(mdns_remove_op_discovery),
- /* K12 */ be_nested_str_weak(sessions),
- /* K13 */ be_nested_str_weak(remove_fabric),
- /* K14 */ be_nested_str_weak(save_fabrics),
- }),
- be_str_weak(remove_fabric),
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(received_ack),
&be_const_str_solidified,
- ( &(const binstruction[32]) { /* code */
- 0x4C080000, // 0000 LDNIL R2
- 0x20080202, // 0001 NE R2 R1 R2
- 0x780A0018, // 0002 JMPF R2 #001C
- 0xB80A0000, // 0003 GETNGBL R2 K0
- 0x8C0C0302, // 0004 GETMET R3 R1 K2
- 0x7C0C0200, // 0005 CALL R3 1
- 0x8C0C0703, // 0006 GETMET R3 R3 K3
- 0x7C0C0200, // 0007 CALL R3 1
- 0x8C0C0704, // 0008 GETMET R3 R3 K4
- 0x7C0C0200, // 0009 CALL R3 1
- 0x8C0C0705, // 000A GETMET R3 R3 K5
- 0x7C0C0200, // 000B CALL R3 1
- 0x000E0203, // 000C ADD R3 K1 R3
- 0x58100006, // 000D LDCONST R4 K6
- 0x7C080400, // 000E CALL R2 2
- 0x88080107, // 000F GETMBR R2 R0 K7
- 0x88080508, // 0010 GETMBR R2 R2 K8
- 0x88080509, // 0011 GETMBR R2 R2 K9
- 0x8C08050A, // 0012 GETMET R2 R2 K10
- 0x5C100200, // 0013 MOVE R4 R1
- 0x7C080400, // 0014 CALL R2 2
- 0x8C08010B, // 0015 GETMET R2 R0 K11
- 0x5C100200, // 0016 MOVE R4 R1
- 0x7C080400, // 0017 CALL R2 2
- 0x8808010C, // 0018 GETMBR R2 R0 K12
- 0x8C08050D, // 0019 GETMET R2 R2 K13
- 0x5C100200, // 001A MOVE R4 R1
- 0x7C080400, // 001B CALL R2 2
- 0x8808010C, // 001C GETMBR R2 R0 K12
- 0x8C08050E, // 001D GETMET R2 R2 K14
- 0x7C080200, // 001E CALL R2 1
- 0x80000000, // 001F RET 0
+ ( &(const binstruction[ 5]) { /* code */
+ 0x88080100, // 0000 GETMBR R2 R0 K0
+ 0x8C080501, // 0001 GETMET R2 R2 K1
+ 0x5C100200, // 0002 MOVE R4 R1
+ 0x7C080400, // 0003 CALL R2 2
+ 0x80040400, // 0004 RET 1 R2
})
)
);
@@ -218,194 +295,71 @@ be_local_closure(class_Matter_Device_remove_fabric, /* name */
/********************************************************************
-** Solidified function: _mdns_announce_hostname
+** Solidified function: start
********************************************************************/
-be_local_closure(class_Matter_Device__mdns_announce_hostname, /* name */
+be_local_closure(class_Matter_Device_start, /* name */
be_nested_proto(
- 14, /* nstack */
- 2, /* argc */
- 2, /* varg */
+ 4, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[27]) { /* constants */
- /* K0 */ be_nested_str_weak(mdns),
- /* K1 */ be_nested_str_weak(string),
- /* K2 */ be_nested_str_weak(start),
- /* K3 */ be_nested_str_weak(tasmota),
- /* K4 */ be_nested_str_weak(eth),
- /* K5 */ be_nested_str_weak(hostname_eth),
- /* K6 */ be_nested_str_weak(replace),
- /* K7 */ be_nested_str_weak(find),
- /* K8 */ be_nested_str_weak(mac),
- /* K9 */ be_nested_str_weak(_X3A),
- /* K10 */ be_nested_str_weak(),
- /* K11 */ be_nested_str_weak(ipv4only),
- /* K12 */ be_nested_str_weak(contains),
- /* K13 */ be_nested_str_weak(ip6local),
- /* K14 */ be_nested_str_weak(add_hostname),
- /* K15 */ be_nested_str_weak(ip),
- /* K16 */ be_nested_str_weak(ip6),
- /* K17 */ be_nested_str_weak(log),
- /* K18 */ be_nested_str_weak(MTR_X3A_X20calling_X20mdns_X2Eadd_hostname_X28_X25s_X2C_X20_X25s_X29),
- /* K19 */ be_const_int(3),
- /* K20 */ be_nested_str_weak(wifi),
- /* K21 */ be_nested_str_weak(hostname_wifi),
- /* K22 */ be_nested_str_weak(MTR_X3A_X20start_X20mDNS_X20on_X20_X25s_X20host_X20_X27_X25s_X2Elocal_X27),
- /* K23 */ be_nested_str_weak(MTR_X3A_X20Exception),
- /* K24 */ be_nested_str_weak(_X7C),
- /* K25 */ be_const_int(2),
- /* K26 */ be_nested_str_weak(mdns_announce_op_discovery_all_fabrics),
- }),
- be_str_weak(_mdns_announce_hostname),
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(start),
&be_const_str_solidified,
- ( &(const binstruction[144]) { /* code */
- 0xA40A0000, // 0000 IMPORT R2 K0
- 0xA40E0200, // 0001 IMPORT R3 K1
- 0x8C100502, // 0002 GETMET R4 R2 K2
- 0x7C100200, // 0003 CALL R4 1
- 0xA8020077, // 0004 EXBLK 0 #007D
- 0x78060033, // 0005 JMPF R1 #003A
- 0xB8120600, // 0006 GETNGBL R4 K3
- 0x8C100904, // 0007 GETMET R4 R4 K4
- 0x7C100200, // 0008 CALL R4 1
- 0x8C140706, // 0009 GETMET R5 R3 K6
- 0x8C1C0907, // 000A GETMET R7 R4 K7
- 0x58240008, // 000B LDCONST R9 K8
- 0x7C1C0400, // 000C CALL R7 2
- 0x58200009, // 000D LDCONST R8 K9
- 0x5824000A, // 000E LDCONST R9 K10
- 0x7C140800, // 000F CALL R5 4
- 0x90020A05, // 0010 SETMBR R0 K5 R5
- 0x8814010B, // 0011 GETMBR R5 R0 K11
- 0x78160003, // 0012 JMPF R5 #0017
- 0x8C14090C, // 0013 GETMET R5 R4 K12
- 0x581C000D, // 0014 LDCONST R7 K13
- 0x7C140400, // 0015 CALL R5 2
- 0x7416000F, // 0016 JMPT R5 #0027
- 0x8C14050E, // 0017 GETMET R5 R2 K14
- 0x881C0105, // 0018 GETMBR R7 R0 K5
- 0x8C200907, // 0019 GETMET R8 R4 K7
- 0x5828000D, // 001A LDCONST R10 K13
- 0x582C000A, // 001B LDCONST R11 K10
- 0x7C200600, // 001C CALL R8 3
- 0x8C240907, // 001D GETMET R9 R4 K7
- 0x582C000F, // 001E LDCONST R11 K15
- 0x5830000A, // 001F LDCONST R12 K10
- 0x7C240600, // 0020 CALL R9 3
- 0x8C280907, // 0021 GETMET R10 R4 K7
- 0x58300010, // 0022 LDCONST R12 K16
- 0x5834000A, // 0023 LDCONST R13 K10
- 0x7C280600, // 0024 CALL R10 3
- 0x7C140A00, // 0025 CALL R5 5
- 0x70020011, // 0026 JMP #0039
- 0xB8162200, // 0027 GETNGBL R5 K17
- 0x60180018, // 0028 GETGBL R6 G24
- 0x581C0012, // 0029 LDCONST R7 K18
- 0x88200105, // 002A GETMBR R8 R0 K5
- 0x8C240907, // 002B GETMET R9 R4 K7
- 0x582C000F, // 002C LDCONST R11 K15
- 0x5830000A, // 002D LDCONST R12 K10
- 0x7C240600, // 002E CALL R9 3
- 0x7C180600, // 002F CALL R6 3
- 0x581C0013, // 0030 LDCONST R7 K19
- 0x7C140400, // 0031 CALL R5 2
- 0x8C14050E, // 0032 GETMET R5 R2 K14
- 0x881C0105, // 0033 GETMBR R7 R0 K5
- 0x8C200907, // 0034 GETMET R8 R4 K7
- 0x5828000F, // 0035 LDCONST R10 K15
- 0x582C000A, // 0036 LDCONST R11 K10
- 0x7C200600, // 0037 CALL R8 3
- 0x7C140600, // 0038 CALL R5 3
- 0x70020032, // 0039 JMP #006D
- 0xB8120600, // 003A GETNGBL R4 K3
- 0x8C100914, // 003B GETMET R4 R4 K20
- 0x7C100200, // 003C CALL R4 1
- 0x8C140706, // 003D GETMET R5 R3 K6
- 0x8C1C0907, // 003E GETMET R7 R4 K7
- 0x58240008, // 003F LDCONST R9 K8
- 0x7C1C0400, // 0040 CALL R7 2
- 0x58200009, // 0041 LDCONST R8 K9
- 0x5824000A, // 0042 LDCONST R9 K10
- 0x7C140800, // 0043 CALL R5 4
- 0x90022A05, // 0044 SETMBR R0 K21 R5
- 0x8814010B, // 0045 GETMBR R5 R0 K11
- 0x78160003, // 0046 JMPF R5 #004B
- 0x8C14090C, // 0047 GETMET R5 R4 K12
- 0x581C000D, // 0048 LDCONST R7 K13
- 0x7C140400, // 0049 CALL R5 2
- 0x7416000F, // 004A JMPT R5 #005B
- 0x8C14050E, // 004B GETMET R5 R2 K14
- 0x881C0115, // 004C GETMBR R7 R0 K21
- 0x8C200907, // 004D GETMET R8 R4 K7
- 0x5828000D, // 004E LDCONST R10 K13
- 0x582C000A, // 004F LDCONST R11 K10
- 0x7C200600, // 0050 CALL R8 3
- 0x8C240907, // 0051 GETMET R9 R4 K7
- 0x582C000F, // 0052 LDCONST R11 K15
- 0x5830000A, // 0053 LDCONST R12 K10
- 0x7C240600, // 0054 CALL R9 3
- 0x8C280907, // 0055 GETMET R10 R4 K7
- 0x58300010, // 0056 LDCONST R12 K16
- 0x5834000A, // 0057 LDCONST R13 K10
- 0x7C280600, // 0058 CALL R10 3
- 0x7C140A00, // 0059 CALL R5 5
- 0x70020011, // 005A JMP #006D
- 0xB8162200, // 005B GETNGBL R5 K17
- 0x60180018, // 005C GETGBL R6 G24
- 0x581C0012, // 005D LDCONST R7 K18
- 0x88200115, // 005E GETMBR R8 R0 K21
- 0x8C240907, // 005F GETMET R9 R4 K7
- 0x582C000F, // 0060 LDCONST R11 K15
- 0x5830000A, // 0061 LDCONST R12 K10
- 0x7C240600, // 0062 CALL R9 3
- 0x7C180600, // 0063 CALL R6 3
- 0x581C0013, // 0064 LDCONST R7 K19
- 0x7C140400, // 0065 CALL R5 2
- 0x8C14050E, // 0066 GETMET R5 R2 K14
- 0x881C0115, // 0067 GETMBR R7 R0 K21
- 0x8C200907, // 0068 GETMET R8 R4 K7
- 0x5828000F, // 0069 LDCONST R10 K15
- 0x582C000A, // 006A LDCONST R11 K10
- 0x7C200600, // 006B CALL R8 3
- 0x7C140600, // 006C CALL R5 3
- 0xB8122200, // 006D GETNGBL R4 K17
- 0x60140018, // 006E GETGBL R5 G24
- 0x58180016, // 006F LDCONST R6 K22
- 0x78060001, // 0070 JMPF R1 #0073
- 0x581C0004, // 0071 LDCONST R7 K4
- 0x70020000, // 0072 JMP #0074
- 0x581C0014, // 0073 LDCONST R7 K20
- 0x78060001, // 0074 JMPF R1 #0077
- 0x88200105, // 0075 GETMBR R8 R0 K5
- 0x70020000, // 0076 JMP #0078
- 0x88200115, // 0077 GETMBR R8 R0 K21
- 0x7C140600, // 0078 CALL R5 3
- 0x58180013, // 0079 LDCONST R6 K19
- 0x7C100400, // 007A CALL R4 2
- 0xA8040001, // 007B EXBLK 1 1
- 0x7002000F, // 007C JMP #008D
- 0xAC100002, // 007D CATCH R4 0 2
- 0x7002000C, // 007E JMP #008C
- 0xB81A2200, // 007F GETNGBL R6 K17
- 0x601C0008, // 0080 GETGBL R7 G8
- 0x5C200800, // 0081 MOVE R8 R4
- 0x7C1C0200, // 0082 CALL R7 1
- 0x001E2E07, // 0083 ADD R7 K23 R7
- 0x001C0F18, // 0084 ADD R7 R7 K24
- 0x60200008, // 0085 GETGBL R8 G8
- 0x5C240A00, // 0086 MOVE R9 R5
- 0x7C200200, // 0087 CALL R8 1
- 0x001C0E08, // 0088 ADD R7 R7 R8
- 0x58200019, // 0089 LDCONST R8 K25
- 0x7C180400, // 008A CALL R6 2
- 0x70020000, // 008B JMP #008D
- 0xB0080000, // 008C RAISE 2 R0 R0
- 0x8C10011A, // 008D GETMET R4 R0 K26
- 0x7C100200, // 008E CALL R4 1
- 0x80000000, // 008F RET 0
+ ( &(const binstruction[14]) { /* code */
+ 0x88040102, // 0000 GETMBR R1 R0 K2
+ 0x78060000, // 0001 JMPF R1 #0003
+ 0x80000200, // 0002 RET 0
+ 0x8C040103, // 0003 GETMET R1 R0 K3
+ 0x7C040200, // 0004 CALL R1 1
+ 0x8C040104, // 0005 GETMET R1 R0 K4
+ 0x880C0105, // 0006 GETMBR R3 R0 K5
+ 0x7C040400, // 0007 CALL R1 2
+ 0x88040106, // 0008 GETMBR R1 R0 K6
+ 0x8C040307, // 0009 GETMET R1 R1 K7
+ 0x7C040200, // 000A CALL R1 1
+ 0x50040200, // 000B LDBOOL R1 1 0
+ 0x90020401, // 000C SETMBR R0 K2 R1
+ 0x80000000, // 000D RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: event_fabrics_saved
+********************************************************************/
+be_local_closure(class_Matter_Device_event_fabrics_saved, /* name */
+ be_nested_proto(
+ 3, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(event_fabrics_saved),
+ &be_const_str_solidified,
+ ( &(const binstruction[12]) { /* code */
+ 0x88040108, // 0000 GETMBR R1 R0 K8
+ 0x8C040309, // 0001 GETMET R1 R1 K9
+ 0x7C040200, // 0002 CALL R1 1
+ 0x2404030A, // 0003 GT R1 R1 K10
+ 0x78060005, // 0004 JMPF R1 #000B
+ 0x8804010B, // 0005 GETMBR R1 R0 K11
+ 0x74060003, // 0006 JMPT R1 #000B
+ 0x50040200, // 0007 LDBOOL R1 1 0
+ 0x90021601, // 0008 SETMBR R0 K11 R1
+ 0x8C04010C, // 0009 GETMET R1 R0 K12
+ 0x7C040200, // 000A CALL R1 1
+ 0x80000000, // 000B RET 0
})
)
);
@@ -419,22 +373,19 @@ be_local_closure(class_Matter_Device_save_before_restart, /* name */
be_nested_proto(
3, /* nstack */
1, /* argc */
- 2, /* varg */
+ 10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[ 2]) { /* constants */
- /* K0 */ be_nested_str_weak(stop_basic_commissioning),
- /* K1 */ be_nested_str_weak(mdns_remove_op_discovery_all_fabrics),
- }),
+ &be_ktab_class_Matter_Device, /* shared constants */
be_str_weak(save_before_restart),
&be_const_str_solidified,
( &(const binstruction[ 5]) { /* code */
- 0x8C040100, // 0000 GETMET R1 R0 K0
+ 0x8C04010D, // 0000 GETMET R1 R0 K13
0x7C040200, // 0001 CALL R1 1
- 0x8C040101, // 0002 GETMET R1 R0 K1
+ 0x8C04010E, // 0002 GETMET R1 R0 K14
0x7C040200, // 0003 CALL R1 1
0x80000000, // 0004 RET 0
})
@@ -444,166 +395,46 @@ be_local_closure(class_Matter_Device_save_before_restart, /* name */
/********************************************************************
-** Solidified function: every_second
+** Solidified function: conf_to_log
********************************************************************/
-be_local_closure(class_Matter_Device_every_second, /* name */
- be_nested_proto(
- 4, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 7]) { /* constants */
- /* K0 */ be_nested_str_weak(sessions),
- /* K1 */ be_nested_str_weak(every_second),
- /* K2 */ be_nested_str_weak(message_handler),
- /* K3 */ be_nested_str_weak(events),
- /* K4 */ be_nested_str_weak(commissioning_open),
- /* K5 */ be_nested_str_weak(tasmota),
- /* K6 */ be_nested_str_weak(time_reached),
- }),
- be_str_weak(every_second),
- &be_const_str_solidified,
- ( &(const binstruction[21]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x8C040301, // 0001 GETMET R1 R1 K1
- 0x7C040200, // 0002 CALL R1 1
- 0x88040102, // 0003 GETMBR R1 R0 K2
- 0x8C040301, // 0004 GETMET R1 R1 K1
- 0x7C040200, // 0005 CALL R1 1
- 0x88040103, // 0006 GETMBR R1 R0 K3
- 0x8C040301, // 0007 GETMET R1 R1 K1
- 0x7C040200, // 0008 CALL R1 1
- 0x88040104, // 0009 GETMBR R1 R0 K4
- 0x4C080000, // 000A LDNIL R2
- 0x20040202, // 000B NE R1 R1 R2
- 0x78060006, // 000C JMPF R1 #0014
- 0xB8060A00, // 000D GETNGBL R1 K5
- 0x8C040306, // 000E GETMET R1 R1 K6
- 0x880C0104, // 000F GETMBR R3 R0 K4
- 0x7C040400, // 0010 CALL R1 2
- 0x78060001, // 0011 JMPF R1 #0014
- 0x4C040000, // 0012 LDNIL R1
- 0x90020801, // 0013 SETMBR R0 K4 R1
- 0x80000000, // 0014 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: stop
-********************************************************************/
-be_local_closure(class_Matter_Device_stop, /* name */
- be_nested_proto(
- 4, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 4]) { /* constants */
- /* K0 */ be_nested_str_weak(tasmota),
- /* K1 */ be_nested_str_weak(remove_driver),
- /* K2 */ be_nested_str_weak(udp_server),
- /* K3 */ be_nested_str_weak(stop),
- }),
- be_str_weak(stop),
- &be_const_str_solidified,
- ( &(const binstruction[10]) { /* code */
- 0xB8060000, // 0000 GETNGBL R1 K0
- 0x8C040301, // 0001 GETMET R1 R1 K1
- 0x5C0C0000, // 0002 MOVE R3 R0
- 0x7C040400, // 0003 CALL R1 2
- 0x88040102, // 0004 GETMBR R1 R0 K2
- 0x78060002, // 0005 JMPF R1 #0009
- 0x88040102, // 0006 GETMBR R1 R0 K2
- 0x8C040303, // 0007 GETMET R1 R1 K3
- 0x7C040200, // 0008 CALL R1 1
- 0x80000000, // 0009 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: every_250ms
-********************************************************************/
-be_local_closure(class_Matter_Device_every_250ms, /* name */
- be_nested_proto(
- 4, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 5]) { /* constants */
- /* K0 */ be_nested_str_weak(read_sensors_scheduler),
- /* K1 */ be_const_int(0),
- /* K2 */ be_nested_str_weak(plugins),
- /* K3 */ be_nested_str_weak(every_250ms),
- /* K4 */ be_const_int(1),
- }),
- be_str_weak(every_250ms),
- &be_const_str_solidified,
- ( &(const binstruction[15]) { /* code */
- 0x8C040100, // 0000 GETMET R1 R0 K0
- 0x7C040200, // 0001 CALL R1 1
- 0x58040001, // 0002 LDCONST R1 K1
- 0x6008000C, // 0003 GETGBL R2 G12
- 0x880C0102, // 0004 GETMBR R3 R0 K2
- 0x7C080200, // 0005 CALL R2 1
- 0x14080202, // 0006 LT R2 R1 R2
- 0x780A0005, // 0007 JMPF R2 #000E
- 0x88080102, // 0008 GETMBR R2 R0 K2
- 0x94080401, // 0009 GETIDX R2 R2 R1
- 0x8C080503, // 000A GETMET R2 R2 K3
- 0x7C080200, // 000B CALL R2 1
- 0x00040304, // 000C ADD R1 R1 K4
- 0x7001FFF4, // 000D JMP #0003
- 0x80000000, // 000E RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: msg_received
-********************************************************************/
-be_local_closure(class_Matter_Device_msg_received, /* name */
+be_local_closure(class_Matter_Device_conf_to_log, /* name */
be_nested_proto(
9, /* nstack */
- 4, /* argc */
- 2, /* varg */
+ 1, /* argc */
+ 12, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[ 2]) { /* constants */
- /* K0 */ be_nested_str_weak(message_handler),
- /* K1 */ be_nested_str_weak(msg_received),
- }),
- be_str_weak(msg_received),
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(conf_to_log),
&be_const_str_solidified,
- ( &(const binstruction[ 7]) { /* code */
- 0x88100100, // 0000 GETMBR R4 R0 K0
- 0x8C100901, // 0001 GETMET R4 R4 K1
- 0x5C180200, // 0002 MOVE R6 R1
- 0x5C1C0400, // 0003 MOVE R7 R2
- 0x5C200600, // 0004 MOVE R8 R3
- 0x7C100800, // 0005 CALL R4 4
- 0x80040800, // 0006 RET 1 R4
+ ( &(const binstruction[24]) { /* code */
+ 0x5804000F, // 0000 LDCONST R1 K15
+ 0x58080010, // 0001 LDCONST R2 K16
+ 0x600C0010, // 0002 GETGBL R3 G16
+ 0x8C100311, // 0003 GETMET R4 R1 K17
+ 0x5C180000, // 0004 MOVE R6 R0
+ 0x7C100400, // 0005 CALL R4 2
+ 0x7C0C0200, // 0006 CALL R3 1
+ 0xA802000B, // 0007 EXBLK 0 #0014
+ 0x5C100600, // 0008 MOVE R4 R3
+ 0x7C100000, // 0009 CALL R4 0
+ 0x1C140912, // 000A EQ R5 R4 K18
+ 0x78160000, // 000B JMPF R5 #000D
+ 0x7001FFFA, // 000C JMP #0008
+ 0x60140018, // 000D GETGBL R5 G24
+ 0x58180013, // 000E LDCONST R6 K19
+ 0x5C1C0800, // 000F MOVE R7 R4
+ 0x94200004, // 0010 GETIDX R8 R0 R4
+ 0x7C140600, // 0011 CALL R5 3
+ 0x00080405, // 0012 ADD R2 R2 R5
+ 0x7001FFF3, // 0013 JMP #0008
+ 0x580C0014, // 0014 LDCONST R3 K20
+ 0xAC0C0200, // 0015 CATCH R3 1 0
+ 0xB0080000, // 0016 RAISE 2 R0 R0
+ 0x80040400, // 0017 RET 1 R2
})
)
);
@@ -611,41 +442,413 @@ be_local_closure(class_Matter_Device_msg_received, /* name */
/********************************************************************
-** Solidified function: add_read_sensors_schedule
+** Solidified function: init
********************************************************************/
-be_local_closure(class_Matter_Device_add_read_sensors_schedule, /* name */
+be_local_closure(class_Matter_Device_init, /* name */
+ be_nested_proto(
+ 7, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 1, /* has sup protos */
+ ( &(const struct bproto*[ 2]) {
+ be_nested_proto(
+ 4, /* nstack */
+ 0, /* argc */
+ 0, /* varg */
+ 1, /* has upvals */
+ ( &(const bupvaldesc[ 1]) { /* upvals */
+ be_local_const_upval(1, 0),
+ }),
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ ( &(const bvalue[ 5]) { /* constants */
+ /* K0 */ be_nested_str_weak(start),
+ /* K1 */ be_nested_str_weak(tasmota),
+ /* K2 */ be_nested_str_weak(remove_rule),
+ /* K3 */ be_nested_str_weak(Wifi_X23Connected),
+ /* K4 */ be_nested_str_weak(matter_start),
+ }),
+ be_str_weak(_anonymous_),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 9]) { /* code */
+ 0x68000000, // 0000 GETUPV R0 U0
+ 0x8C000100, // 0001 GETMET R0 R0 K0
+ 0x7C000200, // 0002 CALL R0 1
+ 0xB8020200, // 0003 GETNGBL R0 K1
+ 0x8C000102, // 0004 GETMET R0 R0 K2
+ 0x58080003, // 0005 LDCONST R2 K3
+ 0x580C0004, // 0006 LDCONST R3 K4
+ 0x7C000600, // 0007 CALL R0 3
+ 0x80000000, // 0008 RET 0
+ })
+ ),
+ be_nested_proto(
+ 4, /* nstack */
+ 0, /* argc */
+ 0, /* varg */
+ 1, /* has upvals */
+ ( &(const bupvaldesc[ 1]) { /* upvals */
+ be_local_const_upval(1, 0),
+ }),
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ ( &(const bvalue[ 5]) { /* constants */
+ /* K0 */ be_nested_str_weak(start),
+ /* K1 */ be_nested_str_weak(tasmota),
+ /* K2 */ be_nested_str_weak(remove_rule),
+ /* K3 */ be_nested_str_weak(Eth_X23Connected),
+ /* K4 */ be_nested_str_weak(matter_start),
+ }),
+ be_str_weak(_anonymous_),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 9]) { /* code */
+ 0x68000000, // 0000 GETUPV R0 U0
+ 0x8C000100, // 0001 GETMET R0 R0 K0
+ 0x7C000200, // 0002 CALL R0 1
+ 0xB8020200, // 0003 GETNGBL R0 K1
+ 0x8C000102, // 0004 GETMET R0 R0 K2
+ 0x58080003, // 0005 LDCONST R2 K3
+ 0x580C0004, // 0006 LDCONST R3 K4
+ 0x7C000600, // 0007 CALL R0 3
+ 0x80000000, // 0008 RET 0
+ })
+ ),
+ }),
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(init),
+ &be_const_str_solidified,
+ ( &(const binstruction[105]) { /* code */
+ 0xA4062A00, // 0000 IMPORT R1 K21
+ 0xB80A2C00, // 0001 GETNGBL R2 K22
+ 0x8C080517, // 0002 GETMET R2 R2 K23
+ 0xB8123000, // 0003 GETNGBL R4 K24
+ 0x88100919, // 0004 GETMBR R4 R4 K25
+ 0x7C080400, // 0005 CALL R2 2
+ 0x740A0004, // 0006 JMPT R2 #000C
+ 0xB80A3000, // 0007 GETNGBL R2 K24
+ 0x8C08051A, // 0008 GETMET R2 R2 K26
+ 0x5C100000, // 0009 MOVE R4 R0
+ 0x7C080400, // 000A CALL R2 2
+ 0x80000400, // 000B RET 0
+ 0xB80A3000, // 000C GETNGBL R2 K24
+ 0xB80E3000, // 000D GETNGBL R3 K24
+ 0x8C0C071C, // 000E GETMET R3 R3 K28
+ 0x7C0C0200, // 000F CALL R3 1
+ 0x900A3603, // 0010 SETMBR R2 K27 R3
+ 0x50080000, // 0011 LDBOOL R2 0 0
+ 0x90020402, // 0012 SETMBR R0 K2 R2
+ 0x90023B0A, // 0013 SETMBR R0 K29 K10
+ 0x60080012, // 0014 GETGBL R2 G18
+ 0x7C080000, // 0015 CALL R2 0
+ 0x90023C02, // 0016 SETMBR R0 K30 R2
+ 0x50080000, // 0017 LDBOOL R2 0 0
+ 0x90021602, // 0018 SETMBR R0 K11 R2
+ 0x60080013, // 0019 GETGBL R2 G19
+ 0x7C080000, // 001A CALL R2 0
+ 0x90023E02, // 001B SETMBR R0 K31 R2
+ 0x90024121, // 001C SETMBR R0 K32 K33
+ 0x50080000, // 001D LDBOOL R2 0 0
+ 0x90024402, // 001E SETMBR R0 K34 R2
+ 0x50080000, // 001F LDBOOL R2 0 0
+ 0x90024602, // 0020 SETMBR R0 K35 R2
+ 0x8C080124, // 0021 GETMET R2 R0 K36
+ 0x7C080200, // 0022 CALL R2 1
+ 0xB80A3000, // 0023 GETNGBL R2 K24
+ 0x8C080525, // 0024 GETMET R2 R2 K37
+ 0x5C100000, // 0025 MOVE R4 R0
+ 0x7C080400, // 0026 CALL R2 2
+ 0x90021002, // 0027 SETMBR R0 K8 R2
+ 0x88080108, // 0028 GETMBR R2 R0 K8
+ 0x8C080526, // 0029 GETMET R2 R2 K38
+ 0x7C080200, // 002A CALL R2 1
+ 0xB80A3000, // 002B GETNGBL R2 K24
+ 0x8C080528, // 002C GETMET R2 R2 K40
+ 0x5C100000, // 002D MOVE R4 R0
+ 0x7C080400, // 002E CALL R2 2
+ 0x90024E02, // 002F SETMBR R0 K39 R2
+ 0xB80A3000, // 0030 GETNGBL R2 K24
+ 0x8C08052A, // 0031 GETMET R2 R2 K42
+ 0x5C100000, // 0032 MOVE R4 R0
+ 0x7C080400, // 0033 CALL R2 2
+ 0x90025202, // 0034 SETMBR R0 K41 R2
+ 0xB80A3000, // 0035 GETNGBL R2 K24
+ 0x8C08051A, // 0036 GETMET R2 R2 K26
+ 0x5C100000, // 0037 MOVE R4 R0
+ 0x7C080400, // 0038 CALL R2 2
+ 0x90025602, // 0039 SETMBR R0 K43 R2
+ 0xB80A2C00, // 003A GETNGBL R2 K22
+ 0x8C08052C, // 003B GETMET R2 R2 K44
+ 0x7C080200, // 003C CALL R2 1
+ 0x9408052D, // 003D GETIDX R2 R2 K45
+ 0x740A0004, // 003E JMPT R2 #0044
+ 0xB80A2C00, // 003F GETNGBL R2 K22
+ 0x8C08052E, // 0040 GETMET R2 R2 K46
+ 0x7C080200, // 0041 CALL R2 1
+ 0x9408052D, // 0042 GETIDX R2 R2 K45
+ 0x780A0001, // 0043 JMPF R2 #0046
+ 0x8C08012F, // 0044 GETMET R2 R0 K47
+ 0x7C080200, // 0045 CALL R2 1
+ 0xB80A2C00, // 0046 GETNGBL R2 K22
+ 0x8C08052C, // 0047 GETMET R2 R2 K44
+ 0x7C080200, // 0048 CALL R2 1
+ 0x9408052D, // 0049 GETIDX R2 R2 K45
+ 0x740A0005, // 004A JMPT R2 #0051
+ 0xB80A2C00, // 004B GETNGBL R2 K22
+ 0x8C080530, // 004C GETMET R2 R2 K48
+ 0x58100031, // 004D LDCONST R4 K49
+ 0x84140000, // 004E CLOSURE R5 P0
+ 0x58180032, // 004F LDCONST R6 K50
+ 0x7C080800, // 0050 CALL R2 4
+ 0xB80A2C00, // 0051 GETNGBL R2 K22
+ 0x8C08052E, // 0052 GETMET R2 R2 K46
+ 0x7C080200, // 0053 CALL R2 1
+ 0x9408052D, // 0054 GETIDX R2 R2 K45
+ 0x740A0005, // 0055 JMPT R2 #005C
+ 0xB80A2C00, // 0056 GETNGBL R2 K22
+ 0x8C080530, // 0057 GETMET R2 R2 K48
+ 0x58100033, // 0058 LDCONST R4 K51
+ 0x84140001, // 0059 CLOSURE R5 P1
+ 0x58180032, // 005A LDCONST R6 K50
+ 0x7C080800, // 005B CALL R2 4
+ 0xB80A3000, // 005C GETNGBL R2 K24
+ 0x8C080534, // 005D GETMET R2 R2 K52
+ 0x5C100000, // 005E MOVE R4 R0
+ 0x7C080400, // 005F CALL R2 2
+ 0x90020C02, // 0060 SETMBR R0 K6 R2
+ 0xB80A2C00, // 0061 GETNGBL R2 K22
+ 0x8C080535, // 0062 GETMET R2 R2 K53
+ 0x5C100000, // 0063 MOVE R4 R0
+ 0x7C080400, // 0064 CALL R2 2
+ 0x8C080136, // 0065 GETMET R2 R0 K54
+ 0x7C080200, // 0066 CALL R2 1
+ 0xA0000000, // 0067 CLOSE R0
+ 0x80000000, // 0068 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: find_plugin_by_friendly_name
+********************************************************************/
+be_local_closure(class_Matter_Device_find_plugin_by_friendly_name, /* name */
+ be_nested_proto(
+ 7, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(find_plugin_by_friendly_name),
+ &be_const_str_solidified,
+ ( &(const binstruction[35]) { /* code */
+ 0x4C080000, // 0000 LDNIL R2
+ 0x1C080202, // 0001 EQ R2 R1 R2
+ 0x740A0004, // 0002 JMPT R2 #0008
+ 0x6008000C, // 0003 GETGBL R2 G12
+ 0x5C0C0200, // 0004 MOVE R3 R1
+ 0x7C080200, // 0005 CALL R2 1
+ 0x1C08050A, // 0006 EQ R2 R2 K10
+ 0x780A0001, // 0007 JMPF R2 #000A
+ 0x4C080000, // 0008 LDNIL R2
+ 0x80040400, // 0009 RET 1 R2
+ 0x5808000A, // 000A LDCONST R2 K10
+ 0x600C000C, // 000B GETGBL R3 G12
+ 0x8810011E, // 000C GETMBR R4 R0 K30
+ 0x7C0C0200, // 000D CALL R3 1
+ 0x140C0403, // 000E LT R3 R2 R3
+ 0x780E0010, // 000F JMPF R3 #0021
+ 0x880C011E, // 0010 GETMBR R3 R0 K30
+ 0x940C0602, // 0011 GETIDX R3 R3 R2
+ 0x8C100737, // 0012 GETMET R4 R3 K55
+ 0x7C100200, // 0013 CALL R4 1
+ 0x4C140000, // 0014 LDNIL R5
+ 0x20140805, // 0015 NE R5 R4 R5
+ 0x78160007, // 0016 JMPF R5 #001F
+ 0x6014000C, // 0017 GETGBL R5 G12
+ 0x5C180800, // 0018 MOVE R6 R4
+ 0x7C140200, // 0019 CALL R5 1
+ 0x24140B0A, // 001A GT R5 R5 K10
+ 0x78160002, // 001B JMPF R5 #001F
+ 0x1C140801, // 001C EQ R5 R4 R1
+ 0x78160000, // 001D JMPF R5 #001F
+ 0x80040600, // 001E RET 1 R3
+ 0x00080538, // 001F ADD R2 R2 K56
+ 0x7001FFE9, // 0020 JMP #000B
+ 0x4C0C0000, // 0021 LDNIL R3
+ 0x80040600, // 0022 RET 1 R3
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_plugin_remote_info
+********************************************************************/
+be_local_closure(class_Matter_Device_get_plugin_remote_info, /* name */
+ be_nested_proto(
+ 6, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(get_plugin_remote_info),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 7]) { /* code */
+ 0x8808011F, // 0000 GETMBR R2 R0 K31
+ 0x8C080539, // 0001 GETMET R2 R2 K57
+ 0x5C100200, // 0002 MOVE R4 R1
+ 0x60140013, // 0003 GETGBL R5 G19
+ 0x7C140000, // 0004 CALL R5 0
+ 0x7C080600, // 0005 CALL R2 3
+ 0x80040400, // 0006 RET 1 R2
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: _start_udp
+********************************************************************/
+be_local_closure(class_Matter_Device__start_udp, /* name */
+ be_nested_proto(
+ 7, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 1, /* has sup protos */
+ ( &(const struct bproto*[ 1]) {
+ be_nested_proto(
+ 8, /* nstack */
+ 3, /* argc */
+ 0, /* varg */
+ 1, /* has upvals */
+ ( &(const bupvaldesc[ 1]) { /* upvals */
+ be_local_const_upval(1, 0),
+ }),
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ ( &(const bvalue[ 1]) { /* constants */
+ /* K0 */ be_nested_str_weak(msg_received),
+ }),
+ be_str_weak(_X3Clambda_X3E),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 7]) { /* code */
+ 0x680C0000, // 0000 GETUPV R3 U0
+ 0x8C0C0700, // 0001 GETMET R3 R3 K0
+ 0x5C140000, // 0002 MOVE R5 R0
+ 0x5C180200, // 0003 MOVE R6 R1
+ 0x5C1C0400, // 0004 MOVE R7 R2
+ 0x7C0C0800, // 0005 CALL R3 4
+ 0x80040600, // 0006 RET 1 R3
+ })
+ ),
+ }),
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(_start_udp),
+ &be_const_str_solidified,
+ ( &(const binstruction[27]) { /* code */
+ 0x88080100, // 0000 GETMBR R2 R0 K0
+ 0x780A0000, // 0001 JMPF R2 #0003
+ 0x80000400, // 0002 RET 0
+ 0x4C080000, // 0003 LDNIL R2
+ 0x1C080202, // 0004 EQ R2 R1 R2
+ 0x780A0000, // 0005 JMPF R2 #0007
+ 0x540615A3, // 0006 LDINT R1 5540
+ 0xB80A7400, // 0007 GETNGBL R2 K58
+ 0x600C0008, // 0008 GETGBL R3 G8
+ 0x5C100200, // 0009 MOVE R4 R1
+ 0x7C0C0200, // 000A CALL R3 1
+ 0x000E7603, // 000B ADD R3 K59 R3
+ 0x58100021, // 000C LDCONST R4 K33
+ 0x7C080400, // 000D CALL R2 2
+ 0xB80A3000, // 000E GETNGBL R2 K24
+ 0x8C08053C, // 000F GETMET R2 R2 K60
+ 0x5C100000, // 0010 MOVE R4 R0
+ 0x58140010, // 0011 LDCONST R5 K16
+ 0x5C180200, // 0012 MOVE R6 R1
+ 0x7C080800, // 0013 CALL R2 4
+ 0x90020002, // 0014 SETMBR R0 K0 R2
+ 0x88080100, // 0015 GETMBR R2 R0 K0
+ 0x8C08052F, // 0016 GETMET R2 R2 K47
+ 0x84100000, // 0017 CLOSURE R4 P0
+ 0x7C080400, // 0018 CALL R2 2
+ 0xA0000000, // 0019 CLOSE R0
+ 0x80000000, // 001A RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: remove_fabric
+********************************************************************/
+be_local_closure(class_Matter_Device_remove_fabric, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
- 2, /* varg */
+ 10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[ 4]) { /* constants */
- /* K0 */ be_nested_str_weak(probe_sensor_time),
- /* K1 */ be_nested_str_weak(probe_sensor_timestamp),
- /* K2 */ be_nested_str_weak(matter),
- /* K3 */ be_nested_str_weak(jitter),
- }),
- be_str_weak(add_read_sensors_schedule),
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(remove_fabric),
&be_const_str_solidified,
- ( &(const binstruction[14]) { /* code */
- 0x88080100, // 0000 GETMBR R2 R0 K0
- 0x4C0C0000, // 0001 LDNIL R3
- 0x1C080403, // 0002 EQ R2 R2 R3
- 0x740A0002, // 0003 JMPT R2 #0007
- 0x88080100, // 0004 GETMBR R2 R0 K0
- 0x24080401, // 0005 GT R2 R2 R1
- 0x780A0005, // 0006 JMPF R2 #000D
- 0x90020001, // 0007 SETMBR R0 K0 R1
- 0xB80A0400, // 0008 GETNGBL R2 K2
- 0x8C080503, // 0009 GETMET R2 R2 K3
- 0x5C100200, // 000A MOVE R4 R1
- 0x7C080400, // 000B CALL R2 2
- 0x90020202, // 000C SETMBR R0 K1 R2
- 0x80000000, // 000D RET 0
+ ( &(const binstruction[33]) { /* code */
+ 0x4C080000, // 0000 LDNIL R2
+ 0x20080202, // 0001 NE R2 R1 R2
+ 0x780A0019, // 0002 JMPF R2 #001D
+ 0xB80A7400, // 0003 GETNGBL R2 K58
+ 0x8C0C033E, // 0004 GETMET R3 R1 K62
+ 0x7C0C0200, // 0005 CALL R3 1
+ 0x8C0C073F, // 0006 GETMET R3 R3 K63
+ 0x7C0C0200, // 0007 CALL R3 1
+ 0x8C0C0740, // 0008 GETMET R3 R3 K64
+ 0x7C0C0200, // 0009 CALL R3 1
+ 0x8C0C0741, // 000A GETMET R3 R3 K65
+ 0x7C0C0200, // 000B CALL R3 1
+ 0x000E7A03, // 000C ADD R3 K61 R3
+ 0x58100021, // 000D LDCONST R4 K33
+ 0x7C080400, // 000E CALL R2 2
+ 0x88080127, // 000F GETMBR R2 R0 K39
+ 0x88080542, // 0010 GETMBR R2 R2 K66
+ 0x88080543, // 0011 GETMBR R2 R2 K67
+ 0x8C080544, // 0012 GETMET R2 R2 K68
+ 0x5C100200, // 0013 MOVE R4 R1
+ 0x7C080400, // 0014 CALL R2 2
+ 0x88080106, // 0015 GETMBR R2 R0 K6
+ 0x8C080545, // 0016 GETMET R2 R2 K69
+ 0x5C100200, // 0017 MOVE R4 R1
+ 0x7C080400, // 0018 CALL R2 2
+ 0x88080108, // 0019 GETMBR R2 R0 K8
+ 0x8C080546, // 001A GETMET R2 R2 K70
+ 0x5C100200, // 001B MOVE R4 R1
+ 0x7C080400, // 001C CALL R2 2
+ 0x88080108, // 001D GETMBR R2 R0 K8
+ 0x8C080547, // 001E GETMET R2 R2 K71
+ 0x7C080200, // 001F CALL R2 1
+ 0x80000000, // 0020 RET 0
})
)
);
@@ -653,50 +856,69 @@ be_local_closure(class_Matter_Device_add_read_sensors_schedule, /* name */
/********************************************************************
-** Solidified function: attribute_updated
+** Solidified function: resolve_attribute_read_solo
********************************************************************/
-be_local_closure(class_Matter_Device_attribute_updated, /* name */
+be_local_closure(class_Matter_Device_resolve_attribute_read_solo, /* name */
be_nested_proto(
10, /* nstack */
- 5, /* argc */
- 2, /* varg */
+ 2, /* argc */
+ 10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[ 9]) { /* constants */
- /* K0 */ be_nested_str_weak(matter),
- /* K1 */ be_nested_str_weak(Path),
- /* K2 */ be_nested_str_weak(endpoint),
- /* K3 */ be_nested_str_weak(cluster),
- /* K4 */ be_nested_str_weak(attribute),
- /* K5 */ be_nested_str_weak(message_handler),
- /* K6 */ be_nested_str_weak(im),
- /* K7 */ be_nested_str_weak(subs_shop),
- /* K8 */ be_nested_str_weak(attribute_updated_ctx),
- }),
- be_str_weak(attribute_updated),
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(resolve_attribute_read_solo),
&be_const_str_solidified,
- ( &(const binstruction[18]) { /* code */
- 0x4C140000, // 0000 LDNIL R5
- 0x1C140805, // 0001 EQ R5 R4 R5
- 0x78160000, // 0002 JMPF R5 #0004
- 0x50100000, // 0003 LDBOOL R4 0 0
- 0xB8160000, // 0004 GETNGBL R5 K0
- 0x8C140B01, // 0005 GETMET R5 R5 K1
- 0x7C140200, // 0006 CALL R5 1
- 0x90160401, // 0007 SETMBR R5 K2 R1
- 0x90160602, // 0008 SETMBR R5 K3 R2
- 0x90160803, // 0009 SETMBR R5 K4 R3
- 0x88180105, // 000A GETMBR R6 R0 K5
- 0x88180D06, // 000B GETMBR R6 R6 K6
- 0x88180D07, // 000C GETMBR R6 R6 K7
- 0x8C180D08, // 000D GETMET R6 R6 K8
- 0x5C200A00, // 000E MOVE R8 R5
- 0x5C240800, // 000F MOVE R9 R4
- 0x7C180600, // 0010 CALL R6 3
- 0x80000000, // 0011 RET 0
+ ( &(const binstruction[47]) { /* code */
+ 0x88080348, // 0000 GETMBR R2 R1 K72
+ 0x880C0349, // 0001 GETMBR R3 R1 K73
+ 0x8810034A, // 0002 GETMBR R4 R1 K74
+ 0x4C140000, // 0003 LDNIL R5
+ 0x1C140405, // 0004 EQ R5 R2 R5
+ 0x74160005, // 0005 JMPT R5 #000C
+ 0x4C140000, // 0006 LDNIL R5
+ 0x1C140605, // 0007 EQ R5 R3 R5
+ 0x74160002, // 0008 JMPT R5 #000C
+ 0x4C140000, // 0009 LDNIL R5
+ 0x1C140805, // 000A EQ R5 R4 R5
+ 0x78160001, // 000B JMPF R5 #000E
+ 0x4C140000, // 000C LDNIL R5
+ 0x80040A00, // 000D RET 1 R5
+ 0x8C14014B, // 000E GETMET R5 R0 K75
+ 0x5C1C0400, // 000F MOVE R7 R2
+ 0x7C140400, // 0010 CALL R5 2
+ 0x4C180000, // 0011 LDNIL R6
+ 0x1C180A06, // 0012 EQ R6 R5 R6
+ 0x781A0005, // 0013 JMPF R6 #001A
+ 0xB81A3000, // 0014 GETNGBL R6 K24
+ 0x88180D4D, // 0015 GETMBR R6 R6 K77
+ 0x90069806, // 0016 SETMBR R1 K76 R6
+ 0x4C180000, // 0017 LDNIL R6
+ 0x80040C00, // 0018 RET 1 R6
+ 0x70020013, // 0019 JMP #002E
+ 0x8C180B4E, // 001A GETMET R6 R5 K78
+ 0x5C200600, // 001B MOVE R8 R3
+ 0x7C180400, // 001C CALL R6 2
+ 0x741A0005, // 001D JMPT R6 #0024
+ 0xB81A3000, // 001E GETNGBL R6 K24
+ 0x88180D4F, // 001F GETMBR R6 R6 K79
+ 0x90069806, // 0020 SETMBR R1 K76 R6
+ 0x4C180000, // 0021 LDNIL R6
+ 0x80040C00, // 0022 RET 1 R6
+ 0x70020009, // 0023 JMP #002E
+ 0x8C180B50, // 0024 GETMET R6 R5 K80
+ 0x5C200600, // 0025 MOVE R8 R3
+ 0x5C240800, // 0026 MOVE R9 R4
+ 0x7C180600, // 0027 CALL R6 3
+ 0x741A0004, // 0028 JMPT R6 #002E
+ 0xB81A3000, // 0029 GETNGBL R6 K24
+ 0x88180D51, // 002A GETMBR R6 R6 K81
+ 0x90069806, // 002B SETMBR R1 K76 R6
+ 0x4C180000, // 002C LDNIL R6
+ 0x80040C00, // 002D RET 1 R6
+ 0x80040A00, // 002E RET 1 R5
})
)
);
@@ -704,55 +926,36 @@ be_local_closure(class_Matter_Device_attribute_updated, /* name */
/********************************************************************
-** Solidified function: invoke_request
+** Solidified function: signal_endpoints_changed
********************************************************************/
-be_local_closure(class_Matter_Device_invoke_request, /* name */
+be_local_closure(class_Matter_Device_signal_endpoints_changed, /* name */
be_nested_proto(
- 12, /* nstack */
- 4, /* argc */
- 2, /* varg */
+ 7, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[ 8]) { /* constants */
- /* K0 */ be_const_int(0),
- /* K1 */ be_nested_str_weak(endpoint),
- /* K2 */ be_nested_str_weak(plugins),
- /* K3 */ be_nested_str_weak(invoke_request),
- /* K4 */ be_const_int(1),
- /* K5 */ be_nested_str_weak(status),
- /* K6 */ be_nested_str_weak(matter),
- /* K7 */ be_nested_str_weak(UNSUPPORTED_ENDPOINT),
- }),
- be_str_weak(invoke_request),
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(signal_endpoints_changed),
&be_const_str_solidified,
- ( &(const binstruction[24]) { /* code */
- 0x58100000, // 0000 LDCONST R4 K0
- 0x88140701, // 0001 GETMBR R5 R3 K1
- 0x6018000C, // 0002 GETGBL R6 G12
- 0x881C0102, // 0003 GETMBR R7 R0 K2
- 0x7C180200, // 0004 CALL R6 1
- 0x14180806, // 0005 LT R6 R4 R6
- 0x781A000C, // 0006 JMPF R6 #0014
- 0x88180102, // 0007 GETMBR R6 R0 K2
- 0x94180C04, // 0008 GETIDX R6 R6 R4
- 0x881C0D01, // 0009 GETMBR R7 R6 K1
- 0x1C1C0E05, // 000A EQ R7 R7 R5
- 0x781E0005, // 000B JMPF R7 #0012
- 0x8C1C0D03, // 000C GETMET R7 R6 K3
- 0x5C240200, // 000D MOVE R9 R1
- 0x5C280400, // 000E MOVE R10 R2
- 0x5C2C0600, // 000F MOVE R11 R3
- 0x7C1C0800, // 0010 CALL R7 4
- 0x80040E00, // 0011 RET 1 R7
- 0x00100904, // 0012 ADD R4 R4 K4
- 0x7001FFED, // 0013 JMP #0002
- 0xB81A0C00, // 0014 GETNGBL R6 K6
- 0x88180D07, // 0015 GETMBR R6 R6 K7
- 0x900E0A06, // 0016 SETMBR R3 K5 R6
- 0x80000000, // 0017 RET 0
+ ( &(const binstruction[14]) { /* code */
+ 0x8C040152, // 0000 GETMET R1 R0 K82
+ 0x580C000A, // 0001 LDCONST R3 K10
+ 0x5412001C, // 0002 LDINT R4 29
+ 0x58140053, // 0003 LDCONST R5 K83
+ 0x50180000, // 0004 LDBOOL R6 0 0
+ 0x7C040A00, // 0005 CALL R1 5
+ 0x8C040152, // 0006 GETMET R1 R0 K82
+ 0xB80E3000, // 0007 GETNGBL R3 K24
+ 0x880C0754, // 0008 GETMBR R3 R3 K84
+ 0x5412001C, // 0009 LDINT R4 29
+ 0x58140053, // 000A LDCONST R5 K83
+ 0x50180000, // 000B LDBOOL R6 0 0
+ 0x7C040A00, // 000C CALL R1 5
+ 0x80000000, // 000D RET 0
})
)
);
@@ -766,69 +969,53 @@ be_local_closure(class_Matter_Device_autoconf_device, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
- 2, /* varg */
+ 10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[15]) { /* constants */
- /* K0 */ be_nested_str_weak(json),
- /* K1 */ be_nested_str_weak(plugins),
- /* K2 */ be_const_int(0),
- /* K3 */ be_nested_str_weak(plugins_persist),
- /* K4 */ be_nested_str_weak(plugins_config),
- /* K5 */ be_nested_str_weak(autoconf_device_map),
- /* K6 */ be_nested_str_weak(plugins_config_remotes),
- /* K7 */ be_nested_str_weak(adjust_next_ep),
- /* K8 */ be_nested_str_weak(log),
- /* K9 */ be_nested_str_weak(MTR_X3A_X20autoconfig_X20_X3D_X20),
- /* K10 */ be_const_int(3),
- /* K11 */ be_nested_str_weak(_instantiate_plugins_from_config),
- /* K12 */ be_nested_str_weak(sessions),
- /* K13 */ be_nested_str_weak(count_active_fabrics),
- /* K14 */ be_nested_str_weak(save_param),
- }),
+ &be_ktab_class_Matter_Device, /* shared constants */
be_str_weak(autoconf_device),
&be_const_str_solidified,
( &(const binstruction[39]) { /* code */
- 0xA4060000, // 0000 IMPORT R1 K0
+ 0xA406AA00, // 0000 IMPORT R1 K85
0x6008000C, // 0001 GETGBL R2 G12
- 0x880C0101, // 0002 GETMBR R3 R0 K1
+ 0x880C011E, // 0002 GETMBR R3 R0 K30
0x7C080200, // 0003 CALL R2 1
- 0x24080502, // 0004 GT R2 R2 K2
+ 0x2408050A, // 0004 GT R2 R2 K10
0x780A0000, // 0005 JMPF R2 #0007
0x80000400, // 0006 RET 0
- 0x88080103, // 0007 GETMBR R2 R0 K3
+ 0x8808010B, // 0007 GETMBR R2 R0 K11
0x740A000E, // 0008 JMPT R2 #0018
- 0x8C080105, // 0009 GETMET R2 R0 K5
+ 0x8C080157, // 0009 GETMET R2 R0 K87
0x7C080200, // 000A CALL R2 1
- 0x90020802, // 000B SETMBR R0 K4 R2
+ 0x9002AC02, // 000B SETMBR R0 K86 R2
0x60080013, // 000C GETGBL R2 G19
0x7C080000, // 000D CALL R2 0
- 0x90020C02, // 000E SETMBR R0 K6 R2
- 0x8C080107, // 000F GETMET R2 R0 K7
+ 0x90023E02, // 000E SETMBR R0 K31 R2
+ 0x8C080158, // 000F GETMET R2 R0 K88
0x7C080200, // 0010 CALL R2 1
- 0xB80A1000, // 0011 GETNGBL R2 K8
+ 0xB80A7400, // 0011 GETNGBL R2 K58
0x600C0008, // 0012 GETGBL R3 G8
- 0x88100104, // 0013 GETMBR R4 R0 K4
+ 0x88100156, // 0013 GETMBR R4 R0 K86
0x7C0C0200, // 0014 CALL R3 1
- 0x000E1203, // 0015 ADD R3 K9 R3
- 0x5810000A, // 0016 LDCONST R4 K10
+ 0x000EB203, // 0015 ADD R3 K89 R3
+ 0x58100053, // 0016 LDCONST R4 K83
0x7C080400, // 0017 CALL R2 2
- 0x8C08010B, // 0018 GETMET R2 R0 K11
- 0x88100104, // 0019 GETMBR R4 R0 K4
+ 0x8C08015A, // 0018 GETMET R2 R0 K90
+ 0x88100156, // 0019 GETMBR R4 R0 K86
0x7C080400, // 001A CALL R2 2
- 0x88080103, // 001B GETMBR R2 R0 K3
+ 0x8808010B, // 001B GETMBR R2 R0 K11
0x740A0008, // 001C JMPT R2 #0026
- 0x8808010C, // 001D GETMBR R2 R0 K12
- 0x8C08050D, // 001E GETMET R2 R2 K13
+ 0x88080108, // 001D GETMBR R2 R0 K8
+ 0x8C080509, // 001E GETMET R2 R2 K9
0x7C080200, // 001F CALL R2 1
- 0x24080502, // 0020 GT R2 R2 K2
+ 0x2408050A, // 0020 GT R2 R2 K10
0x780A0003, // 0021 JMPF R2 #0026
0x50080200, // 0022 LDBOOL R2 1 0
- 0x90020602, // 0023 SETMBR R0 K3 R2
- 0x8C08010E, // 0024 GETMET R2 R0 K14
+ 0x90021602, // 0023 SETMBR R0 K11 R2
+ 0x8C08010C, // 0024 GETMET R2 R0 K12
0x7C080200, // 0025 CALL R2 1
0x80000000, // 0026 RET 0
})
@@ -837,6 +1024,631 @@ be_local_closure(class_Matter_Device_autoconf_device, /* name */
/*******************************************************************/
+/********************************************************************
+** Solidified function: _trigger_read_sensors
+********************************************************************/
+be_local_closure(class_Matter_Device__trigger_read_sensors, /* name */
+ be_nested_proto(
+ 8, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(_trigger_read_sensors),
+ &be_const_str_solidified,
+ ( &(const binstruction[48]) { /* code */
+ 0xA406AA00, // 0000 IMPORT R1 K85
+ 0xB80A2C00, // 0001 GETNGBL R2 K22
+ 0x8C08055B, // 0002 GETMET R2 R2 K91
+ 0x7C080200, // 0003 CALL R2 1
+ 0xB80E2C00, // 0004 GETNGBL R3 K22
+ 0x8C0C075C, // 0005 GETMET R3 R3 K92
+ 0x58140053, // 0006 LDCONST R5 K83
+ 0x7C0C0400, // 0007 CALL R3 2
+ 0x780E0006, // 0008 JMPF R3 #0010
+ 0xB80E7400, // 0009 GETNGBL R3 K58
+ 0x60100008, // 000A GETGBL R4 G8
+ 0x5C140400, // 000B MOVE R5 R2
+ 0x7C100200, // 000C CALL R4 1
+ 0x0012BA04, // 000D ADD R4 K93 R4
+ 0x58140053, // 000E LDCONST R5 K83
+ 0x7C0C0400, // 000F CALL R3 2
+ 0x4C0C0000, // 0010 LDNIL R3
+ 0x1C0C0403, // 0011 EQ R3 R2 R3
+ 0x780E0000, // 0012 JMPF R3 #0014
+ 0x80000600, // 0013 RET 0
+ 0x8C0C035E, // 0014 GETMET R3 R1 K94
+ 0x5C140400, // 0015 MOVE R5 R2
+ 0x7C0C0400, // 0016 CALL R3 2
+ 0x4C100000, // 0017 LDNIL R4
+ 0x20100604, // 0018 NE R4 R3 R4
+ 0x7812000D, // 0019 JMPF R4 #0028
+ 0x5810000A, // 001A LDCONST R4 K10
+ 0x6014000C, // 001B GETGBL R5 G12
+ 0x8818011E, // 001C GETMBR R6 R0 K30
+ 0x7C140200, // 001D CALL R5 1
+ 0x14140805, // 001E LT R5 R4 R5
+ 0x78160006, // 001F JMPF R5 #0027
+ 0x8814011E, // 0020 GETMBR R5 R0 K30
+ 0x94140A04, // 0021 GETIDX R5 R5 R4
+ 0x8C140B5F, // 0022 GETMET R5 R5 K95
+ 0x5C1C0600, // 0023 MOVE R7 R3
+ 0x7C140400, // 0024 CALL R5 2
+ 0x00100938, // 0025 ADD R4 R4 K56
+ 0x7001FFF3, // 0026 JMP #001B
+ 0x70020006, // 0027 JMP #002F
+ 0xB8127400, // 0028 GETNGBL R4 K58
+ 0x60140008, // 0029 GETGBL R5 G8
+ 0x5C180400, // 002A MOVE R6 R2
+ 0x7C140200, // 002B CALL R5 1
+ 0x0016C005, // 002C ADD R5 K96 R5
+ 0x58180053, // 002D LDCONST R6 K83
+ 0x7C100400, // 002E CALL R4 2
+ 0x80000000, // 002F RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_active_endpoints
+********************************************************************/
+be_local_closure(class_Matter_Device_get_active_endpoints, /* name */
+ be_nested_proto(
+ 9, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(get_active_endpoints),
+ &be_const_str_solidified,
+ ( &(const binstruction[28]) { /* code */
+ 0x60080012, // 0000 GETGBL R2 G18
+ 0x7C080000, // 0001 CALL R2 0
+ 0x600C0010, // 0002 GETGBL R3 G16
+ 0x8810011E, // 0003 GETMBR R4 R0 K30
+ 0x7C0C0200, // 0004 CALL R3 1
+ 0xA8020011, // 0005 EXBLK 0 #0018
+ 0x5C100600, // 0006 MOVE R4 R3
+ 0x7C100000, // 0007 CALL R4 0
+ 0x8C140961, // 0008 GETMET R5 R4 K97
+ 0x7C140200, // 0009 CALL R5 1
+ 0x78060002, // 000A JMPF R1 #000E
+ 0x1C180B0A, // 000B EQ R6 R5 K10
+ 0x781A0000, // 000C JMPF R6 #000E
+ 0x7001FFF7, // 000D JMP #0006
+ 0x8C180539, // 000E GETMET R6 R2 K57
+ 0x5C200A00, // 000F MOVE R8 R5
+ 0x7C180400, // 0010 CALL R6 2
+ 0x4C1C0000, // 0011 LDNIL R7
+ 0x1C180C07, // 0012 EQ R6 R6 R7
+ 0x781A0002, // 0013 JMPF R6 #0017
+ 0x8C180562, // 0014 GETMET R6 R2 K98
+ 0x5C200A00, // 0015 MOVE R8 R5
+ 0x7C180400, // 0016 CALL R6 2
+ 0x7001FFED, // 0017 JMP #0006
+ 0x580C0014, // 0018 LDCONST R3 K20
+ 0xAC0C0200, // 0019 CATCH R3 1 0
+ 0xB0080000, // 001A RAISE 2 R0 R0
+ 0x80040400, // 001B RET 1 R2
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: msg_send
+********************************************************************/
+be_local_closure(class_Matter_Device_msg_send, /* name */
+ be_nested_proto(
+ 5, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(msg_send),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 5]) { /* code */
+ 0x88080100, // 0000 GETMBR R2 R0 K0
+ 0x8C080563, // 0001 GETMET R2 R2 K99
+ 0x5C100200, // 0002 MOVE R4 R1
+ 0x7C080400, // 0003 CALL R2 2
+ 0x80040400, // 0004 RET 1 R2
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: stop
+********************************************************************/
+be_local_closure(class_Matter_Device_stop, /* name */
+ be_nested_proto(
+ 4, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(stop),
+ &be_const_str_solidified,
+ ( &(const binstruction[10]) { /* code */
+ 0xB8062C00, // 0000 GETNGBL R1 K22
+ 0x8C040364, // 0001 GETMET R1 R1 K100
+ 0x5C0C0000, // 0002 MOVE R3 R0
+ 0x7C040400, // 0003 CALL R1 2
+ 0x88040100, // 0004 GETMBR R1 R0 K0
+ 0x78060002, // 0005 JMPF R1 #0009
+ 0x88040100, // 0006 GETMBR R1 R0 K0
+ 0x8C040365, // 0007 GETMET R1 R1 K101
+ 0x7C040200, // 0008 CALL R1 1
+ 0x80000000, // 0009 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: adjust_next_ep
+********************************************************************/
+be_local_closure(class_Matter_Device_adjust_next_ep, /* name */
+ be_nested_proto(
+ 5, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(adjust_next_ep),
+ &be_const_str_solidified,
+ ( &(const binstruction[21]) { /* code */
+ 0x60040010, // 0000 GETGBL R1 G16
+ 0x88080156, // 0001 GETMBR R2 R0 K86
+ 0x8C080566, // 0002 GETMET R2 R2 K102
+ 0x7C080200, // 0003 CALL R2 1
+ 0x7C040200, // 0004 CALL R1 1
+ 0xA802000A, // 0005 EXBLK 0 #0011
+ 0x5C080200, // 0006 MOVE R2 R1
+ 0x7C080000, // 0007 CALL R2 0
+ 0x600C0009, // 0008 GETGBL R3 G9
+ 0x5C100400, // 0009 MOVE R4 R2
+ 0x7C0C0200, // 000A CALL R3 1
+ 0x88100120, // 000B GETMBR R4 R0 K32
+ 0x28100604, // 000C GE R4 R3 R4
+ 0x78120001, // 000D JMPF R4 #0010
+ 0x00100738, // 000E ADD R4 R3 K56
+ 0x90024004, // 000F SETMBR R0 K32 R4
+ 0x7001FFF4, // 0010 JMP #0006
+ 0x58040014, // 0011 LDCONST R1 K20
+ 0xAC040200, // 0012 CATCH R1 1 0
+ 0xB0080000, // 0013 RAISE 2 R0 R0
+ 0x80000000, // 0014 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: add_read_sensors_schedule
+********************************************************************/
+be_local_closure(class_Matter_Device_add_read_sensors_schedule, /* name */
+ be_nested_proto(
+ 5, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(add_read_sensors_schedule),
+ &be_const_str_solidified,
+ ( &(const binstruction[14]) { /* code */
+ 0x88080167, // 0000 GETMBR R2 R0 K103
+ 0x4C0C0000, // 0001 LDNIL R3
+ 0x1C080403, // 0002 EQ R2 R2 R3
+ 0x740A0002, // 0003 JMPT R2 #0007
+ 0x88080167, // 0004 GETMBR R2 R0 K103
+ 0x24080401, // 0005 GT R2 R2 R1
+ 0x780A0005, // 0006 JMPF R2 #000D
+ 0x9002CE01, // 0007 SETMBR R0 K103 R1
+ 0xB80A3000, // 0008 GETNGBL R2 K24
+ 0x8C080569, // 0009 GETMET R2 R2 K105
+ 0x5C100200, // 000A MOVE R4 R1
+ 0x7C080400, // 000B CALL R2 2
+ 0x9002D002, // 000C SETMBR R0 K104 R2
+ 0x80000000, // 000D RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: button_pressed
+********************************************************************/
+be_local_closure(class_Matter_Device_button_pressed, /* name */
+ be_nested_proto(
+ 13, /* nstack */
+ 3, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(button_pressed),
+ &be_const_str_solidified,
+ ( &(const binstruction[28]) { /* code */
+ 0x540E000F, // 0000 LDINT R3 16
+ 0x3C0C0403, // 0001 SHR R3 R2 R3
+ 0x541200FE, // 0002 LDINT R4 255
+ 0x2C0C0604, // 0003 AND R3 R3 R4
+ 0x54120007, // 0004 LDINT R4 8
+ 0x3C100404, // 0005 SHR R4 R2 R4
+ 0x541600FE, // 0006 LDINT R5 255
+ 0x2C100805, // 0007 AND R4 R4 R5
+ 0x541600FE, // 0008 LDINT R5 255
+ 0x2C140405, // 0009 AND R5 R2 R5
+ 0x541A0017, // 000A LDINT R6 24
+ 0x3C180406, // 000B SHR R6 R2 R6
+ 0x541E00FE, // 000C LDINT R7 255
+ 0x2C180C07, // 000D AND R6 R6 R7
+ 0x8C1C016A, // 000E GETMET R7 R0 K106
+ 0x00240B38, // 000F ADD R9 R5 K56
+ 0x20280604, // 0010 NE R10 R3 R4
+ 0x782A0001, // 0011 JMPF R10 #0014
+ 0x58280038, // 0012 LDCONST R10 K56
+ 0x70020000, // 0013 JMP #0015
+ 0x5828000A, // 0014 LDCONST R10 K10
+ 0x780E0001, // 0015 JMPF R3 #0018
+ 0x582C000A, // 0016 LDCONST R11 K10
+ 0x70020000, // 0017 JMP #0019
+ 0x582C0038, // 0018 LDCONST R11 K56
+ 0x5C300C00, // 0019 MOVE R12 R6
+ 0x7C1C0A00, // 001A CALL R7 5
+ 0x80000000, // 001B RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: register_http_remote
+********************************************************************/
+be_local_closure(class_Matter_Device_register_http_remote, /* name */
+ be_nested_proto(
+ 9, /* nstack */
+ 3, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(register_http_remote),
+ &be_const_str_solidified,
+ ( &(const binstruction[42]) { /* code */
+ 0x880C016B, // 0000 GETMBR R3 R0 K107
+ 0x4C100000, // 0001 LDNIL R4
+ 0x1C0C0604, // 0002 EQ R3 R3 R4
+ 0x780E0002, // 0003 JMPF R3 #0007
+ 0x600C0013, // 0004 GETGBL R3 G19
+ 0x7C0C0000, // 0005 CALL R3 0
+ 0x9002D603, // 0006 SETMBR R0 K107 R3
+ 0x4C0C0000, // 0007 LDNIL R3
+ 0x8810016B, // 0008 GETMBR R4 R0 K107
+ 0x8C10096C, // 0009 GETMET R4 R4 K108
+ 0x5C180200, // 000A MOVE R6 R1
+ 0x7C100400, // 000B CALL R4 2
+ 0x78120009, // 000C JMPF R4 #0017
+ 0x8810016B, // 000D GETMBR R4 R0 K107
+ 0x940C0801, // 000E GETIDX R3 R4 R1
+ 0x8C14076D, // 000F GETMET R5 R3 K109
+ 0x7C140200, // 0010 CALL R5 1
+ 0x14140405, // 0011 LT R5 R2 R5
+ 0x78160002, // 0012 JMPF R5 #0016
+ 0x8C14076E, // 0013 GETMET R5 R3 K110
+ 0x5C1C0400, // 0014 MOVE R7 R2
+ 0x7C140400, // 0015 CALL R5 2
+ 0x70020011, // 0016 JMP #0029
+ 0xB8123000, // 0017 GETNGBL R4 K24
+ 0x8C10096F, // 0018 GETMET R4 R4 K111
+ 0x5C180000, // 0019 MOVE R6 R0
+ 0x5C1C0200, // 001A MOVE R7 R1
+ 0x5C200400, // 001B MOVE R8 R2
+ 0x7C100800, // 001C CALL R4 4
+ 0x5C0C0800, // 001D MOVE R3 R4
+ 0x8810011F, // 001E GETMBR R4 R0 K31
+ 0x8C10096C, // 001F GETMET R4 R4 K108
+ 0x5C180200, // 0020 MOVE R6 R1
+ 0x7C100400, // 0021 CALL R4 2
+ 0x78120003, // 0022 JMPF R4 #0027
+ 0x8C100770, // 0023 GETMET R4 R3 K112
+ 0x8818011F, // 0024 GETMBR R6 R0 K31
+ 0x94180C01, // 0025 GETIDX R6 R6 R1
+ 0x7C100400, // 0026 CALL R4 2
+ 0x8810016B, // 0027 GETMBR R4 R0 K107
+ 0x98100203, // 0028 SETIDX R4 R1 R3
+ 0x80040600, // 0029 RET 1 R3
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: _instantiate_plugins_from_config
+********************************************************************/
+be_local_closure(class_Matter_Device__instantiate_plugins_from_config, /* name */
+ be_nested_proto(
+ 17, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(_instantiate_plugins_from_config),
+ &be_const_str_solidified,
+ ( &(const binstruction[146]) { /* code */
+ 0x8C080171, // 0000 GETMET R2 R0 K113
+ 0x5C100200, // 0001 MOVE R4 R1
+ 0x7C080400, // 0002 CALL R2 2
+ 0x880C011E, // 0003 GETMBR R3 R0 K30
+ 0x8C0C0762, // 0004 GETMET R3 R3 K98
+ 0xB8163000, // 0005 GETNGBL R5 K24
+ 0x8C140B72, // 0006 GETMET R5 R5 K114
+ 0x5C1C0000, // 0007 MOVE R7 R0
+ 0x5820000A, // 0008 LDCONST R8 K10
+ 0x60240013, // 0009 GETGBL R9 G19
+ 0x7C240000, // 000A CALL R9 0
+ 0x7C140800, // 000B CALL R5 4
+ 0x7C0C0400, // 000C CALL R3 2
+ 0xB80E7400, // 000D GETNGBL R3 K58
+ 0x58100073, // 000E LDCONST R4 K115
+ 0x58140021, // 000F LDCONST R5 K33
+ 0x7C0C0400, // 0010 CALL R3 2
+ 0xB80E7400, // 0011 GETNGBL R3 K58
+ 0x60100018, // 0012 GETGBL R4 G24
+ 0x58140074, // 0013 LDCONST R5 K116
+ 0x5818000A, // 0014 LDCONST R6 K10
+ 0x581C0075, // 0015 LDCONST R7 K117
+ 0x58200010, // 0016 LDCONST R8 K16
+ 0x7C100800, // 0017 CALL R4 4
+ 0x58140021, // 0018 LDCONST R5 K33
+ 0x7C0C0400, // 0019 CALL R3 2
+ 0x880C011E, // 001A GETMBR R3 R0 K30
+ 0x8C0C0762, // 001B GETMET R3 R3 K98
+ 0xB8163000, // 001C GETNGBL R5 K24
+ 0x8C140B76, // 001D GETMET R5 R5 K118
+ 0x5C1C0000, // 001E MOVE R7 R0
+ 0xB8223000, // 001F GETNGBL R8 K24
+ 0x88201154, // 0020 GETMBR R8 R8 K84
+ 0x60240013, // 0021 GETGBL R9 G19
+ 0x7C240000, // 0022 CALL R9 0
+ 0x7C140800, // 0023 CALL R5 4
+ 0x7C0C0400, // 0024 CALL R3 2
+ 0xB80E7400, // 0025 GETNGBL R3 K58
+ 0x60100018, // 0026 GETGBL R4 G24
+ 0x58140074, // 0027 LDCONST R5 K116
+ 0xB81A3000, // 0028 GETNGBL R6 K24
+ 0x88180D54, // 0029 GETMBR R6 R6 K84
+ 0x581C0077, // 002A LDCONST R7 K119
+ 0x58200010, // 002B LDCONST R8 K16
+ 0x7C100800, // 002C CALL R4 4
+ 0x58140021, // 002D LDCONST R5 K33
+ 0x7C0C0400, // 002E CALL R3 2
+ 0x600C0010, // 002F GETGBL R3 G16
+ 0x5C100400, // 0030 MOVE R4 R2
+ 0x7C0C0200, // 0031 CALL R3 1
+ 0xA8020055, // 0032 EXBLK 0 #0089
+ 0x5C100600, // 0033 MOVE R4 R3
+ 0x7C100000, // 0034 CALL R4 0
+ 0x1C14090A, // 0035 EQ R5 R4 K10
+ 0x78160000, // 0036 JMPF R5 #0038
+ 0x7001FFFA, // 0037 JMP #0033
+ 0xA802003E, // 0038 EXBLK 0 #0078
+ 0x60140008, // 0039 GETGBL R5 G8
+ 0x5C180800, // 003A MOVE R6 R4
+ 0x7C140200, // 003B CALL R5 1
+ 0x94140205, // 003C GETIDX R5 R1 R5
+ 0x8C180B39, // 003D GETMET R6 R5 K57
+ 0x58200012, // 003E LDCONST R8 K18
+ 0x7C180400, // 003F CALL R6 2
+ 0x4C1C0000, // 0040 LDNIL R7
+ 0x1C1C0C07, // 0041 EQ R7 R6 R7
+ 0x781E0005, // 0042 JMPF R7 #0049
+ 0xB81E7400, // 0043 GETNGBL R7 K58
+ 0x58200078, // 0044 LDCONST R8 K120
+ 0x58240053, // 0045 LDCONST R9 K83
+ 0x7C1C0400, // 0046 CALL R7 2
+ 0xA8040001, // 0047 EXBLK 1 1
+ 0x7001FFE9, // 0048 JMP #0033
+ 0x1C1C0D75, // 0049 EQ R7 R6 K117
+ 0x781E0005, // 004A JMPF R7 #0051
+ 0xB81E7400, // 004B GETNGBL R7 K58
+ 0x58200079, // 004C LDCONST R8 K121
+ 0x58240053, // 004D LDCONST R9 K83
+ 0x7C1C0400, // 004E CALL R7 2
+ 0xA8040001, // 004F EXBLK 1 1
+ 0x7001FFE1, // 0050 JMP #0033
+ 0x881C017A, // 0051 GETMBR R7 R0 K122
+ 0x8C1C0F39, // 0052 GETMET R7 R7 K57
+ 0x5C240C00, // 0053 MOVE R9 R6
+ 0x7C1C0400, // 0054 CALL R7 2
+ 0x4C200000, // 0055 LDNIL R8
+ 0x1C200E08, // 0056 EQ R8 R7 R8
+ 0x78220009, // 0057 JMPF R8 #0062
+ 0xB8227400, // 0058 GETNGBL R8 K58
+ 0x60240008, // 0059 GETGBL R9 G8
+ 0x5C280C00, // 005A MOVE R10 R6
+ 0x7C240200, // 005B CALL R9 1
+ 0x0026F609, // 005C ADD R9 K123 R9
+ 0x0024137C, // 005D ADD R9 R9 K124
+ 0x58280021, // 005E LDCONST R10 K33
+ 0x7C200400, // 005F CALL R8 2
+ 0xA8040001, // 0060 EXBLK 1 1
+ 0x7001FFD0, // 0061 JMP #0033
+ 0x5C200E00, // 0062 MOVE R8 R7
+ 0x5C240000, // 0063 MOVE R9 R0
+ 0x5C280800, // 0064 MOVE R10 R4
+ 0x5C2C0A00, // 0065 MOVE R11 R5
+ 0x7C200600, // 0066 CALL R8 3
+ 0x8824011E, // 0067 GETMBR R9 R0 K30
+ 0x8C241362, // 0068 GETMET R9 R9 K98
+ 0x5C2C1000, // 0069 MOVE R11 R8
+ 0x7C240400, // 006A CALL R9 2
+ 0xB8267400, // 006B GETNGBL R9 K58
+ 0x60280018, // 006C GETGBL R10 G24
+ 0x582C0074, // 006D LDCONST R11 K116
+ 0x5C300800, // 006E MOVE R12 R4
+ 0x5C340C00, // 006F MOVE R13 R6
+ 0x8C38017D, // 0070 GETMET R14 R0 K125
+ 0x5C400A00, // 0071 MOVE R16 R5
+ 0x7C380400, // 0072 CALL R14 2
+ 0x7C280800, // 0073 CALL R10 4
+ 0x582C0021, // 0074 LDCONST R11 K33
+ 0x7C240400, // 0075 CALL R9 2
+ 0xA8040001, // 0076 EXBLK 1 1
+ 0x7002000F, // 0077 JMP #0088
+ 0xAC140002, // 0078 CATCH R5 0 2
+ 0x7002000C, // 0079 JMP #0087
+ 0xB81E7400, // 007A GETNGBL R7 K58
+ 0x60200008, // 007B GETGBL R8 G8
+ 0x5C240A00, // 007C MOVE R9 R5
+ 0x7C200200, // 007D CALL R8 1
+ 0x0022FC08, // 007E ADD R8 K126 R8
+ 0x0020117F, // 007F ADD R8 R8 K127
+ 0x60240008, // 0080 GETGBL R9 G8
+ 0x5C280C00, // 0081 MOVE R10 R6
+ 0x7C240200, // 0082 CALL R9 1
+ 0x00201009, // 0083 ADD R8 R8 R9
+ 0x58240021, // 0084 LDCONST R9 K33
+ 0x7C1C0400, // 0085 CALL R7 2
+ 0x70020000, // 0086 JMP #0088
+ 0xB0080000, // 0087 RAISE 2 R0 R0
+ 0x7001FFA9, // 0088 JMP #0033
+ 0x580C0014, // 0089 LDCONST R3 K20
+ 0xAC0C0200, // 008A CATCH R3 1 0
+ 0xB0080000, // 008B RAISE 2 R0 R0
+ 0xB80E2C00, // 008C GETNGBL R3 K22
+ 0x8C0C0780, // 008D GETMET R3 R3 K128
+ 0x58140081, // 008E LDCONST R5 K129
+ 0x58180082, // 008F LDCONST R6 K130
+ 0x7C0C0600, // 0090 CALL R3 3
+ 0x80000000, // 0091 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: sort_distinct
+********************************************************************/
+be_local_closure(class_Matter_Device_sort_distinct, /* name */
+ be_nested_proto(
+ 7, /* nstack */
+ 1, /* argc */
+ 12, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(sort_distinct),
+ &be_const_str_solidified,
+ ( &(const binstruction[53]) { /* code */
+ 0x5804000F, // 0000 LDCONST R1 K15
+ 0x60080010, // 0001 GETGBL R2 G16
+ 0x600C000C, // 0002 GETGBL R3 G12
+ 0x5C100000, // 0003 MOVE R4 R0
+ 0x7C0C0200, // 0004 CALL R3 1
+ 0x040C0738, // 0005 SUB R3 R3 K56
+ 0x400E7003, // 0006 CONNECT R3 K56 R3
+ 0x7C080200, // 0007 CALL R2 1
+ 0xA8020010, // 0008 EXBLK 0 #001A
+ 0x5C0C0400, // 0009 MOVE R3 R2
+ 0x7C0C0000, // 000A CALL R3 0
+ 0x94100003, // 000B GETIDX R4 R0 R3
+ 0x5C140600, // 000C MOVE R5 R3
+ 0x24180B0A, // 000D GT R6 R5 K10
+ 0x781A0008, // 000E JMPF R6 #0018
+ 0x04180B38, // 000F SUB R6 R5 K56
+ 0x94180006, // 0010 GETIDX R6 R0 R6
+ 0x24180C04, // 0011 GT R6 R6 R4
+ 0x781A0004, // 0012 JMPF R6 #0018
+ 0x04180B38, // 0013 SUB R6 R5 K56
+ 0x94180006, // 0014 GETIDX R6 R0 R6
+ 0x98000A06, // 0015 SETIDX R0 R5 R6
+ 0x04140B38, // 0016 SUB R5 R5 K56
+ 0x7001FFF4, // 0017 JMP #000D
+ 0x98000A04, // 0018 SETIDX R0 R5 R4
+ 0x7001FFEE, // 0019 JMP #0009
+ 0x58080014, // 001A LDCONST R2 K20
+ 0xAC080200, // 001B CATCH R2 1 0
+ 0xB0080000, // 001C RAISE 2 R0 R0
+ 0x58080038, // 001D LDCONST R2 K56
+ 0x600C000C, // 001E GETGBL R3 G12
+ 0x5C100000, // 001F MOVE R4 R0
+ 0x7C0C0200, // 0020 CALL R3 1
+ 0x180C0738, // 0021 LE R3 R3 K56
+ 0x780E0000, // 0022 JMPF R3 #0024
+ 0x80040000, // 0023 RET 1 R0
+ 0x940C010A, // 0024 GETIDX R3 R0 K10
+ 0x6010000C, // 0025 GETGBL R4 G12
+ 0x5C140000, // 0026 MOVE R5 R0
+ 0x7C100200, // 0027 CALL R4 1
+ 0x14100404, // 0028 LT R4 R2 R4
+ 0x78120009, // 0029 JMPF R4 #0034
+ 0x94100002, // 002A GETIDX R4 R0 R2
+ 0x1C100803, // 002B EQ R4 R4 R3
+ 0x78120003, // 002C JMPF R4 #0031
+ 0x8C100183, // 002D GETMET R4 R0 K131
+ 0x5C180400, // 002E MOVE R6 R2
+ 0x7C100400, // 002F CALL R4 2
+ 0x70020001, // 0030 JMP #0033
+ 0x940C0002, // 0031 GETIDX R3 R0 R2
+ 0x00080538, // 0032 ADD R2 R2 K56
+ 0x7001FFF0, // 0033 JMP #0025
+ 0x80040000, // 0034 RET 1 R0
+ })
+ )
+);
+/*******************************************************************/
+
+
/********************************************************************
** Solidified function: get_plugin_class_displayname
********************************************************************/
@@ -844,29 +1656,24 @@ be_local_closure(class_Matter_Device_get_plugin_class_displayname, /* name */
be_nested_proto(
5, /* nstack */
2, /* argc */
- 2, /* varg */
+ 10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[ 4]) { /* constants */
- /* K0 */ be_nested_str_weak(plugins_classes),
- /* K1 */ be_nested_str_weak(find),
- /* K2 */ be_nested_str_weak(DISPLAY_NAME),
- /* K3 */ be_nested_str_weak(),
- }),
+ &be_ktab_class_Matter_Device, /* shared constants */
be_str_weak(get_plugin_class_displayname),
&be_const_str_solidified,
( &(const binstruction[ 9]) { /* code */
- 0x88080100, // 0000 GETMBR R2 R0 K0
- 0x8C080501, // 0001 GETMET R2 R2 K1
+ 0x8808017A, // 0000 GETMBR R2 R0 K122
+ 0x8C080539, // 0001 GETMET R2 R2 K57
0x5C100200, // 0002 MOVE R4 R1
0x7C080400, // 0003 CALL R2 2
0x780A0001, // 0004 JMPF R2 #0007
- 0x880C0502, // 0005 GETMBR R3 R2 K2
+ 0x880C0584, // 0005 GETMBR R3 R2 K132
0x70020000, // 0006 JMP #0008
- 0x580C0003, // 0007 LDCONST R3 K3
+ 0x580C0010, // 0007 LDCONST R3 K16
0x80040600, // 0008 RET 1 R3
})
)
@@ -875,34 +1682,39 @@ be_local_closure(class_Matter_Device_get_plugin_class_displayname, /* name */
/********************************************************************
-** Solidified function: every_50ms
+** Solidified function: find_plugin_by_endpoint
********************************************************************/
-be_local_closure(class_Matter_Device_every_50ms, /* name */
+be_local_closure(class_Matter_Device_find_plugin_by_endpoint, /* name */
be_nested_proto(
- 3, /* nstack */
- 1, /* argc */
- 2, /* varg */
+ 6, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[ 4]) { /* constants */
- /* K0 */ be_nested_str_weak(tick),
- /* K1 */ be_const_int(1),
- /* K2 */ be_nested_str_weak(message_handler),
- /* K3 */ be_nested_str_weak(every_50ms),
- }),
- be_str_weak(every_50ms),
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(find_plugin_by_endpoint),
&be_const_str_solidified,
- ( &(const binstruction[ 7]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x00040301, // 0001 ADD R1 R1 K1
- 0x90020001, // 0002 SETMBR R0 K0 R1
- 0x88040102, // 0003 GETMBR R1 R0 K2
- 0x8C040303, // 0004 GETMET R1 R1 K3
- 0x7C040200, // 0005 CALL R1 1
- 0x80000000, // 0006 RET 0
+ ( &(const binstruction[17]) { /* code */
+ 0x5808000A, // 0000 LDCONST R2 K10
+ 0x600C000C, // 0001 GETGBL R3 G12
+ 0x8810011E, // 0002 GETMBR R4 R0 K30
+ 0x7C0C0200, // 0003 CALL R3 1
+ 0x140C0403, // 0004 LT R3 R2 R3
+ 0x780E0008, // 0005 JMPF R3 #000F
+ 0x880C011E, // 0006 GETMBR R3 R0 K30
+ 0x940C0602, // 0007 GETIDX R3 R3 R2
+ 0x8C100761, // 0008 GETMET R4 R3 K97
+ 0x7C100200, // 0009 CALL R4 1
+ 0x1C100801, // 000A EQ R4 R4 R1
+ 0x78120000, // 000B JMPF R4 #000D
+ 0x80040600, // 000C RET 1 R3
+ 0x00080538, // 000D ADD R2 R2 K56
+ 0x7001FFF1, // 000E JMP #0001
+ 0x4C0C0000, // 000F LDNIL R3
+ 0x80040600, // 0010 RET 1 R3
})
)
);
@@ -910,54 +1722,1224 @@ be_local_closure(class_Matter_Device_every_50ms, /* name */
/********************************************************************
-** Solidified function: button_handler
+** Solidified function: clean_remotes
********************************************************************/
-be_local_closure(class_Matter_Device_button_handler, /* name */
+be_local_closure(class_Matter_Device_clean_remotes, /* name */
be_nested_proto(
- 14, /* nstack */
- 5, /* argc */
- 2, /* varg */
+ 10, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[ 6]) { /* constants */
- /* K0 */ be_const_int(0),
- /* K1 */ be_nested_str_weak(introspect),
- /* K2 */ be_nested_str_weak(plugins),
- /* K3 */ be_nested_str_weak(contains),
- /* K4 */ be_nested_str_weak(button_handler),
- /* K5 */ be_const_int(1),
- }),
- be_str_weak(button_handler),
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(clean_remotes),
&be_const_str_solidified,
- ( &(const binstruction[25]) { /* code */
- 0x58140000, // 0000 LDCONST R5 K0
- 0xA41A0200, // 0001 IMPORT R6 K1
- 0x601C000C, // 0002 GETGBL R7 G12
- 0x88200102, // 0003 GETMBR R8 R0 K2
- 0x7C1C0200, // 0004 CALL R7 1
- 0x141C0A07, // 0005 LT R7 R5 R7
- 0x781E0010, // 0006 JMPF R7 #0018
- 0x881C0102, // 0007 GETMBR R7 R0 K2
- 0x941C0E05, // 0008 GETIDX R7 R7 R5
- 0x8C200D03, // 0009 GETMET R8 R6 K3
- 0x5C280E00, // 000A MOVE R10 R7
- 0x582C0004, // 000B LDCONST R11 K4
- 0x7C200600, // 000C CALL R8 3
- 0x78220007, // 000D JMPF R8 #0016
- 0x88200102, // 000E GETMBR R8 R0 K2
- 0x94201005, // 000F GETIDX R8 R8 R5
- 0x8C201104, // 0010 GETMET R8 R8 K4
- 0x5C280200, // 0011 MOVE R10 R1
- 0x5C2C0400, // 0012 MOVE R11 R2
- 0x5C300600, // 0013 MOVE R12 R3
- 0x5C340800, // 0014 MOVE R13 R4
- 0x7C200A00, // 0015 CALL R8 5
- 0x00140B05, // 0016 ADD R5 R5 K5
- 0x7001FFE9, // 0017 JMP #0002
- 0x80000000, // 0018 RET 0
+ ( &(const binstruction[80]) { /* code */
+ 0xA4070A00, // 0000 IMPORT R1 K133
+ 0x8808016B, // 0001 GETMBR R2 R0 K107
+ 0x780A004B, // 0002 JMPF R2 #004F
+ 0x60080013, // 0003 GETGBL R2 G19
+ 0x7C080000, // 0004 CALL R2 0
+ 0x600C0010, // 0005 GETGBL R3 G16
+ 0x8810016B, // 0006 GETMBR R4 R0 K107
+ 0x7C0C0200, // 0007 CALL R3 1
+ 0xA8020003, // 0008 EXBLK 0 #000D
+ 0x5C100600, // 0009 MOVE R4 R3
+ 0x7C100000, // 000A CALL R4 0
+ 0x9808090A, // 000B SETIDX R2 R4 K10
+ 0x7001FFFB, // 000C JMP #0009
+ 0x580C0014, // 000D LDCONST R3 K20
+ 0xAC0C0200, // 000E CATCH R3 1 0
+ 0xB0080000, // 000F RAISE 2 R0 R0
+ 0x600C0010, // 0010 GETGBL R3 G16
+ 0x8810011E, // 0011 GETMBR R4 R0 K30
+ 0x7C0C0200, // 0012 CALL R3 1
+ 0xA802000F, // 0013 EXBLK 0 #0024
+ 0x5C100600, // 0014 MOVE R4 R3
+ 0x7C100000, // 0015 CALL R4 0
+ 0x8C140386, // 0016 GETMET R5 R1 K134
+ 0x5C1C0800, // 0017 MOVE R7 R4
+ 0x58200087, // 0018 LDCONST R8 K135
+ 0x7C140600, // 0019 CALL R5 3
+ 0x4C180000, // 001A LDNIL R6
+ 0x20180A06, // 001B NE R6 R5 R6
+ 0x781A0005, // 001C JMPF R6 #0023
+ 0x8C180539, // 001D GETMET R6 R2 K57
+ 0x5C200A00, // 001E MOVE R8 R5
+ 0x5824000A, // 001F LDCONST R9 K10
+ 0x7C180600, // 0020 CALL R6 3
+ 0x00180D38, // 0021 ADD R6 R6 K56
+ 0x98080A06, // 0022 SETIDX R2 R5 R6
+ 0x7001FFEF, // 0023 JMP #0014
+ 0x580C0014, // 0024 LDCONST R3 K20
+ 0xAC0C0200, // 0025 CATCH R3 1 0
+ 0xB0080000, // 0026 RAISE 2 R0 R0
+ 0x600C0012, // 0027 GETGBL R3 G18
+ 0x7C0C0000, // 0028 CALL R3 0
+ 0x60100010, // 0029 GETGBL R4 G16
+ 0x8C140566, // 002A GETMET R5 R2 K102
+ 0x7C140200, // 002B CALL R5 1
+ 0x7C100200, // 002C CALL R4 1
+ 0xA8020008, // 002D EXBLK 0 #0037
+ 0x5C140800, // 002E MOVE R5 R4
+ 0x7C140000, // 002F CALL R5 0
+ 0x94180405, // 0030 GETIDX R6 R2 R5
+ 0x1C180D0A, // 0031 EQ R6 R6 K10
+ 0x781A0002, // 0032 JMPF R6 #0036
+ 0x8C180762, // 0033 GETMET R6 R3 K98
+ 0x5C200A00, // 0034 MOVE R8 R5
+ 0x7C180400, // 0035 CALL R6 2
+ 0x7001FFF6, // 0036 JMP #002E
+ 0x58100014, // 0037 LDCONST R4 K20
+ 0xAC100200, // 0038 CATCH R4 1 0
+ 0xB0080000, // 0039 RAISE 2 R0 R0
+ 0x60100010, // 003A GETGBL R4 G16
+ 0x5C140600, // 003B MOVE R5 R3
+ 0x7C100200, // 003C CALL R4 1
+ 0xA802000D, // 003D EXBLK 0 #004C
+ 0x5C140800, // 003E MOVE R5 R4
+ 0x7C140000, // 003F CALL R5 0
+ 0xB81A7400, // 0040 GETNGBL R6 K58
+ 0x881C0B89, // 0041 GETMBR R7 R5 K137
+ 0x001F1007, // 0042 ADD R7 K136 R7
+ 0x58200053, // 0043 LDCONST R8 K83
+ 0x7C180400, // 0044 CALL R6 2
+ 0x8C180B8A, // 0045 GETMET R6 R5 K138
+ 0x7C180200, // 0046 CALL R6 1
+ 0x8818016B, // 0047 GETMBR R6 R0 K107
+ 0x8C180D83, // 0048 GETMET R6 R6 K131
+ 0x88200B89, // 0049 GETMBR R8 R5 K137
+ 0x7C180400, // 004A CALL R6 2
+ 0x7001FFF1, // 004B JMP #003E
+ 0x58100014, // 004C LDCONST R4 K20
+ 0xAC100200, // 004D CATCH R4 1 0
+ 0xB0080000, // 004E RAISE 2 R0 R0
+ 0x80000000, // 004F RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: check_config_ep
+********************************************************************/
+be_local_closure(class_Matter_Device_check_config_ep, /* name */
+ be_nested_proto(
+ 10, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(check_config_ep),
+ &be_const_str_solidified,
+ ( &(const binstruction[77]) { /* code */
+ 0x50040000, // 0000 LDBOOL R1 0 0
+ 0x60080012, // 0001 GETGBL R2 G18
+ 0x7C080000, // 0002 CALL R2 0
+ 0x600C0010, // 0003 GETGBL R3 G16
+ 0x88100156, // 0004 GETMBR R4 R0 K86
+ 0x8C100966, // 0005 GETMET R4 R4 K102
+ 0x7C100200, // 0006 CALL R4 1
+ 0x7C0C0200, // 0007 CALL R3 1
+ 0xA8020007, // 0008 EXBLK 0 #0011
+ 0x5C100600, // 0009 MOVE R4 R3
+ 0x7C100000, // 000A CALL R4 0
+ 0x8C140562, // 000B GETMET R5 R2 K98
+ 0x601C0009, // 000C GETGBL R7 G9
+ 0x5C200800, // 000D MOVE R8 R4
+ 0x7C1C0200, // 000E CALL R7 1
+ 0x7C140400, // 000F CALL R5 2
+ 0x7001FFF7, // 0010 JMP #0009
+ 0x580C0014, // 0011 LDCONST R3 K20
+ 0xAC0C0200, // 0012 CATCH R3 1 0
+ 0xB0080000, // 0013 RAISE 2 R0 R0
+ 0x600C0010, // 0014 GETGBL R3 G16
+ 0x5C100400, // 0015 MOVE R4 R2
+ 0x7C0C0200, // 0016 CALL R3 1
+ 0xA8020030, // 0017 EXBLK 0 #0049
+ 0x5C100600, // 0018 MOVE R4 R3
+ 0x7C100000, // 0019 CALL R4 0
+ 0x1C14090A, // 001A EQ R5 R4 K10
+ 0x7816000B, // 001B JMPF R5 #0028
+ 0xB8167400, // 001C GETNGBL R5 K58
+ 0x5818008B, // 001D LDCONST R6 K139
+ 0x581C0021, // 001E LDCONST R7 K33
+ 0x7C140400, // 001F CALL R5 2
+ 0x88140156, // 0020 GETMBR R5 R0 K86
+ 0x8C140B83, // 0021 GETMET R5 R5 K131
+ 0x601C0008, // 0022 GETGBL R7 G8
+ 0x5C200800, // 0023 MOVE R8 R4
+ 0x7C1C0200, // 0024 CALL R7 1
+ 0x7C140400, // 0025 CALL R5 2
+ 0x50040200, // 0026 LDBOOL R1 1 0
+ 0x7002001F, // 0027 JMP #0048
+ 0xB8163000, // 0028 GETNGBL R5 K24
+ 0x88140B54, // 0029 GETMBR R5 R5 K84
+ 0x1C140805, // 002A EQ R5 R4 R5
+ 0x7816001B, // 002B JMPF R5 #0048
+ 0x50040200, // 002C LDBOOL R1 1 0
+ 0xB8167400, // 002D GETNGBL R5 K58
+ 0x60180018, // 002E GETGBL R6 G24
+ 0x581C008C, // 002F LDCONST R7 K140
+ 0x5C200800, // 0030 MOVE R8 R4
+ 0x88240120, // 0031 GETMBR R9 R0 K32
+ 0x7C180600, // 0032 CALL R6 3
+ 0x581C0021, // 0033 LDCONST R7 K33
+ 0x7C140400, // 0034 CALL R5 2
+ 0x60140008, // 0035 GETGBL R5 G8
+ 0x88180120, // 0036 GETMBR R6 R0 K32
+ 0x7C140200, // 0037 CALL R5 1
+ 0x88180156, // 0038 GETMBR R6 R0 K86
+ 0x601C0008, // 0039 GETGBL R7 G8
+ 0x5C200800, // 003A MOVE R8 R4
+ 0x7C1C0200, // 003B CALL R7 1
+ 0x88200156, // 003C GETMBR R8 R0 K86
+ 0x941C1007, // 003D GETIDX R7 R8 R7
+ 0x98180A07, // 003E SETIDX R6 R5 R7
+ 0x88140156, // 003F GETMBR R5 R0 K86
+ 0x8C140B83, // 0040 GETMET R5 R5 K131
+ 0x601C0008, // 0041 GETGBL R7 G8
+ 0x5C200800, // 0042 MOVE R8 R4
+ 0x7C1C0200, // 0043 CALL R7 1
+ 0x7C140400, // 0044 CALL R5 2
+ 0x88140120, // 0045 GETMBR R5 R0 K32
+ 0x00140B38, // 0046 ADD R5 R5 K56
+ 0x90024005, // 0047 SETMBR R0 K32 R5
+ 0x7001FFCE, // 0048 JMP #0018
+ 0x580C0014, // 0049 LDCONST R3 K20
+ 0xAC0C0200, // 004A CATCH R3 1 0
+ 0xB0080000, // 004B RAISE 2 R0 R0
+ 0x80040200, // 004C RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: every_second
+********************************************************************/
+be_local_closure(class_Matter_Device_every_second, /* name */
+ be_nested_proto(
+ 3, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(every_second),
+ &be_const_str_solidified,
+ ( &(const binstruction[13]) { /* code */
+ 0x88040108, // 0000 GETMBR R1 R0 K8
+ 0x8C04038D, // 0001 GETMET R1 R1 K141
+ 0x7C040200, // 0002 CALL R1 1
+ 0x88040127, // 0003 GETMBR R1 R0 K39
+ 0x8C04038D, // 0004 GETMET R1 R1 K141
+ 0x7C040200, // 0005 CALL R1 1
+ 0x88040129, // 0006 GETMBR R1 R0 K41
+ 0x8C04038D, // 0007 GETMET R1 R1 K141
+ 0x7C040200, // 0008 CALL R1 1
+ 0x88040106, // 0009 GETMBR R1 R0 K6
+ 0x8C04038D, // 000A GETMET R1 R1 K141
+ 0x7C040200, // 000B CALL R1 1
+ 0x80000000, // 000C RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: attribute_updated
+********************************************************************/
+be_local_closure(class_Matter_Device_attribute_updated, /* name */
+ be_nested_proto(
+ 10, /* nstack */
+ 5, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(attribute_updated),
+ &be_const_str_solidified,
+ ( &(const binstruction[18]) { /* code */
+ 0x4C140000, // 0000 LDNIL R5
+ 0x1C140805, // 0001 EQ R5 R4 R5
+ 0x78160000, // 0002 JMPF R5 #0004
+ 0x50100000, // 0003 LDBOOL R4 0 0
+ 0xB8163000, // 0004 GETNGBL R5 K24
+ 0x8C140B8E, // 0005 GETMET R5 R5 K142
+ 0x7C140200, // 0006 CALL R5 1
+ 0x90169001, // 0007 SETMBR R5 K72 R1
+ 0x90169202, // 0008 SETMBR R5 K73 R2
+ 0x90169403, // 0009 SETMBR R5 K74 R3
+ 0x88180127, // 000A GETMBR R6 R0 K39
+ 0x88180D42, // 000B GETMBR R6 R6 K66
+ 0x88180D43, // 000C GETMBR R6 R6 K67
+ 0x8C180D8F, // 000D GETMET R6 R6 K143
+ 0x5C200A00, // 000E MOVE R8 R5
+ 0x5C240800, // 000F MOVE R9 R4
+ 0x7C180600, // 0010 CALL R6 3
+ 0x80000000, // 0011 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: k2l_num
+********************************************************************/
+be_local_closure(class_Matter_Device_k2l_num, /* name */
+ be_nested_proto(
+ 9, /* nstack */
+ 1, /* argc */
+ 12, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(k2l_num),
+ &be_const_str_solidified,
+ ( &(const binstruction[52]) { /* code */
+ 0x5804000F, // 0000 LDCONST R1 K15
+ 0x60080012, // 0001 GETGBL R2 G18
+ 0x7C080000, // 0002 CALL R2 0
+ 0x4C0C0000, // 0003 LDNIL R3
+ 0x1C0C0003, // 0004 EQ R3 R0 R3
+ 0x780E0000, // 0005 JMPF R3 #0007
+ 0x80040400, // 0006 RET 1 R2
+ 0x600C0010, // 0007 GETGBL R3 G16
+ 0x8C100166, // 0008 GETMET R4 R0 K102
+ 0x7C100200, // 0009 CALL R4 1
+ 0x7C0C0200, // 000A CALL R3 1
+ 0xA8020007, // 000B EXBLK 0 #0014
+ 0x5C100600, // 000C MOVE R4 R3
+ 0x7C100000, // 000D CALL R4 0
+ 0x8C140562, // 000E GETMET R5 R2 K98
+ 0x601C0009, // 000F GETGBL R7 G9
+ 0x5C200800, // 0010 MOVE R8 R4
+ 0x7C1C0200, // 0011 CALL R7 1
+ 0x7C140400, // 0012 CALL R5 2
+ 0x7001FFF7, // 0013 JMP #000C
+ 0x580C0014, // 0014 LDCONST R3 K20
+ 0xAC0C0200, // 0015 CATCH R3 1 0
+ 0xB0080000, // 0016 RAISE 2 R0 R0
+ 0x600C0010, // 0017 GETGBL R3 G16
+ 0x6010000C, // 0018 GETGBL R4 G12
+ 0x5C140400, // 0019 MOVE R5 R2
+ 0x7C100200, // 001A CALL R4 1
+ 0x04100938, // 001B SUB R4 R4 K56
+ 0x40127004, // 001C CONNECT R4 K56 R4
+ 0x7C0C0200, // 001D CALL R3 1
+ 0xA8020010, // 001E EXBLK 0 #0030
+ 0x5C100600, // 001F MOVE R4 R3
+ 0x7C100000, // 0020 CALL R4 0
+ 0x94140404, // 0021 GETIDX R5 R2 R4
+ 0x5C180800, // 0022 MOVE R6 R4
+ 0x241C0D0A, // 0023 GT R7 R6 K10
+ 0x781E0008, // 0024 JMPF R7 #002E
+ 0x041C0D38, // 0025 SUB R7 R6 K56
+ 0x941C0407, // 0026 GETIDX R7 R2 R7
+ 0x241C0E05, // 0027 GT R7 R7 R5
+ 0x781E0004, // 0028 JMPF R7 #002E
+ 0x041C0D38, // 0029 SUB R7 R6 K56
+ 0x941C0407, // 002A GETIDX R7 R2 R7
+ 0x98080C07, // 002B SETIDX R2 R6 R7
+ 0x04180D38, // 002C SUB R6 R6 K56
+ 0x7001FFF4, // 002D JMP #0023
+ 0x98080C05, // 002E SETIDX R2 R6 R5
+ 0x7001FFEE, // 002F JMP #001F
+ 0x580C0014, // 0030 LDCONST R3 K20
+ 0xAC0C0200, // 0031 CATCH R3 1 0
+ 0xB0080000, // 0032 RAISE 2 R0 R0
+ 0x80040400, // 0033 RET 1 R2
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: button_multi_pressed
+********************************************************************/
+be_local_closure(class_Matter_Device_button_multi_pressed, /* name */
+ be_nested_proto(
+ 11, /* nstack */
+ 3, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(button_multi_pressed),
+ &be_const_str_solidified,
+ ( &(const binstruction[13]) { /* code */
+ 0x540E0007, // 0000 LDINT R3 8
+ 0x3C0C0403, // 0001 SHR R3 R2 R3
+ 0x541200FE, // 0002 LDINT R4 255
+ 0x2C0C0604, // 0003 AND R3 R3 R4
+ 0x541200FE, // 0004 LDINT R4 255
+ 0x2C100404, // 0005 AND R4 R2 R4
+ 0x8C14016A, // 0006 GETMET R5 R0 K106
+ 0x001C0938, // 0007 ADD R7 R4 K56
+ 0x58200021, // 0008 LDCONST R8 K33
+ 0x5824000A, // 0009 LDCONST R9 K10
+ 0x5C280600, // 000A MOVE R10 R3
+ 0x7C140A00, // 000B CALL R5 5
+ 0x80000000, // 000C RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: every_250ms
+********************************************************************/
+be_local_closure(class_Matter_Device_every_250ms, /* name */
+ be_nested_proto(
+ 4, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(every_250ms),
+ &be_const_str_solidified,
+ ( &(const binstruction[15]) { /* code */
+ 0x8C040190, // 0000 GETMET R1 R0 K144
+ 0x7C040200, // 0001 CALL R1 1
+ 0x5804000A, // 0002 LDCONST R1 K10
+ 0x6008000C, // 0003 GETGBL R2 G12
+ 0x880C011E, // 0004 GETMBR R3 R0 K30
+ 0x7C080200, // 0005 CALL R2 1
+ 0x14080202, // 0006 LT R2 R1 R2
+ 0x780A0005, // 0007 JMPF R2 #000E
+ 0x8808011E, // 0008 GETMBR R2 R0 K30
+ 0x94080401, // 0009 GETIDX R2 R2 R1
+ 0x8C080591, // 000A GETMET R2 R2 K145
+ 0x7C080200, // 000B CALL R2 1
+ 0x00040338, // 000C ADD R1 R1 K56
+ 0x7001FFF4, // 000D JMP #0003
+ 0x80000000, // 000E RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: process_attribute_expansion
+********************************************************************/
+be_local_closure(class_Matter_Device_process_attribute_expansion, /* name */
+ be_nested_proto(
+ 12, /* nstack */
+ 3, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(process_attribute_expansion),
+ &be_const_str_solidified,
+ ( &(const binstruction[28]) { /* code */
+ 0x880C0348, // 0000 GETMBR R3 R1 K72
+ 0x88100349, // 0001 GETMBR R4 R1 K73
+ 0x8814034A, // 0002 GETMBR R5 R1 K74
+ 0xB81A3000, // 0003 GETNGBL R6 K24
+ 0x8C180D92, // 0004 GETMET R6 R6 K146
+ 0x5C200000, // 0005 MOVE R8 R0
+ 0x7C180400, // 0006 CALL R6 2
+ 0x8C1C0D2F, // 0007 GETMET R7 R6 K47
+ 0x5C240600, // 0008 MOVE R9 R3
+ 0x5C280800, // 0009 MOVE R10 R4
+ 0x5C2C0A00, // 000A MOVE R11 R5
+ 0x7C1C0800, // 000B CALL R7 4
+ 0x8C1C0D93, // 000C GETMET R7 R6 K147
+ 0x7C1C0200, // 000D CALL R7 1
+ 0x4C200000, // 000E LDNIL R8
+ 0x8C240D94, // 000F GETMET R9 R6 K148
+ 0x7C240200, // 0010 CALL R9 1
+ 0x5C201200, // 0011 MOVE R8 R9
+ 0x4C280000, // 0012 LDNIL R10
+ 0x2024120A, // 0013 NE R9 R9 R10
+ 0x78260005, // 0014 JMPF R9 #001B
+ 0x5C240400, // 0015 MOVE R9 R2
+ 0x8C280D95, // 0016 GETMET R10 R6 K149
+ 0x7C280200, // 0017 CALL R10 1
+ 0x5C2C1000, // 0018 MOVE R11 R8
+ 0x7C240400, // 0019 CALL R9 2
+ 0x7001FFF3, // 001A JMP #000F
+ 0x80000000, // 001B RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: autoconf_device_map
+********************************************************************/
+be_local_closure(class_Matter_Device_autoconf_device_map, /* name */
+ be_nested_proto(
+ 19, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(autoconf_device_map),
+ &be_const_str_solidified,
+ ( &(const binstruction[262]) { /* code */
+ 0xA406AA00, // 0000 IMPORT R1 K85
+ 0x60080013, // 0001 GETGBL R2 G19
+ 0x7C080000, // 0002 CALL R2 0
+ 0xB80E3000, // 0003 GETNGBL R3 K24
+ 0x880C0796, // 0004 GETMBR R3 R3 K150
+ 0x5810000A, // 0005 LDCONST R4 K10
+ 0xA4172E00, // 0006 IMPORT R5 K151
+ 0x8C180B86, // 0007 GETMET R6 R5 K134
+ 0x5820000A, // 0008 LDCONST R8 K10
+ 0x7C180400, // 0009 CALL R6 2
+ 0x4C1C0000, // 000A LDNIL R7
+ 0x201C0C07, // 000B NE R7 R6 R7
+ 0x781E0066, // 000C JMPF R7 #0074
+ 0x601C000C, // 000D GETGBL R7 G12
+ 0x8C200D39, // 000E GETMET R8 R6 K57
+ 0x58280098, // 000F LDCONST R10 K152
+ 0x582C0010, // 0010 LDCONST R11 K16
+ 0x7C200600, // 0011 CALL R8 3
+ 0x7C1C0200, // 0012 CALL R7 1
+ 0x58100038, // 0013 LDCONST R4 K56
+ 0x24200F0A, // 0014 GT R8 R7 K10
+ 0x7822005D, // 0015 JMPF R8 #0074
+ 0x1C200F38, // 0016 EQ R8 R7 K56
+ 0x7822001E, // 0017 JMPF R8 #0037
+ 0x60200008, // 0018 GETGBL R8 G8
+ 0x5C240600, // 0019 MOVE R9 R3
+ 0x7C200200, // 001A CALL R8 1
+ 0x60240013, // 001B GETGBL R9 G19
+ 0x7C240000, // 001C CALL R9 0
+ 0x98262599, // 001D SETIDX R9 K18 K153
+ 0x98081009, // 001E SETIDX R2 R8 R9
+ 0x000C0738, // 001F ADD R3 R3 K56
+ 0x58200038, // 0020 LDCONST R8 K56
+ 0x4C240000, // 0021 LDNIL R9
+ 0x8C280B86, // 0022 GETMET R10 R5 K134
+ 0x5C301000, // 0023 MOVE R12 R8
+ 0x7C280400, // 0024 CALL R10 2
+ 0x5C241400, // 0025 MOVE R9 R10
+ 0x4C2C0000, // 0026 LDNIL R11
+ 0x2028140B, // 0027 NE R10 R10 R11
+ 0x782A000C, // 0028 JMPF R10 #0036
+ 0x60280008, // 0029 GETGBL R10 G8
+ 0x5C2C0600, // 002A MOVE R11 R3
+ 0x7C280200, // 002B CALL R10 1
+ 0x602C0013, // 002C GETGBL R11 G19
+ 0x7C2C0000, // 002D CALL R11 0
+ 0x982E2599, // 002E SETIDX R11 K18 K153
+ 0x00301138, // 002F ADD R12 R8 K56
+ 0x982F2E0C, // 0030 SETIDX R11 K151 R12
+ 0x9808140B, // 0031 SETIDX R2 R10 R11
+ 0x000C0738, // 0032 ADD R3 R3 K56
+ 0x00100938, // 0033 ADD R4 R4 K56
+ 0x00201138, // 0034 ADD R8 R8 K56
+ 0x7001FFEB, // 0035 JMP #0022
+ 0x7002003C, // 0036 JMP #0074
+ 0x1C200F21, // 0037 EQ R8 R7 K33
+ 0x78220008, // 0038 JMPF R8 #0042
+ 0x60200008, // 0039 GETGBL R8 G8
+ 0x5C240600, // 003A MOVE R9 R3
+ 0x7C200200, // 003B CALL R8 1
+ 0x60240013, // 003C GETGBL R9 G19
+ 0x7C240000, // 003D CALL R9 0
+ 0x9826259A, // 003E SETIDX R9 K18 K154
+ 0x98081009, // 003F SETIDX R2 R8 R9
+ 0x000C0738, // 0040 ADD R3 R3 K56
+ 0x70020031, // 0041 JMP #0074
+ 0x1C200F53, // 0042 EQ R8 R7 K83
+ 0x7822002B, // 0043 JMPF R8 #0070
+ 0x60200008, // 0044 GETGBL R8 G8
+ 0x5C240600, // 0045 MOVE R9 R3
+ 0x7C200200, // 0046 CALL R8 1
+ 0x60240013, // 0047 GETGBL R9 G19
+ 0x7C240000, // 0048 CALL R9 0
+ 0x9826259B, // 0049 SETIDX R9 K18 K155
+ 0x98081009, // 004A SETIDX R2 R8 R9
+ 0x000C0738, // 004B ADD R3 R3 K56
+ 0x8C200B86, // 004C GETMET R8 R5 K134
+ 0x58280038, // 004D LDCONST R10 K56
+ 0x7C200400, // 004E CALL R8 2
+ 0x4C240000, // 004F LDNIL R9
+ 0x20241009, // 0050 NE R9 R8 R9
+ 0x7826001C, // 0051 JMPF R9 #006F
+ 0x6024000C, // 0052 GETGBL R9 G12
+ 0x8C281139, // 0053 GETMET R10 R8 K57
+ 0x58300098, // 0054 LDCONST R12 K152
+ 0x58340010, // 0055 LDCONST R13 K16
+ 0x7C280600, // 0056 CALL R10 3
+ 0x7C240200, // 0057 CALL R9 1
+ 0x1C281338, // 0058 EQ R10 R9 K56
+ 0x782A0009, // 0059 JMPF R10 #0064
+ 0x60280008, // 005A GETGBL R10 G8
+ 0x5C2C0600, // 005B MOVE R11 R3
+ 0x7C280200, // 005C CALL R10 1
+ 0x602C0013, // 005D GETGBL R11 G19
+ 0x7C2C0000, // 005E CALL R11 0
+ 0x982E2599, // 005F SETIDX R11 K18 K153
+ 0x9808140B, // 0060 SETIDX R2 R10 R11
+ 0x000C0738, // 0061 ADD R3 R3 K56
+ 0x00100938, // 0062 ADD R4 R4 K56
+ 0x7002000A, // 0063 JMP #006F
+ 0x1C281321, // 0064 EQ R10 R9 K33
+ 0x782A0008, // 0065 JMPF R10 #006F
+ 0x60280008, // 0066 GETGBL R10 G8
+ 0x5C2C0600, // 0067 MOVE R11 R3
+ 0x7C280200, // 0068 CALL R10 1
+ 0x602C0013, // 0069 GETGBL R11 G19
+ 0x7C2C0000, // 006A CALL R11 0
+ 0x982E259A, // 006B SETIDX R11 K18 K154
+ 0x9808140B, // 006C SETIDX R2 R10 R11
+ 0x000C0738, // 006D ADD R3 R3 K56
+ 0x00100938, // 006E ADD R4 R4 K56
+ 0x70020003, // 006F JMP #0074
+ 0x54220003, // 0070 LDINT R8 4
+ 0x1C200E08, // 0071 EQ R8 R7 R8
+ 0x78220000, // 0072 JMPF R8 #0074
+ 0x7001FFFF, // 0073 JMP #0074
+ 0xB81E2C00, // 0074 GETNGBL R7 K22
+ 0x8C1C0F9C, // 0075 GETMET R7 R7 K156
+ 0x5824009D, // 0076 LDCONST R9 K157
+ 0x50280200, // 0077 LDBOOL R10 1 0
+ 0x7C1C0600, // 0078 CALL R7 3
+ 0x60200012, // 0079 GETGBL R8 G18
+ 0x7C200000, // 007A CALL R8 0
+ 0xB8267400, // 007B GETNGBL R9 K58
+ 0x60280008, // 007C GETGBL R10 G8
+ 0x5C2C0E00, // 007D MOVE R11 R7
+ 0x7C280200, // 007E CALL R10 1
+ 0x002B3C0A, // 007F ADD R10 K158 R10
+ 0x582C0053, // 0080 LDCONST R11 K83
+ 0x7C240400, // 0081 CALL R9 2
+ 0x4C240000, // 0082 LDNIL R9
+ 0x20240E09, // 0083 NE R9 R7 R9
+ 0x7826004D, // 0084 JMPF R9 #00D3
+ 0x8C240F6C, // 0085 GETMET R9 R7 K108
+ 0x582C009F, // 0086 LDCONST R11 K159
+ 0x7C240400, // 0087 CALL R9 2
+ 0x78260049, // 0088 JMPF R9 #00D3
+ 0x941C0F9F, // 0089 GETIDX R7 R7 K159
+ 0x5824000A, // 008A LDCONST R9 K10
+ 0x50280200, // 008B LDBOOL R10 1 0
+ 0x782A0045, // 008C JMPF R10 #00D3
+ 0x60280008, // 008D GETGBL R10 G8
+ 0x5C2C1200, // 008E MOVE R11 R9
+ 0x7C280200, // 008F CALL R10 1
+ 0x002B400A, // 0090 ADD R10 K160 R10
+ 0x8C2C0F6C, // 0091 GETMET R11 R7 K108
+ 0x5C341400, // 0092 MOVE R13 R10
+ 0x7C2C0400, // 0093 CALL R11 2
+ 0x742E0000, // 0094 JMPT R11 #0096
+ 0x7002003C, // 0095 JMP #00D3
+ 0x942C0E0A, // 0096 GETIDX R11 R7 R10
+ 0xB8327400, // 0097 GETNGBL R12 K58
+ 0x60340018, // 0098 GETGBL R13 G24
+ 0x583800A1, // 0099 LDCONST R14 K161
+ 0x5C3C1400, // 009A MOVE R15 R10
+ 0x60400008, // 009B GETGBL R16 G8
+ 0x5C441600, // 009C MOVE R17 R11
+ 0x7C400200, // 009D CALL R16 1
+ 0x7C340600, // 009E CALL R13 3
+ 0x58380053, // 009F LDCONST R14 K83
+ 0x7C300400, // 00A0 CALL R12 2
+ 0x8C301739, // 00A1 GETMET R12 R11 K57
+ 0x583800A2, // 00A2 LDCONST R14 K162
+ 0x543DFFFE, // 00A3 LDINT R15 -1
+ 0x7C300600, // 00A4 CALL R12 3
+ 0x8C341739, // 00A5 GETMET R13 R11 K57
+ 0x583C00A3, // 00A6 LDCONST R15 K163
+ 0x5441FFFE, // 00A7 LDINT R16 -1
+ 0x7C340600, // 00A8 CALL R13 3
+ 0x2438190A, // 00A9 GT R14 R12 K10
+ 0x783A0002, // 00AA JMPF R14 #00AE
+ 0x8C381162, // 00AB GETMET R14 R8 K98
+ 0x04401938, // 00AC SUB R16 R12 K56
+ 0x7C380400, // 00AD CALL R14 2
+ 0x24381B0A, // 00AE GT R14 R13 K10
+ 0x783A0002, // 00AF JMPF R14 #00B3
+ 0x8C381162, // 00B0 GETMET R14 R8 K98
+ 0x04401B38, // 00B1 SUB R16 R13 K56
+ 0x7C380400, // 00B2 CALL R14 2
+ 0xB83A7400, // 00B3 GETNGBL R14 K58
+ 0x603C0018, // 00B4 GETGBL R15 G24
+ 0x584000A4, // 00B5 LDCONST R16 K164
+ 0x5C441800, // 00B6 MOVE R17 R12
+ 0x5C481A00, // 00B7 MOVE R18 R13
+ 0x7C3C0600, // 00B8 CALL R15 3
+ 0x58400053, // 00B9 LDCONST R16 K83
+ 0x7C380400, // 00BA CALL R14 2
+ 0x8C381739, // 00BB GETMET R14 R11 K57
+ 0x584000A5, // 00BC LDCONST R16 K165
+ 0x7C380400, // 00BD CALL R14 2
+ 0x783A0002, // 00BE JMPF R14 #00C2
+ 0x943C1D21, // 00BF GETIDX R15 R14 K33
+ 0x243C1F0A, // 00C0 GT R15 R15 K10
+ 0x743E0000, // 00C1 JMPT R15 #00C3
+ 0x503C0001, // 00C2 LDBOOL R15 0 1
+ 0x503C0200, // 00C3 LDBOOL R15 1 0
+ 0x60400008, // 00C4 GETGBL R16 G8
+ 0x5C440600, // 00C5 MOVE R17 R3
+ 0x7C400200, // 00C6 CALL R16 1
+ 0x60440013, // 00C7 GETGBL R17 G19
+ 0x7C440000, // 00C8 CALL R17 0
+ 0x783E0001, // 00C9 JMPF R15 #00CC
+ 0x584800A6, // 00CA LDCONST R18 K166
+ 0x70020000, // 00CB JMP #00CD
+ 0x584800A7, // 00CC LDCONST R18 K167
+ 0x98462412, // 00CD SETIDX R17 K18 R18
+ 0x98474E09, // 00CE SETIDX R17 K167 R9
+ 0x98082011, // 00CF SETIDX R2 R16 R17
+ 0x000C0738, // 00D0 ADD R3 R3 K56
+ 0x00241338, // 00D1 ADD R9 R9 K56
+ 0x7001FFB7, // 00D2 JMP #008B
+ 0x6024000C, // 00D3 GETGBL R9 G12
+ 0xB82A2C00, // 00D4 GETNGBL R10 K22
+ 0x8C2815A8, // 00D5 GETMET R10 R10 K168
+ 0x7C280200, // 00D6 CALL R10 1
+ 0x7C240200, // 00D7 CALL R9 1
+ 0x5828000A, // 00D8 LDCONST R10 K10
+ 0x04241204, // 00D9 SUB R9 R9 R4
+ 0x142C1409, // 00DA LT R11 R10 R9
+ 0x782E0011, // 00DB JMPF R11 #00EE
+ 0x8C2C1139, // 00DC GETMET R11 R8 K57
+ 0x5C341400, // 00DD MOVE R13 R10
+ 0x7C2C0400, // 00DE CALL R11 2
+ 0x4C300000, // 00DF LDNIL R12
+ 0x1C2C160C, // 00E0 EQ R11 R11 R12
+ 0x782E0009, // 00E1 JMPF R11 #00EC
+ 0x602C0008, // 00E2 GETGBL R11 G8
+ 0x5C300600, // 00E3 MOVE R12 R3
+ 0x7C2C0200, // 00E4 CALL R11 1
+ 0x60300013, // 00E5 GETGBL R12 G19
+ 0x7C300000, // 00E6 CALL R12 0
+ 0x983225A9, // 00E7 SETIDX R12 K18 K169
+ 0x00341538, // 00E8 ADD R13 R10 K56
+ 0x9833520D, // 00E9 SETIDX R12 K169 R13
+ 0x9808160C, // 00EA SETIDX R2 R11 R12
+ 0x000C0738, // 00EB ADD R3 R3 K56
+ 0x00281538, // 00EC ADD R10 R10 K56
+ 0x7001FFEB, // 00ED JMP #00DA
+ 0x8C2C035E, // 00EE GETMET R11 R1 K94
+ 0xB8362C00, // 00EF GETNGBL R13 K22
+ 0x8C341B5B, // 00F0 GETMET R13 R13 K91
+ 0x7C340200, // 00F1 CALL R13 1
+ 0x7C2C0400, // 00F2 CALL R11 2
+ 0x8C3001AA, // 00F3 GETMET R12 R0 K170
+ 0x5C381600, // 00F4 MOVE R14 R11
+ 0x7C300400, // 00F5 CALL R12 2
+ 0x60340010, // 00F6 GETGBL R13 G16
+ 0x5C381800, // 00F7 MOVE R14 R12
+ 0x7C340200, // 00F8 CALL R13 1
+ 0xA8020007, // 00F9 EXBLK 0 #0102
+ 0x5C381A00, // 00FA MOVE R14 R13
+ 0x7C380000, // 00FB CALL R14 0
+ 0x603C0008, // 00FC GETGBL R15 G8
+ 0x5C400600, // 00FD MOVE R16 R3
+ 0x7C3C0200, // 00FE CALL R15 1
+ 0x98081E0E, // 00FF SETIDX R2 R15 R14
+ 0x000C0738, // 0100 ADD R3 R3 K56
+ 0x7001FFF7, // 0101 JMP #00FA
+ 0x58340014, // 0102 LDCONST R13 K20
+ 0xAC340200, // 0103 CATCH R13 1 0
+ 0xB0080000, // 0104 RAISE 2 R0 R0
+ 0x80040400, // 0105 RET 1 R2
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: bridge_add_endpoint
+********************************************************************/
+be_local_closure(class_Matter_Device_bridge_add_endpoint, /* name */
+ be_nested_proto(
+ 16, /* nstack */
+ 3, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(bridge_add_endpoint),
+ &be_const_str_solidified,
+ ( &(const binstruction[68]) { /* code */
+ 0x880C017A, // 0000 GETMBR R3 R0 K122
+ 0x8C0C0739, // 0001 GETMET R3 R3 K57
+ 0x5C140200, // 0002 MOVE R5 R1
+ 0x7C0C0400, // 0003 CALL R3 2
+ 0x4C100000, // 0004 LDNIL R4
+ 0x1C100604, // 0005 EQ R4 R3 R4
+ 0x78120008, // 0006 JMPF R4 #0010
+ 0xB8127400, // 0007 GETNGBL R4 K58
+ 0x60140008, // 0008 GETGBL R5 G8
+ 0x5C180200, // 0009 MOVE R6 R1
+ 0x7C140200, // 000A CALL R5 1
+ 0x0016F605, // 000B ADD R5 K123 R5
+ 0x00140B7C, // 000C ADD R5 R5 K124
+ 0x58180053, // 000D LDCONST R6 K83
+ 0x7C100400, // 000E CALL R4 2
+ 0x80000800, // 000F RET 0
+ 0x88100120, // 0010 GETMBR R4 R0 K32
+ 0x60140008, // 0011 GETGBL R5 G8
+ 0x5C180800, // 0012 MOVE R6 R4
+ 0x7C140200, // 0013 CALL R5 1
+ 0x5C180600, // 0014 MOVE R6 R3
+ 0x5C1C0000, // 0015 MOVE R7 R0
+ 0x5C200800, // 0016 MOVE R8 R4
+ 0x5C240400, // 0017 MOVE R9 R2
+ 0x7C180600, // 0018 CALL R6 3
+ 0x881C011E, // 0019 GETMBR R7 R0 K30
+ 0x8C1C0F62, // 001A GETMET R7 R7 K98
+ 0x5C240C00, // 001B MOVE R9 R6
+ 0x7C1C0400, // 001C CALL R7 2
+ 0x601C0013, // 001D GETGBL R7 G19
+ 0x7C1C0000, // 001E CALL R7 0
+ 0x981E2401, // 001F SETIDX R7 K18 R1
+ 0x60200010, // 0020 GETGBL R8 G16
+ 0x8C240566, // 0021 GETMET R9 R2 K102
+ 0x7C240200, // 0022 CALL R9 1
+ 0x7C200200, // 0023 CALL R8 1
+ 0xA8020004, // 0024 EXBLK 0 #002A
+ 0x5C241000, // 0025 MOVE R9 R8
+ 0x7C240000, // 0026 CALL R9 0
+ 0x94280409, // 0027 GETIDX R10 R2 R9
+ 0x981C120A, // 0028 SETIDX R7 R9 R10
+ 0x7001FFFA, // 0029 JMP #0025
+ 0x58200014, // 002A LDCONST R8 K20
+ 0xAC200200, // 002B CATCH R8 1 0
+ 0xB0080000, // 002C RAISE 2 R0 R0
+ 0xB8227400, // 002D GETNGBL R8 K58
+ 0x60240018, // 002E GETGBL R9 G24
+ 0x582800AB, // 002F LDCONST R10 K171
+ 0x5C2C0800, // 0030 MOVE R11 R4
+ 0x5C300200, // 0031 MOVE R12 R1
+ 0x8C34017D, // 0032 GETMET R13 R0 K125
+ 0x5C3C0400, // 0033 MOVE R15 R2
+ 0x7C340400, // 0034 CALL R13 2
+ 0x7C240800, // 0035 CALL R9 4
+ 0x58280021, // 0036 LDCONST R10 K33
+ 0x7C200400, // 0037 CALL R8 2
+ 0x88200156, // 0038 GETMBR R8 R0 K86
+ 0x98200A07, // 0039 SETIDX R8 R5 R7
+ 0x50200200, // 003A LDBOOL R8 1 0
+ 0x90021608, // 003B SETMBR R0 K11 R8
+ 0x88200120, // 003C GETMBR R8 R0 K32
+ 0x00201138, // 003D ADD R8 R8 K56
+ 0x90024008, // 003E SETMBR R0 K32 R8
+ 0x8C20010C, // 003F GETMET R8 R0 K12
+ 0x7C200200, // 0040 CALL R8 1
+ 0x8C2001AC, // 0041 GETMET R8 R0 K172
+ 0x7C200200, // 0042 CALL R8 1
+ 0x80040800, // 0043 RET 1 R4
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: MtrInfo
+********************************************************************/
+be_local_closure(class_Matter_Device_MtrInfo, /* name */
+ be_nested_proto(
+ 10, /* nstack */
+ 5, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(MtrInfo),
+ &be_const_str_solidified,
+ ( &(const binstruction[40]) { /* code */
+ 0x1C140710, // 0000 EQ R5 R3 K16
+ 0x7815FFFF, // 0001 JMPF R5 #0002
+ 0x1C140710, // 0002 EQ R5 R3 K16
+ 0x7816000D, // 0003 JMPF R5 #0012
+ 0x60140010, // 0004 GETGBL R5 G16
+ 0x8818011E, // 0005 GETMBR R6 R0 K30
+ 0x7C140200, // 0006 CALL R5 1
+ 0xA8020005, // 0007 EXBLK 0 #000E
+ 0x5C180A00, // 0008 MOVE R6 R5
+ 0x7C180000, // 0009 CALL R6 0
+ 0x8C1C01AD, // 000A GETMET R7 R0 K173
+ 0x88240D48, // 000B GETMBR R9 R6 K72
+ 0x7C1C0400, // 000C CALL R7 2
+ 0x7001FFF9, // 000D JMP #0008
+ 0x58140014, // 000E LDCONST R5 K20
+ 0xAC140200, // 000F CATCH R5 1 0
+ 0xB0080000, // 0010 RAISE 2 R0 R0
+ 0x70020011, // 0011 JMP #0024
+ 0x60140004, // 0012 GETGBL R5 G4
+ 0x5C180800, // 0013 MOVE R6 R4
+ 0x7C140200, // 0014 CALL R5 1
+ 0x1C140BAE, // 0015 EQ R5 R5 K174
+ 0x78160003, // 0016 JMPF R5 #001B
+ 0x8C1401AD, // 0017 GETMET R5 R0 K173
+ 0x5C1C0800, // 0018 MOVE R7 R4
+ 0x7C140400, // 0019 CALL R5 2
+ 0x70020008, // 001A JMP #0024
+ 0x8C1401AF, // 001B GETMET R5 R0 K175
+ 0x5C1C0600, // 001C MOVE R7 R3
+ 0x7C140400, // 001D CALL R5 2
+ 0x4C180000, // 001E LDNIL R6
+ 0x20180A06, // 001F NE R6 R5 R6
+ 0x781A0002, // 0020 JMPF R6 #0024
+ 0x8C1801AD, // 0021 GETMET R6 R0 K173
+ 0x88200B48, // 0022 GETMBR R8 R5 K72
+ 0x7C180400, // 0023 CALL R6 2
+ 0xB8162C00, // 0024 GETNGBL R5 K22
+ 0x8C140BB0, // 0025 GETMET R5 R5 K176
+ 0x7C140200, // 0026 CALL R5 1
+ 0x80000000, // 0027 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: load_param
+********************************************************************/
+be_local_closure(class_Matter_Device_load_param, /* name */
+ be_nested_proto(
+ 12, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(load_param),
+ &be_const_str_solidified,
+ ( &(const binstruction[134]) { /* code */
+ 0xA4062A00, // 0000 IMPORT R1 K21
+ 0x50080000, // 0001 LDBOOL R2 0 0
+ 0xA8020054, // 0002 EXBLK 0 #0058
+ 0x600C0011, // 0003 GETGBL R3 G17
+ 0x881001B1, // 0004 GETMBR R4 R0 K177
+ 0x7C0C0200, // 0005 CALL R3 1
+ 0x8C1007B2, // 0006 GETMET R4 R3 K178
+ 0x7C100200, // 0007 CALL R4 1
+ 0x8C14078A, // 0008 GETMET R5 R3 K138
+ 0x7C140200, // 0009 CALL R5 1
+ 0xA416AA00, // 000A IMPORT R5 K85
+ 0x8C180B5E, // 000B GETMET R6 R5 K94
+ 0x5C200800, // 000C MOVE R8 R4
+ 0x7C180400, // 000D CALL R6 2
+ 0x8C1C0D39, // 000E GETMET R7 R6 K57
+ 0x582400B4, // 000F LDCONST R9 K180
+ 0x882801B3, // 0010 GETMBR R10 R0 K179
+ 0x7C1C0600, // 0011 CALL R7 3
+ 0x90036607, // 0012 SETMBR R0 K179 R7
+ 0x8C1C0D39, // 0013 GETMET R7 R6 K57
+ 0x582400B6, // 0014 LDCONST R9 K182
+ 0x882801B5, // 0015 GETMBR R10 R0 K181
+ 0x7C1C0600, // 0016 CALL R7 3
+ 0x90036A07, // 0017 SETMBR R0 K181 R7
+ 0x601C0017, // 0018 GETGBL R7 G23
+ 0x8C200D39, // 0019 GETMET R8 R6 K57
+ 0x58280022, // 001A LDCONST R10 K34
+ 0x502C0000, // 001B LDBOOL R11 0 0
+ 0x7C200600, // 001C CALL R8 3
+ 0x7C1C0200, // 001D CALL R7 1
+ 0x90024407, // 001E SETMBR R0 K34 R7
+ 0x601C0017, // 001F GETGBL R7 G23
+ 0x8C200D39, // 0020 GETMET R8 R6 K57
+ 0x58280023, // 0021 LDCONST R10 K35
+ 0x502C0000, // 0022 LDBOOL R11 0 0
+ 0x7C200600, // 0023 CALL R8 3
+ 0x7C1C0200, // 0024 CALL R7 1
+ 0x90024607, // 0025 SETMBR R0 K35 R7
+ 0x8C1C0D39, // 0026 GETMET R7 R6 K57
+ 0x582400B7, // 0027 LDCONST R9 K183
+ 0x88280120, // 0028 GETMBR R10 R0 K32
+ 0x7C1C0600, // 0029 CALL R7 3
+ 0x90024007, // 002A SETMBR R0 K32 R7
+ 0x8C1C0D39, // 002B GETMET R7 R6 K57
+ 0x582400B8, // 002C LDCONST R9 K184
+ 0x7C1C0400, // 002D CALL R7 2
+ 0x9002AC07, // 002E SETMBR R0 K86 R7
+ 0x601C0017, // 002F GETGBL R7 G23
+ 0x8C200D39, // 0030 GETMET R8 R6 K57
+ 0x582800B9, // 0031 LDCONST R10 K185
+ 0x7C200400, // 0032 CALL R8 2
+ 0x7C1C0200, // 0033 CALL R7 1
+ 0x90037207, // 0034 SETMBR R0 K185 R7
+ 0x881C0156, // 0035 GETMBR R7 R0 K86
+ 0x4C200000, // 0036 LDNIL R8
+ 0x201C0E08, // 0037 NE R7 R7 R8
+ 0x781E000D, // 0038 JMPF R7 #0047
+ 0xB81E7400, // 0039 GETNGBL R7 K58
+ 0x60200018, // 003A GETGBL R8 G24
+ 0x582400BA, // 003B LDCONST R9 K186
+ 0x88280156, // 003C GETMBR R10 R0 K86
+ 0x7C200400, // 003D CALL R8 2
+ 0x58240053, // 003E LDCONST R9 K83
+ 0x7C1C0400, // 003F CALL R7 2
+ 0x8C1C0158, // 0040 GETMET R7 R0 K88
+ 0x7C1C0200, // 0041 CALL R7 1
+ 0x8C1C01BB, // 0042 GETMET R7 R0 K187
+ 0x7C1C0200, // 0043 CALL R7 1
+ 0x5C080E00, // 0044 MOVE R2 R7
+ 0x501C0200, // 0045 LDBOOL R7 1 0
+ 0x90021607, // 0046 SETMBR R0 K11 R7
+ 0x8C1C0D39, // 0047 GETMET R7 R6 K57
+ 0x582400BC, // 0048 LDCONST R9 K188
+ 0x60280013, // 0049 GETGBL R10 G19
+ 0x7C280000, // 004A CALL R10 0
+ 0x7C1C0600, // 004B CALL R7 3
+ 0x90023E07, // 004C SETMBR R0 K31 R7
+ 0x881C011F, // 004D GETMBR R7 R0 K31
+ 0x781E0006, // 004E JMPF R7 #0056
+ 0xB81E7400, // 004F GETNGBL R7 K58
+ 0x60200008, // 0050 GETGBL R8 G8
+ 0x8824011F, // 0051 GETMBR R9 R0 K31
+ 0x7C200200, // 0052 CALL R8 1
+ 0x00237A08, // 0053 ADD R8 K189 R8
+ 0x58240053, // 0054 LDCONST R9 K83
+ 0x7C1C0400, // 0055 CALL R7 2
+ 0xA8040001, // 0056 EXBLK 1 1
+ 0x70020011, // 0057 JMP #006A
+ 0xAC0C0002, // 0058 CATCH R3 0 2
+ 0x7002000E, // 0059 JMP #0069
+ 0x201407BE, // 005A NE R5 R3 K190
+ 0x7816000B, // 005B JMPF R5 #0068
+ 0xB8167400, // 005C GETNGBL R5 K58
+ 0x60180008, // 005D GETGBL R6 G8
+ 0x5C1C0600, // 005E MOVE R7 R3
+ 0x7C180200, // 005F CALL R6 1
+ 0x001B7E06, // 0060 ADD R6 K191 R6
+ 0x00180D7F, // 0061 ADD R6 R6 K127
+ 0x601C0008, // 0062 GETGBL R7 G8
+ 0x5C200800, // 0063 MOVE R8 R4
+ 0x7C1C0200, // 0064 CALL R7 1
+ 0x00180C07, // 0065 ADD R6 R6 R7
+ 0x581C0021, // 0066 LDCONST R7 K33
+ 0x7C140400, // 0067 CALL R5 2
+ 0x70020000, // 0068 JMP #006A
+ 0xB0080000, // 0069 RAISE 2 R0 R0
+ 0x880C01B3, // 006A GETMBR R3 R0 K179
+ 0x4C100000, // 006B LDNIL R4
+ 0x1C0C0604, // 006C EQ R3 R3 R4
+ 0x780E000A, // 006D JMPF R3 #0079
+ 0x8C0C03C0, // 006E GETMET R3 R1 K192
+ 0x58140021, // 006F LDCONST R5 K33
+ 0x7C0C0400, // 0070 CALL R3 2
+ 0x8C0C0786, // 0071 GETMET R3 R3 K134
+ 0x5814000A, // 0072 LDCONST R5 K10
+ 0x58180021, // 0073 LDCONST R6 K33
+ 0x7C0C0600, // 0074 CALL R3 3
+ 0x54120FFE, // 0075 LDINT R4 4095
+ 0x2C0C0604, // 0076 AND R3 R3 R4
+ 0x90036603, // 0077 SETMBR R0 K179 R3
+ 0x50080200, // 0078 LDBOOL R2 1 0
+ 0x880C01B5, // 0079 GETMBR R3 R0 K181
+ 0x4C100000, // 007A LDNIL R4
+ 0x1C0C0604, // 007B EQ R3 R3 R4
+ 0x780E0004, // 007C JMPF R3 #0082
+ 0x880C0106, // 007D GETMBR R3 R0 K6
+ 0x8C0C07C1, // 007E GETMET R3 R3 K193
+ 0x7C0C0200, // 007F CALL R3 1
+ 0x90036A03, // 0080 SETMBR R0 K181 R3
+ 0x50080200, // 0081 LDBOOL R2 1 0
+ 0x780A0001, // 0082 JMPF R2 #0085
+ 0x8C0C010C, // 0083 GETMET R3 R0 K12
+ 0x7C0C0200, // 0084 CALL R3 1
+ 0x80000000, // 0085 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: MtrUpdate
+********************************************************************/
+be_local_closure(class_Matter_Device_MtrUpdate, /* name */
+ be_nested_proto(
+ 18, /* nstack */
+ 5, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(MtrUpdate),
+ &be_const_str_solidified,
+ ( &(const binstruction[126]) { /* code */
+ 0x4C140000, // 0000 LDNIL R5
+ 0x1C140805, // 0001 EQ R5 R4 R5
+ 0x78160004, // 0002 JMPF R5 #0008
+ 0xB8162C00, // 0003 GETNGBL R5 K22
+ 0x8C140BC2, // 0004 GETMET R5 R5 K194
+ 0x581C00C3, // 0005 LDCONST R7 K195
+ 0x7C140400, // 0006 CALL R5 2
+ 0x80040A00, // 0007 RET 1 R5
+ 0xB8162C00, // 0008 GETNGBL R5 K22
+ 0x8C140BC4, // 0009 GETMET R5 R5 K196
+ 0x5C1C0800, // 000A MOVE R7 R4
+ 0x582000C5, // 000B LDCONST R8 K197
+ 0x7C140600, // 000C CALL R5 3
+ 0xB81A2C00, // 000D GETNGBL R6 K22
+ 0x8C180DC4, // 000E GETMET R6 R6 K196
+ 0x5C200800, // 000F MOVE R8 R4
+ 0x582400C6, // 0010 LDCONST R9 K198
+ 0x7C180600, // 0011 CALL R6 3
+ 0x74160000, // 0012 JMPT R5 #0014
+ 0x781A0064, // 0013 JMPF R6 #0079
+ 0x4C1C0000, // 0014 LDNIL R7
+ 0x78160010, // 0015 JMPF R5 #0027
+ 0x60200009, // 0016 GETGBL R8 G9
+ 0x94240805, // 0017 GETIDX R9 R4 R5
+ 0x7C200200, // 0018 CALL R8 1
+ 0x1824110A, // 0019 LE R9 R8 K10
+ 0x78260004, // 001A JMPF R9 #0020
+ 0xB8262C00, // 001B GETNGBL R9 K22
+ 0x8C2413C2, // 001C GETMET R9 R9 K194
+ 0x582C00C7, // 001D LDCONST R11 K199
+ 0x7C240400, // 001E CALL R9 2
+ 0x80041200, // 001F RET 1 R9
+ 0x8C24014B, // 0020 GETMET R9 R0 K75
+ 0x5C2C1000, // 0021 MOVE R11 R8
+ 0x7C240400, // 0022 CALL R9 2
+ 0x5C1C1200, // 0023 MOVE R7 R9
+ 0x8C240983, // 0024 GETMET R9 R4 K131
+ 0x5C2C0A00, // 0025 MOVE R11 R5
+ 0x7C240400, // 0026 CALL R9 2
+ 0x781A0009, // 0027 JMPF R6 #0032
+ 0x4C200000, // 0028 LDNIL R8
+ 0x1C200E08, // 0029 EQ R8 R7 R8
+ 0x78220003, // 002A JMPF R8 #002F
+ 0x8C2001AF, // 002B GETMET R8 R0 K175
+ 0x94280806, // 002C GETIDX R10 R4 R6
+ 0x7C200400, // 002D CALL R8 2
+ 0x5C1C1000, // 002E MOVE R7 R8
+ 0x8C200983, // 002F GETMET R8 R4 K131
+ 0x5C280C00, // 0030 MOVE R10 R6
+ 0x7C200400, // 0031 CALL R8 2
+ 0x4C200000, // 0032 LDNIL R8
+ 0x1C200E08, // 0033 EQ R8 R7 R8
+ 0x78220004, // 0034 JMPF R8 #003A
+ 0xB8222C00, // 0035 GETNGBL R8 K22
+ 0x8C2011C2, // 0036 GETMET R8 R8 K194
+ 0x582800C8, // 0037 LDCONST R10 K200
+ 0x7C200400, // 0038 CALL R8 2
+ 0x80041000, // 0039 RET 1 R8
+ 0x88200FC9, // 003A GETMBR R8 R7 K201
+ 0x74220004, // 003B JMPT R8 #0041
+ 0xB8222C00, // 003C GETNGBL R8 K22
+ 0x8C2011C2, // 003D GETMET R8 R8 K194
+ 0x582800CA, // 003E LDCONST R10 K202
+ 0x7C200400, // 003F CALL R8 2
+ 0x80041000, // 0040 RET 1 R8
+ 0x8C200FCB, // 0041 GETMET R8 R7 K203
+ 0x7C200200, // 0042 CALL R8 1
+ 0x60240013, // 0043 GETGBL R9 G19
+ 0x7C240000, // 0044 CALL R9 0
+ 0x60280010, // 0045 GETGBL R10 G16
+ 0x8C2C0966, // 0046 GETMET R11 R4 K102
+ 0x7C2C0200, // 0047 CALL R11 1
+ 0x7C280200, // 0048 CALL R10 1
+ 0xA8020016, // 0049 EXBLK 0 #0061
+ 0x5C2C1400, // 004A MOVE R11 R10
+ 0x7C2C0000, // 004B CALL R11 0
+ 0xB8322C00, // 004C GETNGBL R12 K22
+ 0x8C3019CC, // 004D GETMET R12 R12 K204
+ 0x5C381000, // 004E MOVE R14 R8
+ 0x5C3C1600, // 004F MOVE R15 R11
+ 0x7C300600, // 0050 CALL R12 3
+ 0x4C340000, // 0051 LDNIL R13
+ 0x1C34180D, // 0052 EQ R13 R12 R13
+ 0x78360008, // 0053 JMPF R13 #005D
+ 0xB8362C00, // 0054 GETNGBL R13 K22
+ 0x8C341BC2, // 0055 GETMET R13 R13 K194
+ 0x603C0018, // 0056 GETGBL R15 G24
+ 0x584000CD, // 0057 LDCONST R16 K205
+ 0x5C441600, // 0058 MOVE R17 R11
+ 0x7C3C0400, // 0059 CALL R15 2
+ 0x7C340400, // 005A CALL R13 2
+ 0xA8040001, // 005B EXBLK 1 1
+ 0x80001A00, // 005C RET 0
+ 0x9434100C, // 005D GETIDX R13 R8 R12
+ 0x9438080B, // 005E GETIDX R14 R4 R11
+ 0x98241A0E, // 005F SETIDX R9 R13 R14
+ 0x7001FFE8, // 0060 JMP #004A
+ 0x58280014, // 0061 LDCONST R10 K20
+ 0xAC280200, // 0062 CATCH R10 1 0
+ 0xB0080000, // 0063 RAISE 2 R0 R0
+ 0x8C280FCE, // 0064 GETMET R10 R7 K206
+ 0x5C301200, // 0065 MOVE R12 R9
+ 0x7C280400, // 0066 CALL R10 2
+ 0x8C280FCF, // 0067 GETMET R10 R7 K207
+ 0x7C280200, // 0068 CALL R10 1
+ 0x782A000A, // 0069 JMPF R10 #0075
+ 0x602C0018, // 006A GETGBL R11 G24
+ 0x583000D0, // 006B LDCONST R12 K208
+ 0x5C340200, // 006C MOVE R13 R1
+ 0x5C381400, // 006D MOVE R14 R10
+ 0x7C2C0600, // 006E CALL R11 3
+ 0xB8322C00, // 006F GETNGBL R12 K22
+ 0x8C3019D1, // 0070 GETMET R12 R12 K209
+ 0x5C381600, // 0071 MOVE R14 R11
+ 0x7C300400, // 0072 CALL R12 2
+ 0x80041800, // 0073 RET 1 R12
+ 0x70020003, // 0074 JMP #0079
+ 0xB82E2C00, // 0075 GETNGBL R11 K22
+ 0x8C2C17B0, // 0076 GETMET R11 R11 K176
+ 0x7C2C0200, // 0077 CALL R11 1
+ 0x80041600, // 0078 RET 1 R11
+ 0xB81E2C00, // 0079 GETNGBL R7 K22
+ 0x8C1C0FC2, // 007A GETMET R7 R7 K194
+ 0x582400D2, // 007B LDCONST R9 K210
+ 0x7C1C0400, // 007C CALL R7 2
+ 0x80000000, // 007D RET 0
})
)
);
@@ -971,7 +2953,7 @@ be_local_closure(class_Matter_Device_register_commands, /* name */
be_nested_proto(
5, /* nstack */
1, /* argc */
- 2, /* varg */
+ 10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
1, /* has sup protos */
@@ -1059,29 +3041,23 @@ be_local_closure(class_Matter_Device_register_commands, /* name */
),
}),
1, /* has constants */
- ( &(const bvalue[ 5]) { /* constants */
- /* K0 */ be_nested_str_weak(tasmota),
- /* K1 */ be_nested_str_weak(add_cmd),
- /* K2 */ be_nested_str_weak(MtrJoin),
- /* K3 */ be_nested_str_weak(MtrUpdate),
- /* K4 */ be_nested_str_weak(MtrInfo),
- }),
+ &be_ktab_class_Matter_Device, /* shared constants */
be_str_weak(register_commands),
&be_const_str_solidified,
( &(const binstruction[17]) { /* code */
- 0xB8060000, // 0000 GETNGBL R1 K0
- 0x8C040301, // 0001 GETMET R1 R1 K1
- 0x580C0002, // 0002 LDCONST R3 K2
+ 0xB8062C00, // 0000 GETNGBL R1 K22
+ 0x8C0403D3, // 0001 GETMET R1 R1 K211
+ 0x580C00D4, // 0002 LDCONST R3 K212
0x84100000, // 0003 CLOSURE R4 P0
0x7C040600, // 0004 CALL R1 3
- 0xB8060000, // 0005 GETNGBL R1 K0
- 0x8C040301, // 0006 GETMET R1 R1 K1
- 0x580C0003, // 0007 LDCONST R3 K3
+ 0xB8062C00, // 0005 GETNGBL R1 K22
+ 0x8C0403D3, // 0006 GETMET R1 R1 K211
+ 0x580C00D5, // 0007 LDCONST R3 K213
0x84100001, // 0008 CLOSURE R4 P1
0x7C040600, // 0009 CALL R1 3
- 0xB8060000, // 000A GETNGBL R1 K0
- 0x8C040301, // 000B GETMET R1 R1 K1
- 0x580C0004, // 000C LDCONST R3 K4
+ 0xB8062C00, // 000A GETNGBL R1 K22
+ 0x8C0403D3, // 000B GETMET R1 R1 K211
+ 0x580C00D6, // 000C LDCONST R3 K214
0x84100002, // 000D CLOSURE R4 P2
0x7C040600, // 000E CALL R1 3
0xA0000000, // 000F CLOSE R0
@@ -1092,3168 +3068,6 @@ be_local_closure(class_Matter_Device_register_commands, /* name */
/*******************************************************************/
-/********************************************************************
-** Solidified function: compute_qrcode_content
-********************************************************************/
-be_local_closure(class_Matter_Device_compute_qrcode_content, /* name */
- be_nested_proto(
- 8, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[12]) { /* constants */
- /* K0 */ be_nested_str_weak(resize),
- /* K1 */ be_nested_str_weak(setbits),
- /* K2 */ be_const_int(3),
- /* K3 */ be_nested_str_weak(VENDOR_ID),
- /* K4 */ be_nested_str_weak(PRODUCT_ID),
- /* K5 */ be_nested_str_weak(root_discriminator),
- /* K6 */ be_nested_str_weak(root_passcode),
- /* K7 */ be_const_int(134217727),
- /* K8 */ be_nested_str_weak(MT_X3A),
- /* K9 */ be_nested_str_weak(matter),
- /* K10 */ be_nested_str_weak(Base38),
- /* K11 */ be_nested_str_weak(encode),
- }),
- be_str_weak(compute_qrcode_content),
- &be_const_str_solidified,
- ( &(const binstruction[40]) { /* code */
- 0x60040015, // 0000 GETGBL R1 G21
- 0x7C040000, // 0001 CALL R1 0
- 0x8C040300, // 0002 GETMET R1 R1 K0
- 0x540E000A, // 0003 LDINT R3 11
- 0x7C040400, // 0004 CALL R1 2
- 0x8C080301, // 0005 GETMET R2 R1 K1
- 0x58100002, // 0006 LDCONST R4 K2
- 0x5416000F, // 0007 LDINT R5 16
- 0x88180103, // 0008 GETMBR R6 R0 K3
- 0x7C080800, // 0009 CALL R2 4
- 0x8C080301, // 000A GETMET R2 R1 K1
- 0x54120012, // 000B LDINT R4 19
- 0x5416000F, // 000C LDINT R5 16
- 0x88180104, // 000D GETMBR R6 R0 K4
- 0x7C080800, // 000E CALL R2 4
- 0x8C080301, // 000F GETMET R2 R1 K1
- 0x54120024, // 0010 LDINT R4 37
- 0x54160007, // 0011 LDINT R5 8
- 0x541A0003, // 0012 LDINT R6 4
- 0x7C080800, // 0013 CALL R2 4
- 0x8C080301, // 0014 GETMET R2 R1 K1
- 0x5412002C, // 0015 LDINT R4 45
- 0x5416000B, // 0016 LDINT R5 12
- 0x88180105, // 0017 GETMBR R6 R0 K5
- 0x541E0FFE, // 0018 LDINT R7 4095
- 0x2C180C07, // 0019 AND R6 R6 R7
- 0x7C080800, // 001A CALL R2 4
- 0x8C080301, // 001B GETMET R2 R1 K1
- 0x54120038, // 001C LDINT R4 57
- 0x5416001A, // 001D LDINT R5 27
- 0x88180106, // 001E GETMBR R6 R0 K6
- 0x2C180D07, // 001F AND R6 R6 K7
- 0x7C080800, // 0020 CALL R2 4
- 0xB80A1200, // 0021 GETNGBL R2 K9
- 0x8808050A, // 0022 GETMBR R2 R2 K10
- 0x8C08050B, // 0023 GETMET R2 R2 K11
- 0x5C100200, // 0024 MOVE R4 R1
- 0x7C080400, // 0025 CALL R2 2
- 0x000A1002, // 0026 ADD R2 K8 R2
- 0x80040400, // 0027 RET 1 R2
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: resolve_attribute_read_solo
-********************************************************************/
-be_local_closure(class_Matter_Device_resolve_attribute_read_solo, /* name */
- be_nested_proto(
- 10, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[11]) { /* constants */
- /* K0 */ be_nested_str_weak(endpoint),
- /* K1 */ be_nested_str_weak(cluster),
- /* K2 */ be_nested_str_weak(attribute),
- /* K3 */ be_nested_str_weak(find_plugin_by_endpoint),
- /* K4 */ be_nested_str_weak(status),
- /* K5 */ be_nested_str_weak(matter),
- /* K6 */ be_nested_str_weak(UNSUPPORTED_ENDPOINT),
- /* K7 */ be_nested_str_weak(contains_cluster),
- /* K8 */ be_nested_str_weak(UNSUPPORTED_CLUSTER),
- /* K9 */ be_nested_str_weak(contains_attribute),
- /* K10 */ be_nested_str_weak(UNSUPPORTED_ATTRIBUTE),
- }),
- be_str_weak(resolve_attribute_read_solo),
- &be_const_str_solidified,
- ( &(const binstruction[47]) { /* code */
- 0x88080300, // 0000 GETMBR R2 R1 K0
- 0x880C0301, // 0001 GETMBR R3 R1 K1
- 0x88100302, // 0002 GETMBR R4 R1 K2
- 0x4C140000, // 0003 LDNIL R5
- 0x1C140405, // 0004 EQ R5 R2 R5
- 0x74160005, // 0005 JMPT R5 #000C
- 0x4C140000, // 0006 LDNIL R5
- 0x1C140605, // 0007 EQ R5 R3 R5
- 0x74160002, // 0008 JMPT R5 #000C
- 0x4C140000, // 0009 LDNIL R5
- 0x1C140805, // 000A EQ R5 R4 R5
- 0x78160001, // 000B JMPF R5 #000E
- 0x4C140000, // 000C LDNIL R5
- 0x80040A00, // 000D RET 1 R5
- 0x8C140103, // 000E GETMET R5 R0 K3
- 0x5C1C0400, // 000F MOVE R7 R2
- 0x7C140400, // 0010 CALL R5 2
- 0x4C180000, // 0011 LDNIL R6
- 0x1C180A06, // 0012 EQ R6 R5 R6
- 0x781A0005, // 0013 JMPF R6 #001A
- 0xB81A0A00, // 0014 GETNGBL R6 K5
- 0x88180D06, // 0015 GETMBR R6 R6 K6
- 0x90060806, // 0016 SETMBR R1 K4 R6
- 0x4C180000, // 0017 LDNIL R6
- 0x80040C00, // 0018 RET 1 R6
- 0x70020013, // 0019 JMP #002E
- 0x8C180B07, // 001A GETMET R6 R5 K7
- 0x5C200600, // 001B MOVE R8 R3
- 0x7C180400, // 001C CALL R6 2
- 0x741A0005, // 001D JMPT R6 #0024
- 0xB81A0A00, // 001E GETNGBL R6 K5
- 0x88180D08, // 001F GETMBR R6 R6 K8
- 0x90060806, // 0020 SETMBR R1 K4 R6
- 0x4C180000, // 0021 LDNIL R6
- 0x80040C00, // 0022 RET 1 R6
- 0x70020009, // 0023 JMP #002E
- 0x8C180B09, // 0024 GETMET R6 R5 K9
- 0x5C200600, // 0025 MOVE R8 R3
- 0x5C240800, // 0026 MOVE R9 R4
- 0x7C180600, // 0027 CALL R6 3
- 0x741A0004, // 0028 JMPT R6 #002E
- 0xB81A0A00, // 0029 GETNGBL R6 K5
- 0x88180D0A, // 002A GETMBR R6 R6 K10
- 0x90060806, // 002B SETMBR R1 K4 R6
- 0x4C180000, // 002C LDNIL R6
- 0x80040C00, // 002D RET 1 R6
- 0x80040A00, // 002E RET 1 R5
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: update_remotes_info
-********************************************************************/
-be_local_closure(class_Matter_Device_update_remotes_info, /* name */
- be_nested_proto(
- 7, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 6]) { /* constants */
- /* K0 */ be_nested_str_weak(http_remotes),
- /* K1 */ be_nested_str_weak(keys),
- /* K2 */ be_nested_str_weak(get_info),
- /* K3 */ be_const_int(0),
- /* K4 */ be_nested_str_weak(stop_iteration),
- /* K5 */ be_nested_str_weak(plugins_config_remotes),
- }),
- be_str_weak(update_remotes_info),
- &be_const_str_solidified,
- ( &(const binstruction[33]) { /* code */
- 0x60040013, // 0000 GETGBL R1 G19
- 0x7C040000, // 0001 CALL R1 0
- 0x88080100, // 0002 GETMBR R2 R0 K0
- 0x4C0C0000, // 0003 LDNIL R3
- 0x20080403, // 0004 NE R2 R2 R3
- 0x780A0018, // 0005 JMPF R2 #001F
- 0x60080010, // 0006 GETGBL R2 G16
- 0x880C0100, // 0007 GETMBR R3 R0 K0
- 0x8C0C0701, // 0008 GETMET R3 R3 K1
- 0x7C0C0200, // 0009 CALL R3 1
- 0x7C080200, // 000A CALL R2 1
- 0xA802000F, // 000B EXBLK 0 #001C
- 0x5C0C0400, // 000C MOVE R3 R2
- 0x7C0C0000, // 000D CALL R3 0
- 0x88100100, // 000E GETMBR R4 R0 K0
- 0x94100803, // 000F GETIDX R4 R4 R3
- 0x8C100902, // 0010 GETMET R4 R4 K2
- 0x7C100200, // 0011 CALL R4 1
- 0x4C140000, // 0012 LDNIL R5
- 0x20140805, // 0013 NE R5 R4 R5
- 0x78160005, // 0014 JMPF R5 #001B
- 0x6014000C, // 0015 GETGBL R5 G12
- 0x5C180800, // 0016 MOVE R6 R4
- 0x7C140200, // 0017 CALL R5 1
- 0x24140B03, // 0018 GT R5 R5 K3
- 0x78160000, // 0019 JMPF R5 #001B
- 0x98040604, // 001A SETIDX R1 R3 R4
- 0x7001FFEF, // 001B JMP #000C
- 0x58080004, // 001C LDCONST R2 K4
- 0xAC080200, // 001D CATCH R2 1 0
- 0xB0080000, // 001E RAISE 2 R0 R0
- 0x90020A01, // 001F SETMBR R0 K5 R1
- 0x80040200, // 0020 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: button_multi_pressed
-********************************************************************/
-be_local_closure(class_Matter_Device_button_multi_pressed, /* name */
- be_nested_proto(
- 11, /* nstack */
- 3, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 4]) { /* constants */
- /* K0 */ be_nested_str_weak(button_handler),
- /* K1 */ be_const_int(1),
- /* K2 */ be_const_int(2),
- /* K3 */ be_const_int(0),
- }),
- be_str_weak(button_multi_pressed),
- &be_const_str_solidified,
- ( &(const binstruction[13]) { /* code */
- 0x540E0007, // 0000 LDINT R3 8
- 0x3C0C0403, // 0001 SHR R3 R2 R3
- 0x541200FE, // 0002 LDINT R4 255
- 0x2C0C0604, // 0003 AND R3 R3 R4
- 0x541200FE, // 0004 LDINT R4 255
- 0x2C100404, // 0005 AND R4 R2 R4
- 0x8C140100, // 0006 GETMET R5 R0 K0
- 0x001C0901, // 0007 ADD R7 R4 K1
- 0x58200002, // 0008 LDCONST R8 K2
- 0x58240003, // 0009 LDCONST R9 K3
- 0x5C280600, // 000A MOVE R10 R3
- 0x7C140A00, // 000B CALL R5 5
- 0x80000000, // 000C RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: sort_distinct
-********************************************************************/
-be_local_closure(class_Matter_Device_sort_distinct, /* name */
- be_nested_proto(
- 7, /* nstack */
- 1, /* argc */
- 4, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 5]) { /* constants */
- /* K0 */ be_const_class(be_class_Matter_Device),
- /* K1 */ be_const_int(1),
- /* K2 */ be_const_int(0),
- /* K3 */ be_nested_str_weak(stop_iteration),
- /* K4 */ be_nested_str_weak(remove),
- }),
- be_str_weak(sort_distinct),
- &be_const_str_solidified,
- ( &(const binstruction[53]) { /* code */
- 0x58040000, // 0000 LDCONST R1 K0
- 0x60080010, // 0001 GETGBL R2 G16
- 0x600C000C, // 0002 GETGBL R3 G12
- 0x5C100000, // 0003 MOVE R4 R0
- 0x7C0C0200, // 0004 CALL R3 1
- 0x040C0701, // 0005 SUB R3 R3 K1
- 0x400E0203, // 0006 CONNECT R3 K1 R3
- 0x7C080200, // 0007 CALL R2 1
- 0xA8020010, // 0008 EXBLK 0 #001A
- 0x5C0C0400, // 0009 MOVE R3 R2
- 0x7C0C0000, // 000A CALL R3 0
- 0x94100003, // 000B GETIDX R4 R0 R3
- 0x5C140600, // 000C MOVE R5 R3
- 0x24180B02, // 000D GT R6 R5 K2
- 0x781A0008, // 000E JMPF R6 #0018
- 0x04180B01, // 000F SUB R6 R5 K1
- 0x94180006, // 0010 GETIDX R6 R0 R6
- 0x24180C04, // 0011 GT R6 R6 R4
- 0x781A0004, // 0012 JMPF R6 #0018
- 0x04180B01, // 0013 SUB R6 R5 K1
- 0x94180006, // 0014 GETIDX R6 R0 R6
- 0x98000A06, // 0015 SETIDX R0 R5 R6
- 0x04140B01, // 0016 SUB R5 R5 K1
- 0x7001FFF4, // 0017 JMP #000D
- 0x98000A04, // 0018 SETIDX R0 R5 R4
- 0x7001FFEE, // 0019 JMP #0009
- 0x58080003, // 001A LDCONST R2 K3
- 0xAC080200, // 001B CATCH R2 1 0
- 0xB0080000, // 001C RAISE 2 R0 R0
- 0x58080001, // 001D LDCONST R2 K1
- 0x600C000C, // 001E GETGBL R3 G12
- 0x5C100000, // 001F MOVE R4 R0
- 0x7C0C0200, // 0020 CALL R3 1
- 0x180C0701, // 0021 LE R3 R3 K1
- 0x780E0000, // 0022 JMPF R3 #0024
- 0x80040000, // 0023 RET 1 R0
- 0x940C0102, // 0024 GETIDX R3 R0 K2
- 0x6010000C, // 0025 GETGBL R4 G12
- 0x5C140000, // 0026 MOVE R5 R0
- 0x7C100200, // 0027 CALL R4 1
- 0x14100404, // 0028 LT R4 R2 R4
- 0x78120009, // 0029 JMPF R4 #0034
- 0x94100002, // 002A GETIDX R4 R0 R2
- 0x1C100803, // 002B EQ R4 R4 R3
- 0x78120003, // 002C JMPF R4 #0031
- 0x8C100104, // 002D GETMET R4 R0 K4
- 0x5C180400, // 002E MOVE R6 R2
- 0x7C100400, // 002F CALL R4 2
- 0x70020001, // 0030 JMP #0033
- 0x940C0002, // 0031 GETIDX R3 R0 R2
- 0x00080501, // 0032 ADD R2 R2 K1
- 0x7001FFF0, // 0033 JMP #0025
- 0x80040000, // 0034 RET 1 R0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: mdns_remove_PASE
-********************************************************************/
-be_local_closure(class_Matter_Device_mdns_remove_PASE, /* name */
- be_nested_proto(
- 9, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[19]) { /* constants */
- /* K0 */ be_nested_str_weak(mdns),
- /* K1 */ be_nested_str_weak(mdns_pase_eth),
- /* K2 */ be_nested_str_weak(log),
- /* K3 */ be_nested_str_weak(MTR_X3A_X20calling_X20mdns_X2Eremove_service_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X2C_X20_X25s_X29),
- /* K4 */ be_nested_str_weak(_matterc),
- /* K5 */ be_nested_str_weak(_udp),
- /* K6 */ be_nested_str_weak(commissioning_instance_eth),
- /* K7 */ be_nested_str_weak(hostname_eth),
- /* K8 */ be_const_int(3),
- /* K9 */ be_nested_str_weak(MTR_X3A_X20remove_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27),
- /* K10 */ be_nested_str_weak(eth),
- /* K11 */ be_nested_str_weak(remove_service),
- /* K12 */ be_nested_str_weak(mdns_pase_wifi),
- /* K13 */ be_nested_str_weak(commissioning_instance_wifi),
- /* K14 */ be_nested_str_weak(hostname_wifi),
- /* K15 */ be_nested_str_weak(wifi),
- /* K16 */ be_nested_str_weak(MTR_X3A_X20Exception),
- /* K17 */ be_nested_str_weak(_X7C),
- /* K18 */ be_const_int(2),
- }),
- be_str_weak(mdns_remove_PASE),
- &be_const_str_solidified,
- ( &(const binstruction[77]) { /* code */
- 0xA4060000, // 0000 IMPORT R1 K0
- 0xA8020039, // 0001 EXBLK 0 #003C
- 0x88080101, // 0002 GETMBR R2 R0 K1
- 0x780A0019, // 0003 JMPF R2 #001E
- 0xB80A0400, // 0004 GETNGBL R2 K2
- 0x600C0018, // 0005 GETGBL R3 G24
- 0x58100003, // 0006 LDCONST R4 K3
- 0x58140004, // 0007 LDCONST R5 K4
- 0x58180005, // 0008 LDCONST R6 K5
- 0x881C0106, // 0009 GETMBR R7 R0 K6
- 0x88200107, // 000A GETMBR R8 R0 K7
- 0x7C0C0A00, // 000B CALL R3 5
- 0x58100008, // 000C LDCONST R4 K8
- 0x7C080400, // 000D CALL R2 2
- 0xB80A0400, // 000E GETNGBL R2 K2
- 0x600C0018, // 000F GETGBL R3 G24
- 0x58100009, // 0010 LDCONST R4 K9
- 0x5814000A, // 0011 LDCONST R5 K10
- 0x88180106, // 0012 GETMBR R6 R0 K6
- 0x7C0C0600, // 0013 CALL R3 3
- 0x58100008, // 0014 LDCONST R4 K8
- 0x7C080400, // 0015 CALL R2 2
- 0x50080000, // 0016 LDBOOL R2 0 0
- 0x90020202, // 0017 SETMBR R0 K1 R2
- 0x8C08030B, // 0018 GETMET R2 R1 K11
- 0x58100004, // 0019 LDCONST R4 K4
- 0x58140005, // 001A LDCONST R5 K5
- 0x88180106, // 001B GETMBR R6 R0 K6
- 0x881C0107, // 001C GETMBR R7 R0 K7
- 0x7C080A00, // 001D CALL R2 5
- 0x8808010C, // 001E GETMBR R2 R0 K12
- 0x780A0019, // 001F JMPF R2 #003A
- 0xB80A0400, // 0020 GETNGBL R2 K2
- 0x600C0018, // 0021 GETGBL R3 G24
- 0x58100003, // 0022 LDCONST R4 K3
- 0x58140004, // 0023 LDCONST R5 K4
- 0x58180005, // 0024 LDCONST R6 K5
- 0x881C010D, // 0025 GETMBR R7 R0 K13
- 0x8820010E, // 0026 GETMBR R8 R0 K14
- 0x7C0C0A00, // 0027 CALL R3 5
- 0x58100008, // 0028 LDCONST R4 K8
- 0x7C080400, // 0029 CALL R2 2
- 0xB80A0400, // 002A GETNGBL R2 K2
- 0x600C0018, // 002B GETGBL R3 G24
- 0x58100009, // 002C LDCONST R4 K9
- 0x5814000F, // 002D LDCONST R5 K15
- 0x8818010D, // 002E GETMBR R6 R0 K13
- 0x7C0C0600, // 002F CALL R3 3
- 0x58100008, // 0030 LDCONST R4 K8
- 0x7C080400, // 0031 CALL R2 2
- 0x50080000, // 0032 LDBOOL R2 0 0
- 0x90021802, // 0033 SETMBR R0 K12 R2
- 0x8C08030B, // 0034 GETMET R2 R1 K11
- 0x58100004, // 0035 LDCONST R4 K4
- 0x58140005, // 0036 LDCONST R5 K5
- 0x8818010D, // 0037 GETMBR R6 R0 K13
- 0x881C010E, // 0038 GETMBR R7 R0 K14
- 0x7C080A00, // 0039 CALL R2 5
- 0xA8040001, // 003A EXBLK 1 1
- 0x7002000F, // 003B JMP #004C
- 0xAC080002, // 003C CATCH R2 0 2
- 0x7002000C, // 003D JMP #004B
- 0xB8120400, // 003E GETNGBL R4 K2
- 0x60140008, // 003F GETGBL R5 G8
- 0x5C180400, // 0040 MOVE R6 R2
- 0x7C140200, // 0041 CALL R5 1
- 0x00162005, // 0042 ADD R5 K16 R5
- 0x00140B11, // 0043 ADD R5 R5 K17
- 0x60180008, // 0044 GETGBL R6 G8
- 0x5C1C0600, // 0045 MOVE R7 R3
- 0x7C180200, // 0046 CALL R6 1
- 0x00140A06, // 0047 ADD R5 R5 R6
- 0x58180012, // 0048 LDCONST R6 K18
- 0x7C100400, // 0049 CALL R4 2
- 0x70020000, // 004A JMP #004C
- 0xB0080000, // 004B RAISE 2 R0 R0
- 0x80000000, // 004C RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_plugin_remote_info
-********************************************************************/
-be_local_closure(class_Matter_Device_get_plugin_remote_info, /* name */
- be_nested_proto(
- 6, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 2]) { /* constants */
- /* K0 */ be_nested_str_weak(plugins_config_remotes),
- /* K1 */ be_nested_str_weak(find),
- }),
- be_str_weak(get_plugin_remote_info),
- &be_const_str_solidified,
- ( &(const binstruction[ 7]) { /* code */
- 0x88080100, // 0000 GETMBR R2 R0 K0
- 0x8C080501, // 0001 GETMET R2 R2 K1
- 0x5C100200, // 0002 MOVE R4 R1
- 0x60140013, // 0003 GETGBL R5 G19
- 0x7C140000, // 0004 CALL R5 0
- 0x7C080600, // 0005 CALL R2 3
- 0x80040400, // 0006 RET 1 R2
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: start_root_basic_commissioning
-********************************************************************/
-be_local_closure(class_Matter_Device_start_root_basic_commissioning, /* name */
- be_nested_proto(
- 22, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[23]) { /* constants */
- /* K0 */ be_nested_str_weak(PASE_TIMEOUT),
- /* K1 */ be_nested_str_weak(compute_manual_pairing_code),
- /* K2 */ be_nested_str_weak(log),
- /* K3 */ be_nested_str_weak(MTR_X3A_X20Manual_X20pairing_X20code_X3A_X20_X25s),
- /* K4 */ be_const_int(2),
- /* K5 */ be_nested_str_weak(compute_qrcode_content),
- /* K6 */ be_nested_str_weak(tasmota),
- /* K7 */ be_nested_str_weak(publish_result),
- /* K8 */ be_nested_str_weak(_X7B_X22Matter_X22_X3A_X7B_X22Commissioning_X22_X3A1_X2C_X22PairingCode_X22_X3A_X22_X25s_X22_X2C_X22QRCode_X22_X3A_X22_X25s_X22_X7D_X7D),
- /* K9 */ be_nested_str_weak(Matter),
- /* K10 */ be_nested_str_weak(crypto),
- /* K11 */ be_nested_str_weak(random),
- /* K12 */ be_nested_str_weak(add),
- /* K13 */ be_nested_str_weak(root_passcode),
- /* K14 */ be_nested_str_weak(PBKDF2_HMAC_SHA256),
- /* K15 */ be_nested_str_weak(derive),
- /* K16 */ be_nested_str_weak(PBKDF_ITERATIONS),
- /* K17 */ be_const_int(0),
- /* K18 */ be_nested_str_weak(EC_P256),
- /* K19 */ be_nested_str_weak(mod),
- /* K20 */ be_nested_str_weak(public_key),
- /* K21 */ be_nested_str_weak(start_basic_commissioning),
- /* K22 */ be_nested_str_weak(root_discriminator),
- }),
- be_str_weak(start_root_basic_commissioning),
- &be_const_str_solidified,
- ( &(const binstruction[74]) { /* code */
- 0x4C080000, // 0000 LDNIL R2
- 0x1C080202, // 0001 EQ R2 R1 R2
- 0x780A0000, // 0002 JMPF R2 #0004
- 0x88040100, // 0003 GETMBR R1 R0 K0
- 0x8C080101, // 0004 GETMET R2 R0 K1
- 0x7C080200, // 0005 CALL R2 1
- 0xB80E0400, // 0006 GETNGBL R3 K2
- 0x60100018, // 0007 GETGBL R4 G24
- 0x58140003, // 0008 LDCONST R5 K3
- 0x5C180400, // 0009 MOVE R6 R2
- 0x7C100400, // 000A CALL R4 2
- 0x58140004, // 000B LDCONST R5 K4
- 0x7C0C0400, // 000C CALL R3 2
- 0x8C0C0105, // 000D GETMET R3 R0 K5
- 0x7C0C0200, // 000E CALL R3 1
- 0xB8120C00, // 000F GETNGBL R4 K6
- 0x8C100907, // 0010 GETMET R4 R4 K7
- 0x60180018, // 0011 GETGBL R6 G24
- 0x581C0008, // 0012 LDCONST R7 K8
- 0x5C200400, // 0013 MOVE R8 R2
- 0x5C240600, // 0014 MOVE R9 R3
- 0x7C180600, // 0015 CALL R6 3
- 0x581C0009, // 0016 LDCONST R7 K9
- 0x7C100600, // 0017 CALL R4 3
- 0xA4121400, // 0018 IMPORT R4 K10
- 0x8C14090B, // 0019 GETMET R5 R4 K11
- 0x541E000F, // 001A LDINT R7 16
- 0x7C140400, // 001B CALL R5 2
- 0x60180015, // 001C GETGBL R6 G21
- 0x7C180000, // 001D CALL R6 0
- 0x8C180D0C, // 001E GETMET R6 R6 K12
- 0x8820010D, // 001F GETMBR R8 R0 K13
- 0x54260003, // 0020 LDINT R9 4
- 0x7C180600, // 0021 CALL R6 3
- 0x8C1C090E, // 0022 GETMET R7 R4 K14
- 0x7C1C0200, // 0023 CALL R7 1
- 0x8C1C0F0F, // 0024 GETMET R7 R7 K15
- 0x5C240C00, // 0025 MOVE R9 R6
- 0x5C280A00, // 0026 MOVE R10 R5
- 0x882C0110, // 0027 GETMBR R11 R0 K16
- 0x5432004F, // 0028 LDINT R12 80
- 0x7C1C0A00, // 0029 CALL R7 5
- 0x54220026, // 002A LDINT R8 39
- 0x40222208, // 002B CONNECT R8 K17 R8
- 0x94200E08, // 002C GETIDX R8 R7 R8
- 0x54260027, // 002D LDINT R9 40
- 0x542A004E, // 002E LDINT R10 79
- 0x4024120A, // 002F CONNECT R9 R9 R10
- 0x94240E09, // 0030 GETIDX R9 R7 R9
- 0x8C280912, // 0031 GETMET R10 R4 K18
- 0x7C280200, // 0032 CALL R10 1
- 0x8C281513, // 0033 GETMET R10 R10 K19
- 0x5C301000, // 0034 MOVE R12 R8
- 0x7C280400, // 0035 CALL R10 2
- 0x8C2C0912, // 0036 GETMET R11 R4 K18
- 0x7C2C0200, // 0037 CALL R11 1
- 0x8C2C1713, // 0038 GETMET R11 R11 K19
- 0x5C341200, // 0039 MOVE R13 R9
- 0x7C2C0400, // 003A CALL R11 2
- 0x8C300912, // 003B GETMET R12 R4 K18
- 0x7C300200, // 003C CALL R12 1
- 0x8C301914, // 003D GETMET R12 R12 K20
- 0x5C381600, // 003E MOVE R14 R11
- 0x7C300400, // 003F CALL R12 2
- 0x8C340115, // 0040 GETMET R13 R0 K21
- 0x5C3C0200, // 0041 MOVE R15 R1
- 0x88400110, // 0042 GETMBR R16 R0 K16
- 0x88440116, // 0043 GETMBR R17 R0 K22
- 0x5C480A00, // 0044 MOVE R18 R5
- 0x5C4C1400, // 0045 MOVE R19 R10
- 0x5C501800, // 0046 MOVE R20 R12
- 0x4C540000, // 0047 LDNIL R21
- 0x7C341000, // 0048 CALL R13 8
- 0x80000000, // 0049 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: event_fabrics_saved
-********************************************************************/
-be_local_closure(class_Matter_Device_event_fabrics_saved, /* name */
- be_nested_proto(
- 3, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 5]) { /* constants */
- /* K0 */ be_nested_str_weak(sessions),
- /* K1 */ be_nested_str_weak(count_active_fabrics),
- /* K2 */ be_const_int(0),
- /* K3 */ be_nested_str_weak(plugins_persist),
- /* K4 */ be_nested_str_weak(save_param),
- }),
- be_str_weak(event_fabrics_saved),
- &be_const_str_solidified,
- ( &(const binstruction[12]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x8C040301, // 0001 GETMET R1 R1 K1
- 0x7C040200, // 0002 CALL R1 1
- 0x24040302, // 0003 GT R1 R1 K2
- 0x78060005, // 0004 JMPF R1 #000B
- 0x88040103, // 0005 GETMBR R1 R0 K3
- 0x74060003, // 0006 JMPT R1 #000B
- 0x50040200, // 0007 LDBOOL R1 1 0
- 0x90020601, // 0008 SETMBR R0 K3 R1
- 0x8C040104, // 0009 GETMET R1 R0 K4
- 0x7C040200, // 000A CALL R1 1
- 0x80000000, // 000B RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: start_mdns_announce_hostnames
-********************************************************************/
-be_local_closure(class_Matter_Device_start_mdns_announce_hostnames, /* name */
- be_nested_proto(
- 6, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 1, /* has sup protos */
- ( &(const struct bproto*[ 2]) {
- be_nested_proto(
- 4, /* nstack */
- 0, /* argc */
- 0, /* varg */
- 1, /* has upvals */
- ( &(const bupvaldesc[ 1]) { /* upvals */
- be_local_const_upval(1, 0),
- }),
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 5]) { /* constants */
- /* K0 */ be_nested_str_weak(_mdns_announce_hostname),
- /* K1 */ be_nested_str_weak(tasmota),
- /* K2 */ be_nested_str_weak(remove_rule),
- /* K3 */ be_nested_str_weak(Wifi_X23Connected),
- /* K4 */ be_nested_str_weak(matter_mdns_host),
- }),
- be_str_weak(_anonymous_),
- &be_const_str_solidified,
- ( &(const binstruction[10]) { /* code */
- 0x68000000, // 0000 GETUPV R0 U0
- 0x8C000100, // 0001 GETMET R0 R0 K0
- 0x50080000, // 0002 LDBOOL R2 0 0
- 0x7C000400, // 0003 CALL R0 2
- 0xB8020200, // 0004 GETNGBL R0 K1
- 0x8C000102, // 0005 GETMET R0 R0 K2
- 0x58080003, // 0006 LDCONST R2 K3
- 0x580C0004, // 0007 LDCONST R3 K4
- 0x7C000600, // 0008 CALL R0 3
- 0x80000000, // 0009 RET 0
- })
- ),
- be_nested_proto(
- 4, /* nstack */
- 0, /* argc */
- 0, /* varg */
- 1, /* has upvals */
- ( &(const bupvaldesc[ 1]) { /* upvals */
- be_local_const_upval(1, 0),
- }),
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 5]) { /* constants */
- /* K0 */ be_nested_str_weak(_mdns_announce_hostname),
- /* K1 */ be_nested_str_weak(tasmota),
- /* K2 */ be_nested_str_weak(remove_rule),
- /* K3 */ be_nested_str_weak(Eth_X23Connected),
- /* K4 */ be_nested_str_weak(matter_mdns_host),
- }),
- be_str_weak(_anonymous_),
- &be_const_str_solidified,
- ( &(const binstruction[10]) { /* code */
- 0x68000000, // 0000 GETUPV R0 U0
- 0x8C000100, // 0001 GETMET R0 R0 K0
- 0x50080200, // 0002 LDBOOL R2 1 0
- 0x7C000400, // 0003 CALL R0 2
- 0xB8020200, // 0004 GETNGBL R0 K1
- 0x8C000102, // 0005 GETMET R0 R0 K2
- 0x58080003, // 0006 LDCONST R2 K3
- 0x580C0004, // 0007 LDCONST R3 K4
- 0x7C000600, // 0008 CALL R0 3
- 0x80000000, // 0009 RET 0
- })
- ),
- }),
- 1, /* has constants */
- ( &(const bvalue[ 9]) { /* constants */
- /* K0 */ be_nested_str_weak(tasmota),
- /* K1 */ be_nested_str_weak(wifi),
- /* K2 */ be_nested_str_weak(up),
- /* K3 */ be_nested_str_weak(_mdns_announce_hostname),
- /* K4 */ be_nested_str_weak(add_rule),
- /* K5 */ be_nested_str_weak(Wifi_X23Connected),
- /* K6 */ be_nested_str_weak(matter_mdns_host),
- /* K7 */ be_nested_str_weak(eth),
- /* K8 */ be_nested_str_weak(Eth_X23Connected),
- }),
- be_str_weak(start_mdns_announce_hostnames),
- &be_const_str_solidified,
- ( &(const binstruction[32]) { /* code */
- 0xB8060000, // 0000 GETNGBL R1 K0
- 0x8C040301, // 0001 GETMET R1 R1 K1
- 0x7C040200, // 0002 CALL R1 1
- 0x94040302, // 0003 GETIDX R1 R1 K2
- 0x78060003, // 0004 JMPF R1 #0009
- 0x8C040103, // 0005 GETMET R1 R0 K3
- 0x500C0000, // 0006 LDBOOL R3 0 0
- 0x7C040400, // 0007 CALL R1 2
- 0x70020005, // 0008 JMP #000F
- 0xB8060000, // 0009 GETNGBL R1 K0
- 0x8C040304, // 000A GETMET R1 R1 K4
- 0x580C0005, // 000B LDCONST R3 K5
- 0x84100000, // 000C CLOSURE R4 P0
- 0x58140006, // 000D LDCONST R5 K6
- 0x7C040800, // 000E CALL R1 4
- 0xB8060000, // 000F GETNGBL R1 K0
- 0x8C040307, // 0010 GETMET R1 R1 K7
- 0x7C040200, // 0011 CALL R1 1
- 0x94040302, // 0012 GETIDX R1 R1 K2
- 0x78060003, // 0013 JMPF R1 #0018
- 0x8C040103, // 0014 GETMET R1 R0 K3
- 0x500C0200, // 0015 LDBOOL R3 1 0
- 0x7C040400, // 0016 CALL R1 2
- 0x70020005, // 0017 JMP #001E
- 0xB8060000, // 0018 GETNGBL R1 K0
- 0x8C040304, // 0019 GETMET R1 R1 K4
- 0x580C0008, // 001A LDCONST R3 K8
- 0x84100001, // 001B CLOSURE R4 P1
- 0x58140006, // 001C LDCONST R5 K6
- 0x7C040800, // 001D CALL R1 4
- 0xA0000000, // 001E CLOSE R0
- 0x80000000, // 001F RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: mdns_announce_PASE
-********************************************************************/
-be_local_closure(class_Matter_Device_mdns_announce_PASE, /* name */
- be_nested_proto(
- 12, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[40]) { /* constants */
- /* K0 */ be_nested_str_weak(mdns),
- /* K1 */ be_nested_str_weak(crypto),
- /* K2 */ be_nested_str_weak(VP),
- /* K3 */ be_nested_str_weak(_X25s_X2B_X25s),
- /* K4 */ be_nested_str_weak(VENDOR_ID),
- /* K5 */ be_nested_str_weak(PRODUCT_ID),
- /* K6 */ be_nested_str_weak(D),
- /* K7 */ be_nested_str_weak(commissioning_discriminator),
- /* K8 */ be_nested_str_weak(CM),
- /* K9 */ be_const_int(1),
- /* K10 */ be_nested_str_weak(T),
- /* K11 */ be_const_int(0),
- /* K12 */ be_nested_str_weak(SII),
- /* K13 */ be_nested_str_weak(SAI),
- /* K14 */ be_nested_str_weak(commissioning_instance_wifi),
- /* K15 */ be_nested_str_weak(random),
- /* K16 */ be_nested_str_weak(tohex),
- /* K17 */ be_nested_str_weak(commissioning_instance_eth),
- /* K18 */ be_nested_str_weak(hostname_eth),
- /* K19 */ be_nested_str_weak(add_service),
- /* K20 */ be_nested_str_weak(_matterc),
- /* K21 */ be_nested_str_weak(_udp),
- /* K22 */ be_nested_str_weak(mdns_pase_eth),
- /* K23 */ be_nested_str_weak(log),
- /* K24 */ be_nested_str_weak(MTR_X3A_X20announce_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27_X20ptr_X20to_X20_X60_X25s_X2Elocal_X60),
- /* K25 */ be_nested_str_weak(eth),
- /* K26 */ be_const_int(2),
- /* K27 */ be_nested_str_weak(_L),
- /* K28 */ be_nested_str_weak(MTR_X3A_X20adding_X20subtype_X3A_X20),
- /* K29 */ be_const_int(3),
- /* K30 */ be_nested_str_weak(add_subtype),
- /* K31 */ be_nested_str_weak(_S),
- /* K32 */ be_nested_str_weak(_V),
- /* K33 */ be_nested_str_weak(_CM1),
- /* K34 */ be_nested_str_weak(hostname_wifi),
- /* K35 */ be_nested_str_weak(mdns_pase_wifi),
- /* K36 */ be_nested_str_weak(MTR_X3A_X20starting_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27_X20ptr_X20to_X20_X60_X25s_X2Elocal_X60),
- /* K37 */ be_nested_str_weak(wifi),
- /* K38 */ be_nested_str_weak(MTR_X3A_X20Exception),
- /* K39 */ be_nested_str_weak(_X7C),
- }),
- be_str_weak(mdns_announce_PASE),
- &be_const_str_solidified,
- ( &(const binstruction[222]) { /* code */
- 0xA4060000, // 0000 IMPORT R1 K0
- 0xA40A0200, // 0001 IMPORT R2 K1
- 0x600C0013, // 0002 GETGBL R3 G19
- 0x7C0C0000, // 0003 CALL R3 0
- 0x60100018, // 0004 GETGBL R4 G24
- 0x58140003, // 0005 LDCONST R5 K3
- 0x88180104, // 0006 GETMBR R6 R0 K4
- 0x881C0105, // 0007 GETMBR R7 R0 K5
- 0x7C100600, // 0008 CALL R4 3
- 0x980E0404, // 0009 SETIDX R3 K2 R4
- 0x88100107, // 000A GETMBR R4 R0 K7
- 0x980E0C04, // 000B SETIDX R3 K6 R4
- 0x980E1109, // 000C SETIDX R3 K8 K9
- 0x980E150B, // 000D SETIDX R3 K10 K11
- 0x54121387, // 000E LDINT R4 5000
- 0x980E1804, // 000F SETIDX R3 K12 R4
- 0x5412012B, // 0010 LDINT R4 300
- 0x980E1A04, // 0011 SETIDX R3 K13 R4
- 0x8C10050F, // 0012 GETMET R4 R2 K15
- 0x541A0007, // 0013 LDINT R6 8
- 0x7C100400, // 0014 CALL R4 2
- 0x8C100910, // 0015 GETMET R4 R4 K16
- 0x7C100200, // 0016 CALL R4 1
- 0x90021C04, // 0017 SETMBR R0 K14 R4
- 0x8C10050F, // 0018 GETMET R4 R2 K15
- 0x541A0007, // 0019 LDINT R6 8
- 0x7C100400, // 001A CALL R4 2
- 0x8C100910, // 001B GETMET R4 R4 K16
- 0x7C100200, // 001C CALL R4 1
- 0x90022204, // 001D SETMBR R0 K17 R4
- 0xA80200AD, // 001E EXBLK 0 #00CD
- 0x88100112, // 001F GETMBR R4 R0 K18
- 0x78120053, // 0020 JMPF R4 #0075
- 0x8C100313, // 0021 GETMET R4 R1 K19
- 0x58180014, // 0022 LDCONST R6 K20
- 0x581C0015, // 0023 LDCONST R7 K21
- 0x542215A3, // 0024 LDINT R8 5540
- 0x5C240600, // 0025 MOVE R9 R3
- 0x88280111, // 0026 GETMBR R10 R0 K17
- 0x882C0112, // 0027 GETMBR R11 R0 K18
- 0x7C100E00, // 0028 CALL R4 7
- 0x50100200, // 0029 LDBOOL R4 1 0
- 0x90022C04, // 002A SETMBR R0 K22 R4
- 0xB8122E00, // 002B GETNGBL R4 K23
- 0x60140018, // 002C GETGBL R5 G24
- 0x58180018, // 002D LDCONST R6 K24
- 0x581C0019, // 002E LDCONST R7 K25
- 0x88200111, // 002F GETMBR R8 R0 K17
- 0x88240112, // 0030 GETMBR R9 R0 K18
- 0x7C140800, // 0031 CALL R5 4
- 0x5818001A, // 0032 LDCONST R6 K26
- 0x7C100400, // 0033 CALL R4 2
- 0x60100008, // 0034 GETGBL R4 G8
- 0x88140107, // 0035 GETMBR R5 R0 K7
- 0x541A0FFE, // 0036 LDINT R6 4095
- 0x2C140A06, // 0037 AND R5 R5 R6
- 0x7C100200, // 0038 CALL R4 1
- 0x00123604, // 0039 ADD R4 K27 R4
- 0xB8162E00, // 003A GETNGBL R5 K23
- 0x001A3804, // 003B ADD R6 K28 R4
- 0x581C001D, // 003C LDCONST R7 K29
- 0x7C140400, // 003D CALL R5 2
- 0x8C14031E, // 003E GETMET R5 R1 K30
- 0x581C0014, // 003F LDCONST R7 K20
- 0x58200015, // 0040 LDCONST R8 K21
- 0x88240111, // 0041 GETMBR R9 R0 K17
- 0x88280112, // 0042 GETMBR R10 R0 K18
- 0x5C2C0800, // 0043 MOVE R11 R4
- 0x7C140C00, // 0044 CALL R5 6
- 0x60140008, // 0045 GETGBL R5 G8
- 0x88180107, // 0046 GETMBR R6 R0 K7
- 0x541E0EFF, // 0047 LDINT R7 3840
- 0x2C180C07, // 0048 AND R6 R6 R7
- 0x541E0007, // 0049 LDINT R7 8
- 0x3C180C07, // 004A SHR R6 R6 R7
- 0x7C140200, // 004B CALL R5 1
- 0x00163E05, // 004C ADD R5 K31 R5
- 0x5C100A00, // 004D MOVE R4 R5
- 0xB8162E00, // 004E GETNGBL R5 K23
- 0x001A3804, // 004F ADD R6 K28 R4
- 0x581C001D, // 0050 LDCONST R7 K29
- 0x7C140400, // 0051 CALL R5 2
- 0x8C14031E, // 0052 GETMET R5 R1 K30
- 0x581C0014, // 0053 LDCONST R7 K20
- 0x58200015, // 0054 LDCONST R8 K21
- 0x88240111, // 0055 GETMBR R9 R0 K17
- 0x88280112, // 0056 GETMBR R10 R0 K18
- 0x5C2C0800, // 0057 MOVE R11 R4
- 0x7C140C00, // 0058 CALL R5 6
- 0x60140008, // 0059 GETGBL R5 G8
- 0x88180104, // 005A GETMBR R6 R0 K4
- 0x7C140200, // 005B CALL R5 1
- 0x00164005, // 005C ADD R5 K32 R5
- 0x5C100A00, // 005D MOVE R4 R5
- 0xB8162E00, // 005E GETNGBL R5 K23
- 0x001A3804, // 005F ADD R6 K28 R4
- 0x581C001D, // 0060 LDCONST R7 K29
- 0x7C140400, // 0061 CALL R5 2
- 0x8C14031E, // 0062 GETMET R5 R1 K30
- 0x581C0014, // 0063 LDCONST R7 K20
- 0x58200015, // 0064 LDCONST R8 K21
- 0x88240111, // 0065 GETMBR R9 R0 K17
- 0x88280112, // 0066 GETMBR R10 R0 K18
- 0x5C2C0800, // 0067 MOVE R11 R4
- 0x7C140C00, // 0068 CALL R5 6
- 0x58100021, // 0069 LDCONST R4 K33
- 0xB8162E00, // 006A GETNGBL R5 K23
- 0x001A3804, // 006B ADD R6 K28 R4
- 0x581C001D, // 006C LDCONST R7 K29
- 0x7C140400, // 006D CALL R5 2
- 0x8C14031E, // 006E GETMET R5 R1 K30
- 0x581C0014, // 006F LDCONST R7 K20
- 0x58200015, // 0070 LDCONST R8 K21
- 0x88240111, // 0071 GETMBR R9 R0 K17
- 0x88280112, // 0072 GETMBR R10 R0 K18
- 0x5C2C0800, // 0073 MOVE R11 R4
- 0x7C140C00, // 0074 CALL R5 6
- 0x88100122, // 0075 GETMBR R4 R0 K34
- 0x78120053, // 0076 JMPF R4 #00CB
- 0x8C100313, // 0077 GETMET R4 R1 K19
- 0x58180014, // 0078 LDCONST R6 K20
- 0x581C0015, // 0079 LDCONST R7 K21
- 0x542215A3, // 007A LDINT R8 5540
- 0x5C240600, // 007B MOVE R9 R3
- 0x8828010E, // 007C GETMBR R10 R0 K14
- 0x882C0122, // 007D GETMBR R11 R0 K34
- 0x7C100E00, // 007E CALL R4 7
- 0x50100200, // 007F LDBOOL R4 1 0
- 0x90024604, // 0080 SETMBR R0 K35 R4
- 0xB8122E00, // 0081 GETNGBL R4 K23
- 0x60140018, // 0082 GETGBL R5 G24
- 0x58180024, // 0083 LDCONST R6 K36
- 0x581C0025, // 0084 LDCONST R7 K37
- 0x8820010E, // 0085 GETMBR R8 R0 K14
- 0x88240122, // 0086 GETMBR R9 R0 K34
- 0x7C140800, // 0087 CALL R5 4
- 0x5818001D, // 0088 LDCONST R6 K29
- 0x7C100400, // 0089 CALL R4 2
- 0x60100008, // 008A GETGBL R4 G8
- 0x88140107, // 008B GETMBR R5 R0 K7
- 0x541A0FFE, // 008C LDINT R6 4095
- 0x2C140A06, // 008D AND R5 R5 R6
- 0x7C100200, // 008E CALL R4 1
- 0x00123604, // 008F ADD R4 K27 R4
- 0xB8162E00, // 0090 GETNGBL R5 K23
- 0x001A3804, // 0091 ADD R6 K28 R4
- 0x581C001D, // 0092 LDCONST R7 K29
- 0x7C140400, // 0093 CALL R5 2
- 0x8C14031E, // 0094 GETMET R5 R1 K30
- 0x581C0014, // 0095 LDCONST R7 K20
- 0x58200015, // 0096 LDCONST R8 K21
- 0x8824010E, // 0097 GETMBR R9 R0 K14
- 0x88280122, // 0098 GETMBR R10 R0 K34
- 0x5C2C0800, // 0099 MOVE R11 R4
- 0x7C140C00, // 009A CALL R5 6
- 0x60140008, // 009B GETGBL R5 G8
- 0x88180107, // 009C GETMBR R6 R0 K7
- 0x541E0EFF, // 009D LDINT R7 3840
- 0x2C180C07, // 009E AND R6 R6 R7
- 0x541E0007, // 009F LDINT R7 8
- 0x3C180C07, // 00A0 SHR R6 R6 R7
- 0x7C140200, // 00A1 CALL R5 1
- 0x00163E05, // 00A2 ADD R5 K31 R5
- 0x5C100A00, // 00A3 MOVE R4 R5
- 0xB8162E00, // 00A4 GETNGBL R5 K23
- 0x001A3804, // 00A5 ADD R6 K28 R4
- 0x581C001D, // 00A6 LDCONST R7 K29
- 0x7C140400, // 00A7 CALL R5 2
- 0x8C14031E, // 00A8 GETMET R5 R1 K30
- 0x581C0014, // 00A9 LDCONST R7 K20
- 0x58200015, // 00AA LDCONST R8 K21
- 0x8824010E, // 00AB GETMBR R9 R0 K14
- 0x88280122, // 00AC GETMBR R10 R0 K34
- 0x5C2C0800, // 00AD MOVE R11 R4
- 0x7C140C00, // 00AE CALL R5 6
- 0x60140008, // 00AF GETGBL R5 G8
- 0x88180104, // 00B0 GETMBR R6 R0 K4
- 0x7C140200, // 00B1 CALL R5 1
- 0x00164005, // 00B2 ADD R5 K32 R5
- 0x5C100A00, // 00B3 MOVE R4 R5
- 0xB8162E00, // 00B4 GETNGBL R5 K23
- 0x001A3804, // 00B5 ADD R6 K28 R4
- 0x581C001D, // 00B6 LDCONST R7 K29
- 0x7C140400, // 00B7 CALL R5 2
- 0x8C14031E, // 00B8 GETMET R5 R1 K30
- 0x581C0014, // 00B9 LDCONST R7 K20
- 0x58200015, // 00BA LDCONST R8 K21
- 0x8824010E, // 00BB GETMBR R9 R0 K14
- 0x88280122, // 00BC GETMBR R10 R0 K34
- 0x5C2C0800, // 00BD MOVE R11 R4
- 0x7C140C00, // 00BE CALL R5 6
- 0x58100021, // 00BF LDCONST R4 K33
- 0xB8162E00, // 00C0 GETNGBL R5 K23
- 0x001A3804, // 00C1 ADD R6 K28 R4
- 0x581C001D, // 00C2 LDCONST R7 K29
- 0x7C140400, // 00C3 CALL R5 2
- 0x8C14031E, // 00C4 GETMET R5 R1 K30
- 0x581C0014, // 00C5 LDCONST R7 K20
- 0x58200015, // 00C6 LDCONST R8 K21
- 0x8824010E, // 00C7 GETMBR R9 R0 K14
- 0x88280122, // 00C8 GETMBR R10 R0 K34
- 0x5C2C0800, // 00C9 MOVE R11 R4
- 0x7C140C00, // 00CA CALL R5 6
- 0xA8040001, // 00CB EXBLK 1 1
- 0x7002000F, // 00CC JMP #00DD
- 0xAC100002, // 00CD CATCH R4 0 2
- 0x7002000C, // 00CE JMP #00DC
- 0xB81A2E00, // 00CF GETNGBL R6 K23
- 0x601C0008, // 00D0 GETGBL R7 G8
- 0x5C200800, // 00D1 MOVE R8 R4
- 0x7C1C0200, // 00D2 CALL R7 1
- 0x001E4C07, // 00D3 ADD R7 K38 R7
- 0x001C0F27, // 00D4 ADD R7 R7 K39
- 0x60200008, // 00D5 GETGBL R8 G8
- 0x5C240A00, // 00D6 MOVE R9 R5
- 0x7C200200, // 00D7 CALL R8 1
- 0x001C0E08, // 00D8 ADD R7 R7 R8
- 0x5820001A, // 00D9 LDCONST R8 K26
- 0x7C180400, // 00DA CALL R6 2
- 0x70020000, // 00DB JMP #00DD
- 0xB0080000, // 00DC RAISE 2 R0 R0
- 0x80000000, // 00DD RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: autoconf_sensors_list
-********************************************************************/
-be_local_closure(class_Matter_Device_autoconf_sensors_list, /* name */
- be_nested_proto(
- 10, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[18]) { /* constants */
- /* K0 */ be_nested_str_weak(k2l),
- /* K1 */ be_nested_str_weak(contains),
- /* K2 */ be_nested_str_weak(Temperature),
- /* K3 */ be_nested_str_weak(_X23Temperature),
- /* K4 */ be_nested_str_weak(push),
- /* K5 */ be_nested_str_weak(type),
- /* K6 */ be_nested_str_weak(temperature),
- /* K7 */ be_nested_str_weak(filter),
- /* K8 */ be_nested_str_weak(stop_iteration),
- /* K9 */ be_nested_str_weak(Pressure),
- /* K10 */ be_nested_str_weak(_X23Pressure),
- /* K11 */ be_nested_str_weak(pressure),
- /* K12 */ be_nested_str_weak(Illuminance),
- /* K13 */ be_nested_str_weak(_X23Illuminance),
- /* K14 */ be_nested_str_weak(illuminance),
- /* K15 */ be_nested_str_weak(Humidity),
- /* K16 */ be_nested_str_weak(_X23Humidity),
- /* K17 */ be_nested_str_weak(humidity),
- }),
- be_str_weak(autoconf_sensors_list),
- &be_const_str_solidified,
- ( &(const binstruction[119]) { /* code */
- 0x60080012, // 0000 GETGBL R2 G18
- 0x7C080000, // 0001 CALL R2 0
- 0x600C0010, // 0002 GETGBL R3 G16
- 0x8C100100, // 0003 GETMET R4 R0 K0
- 0x5C180200, // 0004 MOVE R6 R1
- 0x7C100400, // 0005 CALL R4 2
- 0x7C0C0200, // 0006 CALL R3 1
- 0xA8020013, // 0007 EXBLK 0 #001C
- 0x5C100600, // 0008 MOVE R4 R3
- 0x7C100000, // 0009 CALL R4 0
- 0x94140204, // 000A GETIDX R5 R1 R4
- 0x6018000F, // 000B GETGBL R6 G15
- 0x5C1C0A00, // 000C MOVE R7 R5
- 0x60200013, // 000D GETGBL R8 G19
- 0x7C180400, // 000E CALL R6 2
- 0x781A000A, // 000F JMPF R6 #001B
- 0x8C180B01, // 0010 GETMET R6 R5 K1
- 0x58200002, // 0011 LDCONST R8 K2
- 0x7C180400, // 0012 CALL R6 2
- 0x781A0006, // 0013 JMPF R6 #001B
- 0x00180903, // 0014 ADD R6 R4 K3
- 0x8C1C0504, // 0015 GETMET R7 R2 K4
- 0x60240013, // 0016 GETGBL R9 G19
- 0x7C240000, // 0017 CALL R9 0
- 0x98260B06, // 0018 SETIDX R9 K5 K6
- 0x98260E06, // 0019 SETIDX R9 K7 R6
- 0x7C1C0400, // 001A CALL R7 2
- 0x7001FFEB, // 001B JMP #0008
- 0x580C0008, // 001C LDCONST R3 K8
- 0xAC0C0200, // 001D CATCH R3 1 0
- 0xB0080000, // 001E RAISE 2 R0 R0
- 0x600C0010, // 001F GETGBL R3 G16
- 0x8C100100, // 0020 GETMET R4 R0 K0
- 0x5C180200, // 0021 MOVE R6 R1
- 0x7C100400, // 0022 CALL R4 2
- 0x7C0C0200, // 0023 CALL R3 1
- 0xA8020013, // 0024 EXBLK 0 #0039
- 0x5C100600, // 0025 MOVE R4 R3
- 0x7C100000, // 0026 CALL R4 0
- 0x94140204, // 0027 GETIDX R5 R1 R4
- 0x6018000F, // 0028 GETGBL R6 G15
- 0x5C1C0A00, // 0029 MOVE R7 R5
- 0x60200013, // 002A GETGBL R8 G19
- 0x7C180400, // 002B CALL R6 2
- 0x781A000A, // 002C JMPF R6 #0038
- 0x8C180B01, // 002D GETMET R6 R5 K1
- 0x58200009, // 002E LDCONST R8 K9
- 0x7C180400, // 002F CALL R6 2
- 0x781A0006, // 0030 JMPF R6 #0038
- 0x0018090A, // 0031 ADD R6 R4 K10
- 0x8C1C0504, // 0032 GETMET R7 R2 K4
- 0x60240013, // 0033 GETGBL R9 G19
- 0x7C240000, // 0034 CALL R9 0
- 0x98260B0B, // 0035 SETIDX R9 K5 K11
- 0x98260E06, // 0036 SETIDX R9 K7 R6
- 0x7C1C0400, // 0037 CALL R7 2
- 0x7001FFEB, // 0038 JMP #0025
- 0x580C0008, // 0039 LDCONST R3 K8
- 0xAC0C0200, // 003A CATCH R3 1 0
- 0xB0080000, // 003B RAISE 2 R0 R0
- 0x600C0010, // 003C GETGBL R3 G16
- 0x8C100100, // 003D GETMET R4 R0 K0
- 0x5C180200, // 003E MOVE R6 R1
- 0x7C100400, // 003F CALL R4 2
- 0x7C0C0200, // 0040 CALL R3 1
- 0xA8020013, // 0041 EXBLK 0 #0056
- 0x5C100600, // 0042 MOVE R4 R3
- 0x7C100000, // 0043 CALL R4 0
- 0x94140204, // 0044 GETIDX R5 R1 R4
- 0x6018000F, // 0045 GETGBL R6 G15
- 0x5C1C0A00, // 0046 MOVE R7 R5
- 0x60200013, // 0047 GETGBL R8 G19
- 0x7C180400, // 0048 CALL R6 2
- 0x781A000A, // 0049 JMPF R6 #0055
- 0x8C180B01, // 004A GETMET R6 R5 K1
- 0x5820000C, // 004B LDCONST R8 K12
- 0x7C180400, // 004C CALL R6 2
- 0x781A0006, // 004D JMPF R6 #0055
- 0x0018090D, // 004E ADD R6 R4 K13
- 0x8C1C0504, // 004F GETMET R7 R2 K4
- 0x60240013, // 0050 GETGBL R9 G19
- 0x7C240000, // 0051 CALL R9 0
- 0x98260B0E, // 0052 SETIDX R9 K5 K14
- 0x98260E06, // 0053 SETIDX R9 K7 R6
- 0x7C1C0400, // 0054 CALL R7 2
- 0x7001FFEB, // 0055 JMP #0042
- 0x580C0008, // 0056 LDCONST R3 K8
- 0xAC0C0200, // 0057 CATCH R3 1 0
- 0xB0080000, // 0058 RAISE 2 R0 R0
- 0x600C0010, // 0059 GETGBL R3 G16
- 0x8C100100, // 005A GETMET R4 R0 K0
- 0x5C180200, // 005B MOVE R6 R1
- 0x7C100400, // 005C CALL R4 2
- 0x7C0C0200, // 005D CALL R3 1
- 0xA8020013, // 005E EXBLK 0 #0073
- 0x5C100600, // 005F MOVE R4 R3
- 0x7C100000, // 0060 CALL R4 0
- 0x94140204, // 0061 GETIDX R5 R1 R4
- 0x6018000F, // 0062 GETGBL R6 G15
- 0x5C1C0A00, // 0063 MOVE R7 R5
- 0x60200013, // 0064 GETGBL R8 G19
- 0x7C180400, // 0065 CALL R6 2
- 0x781A000A, // 0066 JMPF R6 #0072
- 0x8C180B01, // 0067 GETMET R6 R5 K1
- 0x5820000F, // 0068 LDCONST R8 K15
- 0x7C180400, // 0069 CALL R6 2
- 0x781A0006, // 006A JMPF R6 #0072
- 0x00180910, // 006B ADD R6 R4 K16
- 0x8C1C0504, // 006C GETMET R7 R2 K4
- 0x60240013, // 006D GETGBL R9 G19
- 0x7C240000, // 006E CALL R9 0
- 0x98260B11, // 006F SETIDX R9 K5 K17
- 0x98260E06, // 0070 SETIDX R9 K7 R6
- 0x7C1C0400, // 0071 CALL R7 2
- 0x7001FFEB, // 0072 JMP #005F
- 0x580C0008, // 0073 LDCONST R3 K8
- 0xAC0C0200, // 0074 CATCH R3 1 0
- 0xB0080000, // 0075 RAISE 2 R0 R0
- 0x80040400, // 0076 RET 1 R2
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: process_attribute_expansion
-********************************************************************/
-be_local_closure(class_Matter_Device_process_attribute_expansion, /* name */
- be_nested_proto(
- 12, /* nstack */
- 3, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 9]) { /* constants */
- /* K0 */ be_nested_str_weak(endpoint),
- /* K1 */ be_nested_str_weak(cluster),
- /* K2 */ be_nested_str_weak(attribute),
- /* K3 */ be_nested_str_weak(matter),
- /* K4 */ be_nested_str_weak(PathGenerator),
- /* K5 */ be_nested_str_weak(start),
- /* K6 */ be_nested_str_weak(is_direct),
- /* K7 */ be_nested_str_weak(next_attribute),
- /* K8 */ be_nested_str_weak(get_pi),
- }),
- be_str_weak(process_attribute_expansion),
- &be_const_str_solidified,
- ( &(const binstruction[28]) { /* code */
- 0x880C0300, // 0000 GETMBR R3 R1 K0
- 0x88100301, // 0001 GETMBR R4 R1 K1
- 0x88140302, // 0002 GETMBR R5 R1 K2
- 0xB81A0600, // 0003 GETNGBL R6 K3
- 0x8C180D04, // 0004 GETMET R6 R6 K4
- 0x5C200000, // 0005 MOVE R8 R0
- 0x7C180400, // 0006 CALL R6 2
- 0x8C1C0D05, // 0007 GETMET R7 R6 K5
- 0x5C240600, // 0008 MOVE R9 R3
- 0x5C280800, // 0009 MOVE R10 R4
- 0x5C2C0A00, // 000A MOVE R11 R5
- 0x7C1C0800, // 000B CALL R7 4
- 0x8C1C0D06, // 000C GETMET R7 R6 K6
- 0x7C1C0200, // 000D CALL R7 1
- 0x4C200000, // 000E LDNIL R8
- 0x8C240D07, // 000F GETMET R9 R6 K7
- 0x7C240200, // 0010 CALL R9 1
- 0x5C201200, // 0011 MOVE R8 R9
- 0x4C280000, // 0012 LDNIL R10
- 0x2024120A, // 0013 NE R9 R9 R10
- 0x78260005, // 0014 JMPF R9 #001B
- 0x5C240400, // 0015 MOVE R9 R2
- 0x8C280D08, // 0016 GETMET R10 R6 K8
- 0x7C280200, // 0017 CALL R10 1
- 0x5C2C1000, // 0018 MOVE R11 R8
- 0x7C240400, // 0019 CALL R9 2
- 0x7001FFF3, // 001A JMP #000F
- 0x80000000, // 001B RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: stop_basic_commissioning
-********************************************************************/
-be_local_closure(class_Matter_Device_stop_basic_commissioning, /* name */
- be_nested_proto(
- 6, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[13]) { /* constants */
- /* K0 */ be_nested_str_weak(is_root_commissioning_open),
- /* K1 */ be_nested_str_weak(tasmota),
- /* K2 */ be_nested_str_weak(publish_result),
- /* K3 */ be_nested_str_weak(_X7B_X22Matter_X22_X3A_X7B_X22Commissioning_X22_X3A0_X7D_X7D),
- /* K4 */ be_nested_str_weak(Matter),
- /* K5 */ be_nested_str_weak(commissioning_open),
- /* K6 */ be_nested_str_weak(mdns_remove_PASE),
- /* K7 */ be_nested_str_weak(commissioning_iterations),
- /* K8 */ be_nested_str_weak(commissioning_discriminator),
- /* K9 */ be_nested_str_weak(commissioning_salt),
- /* K10 */ be_nested_str_weak(commissioning_w0),
- /* K11 */ be_nested_str_weak(commissioning_L),
- /* K12 */ be_nested_str_weak(commissioning_admin_fabric),
- }),
- be_str_weak(stop_basic_commissioning),
- &be_const_str_solidified,
- ( &(const binstruction[19]) { /* code */
- 0x4C040000, // 0000 LDNIL R1
- 0x8C080100, // 0001 GETMET R2 R0 K0
- 0x7C080200, // 0002 CALL R2 1
- 0x780A0004, // 0003 JMPF R2 #0009
- 0xB80A0200, // 0004 GETNGBL R2 K1
- 0x8C080502, // 0005 GETMET R2 R2 K2
- 0x58100003, // 0006 LDCONST R4 K3
- 0x58140004, // 0007 LDCONST R5 K4
- 0x7C080600, // 0008 CALL R2 3
- 0x90020A01, // 0009 SETMBR R0 K5 R1
- 0x8C080106, // 000A GETMET R2 R0 K6
- 0x7C080200, // 000B CALL R2 1
- 0x90020E01, // 000C SETMBR R0 K7 R1
- 0x90021001, // 000D SETMBR R0 K8 R1
- 0x90021201, // 000E SETMBR R0 K9 R1
- 0x90021401, // 000F SETMBR R0 K10 R1
- 0x90021601, // 0010 SETMBR R0 K11 R1
- 0x90021801, // 0011 SETMBR R0 K12 R1
- 0x80000000, // 0012 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: clean_remotes
-********************************************************************/
-be_local_closure(class_Matter_Device_clean_remotes, /* name */
- be_nested_proto(
- 10, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[17]) { /* constants */
- /* K0 */ be_nested_str_weak(introspect),
- /* K1 */ be_nested_str_weak(http_remotes),
- /* K2 */ be_const_int(0),
- /* K3 */ be_nested_str_weak(stop_iteration),
- /* K4 */ be_nested_str_weak(plugins),
- /* K5 */ be_nested_str_weak(get),
- /* K6 */ be_nested_str_weak(http_remote),
- /* K7 */ be_nested_str_weak(find),
- /* K8 */ be_const_int(1),
- /* K9 */ be_nested_str_weak(keys),
- /* K10 */ be_nested_str_weak(push),
- /* K11 */ be_nested_str_weak(log),
- /* K12 */ be_nested_str_weak(MTR_X3A_X20remove_X20unused_X20remote_X3A_X20),
- /* K13 */ be_nested_str_weak(addr),
- /* K14 */ be_const_int(3),
- /* K15 */ be_nested_str_weak(close),
- /* K16 */ be_nested_str_weak(remove),
- }),
- be_str_weak(clean_remotes),
- &be_const_str_solidified,
- ( &(const binstruction[80]) { /* code */
- 0xA4060000, // 0000 IMPORT R1 K0
- 0x88080101, // 0001 GETMBR R2 R0 K1
- 0x780A004B, // 0002 JMPF R2 #004F
- 0x60080013, // 0003 GETGBL R2 G19
- 0x7C080000, // 0004 CALL R2 0
- 0x600C0010, // 0005 GETGBL R3 G16
- 0x88100101, // 0006 GETMBR R4 R0 K1
- 0x7C0C0200, // 0007 CALL R3 1
- 0xA8020003, // 0008 EXBLK 0 #000D
- 0x5C100600, // 0009 MOVE R4 R3
- 0x7C100000, // 000A CALL R4 0
- 0x98080902, // 000B SETIDX R2 R4 K2
- 0x7001FFFB, // 000C JMP #0009
- 0x580C0003, // 000D LDCONST R3 K3
- 0xAC0C0200, // 000E CATCH R3 1 0
- 0xB0080000, // 000F RAISE 2 R0 R0
- 0x600C0010, // 0010 GETGBL R3 G16
- 0x88100104, // 0011 GETMBR R4 R0 K4
- 0x7C0C0200, // 0012 CALL R3 1
- 0xA802000F, // 0013 EXBLK 0 #0024
- 0x5C100600, // 0014 MOVE R4 R3
- 0x7C100000, // 0015 CALL R4 0
- 0x8C140305, // 0016 GETMET R5 R1 K5
- 0x5C1C0800, // 0017 MOVE R7 R4
- 0x58200006, // 0018 LDCONST R8 K6
- 0x7C140600, // 0019 CALL R5 3
- 0x4C180000, // 001A LDNIL R6
- 0x20180A06, // 001B NE R6 R5 R6
- 0x781A0005, // 001C JMPF R6 #0023
- 0x8C180507, // 001D GETMET R6 R2 K7
- 0x5C200A00, // 001E MOVE R8 R5
- 0x58240002, // 001F LDCONST R9 K2
- 0x7C180600, // 0020 CALL R6 3
- 0x00180D08, // 0021 ADD R6 R6 K8
- 0x98080A06, // 0022 SETIDX R2 R5 R6
- 0x7001FFEF, // 0023 JMP #0014
- 0x580C0003, // 0024 LDCONST R3 K3
- 0xAC0C0200, // 0025 CATCH R3 1 0
- 0xB0080000, // 0026 RAISE 2 R0 R0
- 0x600C0012, // 0027 GETGBL R3 G18
- 0x7C0C0000, // 0028 CALL R3 0
- 0x60100010, // 0029 GETGBL R4 G16
- 0x8C140509, // 002A GETMET R5 R2 K9
- 0x7C140200, // 002B CALL R5 1
- 0x7C100200, // 002C CALL R4 1
- 0xA8020008, // 002D EXBLK 0 #0037
- 0x5C140800, // 002E MOVE R5 R4
- 0x7C140000, // 002F CALL R5 0
- 0x94180405, // 0030 GETIDX R6 R2 R5
- 0x1C180D02, // 0031 EQ R6 R6 K2
- 0x781A0002, // 0032 JMPF R6 #0036
- 0x8C18070A, // 0033 GETMET R6 R3 K10
- 0x5C200A00, // 0034 MOVE R8 R5
- 0x7C180400, // 0035 CALL R6 2
- 0x7001FFF6, // 0036 JMP #002E
- 0x58100003, // 0037 LDCONST R4 K3
- 0xAC100200, // 0038 CATCH R4 1 0
- 0xB0080000, // 0039 RAISE 2 R0 R0
- 0x60100010, // 003A GETGBL R4 G16
- 0x5C140600, // 003B MOVE R5 R3
- 0x7C100200, // 003C CALL R4 1
- 0xA802000D, // 003D EXBLK 0 #004C
- 0x5C140800, // 003E MOVE R5 R4
- 0x7C140000, // 003F CALL R5 0
- 0xB81A1600, // 0040 GETNGBL R6 K11
- 0x881C0B0D, // 0041 GETMBR R7 R5 K13
- 0x001E1807, // 0042 ADD R7 K12 R7
- 0x5820000E, // 0043 LDCONST R8 K14
- 0x7C180400, // 0044 CALL R6 2
- 0x8C180B0F, // 0045 GETMET R6 R5 K15
- 0x7C180200, // 0046 CALL R6 1
- 0x88180101, // 0047 GETMBR R6 R0 K1
- 0x8C180D10, // 0048 GETMET R6 R6 K16
- 0x88200B0D, // 0049 GETMBR R8 R5 K13
- 0x7C180400, // 004A CALL R6 2
- 0x7001FFF1, // 004B JMP #003E
- 0x58100003, // 004C LDCONST R4 K3
- 0xAC100200, // 004D CATCH R4 1 0
- 0xB0080000, // 004E RAISE 2 R0 R0
- 0x80000000, // 004F RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: init
-********************************************************************/
-be_local_closure(class_Matter_Device_init, /* name */
- be_nested_proto(
- 7, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 1, /* has sup protos */
- ( &(const struct bproto*[ 2]) {
- be_nested_proto(
- 4, /* nstack */
- 0, /* argc */
- 0, /* varg */
- 1, /* has upvals */
- ( &(const bupvaldesc[ 1]) { /* upvals */
- be_local_const_upval(1, 0),
- }),
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 5]) { /* constants */
- /* K0 */ be_nested_str_weak(start),
- /* K1 */ be_nested_str_weak(tasmota),
- /* K2 */ be_nested_str_weak(remove_rule),
- /* K3 */ be_nested_str_weak(Wifi_X23Connected),
- /* K4 */ be_nested_str_weak(matter_start),
- }),
- be_str_weak(_anonymous_),
- &be_const_str_solidified,
- ( &(const binstruction[ 9]) { /* code */
- 0x68000000, // 0000 GETUPV R0 U0
- 0x8C000100, // 0001 GETMET R0 R0 K0
- 0x7C000200, // 0002 CALL R0 1
- 0xB8020200, // 0003 GETNGBL R0 K1
- 0x8C000102, // 0004 GETMET R0 R0 K2
- 0x58080003, // 0005 LDCONST R2 K3
- 0x580C0004, // 0006 LDCONST R3 K4
- 0x7C000600, // 0007 CALL R0 3
- 0x80000000, // 0008 RET 0
- })
- ),
- be_nested_proto(
- 4, /* nstack */
- 0, /* argc */
- 0, /* varg */
- 1, /* has upvals */
- ( &(const bupvaldesc[ 1]) { /* upvals */
- be_local_const_upval(1, 0),
- }),
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 5]) { /* constants */
- /* K0 */ be_nested_str_weak(start),
- /* K1 */ be_nested_str_weak(tasmota),
- /* K2 */ be_nested_str_weak(remove_rule),
- /* K3 */ be_nested_str_weak(Eth_X23Connected),
- /* K4 */ be_nested_str_weak(matter_start),
- }),
- be_str_weak(_anonymous_),
- &be_const_str_solidified,
- ( &(const binstruction[ 9]) { /* code */
- 0x68000000, // 0000 GETUPV R0 U0
- 0x8C000100, // 0001 GETMET R0 R0 K0
- 0x7C000200, // 0002 CALL R0 1
- 0xB8020200, // 0003 GETNGBL R0 K1
- 0x8C000102, // 0004 GETMET R0 R0 K2
- 0x58080003, // 0005 LDCONST R2 K3
- 0x580C0004, // 0006 LDCONST R3 K4
- 0x7C000600, // 0007 CALL R0 3
- 0x80000000, // 0008 RET 0
- })
- ),
- }),
- 1, /* has constants */
- ( &(const bvalue[38]) { /* constants */
- /* K0 */ be_nested_str_weak(crypto),
- /* K1 */ be_nested_str_weak(tasmota),
- /* K2 */ be_nested_str_weak(get_option),
- /* K3 */ be_nested_str_weak(matter),
- /* K4 */ be_nested_str_weak(MATTER_OPTION),
- /* K5 */ be_nested_str_weak(UI),
- /* K6 */ be_nested_str_weak(profiler),
- /* K7 */ be_nested_str_weak(Profiler),
- /* K8 */ be_nested_str_weak(started),
- /* K9 */ be_nested_str_weak(tick),
- /* K10 */ be_const_int(0),
- /* K11 */ be_nested_str_weak(plugins),
- /* K12 */ be_nested_str_weak(plugins_persist),
- /* K13 */ be_nested_str_weak(plugins_config_remotes),
- /* K14 */ be_nested_str_weak(next_ep),
- /* K15 */ be_const_int(2),
- /* K16 */ be_nested_str_weak(ipv4only),
- /* K17 */ be_nested_str_weak(disable_bridge_mode),
- /* K18 */ be_nested_str_weak(load_param),
- /* K19 */ be_nested_str_weak(sessions),
- /* K20 */ be_nested_str_weak(Session_Store),
- /* K21 */ be_nested_str_weak(load_fabrics),
- /* K22 */ be_nested_str_weak(message_handler),
- /* K23 */ be_nested_str_weak(MessageHandler),
- /* K24 */ be_nested_str_weak(events),
- /* K25 */ be_nested_str_weak(EventHandler),
- /* K26 */ be_nested_str_weak(ui),
- /* K27 */ be_nested_str_weak(wifi),
- /* K28 */ be_nested_str_weak(up),
- /* K29 */ be_nested_str_weak(eth),
- /* K30 */ be_nested_str_weak(start),
- /* K31 */ be_nested_str_weak(add_rule),
- /* K32 */ be_nested_str_weak(Wifi_X23Connected),
- /* K33 */ be_nested_str_weak(matter_start),
- /* K34 */ be_nested_str_weak(Eth_X23Connected),
- /* K35 */ be_nested_str_weak(_init_basic_commissioning),
- /* K36 */ be_nested_str_weak(add_driver),
- /* K37 */ be_nested_str_weak(register_commands),
- }),
- be_str_weak(init),
- &be_const_str_solidified,
- ( &(const binstruction[102]) { /* code */
- 0xA4060000, // 0000 IMPORT R1 K0
- 0xB80A0200, // 0001 GETNGBL R2 K1
- 0x8C080502, // 0002 GETMET R2 R2 K2
- 0xB8120600, // 0003 GETNGBL R4 K3
- 0x88100904, // 0004 GETMBR R4 R4 K4
- 0x7C080400, // 0005 CALL R2 2
- 0x740A0004, // 0006 JMPT R2 #000C
- 0xB80A0600, // 0007 GETNGBL R2 K3
- 0x8C080505, // 0008 GETMET R2 R2 K5
- 0x5C100000, // 0009 MOVE R4 R0
- 0x7C080400, // 000A CALL R2 2
- 0x80000400, // 000B RET 0
- 0xB80A0600, // 000C GETNGBL R2 K3
- 0xB80E0600, // 000D GETNGBL R3 K3
- 0x8C0C0707, // 000E GETMET R3 R3 K7
- 0x7C0C0200, // 000F CALL R3 1
- 0x900A0C03, // 0010 SETMBR R2 K6 R3
- 0x50080000, // 0011 LDBOOL R2 0 0
- 0x90021002, // 0012 SETMBR R0 K8 R2
- 0x9002130A, // 0013 SETMBR R0 K9 K10
- 0x60080012, // 0014 GETGBL R2 G18
- 0x7C080000, // 0015 CALL R2 0
- 0x90021602, // 0016 SETMBR R0 K11 R2
- 0x50080000, // 0017 LDBOOL R2 0 0
- 0x90021802, // 0018 SETMBR R0 K12 R2
- 0x60080013, // 0019 GETGBL R2 G19
- 0x7C080000, // 001A CALL R2 0
- 0x90021A02, // 001B SETMBR R0 K13 R2
- 0x90021D0F, // 001C SETMBR R0 K14 K15
- 0x50080000, // 001D LDBOOL R2 0 0
- 0x90022002, // 001E SETMBR R0 K16 R2
- 0x50080000, // 001F LDBOOL R2 0 0
- 0x90022202, // 0020 SETMBR R0 K17 R2
- 0x8C080112, // 0021 GETMET R2 R0 K18
- 0x7C080200, // 0022 CALL R2 1
- 0xB80A0600, // 0023 GETNGBL R2 K3
- 0x8C080514, // 0024 GETMET R2 R2 K20
- 0x5C100000, // 0025 MOVE R4 R0
- 0x7C080400, // 0026 CALL R2 2
- 0x90022602, // 0027 SETMBR R0 K19 R2
- 0x88080113, // 0028 GETMBR R2 R0 K19
- 0x8C080515, // 0029 GETMET R2 R2 K21
- 0x7C080200, // 002A CALL R2 1
- 0xB80A0600, // 002B GETNGBL R2 K3
- 0x8C080517, // 002C GETMET R2 R2 K23
- 0x5C100000, // 002D MOVE R4 R0
- 0x7C080400, // 002E CALL R2 2
- 0x90022C02, // 002F SETMBR R0 K22 R2
- 0xB80A0600, // 0030 GETNGBL R2 K3
- 0x8C080519, // 0031 GETMET R2 R2 K25
- 0x5C100000, // 0032 MOVE R4 R0
- 0x7C080400, // 0033 CALL R2 2
- 0x90023002, // 0034 SETMBR R0 K24 R2
- 0xB80A0600, // 0035 GETNGBL R2 K3
- 0x8C080505, // 0036 GETMET R2 R2 K5
- 0x5C100000, // 0037 MOVE R4 R0
- 0x7C080400, // 0038 CALL R2 2
- 0x90023402, // 0039 SETMBR R0 K26 R2
- 0xB80A0200, // 003A GETNGBL R2 K1
- 0x8C08051B, // 003B GETMET R2 R2 K27
- 0x7C080200, // 003C CALL R2 1
- 0x9408051C, // 003D GETIDX R2 R2 K28
- 0x740A0004, // 003E JMPT R2 #0044
- 0xB80A0200, // 003F GETNGBL R2 K1
- 0x8C08051D, // 0040 GETMET R2 R2 K29
- 0x7C080200, // 0041 CALL R2 1
- 0x9408051C, // 0042 GETIDX R2 R2 K28
- 0x780A0001, // 0043 JMPF R2 #0046
- 0x8C08011E, // 0044 GETMET R2 R0 K30
- 0x7C080200, // 0045 CALL R2 1
- 0xB80A0200, // 0046 GETNGBL R2 K1
- 0x8C08051B, // 0047 GETMET R2 R2 K27
- 0x7C080200, // 0048 CALL R2 1
- 0x9408051C, // 0049 GETIDX R2 R2 K28
- 0x740A0005, // 004A JMPT R2 #0051
- 0xB80A0200, // 004B GETNGBL R2 K1
- 0x8C08051F, // 004C GETMET R2 R2 K31
- 0x58100020, // 004D LDCONST R4 K32
- 0x84140000, // 004E CLOSURE R5 P0
- 0x58180021, // 004F LDCONST R6 K33
- 0x7C080800, // 0050 CALL R2 4
- 0xB80A0200, // 0051 GETNGBL R2 K1
- 0x8C08051D, // 0052 GETMET R2 R2 K29
- 0x7C080200, // 0053 CALL R2 1
- 0x9408051C, // 0054 GETIDX R2 R2 K28
- 0x740A0005, // 0055 JMPT R2 #005C
- 0xB80A0200, // 0056 GETNGBL R2 K1
- 0x8C08051F, // 0057 GETMET R2 R2 K31
- 0x58100022, // 0058 LDCONST R4 K34
- 0x84140001, // 0059 CLOSURE R5 P1
- 0x58180021, // 005A LDCONST R6 K33
- 0x7C080800, // 005B CALL R2 4
- 0x8C080123, // 005C GETMET R2 R0 K35
- 0x7C080200, // 005D CALL R2 1
- 0xB80A0200, // 005E GETNGBL R2 K1
- 0x8C080524, // 005F GETMET R2 R2 K36
- 0x5C100000, // 0060 MOVE R4 R0
- 0x7C080400, // 0061 CALL R2 2
- 0x8C080125, // 0062 GETMET R2 R0 K37
- 0x7C080200, // 0063 CALL R2 1
- 0xA0000000, // 0064 CLOSE R0
- 0x80000000, // 0065 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: mdns_remove_op_discovery
-********************************************************************/
-be_local_closure(class_Matter_Device_mdns_remove_op_discovery, /* name */
- be_nested_proto(
- 12, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[23]) { /* constants */
- /* K0 */ be_nested_str_weak(mdns),
- /* K1 */ be_nested_str_weak(get_device_id),
- /* K2 */ be_nested_str_weak(copy),
- /* K3 */ be_nested_str_weak(reverse),
- /* K4 */ be_nested_str_weak(get_fabric_compressed),
- /* K5 */ be_nested_str_weak(tohex),
- /* K6 */ be_nested_str_weak(_X2D),
- /* K7 */ be_nested_str_weak(tasmota),
- /* K8 */ be_nested_str_weak(eth),
- /* K9 */ be_nested_str_weak(find),
- /* K10 */ be_nested_str_weak(up),
- /* K11 */ be_nested_str_weak(log),
- /* K12 */ be_nested_str_weak(MTR_X3A_X20remove_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27),
- /* K13 */ be_const_int(3),
- /* K14 */ be_nested_str_weak(remove_service),
- /* K15 */ be_nested_str_weak(_matter),
- /* K16 */ be_nested_str_weak(_tcp),
- /* K17 */ be_nested_str_weak(hostname_eth),
- /* K18 */ be_nested_str_weak(wifi),
- /* K19 */ be_nested_str_weak(hostname_wifi),
- /* K20 */ be_nested_str_weak(MTR_X3A_X20Exception),
- /* K21 */ be_nested_str_weak(_X7C),
- /* K22 */ be_const_int(2),
- }),
- be_str_weak(mdns_remove_op_discovery),
- &be_const_str_solidified,
- ( &(const binstruction[77]) { /* code */
- 0xA40A0000, // 0000 IMPORT R2 K0
- 0xA8020039, // 0001 EXBLK 0 #003C
- 0x8C0C0301, // 0002 GETMET R3 R1 K1
- 0x7C0C0200, // 0003 CALL R3 1
- 0x8C0C0702, // 0004 GETMET R3 R3 K2
- 0x7C0C0200, // 0005 CALL R3 1
- 0x8C0C0703, // 0006 GETMET R3 R3 K3
- 0x7C0C0200, // 0007 CALL R3 1
- 0x8C100304, // 0008 GETMET R4 R1 K4
- 0x7C100200, // 0009 CALL R4 1
- 0x8C140905, // 000A GETMET R5 R4 K5
- 0x7C140200, // 000B CALL R5 1
- 0x00140B06, // 000C ADD R5 R5 K6
- 0x8C180705, // 000D GETMET R6 R3 K5
- 0x7C180200, // 000E CALL R6 1
- 0x00140A06, // 000F ADD R5 R5 R6
- 0xB81A0E00, // 0010 GETNGBL R6 K7
- 0x8C180D08, // 0011 GETMET R6 R6 K8
- 0x7C180200, // 0012 CALL R6 1
- 0x8C180D09, // 0013 GETMET R6 R6 K9
- 0x5820000A, // 0014 LDCONST R8 K10
- 0x7C180400, // 0015 CALL R6 2
- 0x781A000D, // 0016 JMPF R6 #0025
- 0xB81A1600, // 0017 GETNGBL R6 K11
- 0x601C0018, // 0018 GETGBL R7 G24
- 0x5820000C, // 0019 LDCONST R8 K12
- 0x58240008, // 001A LDCONST R9 K8
- 0x5C280A00, // 001B MOVE R10 R5
- 0x7C1C0600, // 001C CALL R7 3
- 0x5820000D, // 001D LDCONST R8 K13
- 0x7C180400, // 001E CALL R6 2
- 0x8C18050E, // 001F GETMET R6 R2 K14
- 0x5820000F, // 0020 LDCONST R8 K15
- 0x58240010, // 0021 LDCONST R9 K16
- 0x5C280A00, // 0022 MOVE R10 R5
- 0x882C0111, // 0023 GETMBR R11 R0 K17
- 0x7C180A00, // 0024 CALL R6 5
- 0xB81A0E00, // 0025 GETNGBL R6 K7
- 0x8C180D12, // 0026 GETMET R6 R6 K18
- 0x7C180200, // 0027 CALL R6 1
- 0x8C180D09, // 0028 GETMET R6 R6 K9
- 0x5820000A, // 0029 LDCONST R8 K10
- 0x7C180400, // 002A CALL R6 2
- 0x781A000D, // 002B JMPF R6 #003A
- 0xB81A1600, // 002C GETNGBL R6 K11
- 0x601C0018, // 002D GETGBL R7 G24
- 0x5820000C, // 002E LDCONST R8 K12
- 0x58240012, // 002F LDCONST R9 K18
- 0x5C280A00, // 0030 MOVE R10 R5
- 0x7C1C0600, // 0031 CALL R7 3
- 0x5820000D, // 0032 LDCONST R8 K13
- 0x7C180400, // 0033 CALL R6 2
- 0x8C18050E, // 0034 GETMET R6 R2 K14
- 0x5820000F, // 0035 LDCONST R8 K15
- 0x58240010, // 0036 LDCONST R9 K16
- 0x5C280A00, // 0037 MOVE R10 R5
- 0x882C0113, // 0038 GETMBR R11 R0 K19
- 0x7C180A00, // 0039 CALL R6 5
- 0xA8040001, // 003A EXBLK 1 1
- 0x7002000F, // 003B JMP #004C
- 0xAC0C0002, // 003C CATCH R3 0 2
- 0x7002000C, // 003D JMP #004B
- 0xB8161600, // 003E GETNGBL R5 K11
- 0x60180008, // 003F GETGBL R6 G8
- 0x5C1C0600, // 0040 MOVE R7 R3
- 0x7C180200, // 0041 CALL R6 1
- 0x001A2806, // 0042 ADD R6 K20 R6
- 0x00180D15, // 0043 ADD R6 R6 K21
- 0x601C0008, // 0044 GETGBL R7 G8
- 0x5C200800, // 0045 MOVE R8 R4
- 0x7C1C0200, // 0046 CALL R7 1
- 0x00180C07, // 0047 ADD R6 R6 R7
- 0x581C0016, // 0048 LDCONST R7 K22
- 0x7C140400, // 0049 CALL R5 2
- 0x70020000, // 004A JMP #004C
- 0xB0080000, // 004B RAISE 2 R0 R0
- 0x80000000, // 004C RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: _start_udp
-********************************************************************/
-be_local_closure(class_Matter_Device__start_udp, /* name */
- be_nested_proto(
- 7, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 1, /* has sup protos */
- ( &(const struct bproto*[ 1]) {
- be_nested_proto(
- 8, /* nstack */
- 3, /* argc */
- 0, /* varg */
- 1, /* has upvals */
- ( &(const bupvaldesc[ 1]) { /* upvals */
- be_local_const_upval(1, 0),
- }),
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 1]) { /* constants */
- /* K0 */ be_nested_str_weak(msg_received),
- }),
- be_str_weak(_X3Clambda_X3E),
- &be_const_str_solidified,
- ( &(const binstruction[ 7]) { /* code */
- 0x680C0000, // 0000 GETUPV R3 U0
- 0x8C0C0700, // 0001 GETMET R3 R3 K0
- 0x5C140000, // 0002 MOVE R5 R0
- 0x5C180200, // 0003 MOVE R6 R1
- 0x5C1C0400, // 0004 MOVE R7 R2
- 0x7C0C0800, // 0005 CALL R3 4
- 0x80040600, // 0006 RET 1 R3
- })
- ),
- }),
- 1, /* has constants */
- ( &(const bvalue[ 8]) { /* constants */
- /* K0 */ be_nested_str_weak(udp_server),
- /* K1 */ be_nested_str_weak(log),
- /* K2 */ be_nested_str_weak(MTR_X3A_X20Starting_X20UDP_X20server_X20on_X20port_X3A_X20),
- /* K3 */ be_const_int(2),
- /* K4 */ be_nested_str_weak(matter),
- /* K5 */ be_nested_str_weak(UDPServer),
- /* K6 */ be_nested_str_weak(),
- /* K7 */ be_nested_str_weak(start),
- }),
- be_str_weak(_start_udp),
- &be_const_str_solidified,
- ( &(const binstruction[27]) { /* code */
- 0x88080100, // 0000 GETMBR R2 R0 K0
- 0x780A0000, // 0001 JMPF R2 #0003
- 0x80000400, // 0002 RET 0
- 0x4C080000, // 0003 LDNIL R2
- 0x1C080202, // 0004 EQ R2 R1 R2
- 0x780A0000, // 0005 JMPF R2 #0007
- 0x540615A3, // 0006 LDINT R1 5540
- 0xB80A0200, // 0007 GETNGBL R2 K1
- 0x600C0008, // 0008 GETGBL R3 G8
- 0x5C100200, // 0009 MOVE R4 R1
- 0x7C0C0200, // 000A CALL R3 1
- 0x000E0403, // 000B ADD R3 K2 R3
- 0x58100003, // 000C LDCONST R4 K3
- 0x7C080400, // 000D CALL R2 2
- 0xB80A0800, // 000E GETNGBL R2 K4
- 0x8C080505, // 000F GETMET R2 R2 K5
- 0x5C100000, // 0010 MOVE R4 R0
- 0x58140006, // 0011 LDCONST R5 K6
- 0x5C180200, // 0012 MOVE R6 R1
- 0x7C080800, // 0013 CALL R2 4
- 0x90020002, // 0014 SETMBR R0 K0 R2
- 0x88080100, // 0015 GETMBR R2 R0 K0
- 0x8C080507, // 0016 GETMET R2 R2 K7
- 0x84100000, // 0017 CLOSURE R4 P0
- 0x7C080400, // 0018 CALL R2 2
- 0xA0000000, // 0019 CLOSE R0
- 0x80000000, // 001A RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: adjust_next_ep
-********************************************************************/
-be_local_closure(class_Matter_Device_adjust_next_ep, /* name */
- be_nested_proto(
- 5, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 5]) { /* constants */
- /* K0 */ be_nested_str_weak(plugins_config),
- /* K1 */ be_nested_str_weak(keys),
- /* K2 */ be_nested_str_weak(next_ep),
- /* K3 */ be_const_int(1),
- /* K4 */ be_nested_str_weak(stop_iteration),
- }),
- be_str_weak(adjust_next_ep),
- &be_const_str_solidified,
- ( &(const binstruction[21]) { /* code */
- 0x60040010, // 0000 GETGBL R1 G16
- 0x88080100, // 0001 GETMBR R2 R0 K0
- 0x8C080501, // 0002 GETMET R2 R2 K1
- 0x7C080200, // 0003 CALL R2 1
- 0x7C040200, // 0004 CALL R1 1
- 0xA802000A, // 0005 EXBLK 0 #0011
- 0x5C080200, // 0006 MOVE R2 R1
- 0x7C080000, // 0007 CALL R2 0
- 0x600C0009, // 0008 GETGBL R3 G9
- 0x5C100400, // 0009 MOVE R4 R2
- 0x7C0C0200, // 000A CALL R3 1
- 0x88100102, // 000B GETMBR R4 R0 K2
- 0x28100604, // 000C GE R4 R3 R4
- 0x78120001, // 000D JMPF R4 #0010
- 0x00100703, // 000E ADD R4 R3 K3
- 0x90020404, // 000F SETMBR R0 K2 R4
- 0x7001FFF4, // 0010 JMP #0006
- 0x58040004, // 0011 LDCONST R1 K4
- 0xAC040200, // 0012 CATCH R1 1 0
- 0xB0080000, // 0013 RAISE 2 R0 R0
- 0x80000000, // 0014 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: _trigger_read_sensors
-********************************************************************/
-be_local_closure(class_Matter_Device__trigger_read_sensors, /* name */
- be_nested_proto(
- 8, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[13]) { /* constants */
- /* K0 */ be_nested_str_weak(json),
- /* K1 */ be_nested_str_weak(tasmota),
- /* K2 */ be_nested_str_weak(read_sensors),
- /* K3 */ be_nested_str_weak(loglevel),
- /* K4 */ be_const_int(3),
- /* K5 */ be_nested_str_weak(log),
- /* K6 */ be_nested_str_weak(MTR_X3A_X20read_sensors_X3A_X20),
- /* K7 */ be_nested_str_weak(load),
- /* K8 */ be_const_int(0),
- /* K9 */ be_nested_str_weak(plugins),
- /* K10 */ be_nested_str_weak(parse_sensors),
- /* K11 */ be_const_int(1),
- /* K12 */ be_nested_str_weak(MTR_X3A_X20unable_X20to_X20parse_X20read_sensors_X3A_X20),
- }),
- be_str_weak(_trigger_read_sensors),
- &be_const_str_solidified,
- ( &(const binstruction[48]) { /* code */
- 0xA4060000, // 0000 IMPORT R1 K0
- 0xB80A0200, // 0001 GETNGBL R2 K1
- 0x8C080502, // 0002 GETMET R2 R2 K2
- 0x7C080200, // 0003 CALL R2 1
- 0xB80E0200, // 0004 GETNGBL R3 K1
- 0x8C0C0703, // 0005 GETMET R3 R3 K3
- 0x58140004, // 0006 LDCONST R5 K4
- 0x7C0C0400, // 0007 CALL R3 2
- 0x780E0006, // 0008 JMPF R3 #0010
- 0xB80E0A00, // 0009 GETNGBL R3 K5
- 0x60100008, // 000A GETGBL R4 G8
- 0x5C140400, // 000B MOVE R5 R2
- 0x7C100200, // 000C CALL R4 1
- 0x00120C04, // 000D ADD R4 K6 R4
- 0x58140004, // 000E LDCONST R5 K4
- 0x7C0C0400, // 000F CALL R3 2
- 0x4C0C0000, // 0010 LDNIL R3
- 0x1C0C0403, // 0011 EQ R3 R2 R3
- 0x780E0000, // 0012 JMPF R3 #0014
- 0x80000600, // 0013 RET 0
- 0x8C0C0307, // 0014 GETMET R3 R1 K7
- 0x5C140400, // 0015 MOVE R5 R2
- 0x7C0C0400, // 0016 CALL R3 2
- 0x4C100000, // 0017 LDNIL R4
- 0x20100604, // 0018 NE R4 R3 R4
- 0x7812000D, // 0019 JMPF R4 #0028
- 0x58100008, // 001A LDCONST R4 K8
- 0x6014000C, // 001B GETGBL R5 G12
- 0x88180109, // 001C GETMBR R6 R0 K9
- 0x7C140200, // 001D CALL R5 1
- 0x14140805, // 001E LT R5 R4 R5
- 0x78160006, // 001F JMPF R5 #0027
- 0x88140109, // 0020 GETMBR R5 R0 K9
- 0x94140A04, // 0021 GETIDX R5 R5 R4
- 0x8C140B0A, // 0022 GETMET R5 R5 K10
- 0x5C1C0600, // 0023 MOVE R7 R3
- 0x7C140400, // 0024 CALL R5 2
- 0x0010090B, // 0025 ADD R4 R4 K11
- 0x7001FFF3, // 0026 JMP #001B
- 0x70020006, // 0027 JMP #002F
- 0xB8120A00, // 0028 GETNGBL R4 K5
- 0x60140008, // 0029 GETGBL R5 G8
- 0x5C180400, // 002A MOVE R6 R2
- 0x7C140200, // 002B CALL R5 1
- 0x00161805, // 002C ADD R5 K12 R5
- 0x58180004, // 002D LDCONST R6 K4
- 0x7C100400, // 002E CALL R4 2
- 0x80000000, // 002F RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: _instantiate_plugins_from_config
-********************************************************************/
-be_local_closure(class_Matter_Device__instantiate_plugins_from_config, /* name */
- be_nested_proto(
- 17, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[31]) { /* constants */
- /* K0 */ be_nested_str_weak(k2l_num),
- /* K1 */ be_nested_str_weak(plugins),
- /* K2 */ be_nested_str_weak(push),
- /* K3 */ be_nested_str_weak(matter),
- /* K4 */ be_nested_str_weak(Plugin_Root),
- /* K5 */ be_const_int(0),
- /* K6 */ be_nested_str_weak(log),
- /* K7 */ be_nested_str_weak(MTR_X3A_X20Configuring_X20endpoints),
- /* K8 */ be_const_int(2),
- /* K9 */ be_nested_str_weak(MTR_X3A_X20_X20_X20endpoint_X20_X3D_X20_X255i_X20type_X3A_X25s_X25s),
- /* K10 */ be_nested_str_weak(root),
- /* K11 */ be_nested_str_weak(),
- /* K12 */ be_nested_str_weak(Plugin_Aggregator),
- /* K13 */ be_nested_str_weak(AGGREGATOR_ENDPOINT),
- /* K14 */ be_nested_str_weak(aggregator),
- /* K15 */ be_nested_str_weak(find),
- /* K16 */ be_nested_str_weak(type),
- /* K17 */ be_nested_str_weak(MTR_X3A_X20no_X20class_X20name_X2C_X20skipping),
- /* K18 */ be_const_int(3),
- /* K19 */ be_nested_str_weak(MTR_X3A_X20only_X20one_X20root_X20node_X20allowed),
- /* K20 */ be_nested_str_weak(plugins_classes),
- /* K21 */ be_nested_str_weak(MTR_X3A_X20unknown_X20class_X20name_X20_X27),
- /* K22 */ be_nested_str_weak(_X27_X20skipping),
- /* K23 */ be_nested_str_weak(conf_to_log),
- /* K24 */ be_nested_str_weak(MTR_X3A_X20Exception),
- /* K25 */ be_nested_str_weak(_X7C),
- /* K26 */ be_nested_str_weak(stop_iteration),
- /* K27 */ be_nested_str_weak(tasmota),
- /* K28 */ be_nested_str_weak(publish_result),
- /* K29 */ be_nested_str_weak(_X7B_X22Matter_X22_X3A_X7B_X22Initialized_X22_X3A1_X7D_X7D),
- /* K30 */ be_nested_str_weak(Matter),
- }),
- be_str_weak(_instantiate_plugins_from_config),
- &be_const_str_solidified,
- ( &(const binstruction[146]) { /* code */
- 0x8C080100, // 0000 GETMET R2 R0 K0
- 0x5C100200, // 0001 MOVE R4 R1
- 0x7C080400, // 0002 CALL R2 2
- 0x880C0101, // 0003 GETMBR R3 R0 K1
- 0x8C0C0702, // 0004 GETMET R3 R3 K2
- 0xB8160600, // 0005 GETNGBL R5 K3
- 0x8C140B04, // 0006 GETMET R5 R5 K4
- 0x5C1C0000, // 0007 MOVE R7 R0
- 0x58200005, // 0008 LDCONST R8 K5
- 0x60240013, // 0009 GETGBL R9 G19
- 0x7C240000, // 000A CALL R9 0
- 0x7C140800, // 000B CALL R5 4
- 0x7C0C0400, // 000C CALL R3 2
- 0xB80E0C00, // 000D GETNGBL R3 K6
- 0x58100007, // 000E LDCONST R4 K7
- 0x58140008, // 000F LDCONST R5 K8
- 0x7C0C0400, // 0010 CALL R3 2
- 0xB80E0C00, // 0011 GETNGBL R3 K6
- 0x60100018, // 0012 GETGBL R4 G24
- 0x58140009, // 0013 LDCONST R5 K9
- 0x58180005, // 0014 LDCONST R6 K5
- 0x581C000A, // 0015 LDCONST R7 K10
- 0x5820000B, // 0016 LDCONST R8 K11
- 0x7C100800, // 0017 CALL R4 4
- 0x58140008, // 0018 LDCONST R5 K8
- 0x7C0C0400, // 0019 CALL R3 2
- 0x880C0101, // 001A GETMBR R3 R0 K1
- 0x8C0C0702, // 001B GETMET R3 R3 K2
- 0xB8160600, // 001C GETNGBL R5 K3
- 0x8C140B0C, // 001D GETMET R5 R5 K12
- 0x5C1C0000, // 001E MOVE R7 R0
- 0xB8220600, // 001F GETNGBL R8 K3
- 0x8820110D, // 0020 GETMBR R8 R8 K13
- 0x60240013, // 0021 GETGBL R9 G19
- 0x7C240000, // 0022 CALL R9 0
- 0x7C140800, // 0023 CALL R5 4
- 0x7C0C0400, // 0024 CALL R3 2
- 0xB80E0C00, // 0025 GETNGBL R3 K6
- 0x60100018, // 0026 GETGBL R4 G24
- 0x58140009, // 0027 LDCONST R5 K9
- 0xB81A0600, // 0028 GETNGBL R6 K3
- 0x88180D0D, // 0029 GETMBR R6 R6 K13
- 0x581C000E, // 002A LDCONST R7 K14
- 0x5820000B, // 002B LDCONST R8 K11
- 0x7C100800, // 002C CALL R4 4
- 0x58140008, // 002D LDCONST R5 K8
- 0x7C0C0400, // 002E CALL R3 2
- 0x600C0010, // 002F GETGBL R3 G16
- 0x5C100400, // 0030 MOVE R4 R2
- 0x7C0C0200, // 0031 CALL R3 1
- 0xA8020055, // 0032 EXBLK 0 #0089
- 0x5C100600, // 0033 MOVE R4 R3
- 0x7C100000, // 0034 CALL R4 0
- 0x1C140905, // 0035 EQ R5 R4 K5
- 0x78160000, // 0036 JMPF R5 #0038
- 0x7001FFFA, // 0037 JMP #0033
- 0xA802003E, // 0038 EXBLK 0 #0078
- 0x60140008, // 0039 GETGBL R5 G8
- 0x5C180800, // 003A MOVE R6 R4
- 0x7C140200, // 003B CALL R5 1
- 0x94140205, // 003C GETIDX R5 R1 R5
- 0x8C180B0F, // 003D GETMET R6 R5 K15
- 0x58200010, // 003E LDCONST R8 K16
- 0x7C180400, // 003F CALL R6 2
- 0x4C1C0000, // 0040 LDNIL R7
- 0x1C1C0C07, // 0041 EQ R7 R6 R7
- 0x781E0005, // 0042 JMPF R7 #0049
- 0xB81E0C00, // 0043 GETNGBL R7 K6
- 0x58200011, // 0044 LDCONST R8 K17
- 0x58240012, // 0045 LDCONST R9 K18
- 0x7C1C0400, // 0046 CALL R7 2
- 0xA8040001, // 0047 EXBLK 1 1
- 0x7001FFE9, // 0048 JMP #0033
- 0x1C1C0D0A, // 0049 EQ R7 R6 K10
- 0x781E0005, // 004A JMPF R7 #0051
- 0xB81E0C00, // 004B GETNGBL R7 K6
- 0x58200013, // 004C LDCONST R8 K19
- 0x58240012, // 004D LDCONST R9 K18
- 0x7C1C0400, // 004E CALL R7 2
- 0xA8040001, // 004F EXBLK 1 1
- 0x7001FFE1, // 0050 JMP #0033
- 0x881C0114, // 0051 GETMBR R7 R0 K20
- 0x8C1C0F0F, // 0052 GETMET R7 R7 K15
- 0x5C240C00, // 0053 MOVE R9 R6
- 0x7C1C0400, // 0054 CALL R7 2
- 0x4C200000, // 0055 LDNIL R8
- 0x1C200E08, // 0056 EQ R8 R7 R8
- 0x78220009, // 0057 JMPF R8 #0062
- 0xB8220C00, // 0058 GETNGBL R8 K6
- 0x60240008, // 0059 GETGBL R9 G8
- 0x5C280C00, // 005A MOVE R10 R6
- 0x7C240200, // 005B CALL R9 1
- 0x00262A09, // 005C ADD R9 K21 R9
- 0x00241316, // 005D ADD R9 R9 K22
- 0x58280008, // 005E LDCONST R10 K8
- 0x7C200400, // 005F CALL R8 2
- 0xA8040001, // 0060 EXBLK 1 1
- 0x7001FFD0, // 0061 JMP #0033
- 0x5C200E00, // 0062 MOVE R8 R7
- 0x5C240000, // 0063 MOVE R9 R0
- 0x5C280800, // 0064 MOVE R10 R4
- 0x5C2C0A00, // 0065 MOVE R11 R5
- 0x7C200600, // 0066 CALL R8 3
- 0x88240101, // 0067 GETMBR R9 R0 K1
- 0x8C241302, // 0068 GETMET R9 R9 K2
- 0x5C2C1000, // 0069 MOVE R11 R8
- 0x7C240400, // 006A CALL R9 2
- 0xB8260C00, // 006B GETNGBL R9 K6
- 0x60280018, // 006C GETGBL R10 G24
- 0x582C0009, // 006D LDCONST R11 K9
- 0x5C300800, // 006E MOVE R12 R4
- 0x5C340C00, // 006F MOVE R13 R6
- 0x8C380117, // 0070 GETMET R14 R0 K23
- 0x5C400A00, // 0071 MOVE R16 R5
- 0x7C380400, // 0072 CALL R14 2
- 0x7C280800, // 0073 CALL R10 4
- 0x582C0008, // 0074 LDCONST R11 K8
- 0x7C240400, // 0075 CALL R9 2
- 0xA8040001, // 0076 EXBLK 1 1
- 0x7002000F, // 0077 JMP #0088
- 0xAC140002, // 0078 CATCH R5 0 2
- 0x7002000C, // 0079 JMP #0087
- 0xB81E0C00, // 007A GETNGBL R7 K6
- 0x60200008, // 007B GETGBL R8 G8
- 0x5C240A00, // 007C MOVE R9 R5
- 0x7C200200, // 007D CALL R8 1
- 0x00223008, // 007E ADD R8 K24 R8
- 0x00201119, // 007F ADD R8 R8 K25
- 0x60240008, // 0080 GETGBL R9 G8
- 0x5C280C00, // 0081 MOVE R10 R6
- 0x7C240200, // 0082 CALL R9 1
- 0x00201009, // 0083 ADD R8 R8 R9
- 0x58240008, // 0084 LDCONST R9 K8
- 0x7C1C0400, // 0085 CALL R7 2
- 0x70020000, // 0086 JMP #0088
- 0xB0080000, // 0087 RAISE 2 R0 R0
- 0x7001FFA9, // 0088 JMP #0033
- 0x580C001A, // 0089 LDCONST R3 K26
- 0xAC0C0200, // 008A CATCH R3 1 0
- 0xB0080000, // 008B RAISE 2 R0 R0
- 0xB80E3600, // 008C GETNGBL R3 K27
- 0x8C0C071C, // 008D GETMET R3 R3 K28
- 0x5814001D, // 008E LDCONST R5 K29
- 0x5818001E, // 008F LDCONST R6 K30
- 0x7C0C0600, // 0090 CALL R3 3
- 0x80000000, // 0091 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: mdns_announce_op_discovery
-********************************************************************/
-be_local_closure(class_Matter_Device_mdns_announce_op_discovery, /* name */
- be_nested_proto(
- 14, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[27]) { /* constants */
- /* K0 */ be_nested_str_weak(mdns),
- /* K1 */ be_nested_str_weak(get_device_id),
- /* K2 */ be_nested_str_weak(copy),
- /* K3 */ be_nested_str_weak(reverse),
- /* K4 */ be_nested_str_weak(get_fabric_compressed),
- /* K5 */ be_nested_str_weak(tohex),
- /* K6 */ be_nested_str_weak(_X2D),
- /* K7 */ be_nested_str_weak(log),
- /* K8 */ be_nested_str_weak(MTR_X3A_X20Operational_X20Discovery_X20node_X20_X3D_X20),
- /* K9 */ be_const_int(3),
- /* K10 */ be_nested_str_weak(tasmota),
- /* K11 */ be_nested_str_weak(eth),
- /* K12 */ be_nested_str_weak(find),
- /* K13 */ be_nested_str_weak(up),
- /* K14 */ be_nested_str_weak(MTR_X3A_X20adding_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27_X20ptr_X20to_X20_X60_X25s_X2Elocal_X60),
- /* K15 */ be_nested_str_weak(hostname_eth),
- /* K16 */ be_nested_str_weak(add_service),
- /* K17 */ be_nested_str_weak(_matter),
- /* K18 */ be_nested_str_weak(_tcp),
- /* K19 */ be_nested_str_weak(_I),
- /* K20 */ be_nested_str_weak(MTR_X3A_X20adding_X20subtype_X3A_X20),
- /* K21 */ be_nested_str_weak(add_subtype),
- /* K22 */ be_nested_str_weak(wifi),
- /* K23 */ be_nested_str_weak(hostname_wifi),
- /* K24 */ be_nested_str_weak(MTR_X3A_X20Exception),
- /* K25 */ be_nested_str_weak(_X7C),
- /* K26 */ be_const_int(2),
- }),
- be_str_weak(mdns_announce_op_discovery),
- &be_const_str_solidified,
- ( &(const binstruction[115]) { /* code */
- 0xA40A0000, // 0000 IMPORT R2 K0
- 0xA802005F, // 0001 EXBLK 0 #0062
- 0x8C0C0301, // 0002 GETMET R3 R1 K1
- 0x7C0C0200, // 0003 CALL R3 1
- 0x8C0C0702, // 0004 GETMET R3 R3 K2
- 0x7C0C0200, // 0005 CALL R3 1
- 0x8C0C0703, // 0006 GETMET R3 R3 K3
- 0x7C0C0200, // 0007 CALL R3 1
- 0x8C100304, // 0008 GETMET R4 R1 K4
- 0x7C100200, // 0009 CALL R4 1
- 0x8C140905, // 000A GETMET R5 R4 K5
- 0x7C140200, // 000B CALL R5 1
- 0x00140B06, // 000C ADD R5 R5 K6
- 0x8C180705, // 000D GETMET R6 R3 K5
- 0x7C180200, // 000E CALL R6 1
- 0x00140A06, // 000F ADD R5 R5 R6
- 0xB81A0E00, // 0010 GETNGBL R6 K7
- 0x001E1005, // 0011 ADD R7 K8 R5
- 0x58200009, // 0012 LDCONST R8 K9
- 0x7C180400, // 0013 CALL R6 2
- 0xB81A1400, // 0014 GETNGBL R6 K10
- 0x8C180D0B, // 0015 GETMET R6 R6 K11
- 0x7C180200, // 0016 CALL R6 1
- 0x8C180D0C, // 0017 GETMET R6 R6 K12
- 0x5820000D, // 0018 LDCONST R8 K13
- 0x7C180400, // 0019 CALL R6 2
- 0x781A001E, // 001A JMPF R6 #003A
- 0xB81A0E00, // 001B GETNGBL R6 K7
- 0x601C0018, // 001C GETGBL R7 G24
- 0x5820000E, // 001D LDCONST R8 K14
- 0x5824000B, // 001E LDCONST R9 K11
- 0x5C280A00, // 001F MOVE R10 R5
- 0x882C010F, // 0020 GETMBR R11 R0 K15
- 0x7C1C0800, // 0021 CALL R7 4
- 0x58200009, // 0022 LDCONST R8 K9
- 0x7C180400, // 0023 CALL R6 2
- 0x8C180510, // 0024 GETMET R6 R2 K16
- 0x58200011, // 0025 LDCONST R8 K17
- 0x58240012, // 0026 LDCONST R9 K18
- 0x542A15A3, // 0027 LDINT R10 5540
- 0x4C2C0000, // 0028 LDNIL R11
- 0x5C300A00, // 0029 MOVE R12 R5
- 0x8834010F, // 002A GETMBR R13 R0 K15
- 0x7C180E00, // 002B CALL R6 7
- 0x8C180905, // 002C GETMET R6 R4 K5
- 0x7C180200, // 002D CALL R6 1
- 0x001A2606, // 002E ADD R6 K19 R6
- 0xB81E0E00, // 002F GETNGBL R7 K7
- 0x00222806, // 0030 ADD R8 K20 R6
- 0x58240009, // 0031 LDCONST R9 K9
- 0x7C1C0400, // 0032 CALL R7 2
- 0x8C1C0515, // 0033 GETMET R7 R2 K21
- 0x58240011, // 0034 LDCONST R9 K17
- 0x58280012, // 0035 LDCONST R10 K18
- 0x5C2C0A00, // 0036 MOVE R11 R5
- 0x8830010F, // 0037 GETMBR R12 R0 K15
- 0x5C340C00, // 0038 MOVE R13 R6
- 0x7C1C0C00, // 0039 CALL R7 6
- 0xB81A1400, // 003A GETNGBL R6 K10
- 0x8C180D16, // 003B GETMET R6 R6 K22
- 0x7C180200, // 003C CALL R6 1
- 0x8C180D0C, // 003D GETMET R6 R6 K12
- 0x5820000D, // 003E LDCONST R8 K13
- 0x7C180400, // 003F CALL R6 2
- 0x781A001E, // 0040 JMPF R6 #0060
- 0xB81A0E00, // 0041 GETNGBL R6 K7
- 0x601C0018, // 0042 GETGBL R7 G24
- 0x5820000E, // 0043 LDCONST R8 K14
- 0x58240016, // 0044 LDCONST R9 K22
- 0x5C280A00, // 0045 MOVE R10 R5
- 0x882C0117, // 0046 GETMBR R11 R0 K23
- 0x7C1C0800, // 0047 CALL R7 4
- 0x58200009, // 0048 LDCONST R8 K9
- 0x7C180400, // 0049 CALL R6 2
- 0x8C180510, // 004A GETMET R6 R2 K16
- 0x58200011, // 004B LDCONST R8 K17
- 0x58240012, // 004C LDCONST R9 K18
- 0x542A15A3, // 004D LDINT R10 5540
- 0x4C2C0000, // 004E LDNIL R11
- 0x5C300A00, // 004F MOVE R12 R5
- 0x88340117, // 0050 GETMBR R13 R0 K23
- 0x7C180E00, // 0051 CALL R6 7
- 0x8C180905, // 0052 GETMET R6 R4 K5
- 0x7C180200, // 0053 CALL R6 1
- 0x001A2606, // 0054 ADD R6 K19 R6
- 0xB81E0E00, // 0055 GETNGBL R7 K7
- 0x00222806, // 0056 ADD R8 K20 R6
- 0x58240009, // 0057 LDCONST R9 K9
- 0x7C1C0400, // 0058 CALL R7 2
- 0x8C1C0515, // 0059 GETMET R7 R2 K21
- 0x58240011, // 005A LDCONST R9 K17
- 0x58280012, // 005B LDCONST R10 K18
- 0x5C2C0A00, // 005C MOVE R11 R5
- 0x88300117, // 005D GETMBR R12 R0 K23
- 0x5C340C00, // 005E MOVE R13 R6
- 0x7C1C0C00, // 005F CALL R7 6
- 0xA8040001, // 0060 EXBLK 1 1
- 0x7002000F, // 0061 JMP #0072
- 0xAC0C0002, // 0062 CATCH R3 0 2
- 0x7002000C, // 0063 JMP #0071
- 0xB8160E00, // 0064 GETNGBL R5 K7
- 0x60180008, // 0065 GETGBL R6 G8
- 0x5C1C0600, // 0066 MOVE R7 R3
- 0x7C180200, // 0067 CALL R6 1
- 0x001A3006, // 0068 ADD R6 K24 R6
- 0x00180D19, // 0069 ADD R6 R6 K25
- 0x601C0008, // 006A GETGBL R7 G8
- 0x5C200800, // 006B MOVE R8 R4
- 0x7C1C0200, // 006C CALL R7 1
- 0x00180C07, // 006D ADD R6 R6 R7
- 0x581C001A, // 006E LDCONST R7 K26
- 0x7C140400, // 006F CALL R5 2
- 0x70020000, // 0070 JMP #0072
- 0xB0080000, // 0071 RAISE 2 R0 R0
- 0x80000000, // 0072 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: start_commissioning_complete_deferred
-********************************************************************/
-be_local_closure(class_Matter_Device_start_commissioning_complete_deferred, /* name */
- be_nested_proto(
- 6, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 1, /* has sup protos */
- ( &(const struct bproto*[ 1]) {
- be_nested_proto(
- 3, /* nstack */
- 0, /* argc */
- 0, /* varg */
- 1, /* has upvals */
- ( &(const bupvaldesc[ 2]) { /* upvals */
- be_local_const_upval(1, 0),
- be_local_const_upval(1, 1),
- }),
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 1]) { /* constants */
- /* K0 */ be_nested_str_weak(start_commissioning_complete),
- }),
- be_str_weak(_X3Clambda_X3E),
- &be_const_str_solidified,
- ( &(const binstruction[ 5]) { /* code */
- 0x68000000, // 0000 GETUPV R0 U0
- 0x8C000100, // 0001 GETMET R0 R0 K0
- 0x68080001, // 0002 GETUPV R2 U1
- 0x7C000400, // 0003 CALL R0 2
- 0x80040000, // 0004 RET 1 R0
- })
- ),
- }),
- 1, /* has constants */
- ( &(const bvalue[ 3]) { /* constants */
- /* K0 */ be_nested_str_weak(tasmota),
- /* K1 */ be_nested_str_weak(set_timer),
- /* K2 */ be_const_int(0),
- }),
- be_str_weak(start_commissioning_complete_deferred),
- &be_const_str_solidified,
- ( &(const binstruction[ 7]) { /* code */
- 0xB80A0000, // 0000 GETNGBL R2 K0
- 0x8C080501, // 0001 GETMET R2 R2 K1
- 0x58100002, // 0002 LDCONST R4 K2
- 0x84140000, // 0003 CLOSURE R5 P0
- 0x7C080600, // 0004 CALL R2 3
- 0xA0000000, // 0005 CLOSE R0
- 0x80000000, // 0006 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: read_sensors_scheduler
-********************************************************************/
-be_local_closure(class_Matter_Device_read_sensors_scheduler, /* name */
- be_nested_proto(
- 4, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 7]) { /* constants */
- /* K0 */ be_nested_str_weak(probe_sensor_time),
- /* K1 */ be_nested_str_weak(probe_sensor_timestamp),
- /* K2 */ be_const_int(0),
- /* K3 */ be_nested_str_weak(tasmota),
- /* K4 */ be_nested_str_weak(time_reached),
- /* K5 */ be_nested_str_weak(_trigger_read_sensors),
- /* K6 */ be_nested_str_weak(millis),
- }),
- be_str_weak(read_sensors_scheduler),
- &be_const_str_solidified,
- ( &(const binstruction[21]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x4C080000, // 0001 LDNIL R2
- 0x1C040202, // 0002 EQ R1 R1 R2
- 0x78060000, // 0003 JMPF R1 #0005
- 0x80000200, // 0004 RET 0
- 0x88040101, // 0005 GETMBR R1 R0 K1
- 0x1C040302, // 0006 EQ R1 R1 K2
- 0x74060004, // 0007 JMPT R1 #000D
- 0xB8060600, // 0008 GETNGBL R1 K3
- 0x8C040304, // 0009 GETMET R1 R1 K4
- 0x880C0101, // 000A GETMBR R3 R0 K1
- 0x7C040400, // 000B CALL R1 2
- 0x78060006, // 000C JMPF R1 #0014
- 0x8C040105, // 000D GETMET R1 R0 K5
- 0x7C040200, // 000E CALL R1 1
- 0xB8060600, // 000F GETNGBL R1 K3
- 0x8C040306, // 0010 GETMET R1 R1 K6
- 0x880C0100, // 0011 GETMBR R3 R0 K0
- 0x7C040400, // 0012 CALL R1 2
- 0x90020201, // 0013 SETMBR R0 K1 R1
- 0x80000000, // 0014 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: bridge_remove_endpoint
-********************************************************************/
-be_local_closure(class_Matter_Device_bridge_remove_endpoint, /* name */
- be_nested_proto(
- 10, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[17]) { /* constants */
- /* K0 */ be_nested_str_weak(json),
- /* K1 */ be_nested_str_weak(plugins_config),
- /* K2 */ be_nested_str_weak(contains),
- /* K3 */ be_nested_str_weak(log),
- /* K4 */ be_nested_str_weak(MTR_X3A_X20Cannot_X20remove_X20an_X20enpoint_X20not_X20configured_X3A_X20),
- /* K5 */ be_const_int(3),
- /* K6 */ be_nested_str_weak(MTR_X3A_X20deleting_X20endpoint_X20_X3D_X20_X25i),
- /* K7 */ be_const_int(2),
- /* K8 */ be_nested_str_weak(remove),
- /* K9 */ be_nested_str_weak(plugins_persist),
- /* K10 */ be_const_int(0),
- /* K11 */ be_nested_str_weak(plugins),
- /* K12 */ be_nested_str_weak(get_endpoint),
- /* K13 */ be_const_int(1),
- /* K14 */ be_nested_str_weak(clean_remotes),
- /* K15 */ be_nested_str_weak(save_param),
- /* K16 */ be_nested_str_weak(signal_endpoints_changed),
- }),
- be_str_weak(bridge_remove_endpoint),
- &be_const_str_solidified,
- ( &(const binstruction[56]) { /* code */
- 0xA40A0000, // 0000 IMPORT R2 K0
- 0x600C0008, // 0001 GETGBL R3 G8
- 0x5C100200, // 0002 MOVE R4 R1
- 0x7C0C0200, // 0003 CALL R3 1
- 0x4C100000, // 0004 LDNIL R4
- 0x4C140000, // 0005 LDNIL R5
- 0x88180101, // 0006 GETMBR R6 R0 K1
- 0x8C180D02, // 0007 GETMET R6 R6 K2
- 0x5C200600, // 0008 MOVE R8 R3
- 0x7C180400, // 0009 CALL R6 2
- 0x741A0004, // 000A JMPT R6 #0010
- 0xB81A0600, // 000B GETNGBL R6 K3
- 0x001E0803, // 000C ADD R7 K4 R3
- 0x58200005, // 000D LDCONST R8 K5
- 0x7C180400, // 000E CALL R6 2
- 0x80000C00, // 000F RET 0
- 0xB81A0600, // 0010 GETNGBL R6 K3
- 0x601C0018, // 0011 GETGBL R7 G24
- 0x58200006, // 0012 LDCONST R8 K6
- 0x5C240200, // 0013 MOVE R9 R1
- 0x7C1C0400, // 0014 CALL R7 2
- 0x58200007, // 0015 LDCONST R8 K7
- 0x7C180400, // 0016 CALL R6 2
- 0x88180101, // 0017 GETMBR R6 R0 K1
- 0x8C180D08, // 0018 GETMET R6 R6 K8
- 0x5C200600, // 0019 MOVE R8 R3
- 0x7C180400, // 001A CALL R6 2
- 0x50180200, // 001B LDBOOL R6 1 0
- 0x90021206, // 001C SETMBR R0 K9 R6
- 0x5818000A, // 001D LDCONST R6 K10
- 0x601C000C, // 001E GETGBL R7 G12
- 0x8820010B, // 001F GETMBR R8 R0 K11
- 0x7C1C0200, // 0020 CALL R7 1
- 0x141C0C07, // 0021 LT R7 R6 R7
- 0x781E000D, // 0022 JMPF R7 #0031
- 0x881C010B, // 0023 GETMBR R7 R0 K11
- 0x941C0E06, // 0024 GETIDX R7 R7 R6
- 0x8C1C0F0C, // 0025 GETMET R7 R7 K12
- 0x7C1C0200, // 0026 CALL R7 1
- 0x1C1C0207, // 0027 EQ R7 R1 R7
- 0x781E0005, // 0028 JMPF R7 #002F
- 0x881C010B, // 0029 GETMBR R7 R0 K11
- 0x8C1C0F08, // 002A GETMET R7 R7 K8
- 0x5C240C00, // 002B MOVE R9 R6
- 0x7C1C0400, // 002C CALL R7 2
- 0x70020002, // 002D JMP #0031
- 0x70020000, // 002E JMP #0030
- 0x00180D0D, // 002F ADD R6 R6 K13
- 0x7001FFEC, // 0030 JMP #001E
- 0x8C1C010E, // 0031 GETMET R7 R0 K14
- 0x7C1C0200, // 0032 CALL R7 1
- 0x8C1C010F, // 0033 GETMET R7 R0 K15
- 0x7C1C0200, // 0034 CALL R7 1
- 0x8C1C0110, // 0035 GETMET R7 R0 K16
- 0x7C1C0200, // 0036 CALL R7 1
- 0x80000000, // 0037 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: bridge_add_endpoint
-********************************************************************/
-be_local_closure(class_Matter_Device_bridge_add_endpoint, /* name */
- be_nested_proto(
- 16, /* nstack */
- 3, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[20]) { /* constants */
- /* K0 */ be_nested_str_weak(plugins_classes),
- /* K1 */ be_nested_str_weak(find),
- /* K2 */ be_nested_str_weak(log),
- /* K3 */ be_nested_str_weak(MTR_X3A_X20unknown_X20class_X20name_X20_X27),
- /* K4 */ be_nested_str_weak(_X27_X20skipping),
- /* K5 */ be_const_int(3),
- /* K6 */ be_nested_str_weak(next_ep),
- /* K7 */ be_nested_str_weak(plugins),
- /* K8 */ be_nested_str_weak(push),
- /* K9 */ be_nested_str_weak(type),
- /* K10 */ be_nested_str_weak(keys),
- /* K11 */ be_nested_str_weak(stop_iteration),
- /* K12 */ be_nested_str_weak(MTR_X3A_X20adding_X20endpoint_X20_X3D_X20_X25i_X20type_X3A_X25s_X25s),
- /* K13 */ be_nested_str_weak(conf_to_log),
- /* K14 */ be_const_int(2),
- /* K15 */ be_nested_str_weak(plugins_config),
- /* K16 */ be_nested_str_weak(plugins_persist),
- /* K17 */ be_const_int(1),
- /* K18 */ be_nested_str_weak(save_param),
- /* K19 */ be_nested_str_weak(signal_endpoints_changed),
- }),
- be_str_weak(bridge_add_endpoint),
- &be_const_str_solidified,
- ( &(const binstruction[68]) { /* code */
- 0x880C0100, // 0000 GETMBR R3 R0 K0
- 0x8C0C0701, // 0001 GETMET R3 R3 K1
- 0x5C140200, // 0002 MOVE R5 R1
- 0x7C0C0400, // 0003 CALL R3 2
- 0x4C100000, // 0004 LDNIL R4
- 0x1C100604, // 0005 EQ R4 R3 R4
- 0x78120008, // 0006 JMPF R4 #0010
- 0xB8120400, // 0007 GETNGBL R4 K2
- 0x60140008, // 0008 GETGBL R5 G8
- 0x5C180200, // 0009 MOVE R6 R1
- 0x7C140200, // 000A CALL R5 1
- 0x00160605, // 000B ADD R5 K3 R5
- 0x00140B04, // 000C ADD R5 R5 K4
- 0x58180005, // 000D LDCONST R6 K5
- 0x7C100400, // 000E CALL R4 2
- 0x80000800, // 000F RET 0
- 0x88100106, // 0010 GETMBR R4 R0 K6
- 0x60140008, // 0011 GETGBL R5 G8
- 0x5C180800, // 0012 MOVE R6 R4
- 0x7C140200, // 0013 CALL R5 1
- 0x5C180600, // 0014 MOVE R6 R3
- 0x5C1C0000, // 0015 MOVE R7 R0
- 0x5C200800, // 0016 MOVE R8 R4
- 0x5C240400, // 0017 MOVE R9 R2
- 0x7C180600, // 0018 CALL R6 3
- 0x881C0107, // 0019 GETMBR R7 R0 K7
- 0x8C1C0F08, // 001A GETMET R7 R7 K8
- 0x5C240C00, // 001B MOVE R9 R6
- 0x7C1C0400, // 001C CALL R7 2
- 0x601C0013, // 001D GETGBL R7 G19
- 0x7C1C0000, // 001E CALL R7 0
- 0x981E1201, // 001F SETIDX R7 K9 R1
- 0x60200010, // 0020 GETGBL R8 G16
- 0x8C24050A, // 0021 GETMET R9 R2 K10
- 0x7C240200, // 0022 CALL R9 1
- 0x7C200200, // 0023 CALL R8 1
- 0xA8020004, // 0024 EXBLK 0 #002A
- 0x5C241000, // 0025 MOVE R9 R8
- 0x7C240000, // 0026 CALL R9 0
- 0x94280409, // 0027 GETIDX R10 R2 R9
- 0x981C120A, // 0028 SETIDX R7 R9 R10
- 0x7001FFFA, // 0029 JMP #0025
- 0x5820000B, // 002A LDCONST R8 K11
- 0xAC200200, // 002B CATCH R8 1 0
- 0xB0080000, // 002C RAISE 2 R0 R0
- 0xB8220400, // 002D GETNGBL R8 K2
- 0x60240018, // 002E GETGBL R9 G24
- 0x5828000C, // 002F LDCONST R10 K12
- 0x5C2C0800, // 0030 MOVE R11 R4
- 0x5C300200, // 0031 MOVE R12 R1
- 0x8C34010D, // 0032 GETMET R13 R0 K13
- 0x5C3C0400, // 0033 MOVE R15 R2
- 0x7C340400, // 0034 CALL R13 2
- 0x7C240800, // 0035 CALL R9 4
- 0x5828000E, // 0036 LDCONST R10 K14
- 0x7C200400, // 0037 CALL R8 2
- 0x8820010F, // 0038 GETMBR R8 R0 K15
- 0x98200A07, // 0039 SETIDX R8 R5 R7
- 0x50200200, // 003A LDBOOL R8 1 0
- 0x90022008, // 003B SETMBR R0 K16 R8
- 0x88200106, // 003C GETMBR R8 R0 K6
- 0x00201111, // 003D ADD R8 R8 K17
- 0x90020C08, // 003E SETMBR R0 K6 R8
- 0x8C200112, // 003F GETMET R8 R0 K18
- 0x7C200200, // 0040 CALL R8 1
- 0x8C200113, // 0041 GETMET R8 R0 K19
- 0x7C200200, // 0042 CALL R8 1
- 0x80040800, // 0043 RET 1 R4
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: is_root_commissioning_open
-********************************************************************/
-be_local_closure(class_Matter_Device_is_root_commissioning_open, /* name */
- be_nested_proto(
- 3, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 2]) { /* constants */
- /* K0 */ be_nested_str_weak(commissioning_open),
- /* K1 */ be_nested_str_weak(commissioning_admin_fabric),
- }),
- be_str_weak(is_root_commissioning_open),
- &be_const_str_solidified,
- ( &(const binstruction[11]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x4C080000, // 0001 LDNIL R2
- 0x20040202, // 0002 NE R1 R1 R2
- 0x78060003, // 0003 JMPF R1 #0008
- 0x88040101, // 0004 GETMBR R1 R0 K1
- 0x4C080000, // 0005 LDNIL R2
- 0x1C040202, // 0006 EQ R1 R1 R2
- 0x74060000, // 0007 JMPT R1 #0009
- 0x50040001, // 0008 LDBOOL R1 0 1
- 0x50040200, // 0009 LDBOOL R1 1 0
- 0x80040200, // 000A RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: start_operational_discovery
-********************************************************************/
-be_local_closure(class_Matter_Device_start_operational_discovery, /* name */
- be_nested_proto(
- 7, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 4]) { /* constants */
- /* K0 */ be_nested_str_weak(crypto),
- /* K1 */ be_nested_str_weak(mdns),
- /* K2 */ be_nested_str_weak(stop_basic_commissioning),
- /* K3 */ be_nested_str_weak(mdns_announce_op_discovery),
- }),
- be_str_weak(start_operational_discovery),
- &be_const_str_solidified,
- ( &(const binstruction[ 8]) { /* code */
- 0xA40A0000, // 0000 IMPORT R2 K0
- 0xA40E0200, // 0001 IMPORT R3 K1
- 0x8C100102, // 0002 GETMET R4 R0 K2
- 0x7C100200, // 0003 CALL R4 1
- 0x8C100103, // 0004 GETMET R4 R0 K3
- 0x5C180200, // 0005 MOVE R6 R1
- 0x7C100400, // 0006 CALL R4 2
- 0x80000000, // 0007 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: MtrInfo
-********************************************************************/
-be_local_closure(class_Matter_Device_MtrInfo, /* name */
- be_nested_proto(
- 10, /* nstack */
- 5, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 9]) { /* constants */
- /* K0 */ be_nested_str_weak(),
- /* K1 */ be_nested_str_weak(plugins),
- /* K2 */ be_nested_str_weak(MtrInfo_one),
- /* K3 */ be_nested_str_weak(endpoint),
- /* K4 */ be_nested_str_weak(stop_iteration),
- /* K5 */ be_nested_str_weak(int),
- /* K6 */ be_nested_str_weak(find_plugin_by_friendly_name),
- /* K7 */ be_nested_str_weak(tasmota),
- /* K8 */ be_nested_str_weak(resp_cmnd_done),
- }),
- be_str_weak(MtrInfo),
- &be_const_str_solidified,
- ( &(const binstruction[40]) { /* code */
- 0x1C140700, // 0000 EQ R5 R3 K0
- 0x7815FFFF, // 0001 JMPF R5 #0002
- 0x1C140700, // 0002 EQ R5 R3 K0
- 0x7816000D, // 0003 JMPF R5 #0012
- 0x60140010, // 0004 GETGBL R5 G16
- 0x88180101, // 0005 GETMBR R6 R0 K1
- 0x7C140200, // 0006 CALL R5 1
- 0xA8020005, // 0007 EXBLK 0 #000E
- 0x5C180A00, // 0008 MOVE R6 R5
- 0x7C180000, // 0009 CALL R6 0
- 0x8C1C0102, // 000A GETMET R7 R0 K2
- 0x88240D03, // 000B GETMBR R9 R6 K3
- 0x7C1C0400, // 000C CALL R7 2
- 0x7001FFF9, // 000D JMP #0008
- 0x58140004, // 000E LDCONST R5 K4
- 0xAC140200, // 000F CATCH R5 1 0
- 0xB0080000, // 0010 RAISE 2 R0 R0
- 0x70020011, // 0011 JMP #0024
- 0x60140004, // 0012 GETGBL R5 G4
- 0x5C180800, // 0013 MOVE R6 R4
- 0x7C140200, // 0014 CALL R5 1
- 0x1C140B05, // 0015 EQ R5 R5 K5
- 0x78160003, // 0016 JMPF R5 #001B
- 0x8C140102, // 0017 GETMET R5 R0 K2
- 0x5C1C0800, // 0018 MOVE R7 R4
- 0x7C140400, // 0019 CALL R5 2
- 0x70020008, // 001A JMP #0024
- 0x8C140106, // 001B GETMET R5 R0 K6
- 0x5C1C0600, // 001C MOVE R7 R3
- 0x7C140400, // 001D CALL R5 2
- 0x4C180000, // 001E LDNIL R6
- 0x20180A06, // 001F NE R6 R5 R6
- 0x781A0002, // 0020 JMPF R6 #0024
- 0x8C180102, // 0021 GETMET R6 R0 K2
- 0x88200B03, // 0022 GETMBR R8 R5 K3
- 0x7C180400, // 0023 CALL R6 2
- 0xB8160E00, // 0024 GETNGBL R5 K7
- 0x8C140B08, // 0025 GETMET R5 R5 K8
- 0x7C140200, // 0026 CALL R5 1
- 0x80000000, // 0027 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: signal_endpoints_changed
-********************************************************************/
-be_local_closure(class_Matter_Device_signal_endpoints_changed, /* name */
- be_nested_proto(
- 7, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 5]) { /* constants */
- /* K0 */ be_nested_str_weak(attribute_updated),
- /* K1 */ be_const_int(0),
- /* K2 */ be_const_int(3),
- /* K3 */ be_nested_str_weak(matter),
- /* K4 */ be_nested_str_weak(AGGREGATOR_ENDPOINT),
- }),
- be_str_weak(signal_endpoints_changed),
- &be_const_str_solidified,
- ( &(const binstruction[14]) { /* code */
- 0x8C040100, // 0000 GETMET R1 R0 K0
- 0x580C0001, // 0001 LDCONST R3 K1
- 0x5412001C, // 0002 LDINT R4 29
- 0x58140002, // 0003 LDCONST R5 K2
- 0x50180000, // 0004 LDBOOL R6 0 0
- 0x7C040A00, // 0005 CALL R1 5
- 0x8C040100, // 0006 GETMET R1 R0 K0
- 0xB80E0600, // 0007 GETNGBL R3 K3
- 0x880C0704, // 0008 GETMBR R3 R3 K4
- 0x5412001C, // 0009 LDINT R4 29
- 0x58140002, // 000A LDCONST R5 K2
- 0x50180000, // 000B LDBOOL R6 0 0
- 0x7C040A00, // 000C CALL R1 5
- 0x80000000, // 000D RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: MtrUpdate
-********************************************************************/
-be_local_closure(class_Matter_Device_MtrUpdate, /* name */
- be_nested_proto(
- 18, /* nstack */
- 5, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[25]) { /* constants */
- /* K0 */ be_nested_str_weak(tasmota),
- /* K1 */ be_nested_str_weak(resp_cmnd_str),
- /* K2 */ be_nested_str_weak(Invalid_X20JSON),
- /* K3 */ be_nested_str_weak(find_key_i),
- /* K4 */ be_nested_str_weak(Ep),
- /* K5 */ be_nested_str_weak(Name),
- /* K6 */ be_const_int(0),
- /* K7 */ be_nested_str_weak(Invalid_X20_X27Ep_X27_X20attribute),
- /* K8 */ be_nested_str_weak(find_plugin_by_endpoint),
- /* K9 */ be_nested_str_weak(remove),
- /* K10 */ be_nested_str_weak(find_plugin_by_friendly_name),
- /* K11 */ be_nested_str_weak(Invalid_X20Device),
- /* K12 */ be_nested_str_weak(VIRTUAL),
- /* K13 */ be_nested_str_weak(Device_X20is_X20not_X20virtual),
- /* K14 */ be_nested_str_weak(consolidate_update_commands),
- /* K15 */ be_nested_str_weak(keys),
- /* K16 */ be_nested_str_weak(find_list_i),
- /* K17 */ be_nested_str_weak(Invalid_X20attribute_X20_X27_X25s_X27),
- /* K18 */ be_nested_str_weak(stop_iteration),
- /* K19 */ be_nested_str_weak(update_virtual),
- /* K20 */ be_nested_str_weak(state_json),
- /* K21 */ be_nested_str_weak(_X7B_X22_X25s_X22_X3A_X25s_X7D),
- /* K22 */ be_nested_str_weak(resp_cmnd),
- /* K23 */ be_nested_str_weak(resp_cmnd_done),
- /* K24 */ be_nested_str_weak(Missing_X20_X27Device_X27_X20attribute),
- }),
- be_str_weak(MtrUpdate),
- &be_const_str_solidified,
- ( &(const binstruction[126]) { /* code */
- 0x4C140000, // 0000 LDNIL R5
- 0x1C140805, // 0001 EQ R5 R4 R5
- 0x78160004, // 0002 JMPF R5 #0008
- 0xB8160000, // 0003 GETNGBL R5 K0
- 0x8C140B01, // 0004 GETMET R5 R5 K1
- 0x581C0002, // 0005 LDCONST R7 K2
- 0x7C140400, // 0006 CALL R5 2
- 0x80040A00, // 0007 RET 1 R5
- 0xB8160000, // 0008 GETNGBL R5 K0
- 0x8C140B03, // 0009 GETMET R5 R5 K3
- 0x5C1C0800, // 000A MOVE R7 R4
- 0x58200004, // 000B LDCONST R8 K4
- 0x7C140600, // 000C CALL R5 3
- 0xB81A0000, // 000D GETNGBL R6 K0
- 0x8C180D03, // 000E GETMET R6 R6 K3
- 0x5C200800, // 000F MOVE R8 R4
- 0x58240005, // 0010 LDCONST R9 K5
- 0x7C180600, // 0011 CALL R6 3
- 0x74160000, // 0012 JMPT R5 #0014
- 0x781A0064, // 0013 JMPF R6 #0079
- 0x4C1C0000, // 0014 LDNIL R7
- 0x78160010, // 0015 JMPF R5 #0027
- 0x60200009, // 0016 GETGBL R8 G9
- 0x94240805, // 0017 GETIDX R9 R4 R5
- 0x7C200200, // 0018 CALL R8 1
- 0x18241106, // 0019 LE R9 R8 K6
- 0x78260004, // 001A JMPF R9 #0020
- 0xB8260000, // 001B GETNGBL R9 K0
- 0x8C241301, // 001C GETMET R9 R9 K1
- 0x582C0007, // 001D LDCONST R11 K7
- 0x7C240400, // 001E CALL R9 2
- 0x80041200, // 001F RET 1 R9
- 0x8C240108, // 0020 GETMET R9 R0 K8
- 0x5C2C1000, // 0021 MOVE R11 R8
- 0x7C240400, // 0022 CALL R9 2
- 0x5C1C1200, // 0023 MOVE R7 R9
- 0x8C240909, // 0024 GETMET R9 R4 K9
- 0x5C2C0A00, // 0025 MOVE R11 R5
- 0x7C240400, // 0026 CALL R9 2
- 0x781A0009, // 0027 JMPF R6 #0032
- 0x4C200000, // 0028 LDNIL R8
- 0x1C200E08, // 0029 EQ R8 R7 R8
- 0x78220003, // 002A JMPF R8 #002F
- 0x8C20010A, // 002B GETMET R8 R0 K10
- 0x94280806, // 002C GETIDX R10 R4 R6
- 0x7C200400, // 002D CALL R8 2
- 0x5C1C1000, // 002E MOVE R7 R8
- 0x8C200909, // 002F GETMET R8 R4 K9
- 0x5C280C00, // 0030 MOVE R10 R6
- 0x7C200400, // 0031 CALL R8 2
- 0x4C200000, // 0032 LDNIL R8
- 0x1C200E08, // 0033 EQ R8 R7 R8
- 0x78220004, // 0034 JMPF R8 #003A
- 0xB8220000, // 0035 GETNGBL R8 K0
- 0x8C201101, // 0036 GETMET R8 R8 K1
- 0x5828000B, // 0037 LDCONST R10 K11
- 0x7C200400, // 0038 CALL R8 2
- 0x80041000, // 0039 RET 1 R8
- 0x88200F0C, // 003A GETMBR R8 R7 K12
- 0x74220004, // 003B JMPT R8 #0041
- 0xB8220000, // 003C GETNGBL R8 K0
- 0x8C201101, // 003D GETMET R8 R8 K1
- 0x5828000D, // 003E LDCONST R10 K13
- 0x7C200400, // 003F CALL R8 2
- 0x80041000, // 0040 RET 1 R8
- 0x8C200F0E, // 0041 GETMET R8 R7 K14
- 0x7C200200, // 0042 CALL R8 1
- 0x60240013, // 0043 GETGBL R9 G19
- 0x7C240000, // 0044 CALL R9 0
- 0x60280010, // 0045 GETGBL R10 G16
- 0x8C2C090F, // 0046 GETMET R11 R4 K15
- 0x7C2C0200, // 0047 CALL R11 1
- 0x7C280200, // 0048 CALL R10 1
- 0xA8020016, // 0049 EXBLK 0 #0061
- 0x5C2C1400, // 004A MOVE R11 R10
- 0x7C2C0000, // 004B CALL R11 0
- 0xB8320000, // 004C GETNGBL R12 K0
- 0x8C301910, // 004D GETMET R12 R12 K16
- 0x5C381000, // 004E MOVE R14 R8
- 0x5C3C1600, // 004F MOVE R15 R11
- 0x7C300600, // 0050 CALL R12 3
- 0x4C340000, // 0051 LDNIL R13
- 0x1C34180D, // 0052 EQ R13 R12 R13
- 0x78360008, // 0053 JMPF R13 #005D
- 0xB8360000, // 0054 GETNGBL R13 K0
- 0x8C341B01, // 0055 GETMET R13 R13 K1
- 0x603C0018, // 0056 GETGBL R15 G24
- 0x58400011, // 0057 LDCONST R16 K17
- 0x5C441600, // 0058 MOVE R17 R11
- 0x7C3C0400, // 0059 CALL R15 2
- 0x7C340400, // 005A CALL R13 2
- 0xA8040001, // 005B EXBLK 1 1
- 0x80001A00, // 005C RET 0
- 0x9434100C, // 005D GETIDX R13 R8 R12
- 0x9438080B, // 005E GETIDX R14 R4 R11
- 0x98241A0E, // 005F SETIDX R9 R13 R14
- 0x7001FFE8, // 0060 JMP #004A
- 0x58280012, // 0061 LDCONST R10 K18
- 0xAC280200, // 0062 CATCH R10 1 0
- 0xB0080000, // 0063 RAISE 2 R0 R0
- 0x8C280F13, // 0064 GETMET R10 R7 K19
- 0x5C301200, // 0065 MOVE R12 R9
- 0x7C280400, // 0066 CALL R10 2
- 0x8C280F14, // 0067 GETMET R10 R7 K20
- 0x7C280200, // 0068 CALL R10 1
- 0x782A000A, // 0069 JMPF R10 #0075
- 0x602C0018, // 006A GETGBL R11 G24
- 0x58300015, // 006B LDCONST R12 K21
- 0x5C340200, // 006C MOVE R13 R1
- 0x5C381400, // 006D MOVE R14 R10
- 0x7C2C0600, // 006E CALL R11 3
- 0xB8320000, // 006F GETNGBL R12 K0
- 0x8C301916, // 0070 GETMET R12 R12 K22
- 0x5C381600, // 0071 MOVE R14 R11
- 0x7C300400, // 0072 CALL R12 2
- 0x80041800, // 0073 RET 1 R12
- 0x70020003, // 0074 JMP #0079
- 0xB82E0000, // 0075 GETNGBL R11 K0
- 0x8C2C1717, // 0076 GETMET R11 R11 K23
- 0x7C2C0200, // 0077 CALL R11 1
- 0x80041600, // 0078 RET 1 R11
- 0xB81E0000, // 0079 GETNGBL R7 K0
- 0x8C1C0F01, // 007A GETMET R7 R7 K1
- 0x58240018, // 007B LDCONST R9 K24
- 0x7C1C0400, // 007C CALL R7 2
- 0x80000000, // 007D RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: start_operational_discovery_deferred
-********************************************************************/
-be_local_closure(class_Matter_Device_start_operational_discovery_deferred, /* name */
- be_nested_proto(
- 6, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 1, /* has sup protos */
- ( &(const struct bproto*[ 1]) {
- be_nested_proto(
- 3, /* nstack */
- 0, /* argc */
- 0, /* varg */
- 1, /* has upvals */
- ( &(const bupvaldesc[ 2]) { /* upvals */
- be_local_const_upval(1, 0),
- be_local_const_upval(1, 1),
- }),
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 1]) { /* constants */
- /* K0 */ be_nested_str_weak(start_operational_discovery),
- }),
- be_str_weak(_X3Clambda_X3E),
- &be_const_str_solidified,
- ( &(const binstruction[ 5]) { /* code */
- 0x68000000, // 0000 GETUPV R0 U0
- 0x8C000100, // 0001 GETMET R0 R0 K0
- 0x68080001, // 0002 GETUPV R2 U1
- 0x7C000400, // 0003 CALL R0 2
- 0x80040000, // 0004 RET 1 R0
- })
- ),
- }),
- 1, /* has constants */
- ( &(const bvalue[ 3]) { /* constants */
- /* K0 */ be_nested_str_weak(tasmota),
- /* K1 */ be_nested_str_weak(set_timer),
- /* K2 */ be_const_int(0),
- }),
- be_str_weak(start_operational_discovery_deferred),
- &be_const_str_solidified,
- ( &(const binstruction[ 7]) { /* code */
- 0xB80A0000, // 0000 GETNGBL R2 K0
- 0x8C080501, // 0001 GETMET R2 R2 K1
- 0x58100002, // 0002 LDCONST R4 K2
- 0x84140000, // 0003 CLOSURE R5 P0
- 0x7C080600, // 0004 CALL R2 3
- 0xA0000000, // 0005 CLOSE R0
- 0x80000000, // 0006 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
/********************************************************************
** Solidified function: save_param
********************************************************************/
@@ -4261,108 +3075,76 @@ be_local_closure(class_Matter_Device_save_param, /* name */
be_nested_proto(
9, /* nstack */
1, /* argc */
- 2, /* varg */
+ 10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[31]) { /* constants */
- /* K0 */ be_nested_str_weak(json),
- /* K1 */ be_nested_str_weak(update_remotes_info),
- /* K2 */ be_nested_str_weak(_X7B_X22distinguish_X22_X3A_X25i_X2C_X22passcode_X22_X3A_X25i_X2C_X22ipv4only_X22_X3A_X25s_X2C_X22disable_bridge_mode_X22_X3A_X25s_X2C_X22nextep_X22_X3A_X25i),
- /* K3 */ be_nested_str_weak(root_discriminator),
- /* K4 */ be_nested_str_weak(root_passcode),
- /* K5 */ be_nested_str_weak(ipv4only),
- /* K6 */ be_nested_str_weak(true),
- /* K7 */ be_nested_str_weak(false),
- /* K8 */ be_nested_str_weak(disable_bridge_mode),
- /* K9 */ be_nested_str_weak(next_ep),
- /* K10 */ be_nested_str_weak(debug),
- /* K11 */ be_nested_str_weak(_X2C_X22debug_X22_X3Atrue),
- /* K12 */ be_nested_str_weak(plugins_persist),
- /* K13 */ be_nested_str_weak(_X2C_X0A_X22config_X22_X3A),
- /* K14 */ be_nested_str_weak(dump),
- /* K15 */ be_nested_str_weak(plugins_config),
- /* K16 */ be_nested_str_weak(plugins_config_remotes),
- /* K17 */ be_const_int(0),
- /* K18 */ be_nested_str_weak(_X2C_X0A_X22remotes_X22_X3A),
- /* K19 */ be_nested_str_weak(_X7D),
- /* K20 */ be_nested_str_weak(FILENAME),
- /* K21 */ be_nested_str_weak(w),
- /* K22 */ be_nested_str_weak(write),
- /* K23 */ be_nested_str_weak(close),
- /* K24 */ be_nested_str_weak(log),
- /* K25 */ be_nested_str_weak(MTR_X3A_X20_X3DSaved_X20_X20_X20_X20_X20parameters_X25s),
- /* K26 */ be_nested_str_weak(_X20and_X20configuration),
- /* K27 */ be_nested_str_weak(),
- /* K28 */ be_const_int(2),
- /* K29 */ be_nested_str_weak(MTR_X3A_X20Session_Store_X3A_X3Asave_X20Exception_X3A),
- /* K30 */ be_nested_str_weak(_X7C),
- }),
+ &be_ktab_class_Matter_Device, /* shared constants */
be_str_weak(save_param),
&be_const_str_solidified,
( &(const binstruction[83]) { /* code */
- 0xA4060000, // 0000 IMPORT R1 K0
- 0x8C080101, // 0001 GETMET R2 R0 K1
+ 0xA406AA00, // 0000 IMPORT R1 K85
+ 0x8C0801D7, // 0001 GETMET R2 R0 K215
0x7C080200, // 0002 CALL R2 1
0x60080018, // 0003 GETGBL R2 G24
- 0x580C0002, // 0004 LDCONST R3 K2
- 0x88100103, // 0005 GETMBR R4 R0 K3
- 0x88140104, // 0006 GETMBR R5 R0 K4
- 0x88180105, // 0007 GETMBR R6 R0 K5
+ 0x580C00D8, // 0004 LDCONST R3 K216
+ 0x881001B3, // 0005 GETMBR R4 R0 K179
+ 0x881401B5, // 0006 GETMBR R5 R0 K181
+ 0x88180122, // 0007 GETMBR R6 R0 K34
0x781A0001, // 0008 JMPF R6 #000B
- 0x58180006, // 0009 LDCONST R6 K6
+ 0x581800D9, // 0009 LDCONST R6 K217
0x70020000, // 000A JMP #000C
- 0x58180007, // 000B LDCONST R6 K7
- 0x881C0108, // 000C GETMBR R7 R0 K8
+ 0x581800DA, // 000B LDCONST R6 K218
+ 0x881C0123, // 000C GETMBR R7 R0 K35
0x781E0001, // 000D JMPF R7 #0010
- 0x581C0006, // 000E LDCONST R7 K6
+ 0x581C00D9, // 000E LDCONST R7 K217
0x70020000, // 000F JMP #0011
- 0x581C0007, // 0010 LDCONST R7 K7
- 0x88200109, // 0011 GETMBR R8 R0 K9
+ 0x581C00DA, // 0010 LDCONST R7 K218
+ 0x88200120, // 0011 GETMBR R8 R0 K32
0x7C080C00, // 0012 CALL R2 6
- 0x880C010A, // 0013 GETMBR R3 R0 K10
+ 0x880C01B9, // 0013 GETMBR R3 R0 K185
0x780E0000, // 0014 JMPF R3 #0016
- 0x0008050B, // 0015 ADD R2 R2 K11
- 0x880C010C, // 0016 GETMBR R3 R0 K12
+ 0x000805DB, // 0015 ADD R2 R2 K219
+ 0x880C010B, // 0016 GETMBR R3 R0 K11
0x780E000E, // 0017 JMPF R3 #0027
- 0x0008050D, // 0018 ADD R2 R2 K13
- 0x8C0C030E, // 0019 GETMET R3 R1 K14
- 0x8814010F, // 001A GETMBR R5 R0 K15
+ 0x000805DC, // 0018 ADD R2 R2 K220
+ 0x8C0C03DD, // 0019 GETMET R3 R1 K221
+ 0x88140156, // 001A GETMBR R5 R0 K86
0x7C0C0400, // 001B CALL R3 2
0x00080403, // 001C ADD R2 R2 R3
0x600C000C, // 001D GETGBL R3 G12
- 0x88100110, // 001E GETMBR R4 R0 K16
+ 0x8810011F, // 001E GETMBR R4 R0 K31
0x7C0C0200, // 001F CALL R3 1
- 0x240C0711, // 0020 GT R3 R3 K17
+ 0x240C070A, // 0020 GT R3 R3 K10
0x780E0004, // 0021 JMPF R3 #0027
- 0x00080512, // 0022 ADD R2 R2 K18
- 0x8C0C030E, // 0023 GETMET R3 R1 K14
- 0x88140110, // 0024 GETMBR R5 R0 K16
+ 0x000805DE, // 0022 ADD R2 R2 K222
+ 0x8C0C03DD, // 0023 GETMET R3 R1 K221
+ 0x8814011F, // 0024 GETMBR R5 R0 K31
0x7C0C0400, // 0025 CALL R3 2
0x00080403, // 0026 ADD R2 R2 R3
- 0x00080513, // 0027 ADD R2 R2 K19
+ 0x000805DF, // 0027 ADD R2 R2 K223
0xA8020017, // 0028 EXBLK 0 #0041
0x600C0011, // 0029 GETGBL R3 G17
- 0x88100114, // 002A GETMBR R4 R0 K20
- 0x58140015, // 002B LDCONST R5 K21
+ 0x881001B1, // 002A GETMBR R4 R0 K177
+ 0x581400E0, // 002B LDCONST R5 K224
0x7C0C0400, // 002C CALL R3 2
- 0x8C100716, // 002D GETMET R4 R3 K22
+ 0x8C1007E1, // 002D GETMET R4 R3 K225
0x5C180400, // 002E MOVE R6 R2
0x7C100400, // 002F CALL R4 2
- 0x8C100717, // 0030 GETMET R4 R3 K23
+ 0x8C10078A, // 0030 GETMET R4 R3 K138
0x7C100200, // 0031 CALL R4 1
- 0xB8123000, // 0032 GETNGBL R4 K24
+ 0xB8127400, // 0032 GETNGBL R4 K58
0x60140018, // 0033 GETGBL R5 G24
- 0x58180019, // 0034 LDCONST R6 K25
- 0x881C010C, // 0035 GETMBR R7 R0 K12
+ 0x581800E2, // 0034 LDCONST R6 K226
+ 0x881C010B, // 0035 GETMBR R7 R0 K11
0x781E0001, // 0036 JMPF R7 #0039
- 0x581C001A, // 0037 LDCONST R7 K26
+ 0x581C00E3, // 0037 LDCONST R7 K227
0x70020000, // 0038 JMP #003A
- 0x581C001B, // 0039 LDCONST R7 K27
+ 0x581C0010, // 0039 LDCONST R7 K16
0x7C140400, // 003A CALL R5 2
- 0x5818001C, // 003B LDCONST R6 K28
+ 0x58180021, // 003B LDCONST R6 K33
0x7C100400, // 003C CALL R4 2
0xA8040001, // 003D EXBLK 1 1
0x80040400, // 003E RET 1 R2
@@ -4370,17 +3152,17 @@ be_local_closure(class_Matter_Device_save_param, /* name */
0x70020010, // 0040 JMP #0052
0xAC0C0002, // 0041 CATCH R3 0 2
0x7002000D, // 0042 JMP #0051
- 0xB8163000, // 0043 GETNGBL R5 K24
+ 0xB8167400, // 0043 GETNGBL R5 K58
0x60180008, // 0044 GETGBL R6 G8
0x5C1C0600, // 0045 MOVE R7 R3
0x7C180200, // 0046 CALL R6 1
- 0x001A3A06, // 0047 ADD R6 K29 R6
- 0x00180D1E, // 0048 ADD R6 R6 K30
+ 0x001BC806, // 0047 ADD R6 K228 R6
+ 0x00180D7F, // 0048 ADD R6 R6 K127
0x601C0008, // 0049 GETGBL R7 G8
0x5C200800, // 004A MOVE R8 R4
0x7C1C0200, // 004B CALL R7 1
0x00180C07, // 004C ADD R6 R6 R7
- 0x581C001C, // 004D LDCONST R7 K28
+ 0x581C0021, // 004D LDCONST R7 K33
0x7C140400, // 004E CALL R5 2
0x80040400, // 004F RET 1 R2
0x70020000, // 0050 JMP #0052
@@ -4393,192 +3175,78 @@ be_local_closure(class_Matter_Device_save_param, /* name */
/********************************************************************
-** Solidified function: load_param
+** Solidified function: bridge_remove_endpoint
********************************************************************/
-be_local_closure(class_Matter_Device_load_param, /* name */
+be_local_closure(class_Matter_Device_bridge_remove_endpoint, /* name */
be_nested_proto(
- 12, /* nstack */
- 1, /* argc */
- 2, /* varg */
+ 10, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[36]) { /* constants */
- /* K0 */ be_nested_str_weak(crypto),
- /* K1 */ be_nested_str_weak(FILENAME),
- /* K2 */ be_nested_str_weak(read),
- /* K3 */ be_nested_str_weak(close),
- /* K4 */ be_nested_str_weak(json),
- /* K5 */ be_nested_str_weak(load),
- /* K6 */ be_nested_str_weak(root_discriminator),
- /* K7 */ be_nested_str_weak(find),
- /* K8 */ be_nested_str_weak(distinguish),
- /* K9 */ be_nested_str_weak(root_passcode),
- /* K10 */ be_nested_str_weak(passcode),
- /* K11 */ be_nested_str_weak(ipv4only),
- /* K12 */ be_nested_str_weak(disable_bridge_mode),
- /* K13 */ be_nested_str_weak(next_ep),
- /* K14 */ be_nested_str_weak(nextep),
- /* K15 */ be_nested_str_weak(plugins_config),
- /* K16 */ be_nested_str_weak(config),
- /* K17 */ be_nested_str_weak(debug),
- /* K18 */ be_nested_str_weak(log),
- /* K19 */ be_nested_str_weak(MTR_X3A_X20Load_config_X20_X3D_X20_X25s),
- /* K20 */ be_const_int(3),
- /* K21 */ be_nested_str_weak(adjust_next_ep),
- /* K22 */ be_nested_str_weak(check_config_ep),
- /* K23 */ be_nested_str_weak(plugins_persist),
- /* K24 */ be_nested_str_weak(plugins_config_remotes),
- /* K25 */ be_nested_str_weak(remotes),
- /* K26 */ be_nested_str_weak(MTR_X3A_X20load_remotes_X20_X3D_X20),
- /* K27 */ be_nested_str_weak(io_error),
- /* K28 */ be_nested_str_weak(MTR_X3A_X20load_param_X20Exception_X3A),
- /* K29 */ be_nested_str_weak(_X7C),
- /* K30 */ be_const_int(2),
- /* K31 */ be_nested_str_weak(random),
- /* K32 */ be_nested_str_weak(get),
- /* K33 */ be_const_int(0),
- /* K34 */ be_nested_str_weak(generate_random_passcode),
- /* K35 */ be_nested_str_weak(save_param),
- }),
- be_str_weak(load_param),
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(bridge_remove_endpoint),
&be_const_str_solidified,
- ( &(const binstruction[133]) { /* code */
- 0xA4060000, // 0000 IMPORT R1 K0
- 0x50080000, // 0001 LDBOOL R2 0 0
- 0xA8020054, // 0002 EXBLK 0 #0058
- 0x600C0011, // 0003 GETGBL R3 G17
- 0x88100101, // 0004 GETMBR R4 R0 K1
- 0x7C0C0200, // 0005 CALL R3 1
- 0x8C100702, // 0006 GETMET R4 R3 K2
- 0x7C100200, // 0007 CALL R4 1
- 0x8C140703, // 0008 GETMET R5 R3 K3
- 0x7C140200, // 0009 CALL R5 1
- 0xA4160800, // 000A IMPORT R5 K4
- 0x8C180B05, // 000B GETMET R6 R5 K5
- 0x5C200800, // 000C MOVE R8 R4
- 0x7C180400, // 000D CALL R6 2
- 0x8C1C0D07, // 000E GETMET R7 R6 K7
- 0x58240008, // 000F LDCONST R9 K8
- 0x88280106, // 0010 GETMBR R10 R0 K6
- 0x7C1C0600, // 0011 CALL R7 3
- 0x90020C07, // 0012 SETMBR R0 K6 R7
- 0x8C1C0D07, // 0013 GETMET R7 R6 K7
- 0x5824000A, // 0014 LDCONST R9 K10
- 0x88280109, // 0015 GETMBR R10 R0 K9
- 0x7C1C0600, // 0016 CALL R7 3
- 0x90021207, // 0017 SETMBR R0 K9 R7
- 0x601C0017, // 0018 GETGBL R7 G23
- 0x8C200D07, // 0019 GETMET R8 R6 K7
- 0x5828000B, // 001A LDCONST R10 K11
- 0x502C0000, // 001B LDBOOL R11 0 0
- 0x7C200600, // 001C CALL R8 3
- 0x7C1C0200, // 001D CALL R7 1
- 0x90021607, // 001E SETMBR R0 K11 R7
- 0x601C0017, // 001F GETGBL R7 G23
- 0x8C200D07, // 0020 GETMET R8 R6 K7
- 0x5828000C, // 0021 LDCONST R10 K12
- 0x502C0000, // 0022 LDBOOL R11 0 0
- 0x7C200600, // 0023 CALL R8 3
- 0x7C1C0200, // 0024 CALL R7 1
- 0x90021807, // 0025 SETMBR R0 K12 R7
- 0x8C1C0D07, // 0026 GETMET R7 R6 K7
- 0x5824000E, // 0027 LDCONST R9 K14
- 0x8828010D, // 0028 GETMBR R10 R0 K13
- 0x7C1C0600, // 0029 CALL R7 3
- 0x90021A07, // 002A SETMBR R0 K13 R7
- 0x8C1C0D07, // 002B GETMET R7 R6 K7
- 0x58240010, // 002C LDCONST R9 K16
- 0x7C1C0400, // 002D CALL R7 2
- 0x90021E07, // 002E SETMBR R0 K15 R7
- 0x601C0017, // 002F GETGBL R7 G23
- 0x8C200D07, // 0030 GETMET R8 R6 K7
- 0x58280011, // 0031 LDCONST R10 K17
- 0x7C200400, // 0032 CALL R8 2
- 0x7C1C0200, // 0033 CALL R7 1
- 0x90022207, // 0034 SETMBR R0 K17 R7
- 0x881C010F, // 0035 GETMBR R7 R0 K15
- 0x4C200000, // 0036 LDNIL R8
- 0x201C0E08, // 0037 NE R7 R7 R8
- 0x781E000D, // 0038 JMPF R7 #0047
- 0xB81E2400, // 0039 GETNGBL R7 K18
- 0x60200018, // 003A GETGBL R8 G24
- 0x58240013, // 003B LDCONST R9 K19
- 0x8828010F, // 003C GETMBR R10 R0 K15
- 0x7C200400, // 003D CALL R8 2
- 0x58240014, // 003E LDCONST R9 K20
- 0x7C1C0400, // 003F CALL R7 2
- 0x8C1C0115, // 0040 GETMET R7 R0 K21
- 0x7C1C0200, // 0041 CALL R7 1
- 0x8C1C0116, // 0042 GETMET R7 R0 K22
- 0x7C1C0200, // 0043 CALL R7 1
- 0x5C080E00, // 0044 MOVE R2 R7
- 0x501C0200, // 0045 LDBOOL R7 1 0
- 0x90022E07, // 0046 SETMBR R0 K23 R7
- 0x8C1C0D07, // 0047 GETMET R7 R6 K7
- 0x58240019, // 0048 LDCONST R9 K25
- 0x60280013, // 0049 GETGBL R10 G19
- 0x7C280000, // 004A CALL R10 0
- 0x7C1C0600, // 004B CALL R7 3
- 0x90023007, // 004C SETMBR R0 K24 R7
- 0x881C0118, // 004D GETMBR R7 R0 K24
- 0x781E0006, // 004E JMPF R7 #0056
- 0xB81E2400, // 004F GETNGBL R7 K18
- 0x60200008, // 0050 GETGBL R8 G8
- 0x88240118, // 0051 GETMBR R9 R0 K24
- 0x7C200200, // 0052 CALL R8 1
- 0x00223408, // 0053 ADD R8 K26 R8
- 0x58240014, // 0054 LDCONST R9 K20
- 0x7C1C0400, // 0055 CALL R7 2
- 0xA8040001, // 0056 EXBLK 1 1
- 0x70020011, // 0057 JMP #006A
- 0xAC0C0002, // 0058 CATCH R3 0 2
- 0x7002000E, // 0059 JMP #0069
- 0x2014071B, // 005A NE R5 R3 K27
- 0x7816000B, // 005B JMPF R5 #0068
- 0xB8162400, // 005C GETNGBL R5 K18
- 0x60180008, // 005D GETGBL R6 G8
- 0x5C1C0600, // 005E MOVE R7 R3
- 0x7C180200, // 005F CALL R6 1
- 0x001A3806, // 0060 ADD R6 K28 R6
- 0x00180D1D, // 0061 ADD R6 R6 K29
- 0x601C0008, // 0062 GETGBL R7 G8
- 0x5C200800, // 0063 MOVE R8 R4
- 0x7C1C0200, // 0064 CALL R7 1
- 0x00180C07, // 0065 ADD R6 R6 R7
- 0x581C001E, // 0066 LDCONST R7 K30
- 0x7C140400, // 0067 CALL R5 2
- 0x70020000, // 0068 JMP #006A
- 0xB0080000, // 0069 RAISE 2 R0 R0
- 0x880C0106, // 006A GETMBR R3 R0 K6
- 0x4C100000, // 006B LDNIL R4
- 0x1C0C0604, // 006C EQ R3 R3 R4
- 0x780E000A, // 006D JMPF R3 #0079
- 0x8C0C031F, // 006E GETMET R3 R1 K31
- 0x5814001E, // 006F LDCONST R5 K30
- 0x7C0C0400, // 0070 CALL R3 2
- 0x8C0C0720, // 0071 GETMET R3 R3 K32
- 0x58140021, // 0072 LDCONST R5 K33
- 0x5818001E, // 0073 LDCONST R6 K30
- 0x7C0C0600, // 0074 CALL R3 3
- 0x54120FFE, // 0075 LDINT R4 4095
- 0x2C0C0604, // 0076 AND R3 R3 R4
- 0x90020C03, // 0077 SETMBR R0 K6 R3
- 0x50080200, // 0078 LDBOOL R2 1 0
- 0x880C0109, // 0079 GETMBR R3 R0 K9
- 0x4C100000, // 007A LDNIL R4
- 0x1C0C0604, // 007B EQ R3 R3 R4
- 0x780E0003, // 007C JMPF R3 #0081
- 0x8C0C0122, // 007D GETMET R3 R0 K34
- 0x7C0C0200, // 007E CALL R3 1
- 0x90021203, // 007F SETMBR R0 K9 R3
- 0x50080200, // 0080 LDBOOL R2 1 0
- 0x780A0001, // 0081 JMPF R2 #0084
- 0x8C0C0123, // 0082 GETMET R3 R0 K35
- 0x7C0C0200, // 0083 CALL R3 1
- 0x80000000, // 0084 RET 0
+ ( &(const binstruction[56]) { /* code */
+ 0xA40AAA00, // 0000 IMPORT R2 K85
+ 0x600C0008, // 0001 GETGBL R3 G8
+ 0x5C100200, // 0002 MOVE R4 R1
+ 0x7C0C0200, // 0003 CALL R3 1
+ 0x4C100000, // 0004 LDNIL R4
+ 0x4C140000, // 0005 LDNIL R5
+ 0x88180156, // 0006 GETMBR R6 R0 K86
+ 0x8C180D6C, // 0007 GETMET R6 R6 K108
+ 0x5C200600, // 0008 MOVE R8 R3
+ 0x7C180400, // 0009 CALL R6 2
+ 0x741A0004, // 000A JMPT R6 #0010
+ 0xB81A7400, // 000B GETNGBL R6 K58
+ 0x001FCA03, // 000C ADD R7 K229 R3
+ 0x58200053, // 000D LDCONST R8 K83
+ 0x7C180400, // 000E CALL R6 2
+ 0x80000C00, // 000F RET 0
+ 0xB81A7400, // 0010 GETNGBL R6 K58
+ 0x601C0018, // 0011 GETGBL R7 G24
+ 0x582000E6, // 0012 LDCONST R8 K230
+ 0x5C240200, // 0013 MOVE R9 R1
+ 0x7C1C0400, // 0014 CALL R7 2
+ 0x58200021, // 0015 LDCONST R8 K33
+ 0x7C180400, // 0016 CALL R6 2
+ 0x88180156, // 0017 GETMBR R6 R0 K86
+ 0x8C180D83, // 0018 GETMET R6 R6 K131
+ 0x5C200600, // 0019 MOVE R8 R3
+ 0x7C180400, // 001A CALL R6 2
+ 0x50180200, // 001B LDBOOL R6 1 0
+ 0x90021606, // 001C SETMBR R0 K11 R6
+ 0x5818000A, // 001D LDCONST R6 K10
+ 0x601C000C, // 001E GETGBL R7 G12
+ 0x8820011E, // 001F GETMBR R8 R0 K30
+ 0x7C1C0200, // 0020 CALL R7 1
+ 0x141C0C07, // 0021 LT R7 R6 R7
+ 0x781E000D, // 0022 JMPF R7 #0031
+ 0x881C011E, // 0023 GETMBR R7 R0 K30
+ 0x941C0E06, // 0024 GETIDX R7 R7 R6
+ 0x8C1C0F61, // 0025 GETMET R7 R7 K97
+ 0x7C1C0200, // 0026 CALL R7 1
+ 0x1C1C0207, // 0027 EQ R7 R1 R7
+ 0x781E0005, // 0028 JMPF R7 #002F
+ 0x881C011E, // 0029 GETMBR R7 R0 K30
+ 0x8C1C0F83, // 002A GETMET R7 R7 K131
+ 0x5C240C00, // 002B MOVE R9 R6
+ 0x7C1C0400, // 002C CALL R7 2
+ 0x70020002, // 002D JMP #0031
+ 0x70020000, // 002E JMP #0030
+ 0x00180D38, // 002F ADD R6 R6 K56
+ 0x7001FFEC, // 0030 JMP #001E
+ 0x8C1C01E7, // 0031 GETMET R7 R0 K231
+ 0x7C1C0200, // 0032 CALL R7 1
+ 0x8C1C010C, // 0033 GETMET R7 R0 K12
+ 0x7C1C0200, // 0034 CALL R7 1
+ 0x8C1C01AC, // 0035 GETMET R7 R0 K172
+ 0x7C1C0200, // 0036 CALL R7 1
+ 0x80000000, // 0037 RET 0
})
)
);
@@ -4586,59 +3254,29 @@ be_local_closure(class_Matter_Device_load_param, /* name */
/********************************************************************
-** Solidified function: compute_manual_pairing_code
+** Solidified function: msg_received
********************************************************************/
-be_local_closure(class_Matter_Device_compute_manual_pairing_code, /* name */
+be_local_closure(class_Matter_Device_msg_received, /* name */
be_nested_proto(
9, /* nstack */
- 1, /* argc */
- 2, /* varg */
+ 4, /* argc */
+ 10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[ 6]) { /* constants */
- /* K0 */ be_nested_str_weak(root_discriminator),
- /* K1 */ be_nested_str_weak(root_passcode),
- /* K2 */ be_nested_str_weak(_X251i_X2505i_X2504i),
- /* K3 */ be_nested_str_weak(matter),
- /* K4 */ be_nested_str_weak(Verhoeff),
- /* K5 */ be_nested_str_weak(checksum),
- }),
- be_str_weak(compute_manual_pairing_code),
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(msg_received),
&be_const_str_solidified,
- ( &(const binstruction[30]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x540A0FFE, // 0001 LDINT R2 4095
- 0x2C040202, // 0002 AND R1 R1 R2
- 0x540A0009, // 0003 LDINT R2 10
- 0x3C040202, // 0004 SHR R1 R1 R2
- 0x88080100, // 0005 GETMBR R2 R0 K0
- 0x540E02FF, // 0006 LDINT R3 768
- 0x2C080403, // 0007 AND R2 R2 R3
- 0x540E0005, // 0008 LDINT R3 6
- 0x38080403, // 0009 SHL R2 R2 R3
- 0x880C0101, // 000A GETMBR R3 R0 K1
- 0x54123FFE, // 000B LDINT R4 16383
- 0x2C0C0604, // 000C AND R3 R3 R4
- 0x30080403, // 000D OR R2 R2 R3
- 0x880C0101, // 000E GETMBR R3 R0 K1
- 0x5412000D, // 000F LDINT R4 14
- 0x3C0C0604, // 0010 SHR R3 R3 R4
- 0x60100018, // 0011 GETGBL R4 G24
- 0x58140002, // 0012 LDCONST R5 K2
- 0x5C180200, // 0013 MOVE R6 R1
- 0x5C1C0400, // 0014 MOVE R7 R2
- 0x5C200600, // 0015 MOVE R8 R3
- 0x7C100800, // 0016 CALL R4 4
- 0xB8160600, // 0017 GETNGBL R5 K3
- 0x88140B04, // 0018 GETMBR R5 R5 K4
- 0x8C140B05, // 0019 GETMET R5 R5 K5
- 0x5C1C0800, // 001A MOVE R7 R4
- 0x7C140400, // 001B CALL R5 2
- 0x00100805, // 001C ADD R4 R4 R5
- 0x80040800, // 001D RET 1 R4
+ ( &(const binstruction[ 7]) { /* code */
+ 0x88100127, // 0000 GETMBR R4 R0 K39
+ 0x8C1009E8, // 0001 GETMET R4 R4 K232
+ 0x5C180200, // 0002 MOVE R6 R1
+ 0x5C1C0400, // 0003 MOVE R7 R2
+ 0x5C200600, // 0004 MOVE R8 R3
+ 0x7C100800, // 0005 CALL R4 4
+ 0x80040800, // 0006 RET 1 R4
})
)
);
@@ -4646,30 +3284,46 @@ be_local_closure(class_Matter_Device_compute_manual_pairing_code, /* name */
/********************************************************************
-** Solidified function: msg_send
+** Solidified function: invoke_request
********************************************************************/
-be_local_closure(class_Matter_Device_msg_send, /* name */
+be_local_closure(class_Matter_Device_invoke_request, /* name */
be_nested_proto(
- 5, /* nstack */
- 2, /* argc */
- 2, /* varg */
+ 12, /* nstack */
+ 4, /* argc */
+ 10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[ 2]) { /* constants */
- /* K0 */ be_nested_str_weak(udp_server),
- /* K1 */ be_nested_str_weak(send_UDP),
- }),
- be_str_weak(msg_send),
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(invoke_request),
&be_const_str_solidified,
- ( &(const binstruction[ 5]) { /* code */
- 0x88080100, // 0000 GETMBR R2 R0 K0
- 0x8C080501, // 0001 GETMET R2 R2 K1
- 0x5C100200, // 0002 MOVE R4 R1
- 0x7C080400, // 0003 CALL R2 2
- 0x80040400, // 0004 RET 1 R2
+ ( &(const binstruction[24]) { /* code */
+ 0x5810000A, // 0000 LDCONST R4 K10
+ 0x88140748, // 0001 GETMBR R5 R3 K72
+ 0x6018000C, // 0002 GETGBL R6 G12
+ 0x881C011E, // 0003 GETMBR R7 R0 K30
+ 0x7C180200, // 0004 CALL R6 1
+ 0x14180806, // 0005 LT R6 R4 R6
+ 0x781A000C, // 0006 JMPF R6 #0014
+ 0x8818011E, // 0007 GETMBR R6 R0 K30
+ 0x94180C04, // 0008 GETIDX R6 R6 R4
+ 0x881C0D48, // 0009 GETMBR R7 R6 K72
+ 0x1C1C0E05, // 000A EQ R7 R7 R5
+ 0x781E0005, // 000B JMPF R7 #0012
+ 0x8C1C0DE9, // 000C GETMET R7 R6 K233
+ 0x5C240200, // 000D MOVE R9 R1
+ 0x5C280400, // 000E MOVE R10 R2
+ 0x5C2C0600, // 000F MOVE R11 R3
+ 0x7C1C0800, // 0010 CALL R7 4
+ 0x80040E00, // 0011 RET 1 R7
+ 0x00100938, // 0012 ADD R4 R4 K56
+ 0x7001FFED, // 0013 JMP #0002
+ 0xB81A3000, // 0014 GETNGBL R6 K24
+ 0x88180D4D, // 0015 GETMBR R6 R6 K77
+ 0x900E9806, // 0016 SETMBR R3 K76 R6
+ 0x80000000, // 0017 RET 0
})
)
);
@@ -4677,1406 +3331,43 @@ be_local_closure(class_Matter_Device_msg_send, /* name */
/********************************************************************
-** Solidified function: button_pressed
+** Solidified function: read_sensors_scheduler
********************************************************************/
-be_local_closure(class_Matter_Device_button_pressed, /* name */
- be_nested_proto(
- 13, /* nstack */
- 3, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 3]) { /* constants */
- /* K0 */ be_nested_str_weak(button_handler),
- /* K1 */ be_const_int(1),
- /* K2 */ be_const_int(0),
- }),
- be_str_weak(button_pressed),
- &be_const_str_solidified,
- ( &(const binstruction[28]) { /* code */
- 0x540E000F, // 0000 LDINT R3 16
- 0x3C0C0403, // 0001 SHR R3 R2 R3
- 0x541200FE, // 0002 LDINT R4 255
- 0x2C0C0604, // 0003 AND R3 R3 R4
- 0x54120007, // 0004 LDINT R4 8
- 0x3C100404, // 0005 SHR R4 R2 R4
- 0x541600FE, // 0006 LDINT R5 255
- 0x2C100805, // 0007 AND R4 R4 R5
- 0x541600FE, // 0008 LDINT R5 255
- 0x2C140405, // 0009 AND R5 R2 R5
- 0x541A0017, // 000A LDINT R6 24
- 0x3C180406, // 000B SHR R6 R2 R6
- 0x541E00FE, // 000C LDINT R7 255
- 0x2C180C07, // 000D AND R6 R6 R7
- 0x8C1C0100, // 000E GETMET R7 R0 K0
- 0x00240B01, // 000F ADD R9 R5 K1
- 0x20280604, // 0010 NE R10 R3 R4
- 0x782A0001, // 0011 JMPF R10 #0014
- 0x58280001, // 0012 LDCONST R10 K1
- 0x70020000, // 0013 JMP #0015
- 0x58280002, // 0014 LDCONST R10 K2
- 0x780E0001, // 0015 JMPF R3 #0018
- 0x582C0002, // 0016 LDCONST R11 K2
- 0x70020000, // 0017 JMP #0019
- 0x582C0001, // 0018 LDCONST R11 K1
- 0x5C300C00, // 0019 MOVE R12 R6
- 0x7C1C0A00, // 001A CALL R7 5
- 0x80000000, // 001B RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: start
-********************************************************************/
-be_local_closure(class_Matter_Device_start, /* name */
+be_local_closure(class_Matter_Device_read_sensors_scheduler, /* name */
be_nested_proto(
4, /* nstack */
1, /* argc */
- 2, /* varg */
+ 10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[ 5]) { /* constants */
- /* K0 */ be_nested_str_weak(started),
- /* K1 */ be_nested_str_weak(autoconf_device),
- /* K2 */ be_nested_str_weak(_start_udp),
- /* K3 */ be_nested_str_weak(UDP_PORT),
- /* K4 */ be_nested_str_weak(start_mdns_announce_hostnames),
- }),
- be_str_weak(start),
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(read_sensors_scheduler),
&be_const_str_solidified,
- ( &(const binstruction[13]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x78060000, // 0001 JMPF R1 #0003
- 0x80000200, // 0002 RET 0
- 0x8C040101, // 0003 GETMET R1 R0 K1
- 0x7C040200, // 0004 CALL R1 1
- 0x8C040102, // 0005 GETMET R1 R0 K2
- 0x880C0103, // 0006 GETMBR R3 R0 K3
- 0x7C040400, // 0007 CALL R1 2
- 0x8C040104, // 0008 GETMET R1 R0 K4
- 0x7C040200, // 0009 CALL R1 1
- 0x50040200, // 000A LDBOOL R1 1 0
- 0x90020001, // 000B SETMBR R0 K0 R1
- 0x80000000, // 000C RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: register_http_remote
-********************************************************************/
-be_local_closure(class_Matter_Device_register_http_remote, /* name */
- be_nested_proto(
- 9, /* nstack */
- 3, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 8]) { /* constants */
- /* K0 */ be_nested_str_weak(http_remotes),
- /* K1 */ be_nested_str_weak(contains),
- /* K2 */ be_nested_str_weak(get_timeout),
- /* K3 */ be_nested_str_weak(set_timeout),
- /* K4 */ be_nested_str_weak(matter),
- /* K5 */ be_nested_str_weak(HTTP_remote),
- /* K6 */ be_nested_str_weak(plugins_config_remotes),
- /* K7 */ be_nested_str_weak(set_info),
- }),
- be_str_weak(register_http_remote),
- &be_const_str_solidified,
- ( &(const binstruction[42]) { /* code */
- 0x880C0100, // 0000 GETMBR R3 R0 K0
- 0x4C100000, // 0001 LDNIL R4
- 0x1C0C0604, // 0002 EQ R3 R3 R4
- 0x780E0002, // 0003 JMPF R3 #0007
- 0x600C0013, // 0004 GETGBL R3 G19
- 0x7C0C0000, // 0005 CALL R3 0
- 0x90020003, // 0006 SETMBR R0 K0 R3
- 0x4C0C0000, // 0007 LDNIL R3
- 0x88100100, // 0008 GETMBR R4 R0 K0
- 0x8C100901, // 0009 GETMET R4 R4 K1
- 0x5C180200, // 000A MOVE R6 R1
- 0x7C100400, // 000B CALL R4 2
- 0x78120009, // 000C JMPF R4 #0017
- 0x88100100, // 000D GETMBR R4 R0 K0
- 0x940C0801, // 000E GETIDX R3 R4 R1
- 0x8C140702, // 000F GETMET R5 R3 K2
- 0x7C140200, // 0010 CALL R5 1
- 0x14140405, // 0011 LT R5 R2 R5
- 0x78160002, // 0012 JMPF R5 #0016
- 0x8C140703, // 0013 GETMET R5 R3 K3
- 0x5C1C0400, // 0014 MOVE R7 R2
- 0x7C140400, // 0015 CALL R5 2
- 0x70020011, // 0016 JMP #0029
- 0xB8120800, // 0017 GETNGBL R4 K4
- 0x8C100905, // 0018 GETMET R4 R4 K5
- 0x5C180000, // 0019 MOVE R6 R0
- 0x5C1C0200, // 001A MOVE R7 R1
- 0x5C200400, // 001B MOVE R8 R2
- 0x7C100800, // 001C CALL R4 4
- 0x5C0C0800, // 001D MOVE R3 R4
- 0x88100106, // 001E GETMBR R4 R0 K6
- 0x8C100901, // 001F GETMET R4 R4 K1
- 0x5C180200, // 0020 MOVE R6 R1
- 0x7C100400, // 0021 CALL R4 2
- 0x78120003, // 0022 JMPF R4 #0027
- 0x8C100707, // 0023 GETMET R4 R3 K7
- 0x88180106, // 0024 GETMBR R6 R0 K6
- 0x94180C01, // 0025 GETIDX R6 R6 R1
- 0x7C100400, // 0026 CALL R4 2
- 0x88100100, // 0027 GETMBR R4 R0 K0
- 0x98100203, // 0028 SETIDX R4 R1 R3
- 0x80040600, // 0029 RET 1 R3
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: check_config_ep
-********************************************************************/
-be_local_closure(class_Matter_Device_check_config_ep, /* name */
- be_nested_proto(
- 10, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[14]) { /* constants */
- /* K0 */ be_nested_str_weak(plugins_config),
- /* K1 */ be_nested_str_weak(keys),
- /* K2 */ be_nested_str_weak(push),
- /* K3 */ be_nested_str_weak(stop_iteration),
- /* K4 */ be_const_int(0),
- /* K5 */ be_nested_str_weak(log),
- /* K6 */ be_nested_str_weak(MTR_X3A_X20invalid_X20entry_X20with_X20ep_X20_X270_X27),
- /* K7 */ be_const_int(2),
- /* K8 */ be_nested_str_weak(remove),
- /* K9 */ be_nested_str_weak(matter),
- /* K10 */ be_nested_str_weak(AGGREGATOR_ENDPOINT),
- /* K11 */ be_nested_str_weak(MTR_X3A_X20endpoint_X20_X25s_X20collides_X20wit_X20aggregator_X2C_X20relocating_X20to_X20_X25s),
- /* K12 */ be_nested_str_weak(next_ep),
- /* K13 */ be_const_int(1),
- }),
- be_str_weak(check_config_ep),
- &be_const_str_solidified,
- ( &(const binstruction[77]) { /* code */
- 0x50040000, // 0000 LDBOOL R1 0 0
- 0x60080012, // 0001 GETGBL R2 G18
- 0x7C080000, // 0002 CALL R2 0
- 0x600C0010, // 0003 GETGBL R3 G16
- 0x88100100, // 0004 GETMBR R4 R0 K0
- 0x8C100901, // 0005 GETMET R4 R4 K1
- 0x7C100200, // 0006 CALL R4 1
- 0x7C0C0200, // 0007 CALL R3 1
- 0xA8020007, // 0008 EXBLK 0 #0011
- 0x5C100600, // 0009 MOVE R4 R3
- 0x7C100000, // 000A CALL R4 0
- 0x8C140502, // 000B GETMET R5 R2 K2
- 0x601C0009, // 000C GETGBL R7 G9
- 0x5C200800, // 000D MOVE R8 R4
- 0x7C1C0200, // 000E CALL R7 1
- 0x7C140400, // 000F CALL R5 2
- 0x7001FFF7, // 0010 JMP #0009
- 0x580C0003, // 0011 LDCONST R3 K3
- 0xAC0C0200, // 0012 CATCH R3 1 0
- 0xB0080000, // 0013 RAISE 2 R0 R0
- 0x600C0010, // 0014 GETGBL R3 G16
- 0x5C100400, // 0015 MOVE R4 R2
- 0x7C0C0200, // 0016 CALL R3 1
- 0xA8020030, // 0017 EXBLK 0 #0049
- 0x5C100600, // 0018 MOVE R4 R3
- 0x7C100000, // 0019 CALL R4 0
- 0x1C140904, // 001A EQ R5 R4 K4
- 0x7816000B, // 001B JMPF R5 #0028
- 0xB8160A00, // 001C GETNGBL R5 K5
- 0x58180006, // 001D LDCONST R6 K6
- 0x581C0007, // 001E LDCONST R7 K7
- 0x7C140400, // 001F CALL R5 2
- 0x88140100, // 0020 GETMBR R5 R0 K0
- 0x8C140B08, // 0021 GETMET R5 R5 K8
- 0x601C0008, // 0022 GETGBL R7 G8
- 0x5C200800, // 0023 MOVE R8 R4
- 0x7C1C0200, // 0024 CALL R7 1
- 0x7C140400, // 0025 CALL R5 2
- 0x50040200, // 0026 LDBOOL R1 1 0
- 0x7002001F, // 0027 JMP #0048
- 0xB8161200, // 0028 GETNGBL R5 K9
- 0x88140B0A, // 0029 GETMBR R5 R5 K10
- 0x1C140805, // 002A EQ R5 R4 R5
- 0x7816001B, // 002B JMPF R5 #0048
- 0x50040200, // 002C LDBOOL R1 1 0
- 0xB8160A00, // 002D GETNGBL R5 K5
- 0x60180018, // 002E GETGBL R6 G24
- 0x581C000B, // 002F LDCONST R7 K11
- 0x5C200800, // 0030 MOVE R8 R4
- 0x8824010C, // 0031 GETMBR R9 R0 K12
- 0x7C180600, // 0032 CALL R6 3
- 0x581C0007, // 0033 LDCONST R7 K7
- 0x7C140400, // 0034 CALL R5 2
- 0x60140008, // 0035 GETGBL R5 G8
- 0x8818010C, // 0036 GETMBR R6 R0 K12
- 0x7C140200, // 0037 CALL R5 1
- 0x88180100, // 0038 GETMBR R6 R0 K0
- 0x601C0008, // 0039 GETGBL R7 G8
- 0x5C200800, // 003A MOVE R8 R4
- 0x7C1C0200, // 003B CALL R7 1
- 0x88200100, // 003C GETMBR R8 R0 K0
- 0x941C1007, // 003D GETIDX R7 R8 R7
- 0x98180A07, // 003E SETIDX R6 R5 R7
- 0x88140100, // 003F GETMBR R5 R0 K0
- 0x8C140B08, // 0040 GETMET R5 R5 K8
- 0x601C0008, // 0041 GETGBL R7 G8
- 0x5C200800, // 0042 MOVE R8 R4
- 0x7C1C0200, // 0043 CALL R7 1
- 0x7C140400, // 0044 CALL R5 2
- 0x8814010C, // 0045 GETMBR R5 R0 K12
- 0x00140B0D, // 0046 ADD R5 R5 K13
- 0x90021805, // 0047 SETMBR R0 K12 R5
- 0x7001FFCE, // 0048 JMP #0018
- 0x580C0003, // 0049 LDCONST R3 K3
- 0xAC0C0200, // 004A CATCH R3 1 0
- 0xB0080000, // 004B RAISE 2 R0 R0
- 0x80040200, // 004C RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: mdns_remove_op_discovery_all_fabrics
-********************************************************************/
-be_local_closure(class_Matter_Device_mdns_remove_op_discovery_all_fabrics, /* name */
- be_nested_proto(
- 6, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 6]) { /* constants */
- /* K0 */ be_nested_str_weak(sessions),
- /* K1 */ be_nested_str_weak(active_fabrics),
- /* K2 */ be_nested_str_weak(get_device_id),
- /* K3 */ be_nested_str_weak(get_fabric_id),
- /* K4 */ be_nested_str_weak(mdns_remove_op_discovery),
- /* K5 */ be_nested_str_weak(stop_iteration),
- }),
- be_str_weak(mdns_remove_op_discovery_all_fabrics),
- &be_const_str_solidified,
- ( &(const binstruction[22]) { /* code */
- 0x60040010, // 0000 GETGBL R1 G16
- 0x88080100, // 0001 GETMBR R2 R0 K0
- 0x8C080501, // 0002 GETMET R2 R2 K1
- 0x7C080200, // 0003 CALL R2 1
- 0x7C040200, // 0004 CALL R1 1
- 0xA802000B, // 0005 EXBLK 0 #0012
- 0x5C080200, // 0006 MOVE R2 R1
- 0x7C080000, // 0007 CALL R2 0
- 0x8C0C0502, // 0008 GETMET R3 R2 K2
- 0x7C0C0200, // 0009 CALL R3 1
- 0x780E0005, // 000A JMPF R3 #0011
- 0x8C0C0503, // 000B GETMET R3 R2 K3
- 0x7C0C0200, // 000C CALL R3 1
- 0x780E0002, // 000D JMPF R3 #0011
- 0x8C0C0104, // 000E GETMET R3 R0 K4
- 0x5C140400, // 000F MOVE R5 R2
- 0x7C0C0400, // 0010 CALL R3 2
- 0x7001FFF3, // 0011 JMP #0006
- 0x58040005, // 0012 LDCONST R1 K5
- 0xAC040200, // 0013 CATCH R1 1 0
- 0xB0080000, // 0014 RAISE 2 R0 R0
- 0x80000000, // 0015 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: mdns_announce_op_discovery_all_fabrics
-********************************************************************/
-be_local_closure(class_Matter_Device_mdns_announce_op_discovery_all_fabrics, /* name */
- be_nested_proto(
- 6, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 6]) { /* constants */
- /* K0 */ be_nested_str_weak(sessions),
- /* K1 */ be_nested_str_weak(active_fabrics),
- /* K2 */ be_nested_str_weak(get_device_id),
- /* K3 */ be_nested_str_weak(get_fabric_id),
- /* K4 */ be_nested_str_weak(mdns_announce_op_discovery),
- /* K5 */ be_nested_str_weak(stop_iteration),
- }),
- be_str_weak(mdns_announce_op_discovery_all_fabrics),
- &be_const_str_solidified,
- ( &(const binstruction[22]) { /* code */
- 0x60040010, // 0000 GETGBL R1 G16
- 0x88080100, // 0001 GETMBR R2 R0 K0
- 0x8C080501, // 0002 GETMET R2 R2 K1
- 0x7C080200, // 0003 CALL R2 1
- 0x7C040200, // 0004 CALL R1 1
- 0xA802000B, // 0005 EXBLK 0 #0012
- 0x5C080200, // 0006 MOVE R2 R1
- 0x7C080000, // 0007 CALL R2 0
- 0x8C0C0502, // 0008 GETMET R3 R2 K2
- 0x7C0C0200, // 0009 CALL R3 1
- 0x780E0005, // 000A JMPF R3 #0011
- 0x8C0C0503, // 000B GETMET R3 R2 K3
- 0x7C0C0200, // 000C CALL R3 1
- 0x780E0002, // 000D JMPF R3 #0011
- 0x8C0C0104, // 000E GETMET R3 R0 K4
- 0x5C140400, // 000F MOVE R5 R2
- 0x7C0C0400, // 0010 CALL R3 2
- 0x7001FFF3, // 0011 JMP #0006
- 0x58040005, // 0012 LDCONST R1 K5
- 0xAC040200, // 0013 CATCH R1 1 0
- 0xB0080000, // 0014 RAISE 2 R0 R0
- 0x80000000, // 0015 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: generate_random_passcode
-********************************************************************/
-be_local_closure(class_Matter_Device_generate_random_passcode, /* name */
- be_nested_proto(
- 7, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 8]) { /* constants */
- /* K0 */ be_nested_str_weak(crypto),
- /* K1 */ be_nested_str_weak(random),
- /* K2 */ be_nested_str_weak(get),
- /* K3 */ be_const_int(0),
- /* K4 */ be_const_int(134217727),
- /* K5 */ be_const_int(99999998),
- /* K6 */ be_nested_str_weak(PASSCODE_INVALID),
- /* K7 */ be_nested_str_weak(stop_iteration),
- }),
- be_str_weak(generate_random_passcode),
- &be_const_str_solidified,
- ( &(const binstruction[35]) { /* code */
- 0xA4060000, // 0000 IMPORT R1 K0
+ ( &(const binstruction[21]) { /* code */
+ 0x88040167, // 0000 GETMBR R1 R0 K103
0x4C080000, // 0001 LDNIL R2
- 0x500C0200, // 0002 LDBOOL R3 1 0
- 0x780E001D, // 0003 JMPF R3 #0022
- 0x8C0C0301, // 0004 GETMET R3 R1 K1
- 0x54160003, // 0005 LDINT R5 4
- 0x7C0C0400, // 0006 CALL R3 2
- 0x8C0C0702, // 0007 GETMET R3 R3 K2
- 0x58140003, // 0008 LDCONST R5 K3
- 0x541A0003, // 0009 LDINT R6 4
- 0x7C0C0600, // 000A CALL R3 3
- 0x2C0C0704, // 000B AND R3 R3 K4
- 0x5C080600, // 000C MOVE R2 R3
- 0x240C0505, // 000D GT R3 R2 K5
- 0x780E0000, // 000E JMPF R3 #0010
- 0x7001FFF1, // 000F JMP #0002
- 0x600C0010, // 0010 GETGBL R3 G16
- 0x88100106, // 0011 GETMBR R4 R0 K6
- 0x7C0C0200, // 0012 CALL R3 1
- 0xA8020005, // 0013 EXBLK 0 #001A
- 0x5C100600, // 0014 MOVE R4 R3
- 0x7C100000, // 0015 CALL R4 0
- 0x1C140404, // 0016 EQ R5 R2 R4
- 0x78160000, // 0017 JMPF R5 #0019
- 0x4C080000, // 0018 LDNIL R2
- 0x7001FFF9, // 0019 JMP #0014
- 0x580C0007, // 001A LDCONST R3 K7
- 0xAC0C0200, // 001B CATCH R3 1 0
- 0xB0080000, // 001C RAISE 2 R0 R0
- 0x4C0C0000, // 001D LDNIL R3
- 0x200C0403, // 001E NE R3 R2 R3
- 0x780E0000, // 001F JMPF R3 #0021
- 0x80040400, // 0020 RET 1 R2
- 0x7001FFDF, // 0021 JMP #0002
- 0x80000000, // 0022 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: is_commissioning_open
-********************************************************************/
-be_local_closure(class_Matter_Device_is_commissioning_open, /* name */
- be_nested_proto(
- 3, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 1]) { /* constants */
- /* K0 */ be_nested_str_weak(commissioning_open),
- }),
- be_str_weak(is_commissioning_open),
- &be_const_str_solidified,
- ( &(const binstruction[ 4]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x4C080000, // 0001 LDNIL R2
- 0x20040202, // 0002 NE R1 R1 R2
- 0x80040200, // 0003 RET 1 R1
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: find_plugin_by_endpoint
-********************************************************************/
-be_local_closure(class_Matter_Device_find_plugin_by_endpoint, /* name */
- be_nested_proto(
- 6, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 4]) { /* constants */
- /* K0 */ be_const_int(0),
- /* K1 */ be_nested_str_weak(plugins),
- /* K2 */ be_nested_str_weak(get_endpoint),
- /* K3 */ be_const_int(1),
- }),
- be_str_weak(find_plugin_by_endpoint),
- &be_const_str_solidified,
- ( &(const binstruction[17]) { /* code */
- 0x58080000, // 0000 LDCONST R2 K0
- 0x600C000C, // 0001 GETGBL R3 G12
- 0x88100101, // 0002 GETMBR R4 R0 K1
- 0x7C0C0200, // 0003 CALL R3 1
- 0x140C0403, // 0004 LT R3 R2 R3
- 0x780E0008, // 0005 JMPF R3 #000F
- 0x880C0101, // 0006 GETMBR R3 R0 K1
- 0x940C0602, // 0007 GETIDX R3 R3 R2
- 0x8C100702, // 0008 GETMET R4 R3 K2
- 0x7C100200, // 0009 CALL R4 1
- 0x1C100801, // 000A EQ R4 R4 R1
- 0x78120000, // 000B JMPF R4 #000D
- 0x80040600, // 000C RET 1 R3
- 0x00080503, // 000D ADD R2 R2 K3
- 0x7001FFF1, // 000E JMP #0001
- 0x4C0C0000, // 000F LDNIL R3
- 0x80040600, // 0010 RET 1 R3
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: conf_to_log
-********************************************************************/
-be_local_closure(class_Matter_Device_conf_to_log, /* name */
- be_nested_proto(
- 9, /* nstack */
- 1, /* argc */
- 4, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 6]) { /* constants */
- /* K0 */ be_const_class(be_class_Matter_Device),
- /* K1 */ be_nested_str_weak(),
- /* K2 */ be_nested_str_weak(k2l),
- /* K3 */ be_nested_str_weak(type),
- /* K4 */ be_nested_str_weak(_X20_X25s_X3A_X25s),
- /* K5 */ be_nested_str_weak(stop_iteration),
- }),
- be_str_weak(conf_to_log),
- &be_const_str_solidified,
- ( &(const binstruction[24]) { /* code */
- 0x58040000, // 0000 LDCONST R1 K0
- 0x58080001, // 0001 LDCONST R2 K1
- 0x600C0010, // 0002 GETGBL R3 G16
- 0x8C100302, // 0003 GETMET R4 R1 K2
- 0x5C180000, // 0004 MOVE R6 R0
- 0x7C100400, // 0005 CALL R4 2
- 0x7C0C0200, // 0006 CALL R3 1
- 0xA802000B, // 0007 EXBLK 0 #0014
- 0x5C100600, // 0008 MOVE R4 R3
- 0x7C100000, // 0009 CALL R4 0
- 0x1C140903, // 000A EQ R5 R4 K3
- 0x78160000, // 000B JMPF R5 #000D
- 0x7001FFFA, // 000C JMP #0008
- 0x60140018, // 000D GETGBL R5 G24
- 0x58180004, // 000E LDCONST R6 K4
- 0x5C1C0800, // 000F MOVE R7 R4
- 0x94200004, // 0010 GETIDX R8 R0 R4
- 0x7C140600, // 0011 CALL R5 3
- 0x00080405, // 0012 ADD R2 R2 R5
- 0x7001FFF3, // 0013 JMP #0008
- 0x580C0005, // 0014 LDCONST R3 K5
- 0xAC0C0200, // 0015 CATCH R3 1 0
- 0xB0080000, // 0016 RAISE 2 R0 R0
- 0x80040400, // 0017 RET 1 R2
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: received_ack
-********************************************************************/
-be_local_closure(class_Matter_Device_received_ack, /* name */
- be_nested_proto(
- 5, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 2]) { /* constants */
- /* K0 */ be_nested_str_weak(udp_server),
- /* K1 */ be_nested_str_weak(received_ack),
- }),
- be_str_weak(received_ack),
- &be_const_str_solidified,
- ( &(const binstruction[ 5]) { /* code */
- 0x88080100, // 0000 GETMBR R2 R0 K0
- 0x8C080501, // 0001 GETMET R2 R2 K1
- 0x5C100200, // 0002 MOVE R4 R1
- 0x7C080400, // 0003 CALL R2 2
- 0x80040400, // 0004 RET 1 R2
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: MtrInfo_one
-********************************************************************/
-be_local_closure(class_Matter_Device_MtrInfo_one, /* name */
- be_nested_proto(
- 9, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 6]) { /* constants */
- /* K0 */ be_nested_str_weak(find_plugin_by_endpoint),
- /* K1 */ be_nested_str_weak(state_json),
- /* K2 */ be_nested_str_weak(_X7B_X22MtrInfo_X22_X3A_X25s_X7D),
- /* K3 */ be_nested_str_weak(tasmota),
- /* K4 */ be_nested_str_weak(publish_result),
- /* K5 */ be_nested_str_weak(),
- }),
- be_str_weak(MtrInfo_one),
- &be_const_str_solidified,
- ( &(const binstruction[20]) { /* code */
- 0x8C080100, // 0000 GETMET R2 R0 K0
- 0x5C100200, // 0001 MOVE R4 R1
- 0x7C080400, // 0002 CALL R2 2
- 0x4C0C0000, // 0003 LDNIL R3
- 0x1C0C0403, // 0004 EQ R3 R2 R3
- 0x780E0000, // 0005 JMPF R3 #0007
- 0x80000600, // 0006 RET 0
- 0x8C0C0501, // 0007 GETMET R3 R2 K1
- 0x7C0C0200, // 0008 CALL R3 1
- 0x780E0008, // 0009 JMPF R3 #0013
- 0x60100018, // 000A GETGBL R4 G24
- 0x58140002, // 000B LDCONST R5 K2
- 0x5C180600, // 000C MOVE R6 R3
- 0x7C100400, // 000D CALL R4 2
- 0xB8160600, // 000E GETNGBL R5 K3
- 0x8C140B04, // 000F GETMET R5 R5 K4
- 0x5C1C0800, // 0010 MOVE R7 R4
- 0x58200005, // 0011 LDCONST R8 K5
- 0x7C140600, // 0012 CALL R5 3
- 0x80000000, // 0013 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_plugin_class_arg
-********************************************************************/
-be_local_closure(class_Matter_Device_get_plugin_class_arg, /* name */
- be_nested_proto(
- 5, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 4]) { /* constants */
- /* K0 */ be_nested_str_weak(plugins_classes),
- /* K1 */ be_nested_str_weak(find),
- /* K2 */ be_nested_str_weak(ARG),
- /* K3 */ be_nested_str_weak(),
- }),
- be_str_weak(get_plugin_class_arg),
- &be_const_str_solidified,
- ( &(const binstruction[ 9]) { /* code */
- 0x88080100, // 0000 GETMBR R2 R0 K0
- 0x8C080501, // 0001 GETMET R2 R2 K1
- 0x5C100200, // 0002 MOVE R4 R1
- 0x7C080400, // 0003 CALL R2 2
- 0x780A0001, // 0004 JMPF R2 #0007
- 0x880C0502, // 0005 GETMBR R3 R2 K2
- 0x70020000, // 0006 JMP #0008
- 0x580C0003, // 0007 LDCONST R3 K3
- 0x80040600, // 0008 RET 1 R3
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: k2l
-********************************************************************/
-be_local_closure(class_Matter_Device_k2l, /* name */
- be_nested_proto(
- 8, /* nstack */
- 1, /* argc */
- 4, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 6]) { /* constants */
- /* K0 */ be_const_class(be_class_Matter_Device),
- /* K1 */ be_nested_str_weak(keys),
- /* K2 */ be_nested_str_weak(push),
- /* K3 */ be_nested_str_weak(stop_iteration),
- /* K4 */ be_const_int(1),
- /* K5 */ be_const_int(0),
- }),
- be_str_weak(k2l),
- &be_const_str_solidified,
- ( &(const binstruction[50]) { /* code */
- 0x58040000, // 0000 LDCONST R1 K0
- 0x60080012, // 0001 GETGBL R2 G18
- 0x7C080000, // 0002 CALL R2 0
- 0x4C0C0000, // 0003 LDNIL R3
- 0x1C0C0003, // 0004 EQ R3 R0 R3
- 0x780E0000, // 0005 JMPF R3 #0007
- 0x80040400, // 0006 RET 1 R2
- 0x600C0010, // 0007 GETGBL R3 G16
- 0x8C100101, // 0008 GETMET R4 R0 K1
- 0x7C100200, // 0009 CALL R4 1
- 0x7C0C0200, // 000A CALL R3 1
- 0xA8020005, // 000B EXBLK 0 #0012
- 0x5C100600, // 000C MOVE R4 R3
- 0x7C100000, // 000D CALL R4 0
- 0x8C140502, // 000E GETMET R5 R2 K2
- 0x5C1C0800, // 000F MOVE R7 R4
- 0x7C140400, // 0010 CALL R5 2
- 0x7001FFF9, // 0011 JMP #000C
- 0x580C0003, // 0012 LDCONST R3 K3
- 0xAC0C0200, // 0013 CATCH R3 1 0
- 0xB0080000, // 0014 RAISE 2 R0 R0
- 0x600C0010, // 0015 GETGBL R3 G16
- 0x6010000C, // 0016 GETGBL R4 G12
- 0x5C140400, // 0017 MOVE R5 R2
- 0x7C100200, // 0018 CALL R4 1
- 0x04100904, // 0019 SUB R4 R4 K4
- 0x40120804, // 001A CONNECT R4 K4 R4
- 0x7C0C0200, // 001B CALL R3 1
- 0xA8020010, // 001C EXBLK 0 #002E
- 0x5C100600, // 001D MOVE R4 R3
- 0x7C100000, // 001E CALL R4 0
- 0x94140404, // 001F GETIDX R5 R2 R4
- 0x5C180800, // 0020 MOVE R6 R4
- 0x241C0D05, // 0021 GT R7 R6 K5
- 0x781E0008, // 0022 JMPF R7 #002C
- 0x041C0D04, // 0023 SUB R7 R6 K4
- 0x941C0407, // 0024 GETIDX R7 R2 R7
- 0x241C0E05, // 0025 GT R7 R7 R5
- 0x781E0004, // 0026 JMPF R7 #002C
- 0x041C0D04, // 0027 SUB R7 R6 K4
- 0x941C0407, // 0028 GETIDX R7 R2 R7
- 0x98080C07, // 0029 SETIDX R2 R6 R7
- 0x04180D04, // 002A SUB R6 R6 K4
- 0x7001FFF4, // 002B JMP #0021
- 0x98080C05, // 002C SETIDX R2 R6 R5
- 0x7001FFEE, // 002D JMP #001D
- 0x580C0003, // 002E LDCONST R3 K3
- 0xAC0C0200, // 002F CATCH R3 1 0
- 0xB0080000, // 0030 RAISE 2 R0 R0
- 0x80040400, // 0031 RET 1 R2
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: start_basic_commissioning
-********************************************************************/
-be_local_closure(class_Matter_Device_start_basic_commissioning, /* name */
- be_nested_proto(
- 13, /* nstack */
- 8, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 1, /* has sup protos */
- ( &(const struct bproto*[ 2]) {
- be_nested_proto(
- 4, /* nstack */
- 0, /* argc */
- 0, /* varg */
- 1, /* has upvals */
- ( &(const bupvaldesc[ 1]) { /* upvals */
- be_local_const_upval(1, 0),
- }),
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 4]) { /* constants */
- /* K0 */ be_nested_str_weak(mdns_announce_PASE),
- /* K1 */ be_nested_str_weak(tasmota),
- /* K2 */ be_nested_str_weak(remove_rule),
- /* K3 */ be_nested_str_weak(Wifi_X23Connected),
- }),
- be_str_weak(_anonymous_),
- &be_const_str_solidified,
- ( &(const binstruction[ 9]) { /* code */
- 0x68000000, // 0000 GETUPV R0 U0
- 0x8C000100, // 0001 GETMET R0 R0 K0
- 0x7C000200, // 0002 CALL R0 1
- 0xB8020200, // 0003 GETNGBL R0 K1
- 0x8C000102, // 0004 GETMET R0 R0 K2
- 0x58080003, // 0005 LDCONST R2 K3
- 0x580C0000, // 0006 LDCONST R3 K0
- 0x7C000600, // 0007 CALL R0 3
- 0x80000000, // 0008 RET 0
- })
- ),
- be_nested_proto(
- 4, /* nstack */
- 0, /* argc */
- 0, /* varg */
- 1, /* has upvals */
- ( &(const bupvaldesc[ 1]) { /* upvals */
- be_local_const_upval(1, 0),
- }),
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 4]) { /* constants */
- /* K0 */ be_nested_str_weak(mdns_announce_PASE),
- /* K1 */ be_nested_str_weak(tasmota),
- /* K2 */ be_nested_str_weak(remove_rule),
- /* K3 */ be_nested_str_weak(Eth_X23Connected),
- }),
- be_str_weak(_anonymous_),
- &be_const_str_solidified,
- ( &(const binstruction[ 9]) { /* code */
- 0x68000000, // 0000 GETUPV R0 U0
- 0x8C000100, // 0001 GETMET R0 R0 K0
- 0x7C000200, // 0002 CALL R0 1
- 0xB8020200, // 0003 GETNGBL R0 K1
- 0x8C000102, // 0004 GETMET R0 R0 K2
- 0x58080003, // 0005 LDCONST R2 K3
- 0x580C0000, // 0006 LDCONST R3 K0
- 0x7C000600, // 0007 CALL R0 3
- 0x80000000, // 0008 RET 0
- })
- ),
- }),
- 1, /* has constants */
- ( &(const bvalue[16]) { /* constants */
- /* K0 */ be_nested_str_weak(commissioning_open),
- /* K1 */ be_nested_str_weak(tasmota),
- /* K2 */ be_nested_str_weak(millis),
- /* K3 */ be_nested_str_weak(commissioning_iterations),
- /* K4 */ be_nested_str_weak(commissioning_discriminator),
- /* K5 */ be_nested_str_weak(commissioning_salt),
- /* K6 */ be_nested_str_weak(commissioning_w0),
- /* K7 */ be_nested_str_weak(commissioning_L),
- /* K8 */ be_nested_str_weak(commissioning_admin_fabric),
- /* K9 */ be_nested_str_weak(wifi),
- /* K10 */ be_nested_str_weak(up),
- /* K11 */ be_nested_str_weak(eth),
- /* K12 */ be_nested_str_weak(mdns_announce_PASE),
- /* K13 */ be_nested_str_weak(add_rule),
- /* K14 */ be_nested_str_weak(Wifi_X23Connected),
- /* K15 */ be_nested_str_weak(Eth_X23Connected),
- }),
- be_str_weak(start_basic_commissioning),
- &be_const_str_solidified,
- ( &(const binstruction[40]) { /* code */
- 0xB8220200, // 0000 GETNGBL R8 K1
- 0x8C201102, // 0001 GETMET R8 R8 K2
- 0x7C200200, // 0002 CALL R8 1
- 0x542603E7, // 0003 LDINT R9 1000
- 0x08240209, // 0004 MUL R9 R1 R9
- 0x00201009, // 0005 ADD R8 R8 R9
- 0x90020008, // 0006 SETMBR R0 K0 R8
- 0x90020602, // 0007 SETMBR R0 K3 R2
- 0x90020803, // 0008 SETMBR R0 K4 R3
- 0x90020A04, // 0009 SETMBR R0 K5 R4
- 0x90020C05, // 000A SETMBR R0 K6 R5
- 0x90020E06, // 000B SETMBR R0 K7 R6
- 0x90021007, // 000C SETMBR R0 K8 R7
- 0xB8220200, // 000D GETNGBL R8 K1
- 0x8C201109, // 000E GETMET R8 R8 K9
- 0x7C200200, // 000F CALL R8 1
- 0x9420110A, // 0010 GETIDX R8 R8 K10
- 0x74220004, // 0011 JMPT R8 #0017
- 0xB8220200, // 0012 GETNGBL R8 K1
- 0x8C20110B, // 0013 GETMET R8 R8 K11
- 0x7C200200, // 0014 CALL R8 1
- 0x9420110A, // 0015 GETIDX R8 R8 K10
- 0x78220002, // 0016 JMPF R8 #001A
- 0x8C20010C, // 0017 GETMET R8 R0 K12
- 0x7C200200, // 0018 CALL R8 1
- 0x7002000B, // 0019 JMP #0026
- 0xB8220200, // 001A GETNGBL R8 K1
- 0x8C20110D, // 001B GETMET R8 R8 K13
- 0x5828000E, // 001C LDCONST R10 K14
- 0x842C0000, // 001D CLOSURE R11 P0
- 0x5830000C, // 001E LDCONST R12 K12
- 0x7C200800, // 001F CALL R8 4
- 0xB8220200, // 0020 GETNGBL R8 K1
- 0x8C20110D, // 0021 GETMET R8 R8 K13
- 0x5828000F, // 0022 LDCONST R10 K15
- 0x842C0001, // 0023 CLOSURE R11 P1
- 0x5830000C, // 0024 LDCONST R12 K12
- 0x7C200800, // 0025 CALL R8 4
- 0xA0000000, // 0026 CLOSE R0
- 0x80000000, // 0027 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: _init_basic_commissioning
-********************************************************************/
-be_local_closure(class_Matter_Device__init_basic_commissioning, /* name */
- be_nested_proto(
- 3, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 4]) { /* constants */
- /* K0 */ be_nested_str_weak(sessions),
- /* K1 */ be_nested_str_weak(count_active_fabrics),
- /* K2 */ be_const_int(0),
- /* K3 */ be_nested_str_weak(start_root_basic_commissioning),
- }),
- be_str_weak(_init_basic_commissioning),
- &be_const_str_solidified,
- ( &(const binstruction[ 8]) { /* code */
- 0x88040100, // 0000 GETMBR R1 R0 K0
- 0x8C040301, // 0001 GETMET R1 R1 K1
- 0x7C040200, // 0002 CALL R1 1
- 0x1C040302, // 0003 EQ R1 R1 K2
- 0x78060001, // 0004 JMPF R1 #0007
- 0x8C040103, // 0005 GETMET R1 R0 K3
- 0x7C040200, // 0006 CALL R1 1
- 0x80000000, // 0007 RET 0
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: find_plugin_by_friendly_name
-********************************************************************/
-be_local_closure(class_Matter_Device_find_plugin_by_friendly_name, /* name */
- be_nested_proto(
- 7, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 4]) { /* constants */
- /* K0 */ be_const_int(0),
- /* K1 */ be_nested_str_weak(plugins),
- /* K2 */ be_nested_str_weak(get_name),
- /* K3 */ be_const_int(1),
- }),
- be_str_weak(find_plugin_by_friendly_name),
- &be_const_str_solidified,
- ( &(const binstruction[35]) { /* code */
- 0x4C080000, // 0000 LDNIL R2
- 0x1C080202, // 0001 EQ R2 R1 R2
- 0x740A0004, // 0002 JMPT R2 #0008
- 0x6008000C, // 0003 GETGBL R2 G12
- 0x5C0C0200, // 0004 MOVE R3 R1
- 0x7C080200, // 0005 CALL R2 1
- 0x1C080500, // 0006 EQ R2 R2 K0
- 0x780A0001, // 0007 JMPF R2 #000A
- 0x4C080000, // 0008 LDNIL R2
- 0x80040400, // 0009 RET 1 R2
- 0x58080000, // 000A LDCONST R2 K0
- 0x600C000C, // 000B GETGBL R3 G12
- 0x88100101, // 000C GETMBR R4 R0 K1
- 0x7C0C0200, // 000D CALL R3 1
- 0x140C0403, // 000E LT R3 R2 R3
- 0x780E0010, // 000F JMPF R3 #0021
- 0x880C0101, // 0010 GETMBR R3 R0 K1
- 0x940C0602, // 0011 GETIDX R3 R3 R2
- 0x8C100702, // 0012 GETMET R4 R3 K2
- 0x7C100200, // 0013 CALL R4 1
- 0x4C140000, // 0014 LDNIL R5
- 0x20140805, // 0015 NE R5 R4 R5
- 0x78160007, // 0016 JMPF R5 #001F
- 0x6014000C, // 0017 GETGBL R5 G12
- 0x5C180800, // 0018 MOVE R6 R4
- 0x7C140200, // 0019 CALL R5 1
- 0x24140B00, // 001A GT R5 R5 K0
- 0x78160002, // 001B JMPF R5 #001F
- 0x1C140801, // 001C EQ R5 R4 R1
- 0x78160000, // 001D JMPF R5 #001F
- 0x80040600, // 001E RET 1 R3
- 0x00080503, // 001F ADD R2 R2 K3
- 0x7001FFE9, // 0020 JMP #000B
- 0x4C0C0000, // 0021 LDNIL R3
- 0x80040600, // 0022 RET 1 R3
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: autoconf_device_map
-********************************************************************/
-be_local_closure(class_Matter_Device_autoconf_device_map, /* name */
- be_nested_proto(
- 19, /* nstack */
- 1, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[38]) { /* constants */
- /* K0 */ be_nested_str_weak(json),
- /* K1 */ be_nested_str_weak(matter),
- /* K2 */ be_nested_str_weak(START_ENDPOINT),
- /* K3 */ be_const_int(0),
- /* K4 */ be_nested_str_weak(light),
- /* K5 */ be_nested_str_weak(get),
- /* K6 */ be_nested_str_weak(find),
- /* K7 */ be_nested_str_weak(channels),
- /* K8 */ be_nested_str_weak(),
- /* K9 */ be_const_int(1),
- /* K10 */ be_nested_str_weak(type),
- /* K11 */ be_nested_str_weak(light1),
- /* K12 */ be_const_int(2),
- /* K13 */ be_nested_str_weak(light2),
- /* K14 */ be_const_int(3),
- /* K15 */ be_nested_str_weak(light3),
- /* K16 */ be_nested_str_weak(tasmota),
- /* K17 */ be_nested_str_weak(cmd),
- /* K18 */ be_nested_str_weak(Status_X2013),
- /* K19 */ be_nested_str_weak(log),
- /* K20 */ be_nested_str_weak(MTR_X3A_X20Status_X2013_X20_X3D_X20),
- /* K21 */ be_nested_str_weak(contains),
- /* K22 */ be_nested_str_weak(StatusSHT),
- /* K23 */ be_nested_str_weak(SHT),
- /* K24 */ be_nested_str_weak(MTR_X3A_X20_X27_X25s_X27_X20_X3D_X20_X25s),
- /* K25 */ be_nested_str_weak(Relay1),
- /* K26 */ be_nested_str_weak(Relay2),
- /* K27 */ be_nested_str_weak(push),
- /* K28 */ be_nested_str_weak(MTR_X3A_X20relay1_X3D_X25s_X20relay2_X3D_X25s),
- /* K29 */ be_nested_str_weak(TiltConfig),
- /* K30 */ be_nested_str_weak(shutter_X2Btilt),
- /* K31 */ be_nested_str_weak(shutter),
- /* K32 */ be_nested_str_weak(get_power),
- /* K33 */ be_nested_str_weak(relay),
- /* K34 */ be_nested_str_weak(load),
- /* K35 */ be_nested_str_weak(read_sensors),
- /* K36 */ be_nested_str_weak(autoconf_sensors_list),
- /* K37 */ be_nested_str_weak(stop_iteration),
- }),
- be_str_weak(autoconf_device_map),
- &be_const_str_solidified,
- ( &(const binstruction[262]) { /* code */
- 0xA4060000, // 0000 IMPORT R1 K0
- 0x60080013, // 0001 GETGBL R2 G19
- 0x7C080000, // 0002 CALL R2 0
- 0xB80E0200, // 0003 GETNGBL R3 K1
- 0x880C0702, // 0004 GETMBR R3 R3 K2
- 0x58100003, // 0005 LDCONST R4 K3
- 0xA4160800, // 0006 IMPORT R5 K4
- 0x8C180B05, // 0007 GETMET R6 R5 K5
- 0x58200003, // 0008 LDCONST R8 K3
- 0x7C180400, // 0009 CALL R6 2
- 0x4C1C0000, // 000A LDNIL R7
- 0x201C0C07, // 000B NE R7 R6 R7
- 0x781E0066, // 000C JMPF R7 #0074
- 0x601C000C, // 000D GETGBL R7 G12
- 0x8C200D06, // 000E GETMET R8 R6 K6
- 0x58280007, // 000F LDCONST R10 K7
- 0x582C0008, // 0010 LDCONST R11 K8
- 0x7C200600, // 0011 CALL R8 3
- 0x7C1C0200, // 0012 CALL R7 1
- 0x58100009, // 0013 LDCONST R4 K9
- 0x24200F03, // 0014 GT R8 R7 K3
- 0x7822005D, // 0015 JMPF R8 #0074
- 0x1C200F09, // 0016 EQ R8 R7 K9
- 0x7822001E, // 0017 JMPF R8 #0037
- 0x60200008, // 0018 GETGBL R8 G8
- 0x5C240600, // 0019 MOVE R9 R3
- 0x7C200200, // 001A CALL R8 1
- 0x60240013, // 001B GETGBL R9 G19
- 0x7C240000, // 001C CALL R9 0
- 0x9826150B, // 001D SETIDX R9 K10 K11
- 0x98081009, // 001E SETIDX R2 R8 R9
- 0x000C0709, // 001F ADD R3 R3 K9
- 0x58200009, // 0020 LDCONST R8 K9
- 0x4C240000, // 0021 LDNIL R9
- 0x8C280B05, // 0022 GETMET R10 R5 K5
- 0x5C301000, // 0023 MOVE R12 R8
- 0x7C280400, // 0024 CALL R10 2
- 0x5C241400, // 0025 MOVE R9 R10
- 0x4C2C0000, // 0026 LDNIL R11
- 0x2028140B, // 0027 NE R10 R10 R11
- 0x782A000C, // 0028 JMPF R10 #0036
- 0x60280008, // 0029 GETGBL R10 G8
- 0x5C2C0600, // 002A MOVE R11 R3
- 0x7C280200, // 002B CALL R10 1
- 0x602C0013, // 002C GETGBL R11 G19
- 0x7C2C0000, // 002D CALL R11 0
- 0x982E150B, // 002E SETIDX R11 K10 K11
- 0x00301109, // 002F ADD R12 R8 K9
- 0x982E080C, // 0030 SETIDX R11 K4 R12
- 0x9808140B, // 0031 SETIDX R2 R10 R11
- 0x000C0709, // 0032 ADD R3 R3 K9
- 0x00100909, // 0033 ADD R4 R4 K9
- 0x00201109, // 0034 ADD R8 R8 K9
- 0x7001FFEB, // 0035 JMP #0022
- 0x7002003C, // 0036 JMP #0074
- 0x1C200F0C, // 0037 EQ R8 R7 K12
- 0x78220008, // 0038 JMPF R8 #0042
- 0x60200008, // 0039 GETGBL R8 G8
- 0x5C240600, // 003A MOVE R9 R3
- 0x7C200200, // 003B CALL R8 1
- 0x60240013, // 003C GETGBL R9 G19
- 0x7C240000, // 003D CALL R9 0
- 0x9826150D, // 003E SETIDX R9 K10 K13
- 0x98081009, // 003F SETIDX R2 R8 R9
- 0x000C0709, // 0040 ADD R3 R3 K9
- 0x70020031, // 0041 JMP #0074
- 0x1C200F0E, // 0042 EQ R8 R7 K14
- 0x7822002B, // 0043 JMPF R8 #0070
- 0x60200008, // 0044 GETGBL R8 G8
- 0x5C240600, // 0045 MOVE R9 R3
- 0x7C200200, // 0046 CALL R8 1
- 0x60240013, // 0047 GETGBL R9 G19
- 0x7C240000, // 0048 CALL R9 0
- 0x9826150F, // 0049 SETIDX R9 K10 K15
- 0x98081009, // 004A SETIDX R2 R8 R9
- 0x000C0709, // 004B ADD R3 R3 K9
- 0x8C200B05, // 004C GETMET R8 R5 K5
- 0x58280009, // 004D LDCONST R10 K9
- 0x7C200400, // 004E CALL R8 2
- 0x4C240000, // 004F LDNIL R9
- 0x20241009, // 0050 NE R9 R8 R9
- 0x7826001C, // 0051 JMPF R9 #006F
- 0x6024000C, // 0052 GETGBL R9 G12
- 0x8C281106, // 0053 GETMET R10 R8 K6
- 0x58300007, // 0054 LDCONST R12 K7
- 0x58340008, // 0055 LDCONST R13 K8
- 0x7C280600, // 0056 CALL R10 3
- 0x7C240200, // 0057 CALL R9 1
- 0x1C281309, // 0058 EQ R10 R9 K9
- 0x782A0009, // 0059 JMPF R10 #0064
- 0x60280008, // 005A GETGBL R10 G8
- 0x5C2C0600, // 005B MOVE R11 R3
- 0x7C280200, // 005C CALL R10 1
- 0x602C0013, // 005D GETGBL R11 G19
- 0x7C2C0000, // 005E CALL R11 0
- 0x982E150B, // 005F SETIDX R11 K10 K11
- 0x9808140B, // 0060 SETIDX R2 R10 R11
- 0x000C0709, // 0061 ADD R3 R3 K9
- 0x00100909, // 0062 ADD R4 R4 K9
- 0x7002000A, // 0063 JMP #006F
- 0x1C28130C, // 0064 EQ R10 R9 K12
- 0x782A0008, // 0065 JMPF R10 #006F
- 0x60280008, // 0066 GETGBL R10 G8
- 0x5C2C0600, // 0067 MOVE R11 R3
- 0x7C280200, // 0068 CALL R10 1
- 0x602C0013, // 0069 GETGBL R11 G19
- 0x7C2C0000, // 006A CALL R11 0
- 0x982E150D, // 006B SETIDX R11 K10 K13
- 0x9808140B, // 006C SETIDX R2 R10 R11
- 0x000C0709, // 006D ADD R3 R3 K9
- 0x00100909, // 006E ADD R4 R4 K9
- 0x70020003, // 006F JMP #0074
- 0x54220003, // 0070 LDINT R8 4
- 0x1C200E08, // 0071 EQ R8 R7 R8
- 0x78220000, // 0072 JMPF R8 #0074
- 0x7001FFFF, // 0073 JMP #0074
- 0xB81E2000, // 0074 GETNGBL R7 K16
- 0x8C1C0F11, // 0075 GETMET R7 R7 K17
- 0x58240012, // 0076 LDCONST R9 K18
- 0x50280200, // 0077 LDBOOL R10 1 0
- 0x7C1C0600, // 0078 CALL R7 3
- 0x60200012, // 0079 GETGBL R8 G18
- 0x7C200000, // 007A CALL R8 0
- 0xB8262600, // 007B GETNGBL R9 K19
- 0x60280008, // 007C GETGBL R10 G8
- 0x5C2C0E00, // 007D MOVE R11 R7
- 0x7C280200, // 007E CALL R10 1
- 0x002A280A, // 007F ADD R10 K20 R10
- 0x582C000E, // 0080 LDCONST R11 K14
- 0x7C240400, // 0081 CALL R9 2
- 0x4C240000, // 0082 LDNIL R9
- 0x20240E09, // 0083 NE R9 R7 R9
- 0x7826004D, // 0084 JMPF R9 #00D3
- 0x8C240F15, // 0085 GETMET R9 R7 K21
- 0x582C0016, // 0086 LDCONST R11 K22
- 0x7C240400, // 0087 CALL R9 2
- 0x78260049, // 0088 JMPF R9 #00D3
- 0x941C0F16, // 0089 GETIDX R7 R7 K22
- 0x58240003, // 008A LDCONST R9 K3
- 0x50280200, // 008B LDBOOL R10 1 0
- 0x782A0045, // 008C JMPF R10 #00D3
- 0x60280008, // 008D GETGBL R10 G8
- 0x5C2C1200, // 008E MOVE R11 R9
- 0x7C280200, // 008F CALL R10 1
- 0x002A2E0A, // 0090 ADD R10 K23 R10
- 0x8C2C0F15, // 0091 GETMET R11 R7 K21
- 0x5C341400, // 0092 MOVE R13 R10
- 0x7C2C0400, // 0093 CALL R11 2
- 0x742E0000, // 0094 JMPT R11 #0096
- 0x7002003C, // 0095 JMP #00D3
- 0x942C0E0A, // 0096 GETIDX R11 R7 R10
- 0xB8322600, // 0097 GETNGBL R12 K19
- 0x60340018, // 0098 GETGBL R13 G24
- 0x58380018, // 0099 LDCONST R14 K24
- 0x5C3C1400, // 009A MOVE R15 R10
- 0x60400008, // 009B GETGBL R16 G8
- 0x5C441600, // 009C MOVE R17 R11
- 0x7C400200, // 009D CALL R16 1
- 0x7C340600, // 009E CALL R13 3
- 0x5838000E, // 009F LDCONST R14 K14
- 0x7C300400, // 00A0 CALL R12 2
- 0x8C301706, // 00A1 GETMET R12 R11 K6
- 0x58380019, // 00A2 LDCONST R14 K25
- 0x543DFFFE, // 00A3 LDINT R15 -1
- 0x7C300600, // 00A4 CALL R12 3
- 0x8C341706, // 00A5 GETMET R13 R11 K6
- 0x583C001A, // 00A6 LDCONST R15 K26
- 0x5441FFFE, // 00A7 LDINT R16 -1
- 0x7C340600, // 00A8 CALL R13 3
- 0x24381903, // 00A9 GT R14 R12 K3
- 0x783A0002, // 00AA JMPF R14 #00AE
- 0x8C38111B, // 00AB GETMET R14 R8 K27
- 0x04401909, // 00AC SUB R16 R12 K9
- 0x7C380400, // 00AD CALL R14 2
- 0x24381B03, // 00AE GT R14 R13 K3
- 0x783A0002, // 00AF JMPF R14 #00B3
- 0x8C38111B, // 00B0 GETMET R14 R8 K27
- 0x04401B09, // 00B1 SUB R16 R13 K9
- 0x7C380400, // 00B2 CALL R14 2
- 0xB83A2600, // 00B3 GETNGBL R14 K19
- 0x603C0018, // 00B4 GETGBL R15 G24
- 0x5840001C, // 00B5 LDCONST R16 K28
- 0x5C441800, // 00B6 MOVE R17 R12
- 0x5C481A00, // 00B7 MOVE R18 R13
- 0x7C3C0600, // 00B8 CALL R15 3
- 0x5840000E, // 00B9 LDCONST R16 K14
- 0x7C380400, // 00BA CALL R14 2
- 0x8C381706, // 00BB GETMET R14 R11 K6
- 0x5840001D, // 00BC LDCONST R16 K29
- 0x7C380400, // 00BD CALL R14 2
- 0x783A0002, // 00BE JMPF R14 #00C2
- 0x943C1D0C, // 00BF GETIDX R15 R14 K12
- 0x243C1F03, // 00C0 GT R15 R15 K3
- 0x743E0000, // 00C1 JMPT R15 #00C3
- 0x503C0001, // 00C2 LDBOOL R15 0 1
- 0x503C0200, // 00C3 LDBOOL R15 1 0
- 0x60400008, // 00C4 GETGBL R16 G8
- 0x5C440600, // 00C5 MOVE R17 R3
- 0x7C400200, // 00C6 CALL R16 1
- 0x60440013, // 00C7 GETGBL R17 G19
- 0x7C440000, // 00C8 CALL R17 0
- 0x783E0001, // 00C9 JMPF R15 #00CC
- 0x5848001E, // 00CA LDCONST R18 K30
- 0x70020000, // 00CB JMP #00CD
- 0x5848001F, // 00CC LDCONST R18 K31
- 0x98461412, // 00CD SETIDX R17 K10 R18
- 0x98463E09, // 00CE SETIDX R17 K31 R9
- 0x98082011, // 00CF SETIDX R2 R16 R17
- 0x000C0709, // 00D0 ADD R3 R3 K9
- 0x00241309, // 00D1 ADD R9 R9 K9
- 0x7001FFB7, // 00D2 JMP #008B
- 0x6024000C, // 00D3 GETGBL R9 G12
- 0xB82A2000, // 00D4 GETNGBL R10 K16
- 0x8C281520, // 00D5 GETMET R10 R10 K32
- 0x7C280200, // 00D6 CALL R10 1
- 0x7C240200, // 00D7 CALL R9 1
- 0x58280003, // 00D8 LDCONST R10 K3
- 0x04241204, // 00D9 SUB R9 R9 R4
- 0x142C1409, // 00DA LT R11 R10 R9
- 0x782E0011, // 00DB JMPF R11 #00EE
- 0x8C2C1106, // 00DC GETMET R11 R8 K6
- 0x5C341400, // 00DD MOVE R13 R10
- 0x7C2C0400, // 00DE CALL R11 2
- 0x4C300000, // 00DF LDNIL R12
- 0x1C2C160C, // 00E0 EQ R11 R11 R12
- 0x782E0009, // 00E1 JMPF R11 #00EC
- 0x602C0008, // 00E2 GETGBL R11 G8
- 0x5C300600, // 00E3 MOVE R12 R3
- 0x7C2C0200, // 00E4 CALL R11 1
- 0x60300013, // 00E5 GETGBL R12 G19
- 0x7C300000, // 00E6 CALL R12 0
- 0x98321521, // 00E7 SETIDX R12 K10 K33
- 0x00341509, // 00E8 ADD R13 R10 K9
- 0x9832420D, // 00E9 SETIDX R12 K33 R13
- 0x9808160C, // 00EA SETIDX R2 R11 R12
- 0x000C0709, // 00EB ADD R3 R3 K9
- 0x00281509, // 00EC ADD R10 R10 K9
- 0x7001FFEB, // 00ED JMP #00DA
- 0x8C2C0322, // 00EE GETMET R11 R1 K34
- 0xB8362000, // 00EF GETNGBL R13 K16
- 0x8C341B23, // 00F0 GETMET R13 R13 K35
- 0x7C340200, // 00F1 CALL R13 1
- 0x7C2C0400, // 00F2 CALL R11 2
- 0x8C300124, // 00F3 GETMET R12 R0 K36
- 0x5C381600, // 00F4 MOVE R14 R11
- 0x7C300400, // 00F5 CALL R12 2
- 0x60340010, // 00F6 GETGBL R13 G16
- 0x5C381800, // 00F7 MOVE R14 R12
- 0x7C340200, // 00F8 CALL R13 1
- 0xA8020007, // 00F9 EXBLK 0 #0102
- 0x5C381A00, // 00FA MOVE R14 R13
- 0x7C380000, // 00FB CALL R14 0
- 0x603C0008, // 00FC GETGBL R15 G8
- 0x5C400600, // 00FD MOVE R16 R3
- 0x7C3C0200, // 00FE CALL R15 1
- 0x98081E0E, // 00FF SETIDX R2 R15 R14
- 0x000C0709, // 0100 ADD R3 R3 K9
- 0x7001FFF7, // 0101 JMP #00FA
- 0x58340025, // 0102 LDCONST R13 K37
- 0xAC340200, // 0103 CATCH R13 1 0
- 0xB0080000, // 0104 RAISE 2 R0 R0
- 0x80040400, // 0105 RET 1 R2
- })
- )
-);
-/*******************************************************************/
-
-
-/********************************************************************
-** Solidified function: get_active_endpoints
-********************************************************************/
-be_local_closure(class_Matter_Device_get_active_endpoints, /* name */
- be_nested_proto(
- 9, /* nstack */
- 2, /* argc */
- 2, /* varg */
- 0, /* has upvals */
- NULL, /* no upvals */
- 0, /* has sup protos */
- NULL, /* no sub protos */
- 1, /* has constants */
- ( &(const bvalue[ 6]) { /* constants */
- /* K0 */ be_nested_str_weak(plugins),
- /* K1 */ be_nested_str_weak(get_endpoint),
- /* K2 */ be_const_int(0),
- /* K3 */ be_nested_str_weak(find),
- /* K4 */ be_nested_str_weak(push),
- /* K5 */ be_nested_str_weak(stop_iteration),
- }),
- be_str_weak(get_active_endpoints),
- &be_const_str_solidified,
- ( &(const binstruction[28]) { /* code */
- 0x60080012, // 0000 GETGBL R2 G18
- 0x7C080000, // 0001 CALL R2 0
- 0x600C0010, // 0002 GETGBL R3 G16
- 0x88100100, // 0003 GETMBR R4 R0 K0
- 0x7C0C0200, // 0004 CALL R3 1
- 0xA8020011, // 0005 EXBLK 0 #0018
- 0x5C100600, // 0006 MOVE R4 R3
- 0x7C100000, // 0007 CALL R4 0
- 0x8C140901, // 0008 GETMET R5 R4 K1
- 0x7C140200, // 0009 CALL R5 1
- 0x78060002, // 000A JMPF R1 #000E
- 0x1C180B02, // 000B EQ R6 R5 K2
- 0x781A0000, // 000C JMPF R6 #000E
- 0x7001FFF7, // 000D JMP #0006
- 0x8C180503, // 000E GETMET R6 R2 K3
- 0x5C200A00, // 000F MOVE R8 R5
- 0x7C180400, // 0010 CALL R6 2
- 0x4C1C0000, // 0011 LDNIL R7
- 0x1C180C07, // 0012 EQ R6 R6 R7
- 0x781A0002, // 0013 JMPF R6 #0017
- 0x8C180504, // 0014 GETMET R6 R2 K4
- 0x5C200A00, // 0015 MOVE R8 R5
- 0x7C180400, // 0016 CALL R6 2
- 0x7001FFED, // 0017 JMP #0006
- 0x580C0005, // 0018 LDCONST R3 K5
- 0xAC0C0200, // 0019 CATCH R3 1 0
- 0xB0080000, // 001A RAISE 2 R0 R0
- 0x80040400, // 001B RET 1 R2
+ 0x1C040202, // 0002 EQ R1 R1 R2
+ 0x78060000, // 0003 JMPF R1 #0005
+ 0x80000200, // 0004 RET 0
+ 0x88040168, // 0005 GETMBR R1 R0 K104
+ 0x1C04030A, // 0006 EQ R1 R1 K10
+ 0x74060004, // 0007 JMPT R1 #000D
+ 0xB8062C00, // 0008 GETNGBL R1 K22
+ 0x8C0403EA, // 0009 GETMET R1 R1 K234
+ 0x880C0168, // 000A GETMBR R3 R0 K104
+ 0x7C040400, // 000B CALL R1 2
+ 0x78060006, // 000C JMPF R1 #0014
+ 0x8C0401EB, // 000D GETMET R1 R0 K235
+ 0x7C040200, // 000E CALL R1 1
+ 0xB8062C00, // 000F GETNGBL R1 K22
+ 0x8C0403EC, // 0010 GETMET R1 R1 K236
+ 0x880C0167, // 0011 GETMBR R3 R0 K103
+ 0x7C040400, // 0012 CALL R1 2
+ 0x9002D001, // 0013 SETMBR R0 K104 R1
+ 0x80000000, // 0014 RET 0
})
)
);
@@ -6090,34 +3381,454 @@ be_local_closure(class_Matter_Device_MtrJoin, /* name */
be_nested_proto(
8, /* nstack */
5, /* argc */
- 2, /* varg */
+ 10, /* varg */
0, /* has upvals */
NULL, /* no upvals */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
- ( &(const bvalue[ 4]) { /* constants */
- /* K0 */ be_nested_str_weak(start_root_basic_commissioning),
- /* K1 */ be_nested_str_weak(stop_basic_commissioning),
- /* K2 */ be_nested_str_weak(tasmota),
- /* K3 */ be_nested_str_weak(resp_cmnd_done),
- }),
+ &be_ktab_class_Matter_Device, /* shared constants */
be_str_weak(MtrJoin),
&be_const_str_solidified,
- ( &(const binstruction[13]) { /* code */
+ ( &(const binstruction[14]) { /* code */
0x60140009, // 0000 GETGBL R5 G9
0x5C180600, // 0001 MOVE R6 R3
0x7C140200, // 0002 CALL R5 1
- 0x78160002, // 0003 JMPF R5 #0007
- 0x8C180100, // 0004 GETMET R6 R0 K0
- 0x7C180200, // 0005 CALL R6 1
- 0x70020001, // 0006 JMP #0009
- 0x8C180101, // 0007 GETMET R6 R0 K1
- 0x7C180200, // 0008 CALL R6 1
- 0xB81A0400, // 0009 GETNGBL R6 K2
- 0x8C180D03, // 000A GETMET R6 R6 K3
- 0x7C180200, // 000B CALL R6 1
- 0x80000000, // 000C RET 0
+ 0x78160003, // 0003 JMPF R5 #0008
+ 0x88180106, // 0004 GETMBR R6 R0 K6
+ 0x8C180DED, // 0005 GETMET R6 R6 K237
+ 0x7C180200, // 0006 CALL R6 1
+ 0x70020001, // 0007 JMP #000A
+ 0x8C18010D, // 0008 GETMET R6 R0 K13
+ 0x7C180200, // 0009 CALL R6 1
+ 0xB81A2C00, // 000A GETNGBL R6 K22
+ 0x8C180DB0, // 000B GETMET R6 R6 K176
+ 0x7C180200, // 000C CALL R6 1
+ 0x80000000, // 000D RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: autoconf_sensors_list
+********************************************************************/
+be_local_closure(class_Matter_Device_autoconf_sensors_list, /* name */
+ be_nested_proto(
+ 10, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(autoconf_sensors_list),
+ &be_const_str_solidified,
+ ( &(const binstruction[119]) { /* code */
+ 0x60080012, // 0000 GETGBL R2 G18
+ 0x7C080000, // 0001 CALL R2 0
+ 0x600C0010, // 0002 GETGBL R3 G16
+ 0x8C100111, // 0003 GETMET R4 R0 K17
+ 0x5C180200, // 0004 MOVE R6 R1
+ 0x7C100400, // 0005 CALL R4 2
+ 0x7C0C0200, // 0006 CALL R3 1
+ 0xA8020013, // 0007 EXBLK 0 #001C
+ 0x5C100600, // 0008 MOVE R4 R3
+ 0x7C100000, // 0009 CALL R4 0
+ 0x94140204, // 000A GETIDX R5 R1 R4
+ 0x6018000F, // 000B GETGBL R6 G15
+ 0x5C1C0A00, // 000C MOVE R7 R5
+ 0x60200013, // 000D GETGBL R8 G19
+ 0x7C180400, // 000E CALL R6 2
+ 0x781A000A, // 000F JMPF R6 #001B
+ 0x8C180B6C, // 0010 GETMET R6 R5 K108
+ 0x582000EE, // 0011 LDCONST R8 K238
+ 0x7C180400, // 0012 CALL R6 2
+ 0x781A0006, // 0013 JMPF R6 #001B
+ 0x001809EF, // 0014 ADD R6 R4 K239
+ 0x8C1C0562, // 0015 GETMET R7 R2 K98
+ 0x60240013, // 0016 GETGBL R9 G19
+ 0x7C240000, // 0017 CALL R9 0
+ 0x982625F0, // 0018 SETIDX R9 K18 K240
+ 0x9827E206, // 0019 SETIDX R9 K241 R6
+ 0x7C1C0400, // 001A CALL R7 2
+ 0x7001FFEB, // 001B JMP #0008
+ 0x580C0014, // 001C LDCONST R3 K20
+ 0xAC0C0200, // 001D CATCH R3 1 0
+ 0xB0080000, // 001E RAISE 2 R0 R0
+ 0x600C0010, // 001F GETGBL R3 G16
+ 0x8C100111, // 0020 GETMET R4 R0 K17
+ 0x5C180200, // 0021 MOVE R6 R1
+ 0x7C100400, // 0022 CALL R4 2
+ 0x7C0C0200, // 0023 CALL R3 1
+ 0xA8020013, // 0024 EXBLK 0 #0039
+ 0x5C100600, // 0025 MOVE R4 R3
+ 0x7C100000, // 0026 CALL R4 0
+ 0x94140204, // 0027 GETIDX R5 R1 R4
+ 0x6018000F, // 0028 GETGBL R6 G15
+ 0x5C1C0A00, // 0029 MOVE R7 R5
+ 0x60200013, // 002A GETGBL R8 G19
+ 0x7C180400, // 002B CALL R6 2
+ 0x781A000A, // 002C JMPF R6 #0038
+ 0x8C180B6C, // 002D GETMET R6 R5 K108
+ 0x582000F2, // 002E LDCONST R8 K242
+ 0x7C180400, // 002F CALL R6 2
+ 0x781A0006, // 0030 JMPF R6 #0038
+ 0x001809F3, // 0031 ADD R6 R4 K243
+ 0x8C1C0562, // 0032 GETMET R7 R2 K98
+ 0x60240013, // 0033 GETGBL R9 G19
+ 0x7C240000, // 0034 CALL R9 0
+ 0x982625F4, // 0035 SETIDX R9 K18 K244
+ 0x9827E206, // 0036 SETIDX R9 K241 R6
+ 0x7C1C0400, // 0037 CALL R7 2
+ 0x7001FFEB, // 0038 JMP #0025
+ 0x580C0014, // 0039 LDCONST R3 K20
+ 0xAC0C0200, // 003A CATCH R3 1 0
+ 0xB0080000, // 003B RAISE 2 R0 R0
+ 0x600C0010, // 003C GETGBL R3 G16
+ 0x8C100111, // 003D GETMET R4 R0 K17
+ 0x5C180200, // 003E MOVE R6 R1
+ 0x7C100400, // 003F CALL R4 2
+ 0x7C0C0200, // 0040 CALL R3 1
+ 0xA8020013, // 0041 EXBLK 0 #0056
+ 0x5C100600, // 0042 MOVE R4 R3
+ 0x7C100000, // 0043 CALL R4 0
+ 0x94140204, // 0044 GETIDX R5 R1 R4
+ 0x6018000F, // 0045 GETGBL R6 G15
+ 0x5C1C0A00, // 0046 MOVE R7 R5
+ 0x60200013, // 0047 GETGBL R8 G19
+ 0x7C180400, // 0048 CALL R6 2
+ 0x781A000A, // 0049 JMPF R6 #0055
+ 0x8C180B6C, // 004A GETMET R6 R5 K108
+ 0x582000F5, // 004B LDCONST R8 K245
+ 0x7C180400, // 004C CALL R6 2
+ 0x781A0006, // 004D JMPF R6 #0055
+ 0x001809F6, // 004E ADD R6 R4 K246
+ 0x8C1C0562, // 004F GETMET R7 R2 K98
+ 0x60240013, // 0050 GETGBL R9 G19
+ 0x7C240000, // 0051 CALL R9 0
+ 0x982625F7, // 0052 SETIDX R9 K18 K247
+ 0x9827E206, // 0053 SETIDX R9 K241 R6
+ 0x7C1C0400, // 0054 CALL R7 2
+ 0x7001FFEB, // 0055 JMP #0042
+ 0x580C0014, // 0056 LDCONST R3 K20
+ 0xAC0C0200, // 0057 CATCH R3 1 0
+ 0xB0080000, // 0058 RAISE 2 R0 R0
+ 0x600C0010, // 0059 GETGBL R3 G16
+ 0x8C100111, // 005A GETMET R4 R0 K17
+ 0x5C180200, // 005B MOVE R6 R1
+ 0x7C100400, // 005C CALL R4 2
+ 0x7C0C0200, // 005D CALL R3 1
+ 0xA8020013, // 005E EXBLK 0 #0073
+ 0x5C100600, // 005F MOVE R4 R3
+ 0x7C100000, // 0060 CALL R4 0
+ 0x94140204, // 0061 GETIDX R5 R1 R4
+ 0x6018000F, // 0062 GETGBL R6 G15
+ 0x5C1C0A00, // 0063 MOVE R7 R5
+ 0x60200013, // 0064 GETGBL R8 G19
+ 0x7C180400, // 0065 CALL R6 2
+ 0x781A000A, // 0066 JMPF R6 #0072
+ 0x8C180B6C, // 0067 GETMET R6 R5 K108
+ 0x582000F8, // 0068 LDCONST R8 K248
+ 0x7C180400, // 0069 CALL R6 2
+ 0x781A0006, // 006A JMPF R6 #0072
+ 0x001809F9, // 006B ADD R6 R4 K249
+ 0x8C1C0562, // 006C GETMET R7 R2 K98
+ 0x60240013, // 006D GETGBL R9 G19
+ 0x7C240000, // 006E CALL R9 0
+ 0x982625FA, // 006F SETIDX R9 K18 K250
+ 0x9827E206, // 0070 SETIDX R9 K241 R6
+ 0x7C1C0400, // 0071 CALL R7 2
+ 0x7001FFEB, // 0072 JMP #005F
+ 0x580C0014, // 0073 LDCONST R3 K20
+ 0xAC0C0200, // 0074 CATCH R3 1 0
+ 0xB0080000, // 0075 RAISE 2 R0 R0
+ 0x80040400, // 0076 RET 1 R2
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: MtrInfo_one
+********************************************************************/
+be_local_closure(class_Matter_Device_MtrInfo_one, /* name */
+ be_nested_proto(
+ 9, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(MtrInfo_one),
+ &be_const_str_solidified,
+ ( &(const binstruction[20]) { /* code */
+ 0x8C08014B, // 0000 GETMET R2 R0 K75
+ 0x5C100200, // 0001 MOVE R4 R1
+ 0x7C080400, // 0002 CALL R2 2
+ 0x4C0C0000, // 0003 LDNIL R3
+ 0x1C0C0403, // 0004 EQ R3 R2 R3
+ 0x780E0000, // 0005 JMPF R3 #0007
+ 0x80000600, // 0006 RET 0
+ 0x8C0C05CF, // 0007 GETMET R3 R2 K207
+ 0x7C0C0200, // 0008 CALL R3 1
+ 0x780E0008, // 0009 JMPF R3 #0013
+ 0x60100018, // 000A GETGBL R4 G24
+ 0x581400FB, // 000B LDCONST R5 K251
+ 0x5C180600, // 000C MOVE R6 R3
+ 0x7C100400, // 000D CALL R4 2
+ 0xB8162C00, // 000E GETNGBL R5 K22
+ 0x8C140B80, // 000F GETMET R5 R5 K128
+ 0x5C1C0800, // 0010 MOVE R7 R4
+ 0x58200010, // 0011 LDCONST R8 K16
+ 0x7C140600, // 0012 CALL R5 3
+ 0x80000000, // 0013 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: button_handler
+********************************************************************/
+be_local_closure(class_Matter_Device_button_handler, /* name */
+ be_nested_proto(
+ 14, /* nstack */
+ 5, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(button_handler),
+ &be_const_str_solidified,
+ ( &(const binstruction[25]) { /* code */
+ 0x5814000A, // 0000 LDCONST R5 K10
+ 0xA41B0A00, // 0001 IMPORT R6 K133
+ 0x601C000C, // 0002 GETGBL R7 G12
+ 0x8820011E, // 0003 GETMBR R8 R0 K30
+ 0x7C1C0200, // 0004 CALL R7 1
+ 0x141C0A07, // 0005 LT R7 R5 R7
+ 0x781E0010, // 0006 JMPF R7 #0018
+ 0x881C011E, // 0007 GETMBR R7 R0 K30
+ 0x941C0E05, // 0008 GETIDX R7 R7 R5
+ 0x8C200D6C, // 0009 GETMET R8 R6 K108
+ 0x5C280E00, // 000A MOVE R10 R7
+ 0x582C006A, // 000B LDCONST R11 K106
+ 0x7C200600, // 000C CALL R8 3
+ 0x78220007, // 000D JMPF R8 #0016
+ 0x8820011E, // 000E GETMBR R8 R0 K30
+ 0x94201005, // 000F GETIDX R8 R8 R5
+ 0x8C20116A, // 0010 GETMET R8 R8 K106
+ 0x5C280200, // 0011 MOVE R10 R1
+ 0x5C2C0400, // 0012 MOVE R11 R2
+ 0x5C300600, // 0013 MOVE R12 R3
+ 0x5C340800, // 0014 MOVE R13 R4
+ 0x7C200A00, // 0015 CALL R8 5
+ 0x00140B38, // 0016 ADD R5 R5 K56
+ 0x7001FFE9, // 0017 JMP #0002
+ 0x80000000, // 0018 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: every_50ms
+********************************************************************/
+be_local_closure(class_Matter_Device_every_50ms, /* name */
+ be_nested_proto(
+ 3, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(every_50ms),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 7]) { /* code */
+ 0x8804011D, // 0000 GETMBR R1 R0 K29
+ 0x00040338, // 0001 ADD R1 R1 K56
+ 0x90023A01, // 0002 SETMBR R0 K29 R1
+ 0x88040127, // 0003 GETMBR R1 R0 K39
+ 0x8C0403FC, // 0004 GETMET R1 R1 K252
+ 0x7C040200, // 0005 CALL R1 1
+ 0x80000000, // 0006 RET 0
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: get_plugin_class_arg
+********************************************************************/
+be_local_closure(class_Matter_Device_get_plugin_class_arg, /* name */
+ be_nested_proto(
+ 5, /* nstack */
+ 2, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(get_plugin_class_arg),
+ &be_const_str_solidified,
+ ( &(const binstruction[ 9]) { /* code */
+ 0x8808017A, // 0000 GETMBR R2 R0 K122
+ 0x8C080539, // 0001 GETMET R2 R2 K57
+ 0x5C100200, // 0002 MOVE R4 R1
+ 0x7C080400, // 0003 CALL R2 2
+ 0x780A0001, // 0004 JMPF R2 #0007
+ 0x880C05FD, // 0005 GETMBR R3 R2 K253
+ 0x70020000, // 0006 JMP #0008
+ 0x580C0010, // 0007 LDCONST R3 K16
+ 0x80040600, // 0008 RET 1 R3
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: update_remotes_info
+********************************************************************/
+be_local_closure(class_Matter_Device_update_remotes_info, /* name */
+ be_nested_proto(
+ 7, /* nstack */
+ 1, /* argc */
+ 10, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(update_remotes_info),
+ &be_const_str_solidified,
+ ( &(const binstruction[33]) { /* code */
+ 0x60040013, // 0000 GETGBL R1 G19
+ 0x7C040000, // 0001 CALL R1 0
+ 0x8808016B, // 0002 GETMBR R2 R0 K107
+ 0x4C0C0000, // 0003 LDNIL R3
+ 0x20080403, // 0004 NE R2 R2 R3
+ 0x780A0018, // 0005 JMPF R2 #001F
+ 0x60080010, // 0006 GETGBL R2 G16
+ 0x880C016B, // 0007 GETMBR R3 R0 K107
+ 0x8C0C0766, // 0008 GETMET R3 R3 K102
+ 0x7C0C0200, // 0009 CALL R3 1
+ 0x7C080200, // 000A CALL R2 1
+ 0xA802000F, // 000B EXBLK 0 #001C
+ 0x5C0C0400, // 000C MOVE R3 R2
+ 0x7C0C0000, // 000D CALL R3 0
+ 0x8810016B, // 000E GETMBR R4 R0 K107
+ 0x94100803, // 000F GETIDX R4 R4 R3
+ 0x8C1009FE, // 0010 GETMET R4 R4 K254
+ 0x7C100200, // 0011 CALL R4 1
+ 0x4C140000, // 0012 LDNIL R5
+ 0x20140805, // 0013 NE R5 R4 R5
+ 0x78160005, // 0014 JMPF R5 #001B
+ 0x6014000C, // 0015 GETGBL R5 G12
+ 0x5C180800, // 0016 MOVE R6 R4
+ 0x7C140200, // 0017 CALL R5 1
+ 0x24140B0A, // 0018 GT R5 R5 K10
+ 0x78160000, // 0019 JMPF R5 #001B
+ 0x98040604, // 001A SETIDX R1 R3 R4
+ 0x7001FFEF, // 001B JMP #000C
+ 0x58080014, // 001C LDCONST R2 K20
+ 0xAC080200, // 001D CATCH R2 1 0
+ 0xB0080000, // 001E RAISE 2 R0 R0
+ 0x90023E01, // 001F SETMBR R0 K31 R1
+ 0x80040200, // 0020 RET 1 R1
+ })
+ )
+);
+/*******************************************************************/
+
+
+/********************************************************************
+** Solidified function: k2l
+********************************************************************/
+be_local_closure(class_Matter_Device_k2l, /* name */
+ be_nested_proto(
+ 8, /* nstack */
+ 1, /* argc */
+ 12, /* varg */
+ 0, /* has upvals */
+ NULL, /* no upvals */
+ 0, /* has sup protos */
+ NULL, /* no sub protos */
+ 1, /* has constants */
+ &be_ktab_class_Matter_Device, /* shared constants */
+ be_str_weak(k2l),
+ &be_const_str_solidified,
+ ( &(const binstruction[50]) { /* code */
+ 0x5804000F, // 0000 LDCONST R1 K15
+ 0x60080012, // 0001 GETGBL R2 G18
+ 0x7C080000, // 0002 CALL R2 0
+ 0x4C0C0000, // 0003 LDNIL R3
+ 0x1C0C0003, // 0004 EQ R3 R0 R3
+ 0x780E0000, // 0005 JMPF R3 #0007
+ 0x80040400, // 0006 RET 1 R2
+ 0x600C0010, // 0007 GETGBL R3 G16
+ 0x8C100166, // 0008 GETMET R4 R0 K102
+ 0x7C100200, // 0009 CALL R4 1
+ 0x7C0C0200, // 000A CALL R3 1
+ 0xA8020005, // 000B EXBLK 0 #0012
+ 0x5C100600, // 000C MOVE R4 R3
+ 0x7C100000, // 000D CALL R4 0
+ 0x8C140562, // 000E GETMET R5 R2 K98
+ 0x5C1C0800, // 000F MOVE R7 R4
+ 0x7C140400, // 0010 CALL R5 2
+ 0x7001FFF9, // 0011 JMP #000C
+ 0x580C0014, // 0012 LDCONST R3 K20
+ 0xAC0C0200, // 0013 CATCH R3 1 0
+ 0xB0080000, // 0014 RAISE 2 R0 R0
+ 0x600C0010, // 0015 GETGBL R3 G16
+ 0x6010000C, // 0016 GETGBL R4 G12
+ 0x5C140400, // 0017 MOVE R5 R2
+ 0x7C100200, // 0018 CALL R4 1
+ 0x04100938, // 0019 SUB R4 R4 K56
+ 0x40127004, // 001A CONNECT R4 K56 R4
+ 0x7C0C0200, // 001B CALL R3 1
+ 0xA8020010, // 001C EXBLK 0 #002E
+ 0x5C100600, // 001D MOVE R4 R3
+ 0x7C100000, // 001E CALL R4 0
+ 0x94140404, // 001F GETIDX R5 R2 R4
+ 0x5C180800, // 0020 MOVE R6 R4
+ 0x241C0D0A, // 0021 GT R7 R6 K10
+ 0x781E0008, // 0022 JMPF R7 #002C
+ 0x041C0D38, // 0023 SUB R7 R6 K56
+ 0x941C0407, // 0024 GETIDX R7 R2 R7
+ 0x241C0E05, // 0025 GT R7 R7 R5
+ 0x781E0004, // 0026 JMPF R7 #002C
+ 0x041C0D38, // 0027 SUB R7 R6 K56
+ 0x941C0407, // 0028 GETIDX R7 R2 R7
+ 0x98080C07, // 0029 SETIDX R2 R6 R7
+ 0x04180D38, // 002A SUB R6 R6 K56
+ 0x7001FFF4, // 002B JMP #0021
+ 0x98080C05, // 002C SETIDX R2 R6 R5
+ 0x7001FFEE, // 002D JMP #001D
+ 0x580C0014, // 002E LDCONST R3 K20
+ 0xAC0C0200, // 002F CATCH R3 1 0
+ 0xB0080000, // 0030 RAISE 2 R0 R0
+ 0x80040400, // 0031 RET 1 R2
})
)
);
@@ -6128,126 +3839,51 @@ be_local_closure(class_Matter_Device_MtrJoin, /* name */
** Solidified class: Matter_Device
********************************************************************/
be_local_class(Matter_Device,
- 34,
+ 22,
NULL,
- be_nested_map(115,
+ be_nested_map(79,
( (struct bmapnode*) &(const bmapnode[]) {
- { be_const_key_weak(start_commissioning_complete, 110), be_const_closure(class_Matter_Device_start_commissioning_complete_closure) },
- { be_const_key_weak(k2l_num, -1), be_const_static_closure(class_Matter_Device_k2l_num_closure) },
- { be_const_key_weak(remove_fabric, 17), be_const_closure(class_Matter_Device_remove_fabric_closure) },
- { be_const_key_weak(_mdns_announce_hostname, 36), be_const_closure(class_Matter_Device__mdns_announce_hostname_closure) },
- { be_const_key_weak(add_read_sensors_schedule, -1), be_const_closure(class_Matter_Device_add_read_sensors_schedule_closure) },
- { be_const_key_weak(every_second, 109), be_const_closure(class_Matter_Device_every_second_closure) },
- { be_const_key_weak(compute_qrcode_content, -1), be_const_closure(class_Matter_Device_compute_qrcode_content_closure) },
- { be_const_key_weak(commissioning_w0, -1), be_const_var(16) },
- { be_const_key_weak(msg_received, -1), be_const_closure(class_Matter_Device_msg_received_closure) },
- { be_const_key_weak(get_plugin_remote_info, -1), be_const_closure(class_Matter_Device_get_plugin_remote_info_closure) },
- { be_const_key_weak(attribute_updated, -1), be_const_closure(class_Matter_Device_attribute_updated_closure) },
- { be_const_key_weak(probe_sensor_timestamp, -1), be_const_var(33) },
- { be_const_key_weak(get_active_endpoints, 81), be_const_closure(class_Matter_Device_get_active_endpoints_closure) },
- { be_const_key_weak(commissioning_salt, -1), be_const_var(15) },
- { be_const_key_weak(autoconf_device, 84), be_const_closure(class_Matter_Device_autoconf_device_closure) },
- { be_const_key_weak(ipv4only, -1), be_const_var(28) },
- { be_const_key_weak(PASE_TIMEOUT, 37), be_const_int(600) },
- { be_const_key_weak(ui, 6), be_const_var(9) },
- { be_const_key_weak(every_50ms, -1), be_const_closure(class_Matter_Device_every_50ms_closure) },
- { be_const_key_weak(button_handler, -1), be_const_closure(class_Matter_Device_button_handler_closure) },
- { be_const_key_weak(autoconf_device_map, -1), be_const_closure(class_Matter_Device_autoconf_device_map_closure) },
- { be_const_key_weak(find_plugin_by_friendly_name, 86), be_const_closure(class_Matter_Device_find_plugin_by_friendly_name_closure) },
- { be_const_key_weak(debug, 95), be_const_var(31) },
- { be_const_key_weak(events, 52), be_const_var(11) },
- { be_const_key_weak(resolve_attribute_read_solo, -1), be_const_closure(class_Matter_Device_resolve_attribute_read_solo_closure) },
- { be_const_key_weak(update_remotes_info, -1), be_const_closure(class_Matter_Device_update_remotes_info_closure) },
- { be_const_key_weak(plugins_persist, -1), be_const_var(2) },
- { be_const_key_weak(button_multi_pressed, 98), be_const_closure(class_Matter_Device_button_multi_pressed_closure) },
- { be_const_key_weak(udp_server, 76), be_const_var(5) },
- { be_const_key_weak(message_handler, -1), be_const_var(7) },
- { be_const_key_weak(mdns_remove_PASE, -1), be_const_closure(class_Matter_Device_mdns_remove_PASE_closure) },
- { be_const_key_weak(plugins, -1), be_const_var(1) },
- { be_const_key_weak(invoke_request, 9), be_const_closure(class_Matter_Device_invoke_request_closure) },
- { be_const_key_weak(_init_basic_commissioning, -1), be_const_closure(class_Matter_Device__init_basic_commissioning_closure) },
- { be_const_key_weak(disable_bridge_mode, 11), be_const_var(29) },
- { be_const_key_weak(start_basic_commissioning, 77), be_const_closure(class_Matter_Device_start_basic_commissioning_closure) },
- { be_const_key_weak(sessions, -1), be_const_var(8) },
- { be_const_key_weak(get_plugin_class_arg, -1), be_const_closure(class_Matter_Device_get_plugin_class_arg_closure) },
- { be_const_key_weak(MtrInfo_one, 79), be_const_closure(class_Matter_Device_MtrInfo_one_closure) },
- { be_const_key_weak(start_mdns_announce_hostnames, -1), be_const_closure(class_Matter_Device_start_mdns_announce_hostnames_closure) },
- { be_const_key_weak(mdns_pase_wifi, -1), be_const_var(24) },
- { be_const_key_weak(commissioning_instance_wifi, -1), be_const_var(19) },
- { be_const_key_weak(mdns_announce_PASE, -1), be_const_closure(class_Matter_Device_mdns_announce_PASE_closure) },
- { be_const_key_weak(save_before_restart, 103), be_const_closure(class_Matter_Device_save_before_restart_closure) },
- { be_const_key_weak(autoconf_sensors_list, -1), be_const_closure(class_Matter_Device_autoconf_sensors_list_closure) },
- { be_const_key_weak(start_commissioning_complete_deferred, -1), be_const_closure(class_Matter_Device_start_commissioning_complete_deferred_closure) },
- { be_const_key_weak(next_ep, -1), be_const_var(30) },
- { be_const_key_weak(conf_to_log, -1), be_const_static_closure(class_Matter_Device_conf_to_log_closure) },
- { be_const_key_weak(process_attribute_expansion, -1), be_const_closure(class_Matter_Device_process_attribute_expansion_closure) },
- { be_const_key_weak(stop_basic_commissioning, -1), be_const_closure(class_Matter_Device_stop_basic_commissioning_closure) },
- { be_const_key_weak(clean_remotes, -1), be_const_closure(class_Matter_Device_clean_remotes_closure) },
- { be_const_key_weak(FILENAME, -1), be_nested_str_weak(_matter_device_X2Ejson) },
- { be_const_key_weak(UDP_PORT, -1), be_const_int(5540) },
- { be_const_key_weak(_start_udp, -1), be_const_closure(class_Matter_Device__start_udp_closure) },
- { be_const_key_weak(adjust_next_ep, -1), be_const_closure(class_Matter_Device_adjust_next_ep_closure) },
- { be_const_key_weak(find_plugin_by_endpoint, 64), be_const_closure(class_Matter_Device_find_plugin_by_endpoint_closure) },
- { be_const_key_weak(_instantiate_plugins_from_config, -1), be_const_closure(class_Matter_Device__instantiate_plugins_from_config_closure) },
- { be_const_key_weak(mdns_announce_op_discovery, -1), be_const_closure(class_Matter_Device_mdns_announce_op_discovery_closure) },
- { be_const_key_weak(is_commissioning_open, 74), be_const_closure(class_Matter_Device_is_commissioning_open_closure) },
- { be_const_key_weak(PRODUCT_ID, -1), be_const_int(32768) },
- { be_const_key_weak(init, 45), be_const_closure(class_Matter_Device_init_closure) },
- { be_const_key_weak(read_sensors_scheduler, 87), be_const_closure(class_Matter_Device_read_sensors_scheduler_closure) },
- { be_const_key_weak(bridge_remove_endpoint, 12), be_const_closure(class_Matter_Device_bridge_remove_endpoint_closure) },
- { be_const_key_weak(http_remotes, -1), be_const_var(25) },
- { be_const_key_weak(tick, -1), be_const_var(10) },
- { be_const_key_weak(bridge_add_endpoint, -1), be_const_closure(class_Matter_Device_bridge_add_endpoint_closure) },
- { be_const_key_weak(is_root_commissioning_open, -1), be_const_closure(class_Matter_Device_is_root_commissioning_open_closure) },
- { be_const_key_weak(_trigger_read_sensors, 96), be_const_closure(class_Matter_Device__trigger_read_sensors_closure) },
- { be_const_key_weak(MtrUpdate, -1), be_const_closure(class_Matter_Device_MtrUpdate_closure) },
- { be_const_key_weak(commissioning_open, -1), be_const_var(12) },
- { be_const_key_weak(generate_random_passcode, -1), be_const_closure(class_Matter_Device_generate_random_passcode_closure) },
- { be_const_key_weak(hostname_wifi, 78), be_const_var(21) },
- { be_const_key_weak(start_operational_discovery_deferred, -1), be_const_closure(class_Matter_Device_start_operational_discovery_deferred_closure) },
- { be_const_key_weak(save_param, -1), be_const_closure(class_Matter_Device_save_param_closure) },
- { be_const_key_weak(load_param, -1), be_const_closure(class_Matter_Device_load_param_closure) },
- { be_const_key_weak(commissioning_admin_fabric, -1), be_const_var(18) },
- { be_const_key_weak(compute_manual_pairing_code, 93), be_const_closure(class_Matter_Device_compute_manual_pairing_code_closure) },
- { be_const_key_weak(PASSCODE_INVALID, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
- be_const_list( * be_nested_list(12,
- ( (struct bvalue*) &(const bvalue[]) {
- be_const_int(0),
- be_const_int(11111111),
- be_const_int(22222222),
- be_const_int(33333333),
- be_const_int(44444444),
- be_const_int(55555555),
- be_const_int(66666666),
- be_const_int(77777777),
- be_const_int(88888888),
- be_const_int(99999999),
- be_const_int(12345678),
- be_const_int(87654321),
- })) ) } )) },
- { be_const_key_weak(VENDOR_ID, 68), be_const_int(65521) },
- { be_const_key_weak(mdns_remove_op_discovery_all_fabrics, 101), be_const_closure(class_Matter_Device_mdns_remove_op_discovery_all_fabrics_closure) },
- { be_const_key_weak(register_http_remote, -1), be_const_closure(class_Matter_Device_register_http_remote_closure) },
- { be_const_key_weak(commissioning_iterations, -1), be_const_var(13) },
- { be_const_key_weak(profiler, -1), be_const_var(6) },
- { be_const_key_weak(check_config_ep, -1), be_const_closure(class_Matter_Device_check_config_ep_closure) },
- { be_const_key_weak(commissioning_L, -1), be_const_var(17) },
- { be_const_key_weak(commissioning_discriminator, -1), be_const_var(14) },
- { be_const_key_weak(start, -1), be_const_closure(class_Matter_Device_start_closure) },
- { be_const_key_weak(button_pressed, -1), be_const_closure(class_Matter_Device_button_pressed_closure) },
- { be_const_key_weak(msg_send, 35), be_const_closure(class_Matter_Device_msg_send_closure) },
- { be_const_key_weak(mdns_announce_op_discovery_all_fabrics, 55), be_const_closure(class_Matter_Device_mdns_announce_op_discovery_all_fabrics_closure) },
- { be_const_key_weak(probe_sensor_time, 47), be_const_var(32) },
- { be_const_key_weak(get_plugin_class_displayname, 70), be_const_closure(class_Matter_Device_get_plugin_class_displayname_closure) },
- { be_const_key_weak(root_discriminator, -1), be_const_var(26) },
- { be_const_key_weak(signal_endpoints_changed, 4), be_const_closure(class_Matter_Device_signal_endpoints_changed_closure) },
- { be_const_key_weak(PBKDF_ITERATIONS, 58), be_const_int(1000) },
- { be_const_key_weak(event_fabrics_saved, -1), be_const_closure(class_Matter_Device_event_fabrics_saved_closure) },
- { be_const_key_weak(start_operational_discovery, -1), be_const_closure(class_Matter_Device_start_operational_discovery_closure) },
- { be_const_key_weak(stop, 51), be_const_closure(class_Matter_Device_stop_closure) },
- { be_const_key_weak(sort_distinct, -1), be_const_static_closure(class_Matter_Device_sort_distinct_closure) },
{ be_const_key_weak(received_ack, -1), be_const_closure(class_Matter_Device_received_ack_closure) },
- { be_const_key_weak(plugins_classes, 38), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
+ { be_const_key_weak(_start_udp, -1), be_const_closure(class_Matter_Device__start_udp_closure) },
+ { be_const_key_weak(plugins, -1), be_const_var(1) },
+ { be_const_key_weak(msg_send, -1), be_const_closure(class_Matter_Device_msg_send_closure) },
+ { be_const_key_weak(_instantiate_plugins_from_config, -1), be_const_closure(class_Matter_Device__instantiate_plugins_from_config_closure) },
+ { be_const_key_weak(message_handler, -1), be_const_var(7) },
+ { be_const_key_weak(event_fabrics_saved, -1), be_const_closure(class_Matter_Device_event_fabrics_saved_closure) },
+ { be_const_key_weak(save_before_restart, -1), be_const_closure(class_Matter_Device_save_before_restart_closure) },
+ { be_const_key_weak(probe_sensor_time, 1), be_const_var(20) },
+ { be_const_key_weak(conf_to_log, 50), be_const_static_closure(class_Matter_Device_conf_to_log_closure) },
+ { be_const_key_weak(init, -1), be_const_closure(class_Matter_Device_init_closure) },
+ { be_const_key_weak(ui, -1), be_const_var(10) },
+ { be_const_key_weak(root_passcode, -1), be_const_var(15) },
+ { be_const_key_weak(every_50ms, 22), be_const_closure(class_Matter_Device_every_50ms_closure) },
+ { be_const_key_weak(profiler, -1), be_const_var(6) },
+ { be_const_key_weak(disable_bridge_mode, -1), be_const_var(17) },
+ { be_const_key_weak(remove_fabric, -1), be_const_closure(class_Matter_Device_remove_fabric_closure) },
+ { be_const_key_weak(resolve_attribute_read_solo, 66), be_const_closure(class_Matter_Device_resolve_attribute_read_solo_closure) },
+ { be_const_key_weak(signal_endpoints_changed, -1), be_const_closure(class_Matter_Device_signal_endpoints_changed_closure) },
+ { be_const_key_weak(autoconf_device, 69), be_const_closure(class_Matter_Device_autoconf_device_closure) },
+ { be_const_key_weak(_trigger_read_sensors, -1), be_const_closure(class_Matter_Device__trigger_read_sensors_closure) },
+ { be_const_key_weak(get_active_endpoints, -1), be_const_closure(class_Matter_Device_get_active_endpoints_closure) },
+ { be_const_key_weak(button_handler, 37), be_const_closure(class_Matter_Device_button_handler_closure) },
+ { be_const_key_weak(debug, 3), be_const_var(19) },
+ { be_const_key_weak(stop, 43), be_const_closure(class_Matter_Device_stop_closure) },
+ { be_const_key_weak(adjust_next_ep, -1), be_const_closure(class_Matter_Device_adjust_next_ep_closure) },
+ { be_const_key_weak(add_read_sensors_schedule, 49), be_const_closure(class_Matter_Device_add_read_sensors_schedule_closure) },
+ { be_const_key_weak(button_pressed, -1), be_const_closure(class_Matter_Device_button_pressed_closure) },
+ { be_const_key_weak(register_http_remote, 53), be_const_closure(class_Matter_Device_register_http_remote_closure) },
+ { be_const_key_weak(root_discriminator, -1), be_const_var(14) },
+ { be_const_key_weak(start, 4), be_const_closure(class_Matter_Device_start_closure) },
+ { be_const_key_weak(MtrInfo_one, -1), be_const_closure(class_Matter_Device_MtrInfo_one_closure) },
+ { be_const_key_weak(autoconf_sensors_list, 40), be_const_closure(class_Matter_Device_autoconf_sensors_list_closure) },
+ { be_const_key_weak(get_plugin_class_displayname, -1), be_const_closure(class_Matter_Device_get_plugin_class_displayname_closure) },
+ { be_const_key_weak(plugins_config, -1), be_const_var(3) },
+ { be_const_key_weak(http_remotes, 11), be_const_var(13) },
+ { be_const_key_weak(get_plugin_remote_info, 58), be_const_closure(class_Matter_Device_get_plugin_remote_info_closure) },
+ { be_const_key_weak(UDP_PORT, -1), be_const_int(5540) },
+ { be_const_key_weak(tick, 46), be_const_var(11) },
+ { be_const_key_weak(clean_remotes, 72), be_const_closure(class_Matter_Device_clean_remotes_closure) },
+ { be_const_key_weak(plugins_classes, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
be_const_map( * be_nested_map(53,
( (struct bmapnode*) &(const bmapnode[]) {
{ be_const_key_weak(occupancy, -1), be_const_class(be_class_Matter_Plugin_Sensor_Occupancy) },
@@ -6304,20 +3940,44 @@ be_local_class(Matter_Device,
{ be_const_key_weak(rain, -1), be_const_class(be_class_Matter_Plugin_Sensor_Rain) },
{ be_const_key_weak(light0, -1), be_const_class(be_class_Matter_Plugin_Light0) },
})) ) } )) },
- { be_const_key_weak(mdns_remove_op_discovery, -1), be_const_closure(class_Matter_Device_mdns_remove_op_discovery_closure) },
- { be_const_key_weak(k2l, -1), be_const_static_closure(class_Matter_Device_k2l_closure) },
- { be_const_key_weak(plugins_config, -1), be_const_var(3) },
- { be_const_key_weak(hostname_eth, 33), be_const_var(22) },
- { be_const_key_weak(every_250ms, 28), be_const_closure(class_Matter_Device_every_250ms_closure) },
- { be_const_key_weak(register_commands, 21), be_const_closure(class_Matter_Device_register_commands_closure) },
- { be_const_key_weak(MtrInfo, 20), be_const_closure(class_Matter_Device_MtrInfo_closure) },
- { be_const_key_weak(root_passcode, -1), be_const_var(27) },
- { be_const_key_weak(start_root_basic_commissioning, -1), be_const_closure(class_Matter_Device_start_root_basic_commissioning_closure) },
- { be_const_key_weak(mdns_pase_eth, -1), be_const_var(23) },
- { be_const_key_weak(started, -1), be_const_var(0) },
- { be_const_key_weak(commissioning_instance_eth, 7), be_const_var(20) },
- { be_const_key_weak(plugins_config_remotes, -1), be_const_var(4) },
+ { be_const_key_weak(udp_server, -1), be_const_var(5) },
+ { be_const_key_weak(every_second, -1), be_const_closure(class_Matter_Device_every_second_closure) },
{ be_const_key_weak(MtrJoin, -1), be_const_closure(class_Matter_Device_MtrJoin_closure) },
+ { be_const_key_weak(button_multi_pressed, -1), be_const_closure(class_Matter_Device_button_multi_pressed_closure) },
+ { be_const_key_weak(k2l_num, -1), be_const_static_closure(class_Matter_Device_k2l_num_closure) },
+ { be_const_key_weak(probe_sensor_timestamp, -1), be_const_var(21) },
+ { be_const_key_weak(every_250ms, -1), be_const_closure(class_Matter_Device_every_250ms_closure) },
+ { be_const_key_weak(process_attribute_expansion, -1), be_const_closure(class_Matter_Device_process_attribute_expansion_closure) },
+ { be_const_key_weak(msg_received, 44), be_const_closure(class_Matter_Device_msg_received_closure) },
+ { be_const_key_weak(events, -1), be_const_var(12) },
+ { be_const_key_weak(VENDOR_ID, 63), be_const_int(65521) },
+ { be_const_key_weak(MtrInfo, -1), be_const_closure(class_Matter_Device_MtrInfo_closure) },
+ { be_const_key_weak(FILENAME, -1), be_nested_str_weak(_matter_device_X2Ejson) },
+ { be_const_key_weak(ipv4only, -1), be_const_var(16) },
+ { be_const_key_weak(commissioning, -1), be_const_var(8) },
+ { be_const_key_weak(load_param, -1), be_const_closure(class_Matter_Device_load_param_closure) },
+ { be_const_key_weak(sessions, 55), be_const_var(9) },
+ { be_const_key_weak(find_plugin_by_endpoint, -1), be_const_closure(class_Matter_Device_find_plugin_by_endpoint_closure) },
+ { be_const_key_weak(register_commands, -1), be_const_closure(class_Matter_Device_register_commands_closure) },
+ { be_const_key_weak(next_ep, -1), be_const_var(18) },
+ { be_const_key_weak(save_param, -1), be_const_closure(class_Matter_Device_save_param_closure) },
+ { be_const_key_weak(bridge_remove_endpoint, -1), be_const_closure(class_Matter_Device_bridge_remove_endpoint_closure) },
+ { be_const_key_weak(bridge_add_endpoint, 64), be_const_closure(class_Matter_Device_bridge_add_endpoint_closure) },
+ { be_const_key_weak(autoconf_device_map, -1), be_const_closure(class_Matter_Device_autoconf_device_map_closure) },
+ { be_const_key_weak(read_sensors_scheduler, -1), be_const_closure(class_Matter_Device_read_sensors_scheduler_closure) },
+ { be_const_key_weak(attribute_updated, -1), be_const_closure(class_Matter_Device_attribute_updated_closure) },
+ { be_const_key_weak(find_plugin_by_friendly_name, 41), be_const_closure(class_Matter_Device_find_plugin_by_friendly_name_closure) },
+ { be_const_key_weak(plugins_config_remotes, -1), be_const_var(4) },
+ { be_const_key_weak(plugins_persist, -1), be_const_var(2) },
+ { be_const_key_weak(sort_distinct, 32), be_const_static_closure(class_Matter_Device_sort_distinct_closure) },
+ { be_const_key_weak(started, 31), be_const_var(0) },
+ { be_const_key_weak(check_config_ep, -1), be_const_closure(class_Matter_Device_check_config_ep_closure) },
+ { be_const_key_weak(invoke_request, 14), be_const_closure(class_Matter_Device_invoke_request_closure) },
+ { be_const_key_weak(MtrUpdate, 13), be_const_closure(class_Matter_Device_MtrUpdate_closure) },
+ { be_const_key_weak(get_plugin_class_arg, -1), be_const_closure(class_Matter_Device_get_plugin_class_arg_closure) },
+ { be_const_key_weak(PRODUCT_ID, -1), be_const_int(32768) },
+ { be_const_key_weak(update_remotes_info, -1), be_const_closure(class_Matter_Device_update_remotes_info_closure) },
+ { be_const_key_weak(k2l, -1), be_const_static_closure(class_Matter_Device_k2l_closure) },
})),
be_str_weak(Matter_Device)
);