From bda53cb8c16f4a893b476cec0f105c59927d1f3b Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Wed, 7 Aug 2024 08:55:13 +0100 Subject: [PATCH] 2v24 --- data/espruino.json | 62 +- emu/emulator_banglejs1.js | 635 +++-- emu/emulator_banglejs2.js | 5528 +++++++++++++++++++------------------ 3 files changed, 3164 insertions(+), 3061 deletions(-) diff --git a/data/espruino.json b/data/espruino.json index 8a58f252..98b518c7 100644 --- a/data/espruino.json +++ b/data/espruino.json @@ -1050,6 +1050,16 @@ "!doc": "

Reads debug info. Exposes the current values of accHistoryIdx, accGestureCount, accIdleCount, pollInterval and others.

\n

Please see the declaration of this function for more information (click the ==> link above this description)

\n", "!url": "http://www.espruino.com/Reference#l_Bangle_dbg" }, + "touchWr": { + "!type": "fn(reg: number, data: number)", + "!doc": "

Writes a register on the touch controller

\n", + "!url": "http://www.espruino.com/Reference#l_Bangle_touchWr" + }, + "touchRd": { + "!type": "fn(reg: number, cnt: number) -> ?", + "!doc": "

Reads a register from the touch controller\nNote: On Espruino 2v06 and before this function only returns a number (cnt\nis ignored).

\n", + "!url": "http://www.espruino.com/Reference#l_Bangle_touchRd" + }, "accelWr": { "!type": "fn(reg: number, data: number)", "!doc": "

Writes a register on the accelerometer

\n", @@ -4650,6 +4660,56 @@ "!doc": "

Q2 and Q3 have all 4 pins connected to Jolt.js's GPIO (including those usually used for power).\nAs such only around 8mA of power can be supplied to any connected device.

\n

To use this as a normal Qwiic connector, run Q3.setPower(1)

\n", "!url": "http://www.espruino.com/Reference#l__global_Q3" }, + "Q": { + "!type": "?", + "!doc": "", + "!url": "http://www.espruino.com/Reference#l__global_Q" + }, + "SERVO": { + "!type": "+Pin", + "!doc": "", + "!url": "http://www.espruino.com/Reference#l__global_SERVO" + }, + "IRLED": { + "!type": "+Pin", + "!doc": "", + "!url": "http://www.espruino.com/Reference#l__global_IRLED" + }, + "IRL": { + "!type": "+Pin", + "!doc": "", + "!url": "http://www.espruino.com/Reference#l__global_IRL" + }, + "ML1": { + "!type": "+Pin", + "!doc": "", + "!url": "http://www.espruino.com/Reference#l__global_ML1" + }, + "ML2": { + "!type": "+Pin", + "!doc": "", + "!url": "http://www.espruino.com/Reference#l__global_ML2" + }, + "IRR": { + "!type": "+Pin", + "!doc": "", + "!url": "http://www.espruino.com/Reference#l__global_IRR" + }, + "MR1": { + "!type": "+Pin", + "!doc": "", + "!url": "http://www.espruino.com/Reference#l__global_MR1" + }, + "MR2": { + "!type": "+Pin", + "!doc": "", + "!url": "http://www.espruino.com/Reference#l__global_MR2" + }, + "led": { + "!type": "fn(col: ?)", + "!doc": "", + "!url": "http://www.espruino.com/Reference#l__global_led" + }, "BTNA": { "!type": "+Pin", "!doc": "

The pin connected to the 'A' button. Reads as 1 when pressed, 0 when not

\n", @@ -4897,7 +4957,7 @@ }, "setWatch": { "!type": "fn(function: ?, pin: +Pin, options: ?) -> ?", - "!doc": "

Call the function specified when the pin changes. Watches set with setWatch\ncan be removed using clearWatch.

\n

If the options parameter is an object, it can contain the following\ninformation (all optional):

\n
{\n   // Whether to keep producing callbacks, or remove the watch after the first callback\n   repeat: true/false(default),\n   // Trigger on the rising or falling edge of the signal. Can be a string, or 1='rising', -1='falling', 0='both'\n   edge:'rising'(default for built-in buttons)/'falling'/'both'(default for pins),\n   // Use software-debouncing to stop multiple calls if a switch bounces\n   // This is the time in milliseconds to wait for bounces to subside, or 0 to disable\n   debounce:10 (0 is default for pins, 25 is default for built-in buttons),\n   // Advanced: If the function supplied is a 'native' function (compiled or assembly)\n   // setting irq:true will call that function in the interrupt itself\n   irq : false(default)\n   // Advanced: If specified, the given pin will be read whenever the watch is called\n   // and the state will be included as a 'data' field in the callback\n   data : pin\n   // Advanced: On Nordic devices, a watch may be 'high' or 'low' accuracy. By default low\n   // accuracy is used (which is better for power consumption), but this means that\n   // high speed pulses (less than 25us) may not be reliably received. Setting hispeed=true\n   // allows for detecting high speed pulses at the expense of higher idle power consumption\n   hispeed : true\n}\n
\n

The function callback is called with an argument, which is an object of type\n{state:bool, time:float, lastTime:float}.

\n\n

For instance, if you want to measure the length of a positive pulse you could\nuse setWatch(function(e) { console.log(e.time-e.lastTime); }, BTN, { repeat:true, edge:'falling' });. This will only be called on the falling edge\nof the pulse, but will be able to measure the width of the pulse because\ne.lastTime is the time of the rising edge.

\n

Internally, an interrupt writes the time of the pin's state change into a queue\nwith the exact time that it happened, and the function supplied to setWatch is\nexecuted only from the main message loop. However, if the callback is a native\nfunction void (bool state) then you can add irq:true to options, which will\ncause the function to be called from within the IRQ. When doing this, interrupts\nwill happen on both edges and there will be no debouncing.

\n

Note: if you didn't call pinMode beforehand then this function will reset\npin's state to "input"

\n

Note: The STM32 chip (used in the Espruino Board and\nPico) cannot watch two pins with the same number - e.g. A0 and B0.

\n

Note: On nRF52 chips (used in Puck.js, Pixl.js, MDBT42Q) setWatch disables\nthe GPIO output on that pin. In order to be able to write to the pin again you\nneed to disable the watch with clearWatch.

\n", + "!doc": "

Call the function specified when the pin changes. Watches set with setWatch\ncan be removed using clearWatch.

\n

If the options parameter is an object, it can contain the following\ninformation (all optional):

\n
{\n   // Whether to keep producing callbacks, or remove the watch after the first callback\n   repeat: true/false(default),\n   // Trigger on the rising or falling edge of the signal. Can be a string, or 1='rising', -1='falling', 0='both'\n   edge:'rising'(default for built-in buttons)/'falling'/'both'(default for pins),\n   // Use software-debouncing to stop multiple calls if a switch bounces\n   // This is the time in milliseconds to wait for bounces to subside, or 0 to disable\n   debounce:10 (0 is default for pins, 25 is default for built-in buttons),\n   // Advanced: If the function supplied is a 'native' function (compiled or assembly)\n   // setting irq:true will call that function in the interrupt itself\n   irq : false(default)\n   // Advanced: If specified, the given pin will be read whenever the watch is called\n   // and the state will be included as a 'data' field in the callback (`debounce:0` is required)\n   data : pin\n   // Advanced: On Nordic devices, a watch may be 'high' or 'low' accuracy. By default low\n   // accuracy is used (which is better for power consumption), but this means that\n   // high speed pulses (less than 25us) may not be reliably received. Setting hispeed=true\n   // allows for detecting high speed pulses at the expense of higher idle power consumption\n   hispeed : true\n}\n
\n

The function callback is called with an argument, which is an object of type\n{state:bool, time:float, lastTime:float}.

\n\n

For instance, if you want to measure the length of a positive pulse you could\nuse setWatch(function(e) { console.log(e.time-e.lastTime); }, BTN, { repeat:true, edge:'falling' });. This will only be called on the falling edge\nof the pulse, but will be able to measure the width of the pulse because\ne.lastTime is the time of the rising edge.

\n

Internally, an interrupt writes the time of the pin's state change into a queue\nwith the exact time that it happened, and the function supplied to setWatch is\nexecuted only from the main message loop. However, if the callback is a native\nfunction void (bool state) then you can add irq:true to options, which will\ncause the function to be called from within the IRQ. When doing this, interrupts\nwill happen on both edges and there will be no debouncing.

\n

Note: if you didn't call pinMode beforehand then this function will reset\npin's state to "input"

\n

Note: The STM32 chip (used in the Espruino Board and\nPico) cannot watch two pins with the same number - e.g. A0 and B0.

\n

Note: On nRF52 chips (used in Puck.js, Pixl.js, MDBT42Q) setWatch disables\nthe GPIO output on that pin. In order to be able to write to the pin again you\nneed to disable the watch with clearWatch.

\n", "!url": "http://www.espruino.com/Reference#l__global_setWatch" }, "clearWatch": { diff --git a/emu/emulator_banglejs1.js b/emu/emulator_banglejs1.js index 82449e03..b922acff 100644 --- a/emu/emulator_banglejs1.js +++ b/emu/emulator_banglejs1.js @@ -711,13 +711,13 @@ function initActiveSegments(imports) { base64DecodeToExistingUint8Array(bufferView, 93600, "KKooYmFjayl7rXNldHRpbmdzPU9iamVjdC5hc3NpZ24oe3Nob3dDb25maXJtOrQsc2hvd0F1dG9Tbm9vemU6tCxzaG93SGlkZGVuOrR9LHJlcXVpcmUo0QdTdG9yYWdlKS5yZWFkSlNPTijRCmFsYXJtLmpzb24sMSmge30pO65zYXZlPSgponJlcXVpcmUo0QdTdG9yYWdlKS53cml0ZSjRCmFsYXJtLmpzb24sc2V0dGluZ3MpO65EQVRFX0ZPUk1BVFM9W9EHZGVmYXVsdCzRBG1tZGRdO65EQVRFX0ZPUk1BVFNfTEFCRUxTPVvRB0RlZmF1bHQs0QRNTUREXTuuYXBwTWVudT17Jyc6e3RpdGxlOtEFYWxhcm19LNEGPCBCYWNrOmJhY2ss0RBNZW51IERhdGUgRm9ybWF0Ont2YWx1ZTpEQVRFX0ZPUk1BVFMuaW5kZXhPZihzZXR0aW5ncy5tZW51RGF0ZUZvcm1hdKDRB2RlZmF1bHQpLGZvcm1hdDp2okRBVEVfRk9STUFUU19MQUJFTFNbdl0sbWluOjAsbWF4OkRBVEVfRk9STUFUUy5sZW5ndGgtMSxvbmNoYW5nZTp2onujKHY+MCl7c2V0dGluZ3MubWVudURhdGVGb3JtYXQ9REFURV9GT1JNQVRTW3ZdO32ke75zZXR0aW5ncy5tZW51RGF0ZUZvcm1hdDt9c2F2ZSgpO319LNEVU2hvdyBNZW51IEF1dG8gU25vb3plOnt2YWx1ZTohIXNldHRpbmdzLnNob3dBdXRvU25vb3plLG9uY2hhbmdlOnaie3NldHRpbmdzLnNob3dBdXRvU25vb3plPXY7c2F2ZSgpO319LNERU2hvdyBNZW51IENvbmZpcm06e3ZhbHVlOiEhc2V0dGluZ3Muc2hvd0NvbmZpcm0sb25jaGFuZ2U6dqJ7c2V0dGluZ3Muc2hvd0NvbmZpcm09djtzYXZlKCk7fX0s0RBTaG93IE1lbnUgSGlkZGVuOnt2YWx1ZTohIXNldHRpbmdzLnNob3dIaWRkZW4sb25jaGFuZ2U6dqJ7c2V0dGluZ3Muc2hvd0hpZGRlbj12O3NhdmUoKTt9fSzRD1Nob3cgTWVudSBHcm91cDp7dmFsdWU6ISFzZXR0aW5ncy5zaG93R3JvdXAsb25jaGFuZ2U6dqJ7c2V0dGluZ3Muc2hvd0dyb3VwPXY7c2F2ZSgpO319LNESU2hvdyBUZXh0IE92ZXJmbG93Ont2YWx1ZTohIXNldHRpbmdzLnNob3dPdmVyZmxvdyxvbmNoYW5nZTp2ontzZXR0aW5ncy5zaG93T3ZlcmZsb3c9djtzYXZlKCk7fX0sfTtFLnNob3dNZW51KGFwcE1lbnUpO30pO8YAAABhbGFybS5pbmZv"); base64DecodeToExistingUint8Array(bufferView, 94680, "eyJpZCI6ImFsYXJtIiwibmFtZSI6IkFsYXJtcyIsInNyYyI6ImFsYXJtLmFwcC5qcyIsImljb24iOiJhbGFybS5pbWciLCJ2ZXJzaW9uIjoiMC40OCIsInRhZ3MiOiJ0b29sLGFsYXJtIiwiZmlsZXMiOiJhbGFybS5pbmZvLGFsYXJtLmFwcC5qcyxhbGFybS5pbWcsYWxhcm0uc2V0dGluZ3MuanMiLCJkYXRhIjoiYWxhcm0uc2V0dGluZ3MuanNvbiJ9//8="); base64DecodeToExistingUint8Array(bufferView, 94889, "AQEBAQE="); - base64DecodeToExistingUint8Array(bufferView, 94912, "AQYEAAILCQQAAAwHAAgDAQMDAwMDAwMDAwMAAA8QEQUAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAANAgQCAgICAgICAgICAgICAgICAgICAgICAgICAgAKDv8Ae30AeyVzfQBmdW5jdGlvbiBlKGEsYil7dm9pZCAwPT09YiYmKGI9MSk7cmV0dXJuIGEudG9GaXhlZChNYXRoLm1pbihiLGItTWF0aC5mbG9vcihNYXRoLmxvZyhhKS9NYXRoLmxvZygxMCkpKSl9ZXhwb3J0cz17bmFtZToic3lzdGVtIixjdXJyZW5jeVN5bToiXHhhMyIsdHJhbnNsYXRlOmE9PmEsZGF0ZTooYSxiKT0+Yj8oIjAiK2EuZ2V0RGF0ZSgpKS5zdWJzdHIoLTIpKyIvIisoIjAiKyhhLmdldE1vbnRoKCkrMSkpLnN1YnN0cigtMikrIi8iK2EuZ2V0RnVsbFllYXIoKTphLnRvU3RyaW5nKCkuc3Vic3RyKDQsMTEpLnRyaW0oKSx0aW1lOihhLGIpPT57dmFyIGM9YS5nZXRIb3VycygpLGQ9YS5nZXRNaW51dGVzKCk7KHJlcXVpcmUoIlN0b3JhZ2UiKS5yZWFkSlNPTigic2V0dGluZy5qc29uIiwxKXx8e30pWyIxMmhvdXIiXSYmKGM9MD09YyUxMj8xMjpjJTEyKTtpZihiKXJldHVybigiICIrYykuc3Vic3RyKC0yKSsiOiIrKCIwIitkKS5zdWJzdHIoLTIpOwpiPSJhbSI7MD09Yz9jPTEyOjEyPD1jJiYoMTI8YyYmKGMtPTEyKSxiPSJwbSIpO3JldHVybigiICIrYykuc3Vic3RyKC0yKSsiOiIrKCIwIitkKS5zdWJzdHIoLTIpKyIuIisoIjAiK2EuZ2V0U2Vjb25kcygpKS5zdWJzdHIoLTIpKyIgIitifSxkb3c6KGEsYik9PiJTdW5kYXkgTW9uZGF5IFR1ZXNkYXkgV2VkbmVzZGF5IFRodXJzZGF5IEZyaWRheSBTYXR1cmRheSIuc3BsaXQoIiAiKVthLmdldERheSgpXS5zdWJzdHIoMCxiPzM6MTApLG1vbnRoOihhLGIpPT4iSmFudWFyeSBGZWJydWFyeSBNYXJjaCBBcHJpbCBNYXkgSnVuZSBKdWx5IEF1Z3VzdCBTZXB0ZW1iZXIgT2N0b2JlciBOb3ZlbWJlciBEZWNlbWJlciIuc3BsaXQoIiAiKVthLmdldE1vbnRoKCldLnN1YnN0cigwLGI/MzoxMCksbnVtYmVyOihhLGIpPT57bnVsbD09YiYmKGI9Mik7dmFyIGM9YS50b0ZpeGVkKGIpLGQ9Y3wwO2E9MD5hPzE6MDtiPSgiIitNYXRoLmFicyhjLWQpLnRvRml4ZWQoYikpLnN1YnN0cigyLGIpO2Q9CiIiK2Q7Yz1kLmxlbmd0aDtmb3IodmFyIGY9IiI7KGMtPTMpPmE7KWY9IiwiK2Quc3Vic3RyKGMsMykrZjtyZXR1cm4gZC5zdWJzdHIoMCxjKzMpK2YrKGI/Ii4iK2I6IiIpfSxjdXJyZW5jeTphPT57Y29uc29sZS5sb2coIldhcm5pbmc6IEN1cnJlbmN5IGluZm9ybWF0aW9uIGlzIGRlcHJlY2F0ZWQiKTtyZXR1cm4iXHhhMyIrYS50b0ZpeGVkKDIpfSxkaXN0YW5jZTooYSxiKT0+MUUzPmE/ZShhLGIpKyJtIjplKGEvMUUzLGIpKyJrbSIsc3BlZWQ6KGEsYik9PmUoYS8xLjYwOTM0LGIpKyJtcGgiLHRlbXA6KGEsYik9PmUoYSxiKSsiJ0MiLG1lcmlkaWFuOmE9PjEyPj1hLmdldEhvdXJzKCk/ImFtIjoicG0ifQB7IFtuYXRpdmUgY29kZV0gfQAKfQAvLVx8AHsAdHoARnJlcXVlbmN5IG11c3QgYmUgYWJvdmUgMC4wMDFIegAjb25wYXJpdHkALUluZmluaXR5AGhpc3RvcnkATWF4aW11bSBudW1iZXIgb2YgcG9pbnRzICglZCkgZXhjZWVkZWQgZm9yIGZpbGxQb2x5AEFTQ0lJIG9ubHkAaW5hbGx5AFRoaXJkIGFyZ3VtZW50IHNob3VsZCBiZSBhIGZ1bmN0aW9uIG9yIGFycmF5AFVpbnQ4Q2xhbXBlZEFycmF5AFVpbnQ4QXJyYXkASW50OEFycmF5AFVpbnQxNkFycmF5AEludDE2QXJyYXkARmxvYXQ2NEFycmF5AFVpbnQyNEFycmF5AFVpbnQzMkFycmF5AEludDMyQXJyYXkARmxvYXQzMkFycmF5AGRheQB0eAByeAD/Z2Z4AGludGVybGVhdmV4AGluZGV4AGxhc3RJbmRleABhY2NIaXN0b3J5SWR4AFVuZmluaXNoZWQgY2hhcmFjdGVyIHNldCBpbiBSZWdFeABocm93AHRlbnNvcmZsb3cAVG9vIG11Y2ggcmVjdXJzaW9uIC0gdGhlIHN0YWNrIGlzIGFib3V0IHRvIG92ZXJmbG93AFVuYWJsZSB0byBhbGxvY2F0ZSBlbm91Z2ggUkFNIGZvciBUZW5zb3JGbG93AHN0ZXBDb3VudGVyVGhyZXNob2xkTG93AEFycmF5QnVmZmVyVmlldy5zdWJhcnJheSBjYW4gb25seSBiZSBjYWxsZWQgb24gYW4gQXJyYXlCdWZmZXJWaWV3AENhbiBvbmx5IGJlIGNhbGxlZCBvbiBhbiBBcnJheUJ1ZmZlclZpZXcARGF0YVZpZXcAI29uSFJNLWVudgBcdgBzZXRGb250JXYAI29uJXYAJXYuJXYAZGF0YTppbWFnZS9ibXA7YmFzZTY0LCV2AGZ1bmN0aW9uICV2AFVua25vd24gV2F0Y2ggJXYAJXY6ICV2AFVuaGFuZGxlZCBwcm9taXNlIHJlamVjdGlvbjogJXYARmFpbGVkIHRvIGFsbG9jYXRlIHRlbXAgbWVtb3J5LiBSZXF1ZXN0ZWQ6ICV1LCBhdmFpbGFibGUgJXUsIG1pc3Npbmc6ICV1AEZhaWxlZCB0byBhbGxvY2F0ZSB0YWlsIG1lbW9yeS4gUmVxdWVzdGVkOiAldSwgYXZhaWxhYmxlICV1LCBtaXNzaW5nOiAldQBGYWlsZWQgdG8gYWRqdXN0IGhlYWQgc2l6ZS4gUmVxdWVzdGVkOiAldSwgYXZhaWxhYmxlICV1LCBtaXNzaW5nOiAldQBuZXh0AGFmX291dHB1dABpbnB1dABVbmV4cGVjdGVkIGVuZCBvZiBJbnB1dAB0aW1lb3V0AHR3aXN0VGltZW91dABiYWNrbGlnaHRUaW1lb3V0AGxjZFBvd2VyVGltZW91dABsb2NrVGltZW91dABidG5Mb2FkVGltZW91dAAuYm9vdHJzdABvbnN0ACNvbnR3aXN0AHdha2VPblR3aXN0AGRzdABsYXN0AHBvcnQAZXhjZXB0AGNvdW50AHRyYXNoQ291bnQAZ2VzdHVyZUluYWN0aXZlQ291bnQAYWNjR2VzdHVyZUNvdW50AGZpbGVDb3VudABhY2NJZGxlQ291bnQAaW1hZ2VDb3VudABmcm9udABzZXRGb250AGFmZmluZV9xdWFudGl6YXRpb24tPnplcm9fcG9pbnQAb3V0cHV0LT5wYXJhbXMuemVyb19wb2ludAB0cmFuc3BhcmVudABFeHBlY3RlZCBlaXRoZXIgYW4gb2JqZWN0IG9yIGFuIGFycmF5IHdpdGggNiBlbnRyaWVzIGZvciBzZWNvbmQgYXJndW1lbnQAbW92ZW1lbnQAQXNzaWdubWVudCB0byBhIGNvbnN0YW50AE5vdCBlbm91Z2ggbWVtb3J5IGZvciByZXN1bHQAZWZhdWx0ACNvbmluaXQAb25Jbml0AGRyYWluV2FpdAByaWdodAAjb25taWRuaWdodAAjb25iYWNrbGlnaHQAaGVpZ2h0AG1heEltYWdlSGVpZ2h0AHNvZnQAZm9yY2VTb2Z0AGxlZnQAcHJvcGVydGllc09iamVjdCBpcyBub3Qgc3VwcG9ydGVkIHlldABTb2Z0d2FyZSBTZXJpYWwgQ0sgbm90IGltcGxlbWVudGVkIHlldABvZmZzZXQAYnl0ZU9mZnNldABnZXQAZGlyZWN0AG9iamVjdABPYmplY3QAZmlsbFJlY3QAaUZpbGxSZWN0AGZsb2F0AEZsYXQAcmVwZWF0AP9jYXQAXHQARmlyc3QgYXJndW1lbnQgbXVzdCBiZSBBcnJheSwgbm90ICV0AEV4cGVjdGluZyBvcHRpb25zIHRvIGJlIHVuZGVmaW5lZCBvciBhbiBPYmplY3QsIG5vdCAldABGT1IgbG9vcCBjYW4gb25seSBpdGVyYXRlIG92ZXIgQXJyYXlzLCBTdHJpbmdzIG9yIE9iamVjdHMsIG5vdCAldABmb3IoYSAlcyBiKSAtICdhJyBtdXN0IGJlIGEgdmFyaWFibGUgbmFtZSwgbm90ICV0AEZpcnN0IGFyZ3VtZW50IG11c3QgaXRlcmFibGUsIG5vdCAldABFeHBlY3RpbmcgQ2FsbGJhY2sgRnVuY3Rpb24gb3IgYW4gT2JqZWN0IGJ1dCBnb3QgJXQARXhwZWN0aW5nIE51bWJlciBvciBBcnJheSwgZ290ICV0AEZpcnN0IGFyZ3VtZW50IG11c3QgYmUgT2JqZWN0LCBGdW5jdGlvbiBvciBBcnJheSwgZ290ICV0AEV4cGVjdGluZyBTdHJpbmcgb3IgQXJyYXksIGdvdCAldABFeHBlY3RpbmcgU3RyaW5nIGFzIGZpcnN0IGFyZ3VtZW50LCBnb3QgJXQAUHJvdG90eXBlIHNob3VsZCBiZSBhbiBvYmplY3QsIGdvdCAldABFeHBlY3RpbmcgT2JqZWN0LCBnb3QgJXQARmlyc3QgYXJndW1lbnQgbXVzdCBiZSBPYmplY3QsIGdvdCAldABTZWNvbmQgYXJndW1lbnQgbXVzdCBiZSBPYmplY3QsIGdvdCAldABQcm9wZXJ0eSBkZXNjcmlwdGlvbiBtdXN0IGJlIE9iamVjdCwgZ290ICV0AEFkZHJlc3Mgc2hvdWxkIGJlIGFuIGludGVnZXIsIGdvdCAldABFeHBlY3RpbmcgQXJyYXlCdWZmZXIsIGdvdCAldABGdW5jdGlvbi5iaW5kIGV4cGVjdHMgdG8gYmUgY2FsbGVkIG9uIGZ1bmN0aW9uLCBnb3QgJXQARXhwZWN0aW5nIGZ1bmN0aW9uLCBnb3QgJXQARXhwZWN0aW5nIGNvbXBhcmUgZnVuY3Rpb24sIGdvdCAldAAnZXh0ZW5kcycgYXJndW1lbnQgJXEgc2hvdWxkIGJlIGEgZnVuY3Rpb24sIGdvdCAldABFeHBlY3RpbmcgbW9kdWxlIG5hbWUgYXMgYSBzdHJpbmcsIGdvdCAldABFeHBlY3RpbmcgU3RyaW5nLCBnb3QgJXQARXhwZWN0aW5nIE51bWJlciBvciBpdGVyYWJsZSwgZ290ICV0AEV4cGVjdGluZyBzb21ldGhpbmcgaXRlcmFibGUsIGdvdCAldABTZWNvbmQgYXJndW1lbnQgdG8gRnVuY3Rpb24uYXBwbHkgbXVzdCBiZSBpdGVyYWJsZSwgZ290ICV0AEV4cGVjdGluZyBPYmplY3Qgb3IgdW5kZWZpbmVkLCBnb3QgJXQARXhwZWN0aW5nIGZ1bmN0aW9uIG9uIFJIUywgZ290ICV0AENvbnN0cnVjdG9yIHNob3VsZCBiZSBhIGZ1bmN0aW9uLCBidXQgaXMgJXQARmllbGQgb3IgbWV0aG9kICVxIGRvZXMgbm90IGFscmVhZHkgZXhpc3QsIGFuZCBjYW4ndCBjcmVhdGUgaXQgb24gJXQAVW5zdXBwb3J0ZWQgZmlyc3QgYXJndW1lbnQgb2YgdHlwZSAldABVbmFibGUgdG8gYXNzaWduIHZhbHVlIHRvIG5vbi1yZWZlcmVuY2UgJXQAQ2FuJ3QgZXh0ZW5kICV0AEV4cGVjdGluZyBmaXJzdCAyIGFyZ3VtZW50cyB0byBiZSBpdGVyYWJsZSwgbm90ICV0IGFuZCAldABFeHBlY3RpbmcgZmlyc3QgMiBhcmd1bWVudHMgdG8gYmUgaXRlcmFibGUgb3IgdW5kZWZpbmVkLCBub3QgJXQgYW5kICV0AENhbid0IHVzZSAnaW4nIG9wZXJhdG9yIHRvIHNlYXJjaCBhICV0AE9iamVjdCBwcm90b3R5cGUgbWF5IG9ubHkgYmUgYW4gT2JqZWN0IG9yIG51bGw6ICV0ACwgcmVwZWF0ICUwOGQgdXMAZXhwb3J0cwBFLnN0b3BFdmVudFByb3BhZ2F0aW9uKCkgY2FsbGVkIHdoZW4gbm90IGhhbmRsaW5nIGV2ZW50cwBJbnN1ZmZpY2llbnQgc3RhY2sgZm9yIHRoaXMgbWFueSBhcmd1bWVudHMAVW5leHBlY3RlZCBhcmd1bWVudHMAbnVtX291dHB1dF9lbGVtZW50cwBudW1faW5wdXRfZWxlbWVudHMAUGFsZXR0ZSBzcGVjaWZpZWQsIGJ1dCBtdXN0IGJlIGEgZmxhdCBVaW50MTZBcnJheSBvZiAyLDQsOCwxNiwyNTYgZWxlbWVudHMAc3RvcGJpdHMASW52YWxpZCBudW1iZXIgb2YgYml0cwBjdHMAYWRkcmVzcwBwcm9jZXNzAGNvbXBhc3MAQ2FsbGluZyAnc3VwZXInIG91dHNpZGUgb2YgY2xhc3MAZXJyb3JzAGNvbG9yX29yZGVyIG11c3QgYmUgMyBjaGFyYWN0ZXJzAHRpbWVycwBGaXJzdCAyIGFyZ3VtZW50cyBzaG91bGQgYmUgYXJyYXkgYnVmZmVycwB2ZXJ0aWNhbF9ieXRlIG9ubHkgd29ya3MgZm9yIDFicHAgQXJyYXlCdWZmZXJzAHVucmVuZGVyYWJsZUNoYXJzAHN0ZXBzAF9vcHRpb25zAEludmFsaWQgb3B0aW9ucwBmdW5jdGlvbnMAQ29weXJpZ2h0IDIwMjEgRy5XaWxsaWFtcwBudW1fY2hhbm5lbHMAanMAdGhpcwD/dGhzAGFyZ3MAZmxhZ3MAdG90YWxCeXRlcwB0cmFzaEJ5dGVzAGZpbGVCeXRlcwBmcmVlQnl0ZXMA/3JlcwBwaXBlcwBmcmFtZXMAbW9kdWxlcwBFeHBlY3RpbmcgQXJyYXkgZm9yIGZpcnN0IGFyZ3VtZW50IHdpdGggPCVkIGVudHJpZXMAd2F0Y2hlcwBDYW4ndCBoYXZlIHBhbGV0dGUgb24gPjggYml0IGltYWdlcwBzZXRDb25zb2xlIGNhbid0IGJlIHVzZWQgb24gJ3NvZnQnIG9yIG5vbi1TZXJpYWwgZGV2aWNlcwBzZXRDb25zb2xlIGNhbid0IGJlIHVzZWQgb24gJ3NvZnQnIGRldmljZXMAbm9ib3VuZHMARGF0ZSBvdXQgb2YgYm91bmRzAHh0ZW5kcwBHcmFwaGljcwBBRENzACV2JXMAJXElcwAlUSVzAElEOiVzAEV4cGVjdGluZyB2YWxpZCB2YWx1ZSwgZ290ICVzAERpZCBub3QgZmluZCBhIHBhcnNlciBmb3IgJXMAQm9vbCAlcwBDYW4ndCByZWFkIHByb3BlcnR5ICclcycgb2YgJXMARmFpbGVkIHRvIHJlZ2lzdGVyIHNjcmF0Y2ggYnVmZmVyIGhhbmRsZSBmb3Igbm9kZSAlcwBHb3QgJXMgZXhwZWN0ZWQgJXMASTJDIEVycm9yOiAlcwByZWN1cgBwYXJhbXMgIT0gbnVsbHB0cgBwbGFubmVyX2FyZW5hICE9IG51bGxwdHIAaW50cgB4b3IAVmFyaWFibGVzIG9mIHR5cGUgJXQgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gZGF0ZSBjb25zdHJ1Y3RvcgBGdW5jdGlvbiByZXF1aXJlZCBpbiBwcm9taXNlIGNvbnN0cnVjdG9yAFZlY3RvcgAub2ZmIG5vdCBpbXBsZW1lbnRlZCBvbiBlbXVsYXRvcgBVbmFibGUgdG8gZ2V0IHRlbnNvcgBTeW50YXhFcnJvcgBJbnRlcm5hbEVycm9yAFR5cGVFcnJvcgBSZWZlcmVuY2VFcnJvcgBkaXIAYmdyACNvbmxjZFBvd2VyAGNlbnRlcgBmaWx0ZXIAVEZNaWNyb0ludGVycHJldGVyAHVwZXIAVW5hYmxlIHRvIHNjaGVkdWxlIGEgdGltZXIAVGltZW91dCBvbiBVdGlsaXR5IFRpbWVyAEludGVycnVwdGVkIGluIFV0aWxpdHkgVGltZXIAZWJ1Z2dlcgBGb250IHdpZHRoIG11c3QgYmUgYSBTdHJpbmcgb3IgYW4gaW50ZWdlcgBJbnRlZ2VyACNvbmJ1ZmZlcgAuYnVmZmVyAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGFsbG9jYXRlIG9mZnNjcmVlbiBidWZmZXIATW9kZWwgaXMgbm90IGEgRmxhdCBTdHJpbmcvQXJyYXlCdWZmZXIASW52YWxpZCBsZW5ndGggZm9yIEFycmF5QnVmZmVyAHVua25vd24gQXJyYXlCdWZmZXIAY3VycmVudEJ1ZmZlcgBkb3VibGVCdWZmZXIAY29sb3Jfb3JkZXIAU3RyaW5nIHRvbyBiaWcgdG8gY29udmVydCB0byBudW1iZXIAUHVsc2UgVGltZSBpcyBsZXNzIHRoYW4gMCBvciBub3QgYSBudW1iZXIATnVtYmVyAGFkZHIAZ2JyAEpzVmFyAFxyAGlycQBmcmVxACVxJXMlcQBJbnZhbGlkIE9uZVdpcmUgZGV2aWNlIGFkZHJlc3MgJXEAVW5rbm93biBvcHRpb24gJXEAVW5rbm93biBvcCB0eXBlICVxAFVua25vd24gZGV2aWNlIHR5cGUgJXEAVW5rbm93biByYW5nZSBuYW1lICVxAFVuYWJsZSB0byBsb2FkIG1vZHVsZSAlcQAlc1N0cmluZyBbJWQgYmxvY2tzXSAlcQBJbnZhbGlkIGZsb3cgY29udHJvbDogJXEAUmVnRXhwAGlucHV0X3B1bGx1cABvcGVuZHJhaW5fcHVsbHVwAGJwcABzdG9wAENPTlRJTlVFIHN0YXRlbWVudCBvdXRzaWRlIG9mIEZPUiBvciBXSElMRSBsb29wAEJSRUFLIHN0YXRlbWVudCBvdXRzaWRlIG9mIFNXSVRDSCwgRk9SIG9yIFdISUxFIGxvb3AAZmxpcAAjb25zdGVwAGJlZXAAI29udGFwAHNldEZvbnRCaXRtYXAAd2FrZU9uRG91YmxlVGFwACNvbmZhY2VVcAB3YWtlT25GYWNlVXAAYXV0bwBtaXNvAGJhcm8A/3NjbwBMaW1ibwD/bgBpbnB1dF9wdWxsZG93bgD/cnRuAGV0dXJuAHhvbgBidXR0b24Ac2V0dGluZy5qc29uAGxvbgAjb251bmNhdWdodEV4Y2VwdGlvbgBpcnE9dHJ1ZSBzZXQsIGJ1dCBmdW5jdGlvbiBpcyBub3QgYSBuYXRpdmUgZnVuY3Rpb24ARWRpdCBzaG91bGQgYmUgY2FsbGVkIHdpdGggdGhlIG5hbWUgb2YgYSBmdW5jdGlvbgBDYW4gb25seSB1c2UgJ2FyZ3VtZW50cycgdmFyaWFibGUgaW5zaWRlIGEgZnVuY3Rpb24ARmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uAEFyZ3VtZW50IHNob3VsZCBiZSBhIGZ1bmN0aW9uAEZ1bmN0aW9uAGFmZmluZV9xdWFudGl6YXRpb24Aa1RmTGl0ZUFmZmluZVF1YW50aXphdGlvbgBWYXJpYWJsZSB0eXBlICV0IG5vdCBzdWl0ZWQgdG8gdHJhbnNtaXQgb3BlcmF0aW9uAGRlc3RpbmF0aW9uACNvbgBJbnZhbGlkIHBpbgAxMG1pbgBhZl9vcGVuZHJhaW4AUGluAP90aG4Ac2V0Rm9udEFsaWduAGV2ZW4AdGhlbgBib29sZWFuAFxuAC5ib290UG93ZXJPbgBudW0AVG9vIG1hbnkgcGlucyEgJWQgTWF4aW11bQBXYXZlZm9ybQBGdW5jdGlvbiBtYXJrZWQgd2l0aCAiY29tcGlsZWQiIHVwbG9hZGVkIGluIHNvdXJjZSBmb3JtAGJvdHRvbQBzZXRGb250Q3VzdG9tAHByb20Ac3RyZXRjaF9kaW0AcmFtAP9uYW0AcmVzbABib29sAGNsa1BvbABudWxsACNvbmtpbGwAc2V0UGl4ZWwAQ2FuJ3QgdXNlIGZsb29kRmlsbCBvbiBHcmFwaGljcyB3aXRoIG5vIGdldFBpeGVsAGlTZXRQaXhlbABjaGFubmVsAC50Zm1vZGVsAE1pY3JvQWxsb2NhdG9yOiBNb2RlbCBhbGxvY2F0aW9uIGZpbmlzaGVkIGJlZm9yZSBzdGFydGluZyBhbGxvY2F0aW5nIG1vZGVsAE1pY3JvQWxsb2NhdG9yOiBNb2RlbCBhbGxvY2F0aW9uIHN0YXJ0ZWQgYmVmb3JlIGZpbmlzaGluZyBwcmV2aW91c2x5IGFsbG9jYXRlZCBtb2RlbAAjb25hY2NlbABzY2wA/3ZhbABJbnZhbGlkIGludGVydmFsAHBvbGxJbnRlcnZhbABVbmtub3duIEludGVydmFsAHRvdGFsAFRlcm1pbmFsAHN3c2VyaWFsAFNlcmlhbABkYXJrAGNodW5rAGhlYXRzaHJpbmsAY2xrAHNjawAjb25sb2NrAHN0YWNrAGNhbGxiYWNrAHJlYWsAa1RmTGl0ZU9rAElmIHNwZWNpZnlpbmcgYW4gb2JqZWN0LCBpdCBtdXN0IGJlIG9mIHRoZSBmb3JtIHtkYXRhIDogLi4uLCBjb3VudCA6IE59IG9yIHtjYWxsYmFjayA6IGZufSAtIGdvdCAlagBVbmtub3duIGZvbnQgJWoAVW5rbm93biBpbWFnZSB0eXBlICVqAEludmFsaWQgbW9kZSAlagBVbmtub3duIExDRCBNb2RlICVqAGV4dGkAbW9zaQBtaQBib3RoACNvbmhlYWx0aABJbnZhbGlkIGFycmF5IGxlbmd0aABnZXN0dXJlTWluTGVuZ3RoAGJ5dGVMZW5ndGgAd2lkdGgAI29uZmluaXNoAGdlc3R1cmVTdGFydFRocmVzaABnZXN0dXJlRW5kVGhyZXNoAC5zcGxhc2gARmxhc2gAc3RlcENvdW50ZXJUaHJlc2hvbGRIaWdoACNvbnRvdWNoAHdha2VPblRvdWNoAHdpdGNoAFVuYWJsZSB0byBzZXQgd2F0Y2guIFlvdSBtYXkgYWxyZWFkeSBoYXZlIGEgd2F0Y2ggb24gYSBwaW4gd2l0aCB0aGUgc2FtZSBudW1iZXIgKGVnLiBBMCBhbmQgQjApLApvciB0aGlzIHBpbiBjYW5ub3QgYmUgdXNlZCB3aXRoIHdhdGNoAGJyZwBhbmFsb2cAQXJyYXlCdWZmZXIgdG9vIGxvbmcAcmlzaW5nAFZhcmlhYmxlIHR5cGUgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBzdHJpbmcAdG9TdHJpbmcARmlyc3QgYXJndW1lbnQgbXVzdCBiZSBPYmplY3Qgb3IgU3RyaW5nAEV4cGVjdGluZyBTdHJpbmcARmlyc3QgYXJndW1lbnQgbXVzdCBiZSBTdHJpbmcAU2Vjb25kIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbiBvciBhIFN0cmluZwBGb250IGJpdG1hcCBtdXN0IGJlIGEgU3RyaW5nAFdhdmVmb3JtIGlzIGFscmVhZHkgcnVubmluZwBXYXZlZm9ybSBpcyBub3QgcnVubmluZwAjb25mcmFtaW5nAGZhbGxpbmcAI29uY2hhcmdpbmcALmxvYWRpbmcAZmcAcmJnAHppZ3phZwAjb25tYWcAI29uZXJyb3JGbGFnAP9idWYAc2YAeXBlb2YAbnN0YW5jZW9mAElsbGVnYWwgcmVzb2x2aW5nIHRvIHNlbGYAb2ZmAGRpZmYAYWYAXGYASW52YWxpZCB0eXBlICV0IGZvciB2YWx1ZU9mAERvdWJsZSAlZgAsIGRlYm91bmNlIDogJWYAUmVxdWFudGl6ZQBibG9ja3NpemUAYnl0ZXNpemUAYWZmaW5lX3F1YW50aXphdGlvbi0+emVyb19wb2ludC0+c2l6ZQBub2RlLT5vdXRwdXRzLT5zaXplAGFmZmluZV9xdWFudGl6YXRpb24tPnNjYWxlLT5zaXplAFRvbyBtdWNoIGRhdGEgZm9yIGZpbGUgc2l6ZQBjaHVua1NpemUASW52YWxpZCBTaXplAEludmFsaWQgQXJlbmEgU2l6ZQBOYXRpdmUAd2F2ZQBwb3dlclNhdmUAQ2FuJ3QgaGF2ZSBhIGRhdGEgcGluIGFuZCBpcnE6dHJ1ZQAsIHRydWUAb250aW51ZQBJbnZhbGlkIGNvdW50IHZhbHVlAFVzZWQgb24gZW1wdHkgYXJyYXkgd2l0aCBubyBpbml0aWFsIHZhbHVlAFVua25vd24gdHlwZSBvZiBjYWxsYmFjayBpbiBFdmVudCBRdWV1ZQBoZWlnaHQgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDggd2hlbiB1c2luZyB2ZXJ0aWNhbF9ieXRlAHBhbGV0dGUAQ2FuJ3QgZ2V0IHBvaW50ZXIgdG8gZGF0YSB0byB3cml0ZQAjb25jb21wbGV0ZQBlbGV0ZQBzdGF0ZQByb3RhdGUASW52YWxpZCBJMkMgYml0cmF0ZQBfYmF1ZHJhdGUAdmlicmF0ZQBJbnZhbGlkIFNQSSBiYXVkIHJhdGUARGF0ZQBjb21wb3NlAGNsb3NlAGZhbHNlAFByb21pc2UAYXNlACNvbmdlc3R1cmUAI29uYWlHZXN0dXJlAEludmFsaWQgU2lnbmF0dXJlAG1vcmUAT25lV2lyZQAucHJvdG90eXBlAE9wZXJhdGlvbiAlcyBub3Qgc3VwcG9ydGVkIG9uIHRoZSAlcyBkYXRhdHlwZQBvdXRwdXQtPnR5cGUAaW5wdXQtPnR5cGUAZmlsdGVyLT50eXBlAG91dHB1dC0+cXVhbnRpemF0aW9uLnR5cGUAaW5wdXQtPnF1YW50aXphdGlvbi50eXBlAGZpbHRlci0+cXVhbnRpemF0aW9uLnR5cGUAVW5rbm93biB0eXBlACNvbnN3aXBlAFBpcGUAcmVzaGFwZQBub25lAGdjdGltZQBsYXN0VGltZQB0aGVtZQBmcmFtZQBuYW1lAG1vZHVsZQBoaWxlAENhbid0IGNyZWF0ZSB6ZXJvIGxlbmd0aCBmaWxlAFVuYWJsZSB0byBmaW5kIG9yIGNyZWF0ZSBmaWxlAFN0b3JhZ2VGaWxlAEJhbmdsZQBkb3VibGUARG91YmxlAHdyaXRhYmxlAGNvbmZpZ3VyYWJsZQBNdXN0IGJlIGNhbGxlZCBvbiBzb21ldGhpbmcgaXRlcmFibGUAZW51bWVyYWJsZQBhZmZpbmVfcXVhbnRpemF0aW9uLT5zY2FsZQBGbGFzaCxTdG9yYWdlLGhlYXRzaHJpbmssdGVuc29yZmxvdyxsb2NhbGUARmlyc3QgY2hhcmFjdGVyIG91dCBvZiByYW5nZQBlZGdlAHVzYWdlAG1lc3NhZ2UAU3RvcmFnZQBpbWFnZQBFeHBlY3RpbmcgdmFsaWQgSW1hZ2UAZnJlZQBDYW4ndCB3cml0ZSBpbiB0aGlzIG1vZGUAQ2FuJ3QgcmVhZCBpbiB0aGlzIG1vZGUAVW5rbm93biBwaW4gbW9kZQAuYm9vdGNkZQBzb3VyY2UAZm9yY2UAZGVib3VuY2UASW52YWxpZCBlc2NhcGUgc2VxdWVuY2UAZGV2aWNlAHNUcmFjZQBwd2QAYmF1ZABwYXNzd29yZABEZXN0aW5hdGlvbiBTdHJlYW0gZG9lcyBub3QgaW1wbGVtZW50IHRoZSByZXF1aXJlZCB3cml0ZShidWZmZXIpIG1ldGhvZABTb3VyY2UgU3RyZWFtIGRvZXMgbm90IGltcGxlbWVudCB0aGUgcmVxdWlyZWQgcmVhZChsZW5ndGgpIG1ldGhvZABEZXN0aW5hdGlvbiBvYmplY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSByZXF1aXJlZCB3cml0ZShidWZmZXIsIGxlbmd0aCkgbWV0aG9kAFNvdXJjZSBvYmplY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSByZXF1aXJlZCByZWFkKGJ1ZmZlciwgbGVuZ3RoKSBtZXRob2QA/2NvZABNb2R1bGUgJXEgbm90IGZvdW5kAGVuZAB0d2lzdFRocmVzaG9sZABVbmljb2RlIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBidWlsZABQQkYgRm9udHMgbm90IGVuYWJsZWQgb24gdGhpcyBidWlsZABvaWQATmVzdGluZyAnbmV3JyBvcGVyYXRvcnMgaXMgdW5zdXBwb3J0ZWQAQ0FTRSBhZnRlciBERUZBVUxUIHVuc3VwcG9ydGVkAElucHV0IHR5cGUgJXMgaXMgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQAVGFnZ2VkIHRlbXBsYXRlIGxpdGVyYWxzIG5vdCBzdXBwb3J0ZWQAQmFja3JlZmVyZW5jZXMgbm90IHN1cHBvcnRlZABUYWdnZWQgVGVtcGxhdGVzIGFyZSBub3Qgc3VwcG9ydGVkAEludmFsaWQgQlBQIC0gMSwyLDQgc3VwcG9ydGVkAHN0YXJ0ZWQAVEZNaWNyb0ludGVycHJldGVyIHN0cnVjdHVyZSBjb3JydXB0ZWQARW11bGF0ZWQAaXJxPXRydWUgc2V0LCBidXQgd2F0Y2ggaXMgYWxyZWFkeSB1c2VkAEZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIGNvbnRleHQtPmV2YWxfdGVuc29ycywgJWQgYnl0ZXMgcmVxdWlyZWQARmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgYWxsb2NhdGlvbl9pbmZvLCAlZCBieXRlcyByZXF1aXJlZABkb3VibGVidWZmZXJlZABXYXZlZm9ybSBjb3VsZG4ndCBiZSBzdG9wcGVkAFNlY29uZCBhcmd1bWVudCBtdXN0IGJlIE9iamVjdCBvciB1bmRlZmluZWQARmlyc3QgYXJndW1lbnQgbXVzdCBiZSBTdHJpbmcgb3IgdW5kZWZpbmVkACdvcHRpb25zJyBtdXN0IGJlIGFuIG9iamVjdCwgb3IgdW5kZWZpbmVkACVxIGlzIG5vdCBkZWZpbmVkAERhdGEgaXMgbm90IGRlZmluZWQAY29tcGlsZWQATWljcm9JbnRlcnByZXRlciBjcmVhdGlvbiBmYWlsZWQAVEZNaWNyb0ludGVycHJldGVyIGludm9rZSBmYWlsZWQASW52b2tlIGZhaWxlZABzZXRNb2RpZmllZABoaXNwZWVkAG9kZABhZGQAbGNkACdFLmFzbScgY2FsbHMgc2hvdWxkIGhhdmUgYmVlbiByZXBsYWNlZCBieSB0aGUgRXNwcnVpbm8gdG9vbHMgYmVmb3JlIHVwbG9hZAAnRS5jb21waWxlZEMnIGNhbGxzIHNob3VsZCBoYXZlIGJlZW4gcmVwbGFjZWQgYnkgdGhlIEVzcHJ1aW5vIHRvb2xzIGJlZm9yZSB1cGxvYWQAY2xlYXIlcyh1bmRlZmluZWQpIG5vdCBhbGxvd2VkLiBVc2UgY2xlYXIlcygpIGluc3RlYWQAY2xlYXJXYXRjaCh1bmRlZmluZWQpIG5vdCBhbGxvd2VkLiBVc2UgY2xlYXJXYXRjaCgpIGluc3RlYWQAcmVhZAAlZC0lMDJkLSUwMmRUJTAyZDolMDJkOiUwMmQuJTAzZCVjJTA0ZAAlcyAlcyAlZCAlZCAlMDJkOiUwMmQ6JTAyZCBHTVQlYyUwNGQAJXM6JWR4JWQAJXM6JWQAVW5zdXBwb3J0ZWQgVGVuc29yIGZvcm1hdCBUZkxpdGVUeXBlOiVkACVzLnNldHVwKCVkAEludmFsaWQgcGFyaXR5ICVkAEFycmF5IHBhc3NlZCB0byBGdW5jdGlvbi5hcHBseSBpcyB0b28gYmlnISBNYXhpbXVtIDI1NiBhcmd1bWVudHMsIGdvdCAlZABOb2RlICVzIChudW1iZXIgJWRmKSBmYWlsZWQgdG8gcHJlcGFyZSB3aXRoIHN0YXR1cyAlZABOb2RlICVzIChudW1iZXIgJWQpIGZhaWxlZCB0byBpbnZva2Ugd2l0aCBzdGF0dXMgJWQARmFpbGVkIHRvIGluaXRpYWxpemUgdGVuc29yICVkAEludGVnZXIgJWQARXJyb3IgUGFyc2luZyBzaWduYXR1cmUgYXQgYXJndW1lbnQgbnVtYmVyICVkAGJ1ZmZlciBpbmRleCAlZCBpcyBvdXRzaWRlIHJhbmdlIDAgdG8gJWQAVW5rbm93biAlZABQaW4gJWQARmFpbGVkIHRvIGFsbG9jYXRlIHZhcmlhYmxlIHRlbnNvciBvZiBzaXplICVkAEludmFsaWQgYmF1ZCByYXRlICVkAFVua25vd24gYXJnc3BlYyAlZABMb2dpYyBlcnJvciBpbiBtZW1vcnkgcGxhbm5lciwgdGVuc29yICVkIGhhcyBhbiBpbnZhbGlkIGxpZmV0aW1lOiBmaXJzdF9jcmVhdGVkOiAlZCwgbGFzdF91c2VkOiAlZABQYXJlbnQgbXVzdCBiZSBhbiBvYmplY3QgLSBub3QgYSBTdHJpbmcsIEludGVnZXIsIGV0YwBmdW5jAHRhdGljAGdjAAglYwBtc2IAbHNiAGdyYgBhdG9iAHZpYgByZ2IAY2IAMTI6MzQ6NTY6Nzg6OTA6YWIAXGIAI29uZGF0YQBGaWxlIGFscmVhZHkgd3JpdHRlbiB3aXRoIGRpZmZlcmVudCBkYXRhAE5vdCBlbm91Z2ggc3RhY2sgbWVtb3J5IGZvciBkYXRhAGlycURhdGEAYXJlYQBzZGEAX19wcm90b19fAF9fRklMRV9fAFtvYmplY3QgT2JqZWN0XQAldlslcV0AZmlsdGVyLT5kaW1zLT5kYXRhW2FmZmluZV9xdWFudGl6YXRpb24tPnF1YW50aXplZF9kaW1lbnNpb25dAGFmZmluZV9xdWFudGl6YXRpb24tPnNjYWxlLT5zaXplID09IDEgfHwgYWZmaW5lX3F1YW50aXphdGlvbi0+c2NhbGUtPnNpemUgPT0gZmlsdGVyLT5kaW1zLT5kYXRhW2tDb252UXVhbnRpemVkRGltZW5zaW9uXQBhZmZpbmVfcXVhbnRpemF0aW9uLT5zY2FsZS0+c2l6ZSA9PSAxIHx8IGFmZmluZV9xdWFudGl6YXRpb24tPnNjYWxlLT5zaXplID09IGZpbHRlci0+ZGltcy0+ZGF0YVtrRGVwdGh3aXNlQ29udlF1YW50aXplZERpbWVuc2lvbl0AP1slZF0AW0ZJTEVOQU1FX1RBQkxFXQBbRVJBU0VEXQAgXQBcXABuZXcgJXMoWwAlZC0lMDJkLSUwMmRUJTAyZDolMDJkOiUwMmQuJTAzZFoAdHdpc3RNYXhZAE1FTU9SWV9CVVNZAExPV19NRU1PUlkAUkVEVUNFX0FOWQBERU5TSUZZAC5ib290WABUWABVbmFibGUgdG8gYWxsb2NhdGUgZGF0YSBmb3IgU2VyaWFsIFJYAFVuYWJsZSB0byB3YXRjaCBwaW4gJXAsIG5vIFNvZnR3YXJlIFNlcmlhbCBSWABVTkZJTklTSEVEIFJFR0VYAEFSR19NQVgAUkVEVUNFX01BWABMT0dfU09GVE1BWAD/Zm5XAFBPVwBVQVJUX09WRVJGTE9XAFNQTElUX1YAVFJBTlNQT1NFX0NPTlYARkxPT1JfRElWAExFQUtZX1JFTFUAUFJFTFUAQ0FTVABSU1FSVABVU0FSVABST09UAExPR0lDQUxfTk9UAE9ORV9IT1QASU5UAFVORklOSVNIRUQgQ09NTUVOVABGQUtFX1FVQU5UACVzLCAlZCAlcyAlZCAlMDJkOiUwMmQ6JTAyZCBHTVQAR0lUX0NPTU1JVABTUExJVABJbnN1ZmZpY2llbnQgc3RhY2sgZm9yIGNvbXB1dGluZyBGRlQAU0VMRUNUAEZMT0FUAFdJREdFVFMATEVTUwBHUFMAQ09TAEVYUEFORF9ESU1TAENPTkNBVF9FTUJFRERJTkdTAE1PRFVMRVMAQUJTAEVYUFRSAExPR0lDQUxfT1IARkxPT1IAUkVTSVpFX05FQVJFU1RfTkVJR0hCT1IAR1JFQVRFUgBHQVRIRVIAUkVTSVpFX0JJTElORUFSACVRAEVYUABFTUJFRERJTkdfTE9PS1VQAEhBU0hUQUJMRV9MT09LVVAASW52YWxpZCBCUFAATUlTTwBOYU4AQUREX04AdG9KU09OAExTSF9QUk9KRUNUSU9OAExPQ0FMX1JFU1BPTlNFX05PUk1BTElaQVRJT04ATDJfTk9STUFMSVpBVElPTgBDT05DQVRFTkFUSU9OAEhXVkVSU0lPTgBVTklESVJFQ1RJT05BTF9TRVFVRU5DRV9STk4AQklESVJFQ1RJT05BTF9TRVFVRU5DRV9STk4AU0lOAEFSR19NSU4AUkVEVUNFX01JTgBFTVNDUklQVEVOAE1FQU4AU0VHTUVOVF9TVU0ATUFYSU1VTQBNSU5JTVVNAFVOSURJUkVDVElPTkFMX1NFUVVFTkNFX0xTVE0AQklESVJFQ1RJT05BTF9TRVFVRU5DRV9MU1RNAEhSTQBDVVNUT00AVElNAFNLSVBfR1JBTQBCQVRDSF9NQVRNVUwAQk9PTABCVUZGRVJfRlVMTABGSUZPX0ZVTEwARklMTABDQUxMAENFSUwAU0NMAE5PVF9FUVVBTABMRVNTX0VRVUFMAEdSRUFURVJfRVFVQUwAVU5GSU5JU0hFRCBURU1QTEFURSBMSVRFUkFMAFNFUklBTABSQU5LAFNDSwBVTlBBQ0sAQ0FMTEJBQ0sAG1tKAE1PU0kASW52YWxpZCBVUkkAU1BJLnNlbmQ4Yml0IG9ubHkgd29ya3Mgb24gaGFyZHdhcmUgU1BJAFNQSS5zZW5kNGJpdCBvbmx5IHdvcmtzIG9uIGhhcmR3YXJlIFNQSQD/Zm5IAGZnSABiZ0gAU1BBQ0VfVE9fREVQVEgASEFSRF9TV0lTSABTUElGTEFTSABUQU5IAExPRwBVTkZJTklTSEVEIFNUUklORwBORUcATUFUUklYX0RJQUcATUFUUklYX1NFVF9ESUFHAEVPRgBJRgBTVkRGAHNldEZvbnRQQkYAREVRVUFOVElaRQBTUVVFRVpFAFVOSVFVRQBERUxFR0FURQBFTUJFRERJTkdfTE9PS1VQX1NQQVJTRQBUUkFOU1BPU0UAU1BBUlNFX1RPX0RFTlNFAFdIRVJFAFNRVUFSRQBOT1RZUEUAUkVTSEFQRQBDT05TT0xFAFRJTEUAV0hJTEUAWkVST1NfTElLRQBSQU5HRQBTVE9SQUdFAFJFVkVSU0VfU0VRVUVOQ0UAU1FVQVJFRF9ESUZGRVJFTkNFAFNUUklERURfU0xJQ0UAREVQVEhfVE9fU1BBQ0UAG1tEAEJPQVJEAFJFRFVDRV9QUk9EAEZMT09SX01PRABTQ0FUVEVSX05EAEdBVEhFUl9ORABTUEFDRV9UT19CQVRDSF9ORABCQVRDSF9UT19TUEFDRV9ORABST1VORABMT0dJQ0FMX0FORABJRABGVUxMWV9DT05ORUNURUQAQUREAExDRABNSVJST1JfUEFEAERFUFRIV0lTRV9DT05WXzJEAE1BWF9QT09MXzJEAEFWRVJBR0VfUE9PTF8yRABMMl9QT09MXzJEABtbQwBMT0dJU1RJQwBEQUMASTJDAP9mbkIATG9vcGJhY2tCABtbQgBTVUIAVVNCAExvb3BiYWNrQQAbW0EAU0RBAE9wIGJ1aWx0aW5fY29kZSBvdXQgb2YgcmFuZ2U6ICVkLiBBcmUgeW91IHVzaW5nIG9sZCBURkxpdGUgYmluYXJ5IHdpdGggbmV3ZXIgbW9kZWw/AFVuYWJsZSB0byBnZXQgcG9pbnRlciB0byBwYWxldHRlLiBJbWFnZSBpbiBmbGFzaD8ACiAgSW52YWxpZCBwYXNzd29yZApwYXNzd29yZD4APQBlY2hvKDApOwBOZXdDaGlsZCBQQVJFTlQ6AAo6ADZ4OABpbnB1dC0+dHlwZSA9PSBrVGZMaXRlRmxvYXQzMiB8fCBpbnB1dC0+dHlwZSA9PSBrVGZMaXRlSW50MTYgfHwgaW5wdXQtPnR5cGUgPT0ga1RmTGl0ZUludDgAa1RmTGl0ZVVJbnQ4AFVJTlQ4AC0zMjc2OABDT01QTEVYMTI4AC0xMjgANHg2AFJFTFU2AG91dHB1dC0+cGFyYW1zLnNjYWxlID09IDEuZiAvIDI1NgBvdXRwdXQtPnR5cGUgPT0ga1RmTGl0ZVVJbnQ4IHx8IG91dHB1dC0+dHlwZSA9PSBrVGZMaXRlSW50OCB8fCBvdXRwdXQtPnR5cGUgPT0ga1RmTGl0ZUludDE2AGlucHV0LT50eXBlID09IGtUZkxpdGVVSW50OCB8fCBpbnB1dC0+dHlwZSA9PSBrVGZMaXRlSW50OCB8fCBpbnB1dC0+dHlwZSA9PSBrVGZMaXRlSW50MTYASU5UMTYARkxPQVQxNgBOT05fTUFYX1NVUFBSRVNTSU9OX1Y1AE5PTl9NQVhfU1VQUFJFU1NJT05fVjQANTEzYWJhNzg0AENPTVBMRVg2NABJTlQ2NABGTE9BVDY0AEhTQnRvUkdCJ3MgZm9ybWF0IGFyZyBleHBlY3RzIHVuZGVmaW5lZC8xLzE2LzI0AHdha2VPbkJUTjMAMnYyMwB5MgB4MgBidWZmZXIyAGZnMgBiZzIAU0VMRUNUX1YyAFRPUEtfVjIAUkVWRVJTRV9WMgBQQURWMgB3YWtlT25CVE4yAENIMgBvdXRwdXQtPnR5cGUgPT0ga1RmTGl0ZUZsb2F0MzIgfHwgb3V0cHV0LT50eXBlID09IGtUZkxpdGVJbnQzMgBrVGZMaXRlRmxvYXQzMgBJTlQzMgBGTE9BVDMyAHNjYWxlX2RpZmYgLyBvdXRwdXRfc2NhbGUgPD0gMC4wMgBoYXNfYmlhcyB8fCBub2RlLT5pbnB1dHMtPnNpemUgPT0gMgBOdW1JbnB1dHMobm9kZSkgPT0gMSB8fCBOdW1JbnB1dHMobm9kZSkgPT0gMgB5MQB4MQD/Zm4xAFNlcmlhbDEAUkVMVV9OMV9UT18xAHdha2VPbkJUTjEAU1BJMQBDSDEASTJDMQAtMQBOdW1EaW1lbnNpb25zKGlucHV0KSA+PSAxAGFmZmluZV9xdWFudGl6YXRpb24tPnNjYWxlLT5zaXplID09IDEAODB4ODAAMTIweDEyMABTYW1wbGVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDAAY2h1bmtTaXplIG11c3QgYmUgYW4gaW50ZWdlciA+IDAAaW5wdXRfcHJvZHVjdF9zY2FsZSA+PSAwAEVycm9yIHByb2Nlc3NpbmcgU2VyaWFsIGRhdGEgaGFuZGxlciAtIHJlbW92aW5nIGl0LgBDdHJsLUMgd2hpbGUgcHJvY2Vzc2luZyBpbnRlcnZhbCAtIHJlbW92aW5nIGl0LgBDdHJsLUMgd2hpbGUgcHJvY2Vzc2luZyB3YXRjaCAtIHJlbW92aW5nIGl0LgBVbmhhbmRsZWQgZnVsbHktY29ubmVjdGVkIHdlaWdodHMgZm9ybWF0LgBGYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBub2RlX2FuZF9yZWdpc3RyYXRpb25zLgBJbnRlcm5hbCBlcnJvcjogQWxsb2NhdGVGcm9tVGFpbCBjYW4gbm90IGJlIGNhbGxlZCBiZXR3ZWVuIHR3byBSZXF1ZXN0U2NyYXRjaEJ1ZmZlckluQXJlbmEgY2FsbHMuAEh5YnJpZCBtb2RlbHMgYXJlIG5vdCBzdXBwb3J0ZWQgb24gVEZMaXRlIE1pY3JvLgBJbnZhbGlkIHBhcmFtZXRlciBCdWlsdGluT3BlcmF0b3JfQ1VTVE9NIHRvIHRoZSBBZGRCdWlsdGluIGZ1bmN0aW9uLgBSRVRVUk4gc3RhdGVtZW50LCBidXQgbm90IGluIGEgZnVuY3Rpb24uACVzIHdhcyBub3QgdHJ1ZS4AQnVmZmVyICVkIG5vdCBmb3VuZC4gJWQgYnVmZmVycyBhdmFpbGFibGUuAEFyZW5hIHNpemUgaXMgdG9vIHNtYWxsIGZvciBhY3RpdmF0aW9uIGJ1ZmZlcnMuIE5lZWRlZCAlZCBidXQgb25seSAlZCB3YXMgYXZhaWxhYmxlLgBFcmFzaW5nIHNhdmVkIGNvZGUuAFR5cGUgJXMgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQuAElucHV0ICVzLCBvdXRwdXQgJXMgbm90IHN1cHBvcnRlZC4AVHlwZSAlcyAoJWQpIG5vdCBzdXBwb3J0ZWQuACVkIGJ5dGVzIGxvc3QgZHVlIHRvIGFsaWdubWVudC4gVG8gYXZvaWQgdGhpcyBsb3NzLCBwbGVhc2UgbWFrZSBzdXJlIHRoZSB0ZW5zb3JfYXJlbmEgaXMgMTYgYnl0ZXMgYWxpZ25lZC4ATW9kZWwgcHJvdmlkZWQgaXMgc2NoZW1hIHZlcnNpb24gJWQgbm90IGVxdWFsIHRvIHN1cHBvcnRlZCB2ZXJzaW9uICVkLgBMb2FkaW5nLi4uAENvdWxkbid0IHJlZ2lzdGVyIGJ1aWx0aW4gb3AgIyVkLCByZXNvbHZlciBzaXplIGlzIHRvbyBzbWFsbCAoJWQpLgBDYWxsaW5nIEFkZEJ1aWx0aW4gd2l0aCB0aGUgc2FtZSBvcCBtb3JlIHRoYW4gb25jZSBpcyBub3Qgc3VwcG9ydGVkIChPcDogIyVkKS4ASW50ZXJuYWwgZXJyb3I6IEVuc3VyZUhlYWRTaXplKCkgbmVlZHMgdG8gYmUgY2FsbGVkIGFmdGVyUmVzZXRUZW1wQWxsb2NhdGlvbnMoKS4ALQBBcnJheSwAT2JqZWN0LAAlcSwATnVtYmVyICVqLABTdHJpbmcgJWosACVwPSVkLAAlZCwlZCwlZCwAZGF0YTppbWFnZS9ibXA7YmFzZTY0LAAoZnVuY3Rpb24ocyl7dmFyIHA9MDtyZXR1cm57cmVhZDpmdW5jdGlvbihsKXtyZXR1cm4gcy5zdWJzdHJpbmcocCxwKz1sKXx8dW5kZWZpbmVkO319fSkAKGZ1bmN0aW9uKCl7cmV0dXJue192OiExLHJlYWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdn0sc2V0OmZ1bmN0aW9uKCl7dGhpcy53cml0ZSgxKX0scmVzZXQ6ZnVuY3Rpb24oKXt0aGlzLndyaXRlKDApfSx3cml0ZTpmdW5jdGlvbihhKXtnLnNldENvbG9yKCh0aGlzLl92PSEhYSk/IiNmMDAiOmcudGhlbWUuYmcpLmZpbGxDaXJjbGUoKGcuZ2V0V2lkdGgoKS0yMCkvMiw1LDUpO0JhbmdsZS5zZXRMQ0RQb3dlcigxKX0sdG9nZ2xlOmZ1bmN0aW9uKCl7dGhpcy53cml0ZSghdGhpcy5fdil9fX0pAChmdW5jdGlvbigpe3JldHVybntfdjohMSxyZWFkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Z9LHNldDpmdW5jdGlvbigpe3RoaXMud3JpdGUoMSl9LHJlc2V0OmZ1bmN0aW9uKCl7dGhpcy53cml0ZSgwKX0sd3JpdGU6ZnVuY3Rpb24oYSl7Zy5zZXRDb2xvcigodGhpcy5fdj0hIWEpPyIjMGYwIjpnLnRoZW1lLmJnKS5maWxsQ2lyY2xlKChnLmdldFdpZHRoKCkrMjApLzIsNSw1KTtCYW5nbGUuc2V0TENEUG93ZXIoMSl9LHRvZ2dsZTpmdW5jdGlvbigpe3RoaXMud3JpdGUoIXRoaXMuX3YpfX19KQAoZnVuY3Rpb24oKXtpZihnbG9iYWwuV0lER0VUUyl7dmFyIGQ9Zy5nZXRXaWR0aCgpLGU9Zy5nZXRIZWlnaHQoKSxjPXt0bDp7eDoyOCx5OjAscjowLGM6MH0sdHI6e3g6ZC0yOCx5OjAscjoxLGM6MH0sYmw6e3g6MjQseTplLTI0LHI6MCxjOjB9LGJyOnt4OmQtMjQseTplLTI0LHI6MSxjOjB9fSxiLGE7Zm9yKGEgb2YgV0lER0VUUykoYj1jW2EuYXJlYV0pJiYwIT1hLndpZHRoJiYoYS54PWIueC1iLnIqYS53aWR0aCxhLnk9Yi55LGIueCs9YS53aWR0aCooMS0yKmIuciksYi5jKyspO2cucmVzZXQoKTsoYy50bC5jfHxjLnRyLmMpJiZnLmNsZWFyUmVjdCgwLDAsZC0xLDIzKTsoYy5ibC5jfHxjLmJyLmMpJiZnLmNsZWFyUmVjdCgwLGUtMjQsZC0xLGUtMSk7dHJ5e2ZvcihhIG9mIFdJREdFVFMpYS5kcmF3KGEpfWNhdGNoKGYpe3ByaW50KGYpfX19KQAoZnVuY3Rpb24oYixkKXt2YXIgYT17fTtpZigib2JqZWN0Ij09dHlwZW9mIGImJihhPWIsYj1hLm1vZGUsIWIpKXRocm93IEVycm9yKCJNaXNzaW5nIG1vZGUgaW4gc2V0VUkoey4uLn0pIik7dmFyIGY9ITA7Z2xvYmFsLldJREdFVFMmJldJREdFVFMuYmFjayYmKGY9ITEsV0lER0VUUy5iYWNrLnJlbW92ZShiJiZhLmJhY2spKTtCYW5nbGUuYnRuV2F0Y2hlcyYmKEJhbmdsZS5idG5XYXRjaGVzLmZvckVhY2goY2xlYXJXYXRjaCksZGVsZXRlIEJhbmdsZS5idG5XYXRjaGVzKTtCYW5nbGUuc3dpcGVIYW5kbGVyJiYoQmFuZ2xlLnJlbW92ZUxpc3RlbmVyKCJzd2lwZSIsQmFuZ2xlLnN3aXBlSGFuZGxlciksZGVsZXRlIEJhbmdsZS5zd2lwZUhhbmRsZXIpO0JhbmdsZS50b3VjaEhhbmRsZXImJihCYW5nbGUucmVtb3ZlTGlzdGVuZXIoInRvdWNoIixCYW5nbGUudG91Y2hIYW5kbGVyKSxkZWxldGUgQmFuZ2xlLnRvdWNoSGFuZGxlcik7ZGVsZXRlIEJhbmdsZS51aVJlZHJhdzsKZGVsZXRlIEJhbmdsZS5DTE9DSztpZihCYW5nbGUudWlSZW1vdmUpe2xldCBjPUJhbmdsZS51aVJlbW92ZTtkZWxldGUgQmFuZ2xlLnVpUmVtb3ZlO2MoKX1nLnJlc2V0KCk7aWYoYil7aWYoInVwZG93biI9PWIpQmFuZ2xlLmJ0bldhdGNoZXM9W3NldFdhdGNoKGZ1bmN0aW9uKCl7ZCgtMSl9LEJUTjEse3JlcGVhdDoxLGVkZ2U6ImZhbGxpbmcifSksc2V0V2F0Y2goZnVuY3Rpb24oKXtkKDEpfSxCVE4zLHtyZXBlYXQ6MSxlZGdlOiJmYWxsaW5nIn0pLHNldFdhdGNoKGZ1bmN0aW9uKCl7ZCgpfSxCVE4yLHtyZXBlYXQ6MSxlZGdlOiJmYWxsaW5nIn0pXTtlbHNlIGlmKCJsZWZ0cmlnaHQiPT1iKUJhbmdsZS5idG5XYXRjaGVzPVtzZXRXYXRjaChmdW5jdGlvbigpe2QoLTEpfSxCVE4xLHtyZXBlYXQ6MSxlZGdlOiJmYWxsaW5nIn0pLHNldFdhdGNoKGZ1bmN0aW9uKCl7ZCgxKX0sQlROMyx7cmVwZWF0OjEsZWRnZToiZmFsbGluZyJ9KSxzZXRXYXRjaChmdW5jdGlvbigpe2QoKX0sQlROMiwKe3JlcGVhdDoxLGVkZ2U6ImZhbGxpbmcifSldLEJhbmdsZS5zd2lwZUhhbmRsZXI9Yz0+e2QoYyl9LEJhbmdsZS5vbigic3dpcGUiLEJhbmdsZS5zd2lwZUhhbmRsZXIpLEJhbmdsZS50b3VjaEhhbmRsZXI9Yz0+e2QoKX0sQmFuZ2xlLm9uKCJ0b3VjaCIsQmFuZ2xlLnRvdWNoSGFuZGxlcik7ZWxzZSBpZigiY2xvY2siPT1iKUJhbmdsZS5DTE9DSz0xLEJhbmdsZS5idG5XYXRjaGVzPVtzZXRXYXRjaChCYW5nbGUuc2hvd0xhdW5jaGVyLEJUTjIse3JlcGVhdDoxLGVkZ2U6ImZhbGxpbmcifSldO2Vsc2UgaWYoImNsb2NrdXBkb3duIj09YilCYW5nbGUuQ0xPQ0s9MSxCYW5nbGUuYnRuV2F0Y2hlcz1bc2V0V2F0Y2goZnVuY3Rpb24oKXtkKC0xKX0sQlROMSx7cmVwZWF0OjEsZWRnZToiZmFsbGluZyJ9KSxzZXRXYXRjaChmdW5jdGlvbigpe2QoMSl9LEJUTjMse3JlcGVhdDoxLGVkZ2U6ImZhbGxpbmcifSksc2V0V2F0Y2goQmFuZ2xlLnNob3dMYXVuY2hlcixCVE4yLHtyZXBlYXQ6MSxlZGdlOiJmYWxsaW5nIn0pXTsKZWxzZSBpZigiY3VzdG9tIj09YilhLmNsb2NrJiYoQmFuZ2xlLkNMT0NLPTEpLGEudG91Y2gmJihCYW5nbGUudG91Y2hIYW5kbGVyPWEudG91Y2gsQmFuZ2xlLm9uKCJ0b3VjaCIsQmFuZ2xlLnRvdWNoSGFuZGxlcikpLGEuc3dpcGUmJihCYW5nbGUuc3dpcGVIYW5kbGVyPWEuc3dpcGUsQmFuZ2xlLm9uKCJzd2lwZSIsQmFuZ2xlLnN3aXBlSGFuZGxlcikpLGEuYnRuP0JhbmdsZS5idG5XYXRjaGVzPVtzZXRXYXRjaChmdW5jdGlvbigpe2EuYnRuKDEpfSxCVE4xLHtyZXBlYXQ6MSxlZGdlOiJmYWxsaW5nIn0pLHNldFdhdGNoKGZ1bmN0aW9uKCl7YS5idG4oMil9LEJUTjIse3JlcGVhdDoxLGVkZ2U6ImZhbGxpbmcifSksc2V0V2F0Y2goZnVuY3Rpb24oKXthLmJ0bigzKX0sQlROMyx7cmVwZWF0OjEsZWRnZToiZmFsbGluZyJ9KV06YS5jbG9jayYmKEJhbmdsZS5idG5XYXRjaGVzPVtzZXRXYXRjaChCYW5nbGUuc2hvd0xhdW5jaGVyLEJUTjIse3JlcGVhdDoxLGVkZ2U6ImZhbGxpbmcifSldKTsKZWxzZSB0aHJvdyBFcnJvcigiVW5rbm93biBVSSBtb2RlICIrRS50b0pTKGIpKTthLnJlbW92ZSYmKEJhbmdsZS51aVJlbW92ZT1hLnJlbW92ZSk7YS5yZWRyYXcmJihCYW5nbGUudWlSZWRyYXc9YS5yZWRyYXcpO2lmKGEuYmFjayl7dmFyIGg9Yz0+ezE9PWMmJmEuYmFjaygpfTtCYW5nbGUub24oInRvdWNoIixoKTt2YXIgZTt2b2lkIDA9PT1CYW5nbGUuYnRuV2F0Y2hlcyYmKGU9c2V0V2F0Y2goZnVuY3Rpb24oKXtlPXZvaWQgMDthLmJhY2soKX0sQlROMyx7ZWRnZToiZmFsbGluZyJ9KSk7V0lER0VUUz1PYmplY3QuYXNzaWduKHtiYWNrOnthcmVhOiJ0bCIsd2lkdGg6MjQsZHJhdzpjPT5nLnJlc2V0KCkuc2V0Q29sb3IoIiNmMDAiKS5kcmF3SW1hZ2UoYXRvYigiR0JpQkFBQVlBQUgvZ0FmLzRBLy84Qi8vK0QvLy9ELy8vSC9QL24rSC9uOFAvbjRmL3Z3QVAvd0FQMzRmL244UC9uK0gvbi9QL2ovLy9ELy8vQi8vK0EvLzhBZi80QUgvZ0FBWUFBPT0iKSxjLngsYy55KSxyZW1vdmU6Yz0+CntlJiZjbGVhcldhdGNoKGUpO0JhbmdsZS5yZW1vdmVMaXN0ZW5lcigidG91Y2giLGgpO2N8fGcucmVzZXQoKS5jbGVhclJlY3Qoe3g6V0lER0VUUy5iYWNrLngseTpXSURHRVRTLmJhY2sueSx3OjI0LGg6MjR9KTtkZWxldGUgV0lER0VUUy5iYWNrO2N8fEJhbmdsZS5kcmF3V2lkZ2V0cygpfX19LGdsb2JhbC5XSURHRVRTKTtmJiZCYW5nbGUuZHJhd1dpZGdldHMoKX19fSkAKGZ1bmN0aW9uKCl7aWYoIWdsb2JhbC5XSURHRVRTKXtnbG9iYWwuV0lER0VUUz17fTtyZXF1aXJlKCJTdG9yYWdlIikubGlzdCgvXC53aWRcLmpzJC8pLmZvckVhY2goYT0+e3RyeXtldmFsKHJlcXVpcmUoIlN0b3JhZ2UiKS5yZWFkKGEpKX1jYXRjaChjKXtwcmludChhLGMpfX0pO3ZhciBiPVdJREdFVFM7V0lER0VUUz17fTtPYmplY3Qua2V5cyhiKS5zb3J0KChhLGMpPT4oMHxiW2NdLnNvcnRvcmRlciktKDB8YlthXS5zb3J0b3JkZXIpKS5mb3JFYWNoKGE9PldJREdFVFNbYV09YlthXSl9fSkAKGZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBCYW5nbGUuc2V0VUkoKTt2YXIgcD1mdW5jdGlvbihmKXtnLnJlc2V0KCk7dmFyIGI9TWF0aC5mbG9vcigoaC1hLmgpLzIpLWMuc2Nyb2xsKmEuaCxrPWIrYS5jKmEuaDtrPD1oJiYoYis9aC1rKTswPGImJihiPTApO2s9Yjtmb3IodmFyIGw9MDtsPGEuYztsKyspKHZvaWQgMD09PWZ8fGY9PT1sKSYmYj4tYS5oKzEmJmI8aCYmKGcuc2V0Q29sb3IobD09Yy5zY3JvbGw/Zy50aGVtZS5mZ0g6Zy50aGVtZS5mZykuc2V0QmdDb2xvcihsPT1jLnNjcm9sbD9nLnRoZW1lLmJnSDpnLnRoZW1lLmJnKS5zZXRDbGlwUmVjdChkLGUrTWF0aC5tYXgoMCxiKSxkK20tMSxlK01hdGgubWluKGgsYithLmgpLTEpLGEuZHJhdyhsLHt4OmQseTplK2IsdzptLGg6YS5ofSxsPT1jLnNjcm9sbCl8fGw9PWMuc2Nyb2xsJiZnLnNldENvbG9yKGcudGhlbWUuZmdIKS5kcmF3UmVjdChkLGUrYixkK20tMSxlK2IrYS5oLTEpLmRyYXdSZWN0KGQrCjEsZStiKzEsZCttLTIsZStiK2EuaC0yKSksYis9YS5oO2cuc2V0Q2xpcFJlY3QoZCxlLGQrbS0xLGUraC0xKTtmPW0vMjswPmsmJihrPVtkK2YsZSxkK2YtMTQsZSsxNCxkK2YrMTQsZSsxNF0sZy5zZXRDb2xvcihnLnRoZW1lLmZnKS5maWxsUG9seShrKS5zZXRDb2xvcihnLnRoZW1lLmJnKS5kcmF3UG9seShrLCEwKSk7Yj5oJiYoaz1bZCtmLGUraCxkK2YtMTQsZStoLTE0LGQrZisxNCxlK2gtMTRdLGcuc2V0Q29sb3IoZy50aGVtZS5mZykuZmlsbFBvbHkoaykuc2V0Q29sb3IoZy50aGVtZS5iZykuZHJhd1BvbHkoaywhMCkpfTtCYW5nbGUuc2V0VUkoe21vZGU6InVwZG93biIsYmFjazphLmJhY2sscmVtb3ZlOmEucmVtb3ZlLHJlZHJhdzpwfSxmPT57Zj8oYy5zY3JvbGwrPWYsMD5jLnNjcm9sbCYmKGMuc2Nyb2xsPWEuYy0xKSxjLnNjcm9sbD49YS5jJiYoYy5zY3JvbGw9MCksYy5kcmF3KCkpOmEuc2VsZWN0KGMuc2Nyb2xsKX0pO3ZhciBuPUJhbmdsZS5hcHBSZWN0LG09bi53LApoPW4uaCxkPW4ueCxlPW4ueSxjPXtzY3JvbGw6MHxhLnNjcm9sbCxkcmF3OnAsZHJhd0l0ZW06Zj0+cChmKSxpc0FjdGl2ZTooKT0+QmFuZ2xlLnVpUmVkcmF3PT1wfTtnLnJlc2V0KCkuY2xlYXJSZWN0KG4pO2MuZHJhdygpO3JldHVybiBjfSkAKGZ1bmN0aW9uKCl7bGV0IGI9cmVxdWlyZSgiU3RvcmFnZSIpLnJlYWRKU09OKCJzZXR0aW5nLmpzb24iLDEpfHx7fSxjPXJlcXVpcmUoIlN0b3JhZ2UiKS5yZWFkKGIubGF1bmNoZXIpO2lmKCFjKXtjPXZvaWQgMDtsZXQgZD1yZXF1aXJlKCJTdG9yYWdlIikubGlzdCgvXC5pbmZvJC8pLm1hcChhPT57aWYoKGE9cmVxdWlyZSgiU3RvcmFnZSIpLnJlYWRKU09OKGEsMSkpJiYibGF1bmNoIj09YS50eXBlKXJldHVybiBhfSkuZmlsdGVyKGE9PmEpLnNvcnQoKGEsZSk9PmEuc29ydG9yZGVyLWUuc29ydG9yZGVyKVswXTtkJiYoYi5sYXVuY2hlcj1kLnNyYyxyZXF1aXJlKCJTdG9yYWdlIikud3JpdGVKU09OKCJzZXR0aW5nLmpzb24iLGIpLGM9cmVxdWlyZSgiU3RvcmFnZSIpLnJlYWQoZC5zcmMpKX1jP0JhbmdsZS5sb2FkKGIubGF1bmNoZXIpOmV2YWwoJ0Uuc2hvd01lc3NhZ2UoIk5vIExhdW5jaGVyIEZvdW5kIik7c2V0V2F0Y2goKCk9Pntsb2FkKCk7fSwgZ2xvYmFsLkJUTjJ8fEJUTiwge3JlcGVhdDpmYWxzZSxlZGdlOiJmYWxsaW5nIn0pOycpOwpkZWxldGUgYjtkZWxldGUgY30pAChmdW5jdGlvbihiYXNlLGopIHt2YXIgbz17fSxhZGRyO2ZvciAodmFyIHJlZyBpbiBqKSB7YWRkcj1iYXNlK2pbcmVnXTtPYmplY3QuZGVmaW5lUHJvcGVydHkobyxyZWcse2dldDpwZWVrMzIuYmluZCh1bmRlZmluZWQsYWRkciksc2V0OnBva2UzMi5iaW5kKHVuZGVmaW5lZCxhZGRyKX0pO31yZXR1cm4gbzt9KQAoZnVuY3Rpb24oYSkge3ZhciBtPTAsZztmb3IgKHZhciBpIGluIGEpIGlmIChhW2ldPm0pIHsgbT1hW2ldO2c9aTsgfWlmIChnIT09dW5kZWZpbmVkKSB7dmFyIG49cmVxdWlyZSgnU3RvcmFnZScpLnJlYWQoJy50Zm5hbWVzJyk7aWYgKG4pIGc9bi5zcGxpdCgnLCcpW2ddO31yZXR1cm4gZzt9KQAoZnVuY3Rpb24oKXtCYW5nbGUuc2V0VUkoKTtjbGVhclRpbWVvdXQoKTtjbGVhckludGVydmFsKCk7Y2xlYXJXYXRjaCgpO0JhbmdsZS5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtFLnJlbW92ZUFsbExpc3RlbmVycygpO05SRi5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtCYW5nbGUuc2V0TENEQnJpZ2h0bmVzcygxKTtFLnNob3dNZW51KHsiIjp7dGl0bGU6IlJlY292ZXJ5In0sIkNsZWFuIEJvb3QiOigpPT57cmVzZXQoKX0sUmVib290OigpPT57RS5yZWJvb3QoKX0sIlR1cm4gT2ZmIjooKT0+e0JhbmdsZS5vZmYoKX0sIkZhY3RvcnkgUmVzZXQiOigpPT57RS5zaG93UHJvbXB0KCJBcmUgeW91IHN1cmU/XG5UaGlzIHdpbGwgcmVtb3ZlIGFsbCBkYXRhLiIse3RpdGxlOiJGYWN0b3J5IFJlc2V0In0pLnRoZW4oYT0+e2lmKCFhKXJldHVybiBCYW5nbGUuc2hvd1JlY292ZXJ5TWVudSgpO0Uuc2hvd01lc3NhZ2UoIlJlc2V0dGluZyIpO0JhbmdsZS5zZXRMQ0RUaW1lb3V0KDApOwpOUkYuZ2V0U2VjdXJpdHlTdGF0dXMoKS5jb25uZWN0ZWR8fFRlcm1pbmFsLnNldENvbnNvbGUoKTtCYW5nbGUuZmFjdG9yeVJlc2V0KCl9KX0sRXhpdDooKT0+ezA8cmVxdWlyZSgiU3RvcmFnZSIpLmxpc3QoKS5sZW5ndGg/KEUuc2hvd01lc3NhZ2UoIkxvYWRpbmcuLi4iKSxOUkYuZ2V0U2VjdXJpdHlTdGF0dXMoKS5jb25uZWN0ZWR8fFRlcm1pbmFsLnNldENvbnNvbGUoKSxsb2FkKCkpOkUucmVib290KCl9LCJBdHRlbXB0IENvbXBhY3QiOigpPT57RS5zaG93TWVzc2FnZSgiQ29tcGFjdGluZy4uLlxuTWF5IHRha2VcbjUgbWluLiIpO05SRi5nZXRTZWN1cml0eVN0YXR1cygpLmNvbm5lY3RlZHx8VGVybWluYWwuc2V0Q29uc29sZSgpO3JlcXVpcmUoIlN0b3JhZ2UiKS5jb21wYWN0KCk7RS5yZWJvb3QoKX0sIlJld3JpdGUgQm9vdGxvYWRlciI6KCk9PntzZXRUaW1lb3V0KGxvYWQsMUUzKTtldmFsKHJlcXVpcmUoIlN0b3JhZ2UiKS5yZWFkKCJib290dXBkYXRlLmpzIikpfX0pfSkAKGZ1bmN0aW9uKHUsYSl7ZnVuY3Rpb24gbigpe2cucmVzZXQoKS5zZXRGb250KCI2eDgiLDIpLnNldEZvbnRBbGlnbigwLC0xKTt2YXIgZj1CYW5nbGUuYXBwUmVjdC55LGU9Zy5nZXRXaWR0aCgpLGs9Zy5nZXRIZWlnaHQoKS1mLHE9Zy5nZXRGb250SGVpZ2h0KCkscD1nLndyYXBTdHJpbmcoYS50aXRsZSxlLTIpLHI9Zy53cmFwU3RyaW5nKHV8fCIiLGUtMiksYj1mKyhrKyhwLmxlbmd0aC1yLmxlbmd0aCkqcSkvMi0yNDthLmltZyYmKGs9Zy5pbWFnZU1ldHJpY3MoYS5pbWcpLGcuZHJhd0ltYWdlKGEuaW1nLChlLWsud2lkdGgpLzIsYi1rLmhlaWdodC8yKSxiKz00K2suaGVpZ2h0LzIpO3AmJmcuc2V0Q29sb3IoZy50aGVtZS5mZ0gpLnNldEJnQ29sb3IoZy50aGVtZS5iZ0gpLmNsZWFyUmVjdCgwLGYsZS0xLGYrNCtwLmxlbmd0aCpxKS5kcmF3U3RyaW5nKHAuam9pbigiXG4iKSxlLzIsZisyKTtnLnNldENvbG9yKGcudGhlbWUuZmcpLnNldEJnQ29sb3IoZy50aGVtZS5iZykuZHJhd1N0cmluZyhyLmpvaW4oIlxuIiksCmUvMixiKTtiKz1yLmxlbmd0aCpxKzMyO3ZhciBsPTA7Zy5zZXRGb250QWxpZ24oMCwwKTttLmZvckVhY2goaD0+bCs9MTYrZy5zdHJpbmdXaWR0aChoKSk7bD5lJiYoZy5zZXRGb250KCI2eDgiKSxsPTAsbS5mb3JFYWNoKGg9PmwrPTE2K2cuc3RyaW5nV2lkdGgoaCkpKTt2YXIgYz0oZS1sKS8yO20uZm9yRWFjaCgoaCx2KT0+e3ZhciB0PWcuc3RyaW5nV2lkdGgoaCk7Yys9KDE2K3QpLzI7dmFyIGQ9Mit0LzI7ZD1bYy1kLGItMTIsYytkLGItMTIsYytkKzQsYi04LGMrZCs0LGIrOCxjK2QsYisxMixjLWQsYisxMixjLWQtNCxiKzgsYy1kLTQsYi04LGMtZCxiLTEyXTtnLnNldENvbG9yKHY9PWEuc2VsZWN0ZWQ/Zy50aGVtZS5iZ0g6Zy50aGVtZS5iZykuZmlsbFBvbHkoZCkuc2V0Q29sb3Iodj09YS5zZWxlY3RlZD9nLnRoZW1lLmZnSDpnLnRoZW1lLmZnKS5kcmF3UG9seShkKS5kcmF3U3RyaW5nKGgsYyxiKzEpO2MrPSgxNit0KS8yfSk7QmFuZ2xlLnNldExDRFBvd2VyKDEpfWF8fAooYT17fSk7YS5idXR0b25zfHwoYS5idXR0b25zPXtZZXM6ITAsTm86ITF9KTt2YXIgbT1PYmplY3Qua2V5cyhhLmJ1dHRvbnMpO2Euc2VsZWN0ZWR8fChhLnNlbGVjdGVkPTApO2cucmVzZXQoKS5jbGVhclJlY3QoQmFuZ2xlLmFwcFJlY3QpO2lmKCF1KXJldHVybiBCYW5nbGUuc2V0VUkoKSxQcm9taXNlLnJlc29sdmUoKTtuKCk7cmV0dXJuIG5ldyBQcm9taXNlKGY9PntCYW5nbGUuc2V0VUkoe21vZGU6ImxlZnRyaWdodCIscmVtb3ZlOmEucmVtb3ZlLHJlZHJhdzpuLGJhY2s6YS5iYWNrfSxlPT57MD5lPzA8YS5zZWxlY3RlZCYmKGEuc2VsZWN0ZWQtLSxuKCkpOjA8ZT9hLnNlbGVjdGVkPG0ubGVuZ3RoLTEmJihhLnNlbGVjdGVkKyssbigpKTooRS5zaG93UHJvbXB0KCksZihhLmJ1dHRvbnNbbVthLnNlbGVjdGVkXV0pKX0pfSl9KQAoZnVuY3Rpb24oYixhKXsic3RyaW5nIj09dHlwZW9mIGEmJihhPXt0aXRsZTphfSk7YT1hfHx7fTthLmJ1dHRvbnM9e09rOjF9O2EuaW1nPXJlcXVpcmUoImhlYXRzaHJpbmsiKS5kZWNvbXByZXNzKGF0b2IoImxFbzRVQm92Ky8vL0JJTWdnRlZBQVFIQkFvWUlFQlExUUJJY0ZCSWRBQkljQkJBVlVIWXNWRGd3ZUVEZ2dlRUxRNEpLR0FjUCtBeURHQWNPMkF5REJKSTZEQklrQkJMcEtEQklnQUVCT0tCRUFCU3lHTVl3SlRHSWtCV2FiUkpkNmRWSXcwQkJJSXlER0FZSkJHUVl3RUR3d2NDRHd3Y0NBQVE1RkJRd0ZEQT0iKSk7cmV0dXJuIEUuc2hvd1Byb21wdChiLGEpfSkAKGZ1bmN0aW9uKGUsYSl7InN0cmluZyI9PXR5cGVvZiBhJiYoYT17dGl0bGU6YX0pO2E9YXx8e307Zy5yZXNldCgpLmNsZWFyUmVjdChCYW5nbGUuYXBwUmVjdCk7Zy5zZXRGb250KCI2eDgiLDEyODxnLmdldFdpZHRoKCk/MjoxKS5zZXRGb250QWxpZ24oMCwtMSk7dmFyIGM9QmFuZ2xlLmFwcFJlY3QueSxiPWcuZ2V0V2lkdGgoKSxkPWcuZ2V0SGVpZ2h0KCktYyxrPWcuZ2V0Rm9udEhlaWdodCgpLGY9Zy53cmFwU3RyaW5nKGEudGl0bGUsYi0yKTtlPWcud3JhcFN0cmluZyhlfHwiIixiLTIpO2Q9YysoZCsoZi5sZW5ndGgtZS5sZW5ndGgpKmspLzI7aWYoYS5pbWcpe3ZhciBoPWcuaW1hZ2VNZXRyaWNzKGEuaW1nKTtnLmRyYXdJbWFnZShhLmltZywoYi1oLndpZHRoKS8yLGQtaC5oZWlnaHQvMik7ZCs9NCtoLmhlaWdodC8yfWcuZHJhd1N0cmluZyhlLmpvaW4oIlxuIiksYi8yLGQpO2EudGl0bGUmJmcuc2V0Q29sb3IoZy50aGVtZS5mZ0gpLnNldEJnQ29sb3IoZy50aGVtZS5iZ0gpLmNsZWFyUmVjdCgwLApjLGItMSxjKzQrZi5sZW5ndGgqaykuZHJhd1N0cmluZyhmLmpvaW4oIlxuIiksYi8yLGMrMik7Zy5mbGlwKCk7QmFuZ2xlLnNldExDRFBvd2VyKDEpfSkAKGZ1bmN0aW9uKGEpe0JhbmdsZS51aVJlbW92ZT8oQmFuZ2xlLnNldFVJKCksKF9fRklMRV9fPWEpfHwoYT0iLmJvb3RjZGUiKSxzZXRUaW1lb3V0KGV2YWwsMCxyZXF1aXJlKCJTdG9yYWdlIikucmVhZChhKSkpOmxvYWQoIi5ib290Y2RlIiE9YT9hOnZvaWQgMCl9KQAoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe2lmKGQubWFpbiljLnNlbGVjdGVkPWQubWFpbi5zZWxlY3RlZCxjLnRpdGxlPWQubWFpbi50aXRsZSxlPWQubWFpbi5pdGVtcyxmPWQubWFpbi5tZW51SXRlbXMsZGVsZXRlIGQubWFpbixnLnJlc2V0KCkuY2xlYXJSZWN0KEJhbmdsZS5hcHBSZWN0KSxkLmRyYXcoKTtlbHNlIGlmKGVbIjwgQmFjayJdKWVbIjwgQmFjayJdKCl9Zy5yZXNldCgpLmNsZWFyUmVjdChCYW5nbGUuYXBwUmVjdCk7QmFuZ2xlLnNldExDRFBvd2VyKDEpO2lmKGUpe3ZhciBjPWVbIiJdLGY9T2JqZWN0LmtleXMoZSk7YyYmKGYuc3BsaWNlKGYuaW5kZXhPZigiIiksMSksYy5iYWNrJiYhZVsiPCBCYWNrIl0mJihlPU9iamVjdC5hc3NpZ24oeyI8IEJhY2siOmMuYmFja30sZSksZi51bnNoaWZ0KCI8IEJhY2siKSkpO2YuZm9yRWFjaChhPT57YT1lW2FdOyJvYmplY3QiIT10eXBlb2YgYXx8ImJvb2xlYW4iIT10eXBlb2YgYS52YWx1ZXx8CmEuZm9ybWF0fHwoYS5mb3JtYXQ9Yj0+YXRvYihiPyJBQXdNZ2dDLy8vNy8vLy8vLy8vLy84Ly8vdy8vL0QveThQLzRBLy84RC8vLy8vLy8vLysvLy80PSI6IkFBd01nUUQvK0FHQUdBR0FHQUdBR0FHQUdBR0FILzg9IikpfSk7YyBpbnN0YW5jZW9mIE9iamVjdHx8KGM9e30pO2MuZm9udEhlaWdodD1jLmZvbnRIZWlnaHR8fDE2O3ZvaWQgMD09PWMuc2VsZWN0ZWQmJihjLnNlbGVjdGVkPTApO2MuZm9udEhlaWdodHx8KGMuZm9udEhlaWdodD02KTtCYW5nbGUuc2V0VUkoe21vZGU6InVwZG93biIsYmFjazplWyI8IEJhY2siXT90OnZvaWQgMCxyZW1vdmU6Yy5yZW1vdmUscmVkcmF3OigpPT5kLmRyYXcoKX0sYT0+e2E/ZC5tb3ZlKGEpOmQuc2VsZWN0KCl9KTt2YXIgdT0oKT0+e307QmFuZ2xlLnRvdWNoSGFuZGxlcj11O3ZhciBxPUJhbmdsZS5hcHBSZWN0LHI9cS54LGw9cS54Mi0xMSxuPXEueSx2PXEueTItMjA7Yy50aXRsZSYmKG4rPWMuZm9udEhlaWdodCsyKTt2YXIgZD17bGFzdElkeDowLApkcmF3OmZ1bmN0aW9uKGEsYil7dmFyIHA9MHxNYXRoLm1pbigodi1uKS9jLmZvbnRIZWlnaHQsZi5sZW5ndGgpLGg9RS5jbGlwKGMuc2VsZWN0ZWQtKHA+PjEpLDAsZi5sZW5ndGgtcCk7aCE9ZC5sYXN0SWR4JiYoYT12b2lkIDApO2QubGFzdElkeD1oO3ZhciB3PWgrcDxmLmxlbmd0aCxrPW47Zy5yZXNldCgpLnNldEZvbnQoIjZ4OCIsMikuc2V0Rm9udEFsaWduKDAsLTEsMCk7Yy5wcmVkcmF3JiZjLnByZWRyYXcoZyk7dm9pZCAwPT09YSYmYy50aXRsZSYmZy5kcmF3U3RyaW5nKGMudGl0bGUsKHIrbCkvMixuLWMuZm9udEhlaWdodC0yKS5kcmF3TGluZShyLG4tMixsLG4tMik7dm9pZCAwIT09YSYmKGg8YSYmKGsrPWMuZm9udEhlaWdodCooYS1oKSxoPWEpLGgrcD5iJiYocD0xK2ItYSkpO2Zvcig7cC0tOyl7Yj1mW2hdO2E9ZVtiXTthLnRpdGxlJiYoYj1hLnRpdGxlKTt2YXIgbT1oPT1jLnNlbGVjdGVkJiYhZC5zZWxlY3RFZGl0O2cuc2V0Q29sb3IobT9nLnRoZW1lLmJnSDpnLnRoZW1lLmJnKS5maWxsUmVjdChyLAprLGwsaytjLmZvbnRIZWlnaHQtMSkuc2V0Q29sb3IobT9nLnRoZW1lLmZnSDpnLnRoZW1lLmZnKS5zZXRGb250QWxpZ24oLTEsLTEpLmRyYXdTdHJpbmcoYixyLGspOyJvYmplY3QiPT10eXBlb2YgYT8oYj1sLG09YS52YWx1ZSxhLmZvcm1hdCYmKG09YS5mb3JtYXQobSkpLGQuc2VsZWN0RWRpdCYmaD09Yy5zZWxlY3RlZCYmKGItPTI1LGcuc2V0Q29sb3IoZy50aGVtZS5iZ0gpLmZpbGxSZWN0KGItKGcuc3RyaW5nV2lkdGgobSkrNCksayxsLGsrYy5mb250SGVpZ2h0LTEpLnNldENvbG9yKGcudGhlbWUuZmdIKS5kcmF3SW1hZ2UoIlxmXHgwNVx4ODFceDAwIFx4MDdceDAwXHhmOVx4ZjBceDBlXHgwMEAiLGIsaysoYy5mb250SGVpZ2h0LTEwKS8yLHtzY2FsZToyfSkpLGcuc2V0Rm9udEFsaWduKDEsLTEpLHZvaWQgMCE9PW0mJmcuZHJhd1N0cmluZyhtLGItMixrKSk6ZC5tYWluJiZnLnNldEZvbnRBbGlnbigxLC0xKS5kcmF3U3RyaW5nKGF0b2IoZC5tYWluLnZhbHVlPT0KYT8iQUFvS2dRQWVIK2Y3Ly8vLy8vMytmNGVBIjoiQUFvS2dRQWVIK1liQThEd1BBMkdmNGVBIiksbCxrKTtnLnNldENvbG9yKGcudGhlbWUuZmcpO2srPWMuZm9udEhlaWdodDtoKyt9Zy5zZXRGb250QWxpZ24oLTEsLTEpO2cuZHJhd0ltYWdlKCJcYlxiXHgwMVx4MTA4fFx4ZmVceDEwXHgxMFx4MTBceDEwIixsKzIsNDApLmRyYXdJbWFnZSgiXGJcYlx4MDFceDEwXHgxMFx4MTBceDEwXHhmZXw4XHgxMCIsbCsyLDE5NCkuZHJhd0ltYWdlKCJcYlxiXHgwMVx4MDBcYlxmXHgwZVx4ZmZceDBlXGZcYiIsbCsyLDExNik7Zy5zZXRDb2xvcih3P2cudGhlbWUuZmc6Zy50aGVtZS5iZykuZmlsbFBvbHkoWzEwNCwyMjAsMTM2LDIyMCwxMjAsMjI4XSk7Zy5mbGlwKCl9LHNlbGVjdDpmdW5jdGlvbigpe3ZhciBhPWVbZltjLnNlbGVjdGVkXV07aWYoZC5tYWluKXt2YXIgYj1hO2E9ZC5tYWluLml0ZW1zW2QubWFpbi5tZW51SXRlbXNbZC5tYWluLnNlbGVjdGVkXV07CmEudmFsdWU9YjtkLmJhY2soKTthLm9uY2hhbmdlJiYoYS5vbmNoYW5nZShhLnZhbHVlKSxkLmRyYXcoYy5zZWxlY3RlZCxjLnNlbGVjdGVkKSl9ZWxzZSBpZigiZnVuY3Rpb24iPT10eXBlb2YgYSlhKGQpO2Vsc2UgaWYoIm9iamVjdCI9PXR5cGVvZiBhKXtpZigibnVtYmVyIj09dHlwZW9mIGEudmFsdWUpaWYoIWEubm9MaXN0JiZhLmZvcm1hdCYmMT09PShhLnN0ZXB8fDEpJiYwPT09YS5taW4mJjIwPmEubWF4KXtkLm1haW49e2l0ZW1zOmUsbWVudUl0ZW1zOmYsc2VsZWN0ZWQ6Yy5zZWxlY3RlZCx0aXRsZTpjLnRpdGxlLHZhbHVlOmEudmFsdWV9O2MudGl0bGU9ZltjLnNlbGVjdGVkXTtjLnNlbGVjdGVkPTA7ZT17fTtmb3IoYj1hLm1pbjtiPD1hLm1heDtiKyspZVthLmZvcm1hdChiKV09YixiPT1hLnZhbHVlJiYoYy5zZWxlY3RlZD1PYmplY3Qua2V5cyhlKS5sZW5ndGgtMSk7Zj1PYmplY3Qua2V5cyhlKTtnLnJlc2V0KCkuY2xlYXJSZWN0KEJhbmdsZS5hcHBSZWN0KTtkLmRyYXcoKX1lbHNlIGQuc2VsZWN0RWRpdD0KZC5zZWxlY3RFZGl0P3ZvaWQgMDphO2Vsc2UgaWYoImJvb2xlYW4iPT10eXBlb2YgYS52YWx1ZSYmKGEudmFsdWU9IWEudmFsdWUpLGEub25jaGFuZ2UpYS5vbmNoYW5nZShhLnZhbHVlKTtCYW5nbGUudG91Y2hIYW5kbGVyPT11JiZkLmRyYXcoKX19LG1vdmU6ZnVuY3Rpb24oYSl7dmFyIGI9ZC5zZWxlY3RFZGl0O2lmKGIpe2I9ZC5zZWxlY3RFZGl0O2IudmFsdWUtPShhfHwxKSooYi5zdGVwfHwxKTt2b2lkIDAhPT1iLm1pbiYmYi52YWx1ZTxiLm1pbiYmKGIudmFsdWU9Yi53cmFwP2IubWF4OmIubWluKTt2b2lkIDAhPT1iLm1heCYmYi52YWx1ZT5iLm1heCYmKGIudmFsdWU9Yi53cmFwP2IubWluOmIubWF4KTtpZihiLm9uY2hhbmdlKWIub25jaGFuZ2UoYi52YWx1ZSk7ZC5kcmF3KGMuc2VsZWN0ZWQsYy5zZWxlY3RlZCl9ZWxzZSBiPWMuc2VsZWN0ZWQsYy5zZWxlY3RlZD0oYStjLnNlbGVjdGVkK2YubGVuZ3RoKSVmLmxlbmd0aCxkLmRyYXcoTWF0aC5taW4oYixjLnNlbGVjdGVkKSwKTWF0aC5tYXgoYixjLnNlbGVjdGVkKSl9LGJhY2s6dH07ZC5kcmF3KCk7cmV0dXJuIGR9QmFuZ2xlLnNldFVJKCl9KQAoZnVuY3Rpb24oKXtCYW5nbGUubG9hZCgiLmJvb3RjZGUiKX0pAFRpbWVvdXQgKHN0YXJ0KQBBcmJpdHJhdGlvbiAoc3RhcnQpACV2LmFwcGx5KHRoaXMsYXJndW1lbnRzKQBTZWFyY2ggc3RyaW5nIGlzIHRvbyBsb25nICg+PSVkIGNoYXJzKQBNb2R1bGUgbmFtZSB0b28gbG9uZyAobWF4IDEyOCBjaGFycykASW50ZXJ2YWwgaXMgdG9vIGxvbmcgKD4xMDAgeWVhcnMpACVzICE9ICVzICglcyAhPSAlcykAVGltZW91dCAod3IpAFRpbWVvdXQgKHN0b3ApAEFyYml0cmF0aW9uIChzdG9wKQBhcmdzIG11c3QgYmUgYWRkQ2FjaGVkKHN0cmluZywgc3RyaW5nfGZ1bmN0aW9uKQBieXRlT2Zmc2V0IHRvbyBsYXJnZSAob3IgbmVnYXRpdmUpAE51bU91dHB1dHMobm9kZSkATnVtSW5wdXRzKG5vZGUpAFJlc2hhcGVPdXRwdXQoY29udGV4dCwgbm9kZSkAVGltZW91dCAocmQpAFRvbyBtYW55IGFyZ3VtZW50cyAoPiVkKQBuZXcgJXMoJWQpAFRvbyBtYW55IGJ1ZmZlcnMgKG1heCBpcyAlZCkAT3V0cHV0IGluZGV4ICVkIG91dCBvZiByYW5nZSAobGVuZ3RoIGlzICVkKQBJbnB1dCBpbmRleCAlZCBvdXQgb2YgcmFuZ2UgKGxlbmd0aCBpcyAlZCkAJXMgKG9mZnMgJWQsIGxlbiAlZCkAJXMgIT0gJXMgKCVkICE9ICVkKQBdKQBzZXRUaW1lb3V0KEJhbmdsZS5zaG93UmVjb3ZlcnlNZW51LDEwMCkARWRpdCBzaG91bGQgYmUgY2FsbGVkIHdpdGggZWRpdChmdW5jTmFtZSkgb3IgZWRpdCgnZnVuY05hbWUnKQBzZXRUaW1lb3V0KAAlcy5zZXR1cCgAc2V0SW50ZXJ2YWwoAC5yZXBsYWNlV2l0aCgAc2V0V2F0Y2goAEZ1bmN0aW9uIGNvZGUgbXVzdCBiZSBhIFN0cmluZywgZ290ICcldCcAU3RyaW5nOiclcycALCAlaiwgeyByZXBlYXQ6JXMsIGVkZ2U6JyVzJwAnZWRnZScgaW4gc2V0V2F0Y2ggc2hvdWxkIGJlIDEsIC0xLCAwLCAncmlzaW5nJywgJ2ZhbGxpbmcnIG9yICdib3RoJwBTUEkgb3JkZXIgc2hvdWxkIGJlICdtc2InIG9yICdsc2InAElmIENvbG9yIGlzIGEgU3RyaW5nLCBpdCBtdXN0IGJlIG9mIHRoZSBmb3JtICcjcnJnZ2JiJyBvciAnI3JnYicAIwBcIgBPdXRwdXQgdGVuc29ycyBub3QgYXQgaW5kZXggMCBhcmUgYWxsb2NhdGVkIGZyb20gdGhlIHBlcnNpc3RlbnQgbWVtb3J5IGFyZW5hLiBSZXBlYXQgY2FsbHMgd2lsbCBjYXVzZSBleGNlc3MgYWxsb2NhdGlvbiEASW5wdXQgdGVuc29ycyBub3QgYXQgaW5kZXggMCBhcmUgYWxsb2NhdGVkIGZyb20gdGhlIHBlcnNpc3RlbnQgbWVtb3J5IGFyZW5hLiBSZXBlYXQgY2FsbHMgd2lsbCBjYXVzZSBleGNlc3MgYWxsb2NhdGlvbiEARmlsZSB0b28gYmlnIQBGdW5jdGlvbiAlcSBub3QgZm91bmQhAEZ1bmN0aW9uIG5vdCBmb3VuZCEAUHVyZSB2aXJ0dWFsIGZ1bmN0aW9uIGNhbGxlZCEARnVuY3Rpb24gb3IgU3RyaW5nIG5vdCBzdXBwbGllZCEARmFpbGVkIHRvIHBvcHVsYXRlIGEgcGVyc2lzdGVudCBUZkxpdGVUZW5zb3Igc3RydWN0IGZyb20gZmxhdGJ1ZmZlciBkYXRhIQBGYWlsZWQgdG8gcG9wdWxhdGUgYSB0ZW1wIFRmTGl0ZVRlbnNvciBzdHJ1Y3QgZnJvbSBmbGF0YnVmZmVyIGRhdGEhAE9iamVjdCB7IABHZXR0ZXIvU2V0dGVyIHsgAEZ1bmN0aW9uIHsgAE5hdGl2ZUZ1bmN0aW9uIDB4JXggKCVkKSB7IAAgYXQgAFBhcmFtICVxIAByZXR1cm4gAGZ1bmN0aW9uIABpbiBmdW5jdGlvbiAlcSBjYWxsZWQgZnJvbSAAaW4gZnVuY3Rpb24gY2FsbGVkIGZyb20gAE5hbWUgACMlZFtyJWQsbCVkXSAAQXJyYXlCdWZmZXJOYW1lWyVkXSAAQXJyYXkoJWQpIFsgACBDT05TVCAAU0VUIAAldi4ldiA9IAB2YXIgJXYgPSAAJXY6IABFUlJPUjogAFdBUk5JTkc6IABDSElMRDogACA6IABXcml0aW5nIGluaXRpYWwgc3RvcmFnZSBjb250ZW50cy4uLiAAQ29tcGFjdGluZy4uLiAAIC4uLiAAJXYub24oJXEsIAApIAAgICAgAHsKICAARmFpbGVkIHRvIGdldCByZWdpc3RyYXRpb24gZnJvbSBvcCBjb2RlICVzCiAACCAAZmxvb2RGaWxsIG92ZXJmbG93CgBVbmNhdWdodCAldgoAbGluZSAlZCBjb2wgJWQgaW4gJXYKAE5ldyBpbnRlcnByZXRlciBlcnJvcjogJXYKACwgJWYpOyAvLyAldgoATGVzcyB0aGFuIDEwIHBlcmNlbnQgYmF0dGVyeSByZW1haW5pbmcgLSBjYW5ub3QgY29tcGFjdAoAG1s/N2wKIF9fX18gICAgICAgICAgICAgICAgIF8gCnwgIF9ffF9fXyBfX18gX19fIF8gX3xffF9fXyBfX18gCnwgIF9ffF8gLXwgLiB8ICBffCB8IHwgfCAgIHwgLiB8CnxfX19ffF9fX3wgIF98X3wgfF9fX3xffF98X3xfX198CiAgICAgICAgIHxffCBlc3BydWluby5jb20KIDJ2MjMgKGMpIDIwMjQgRy5XaWxsaWFtcwoAVXRpbCBUaW1lciAlcwoAID0gYm9vbCAlcwoALT4gJXMKADwtICVzCgBVbnN1cHBvcnRlZCBkYXRhIHR5cGUgJWQgaW4gdGVuc29yCgBzeXN0ZW0KAFRGIGVycm9yIC0gbm8gbW9kZWwKAC8vIENvZGUgc2F2ZWQgd2l0aCBFLnNldEJvb3RDb2RlCgBOb3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBidWlsZAoARXhlY3V0aW9uIEludGVycnVwdGVkCgBJbnZva2UoKSBjYWxsZWQgYWZ0ZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkCgBTa2lwcGluZyBvcCBmb3Igb3Bjb2RlX2luZGV4ICVkCgBNaXNzaW5nIHJlZ2lzdHJhdGlvbiBmb3Igb3Bjb2RlX2luZGV4ICVkCgAgPSBpbnQgJWQKAENvdWxkbid0IGNvbnZlcnQgcGluIGZ1bmN0aW9uICVkCgBsaW5lICVkIGNvbCAlZAoAVW5rbm93biB0eXBlICVkCgBGICVkCgBeCgBXUklURV9TSE9SVAoAUkVBRF9TSE9SVAoAV0FLRVVQCgBXUklURV9CWVRFCgBSRUFEX0JZVEUKACB9KTsKAE9iamVjdC5jcmVhdGUoJXYpOwoAcGluTW9kZSglcCwgJXElcyk7CgBzZXRCdXN5SW5kaWNhdG9yKCVwKTsKAHNldFNsZWVwSW5kaWNhdG9yKCVwKTsKAEUuc2V0RmxhZ3MoJWopOwoAZGlnaXRhbFdyaXRlKCVwLCAlZCk7CgBVbmFibGUgdG8gYWxsb2NhdGUgcXVhbnRpemF0aW9uLT56ZXJvX3BvaW50LgoAVW5zdXBwb3J0ZWQgYmVoYXZpb3I6IGZvdW5kIGJ1aWx0aW4gb3BlcmF0b3IgJXMgd2l0aCBjdXN0b20gb3B0aW9ucy4KAFVuYWJsZSB0byBhbGxvY2F0ZSBUZkxpdGVBZmZpbmVRdWFudGl6YXRpb24uCgBGYWlsZWQgc3RhcnRpbmcgbW9kZWwgYWxsb2NhdGlvbi4KAAogIExvZ2dlZCBpbi4KAEV4ZWN1dGlvbiBJbnRlcnJ1cHRlZCBkdXJpbmcgZXZlbnQgcHJvY2Vzc2luZy4KAApXcml0ZSBjb21wbGV0ZS4KAEVyYXNlIGNvbXBsZXRlLgoAT3BlcmF0b3Igd2l0aCBDVVNUT00gYnVpbHRpbl9jb2RlIGhhcyBubyBjdXN0b21fY29kZS4KAE5vIFRpbWVycyBmb3VuZC4KAE9ubHkgMSBzdWJncmFwaCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkLgoAcmVmLHNpemUsZmxhZ3MsbmFtZSxsaW5rcy4uLgoARXJhc2luZyBTdG9yYWdlIEFyZWEuLi4KAFJ1bm5pbmcgb25Jbml0KCkuLi4KAElucHV0IGFycmF5IG5vdCBwcm92aWRlZCBmb3Igb3BlcmF0aW9uICclcycuCgBGb3VuZCB0b28gbWFueSBkaW1lbnNpb25zIGluIHRoZSBpbnB1dCBhcnJheSBvZiBvcGVyYXRpb24gJyVzJy4KAEVYRUNVVEUgJXgoJXgpCgBOYnIgb2Ygb2ZmbGluZSBidWZmZXIgb2Zmc2V0cyAoJWQpIGluIG1ldGFkYXRhIG5vdCBlcXVhbCBuYnIgdGVuc29ycyAoJWQpCgBEaWRuJ3QgZmluZCBvcCBmb3IgYnVpbHRpbiBvcGNvZGUgJyVzJyB2ZXJzaW9uICclZCcKAEluaXRpYWwgc3RvcmFnZSBpcyB0b28gbGFyZ2UgdG8gZml0IGluIGludGVybmFsIFNQSSBmbGFzaCEKAApEb25lIQoACgo="); + base64DecodeToExistingUint8Array(bufferView, 94912, "AQYEAAILCQQAAAwHAAgDAQMDAwMDAwMDAwMAAA8QEQUAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAANAgQCAgICAgICAgICAgICAgICAgICAgICAgICAgAKDv8Ae30AeyVzfQBmdW5jdGlvbiBlKGEsYil7dm9pZCAwPT09YiYmKGI9MSk7cmV0dXJuIGEudG9GaXhlZChNYXRoLm1pbihiLGItTWF0aC5mbG9vcihNYXRoLmxvZyhhKS9NYXRoLmxvZygxMCkpKSl9ZXhwb3J0cz17bmFtZToic3lzdGVtIixjdXJyZW5jeVN5bToiXHhhMyIsdHJhbnNsYXRlOmE9PmEsZGF0ZTooYSxiKT0+Yj8oIjAiK2EuZ2V0RGF0ZSgpKS5zdWJzdHIoLTIpKyIvIisoIjAiKyhhLmdldE1vbnRoKCkrMSkpLnN1YnN0cigtMikrIi8iK2EuZ2V0RnVsbFllYXIoKTphLnRvU3RyaW5nKCkuc3Vic3RyKDQsMTEpLnRyaW0oKSx0aW1lOihhLGIpPT57dmFyIGM9YS5nZXRIb3VycygpLGQ9YS5nZXRNaW51dGVzKCk7KHJlcXVpcmUoIlN0b3JhZ2UiKS5yZWFkSlNPTigic2V0dGluZy5qc29uIiwxKXx8e30pWyIxMmhvdXIiXSYmKGM9MD09YyUxMj8xMjpjJTEyKTtpZihiKXJldHVybigiICIrYykuc3Vic3RyKC0yKSsiOiIrKCIwIitkKS5zdWJzdHIoLTIpOwpiPSJhbSI7MD09Yz9jPTEyOjEyPD1jJiYoMTI8YyYmKGMtPTEyKSxiPSJwbSIpO3JldHVybigiICIrYykuc3Vic3RyKC0yKSsiOiIrKCIwIitkKS5zdWJzdHIoLTIpKyIuIisoIjAiK2EuZ2V0U2Vjb25kcygpKS5zdWJzdHIoLTIpKyIgIitifSxkb3c6KGEsYik9PiJTdW5kYXkgTW9uZGF5IFR1ZXNkYXkgV2VkbmVzZGF5IFRodXJzZGF5IEZyaWRheSBTYXR1cmRheSIuc3BsaXQoIiAiKVthLmdldERheSgpXS5zdWJzdHIoMCxiPzM6MTApLG1vbnRoOihhLGIpPT4iSmFudWFyeSBGZWJydWFyeSBNYXJjaCBBcHJpbCBNYXkgSnVuZSBKdWx5IEF1Z3VzdCBTZXB0ZW1iZXIgT2N0b2JlciBOb3ZlbWJlciBEZWNlbWJlciIuc3BsaXQoIiAiKVthLmdldE1vbnRoKCldLnN1YnN0cigwLGI/MzoxMCksbnVtYmVyOihhLGIpPT57bnVsbD09YiYmKGI9Mik7dmFyIGM9YS50b0ZpeGVkKGIpLGQ9Y3wwO2E9MD5hPzE6MDtiPSgiIitNYXRoLmFicyhjLWQpLnRvRml4ZWQoYikpLnN1YnN0cigyLGIpO2Q9CiIiK2Q7Yz1kLmxlbmd0aDtmb3IodmFyIGY9IiI7KGMtPTMpPmE7KWY9IiwiK2Quc3Vic3RyKGMsMykrZjtyZXR1cm4gZC5zdWJzdHIoMCxjKzMpK2YrKGI/Ii4iK2I6IiIpfSxjdXJyZW5jeTphPT57Y29uc29sZS5sb2coIldhcm5pbmc6IEN1cnJlbmN5IGluZm9ybWF0aW9uIGlzIGRlcHJlY2F0ZWQiKTtyZXR1cm4iXHhhMyIrYS50b0ZpeGVkKDIpfSxkaXN0YW5jZTooYSxiKT0+MUUzPmE/ZShhLGIpKyJtIjplKGEvMUUzLGIpKyJrbSIsc3BlZWQ6KGEsYik9PmUoYS8xLjYwOTM0LGIpKyJtcGgiLHRlbXA6KGEsYik9PmUoYSxiKSsiJ0MiLG1lcmlkaWFuOmE9PjEyPj1hLmdldEhvdXJzKCk/ImFtIjoicG0ifQB7IFtuYXRpdmUgY29kZV0gfQAKfQAvLVx8AHsAdHoARnJlcXVlbmN5IG11c3QgYmUgYWJvdmUgMC4wMDFIegAjb25wYXJpdHkALUluZmluaXR5AGhpc3RvcnkATWF4aW11bSBudW1iZXIgb2YgcG9pbnRzICglZCkgZXhjZWVkZWQgZm9yIGZpbGxQb2x5AEFTQ0lJIG9ubHkAaW5hbGx5AFRoaXJkIGFyZ3VtZW50IHNob3VsZCBiZSBhIGZ1bmN0aW9uIG9yIGFycmF5AFVpbnQ4Q2xhbXBlZEFycmF5AFVpbnQ4QXJyYXkASW50OEFycmF5AFVpbnQxNkFycmF5AEludDE2QXJyYXkARmxvYXQ2NEFycmF5AFVpbnQyNEFycmF5AFVpbnQzMkFycmF5AEludDMyQXJyYXkARmxvYXQzMkFycmF5AGRheQB0eAByeAD/Z2Z4AGludGVybGVhdmV4AGluZGV4AGxhc3RJbmRleABhY2NIaXN0b3J5SWR4AFVuZmluaXNoZWQgY2hhcmFjdGVyIHNldCBpbiBSZWdFeABocm93AHRlbnNvcmZsb3cAVG9vIG11Y2ggcmVjdXJzaW9uIC0gdGhlIHN0YWNrIGlzIGFib3V0IHRvIG92ZXJmbG93AFVuYWJsZSB0byBhbGxvY2F0ZSBlbm91Z2ggUkFNIGZvciBUZW5zb3JGbG93AHN0ZXBDb3VudGVyVGhyZXNob2xkTG93AEFycmF5QnVmZmVyVmlldy5zdWJhcnJheSBjYW4gb25seSBiZSBjYWxsZWQgb24gYW4gQXJyYXlCdWZmZXJWaWV3AENhbiBvbmx5IGJlIGNhbGxlZCBvbiBhbiBBcnJheUJ1ZmZlclZpZXcARGF0YVZpZXcAI29uSFJNLWVudgBcdgBzZXRGb250JXYAI29uJXYAJXYuJXYAZGF0YTppbWFnZS9ibXA7YmFzZTY0LCV2AGZ1bmN0aW9uICV2AFVua25vd24gV2F0Y2ggJXYAJXY6ICV2AFVuaGFuZGxlZCBwcm9taXNlIHJlamVjdGlvbjogJXYARmFpbGVkIHRvIGFsbG9jYXRlIHRlbXAgbWVtb3J5LiBSZXF1ZXN0ZWQ6ICV1LCBhdmFpbGFibGUgJXUsIG1pc3Npbmc6ICV1AEZhaWxlZCB0byBhbGxvY2F0ZSB0YWlsIG1lbW9yeS4gUmVxdWVzdGVkOiAldSwgYXZhaWxhYmxlICV1LCBtaXNzaW5nOiAldQBGYWlsZWQgdG8gYWRqdXN0IGhlYWQgc2l6ZS4gUmVxdWVzdGVkOiAldSwgYXZhaWxhYmxlICV1LCBtaXNzaW5nOiAldQBuZXh0AGFmX291dHB1dABpbnB1dABVbmV4cGVjdGVkIGVuZCBvZiBJbnB1dAB0aW1lb3V0AHR3aXN0VGltZW91dABiYWNrbGlnaHRUaW1lb3V0AGxjZFBvd2VyVGltZW91dABsb2NrVGltZW91dABidG5Mb2FkVGltZW91dAAuYm9vdHJzdABvbnN0ACNvbnR3aXN0AHdha2VPblR3aXN0AGRzdABsYXN0AHBvcnQAZXhjZXB0AGNvdW50AHRyYXNoQ291bnQAZ2VzdHVyZUluYWN0aXZlQ291bnQAYWNjR2VzdHVyZUNvdW50AGZpbGVDb3VudABhY2NJZGxlQ291bnQAaW1hZ2VDb3VudABmcm9udABzZXRGb250AGFmZmluZV9xdWFudGl6YXRpb24tPnplcm9fcG9pbnQAb3V0cHV0LT5wYXJhbXMuemVyb19wb2ludAB0cmFuc3BhcmVudABFeHBlY3RlZCBlaXRoZXIgYW4gb2JqZWN0IG9yIGFuIGFycmF5IHdpdGggNiBlbnRyaWVzIGZvciBzZWNvbmQgYXJndW1lbnQAbW92ZW1lbnQAQXNzaWdubWVudCB0byBhIGNvbnN0YW50AE5vdCBlbm91Z2ggbWVtb3J5IGZvciByZXN1bHQAZWZhdWx0ACNvbmluaXQAb25Jbml0AGRyYWluV2FpdAByaWdodAAjb25taWRuaWdodAAjb25iYWNrbGlnaHQAaGVpZ2h0AG1heEltYWdlSGVpZ2h0AHNvZnQAZm9yY2VTb2Z0AGxlZnQAcHJvcGVydGllc09iamVjdCBpcyBub3Qgc3VwcG9ydGVkIHlldABTb2Z0d2FyZSBTZXJpYWwgQ0sgbm90IGltcGxlbWVudGVkIHlldABvZmZzZXQAYnl0ZU9mZnNldABnZXQAZGlyZWN0AG9iamVjdABPYmplY3QAZmlsbFJlY3QAaUZpbGxSZWN0AGZsb2F0AEZsYXQAcmVwZWF0AP9jYXQAXHQARmlyc3QgYXJndW1lbnQgbXVzdCBiZSBBcnJheSwgbm90ICV0AEV4cGVjdGluZyBvcHRpb25zIHRvIGJlIHVuZGVmaW5lZCBvciBhbiBPYmplY3QsIG5vdCAldABGT1IgbG9vcCBjYW4gb25seSBpdGVyYXRlIG92ZXIgQXJyYXlzLCBTdHJpbmdzIG9yIE9iamVjdHMsIG5vdCAldABmb3IoYSAlcyBiKSAtICdhJyBtdXN0IGJlIGEgdmFyaWFibGUgbmFtZSwgbm90ICV0AEZpcnN0IGFyZ3VtZW50IG11c3QgaXRlcmFibGUsIG5vdCAldABFeHBlY3RpbmcgQ2FsbGJhY2sgRnVuY3Rpb24gb3IgYW4gT2JqZWN0IGJ1dCBnb3QgJXQARXhwZWN0aW5nIE51bWJlciBvciBBcnJheSwgZ290ICV0AEZpcnN0IGFyZ3VtZW50IG11c3QgYmUgT2JqZWN0LCBGdW5jdGlvbiBvciBBcnJheSwgZ290ICV0AEV4cGVjdGluZyBTdHJpbmcgb3IgQXJyYXksIGdvdCAldABFeHBlY3RpbmcgU3RyaW5nIGFzIGZpcnN0IGFyZ3VtZW50LCBnb3QgJXQAUHJvdG90eXBlIHNob3VsZCBiZSBhbiBvYmplY3QsIGdvdCAldABFeHBlY3RpbmcgT2JqZWN0LCBnb3QgJXQARmlyc3QgYXJndW1lbnQgbXVzdCBiZSBPYmplY3QsIGdvdCAldABTZWNvbmQgYXJndW1lbnQgbXVzdCBiZSBPYmplY3QsIGdvdCAldABQcm9wZXJ0eSBkZXNjcmlwdGlvbiBtdXN0IGJlIE9iamVjdCwgZ290ICV0AEFkZHJlc3Mgc2hvdWxkIGJlIGFuIGludGVnZXIsIGdvdCAldABFeHBlY3RpbmcgQXJyYXlCdWZmZXIsIGdvdCAldABGdW5jdGlvbi5iaW5kIGV4cGVjdHMgdG8gYmUgY2FsbGVkIG9uIGZ1bmN0aW9uLCBnb3QgJXQARXhwZWN0aW5nIGZ1bmN0aW9uLCBnb3QgJXQARXhwZWN0aW5nIGNvbXBhcmUgZnVuY3Rpb24sIGdvdCAldAAnZXh0ZW5kcycgYXJndW1lbnQgJXEgc2hvdWxkIGJlIGEgZnVuY3Rpb24sIGdvdCAldABFeHBlY3RpbmcgbW9kdWxlIG5hbWUgYXMgYSBzdHJpbmcsIGdvdCAldABFeHBlY3RpbmcgU3RyaW5nLCBnb3QgJXQARXhwZWN0aW5nIE51bWJlciBvciBpdGVyYWJsZSwgZ290ICV0AEV4cGVjdGluZyBzb21ldGhpbmcgaXRlcmFibGUsIGdvdCAldABTZWNvbmQgYXJndW1lbnQgdG8gRnVuY3Rpb24uYXBwbHkgbXVzdCBiZSBpdGVyYWJsZSwgZ290ICV0AEV4cGVjdGluZyBPYmplY3Qgb3IgdW5kZWZpbmVkLCBnb3QgJXQARXhwZWN0aW5nIGZ1bmN0aW9uIG9uIFJIUywgZ290ICV0AENvbnN0cnVjdG9yIHNob3VsZCBiZSBhIGZ1bmN0aW9uLCBidXQgaXMgJXQARmllbGQgb3IgbWV0aG9kICVxIGRvZXMgbm90IGFscmVhZHkgZXhpc3QsIGFuZCBjYW4ndCBjcmVhdGUgaXQgb24gJXQAVW5zdXBwb3J0ZWQgZmlyc3QgYXJndW1lbnQgb2YgdHlwZSAldABVbmFibGUgdG8gYXNzaWduIHZhbHVlIHRvIG5vbi1yZWZlcmVuY2UgJXQAQ2FuJ3QgZXh0ZW5kICV0AEV4cGVjdGluZyBmaXJzdCAyIGFyZ3VtZW50cyB0byBiZSBpdGVyYWJsZSwgbm90ICV0IGFuZCAldABFeHBlY3RpbmcgZmlyc3QgMiBhcmd1bWVudHMgdG8gYmUgaXRlcmFibGUgb3IgdW5kZWZpbmVkLCBub3QgJXQgYW5kICV0AENhbid0IHVzZSAnaW4nIG9wZXJhdG9yIHRvIHNlYXJjaCBhICV0AE9iamVjdCBwcm90b3R5cGUgbWF5IG9ubHkgYmUgYW4gT2JqZWN0IG9yIG51bGw6ICV0ACwgcmVwZWF0ICUwOGQgdXMAZXhwb3J0cwBFLnN0b3BFdmVudFByb3BhZ2F0aW9uKCkgY2FsbGVkIHdoZW4gbm90IGhhbmRsaW5nIGV2ZW50cwBJbnN1ZmZpY2llbnQgc3RhY2sgZm9yIHRoaXMgbWFueSBhcmd1bWVudHMAVW5leHBlY3RlZCBhcmd1bWVudHMAbnVtX291dHB1dF9lbGVtZW50cwBudW1faW5wdXRfZWxlbWVudHMAUGFsZXR0ZSBzcGVjaWZpZWQsIGJ1dCBtdXN0IGJlIGEgZmxhdCBVaW50MTZBcnJheSBvZiAyLDQsOCwxNiwyNTYgZWxlbWVudHMAc3RvcGJpdHMASW52YWxpZCBudW1iZXIgb2YgYml0cwBjdHMAYWRkcmVzcwBwcm9jZXNzAGNvbXBhc3MAQ2FsbGluZyAnc3VwZXInIG91dHNpZGUgb2YgY2xhc3MAZXJyb3JzAGNvbG9yX29yZGVyIG11c3QgYmUgMyBjaGFyYWN0ZXJzAHRpbWVycwBGaXJzdCAyIGFyZ3VtZW50cyBzaG91bGQgYmUgYXJyYXkgYnVmZmVycwB2ZXJ0aWNhbF9ieXRlIG9ubHkgd29ya3MgZm9yIDFicHAgQXJyYXlCdWZmZXJzAHVucmVuZGVyYWJsZUNoYXJzAHN0ZXBzAF9vcHRpb25zAEludmFsaWQgb3B0aW9ucwBmdW5jdGlvbnMAQ29weXJpZ2h0IDIwMjEgRy5XaWxsaWFtcwBudW1fY2hhbm5lbHMAanMAdGhpcwD/dGhzAGFyZ3MAZmxhZ3MAdG90YWxCeXRlcwB0cmFzaEJ5dGVzAGZpbGVCeXRlcwBmcmVlQnl0ZXMA/3JlcwBwaXBlcwBmcmFtZXMAbW9kdWxlcwBFeHBlY3RpbmcgQXJyYXkgZm9yIGZpcnN0IGFyZ3VtZW50IHdpdGggPCVkIGVudHJpZXMAd2F0Y2hlcwBDYW4ndCBoYXZlIHBhbGV0dGUgb24gPjggYml0IGltYWdlcwBzZXRDb25zb2xlIGNhbid0IGJlIHVzZWQgb24gJ3NvZnQnIG9yIG5vbi1TZXJpYWwgZGV2aWNlcwBzZXRDb25zb2xlIGNhbid0IGJlIHVzZWQgb24gJ3NvZnQnIGRldmljZXMAbm9ib3VuZHMARGF0ZSBvdXQgb2YgYm91bmRzAHh0ZW5kcwBHcmFwaGljcwBBRENzACV2JXMAJXElcwAlUSVzAElEOiVzAEV4cGVjdGluZyB2YWxpZCB2YWx1ZSwgZ290ICVzAERpZCBub3QgZmluZCBhIHBhcnNlciBmb3IgJXMAQm9vbCAlcwBDYW4ndCByZWFkIHByb3BlcnR5ICclcycgb2YgJXMARmFpbGVkIHRvIHJlZ2lzdGVyIHNjcmF0Y2ggYnVmZmVyIGhhbmRsZSBmb3Igbm9kZSAlcwBHb3QgJXMgZXhwZWN0ZWQgJXMASTJDIEVycm9yOiAlcwByZWN1cgBwYXJhbXMgIT0gbnVsbHB0cgBwbGFubmVyX2FyZW5hICE9IG51bGxwdHIAaW50cgB4b3IAVmFyaWFibGVzIG9mIHR5cGUgJXQgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gZGF0ZSBjb25zdHJ1Y3RvcgBGdW5jdGlvbiByZXF1aXJlZCBpbiBwcm9taXNlIGNvbnN0cnVjdG9yAFZlY3RvcgAub2ZmIG5vdCBpbXBsZW1lbnRlZCBvbiBlbXVsYXRvcgBVbmFibGUgdG8gZ2V0IHRlbnNvcgBTeW50YXhFcnJvcgBJbnRlcm5hbEVycm9yAFR5cGVFcnJvcgBSZWZlcmVuY2VFcnJvcgBkaXIAYmdyACNvbmxjZFBvd2VyAGNlbnRlcgBmaWx0ZXIAVEZNaWNyb0ludGVycHJldGVyAHVwZXIAVW5hYmxlIHRvIHNjaGVkdWxlIGEgdGltZXIAVGltZW91dCBvbiBVdGlsaXR5IFRpbWVyAEludGVycnVwdGVkIGluIFV0aWxpdHkgVGltZXIAZWJ1Z2dlcgBGb250IHdpZHRoIG11c3QgYmUgYSBTdHJpbmcgb3IgYW4gaW50ZWdlcgBJbnRlZ2VyACNvbmJ1ZmZlcgAuYnVmZmVyAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGFsbG9jYXRlIG9mZnNjcmVlbiBidWZmZXIATW9kZWwgaXMgbm90IGEgRmxhdCBTdHJpbmcvQXJyYXlCdWZmZXIASW52YWxpZCBsZW5ndGggZm9yIEFycmF5QnVmZmVyAHVua25vd24gQXJyYXlCdWZmZXIAY3VycmVudEJ1ZmZlcgBkb3VibGVCdWZmZXIAY29sb3Jfb3JkZXIAU3RyaW5nIHRvbyBiaWcgdG8gY29udmVydCB0byBudW1iZXIAUHVsc2UgVGltZSBpcyBsZXNzIHRoYW4gMCBvciBub3QgYSBudW1iZXIATnVtYmVyAGFkZHIAZ2JyAEpzVmFyAFxyAGlycQBmcmVxACVxJXMlcQBJbnZhbGlkIE9uZVdpcmUgZGV2aWNlIGFkZHJlc3MgJXEAVW5rbm93biBvcHRpb24gJXEAVW5rbm93biBvcCB0eXBlICVxAFVua25vd24gZGV2aWNlIHR5cGUgJXEAVW5rbm93biByYW5nZSBuYW1lICVxAFVuYWJsZSB0byBsb2FkIG1vZHVsZSAlcQAlc1N0cmluZyBbJWQgYmxvY2tzXSAlcQBJbnZhbGlkIGZsb3cgY29udHJvbDogJXEAUmVnRXhwAGlucHV0X3B1bGx1cABvcGVuZHJhaW5fcHVsbHVwAGJwcABzdG9wAENPTlRJTlVFIHN0YXRlbWVudCBvdXRzaWRlIG9mIEZPUiBvciBXSElMRSBsb29wAEJSRUFLIHN0YXRlbWVudCBvdXRzaWRlIG9mIFNXSVRDSCwgRk9SIG9yIFdISUxFIGxvb3AAZmxpcAAjb25zdGVwAGJlZXAAI29udGFwAHNldEZvbnRCaXRtYXAAd2FrZU9uRG91YmxlVGFwACNvbmZhY2VVcAB3YWtlT25GYWNlVXAAYXV0bwBtaXNvAGJhcm8A/3NjbwBMaW1ibwD/bgBpbnB1dF9wdWxsZG93bgD/cnRuAGV0dXJuAHhvbgBidXR0b24Ac2V0dGluZy5qc29uAGxvbgAjb251bmNhdWdodEV4Y2VwdGlvbgBpcnE9dHJ1ZSBzZXQsIGJ1dCBmdW5jdGlvbiBpcyBub3QgYSBuYXRpdmUgZnVuY3Rpb24ARWRpdCBzaG91bGQgYmUgY2FsbGVkIHdpdGggdGhlIG5hbWUgb2YgYSBmdW5jdGlvbgBDYW4gb25seSB1c2UgJ2FyZ3VtZW50cycgdmFyaWFibGUgaW5zaWRlIGEgZnVuY3Rpb24ARmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uAEFyZ3VtZW50IHNob3VsZCBiZSBhIGZ1bmN0aW9uAEZ1bmN0aW9uAGFmZmluZV9xdWFudGl6YXRpb24Aa1RmTGl0ZUFmZmluZVF1YW50aXphdGlvbgBWYXJpYWJsZSB0eXBlICV0IG5vdCBzdWl0ZWQgdG8gdHJhbnNtaXQgb3BlcmF0aW9uAGRlc3RpbmF0aW9uACNvbgBJbnZhbGlkIHBpbgAxMG1pbgBhZl9vcGVuZHJhaW4AUGluAP90aG4Ac2V0Rm9udEFsaWduAGV2ZW4AdGhlbgBib29sZWFuAFxuAC5ib290UG93ZXJPbgBudW0AVG9vIG1hbnkgcGlucyEgJWQgTWF4aW11bQBXYXZlZm9ybQBGdW5jdGlvbiBtYXJrZWQgd2l0aCAiY29tcGlsZWQiIHVwbG9hZGVkIGluIHNvdXJjZSBmb3JtAGJvdHRvbQBzZXRGb250Q3VzdG9tAHByb20Ac3RyZXRjaF9kaW0AcmFtAP9uYW0AcmVzbABib29sAGNsa1BvbABudWxsACNvbmtpbGwAc2V0UGl4ZWwAQ2FuJ3QgdXNlIGZsb29kRmlsbCBvbiBHcmFwaGljcyB3aXRoIG5vIGdldFBpeGVsAGlTZXRQaXhlbABjaGFubmVsAC50Zm1vZGVsAE1pY3JvQWxsb2NhdG9yOiBNb2RlbCBhbGxvY2F0aW9uIGZpbmlzaGVkIGJlZm9yZSBzdGFydGluZyBhbGxvY2F0aW5nIG1vZGVsAE1pY3JvQWxsb2NhdG9yOiBNb2RlbCBhbGxvY2F0aW9uIHN0YXJ0ZWQgYmVmb3JlIGZpbmlzaGluZyBwcmV2aW91c2x5IGFsbG9jYXRlZCBtb2RlbAAjb25hY2NlbABzY2wA/3ZhbABJbnZhbGlkIGludGVydmFsAHBvbGxJbnRlcnZhbABVbmtub3duIEludGVydmFsAHRvdGFsAFRlcm1pbmFsAHN3c2VyaWFsAFNlcmlhbABkYXJrAGNodW5rAGhlYXRzaHJpbmsAY2xrAHNjawAjb25sb2NrAHN0YWNrAGNhbGxiYWNrAHJlYWsAa1RmTGl0ZU9rAElmIHNwZWNpZnlpbmcgYW4gb2JqZWN0LCBpdCBtdXN0IGJlIG9mIHRoZSBmb3JtIHtkYXRhIDogLi4uLCBjb3VudCA6IE59IG9yIHtjYWxsYmFjayA6IGZufSAtIGdvdCAlagBVbmtub3duIGZvbnQgJWoAVW5rbm93biBpbWFnZSB0eXBlICVqAEludmFsaWQgbW9kZSAlagBVbmtub3duIExDRCBNb2RlICVqAGV4dGkAbW9zaQBtaQBib3RoACNvbmhlYWx0aABJbnZhbGlkIGFycmF5IGxlbmd0aABnZXN0dXJlTWluTGVuZ3RoAGJ5dGVMZW5ndGgAd2lkdGgAI29uZmluaXNoAGdlc3R1cmVTdGFydFRocmVzaABnZXN0dXJlRW5kVGhyZXNoAC5zcGxhc2gARmxhc2gAc3RlcENvdW50ZXJUaHJlc2hvbGRIaWdoACNvbnRvdWNoAHdha2VPblRvdWNoAHdpdGNoAFVuYWJsZSB0byBzZXQgd2F0Y2guIFlvdSBtYXkgYWxyZWFkeSBoYXZlIGEgd2F0Y2ggb24gYSBwaW4gd2l0aCB0aGUgc2FtZSBudW1iZXIgKGVnLiBBMCBhbmQgQjApLApvciB0aGlzIHBpbiBjYW5ub3QgYmUgdXNlZCB3aXRoIHdhdGNoAGJyZwBhbmFsb2cAQXJyYXlCdWZmZXIgdG9vIGxvbmcAcmlzaW5nAFZhcmlhYmxlIHR5cGUgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBzdHJpbmcAdG9TdHJpbmcARmlyc3QgYXJndW1lbnQgbXVzdCBiZSBPYmplY3Qgb3IgU3RyaW5nAEV4cGVjdGluZyBTdHJpbmcARmlyc3QgYXJndW1lbnQgbXVzdCBiZSBTdHJpbmcAU2Vjb25kIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbiBvciBhIFN0cmluZwBGb250IGJpdG1hcCBtdXN0IGJlIGEgU3RyaW5nAFdhdmVmb3JtIGlzIGFscmVhZHkgcnVubmluZwBXYXZlZm9ybSBpcyBub3QgcnVubmluZwAjb25mcmFtaW5nAGZhbGxpbmcAI29uY2hhcmdpbmcALmxvYWRpbmcAZmcAcmJnAHppZ3phZwAjb25tYWcAI29uZXJyb3JGbGFnAP9idWYAc2YAeXBlb2YAbnN0YW5jZW9mAElsbGVnYWwgcmVzb2x2aW5nIHRvIHNlbGYAb2ZmAGRpZmYAYWYAXGYASW52YWxpZCB0eXBlICV0IGZvciB2YWx1ZU9mAERvdWJsZSAlZgAsIGRlYm91bmNlIDogJWYAUmVxdWFudGl6ZQBibG9ja3NpemUAYnl0ZXNpemUAYWZmaW5lX3F1YW50aXphdGlvbi0+emVyb19wb2ludC0+c2l6ZQBub2RlLT5vdXRwdXRzLT5zaXplAGFmZmluZV9xdWFudGl6YXRpb24tPnNjYWxlLT5zaXplAFRvbyBtdWNoIGRhdGEgZm9yIGZpbGUgc2l6ZQBjaHVua1NpemUASW52YWxpZCBTaXplAEludmFsaWQgQXJlbmEgU2l6ZQBOYXRpdmUAd2F2ZQBwb3dlclNhdmUAQ2FuJ3QgaGF2ZSBhIGRhdGEgcGluIGFuZCBpcnE6dHJ1ZQAsIHRydWUAb250aW51ZQBJbnZhbGlkIGNvdW50IHZhbHVlAFVzZWQgb24gZW1wdHkgYXJyYXkgd2l0aCBubyBpbml0aWFsIHZhbHVlAFVua25vd24gdHlwZSBvZiBjYWxsYmFjayBpbiBFdmVudCBRdWV1ZQBoZWlnaHQgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDggd2hlbiB1c2luZyB2ZXJ0aWNhbF9ieXRlAHBhbGV0dGUAQ2FuJ3QgZ2V0IHBvaW50ZXIgdG8gZGF0YSB0byB3cml0ZQAjb25jb21wbGV0ZQBlbGV0ZQBzdGF0ZQByb3RhdGUASW52YWxpZCBJMkMgYml0cmF0ZQBfYmF1ZHJhdGUAdmlicmF0ZQBJbnZhbGlkIFNQSSBiYXVkIHJhdGUARGF0ZQBjb21wb3NlAGNsb3NlAGZhbHNlAFByb21pc2UAYXNlACNvbmdlc3R1cmUAI29uYWlHZXN0dXJlAEludmFsaWQgU2lnbmF0dXJlAG1vcmUAT25lV2lyZQAucHJvdG90eXBlAE9wZXJhdGlvbiAlcyBub3Qgc3VwcG9ydGVkIG9uIHRoZSAlcyBkYXRhdHlwZQBvdXRwdXQtPnR5cGUAaW5wdXQtPnR5cGUAZmlsdGVyLT50eXBlAG91dHB1dC0+cXVhbnRpemF0aW9uLnR5cGUAaW5wdXQtPnF1YW50aXphdGlvbi50eXBlAGZpbHRlci0+cXVhbnRpemF0aW9uLnR5cGUAVW5rbm93biB0eXBlACNvbnN3aXBlAFBpcGUAcmVzaGFwZQBub25lAGdjdGltZQBsYXN0VGltZQB0aGVtZQBmcmFtZQBuYW1lAG1vZHVsZQBoaWxlAENhbid0IGNyZWF0ZSB6ZXJvIGxlbmd0aCBmaWxlAFVuYWJsZSB0byBmaW5kIG9yIGNyZWF0ZSBmaWxlAFN0b3JhZ2VGaWxlAEJhbmdsZQBkb3VibGUARG91YmxlAHdyaXRhYmxlAGNvbmZpZ3VyYWJsZQBNdXN0IGJlIGNhbGxlZCBvbiBzb21ldGhpbmcgaXRlcmFibGUAZW51bWVyYWJsZQBhZmZpbmVfcXVhbnRpemF0aW9uLT5zY2FsZQBGbGFzaCxTdG9yYWdlLGhlYXRzaHJpbmssdGVuc29yZmxvdyxsb2NhbGUARmlyc3QgY2hhcmFjdGVyIG91dCBvZiByYW5nZQBlZGdlAHVzYWdlAG1lc3NhZ2UAU3RvcmFnZQBpbWFnZQBFeHBlY3RpbmcgdmFsaWQgSW1hZ2UAZnJlZQBDYW4ndCB3cml0ZSBpbiB0aGlzIG1vZGUAQ2FuJ3QgcmVhZCBpbiB0aGlzIG1vZGUAVW5rbm93biBwaW4gbW9kZQAuYm9vdGNkZQBzb3VyY2UAZm9yY2UAZGVib3VuY2UASW52YWxpZCBlc2NhcGUgc2VxdWVuY2UAZGV2aWNlAHNUcmFjZQBwd2QAYmF1ZABwYXNzd29yZABEZXN0aW5hdGlvbiBTdHJlYW0gZG9lcyBub3QgaW1wbGVtZW50IHRoZSByZXF1aXJlZCB3cml0ZShidWZmZXIpIG1ldGhvZABTb3VyY2UgU3RyZWFtIGRvZXMgbm90IGltcGxlbWVudCB0aGUgcmVxdWlyZWQgcmVhZChsZW5ndGgpIG1ldGhvZABEZXN0aW5hdGlvbiBvYmplY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSByZXF1aXJlZCB3cml0ZShidWZmZXIsIGxlbmd0aCkgbWV0aG9kAFNvdXJjZSBvYmplY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSByZXF1aXJlZCByZWFkKGJ1ZmZlciwgbGVuZ3RoKSBtZXRob2QA/2NvZABNb2R1bGUgJXEgbm90IGZvdW5kAGVuZAB0d2lzdFRocmVzaG9sZABVbmljb2RlIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBidWlsZABQQkYgRm9udHMgbm90IGVuYWJsZWQgb24gdGhpcyBidWlsZABvaWQATmVzdGluZyAnbmV3JyBvcGVyYXRvcnMgaXMgdW5zdXBwb3J0ZWQAQ0FTRSBhZnRlciBERUZBVUxUIHVuc3VwcG9ydGVkAElucHV0IHR5cGUgJXMgaXMgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQAVGFnZ2VkIHRlbXBsYXRlIGxpdGVyYWxzIG5vdCBzdXBwb3J0ZWQAQmFja3JlZmVyZW5jZXMgbm90IHN1cHBvcnRlZABUYWdnZWQgVGVtcGxhdGVzIGFyZSBub3Qgc3VwcG9ydGVkAEludmFsaWQgQlBQIC0gMSwyLDQgc3VwcG9ydGVkAHN0YXJ0ZWQAVEZNaWNyb0ludGVycHJldGVyIHN0cnVjdHVyZSBjb3JydXB0ZWQARW11bGF0ZWQAaXJxPXRydWUgc2V0LCBidXQgd2F0Y2ggaXMgYWxyZWFkeSB1c2VkAEZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIGNvbnRleHQtPmV2YWxfdGVuc29ycywgJWQgYnl0ZXMgcmVxdWlyZWQARmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgYWxsb2NhdGlvbl9pbmZvLCAlZCBieXRlcyByZXF1aXJlZABkb3VibGVidWZmZXJlZABXYXZlZm9ybSBjb3VsZG4ndCBiZSBzdG9wcGVkAFNlY29uZCBhcmd1bWVudCBtdXN0IGJlIE9iamVjdCBvciB1bmRlZmluZWQARmlyc3QgYXJndW1lbnQgbXVzdCBiZSBTdHJpbmcgb3IgdW5kZWZpbmVkACdvcHRpb25zJyBtdXN0IGJlIGFuIG9iamVjdCwgb3IgdW5kZWZpbmVkACVxIGlzIG5vdCBkZWZpbmVkAERhdGEgaXMgbm90IGRlZmluZWQAY29tcGlsZWQATWljcm9JbnRlcnByZXRlciBjcmVhdGlvbiBmYWlsZWQAVEZNaWNyb0ludGVycHJldGVyIGludm9rZSBmYWlsZWQASW52b2tlIGZhaWxlZABzZXRNb2RpZmllZABoaXNwZWVkAG9kZABhZGQAbGNkACdFLmFzbScgY2FsbHMgc2hvdWxkIGhhdmUgYmVlbiByZXBsYWNlZCBieSB0aGUgRXNwcnVpbm8gdG9vbHMgYmVmb3JlIHVwbG9hZAAnRS5jb21waWxlZEMnIGNhbGxzIHNob3VsZCBoYXZlIGJlZW4gcmVwbGFjZWQgYnkgdGhlIEVzcHJ1aW5vIHRvb2xzIGJlZm9yZSB1cGxvYWQAY2xlYXIlcyh1bmRlZmluZWQpIG5vdCBhbGxvd2VkLiBVc2UgY2xlYXIlcygpIGluc3RlYWQAY2xlYXJXYXRjaCh1bmRlZmluZWQpIG5vdCBhbGxvd2VkLiBVc2UgY2xlYXJXYXRjaCgpIGluc3RlYWQAcmVhZAAlZC0lMDJkLSUwMmRUJTAyZDolMDJkOiUwMmQuJTAzZCVjJTA0ZAAlcyAlcyAlZCAlZCAlMDJkOiUwMmQ6JTAyZCBHTVQlYyUwNGQAJXM6JWR4JWQAJXM6JWQAVW5zdXBwb3J0ZWQgVGVuc29yIGZvcm1hdCBUZkxpdGVUeXBlOiVkACVzLnNldHVwKCVkAEludmFsaWQgcGFyaXR5ICVkAEFycmF5IHBhc3NlZCB0byBGdW5jdGlvbi5hcHBseSBpcyB0b28gYmlnISBNYXhpbXVtIDI1NiBhcmd1bWVudHMsIGdvdCAlZABOb2RlICVzIChudW1iZXIgJWRmKSBmYWlsZWQgdG8gcHJlcGFyZSB3aXRoIHN0YXR1cyAlZABOb2RlICVzIChudW1iZXIgJWQpIGZhaWxlZCB0byBpbnZva2Ugd2l0aCBzdGF0dXMgJWQARmFpbGVkIHRvIGluaXRpYWxpemUgdGVuc29yICVkAEludGVnZXIgJWQARXJyb3IgUGFyc2luZyBzaWduYXR1cmUgYXQgYXJndW1lbnQgbnVtYmVyICVkAGJ1ZmZlciBpbmRleCAlZCBpcyBvdXRzaWRlIHJhbmdlIDAgdG8gJWQAVW5rbm93biAlZABQaW4gJWQARmFpbGVkIHRvIGFsbG9jYXRlIHZhcmlhYmxlIHRlbnNvciBvZiBzaXplICVkAEludmFsaWQgYmF1ZCByYXRlICVkAFVua25vd24gYXJnc3BlYyAlZABMb2dpYyBlcnJvciBpbiBtZW1vcnkgcGxhbm5lciwgdGVuc29yICVkIGhhcyBhbiBpbnZhbGlkIGxpZmV0aW1lOiBmaXJzdF9jcmVhdGVkOiAlZCwgbGFzdF91c2VkOiAlZABQYXJlbnQgbXVzdCBiZSBhbiBvYmplY3QgLSBub3QgYSBTdHJpbmcsIEludGVnZXIsIGV0YwBmdW5jAHRhdGljAGdjAAglYwBtc2IAbHNiAGdyYgBhdG9iAHZpYgByZ2IAY2IAMTI6MzQ6NTY6Nzg6OTA6YWIAXGIAI29uZGF0YQBGaWxlIGFscmVhZHkgd3JpdHRlbiB3aXRoIGRpZmZlcmVudCBkYXRhAE5vdCBlbm91Z2ggc3RhY2sgbWVtb3J5IGZvciBkYXRhAGlycURhdGEAYXJlYQBzZGEAX19wcm90b19fAF9fRklMRV9fAFtvYmplY3QgT2JqZWN0XQAldlslcV0AZmlsdGVyLT5kaW1zLT5kYXRhW2FmZmluZV9xdWFudGl6YXRpb24tPnF1YW50aXplZF9kaW1lbnNpb25dAGFmZmluZV9xdWFudGl6YXRpb24tPnNjYWxlLT5zaXplID09IDEgfHwgYWZmaW5lX3F1YW50aXphdGlvbi0+c2NhbGUtPnNpemUgPT0gZmlsdGVyLT5kaW1zLT5kYXRhW2tDb252UXVhbnRpemVkRGltZW5zaW9uXQBhZmZpbmVfcXVhbnRpemF0aW9uLT5zY2FsZS0+c2l6ZSA9PSAxIHx8IGFmZmluZV9xdWFudGl6YXRpb24tPnNjYWxlLT5zaXplID09IGZpbHRlci0+ZGltcy0+ZGF0YVtrRGVwdGh3aXNlQ29udlF1YW50aXplZERpbWVuc2lvbl0AP1slZF0AW0ZJTEVOQU1FX1RBQkxFXQBbRVJBU0VEXQAgXQBcXABuZXcgJXMoWwAlZC0lMDJkLSUwMmRUJTAyZDolMDJkOiUwMmQuJTAzZFoAdHdpc3RNYXhZAE1FTU9SWV9CVVNZAExPV19NRU1PUlkAUkVEVUNFX0FOWQBERU5TSUZZAC5ib290WABUWABVbmFibGUgdG8gYWxsb2NhdGUgZGF0YSBmb3IgU2VyaWFsIFJYAFVuYWJsZSB0byB3YXRjaCBwaW4gJXAsIG5vIFNvZnR3YXJlIFNlcmlhbCBSWABVTkZJTklTSEVEIFJFR0VYAEFSR19NQVgAUkVEVUNFX01BWABMT0dfU09GVE1BWAD/Zm5XAFBPVwBVQVJUX09WRVJGTE9XAFNQTElUX1YAVFJBTlNQT1NFX0NPTlYARkxPT1JfRElWAExFQUtZX1JFTFUAUFJFTFUAQ0FTVABSU1FSVABVU0FSVABST09UAExPR0lDQUxfTk9UAE9ORV9IT1QASU5UAFVORklOSVNIRUQgQ09NTUVOVABGQUtFX1FVQU5UACVzLCAlZCAlcyAlZCAlMDJkOiUwMmQ6JTAyZCBHTVQAR0lUX0NPTU1JVABTUExJVABJbnN1ZmZpY2llbnQgc3RhY2sgZm9yIGNvbXB1dGluZyBGRlQAU0VMRUNUAEZMT0FUAFdJREdFVFMATEVTUwBHUFMAQ09TAEVYUEFORF9ESU1TAENPTkNBVF9FTUJFRERJTkdTAE1PRFVMRVMAQUJTAEVYUFRSAExPR0lDQUxfT1IARkxPT1IAUkVTSVpFX05FQVJFU1RfTkVJR0hCT1IAR1JFQVRFUgBHQVRIRVIAUkVTSVpFX0JJTElORUFSACVRAEVYUABFTUJFRERJTkdfTE9PS1VQAEhBU0hUQUJMRV9MT09LVVAASW52YWxpZCBCUFAATUlTTwBOYU4AQUREX04AdG9KU09OAExTSF9QUk9KRUNUSU9OAExPQ0FMX1JFU1BPTlNFX05PUk1BTElaQVRJT04ATDJfTk9STUFMSVpBVElPTgBDT05DQVRFTkFUSU9OAEhXVkVSU0lPTgBVTklESVJFQ1RJT05BTF9TRVFVRU5DRV9STk4AQklESVJFQ1RJT05BTF9TRVFVRU5DRV9STk4AU0lOAEFSR19NSU4AUkVEVUNFX01JTgBFTVNDUklQVEVOAE1FQU4AU0VHTUVOVF9TVU0ATUFYSU1VTQBNSU5JTVVNAFVOSURJUkVDVElPTkFMX1NFUVVFTkNFX0xTVE0AQklESVJFQ1RJT05BTF9TRVFVRU5DRV9MU1RNAEhSTQBDVVNUT00AVElNAFNLSVBfR1JBTQBCQVRDSF9NQVRNVUwAQk9PTABCVUZGRVJfRlVMTABGSUZPX0ZVTEwARklMTABDQUxMAENFSUwAU0NMAE5PVF9FUVVBTABMRVNTX0VRVUFMAEdSRUFURVJfRVFVQUwAVU5GSU5JU0hFRCBURU1QTEFURSBMSVRFUkFMAFNFUklBTABSQU5LAFNDSwBVTlBBQ0sAQ0FMTEJBQ0sAG1tKAE1PU0kASW52YWxpZCBVUkkAU1BJLnNlbmQ4Yml0IG9ubHkgd29ya3Mgb24gaGFyZHdhcmUgU1BJAFNQSS5zZW5kNGJpdCBvbmx5IHdvcmtzIG9uIGhhcmR3YXJlIFNQSQD/Zm5IAGZnSABiZ0gAU1BBQ0VfVE9fREVQVEgASEFSRF9TV0lTSABTUElGTEFTSABUQU5IAExPRwBVTkZJTklTSEVEIFNUUklORwBORUcATUFUUklYX0RJQUcATUFUUklYX1NFVF9ESUFHAEVPRgBJRgBTVkRGAHNldEZvbnRQQkYAREVRVUFOVElaRQBTUVVFRVpFAFVOSVFVRQBERUxFR0FURQBFTUJFRERJTkdfTE9PS1VQX1NQQVJTRQBUUkFOU1BPU0UAU1BBUlNFX1RPX0RFTlNFAFdIRVJFAFNRVUFSRQBOT1RZUEUAUkVTSEFQRQBDT05TT0xFAFRJTEUAV0hJTEUAWkVST1NfTElLRQBSQU5HRQBTVE9SQUdFAFJFVkVSU0VfU0VRVUVOQ0UAU1FVQVJFRF9ESUZGRVJFTkNFAFNUUklERURfU0xJQ0UAREVQVEhfVE9fU1BBQ0UAG1tEAEJPQVJEAFJFRFVDRV9QUk9EAEZMT09SX01PRABTQ0FUVEVSX05EAEdBVEhFUl9ORABTUEFDRV9UT19CQVRDSF9ORABCQVRDSF9UT19TUEFDRV9ORABST1VORABMT0dJQ0FMX0FORABJRABGVUxMWV9DT05ORUNURUQAQUREAExDRABNSVJST1JfUEFEAERFUFRIV0lTRV9DT05WXzJEAE1BWF9QT09MXzJEAEFWRVJBR0VfUE9PTF8yRABMMl9QT09MXzJEABtbQwBMT0dJU1RJQwBEQUMASTJDAP9mbkIATG9vcGJhY2tCABtbQgBTVUIAVVNCAExvb3BiYWNrQQAbW0EAU0RBAE9wIGJ1aWx0aW5fY29kZSBvdXQgb2YgcmFuZ2U6ICVkLiBBcmUgeW91IHVzaW5nIG9sZCBURkxpdGUgYmluYXJ5IHdpdGggbmV3ZXIgbW9kZWw/AFVuYWJsZSB0byBnZXQgcG9pbnRlciB0byBwYWxldHRlLiBJbWFnZSBpbiBmbGFzaD8ACiAgSW52YWxpZCBwYXNzd29yZApwYXNzd29yZD4APQBlY2hvKDApOwBOZXdDaGlsZCBQQVJFTlQ6AAo6ADZ4OABpbnB1dC0+dHlwZSA9PSBrVGZMaXRlRmxvYXQzMiB8fCBpbnB1dC0+dHlwZSA9PSBrVGZMaXRlSW50MTYgfHwgaW5wdXQtPnR5cGUgPT0ga1RmTGl0ZUludDgAa1RmTGl0ZVVJbnQ4AFVJTlQ4AC0zMjc2OABDT01QTEVYMTI4AC0xMjgANHg2AFJFTFU2AG91dHB1dC0+cGFyYW1zLnNjYWxlID09IDEuZiAvIDI1NgBvdXRwdXQtPnR5cGUgPT0ga1RmTGl0ZVVJbnQ4IHx8IG91dHB1dC0+dHlwZSA9PSBrVGZMaXRlSW50OCB8fCBvdXRwdXQtPnR5cGUgPT0ga1RmTGl0ZUludDE2AGlucHV0LT50eXBlID09IGtUZkxpdGVVSW50OCB8fCBpbnB1dC0+dHlwZSA9PSBrVGZMaXRlSW50OCB8fCBpbnB1dC0+dHlwZSA9PSBrVGZMaXRlSW50MTYASU5UMTYARkxPQVQxNgBOT05fTUFYX1NVUFBSRVNTSU9OX1Y1AE5PTl9NQVhfU1VQUFJFU1NJT05fVjQAQ09NUExFWDY0AElOVDY0AEZMT0FUNjQAMnYyNABIU0J0b1JHQidzIGZvcm1hdCBhcmcgZXhwZWN0cyB1bmRlZmluZWQvMS8xNi8yNAB3YWtlT25CVE4zAHkyAHgyAGJ1ZmZlcjIAZmcyAGJnMgBTRUxFQ1RfVjIAVE9QS19WMgBSRVZFUlNFX1YyAFBBRFYyAHdha2VPbkJUTjIAQ0gyAG91dHB1dC0+dHlwZSA9PSBrVGZMaXRlRmxvYXQzMiB8fCBvdXRwdXQtPnR5cGUgPT0ga1RmTGl0ZUludDMyAGtUZkxpdGVGbG9hdDMyAElOVDMyAEZMT0FUMzIAc2NhbGVfZGlmZiAvIG91dHB1dF9zY2FsZSA8PSAwLjAyAGhhc19iaWFzIHx8IG5vZGUtPmlucHV0cy0+c2l6ZSA9PSAyAE51bUlucHV0cyhub2RlKSA9PSAxIHx8IE51bUlucHV0cyhub2RlKSA9PSAyAHkxAHgxAP9mbjEAU2VyaWFsMQBSRUxVX04xX1RPXzEAd2FrZU9uQlROMQBTUEkxAENIMQBJMkMxAC0xAE51bURpbWVuc2lvbnMoaW5wdXQpID49IDEAYWZmaW5lX3F1YW50aXphdGlvbi0+c2NhbGUtPnNpemUgPT0gMQA4MHg4MAA5YjNjYzdmODAAMTIweDEyMABTYW1wbGVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDAAY2h1bmtTaXplIG11c3QgYmUgYW4gaW50ZWdlciA+IDAAaW5wdXRfcHJvZHVjdF9zY2FsZSA+PSAwAEVycm9yIHByb2Nlc3NpbmcgU2VyaWFsIGRhdGEgaGFuZGxlciAtIHJlbW92aW5nIGl0LgBDdHJsLUMgd2hpbGUgcHJvY2Vzc2luZyBpbnRlcnZhbCAtIHJlbW92aW5nIGl0LgBDdHJsLUMgd2hpbGUgcHJvY2Vzc2luZyB3YXRjaCAtIHJlbW92aW5nIGl0LgBVbmhhbmRsZWQgZnVsbHktY29ubmVjdGVkIHdlaWdodHMgZm9ybWF0LgBGYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBub2RlX2FuZF9yZWdpc3RyYXRpb25zLgBJbnRlcm5hbCBlcnJvcjogQWxsb2NhdGVGcm9tVGFpbCBjYW4gbm90IGJlIGNhbGxlZCBiZXR3ZWVuIHR3byBSZXF1ZXN0U2NyYXRjaEJ1ZmZlckluQXJlbmEgY2FsbHMuAEh5YnJpZCBtb2RlbHMgYXJlIG5vdCBzdXBwb3J0ZWQgb24gVEZMaXRlIE1pY3JvLgBJbnZhbGlkIHBhcmFtZXRlciBCdWlsdGluT3BlcmF0b3JfQ1VTVE9NIHRvIHRoZSBBZGRCdWlsdGluIGZ1bmN0aW9uLgBSRVRVUk4gc3RhdGVtZW50LCBidXQgbm90IGluIGEgZnVuY3Rpb24uACVzIHdhcyBub3QgdHJ1ZS4AQnVmZmVyICVkIG5vdCBmb3VuZC4gJWQgYnVmZmVycyBhdmFpbGFibGUuAEFyZW5hIHNpemUgaXMgdG9vIHNtYWxsIGZvciBhY3RpdmF0aW9uIGJ1ZmZlcnMuIE5lZWRlZCAlZCBidXQgb25seSAlZCB3YXMgYXZhaWxhYmxlLgBFcmFzaW5nIHNhdmVkIGNvZGUuAFR5cGUgJXMgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQuAElucHV0ICVzLCBvdXRwdXQgJXMgbm90IHN1cHBvcnRlZC4AVHlwZSAlcyAoJWQpIG5vdCBzdXBwb3J0ZWQuACVkIGJ5dGVzIGxvc3QgZHVlIHRvIGFsaWdubWVudC4gVG8gYXZvaWQgdGhpcyBsb3NzLCBwbGVhc2UgbWFrZSBzdXJlIHRoZSB0ZW5zb3JfYXJlbmEgaXMgMTYgYnl0ZXMgYWxpZ25lZC4ATW9kZWwgcHJvdmlkZWQgaXMgc2NoZW1hIHZlcnNpb24gJWQgbm90IGVxdWFsIHRvIHN1cHBvcnRlZCB2ZXJzaW9uICVkLgBMb2FkaW5nLi4uAENvdWxkbid0IHJlZ2lzdGVyIGJ1aWx0aW4gb3AgIyVkLCByZXNvbHZlciBzaXplIGlzIHRvbyBzbWFsbCAoJWQpLgBDYWxsaW5nIEFkZEJ1aWx0aW4gd2l0aCB0aGUgc2FtZSBvcCBtb3JlIHRoYW4gb25jZSBpcyBub3Qgc3VwcG9ydGVkIChPcDogIyVkKS4ASW50ZXJuYWwgZXJyb3I6IEVuc3VyZUhlYWRTaXplKCkgbmVlZHMgdG8gYmUgY2FsbGVkIGFmdGVyUmVzZXRUZW1wQWxsb2NhdGlvbnMoKS4ALQBBcnJheSwAT2JqZWN0LAAlcSwATnVtYmVyICVqLABTdHJpbmcgJWosACVwPSVkLAAlZCwlZCwlZCwAZGF0YTppbWFnZS9ibXA7YmFzZTY0LAAoZnVuY3Rpb24ocyl7dmFyIHA9MDtyZXR1cm57cmVhZDpmdW5jdGlvbihsKXtyZXR1cm4gcy5zdWJzdHJpbmcocCxwKz1sKXx8dW5kZWZpbmVkO319fSkAKGZ1bmN0aW9uKCl7cmV0dXJue192OiExLHJlYWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdn0sc2V0OmZ1bmN0aW9uKCl7dGhpcy53cml0ZSgxKX0scmVzZXQ6ZnVuY3Rpb24oKXt0aGlzLndyaXRlKDApfSx3cml0ZTpmdW5jdGlvbihhKXtnLnNldENvbG9yKCh0aGlzLl92PSEhYSk/IiNmMDAiOmcudGhlbWUuYmcpLmZpbGxDaXJjbGUoKGcuZ2V0V2lkdGgoKS0yMCkvMiw1LDUpO0JhbmdsZS5zZXRMQ0RQb3dlcigxKX0sdG9nZ2xlOmZ1bmN0aW9uKCl7dGhpcy53cml0ZSghdGhpcy5fdil9fX0pAChmdW5jdGlvbigpe3JldHVybntfdjohMSxyZWFkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Z9LHNldDpmdW5jdGlvbigpe3RoaXMud3JpdGUoMSl9LHJlc2V0OmZ1bmN0aW9uKCl7dGhpcy53cml0ZSgwKX0sd3JpdGU6ZnVuY3Rpb24oYSl7Zy5zZXRDb2xvcigodGhpcy5fdj0hIWEpPyIjMGYwIjpnLnRoZW1lLmJnKS5maWxsQ2lyY2xlKChnLmdldFdpZHRoKCkrMjApLzIsNSw1KTtCYW5nbGUuc2V0TENEUG93ZXIoMSl9LHRvZ2dsZTpmdW5jdGlvbigpe3RoaXMud3JpdGUoIXRoaXMuX3YpfX19KQAoZnVuY3Rpb24oKXtpZihnbG9iYWwuV0lER0VUUyl7dmFyIGQ9Zy5nZXRXaWR0aCgpLGU9Zy5nZXRIZWlnaHQoKSxjPXt0bDp7eDoyOCx5OjAscjowLGM6MH0sdHI6e3g6ZC0yOCx5OjAscjoxLGM6MH0sYmw6e3g6MjQseTplLTI0LHI6MCxjOjB9LGJyOnt4OmQtMjQseTplLTI0LHI6MSxjOjB9fSxiLGE7Zm9yKGEgb2YgV0lER0VUUykoYj1jW2EuYXJlYV0pJiYwIT1hLndpZHRoJiYoYS54PWIueC1iLnIqYS53aWR0aCxhLnk9Yi55LGIueCs9YS53aWR0aCooMS0yKmIuciksYi5jKyspO2cucmVzZXQoKTsoYy50bC5jfHxjLnRyLmMpJiZnLmNsZWFyUmVjdCgwLDAsZC0xLDIzKTsoYy5ibC5jfHxjLmJyLmMpJiZnLmNsZWFyUmVjdCgwLGUtMjQsZC0xLGUtMSk7dHJ5e2ZvcihhIG9mIFdJREdFVFMpYS5kcmF3KGEpfWNhdGNoKGYpe3ByaW50KGYpfX19KQAoZnVuY3Rpb24oYixkKXt2YXIgYT17fTtpZigib2JqZWN0Ij09dHlwZW9mIGImJihhPWIsYj1hLm1vZGUsIWIpKXRocm93IEVycm9yKCJNaXNzaW5nIG1vZGUgaW4gc2V0VUkoey4uLn0pIik7dmFyIGY9ITA7Z2xvYmFsLldJREdFVFMmJldJREdFVFMuYmFjayYmKGY9ITEsV0lER0VUUy5iYWNrLnJlbW92ZShiJiZhLmJhY2spKTtCYW5nbGUuYnRuV2F0Y2hlcyYmKEJhbmdsZS5idG5XYXRjaGVzLmZvckVhY2goY2xlYXJXYXRjaCksZGVsZXRlIEJhbmdsZS5idG5XYXRjaGVzKTtCYW5nbGUuc3dpcGVIYW5kbGVyJiYoQmFuZ2xlLnJlbW92ZUxpc3RlbmVyKCJzd2lwZSIsQmFuZ2xlLnN3aXBlSGFuZGxlciksZGVsZXRlIEJhbmdsZS5zd2lwZUhhbmRsZXIpO0JhbmdsZS50b3VjaEhhbmRsZXImJihCYW5nbGUucmVtb3ZlTGlzdGVuZXIoInRvdWNoIixCYW5nbGUudG91Y2hIYW5kbGVyKSxkZWxldGUgQmFuZ2xlLnRvdWNoSGFuZGxlcik7ZGVsZXRlIEJhbmdsZS51aVJlZHJhdzsKZGVsZXRlIEJhbmdsZS5DTE9DSztpZihCYW5nbGUudWlSZW1vdmUpe2xldCBjPUJhbmdsZS51aVJlbW92ZTtkZWxldGUgQmFuZ2xlLnVpUmVtb3ZlO2MoKX1nLnJlc2V0KCk7aWYoYil7aWYoInVwZG93biI9PWIpQmFuZ2xlLmJ0bldhdGNoZXM9W3NldFdhdGNoKGZ1bmN0aW9uKCl7ZCgtMSl9LEJUTjEse3JlcGVhdDoxLGVkZ2U6ImZhbGxpbmcifSksc2V0V2F0Y2goZnVuY3Rpb24oKXtkKDEpfSxCVE4zLHtyZXBlYXQ6MSxlZGdlOiJmYWxsaW5nIn0pLHNldFdhdGNoKGZ1bmN0aW9uKCl7ZCgpfSxCVE4yLHtyZXBlYXQ6MSxlZGdlOiJmYWxsaW5nIn0pXTtlbHNlIGlmKCJsZWZ0cmlnaHQiPT1iKUJhbmdsZS5idG5XYXRjaGVzPVtzZXRXYXRjaChmdW5jdGlvbigpe2QoLTEpfSxCVE4xLHtyZXBlYXQ6MSxlZGdlOiJmYWxsaW5nIn0pLHNldFdhdGNoKGZ1bmN0aW9uKCl7ZCgxKX0sQlROMyx7cmVwZWF0OjEsZWRnZToiZmFsbGluZyJ9KSxzZXRXYXRjaChmdW5jdGlvbigpe2QoKX0sQlROMiwKe3JlcGVhdDoxLGVkZ2U6ImZhbGxpbmcifSldLEJhbmdsZS5zd2lwZUhhbmRsZXI9Yz0+e2QoYyl9LEJhbmdsZS5vbigic3dpcGUiLEJhbmdsZS5zd2lwZUhhbmRsZXIpLEJhbmdsZS50b3VjaEhhbmRsZXI9Yz0+e2QoKX0sQmFuZ2xlLm9uKCJ0b3VjaCIsQmFuZ2xlLnRvdWNoSGFuZGxlcik7ZWxzZSBpZigiY2xvY2siPT1iKUJhbmdsZS5DTE9DSz0xLEJhbmdsZS5idG5XYXRjaGVzPVtzZXRXYXRjaChCYW5nbGUuc2hvd0xhdW5jaGVyLEJUTjIse3JlcGVhdDoxLGVkZ2U6ImZhbGxpbmcifSldO2Vsc2UgaWYoImNsb2NrdXBkb3duIj09YilCYW5nbGUuQ0xPQ0s9MSxCYW5nbGUuYnRuV2F0Y2hlcz1bc2V0V2F0Y2goZnVuY3Rpb24oKXtkKC0xKX0sQlROMSx7cmVwZWF0OjEsZWRnZToiZmFsbGluZyJ9KSxzZXRXYXRjaChmdW5jdGlvbigpe2QoMSl9LEJUTjMse3JlcGVhdDoxLGVkZ2U6ImZhbGxpbmcifSksc2V0V2F0Y2goQmFuZ2xlLnNob3dMYXVuY2hlcixCVE4yLHtyZXBlYXQ6MSxlZGdlOiJmYWxsaW5nIn0pXTsKZWxzZSBpZigiY3VzdG9tIj09YilhLmNsb2NrJiYoQmFuZ2xlLkNMT0NLPTEpLGEudG91Y2gmJihCYW5nbGUudG91Y2hIYW5kbGVyPWEudG91Y2gsQmFuZ2xlLm9uKCJ0b3VjaCIsQmFuZ2xlLnRvdWNoSGFuZGxlcikpLGEuc3dpcGUmJihCYW5nbGUuc3dpcGVIYW5kbGVyPWEuc3dpcGUsQmFuZ2xlLm9uKCJzd2lwZSIsQmFuZ2xlLnN3aXBlSGFuZGxlcikpLGEuYnRuP0JhbmdsZS5idG5XYXRjaGVzPVtzZXRXYXRjaChmdW5jdGlvbigpe2EuYnRuKDEpfSxCVE4xLHtyZXBlYXQ6MSxlZGdlOiJmYWxsaW5nIn0pLHNldFdhdGNoKGZ1bmN0aW9uKCl7YS5idG4oMil9LEJUTjIse3JlcGVhdDoxLGVkZ2U6ImZhbGxpbmcifSksc2V0V2F0Y2goZnVuY3Rpb24oKXthLmJ0bigzKX0sQlROMyx7cmVwZWF0OjEsZWRnZToiZmFsbGluZyJ9KV06YS5jbG9jayYmKEJhbmdsZS5idG5XYXRjaGVzPVtzZXRXYXRjaChCYW5nbGUuc2hvd0xhdW5jaGVyLEJUTjIse3JlcGVhdDoxLGVkZ2U6ImZhbGxpbmcifSldKTsKZWxzZSB0aHJvdyBFcnJvcigiVW5rbm93biBVSSBtb2RlICIrRS50b0pTKGIpKTthLnJlbW92ZSYmKEJhbmdsZS51aVJlbW92ZT1hLnJlbW92ZSk7YS5yZWRyYXcmJihCYW5nbGUudWlSZWRyYXc9YS5yZWRyYXcpO2lmKGEuYmFjayl7dmFyIGg9Yz0+ezE9PWMmJmEuYmFjaygpfTtCYW5nbGUub24oInRvdWNoIixoKTt2YXIgZTt2b2lkIDA9PT1CYW5nbGUuYnRuV2F0Y2hlcyYmKGU9c2V0V2F0Y2goZnVuY3Rpb24oKXtlPXZvaWQgMDthLmJhY2soKX0sQlROMyx7ZWRnZToiZmFsbGluZyJ9KSk7V0lER0VUUz1PYmplY3QuYXNzaWduKHtiYWNrOnthcmVhOiJ0bCIsd2lkdGg6MjQsZHJhdzpjPT5nLnJlc2V0KCkuc2V0Q29sb3IoIiNmMDAiKS5kcmF3SW1hZ2UoYXRvYigiR0JpQkFBQVlBQUgvZ0FmLzRBLy84Qi8vK0QvLy9ELy8vSC9QL24rSC9uOFAvbjRmL3Z3QVAvd0FQMzRmL244UC9uK0gvbi9QL2ovLy9ELy8vQi8vK0EvLzhBZi80QUgvZ0FBWUFBPT0iKSxjLngsYy55KSxyZW1vdmU6Yz0+CntlJiZjbGVhcldhdGNoKGUpO0JhbmdsZS5yZW1vdmVMaXN0ZW5lcigidG91Y2giLGgpO2N8fGcucmVzZXQoKS5jbGVhclJlY3Qoe3g6V0lER0VUUy5iYWNrLngseTpXSURHRVRTLmJhY2sueSx3OjI0LGg6MjR9KTtkZWxldGUgV0lER0VUUy5iYWNrO2N8fEJhbmdsZS5kcmF3V2lkZ2V0cygpfX19LGdsb2JhbC5XSURHRVRTKTtmJiZCYW5nbGUuZHJhd1dpZGdldHMoKX19fSkAKGZ1bmN0aW9uKCl7aWYoIWdsb2JhbC5XSURHRVRTKXtnbG9iYWwuV0lER0VUUz17fTtyZXF1aXJlKCJTdG9yYWdlIikubGlzdCgvXC53aWRcLmpzJC8pLmZvckVhY2goYT0+e3RyeXtldmFsKHJlcXVpcmUoIlN0b3JhZ2UiKS5yZWFkKGEpKX1jYXRjaChjKXtwcmludChhLGMpfX0pO3ZhciBiPVdJREdFVFM7V0lER0VUUz17fTtPYmplY3Qua2V5cyhiKS5zb3J0KChhLGMpPT4oMHxiW2NdLnNvcnRvcmRlciktKDB8YlthXS5zb3J0b3JkZXIpKS5mb3JFYWNoKGE9PldJREdFVFNbYV09YlthXSl9fSkAKGZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBCYW5nbGUuc2V0VUkoKTt2YXIgcD1mdW5jdGlvbihmKXtnLnJlc2V0KCk7dmFyIGI9TWF0aC5mbG9vcigoaC1hLmgpLzIpLWMuc2Nyb2xsKmEuaCxrPWIrYS5jKmEuaDtrPD1oJiYoYis9aC1rKTswPGImJihiPTApO2s9Yjtmb3IodmFyIGw9MDtsPGEuYztsKyspKHZvaWQgMD09PWZ8fGY9PT1sKSYmYj4tYS5oKzEmJmI8aCYmKGcuc2V0Q29sb3IobD09Yy5zY3JvbGw/Zy50aGVtZS5mZ0g6Zy50aGVtZS5mZykuc2V0QmdDb2xvcihsPT1jLnNjcm9sbD9nLnRoZW1lLmJnSDpnLnRoZW1lLmJnKS5zZXRDbGlwUmVjdChkLGUrTWF0aC5tYXgoMCxiKSxkK20tMSxlK01hdGgubWluKGgsYithLmgpLTEpLGEuZHJhdyhsLHt4OmQseTplK2IsdzptLGg6YS5ofSxsPT1jLnNjcm9sbCl8fGw9PWMuc2Nyb2xsJiZnLnNldENvbG9yKGcudGhlbWUuZmdIKS5kcmF3UmVjdChkLGUrYixkK20tMSxlK2IrYS5oLTEpLmRyYXdSZWN0KGQrCjEsZStiKzEsZCttLTIsZStiK2EuaC0yKSksYis9YS5oO2cuc2V0Q2xpcFJlY3QoZCxlLGQrbS0xLGUraC0xKTtmPW0vMjswPmsmJihrPVtkK2YsZSxkK2YtMTQsZSsxNCxkK2YrMTQsZSsxNF0sZy5zZXRDb2xvcihnLnRoZW1lLmZnKS5maWxsUG9seShrKS5zZXRDb2xvcihnLnRoZW1lLmJnKS5kcmF3UG9seShrLCEwKSk7Yj5oJiYoaz1bZCtmLGUraCxkK2YtMTQsZStoLTE0LGQrZisxNCxlK2gtMTRdLGcuc2V0Q29sb3IoZy50aGVtZS5mZykuZmlsbFBvbHkoaykuc2V0Q29sb3IoZy50aGVtZS5iZykuZHJhd1BvbHkoaywhMCkpfTtCYW5nbGUuc2V0VUkoe21vZGU6InVwZG93biIsYmFjazphLmJhY2sscmVtb3ZlOmEucmVtb3ZlLHJlZHJhdzpwfSxmPT57Zj8oYy5zY3JvbGwrPWYsMD5jLnNjcm9sbCYmKGMuc2Nyb2xsPWEuYy0xKSxjLnNjcm9sbD49YS5jJiYoYy5zY3JvbGw9MCksYy5kcmF3KCkpOmEuc2VsZWN0KGMuc2Nyb2xsKX0pO3ZhciBuPUJhbmdsZS5hcHBSZWN0LG09bi53LApoPW4uaCxkPW4ueCxlPW4ueSxjPXtzY3JvbGw6MHxhLnNjcm9sbCxkcmF3OnAsZHJhd0l0ZW06Zj0+cChmKSxpc0FjdGl2ZTooKT0+QmFuZ2xlLnVpUmVkcmF3PT1wfTtnLnJlc2V0KCkuY2xlYXJSZWN0KG4pO2MuZHJhdygpO3JldHVybiBjfSkAKGZ1bmN0aW9uKCl7bGV0IGI9cmVxdWlyZSgiU3RvcmFnZSIpLnJlYWRKU09OKCJzZXR0aW5nLmpzb24iLDEpfHx7fSxjPXJlcXVpcmUoIlN0b3JhZ2UiKS5yZWFkKGIubGF1bmNoZXIpO2lmKCFjKXtjPXZvaWQgMDtsZXQgZD1yZXF1aXJlKCJTdG9yYWdlIikubGlzdCgvXC5pbmZvJC8pLm1hcChhPT57aWYoKGE9cmVxdWlyZSgiU3RvcmFnZSIpLnJlYWRKU09OKGEsMSkpJiYibGF1bmNoIj09YS50eXBlKXJldHVybiBhfSkuZmlsdGVyKGE9PmEpLnNvcnQoKGEsZSk9PmEuc29ydG9yZGVyLWUuc29ydG9yZGVyKVswXTtkJiYoYi5sYXVuY2hlcj1kLnNyYyxyZXF1aXJlKCJTdG9yYWdlIikud3JpdGVKU09OKCJzZXR0aW5nLmpzb24iLGIpLGM9cmVxdWlyZSgiU3RvcmFnZSIpLnJlYWQoZC5zcmMpKX1jP0JhbmdsZS5sb2FkKGIubGF1bmNoZXIpOmV2YWwoJ0Uuc2hvd01lc3NhZ2UoIk5vIExhdW5jaGVyIEZvdW5kIik7c2V0V2F0Y2goKCk9Pntsb2FkKCk7fSwgZ2xvYmFsLkJUTjJ8fEJUTiwge3JlcGVhdDpmYWxzZSxlZGdlOiJmYWxsaW5nIn0pOycpOwpkZWxldGUgYjtkZWxldGUgY30pAChmdW5jdGlvbihiYXNlLGopIHt2YXIgbz17fSxhZGRyO2ZvciAodmFyIHJlZyBpbiBqKSB7YWRkcj1iYXNlK2pbcmVnXTtPYmplY3QuZGVmaW5lUHJvcGVydHkobyxyZWcse2dldDpwZWVrMzIuYmluZCh1bmRlZmluZWQsYWRkciksc2V0OnBva2UzMi5iaW5kKHVuZGVmaW5lZCxhZGRyKX0pO31yZXR1cm4gbzt9KQAoZnVuY3Rpb24oYSkge3ZhciBtPTAsZztmb3IgKHZhciBpIGluIGEpIGlmIChhW2ldPm0pIHsgbT1hW2ldO2c9aTsgfWlmIChnIT09dW5kZWZpbmVkKSB7dmFyIG49cmVxdWlyZSgnU3RvcmFnZScpLnJlYWQoJy50Zm5hbWVzJyk7aWYgKG4pIGc9bi5zcGxpdCgnLCcpW2ddO31yZXR1cm4gZzt9KQAoZnVuY3Rpb24oKXtCYW5nbGUuc2V0VUkoKTtjbGVhclRpbWVvdXQoKTtjbGVhckludGVydmFsKCk7Y2xlYXJXYXRjaCgpO0JhbmdsZS5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtFLnJlbW92ZUFsbExpc3RlbmVycygpO05SRi5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtCYW5nbGUuc2V0TENEQnJpZ2h0bmVzcygxKTtFLnNob3dNZW51KHsiIjp7dGl0bGU6IlJlY292ZXJ5In0sIkNsZWFuIEJvb3QiOigpPT57cmVzZXQoKX0sUmVib290OigpPT57RS5yZWJvb3QoKX0sIlR1cm4gT2ZmIjooKT0+e0JhbmdsZS5vZmYoKX0sIkZhY3RvcnkgUmVzZXQiOigpPT57RS5zaG93UHJvbXB0KCJBcmUgeW91IHN1cmU/XG5UaGlzIHdpbGwgcmVtb3ZlIGFsbCBkYXRhLiIse3RpdGxlOiJGYWN0b3J5IFJlc2V0In0pLnRoZW4oYT0+e2lmKCFhKXJldHVybiBCYW5nbGUuc2hvd1JlY292ZXJ5TWVudSgpO0Uuc2hvd01lc3NhZ2UoIlJlc2V0dGluZyIpO0JhbmdsZS5zZXRMQ0RUaW1lb3V0KDApOwpOUkYuZ2V0U2VjdXJpdHlTdGF0dXMoKS5jb25uZWN0ZWR8fFRlcm1pbmFsLnNldENvbnNvbGUoKTtCYW5nbGUuZmFjdG9yeVJlc2V0KCl9KX0sRXhpdDooKT0+ezA8cmVxdWlyZSgiU3RvcmFnZSIpLmxpc3QoKS5sZW5ndGg/KEUuc2hvd01lc3NhZ2UoIkxvYWRpbmcuLi4iKSxOUkYuZ2V0U2VjdXJpdHlTdGF0dXMoKS5jb25uZWN0ZWR8fFRlcm1pbmFsLnNldENvbnNvbGUoKSxsb2FkKCkpOkUucmVib290KCl9LCJBdHRlbXB0IENvbXBhY3QiOigpPT57RS5zaG93TWVzc2FnZSgiQ29tcGFjdGluZy4uLlxuTWF5IHRha2VcbjUgbWluLiIpO05SRi5nZXRTZWN1cml0eVN0YXR1cygpLmNvbm5lY3RlZHx8VGVybWluYWwuc2V0Q29uc29sZSgpO3JlcXVpcmUoIlN0b3JhZ2UiKS5jb21wYWN0KCk7RS5yZWJvb3QoKX0sIlJld3JpdGUgQm9vdGxvYWRlciI6KCk9PntzZXRUaW1lb3V0KGxvYWQsMUUzKTtldmFsKHJlcXVpcmUoIlN0b3JhZ2UiKS5yZWFkKCJib290dXBkYXRlLmpzIikpfX0pfSkAKGZ1bmN0aW9uKHUsYSl7ZnVuY3Rpb24gbigpe2cucmVzZXQoKS5zZXRGb250KCI2eDgiLDIpLnNldEZvbnRBbGlnbigwLC0xKTt2YXIgZj1CYW5nbGUuYXBwUmVjdC55LGU9Zy5nZXRXaWR0aCgpLGs9Zy5nZXRIZWlnaHQoKS1mLHE9Zy5nZXRGb250SGVpZ2h0KCkscD1nLndyYXBTdHJpbmcoYS50aXRsZSxlLTIpLHI9Zy53cmFwU3RyaW5nKHV8fCIiLGUtMiksYj1mKyhrKyhwLmxlbmd0aC1yLmxlbmd0aCkqcSkvMi0yNDthLmltZyYmKGs9Zy5pbWFnZU1ldHJpY3MoYS5pbWcpLGcuZHJhd0ltYWdlKGEuaW1nLChlLWsud2lkdGgpLzIsYi1rLmhlaWdodC8yKSxiKz00K2suaGVpZ2h0LzIpO3AmJmcuc2V0Q29sb3IoZy50aGVtZS5mZ0gpLnNldEJnQ29sb3IoZy50aGVtZS5iZ0gpLmNsZWFyUmVjdCgwLGYsZS0xLGYrNCtwLmxlbmd0aCpxKS5kcmF3U3RyaW5nKHAuam9pbigiXG4iKSxlLzIsZisyKTtnLnNldENvbG9yKGcudGhlbWUuZmcpLnNldEJnQ29sb3IoZy50aGVtZS5iZykuZHJhd1N0cmluZyhyLmpvaW4oIlxuIiksCmUvMixiKTtiKz1yLmxlbmd0aCpxKzMyO3ZhciBsPTA7Zy5zZXRGb250QWxpZ24oMCwwKTttLmZvckVhY2goaD0+bCs9MTYrZy5zdHJpbmdXaWR0aChoKSk7bD5lJiYoZy5zZXRGb250KCI2eDgiKSxsPTAsbS5mb3JFYWNoKGg9PmwrPTE2K2cuc3RyaW5nV2lkdGgoaCkpKTt2YXIgYz0oZS1sKS8yO20uZm9yRWFjaCgoaCx2KT0+e3ZhciB0PWcuc3RyaW5nV2lkdGgoaCk7Yys9KDE2K3QpLzI7dmFyIGQ9Mit0LzI7ZD1bYy1kLGItMTIsYytkLGItMTIsYytkKzQsYi04LGMrZCs0LGIrOCxjK2QsYisxMixjLWQsYisxMixjLWQtNCxiKzgsYy1kLTQsYi04LGMtZCxiLTEyXTtnLnNldENvbG9yKHY9PWEuc2VsZWN0ZWQ/Zy50aGVtZS5iZ0g6Zy50aGVtZS5iZykuZmlsbFBvbHkoZCkuc2V0Q29sb3Iodj09YS5zZWxlY3RlZD9nLnRoZW1lLmZnSDpnLnRoZW1lLmZnKS5kcmF3UG9seShkKS5kcmF3U3RyaW5nKGgsYyxiKzEpO2MrPSgxNit0KS8yfSk7QmFuZ2xlLnNldExDRFBvd2VyKDEpfWF8fAooYT17fSk7YS5idXR0b25zfHwoYS5idXR0b25zPXtZZXM6ITAsTm86ITF9KTt2YXIgbT1PYmplY3Qua2V5cyhhLmJ1dHRvbnMpO2Euc2VsZWN0ZWR8fChhLnNlbGVjdGVkPTApO2cucmVzZXQoKS5jbGVhclJlY3QoQmFuZ2xlLmFwcFJlY3QpO2lmKCF1KXJldHVybiBCYW5nbGUuc2V0VUkoKSxQcm9taXNlLnJlc29sdmUoKTtuKCk7cmV0dXJuIG5ldyBQcm9taXNlKGY9PntCYW5nbGUuc2V0VUkoe21vZGU6ImxlZnRyaWdodCIscmVtb3ZlOmEucmVtb3ZlLHJlZHJhdzpuLGJhY2s6YS5iYWNrfSxlPT57MD5lPzA8YS5zZWxlY3RlZCYmKGEuc2VsZWN0ZWQtLSxuKCkpOjA8ZT9hLnNlbGVjdGVkPG0ubGVuZ3RoLTEmJihhLnNlbGVjdGVkKyssbigpKTooRS5zaG93UHJvbXB0KCksZihhLmJ1dHRvbnNbbVthLnNlbGVjdGVkXV0pKX0pfSl9KQAoZnVuY3Rpb24oYixhKXsic3RyaW5nIj09dHlwZW9mIGEmJihhPXt0aXRsZTphfSk7YT1hfHx7fTthLmJ1dHRvbnM9e09rOjF9O2EuaW1nPXJlcXVpcmUoImhlYXRzaHJpbmsiKS5kZWNvbXByZXNzKGF0b2IoImxFbzRVQm92Ky8vL0JJTWdnRlZBQVFIQkFvWUlFQlExUUJJY0ZCSWRBQkljQkJBVlVIWXNWRGd3ZUVEZ2dlRUxRNEpLR0FjUCtBeURHQWNPMkF5REJKSTZEQklrQkJMcEtEQklnQUVCT0tCRUFCU3lHTVl3SlRHSWtCV2FiUkpkNmRWSXcwQkJJSXlER0FZSkJHUVl3RUR3d2NDRHd3Y0NBQVE1RkJRd0ZEQT0iKSk7cmV0dXJuIEUuc2hvd1Byb21wdChiLGEpfSkAKGZ1bmN0aW9uKGUsYSl7InN0cmluZyI9PXR5cGVvZiBhJiYoYT17dGl0bGU6YX0pO2E9YXx8e307Zy5yZXNldCgpLmNsZWFyUmVjdChCYW5nbGUuYXBwUmVjdCk7Zy5zZXRGb250KCI2eDgiLDEyODxnLmdldFdpZHRoKCk/MjoxKS5zZXRGb250QWxpZ24oMCwtMSk7dmFyIGM9QmFuZ2xlLmFwcFJlY3QueSxiPWcuZ2V0V2lkdGgoKSxkPWcuZ2V0SGVpZ2h0KCktYyxrPWcuZ2V0Rm9udEhlaWdodCgpLGY9Zy53cmFwU3RyaW5nKGEudGl0bGUsYi0yKTtlPWcud3JhcFN0cmluZyhlfHwiIixiLTIpO2Q9YysoZCsoZi5sZW5ndGgtZS5sZW5ndGgpKmspLzI7aWYoYS5pbWcpe3ZhciBoPWcuaW1hZ2VNZXRyaWNzKGEuaW1nKTtnLmRyYXdJbWFnZShhLmltZywoYi1oLndpZHRoKS8yLGQtaC5oZWlnaHQvMik7ZCs9NCtoLmhlaWdodC8yfWcuZHJhd1N0cmluZyhlLmpvaW4oIlxuIiksYi8yLGQpO2EudGl0bGUmJmcuc2V0Q29sb3IoZy50aGVtZS5mZ0gpLnNldEJnQ29sb3IoZy50aGVtZS5iZ0gpLmNsZWFyUmVjdCgwLApjLGItMSxjKzQrZi5sZW5ndGgqaykuZHJhd1N0cmluZyhmLmpvaW4oIlxuIiksYi8yLGMrMik7Zy5mbGlwKCk7QmFuZ2xlLnNldExDRFBvd2VyKDEpfSkAKGZ1bmN0aW9uKGEpe0JhbmdsZS51aVJlbW92ZT8oQmFuZ2xlLnNldFVJKCksKF9fRklMRV9fPWEpfHwoYT0iLmJvb3RjZGUiKSxzZXRUaW1lb3V0KGV2YWwsMCxyZXF1aXJlKCJTdG9yYWdlIikucmVhZChhKSkpOmxvYWQoIi5ib290Y2RlIiE9YT9hOnZvaWQgMCl9KQAoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe2lmKGQubWFpbiljLnNlbGVjdGVkPWQubWFpbi5zZWxlY3RlZCxjLnRpdGxlPWQubWFpbi50aXRsZSxlPWQubWFpbi5pdGVtcyxmPWQubWFpbi5tZW51SXRlbXMsZGVsZXRlIGQubWFpbixnLnJlc2V0KCkuY2xlYXJSZWN0KEJhbmdsZS5hcHBSZWN0KSxkLmRyYXcoKTtlbHNlIGlmKGVbIjwgQmFjayJdKWVbIjwgQmFjayJdKCl9Zy5yZXNldCgpLmNsZWFyUmVjdChCYW5nbGUuYXBwUmVjdCk7QmFuZ2xlLnNldExDRFBvd2VyKDEpO2lmKGUpe3ZhciBjPWVbIiJdLGY9T2JqZWN0LmtleXMoZSk7YyYmKGYuc3BsaWNlKGYuaW5kZXhPZigiIiksMSksYy5iYWNrJiYhZVsiPCBCYWNrIl0mJihlPU9iamVjdC5hc3NpZ24oeyI8IEJhY2siOmMuYmFja30sZSksZi51bnNoaWZ0KCI8IEJhY2siKSkpO2YuZm9yRWFjaChhPT57YT1lW2FdOyJvYmplY3QiIT10eXBlb2YgYXx8ImJvb2xlYW4iIT10eXBlb2YgYS52YWx1ZXx8CmEuZm9ybWF0fHwoYS5mb3JtYXQ9Yj0+YXRvYihiPyJBQXdNZ2dDLy8vNy8vLy8vLy8vLy84Ly8vdy8vL0QveThQLzRBLy84RC8vLy8vLy8vLysvLy80PSI6IkFBd01nUUQvK0FHQUdBR0FHQUdBR0FHQUdBR0FILzg9IikpfSk7YyBpbnN0YW5jZW9mIE9iamVjdHx8KGM9e30pO2MuZm9udEhlaWdodD1jLmZvbnRIZWlnaHR8fDE2O3ZvaWQgMD09PWMuc2VsZWN0ZWQmJihjLnNlbGVjdGVkPTApO2MuZm9udEhlaWdodHx8KGMuZm9udEhlaWdodD02KTtCYW5nbGUuc2V0VUkoe21vZGU6InVwZG93biIsYmFjazplWyI8IEJhY2siXT90OnZvaWQgMCxyZW1vdmU6Yy5yZW1vdmUscmVkcmF3OigpPT5kLmRyYXcoKX0sYT0+e2E/ZC5tb3ZlKGEpOmQuc2VsZWN0KCl9KTt2YXIgdT0oKT0+e307QmFuZ2xlLnRvdWNoSGFuZGxlcj11O3ZhciBxPUJhbmdsZS5hcHBSZWN0LHI9cS54LGw9cS54Mi0xMSxuPXEueSx2PXEueTItMjA7Yy50aXRsZSYmKG4rPWMuZm9udEhlaWdodCsyKTt2YXIgZD17bGFzdElkeDowLApkcmF3OmZ1bmN0aW9uKGEsYil7dmFyIHA9MHxNYXRoLm1pbigodi1uKS9jLmZvbnRIZWlnaHQsZi5sZW5ndGgpLGg9RS5jbGlwKGMuc2VsZWN0ZWQtKHA+PjEpLDAsZi5sZW5ndGgtcCk7aCE9ZC5sYXN0SWR4JiYoYT12b2lkIDApO2QubGFzdElkeD1oO3ZhciB3PWgrcDxmLmxlbmd0aCxrPW47Zy5yZXNldCgpLnNldEZvbnQoIjZ4OCIsMikuc2V0Rm9udEFsaWduKDAsLTEsMCk7Yy5wcmVkcmF3JiZjLnByZWRyYXcoZyk7dm9pZCAwPT09YSYmYy50aXRsZSYmZy5kcmF3U3RyaW5nKGMudGl0bGUsKHIrbCkvMixuLWMuZm9udEhlaWdodC0yKS5kcmF3TGluZShyLG4tMixsLG4tMik7dm9pZCAwIT09YSYmKGg8YSYmKGsrPWMuZm9udEhlaWdodCooYS1oKSxoPWEpLGgrcD5iJiYocD0xK2ItYSkpO2Zvcig7cC0tOyl7Yj1mW2hdO2E9ZVtiXTthLnRpdGxlJiYoYj1hLnRpdGxlKTt2YXIgbT1oPT1jLnNlbGVjdGVkJiYhZC5zZWxlY3RFZGl0O2cuc2V0Q29sb3IobT9nLnRoZW1lLmJnSDpnLnRoZW1lLmJnKS5maWxsUmVjdChyLAprLGwsaytjLmZvbnRIZWlnaHQtMSkuc2V0Q29sb3IobT9nLnRoZW1lLmZnSDpnLnRoZW1lLmZnKS5zZXRGb250QWxpZ24oLTEsLTEpLmRyYXdTdHJpbmcoYixyLGspOyJvYmplY3QiPT10eXBlb2YgYT8oYj1sLG09YS52YWx1ZSxhLmZvcm1hdCYmKG09YS5mb3JtYXQobSkpLGQuc2VsZWN0RWRpdCYmaD09Yy5zZWxlY3RlZCYmKGItPTI1LGcuc2V0Q29sb3IoZy50aGVtZS5iZ0gpLmZpbGxSZWN0KGItKGcuc3RyaW5nV2lkdGgobSkrNCksayxsLGsrYy5mb250SGVpZ2h0LTEpLnNldENvbG9yKGcudGhlbWUuZmdIKS5kcmF3SW1hZ2UoIlxmXHgwNVx4ODFceDAwIFx4MDdceDAwXHhmOVx4ZjBceDBlXHgwMEAiLGIsaysoYy5mb250SGVpZ2h0LTEwKS8yLHtzY2FsZToyfSkpLGcuc2V0Rm9udEFsaWduKDEsLTEpLHZvaWQgMCE9PW0mJmcuZHJhd1N0cmluZyhtLGItMixrKSk6ZC5tYWluJiZnLnNldEZvbnRBbGlnbigxLC0xKS5kcmF3U3RyaW5nKGF0b2IoZC5tYWluLnZhbHVlPT0KYT8iQUFvS2dRQWVIK2Y3Ly8vLy8vMytmNGVBIjoiQUFvS2dRQWVIK1liQThEd1BBMkdmNGVBIiksbCxrKTtnLnNldENvbG9yKGcudGhlbWUuZmcpO2srPWMuZm9udEhlaWdodDtoKyt9Zy5zZXRGb250QWxpZ24oLTEsLTEpO2cuZHJhd0ltYWdlKCJcYlxiXHgwMVx4MTA4fFx4ZmVceDEwXHgxMFx4MTBceDEwIixsKzIsNDApLmRyYXdJbWFnZSgiXGJcYlx4MDFceDEwXHgxMFx4MTBceDEwXHhmZXw4XHgxMCIsbCsyLDE5NCkuZHJhd0ltYWdlKCJcYlxiXHgwMVx4MDBcYlxmXHgwZVx4ZmZceDBlXGZcYiIsbCsyLDExNik7Zy5zZXRDb2xvcih3P2cudGhlbWUuZmc6Zy50aGVtZS5iZykuZmlsbFBvbHkoWzEwNCwyMjAsMTM2LDIyMCwxMjAsMjI4XSk7Zy5mbGlwKCl9LHNlbGVjdDpmdW5jdGlvbigpe3ZhciBhPWVbZltjLnNlbGVjdGVkXV07aWYoZC5tYWluKXt2YXIgYj1hO2E9ZC5tYWluLml0ZW1zW2QubWFpbi5tZW51SXRlbXNbZC5tYWluLnNlbGVjdGVkXV07CmEudmFsdWU9YjtkLmJhY2soKTthLm9uY2hhbmdlJiYoYS5vbmNoYW5nZShhLnZhbHVlKSxkLmRyYXcoYy5zZWxlY3RlZCxjLnNlbGVjdGVkKSl9ZWxzZSBpZigiZnVuY3Rpb24iPT10eXBlb2YgYSlhKGQpO2Vsc2UgaWYoIm9iamVjdCI9PXR5cGVvZiBhKXtpZigibnVtYmVyIj09dHlwZW9mIGEudmFsdWUpaWYoIWEubm9MaXN0JiZhLmZvcm1hdCYmMT09PShhLnN0ZXB8fDEpJiYwPT09YS5taW4mJjIwPmEubWF4KXtkLm1haW49e2l0ZW1zOmUsbWVudUl0ZW1zOmYsc2VsZWN0ZWQ6Yy5zZWxlY3RlZCx0aXRsZTpjLnRpdGxlLHZhbHVlOmEudmFsdWV9O2MudGl0bGU9ZltjLnNlbGVjdGVkXTtjLnNlbGVjdGVkPTA7ZT17fTtmb3IoYj1hLm1pbjtiPD1hLm1heDtiKyspZVthLmZvcm1hdChiKV09YixiPT1hLnZhbHVlJiYoYy5zZWxlY3RlZD1PYmplY3Qua2V5cyhlKS5sZW5ndGgtMSk7Zj1PYmplY3Qua2V5cyhlKTtnLnJlc2V0KCkuY2xlYXJSZWN0KEJhbmdsZS5hcHBSZWN0KTtkLmRyYXcoKX1lbHNlIGQuc2VsZWN0RWRpdD0KZC5zZWxlY3RFZGl0P3ZvaWQgMDphO2Vsc2UgaWYoImJvb2xlYW4iPT10eXBlb2YgYS52YWx1ZSYmKGEudmFsdWU9IWEudmFsdWUpLGEub25jaGFuZ2UpYS5vbmNoYW5nZShhLnZhbHVlKTtCYW5nbGUudG91Y2hIYW5kbGVyPT11JiZkLmRyYXcoKX19LG1vdmU6ZnVuY3Rpb24oYSl7dmFyIGI9ZC5zZWxlY3RFZGl0O2lmKGIpe2I9ZC5zZWxlY3RFZGl0O2IudmFsdWUtPShhfHwxKSooYi5zdGVwfHwxKTt2b2lkIDAhPT1iLm1pbiYmYi52YWx1ZTxiLm1pbiYmKGIudmFsdWU9Yi53cmFwP2IubWF4OmIubWluKTt2b2lkIDAhPT1iLm1heCYmYi52YWx1ZT5iLm1heCYmKGIudmFsdWU9Yi53cmFwP2IubWluOmIubWF4KTtpZihiLm9uY2hhbmdlKWIub25jaGFuZ2UoYi52YWx1ZSk7ZC5kcmF3KGMuc2VsZWN0ZWQsYy5zZWxlY3RlZCl9ZWxzZSBiPWMuc2VsZWN0ZWQsYy5zZWxlY3RlZD0oYStjLnNlbGVjdGVkK2YubGVuZ3RoKSVmLmxlbmd0aCxkLmRyYXcoTWF0aC5taW4oYixjLnNlbGVjdGVkKSwKTWF0aC5tYXgoYixjLnNlbGVjdGVkKSl9LGJhY2s6dH07ZC5kcmF3KCk7cmV0dXJuIGR9QmFuZ2xlLnNldFVJKCl9KQAoZnVuY3Rpb24oKXtCYW5nbGUubG9hZCgiLmJvb3RjZGUiKX0pAFRpbWVvdXQgKHN0YXJ0KQBBcmJpdHJhdGlvbiAoc3RhcnQpACV2LmFwcGx5KHRoaXMsYXJndW1lbnRzKQBTZWFyY2ggc3RyaW5nIGlzIHRvbyBsb25nICg+PSVkIGNoYXJzKQBNb2R1bGUgbmFtZSB0b28gbG9uZyAobWF4IDEyOCBjaGFycykASW50ZXJ2YWwgaXMgdG9vIGxvbmcgKD4xMDAgeWVhcnMpACVzICE9ICVzICglcyAhPSAlcykAVGltZW91dCAod3IpAFRpbWVvdXQgKHN0b3ApAEFyYml0cmF0aW9uIChzdG9wKQBhcmdzIG11c3QgYmUgYWRkQ2FjaGVkKHN0cmluZywgc3RyaW5nfGZ1bmN0aW9uKQBieXRlT2Zmc2V0IHRvbyBsYXJnZSAob3IgbmVnYXRpdmUpAE51bU91dHB1dHMobm9kZSkATnVtSW5wdXRzKG5vZGUpAFJlc2hhcGVPdXRwdXQoY29udGV4dCwgbm9kZSkAVGltZW91dCAocmQpAFRvbyBtYW55IGFyZ3VtZW50cyAoPiVkKQBuZXcgJXMoJWQpAFRvbyBtYW55IGJ1ZmZlcnMgKG1heCBpcyAlZCkAT3V0cHV0IGluZGV4ICVkIG91dCBvZiByYW5nZSAobGVuZ3RoIGlzICVkKQBJbnB1dCBpbmRleCAlZCBvdXQgb2YgcmFuZ2UgKGxlbmd0aCBpcyAlZCkAJXMgKG9mZnMgJWQsIGxlbiAlZCkAJXMgIT0gJXMgKCVkICE9ICVkKQBdKQBzZXRUaW1lb3V0KEJhbmdsZS5zaG93UmVjb3ZlcnlNZW51LDEwMCkARWRpdCBzaG91bGQgYmUgY2FsbGVkIHdpdGggZWRpdChmdW5jTmFtZSkgb3IgZWRpdCgnZnVuY05hbWUnKQBzZXRUaW1lb3V0KAAlcy5zZXR1cCgAc2V0SW50ZXJ2YWwoAC5yZXBsYWNlV2l0aCgAc2V0V2F0Y2goAEZ1bmN0aW9uIGNvZGUgbXVzdCBiZSBhIFN0cmluZywgZ290ICcldCcAU3RyaW5nOiclcycALCAlaiwgeyByZXBlYXQ6JXMsIGVkZ2U6JyVzJwAnZWRnZScgaW4gc2V0V2F0Y2ggc2hvdWxkIGJlIDEsIC0xLCAwLCAncmlzaW5nJywgJ2ZhbGxpbmcnIG9yICdib3RoJwBTUEkgb3JkZXIgc2hvdWxkIGJlICdtc2InIG9yICdsc2InAElmIENvbG9yIGlzIGEgU3RyaW5nLCBpdCBtdXN0IGJlIG9mIHRoZSBmb3JtICcjcnJnZ2JiJyBvciAnI3JnYicAIwBcIgBPdXRwdXQgdGVuc29ycyBub3QgYXQgaW5kZXggMCBhcmUgYWxsb2NhdGVkIGZyb20gdGhlIHBlcnNpc3RlbnQgbWVtb3J5IGFyZW5hLiBSZXBlYXQgY2FsbHMgd2lsbCBjYXVzZSBleGNlc3MgYWxsb2NhdGlvbiEASW5wdXQgdGVuc29ycyBub3QgYXQgaW5kZXggMCBhcmUgYWxsb2NhdGVkIGZyb20gdGhlIHBlcnNpc3RlbnQgbWVtb3J5IGFyZW5hLiBSZXBlYXQgY2FsbHMgd2lsbCBjYXVzZSBleGNlc3MgYWxsb2NhdGlvbiEARmlsZSB0b28gYmlnIQBGdW5jdGlvbiAlcSBub3QgZm91bmQhAEZ1bmN0aW9uIG5vdCBmb3VuZCEAUHVyZSB2aXJ0dWFsIGZ1bmN0aW9uIGNhbGxlZCEARnVuY3Rpb24gb3IgU3RyaW5nIG5vdCBzdXBwbGllZCEARmFpbGVkIHRvIHBvcHVsYXRlIGEgcGVyc2lzdGVudCBUZkxpdGVUZW5zb3Igc3RydWN0IGZyb20gZmxhdGJ1ZmZlciBkYXRhIQBGYWlsZWQgdG8gcG9wdWxhdGUgYSB0ZW1wIFRmTGl0ZVRlbnNvciBzdHJ1Y3QgZnJvbSBmbGF0YnVmZmVyIGRhdGEhAE9iamVjdCB7IABHZXR0ZXIvU2V0dGVyIHsgAEZ1bmN0aW9uIHsgAE5hdGl2ZUZ1bmN0aW9uIDB4JXggKCVkKSB7IAAgYXQgAFBhcmFtICVxIAByZXR1cm4gAGZ1bmN0aW9uIABpbiBmdW5jdGlvbiAlcSBjYWxsZWQgZnJvbSAAaW4gZnVuY3Rpb24gY2FsbGVkIGZyb20gAE5hbWUgACMlZFtyJWQsbCVkXSAAQXJyYXlCdWZmZXJOYW1lWyVkXSAAQXJyYXkoJWQpIFsgACBDT05TVCAAU0VUIAAldi4ldiA9IAB2YXIgJXYgPSAAJXY6IABFUlJPUjogAFdBUk5JTkc6IABDSElMRDogACA6IABXcml0aW5nIGluaXRpYWwgc3RvcmFnZSBjb250ZW50cy4uLiAAQ29tcGFjdGluZy4uLiAAIC4uLiAAJXYub24oJXEsIAApIAAgICAgAHsKICAARmFpbGVkIHRvIGdldCByZWdpc3RyYXRpb24gZnJvbSBvcCBjb2RlICVzCiAACCAAZmxvb2RGaWxsIG92ZXJmbG93CgBVbmNhdWdodCAldgoAbGluZSAlZCBjb2wgJWQgaW4gJXYKAE5ldyBpbnRlcnByZXRlciBlcnJvcjogJXYKACwgJWYpOyAvLyAldgoATGVzcyB0aGFuIDEwIHBlcmNlbnQgYmF0dGVyeSByZW1haW5pbmcgLSBjYW5ub3QgY29tcGFjdAoAG1s/N2wKIF9fX18gICAgICAgICAgICAgICAgIF8gCnwgIF9ffF9fXyBfX18gX19fIF8gX3xffF9fXyBfX18gCnwgIF9ffF8gLXwgLiB8ICBffCB8IHwgfCAgIHwgLiB8CnxfX19ffF9fX3wgIF98X3wgfF9fX3xffF98X3xfX198CiAgICAgICAgIHxffCBlc3BydWluby5jb20KIDJ2MjQgKGMpIDIwMjQgRy5XaWxsaWFtcwoAVXRpbCBUaW1lciAlcwoAID0gYm9vbCAlcwoALT4gJXMKADwtICVzCgBVbnN1cHBvcnRlZCBkYXRhIHR5cGUgJWQgaW4gdGVuc29yCgBzeXN0ZW0KAFRGIGVycm9yIC0gbm8gbW9kZWwKAC8vIENvZGUgc2F2ZWQgd2l0aCBFLnNldEJvb3RDb2RlCgBOb3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBidWlsZAoARXhlY3V0aW9uIEludGVycnVwdGVkCgBJbnZva2UoKSBjYWxsZWQgYWZ0ZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkCgBTa2lwcGluZyBvcCBmb3Igb3Bjb2RlX2luZGV4ICVkCgBNaXNzaW5nIHJlZ2lzdHJhdGlvbiBmb3Igb3Bjb2RlX2luZGV4ICVkCgAgPSBpbnQgJWQKAENvdWxkbid0IGNvbnZlcnQgcGluIGZ1bmN0aW9uICVkCgBsaW5lICVkIGNvbCAlZAoAVW5rbm93biB0eXBlICVkCgBGICVkCgBeCgBXUklURV9TSE9SVAoAUkVBRF9TSE9SVAoAV0FLRVVQCgBXUklURV9CWVRFCgBSRUFEX0JZVEUKACB9KTsKAE9iamVjdC5jcmVhdGUoJXYpOwoAcGluTW9kZSglcCwgJXElcyk7CgBzZXRCdXN5SW5kaWNhdG9yKCVwKTsKAHNldFNsZWVwSW5kaWNhdG9yKCVwKTsKAEUuc2V0RmxhZ3MoJWopOwoAZGlnaXRhbFdyaXRlKCVwLCAlZCk7CgBVbmFibGUgdG8gYWxsb2NhdGUgcXVhbnRpemF0aW9uLT56ZXJvX3BvaW50LgoAVW5zdXBwb3J0ZWQgYmVoYXZpb3I6IGZvdW5kIGJ1aWx0aW4gb3BlcmF0b3IgJXMgd2l0aCBjdXN0b20gb3B0aW9ucy4KAFVuYWJsZSB0byBhbGxvY2F0ZSBUZkxpdGVBZmZpbmVRdWFudGl6YXRpb24uCgBGYWlsZWQgc3RhcnRpbmcgbW9kZWwgYWxsb2NhdGlvbi4KAAogIExvZ2dlZCBpbi4KAEV4ZWN1dGlvbiBJbnRlcnJ1cHRlZCBkdXJpbmcgZXZlbnQgcHJvY2Vzc2luZy4KAApXcml0ZSBjb21wbGV0ZS4KAEVyYXNlIGNvbXBsZXRlLgoAT3BlcmF0b3Igd2l0aCBDVVNUT00gYnVpbHRpbl9jb2RlIGhhcyBubyBjdXN0b21fY29kZS4KAE5vIFRpbWVycyBmb3VuZC4KAE9ubHkgMSBzdWJncmFwaCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkLgoAcmVmLHNpemUsZmxhZ3MsbmFtZSxsaW5rcy4uLgoARXJhc2luZyBTdG9yYWdlIEFyZWEuLi4KAFJ1bm5pbmcgb25Jbml0KCkuLi4KAElucHV0IGFycmF5IG5vdCBwcm92aWRlZCBmb3Igb3BlcmF0aW9uICclcycuCgBGb3VuZCB0b28gbWFueSBkaW1lbnNpb25zIGluIHRoZSBpbnB1dCBhcnJheSBvZiBvcGVyYXRpb24gJyVzJy4KAEVYRUNVVEUgJXgoJXgpCgBOYnIgb2Ygb2ZmbGluZSBidWZmZXIgb2Zmc2V0cyAoJWQpIGluIG1ldGFkYXRhIG5vdCBlcXVhbCBuYnIgdGVuc29ycyAoJWQpCgBEaWRuJ3QgZmluZCBvcCBmb3IgYnVpbHRpbiBvcGNvZGUgJyVzJyB2ZXJzaW9uICclZCcKAEluaXRpYWwgc3RvcmFnZSBpcyB0b28gbGFyZ2UgdG8gZml0IGluIGludGVybmFsIFNQSSBmbGFzaCEKAApEb25lIQoACgo="); base64DecodeToExistingUint8Array(bufferView, 129600, "PT0APT09ACE9ACE9PQA8PQA8PAA8PD0APj0APj4APj4+AD4+PQA+Pj49ACs9AC09ACsrAC0tACo9AC89ACU9ACY9ACYmAHw9AHx8AF49AD0+AGlmAGVsc2UAZG8Ad2hpbGUAZm9yAGJyZWFrAGNvbnRpbnVlAGZ1bmN0aW9uAHJldHVybgB2YXIAbGV0AGNvbnN0AHRoaXMAdGhyb3cAdHJ5AGNhdGNoAGZpbmFsbHkAdHJ1ZQBmYWxzZQBudWxsAHVuZGVmaW5lZABuZXcAaW4AaW5zdGFuY2VvZgBzd2l0Y2gAY2FzZQBkZWZhdWx0AGRlbGV0ZQB0eXBlb2YAdm9pZABkZWJ1Z2dlcgBjbGFzcwBleHRlbmRzAHN1cGVyAHN0YXRpYwBvZg=="); base64DecodeToExistingUint8Array(bufferView, 129908, "Pz8AADAAAAAAZGVlcFNsZWVwAHVuc2FmZUZsYXNoAHVuc3luY0ZpbGVzAHByZXRva2VuaXNlAGppdERlYnVn"); base64DecodeToExistingUint8Array(bufferView, 129986, "B4AxAAAABwABgDIAAAAPAAGAMwAAABcACIA0AAAAHABYgDUAAAAiAHiANgAAACYAA4A3AAAAKwAAgDgAAAAxAACAOQAAADUAA4A6AAAAPAAYgDsAAABCANiBPAAAAGFuYWxvZwBnZXRJbmZvAGdldE1vZGUAbW9kZQBwdWxzZQBwd20AcmVhZAByZXNldABzZXQAdG9nZ2xlAHdyaXRlAHdyaXRlQXRUaW1lAAAAAAARACAAAAAGACEALgAAABIAAQAvAAAAIgAFcD0AAAAmAAVwPgAAACsABXA/AAAAMAAFcEAAAAA1AAVwQQAAADoABXBCAAAAPwABABwAAABGAAEAHwAAAFAACwBDAAAAWAAJCQoAAABhABEACwAAAGYAAQAdAAAAaAAJAAwAAABuAAkJRAAAAHsACQlFAAAAiAARADAAAACRAAEAGQAAAJoABHBGAAAAnwABABcAAACjAAFwRwAAAKgAB3BIAAAAsQAJCUkAAAC8AAkJSgAAAMcACQlLAAAA0QAJAA8AAADfAAEAIgAAAOQAAXBMAAAA6AABcEwAAADtAAFwTQAAAPIABHBOAAAA9gABcE8AAAAAAQFwUAAAAAoBAQAnAAAADwEBACYAAAAXAQEAHgAAABsBB3BRAAAAHwERACMAAAAmAQkAJAAAAC0BKQASAAAANQEJABsAAAA5AQkAEwAAAEEBCQAQAAAAUAFJABEAAABXAQEAFgAAAFsBAXBSAAAAYAEBABQAAABnAQFwUwAAAG8BAQAVAAAAewERACUAAACCAQkADQAAAI4BAQAaAAAAoQEBcFQAAACqAQkADgAAALQBAXBVAAAAuAEJCVYAAADEAQkJVwAAANABCQlYAAAA3AEJCVkAAADnAQkJWgAAAPkBBXBbAAAAAQJhABgAAAAKAi8AXAAAABUC6ANdAAAAIQIBcF4AAAArAgkAXwAAADACCQBgAAAANQLIAWEAAABEAhAAYgAAAFICEABjAAAAXwIQAGQAAABqAgEAIQAAAHICCQBlAAAAhQLoAmYAAACSAgwAZwAAAJ4CSABoAAAAqwIAAGkAAACwAhgAagAAALUCCABrAAAAugIJAGwAAADNAgkACQAAANICAQApAAAA1QIpAG0AAADgAgEAbgAAAOoCBwBvAAAA8gIBcHAAAAD5AgFwcAAAAAQDCwBxAAAADQMLAHIAAAATAwgAcwAAABgDDwB0AAAAIwNJAHUAAAAsAyEBdgAAADMDIQF3AAAAOgMhAXgAAABAA2gGeQAAAEgDYAB6AAAATwNgAHsAAABWA2AAfAAAAFwDEAB9AAAAYgMBACoAAABqAwkAfgAAAHIDGAB/AAAAeAMIAIAAAACJA8kFgQAAAJUDCACCAAAApwM4AIMAAACvA8kFhAAAALoDSQOFAAAAwwNIAoYAAADMAwgAhw=="); base64DecodeToExistingUint8Array(bufferView, 131072, "QXJyYXkAQXJyYXlCdWZmZXIAQXJyYXlCdWZmZXJWaWV3AEJUTgBCVE4xAEJUTjIAQlROMwBCVE40AEJUTjUAQmFuZ2xlAEJsdWV0b290aABCb29sZWFuAERhdGFWaWV3AERhdGUARQBFcnJvcgBGbG9hdDMyQXJyYXkARmxvYXQ2NEFycmF5AEZ1bmN0aW9uAEdyYXBoaWNzAEhJR0gASTJDAEkyQzEASW5maW5pdHkASW50MTZBcnJheQBJbnQzMkFycmF5AEludDhBcnJheQBJbnRlcm5hbEVycm9yAEpTT04ATEVEAExFRDEATEVEMgBMT1cATG9vcGJhY2tBAExvb3BiYWNrQgBNYXRoAE1vZHVsZXMATlJGAE5hTgBOdW1iZXIAT2JqZWN0AE9uZVdpcmUAUGluAFByb21pc2UAUmVmZXJlbmNlRXJyb3IAUmVnRXhwAFNQSQBTUEkxAFNlcmlhbABTZXJpYWwxAFN0b3JhZ2VGaWxlAFN0cmluZwBTeW50YXhFcnJvcgBURk1pY3JvSW50ZXJwcmV0ZXIAVGVybWluYWwAVHlwZUVycm9yAFVTQgBVaW50MTZBcnJheQBVaW50MjRBcnJheQBVaW50MzJBcnJheQBVaW50OEFycmF5AFVpbnQ4Q2xhbXBlZEFycmF5AFZJQlJBVEUAV2F2ZWZvcm0AYW5hbG9nUmVhZABhbmFsb2dXcml0ZQBhcmd1bWVudHMAYXRvYgBidG9hAGNoYW5nZUludGVydmFsAGNsZWFySW50ZXJ2YWwAY2xlYXJUaW1lb3V0AGNsZWFyV2F0Y2gAY29uc29sZQBkZWNvZGVVUklDb21wb25lbnQAZGlnaXRhbFB1bHNlAGRpZ2l0YWxSZWFkAGRpZ2l0YWxXcml0ZQBkdW1wAGVjaG8AZWRpdABlbmNvZGVVUklDb21wb25lbnQAZXZhbABmcwBnZXRQaW5Nb2RlAGdldFNlcmlhbABnZXRUaW1lAGdsb2JhbABnbG9iYWxUaGlzAGlzRmluaXRlAGlzTmFOAGxvYWQAcGFyc2VGbG9hdABwYXJzZUludABwZWVrMTYAcGVlazMyAHBlZWs4AHBpbk1vZGUAcG9rZTE2AHBva2UzMgBwb2tlOABwcmludABwcm9jZXNzAHJlcXVpcmUAcmVzZXQAc2V0QnVzeUluZGljYXRvcgBzZXRJbnRlcnZhbABzZXRTbGVlcEluZGljYXRvcgBzZXRUaW1lAHNldFRpbWVvdXQAc2V0V2F0Y2gAc2hpZnRPdXQAdHJhY2U="); - base64DecodeToExistingUint8Array(bufferView, 132066, "IQGIAAAACAAgAYkAAAAQAAFwigAAABgAIQGLAAAAHQDhAYwAAAAiACEBjQAAACwAIAGOAAAANgABAI8AAAA6AAAAkAAAAEYAGACRAAAAUwABAJIAAABcAAEAkwAAAGcAAQCUAAAAcQAJAJUAAACBAAEAlgAAAIwAAQCXAAAAlAABAJgAAACfAAQAmQAAAKwAIQGaAAAAsgAgAZsAAAC3AAMAnAAAAMUAAwCdAAAA0AADAJ4AAADcAAMAnwAAAOQAAwCgAAAA7AADAKEAAAD0AAMAogAAAP0AYACjAAAAAwEIAKQAAAAIAQAApQAAABQBAACmAAAAGAEJAKcAAAAgAQAAqAAAAC0BGACpAAAAOgFbAKoAAABKAVsAqwAAAFYBWwCsAAAAYgE4AK0AAABzAQgArgAAAH4BIACvAAAAiwEYALAAAACXATgAsQAAAKUBGACyAAAArwEIALMAAAC6ATgAtAAAAMoBIAC1AAAA1wFIALYAAADdAQAAtwAAAOcBAAC4AAAA9AEAALkAAAAFAgAAug=="); - base64DecodeToExistingUint8Array(bufferView, 132480, "YWNjZWxSZABhY2NlbFdyAGFwcFJlY3QAYmVlcABidXp6AGNvbXBhc3NSZABjb21wYXNzV3IAZGJnAGRyYXdXaWRnZXRzAGZhY3RvcnlSZXNldABnZXRBY2NlbABnZXRDb21wYXNzAGdldEdQU0ZpeABnZXRIZWFsdGhTdGF0dXMAZ2V0TENETW9kZQBnZXRMb2dvAGdldE9wdGlvbnMAZ2V0U3RlcENvdW50AGhybVJkAGlvV3IAaXNCYWNrbGlnaHRPbgBpc0NoYXJnaW5nAGlzQ29tcGFzc09uAGlzR1BTT24AaXNIUk1PbgBpc0xDRE9uAGlzTG9ja2VkAGxjZFdyAGxvYWQAbG9hZFdpZGdldHMAb2ZmAHByb2plY3QAcmVzZXRDb21wYXNzAHNldEJhY2tsaWdodABzZXRDb21wYXNzUG93ZXIAc2V0R1BTUG93ZXIAc2V0SFJNUG93ZXIAc2V0TENEQnJpZ2h0bmVzcwBzZXRMQ0RNb2RlAHNldExDRE9mZnNldABzZXRMQ0RQb3dlcgBzZXRMQ0RUaW1lb3V0AHNldExvY2tlZABzZXRPcHRpb25zAHNldFBvbGxJbnRlcnZhbABzZXRTdGVwQ291bnQAc2V0VUkAc2hvd0Nsb2NrAHNob3dMYXVuY2hlcgBzaG93UmVjb3ZlcnlNZW51AHNvZnRPZmYAAAAAAAAJALsAAAAGAEgGvAAAAAoA+U+9AAAAEwAJAL4AAAAaAIgAvwAAAB4A/w/AAAAAIwAIAMEAAAAtAE8IwgAAADYASQLDAAAAQQAAAMQAAABIAAAAxQAAAFoAAQDGAAAAYgAAAMcAAABtAAAAyAAAAHsAeADJAAAAigAJAMoAAACTAMwAywAAAKAABwDMAAAArgAEAM0AAAC5AAEAzgAAAMQAAQDPAAAA0gABANAAAADbAAEA0QAAAOkACQHSAAAA8wAHANMAAAACAQQA1AAAAAkBCwDVAAAAEAEAANYAAAAdAQAA1wAAACkBSQbYAAAANgFIQtkAAABBASEB2gAAAEwBSQDbAAAAVgFhAtwAAABhAUgC3QAAAGYBAADeAAAAbQEkAN8AAAB5AcgA4AAAAIUBDADhAAAAjgFIAOIAAACZARAA4wAAAKABCADkAAAAqQEIAOUAAAC1ATgA5gAAAMEBSQDnAAAAywEJAOgAAADUAUgA6QAAAOABSQDqAAAA6wEJAOsAAAD4ASAA7AAAAP4BAADtAAAAEwIPAO4AAAAXAgkA7wAAACUCEQDwAAAAMgIJAPEAAAA3AhEA8gAAAEACEQDzAAAATQLPAfQAAABDUkMzMgBGRlQASFNCdG9SR0IAYXNVVEY4AGFzbQBjbGlwAGNvbXBpbGVkQwBjb252b2x2ZQBkZWNvZGVVVEY4AGRlZnJhZwBkdW1wRnJhZ21lbnRhdGlvbgBkdW1wU3RyAGR1bXBUaW1lcnMAZHVtcFZhcmlhYmxlcwBlbmFibGVXYXRjaGRvZwBmcm9tVVRGOABnZXRBZGRyZXNzT2YAZ2V0QW5hbG9nVlJlZgBnZXRCYXR0ZXJ5AGdldENvbnNvbGUAZ2V0RXJyb3JGbGFncwBnZXRGbGFncwBnZXRQb3dlclVzYWdlAGdldFNpemVPZgBnZXRUZW1wZXJhdHVyZQBod1JhbmQAaXNVVEY4AGtpY2tXYXRjaGRvZwBsb2NrQ29uc29sZQBsb29rdXBOb0Nhc2UAbWFwSW5QbGFjZQBtZW1vcnlBcmVhAG1lbW9yeU1hcABuYXRpdmVDYWxsAHBpcGUAcmVib290AHJldmVyc2VCeXRlAHNldEJvb3RDb2RlAHNldENsb2NrAHNldENvbnNvbGUAc2V0RFNUAHNldEZsYWdzAHNldFBhc3N3b3JkAHNldFRpbWVab25lAHNob3dBbGVydABzaG93TWVudQBzaG93TWVzc2FnZQBzaG93UHJvbXB0AHNob3dTY3JvbGxlcgBzcmFuZABzdG9wRXZlbnRQcm9wYWdhdGlvbgBzdW0AdG9BcnJheUJ1ZmZlcgB0b0ZsYXRTdHJpbmcAdG9KUwB0b1N0cmluZwB0b1VpbnQ4QXJyYXkAdmFyaWFuY2U="); + base64DecodeToExistingUint8Array(bufferView, 132066, "IQGIAAAACAABcIkAAAAQACEBigAAABUA4QGLAAAAGgAhAYwAAAAkACABjQAAAC4AAQCOAAAAMgAAAI8AAAA+ABgAkAAAAEsAAQCRAAAAVAABAJIAAABfAAEAkwAAAGkACQCUAAAAeQABAJUAAACEAAEAlgAAAIwAAQCXAAAAlwAEAJgAAACkACEBmQAAAKoAIAGaAAAArwADAJsAAAC9AAMAnAAAAMgAAwCdAAAA1AADAJ4AAADcAAMAnwAAAOQAAwCgAAAA7AADAKEAAAD1AGAAogAAAPsACACjAAAAAAEAAKQAAAAMAQAApQAAABABCQCmAAAAGAEAAKcAAAAlARgAqAAAADIBWwCpAAAAQgFbAKoAAABOAVsAqwAAAFoBOACsAAAAawEIAK0AAAB2ASAArgAAAIMBGACvAAAAjwE4ALAAAACdARgAsQAAAKcBCACyAAAAsgE4ALMAAADCASAAtAAAAM8BSAC1AAAA1QEAALYAAADfAQAAtwAAAOwBAAC4AAAA/QEAALkAAAAFAiABug=="); + base64DecodeToExistingUint8Array(bufferView, 132480, "YWNjZWxSZABhcHBSZWN0AGJlZXAAYnV6egBjb21wYXNzUmQAY29tcGFzc1dyAGRiZwBkcmF3V2lkZ2V0cwBmYWN0b3J5UmVzZXQAZ2V0QWNjZWwAZ2V0Q29tcGFzcwBnZXRHUFNGaXgAZ2V0SGVhbHRoU3RhdHVzAGdldExDRE1vZGUAZ2V0TG9nbwBnZXRPcHRpb25zAGdldFN0ZXBDb3VudABocm1SZABpb1dyAGlzQmFja2xpZ2h0T24AaXNDaGFyZ2luZwBpc0NvbXBhc3NPbgBpc0dQU09uAGlzSFJNT24AaXNMQ0RPbgBpc0xvY2tlZABsY2RXcgBsb2FkAGxvYWRXaWRnZXRzAG9mZgBwcm9qZWN0AHJlc2V0Q29tcGFzcwBzZXRCYWNrbGlnaHQAc2V0Q29tcGFzc1Bvd2VyAHNldEdQU1Bvd2VyAHNldEhSTVBvd2VyAHNldExDREJyaWdodG5lc3MAc2V0TENETW9kZQBzZXRMQ0RPZmZzZXQAc2V0TENEUG93ZXIAc2V0TENEVGltZW91dABzZXRMb2NrZWQAc2V0T3B0aW9ucwBzZXRQb2xsSW50ZXJ2YWwAc2V0U3RlcENvdW50AHNldFVJAHNob3dDbG9jawBzaG93TGF1bmNoZXIAc2hvd1JlY292ZXJ5TWVudQBzb2Z0T2ZmAHRvdWNoV3IAAAAAAAAJALsAAAAGAEgGvAAAAAoA+U+9AAAAEwAJAL4AAAAaAIgAvwAAAB4A/w/AAAAAIwAIAMEAAAAtAE8IwgAAADYASQLDAAAAQQAAAMQAAABIAAAAxQAAAFoAAQDGAAAAYgAAAMcAAABtAAAAyAAAAHsAeADJAAAAigAJAMoAAACTAMwAywAAAKAABwDMAAAArgAEAM0AAAC5AAEAzgAAAMQAAQDPAAAA0gABANAAAADbAAEA0QAAAOkACQHSAAAA8wAHANMAAAACAQQA1AAAAAkBCwDVAAAAEAEAANYAAAAdAQAA1wAAACkBSQbYAAAANgFIQtkAAABBASEB2gAAAEwBSQDbAAAAVgFhAtwAAABhAUgC3QAAAGYBAADeAAAAbQEkAN8AAAB5AcgA4AAAAIUBDADhAAAAjgFIAOIAAACZARAA4wAAAKABCADkAAAAqQEIAOUAAAC1ATgA5gAAAMEBSQDnAAAAywEJAOgAAADUAUgA6QAAAOABSQDqAAAA6wEJAOsAAAD4ASAA7AAAAP4BAADtAAAAEwIPAO4AAAAXAgkA7wAAACUCEQDwAAAAMgIJAPEAAAA3AhEA8gAAAEACEQDzAAAATQLPAfQAAABDUkMzMgBGRlQASFNCdG9SR0IAYXNVVEY4AGFzbQBjbGlwAGNvbXBpbGVkQwBjb252b2x2ZQBkZWNvZGVVVEY4AGRlZnJhZwBkdW1wRnJhZ21lbnRhdGlvbgBkdW1wU3RyAGR1bXBUaW1lcnMAZHVtcFZhcmlhYmxlcwBlbmFibGVXYXRjaGRvZwBmcm9tVVRGOABnZXRBZGRyZXNzT2YAZ2V0QW5hbG9nVlJlZgBnZXRCYXR0ZXJ5AGdldENvbnNvbGUAZ2V0RXJyb3JGbGFncwBnZXRGbGFncwBnZXRQb3dlclVzYWdlAGdldFNpemVPZgBnZXRUZW1wZXJhdHVyZQBod1JhbmQAaXNVVEY4AGtpY2tXYXRjaGRvZwBsb2NrQ29uc29sZQBsb29rdXBOb0Nhc2UAbWFwSW5QbGFjZQBtZW1vcnlBcmVhAG1lbW9yeU1hcABuYXRpdmVDYWxsAHBpcGUAcmVib290AHJldmVyc2VCeXRlAHNldEJvb3RDb2RlAHNldENsb2NrAHNldENvbnNvbGUAc2V0RFNUAHNldEZsYWdzAHNldFBhc3N3b3JkAHNldFRpbWVab25lAHNob3dBbGVydABzaG93TWVudQBzaG93TWVzc2FnZQBzaG93UHJvbXB0AHNob3dTY3JvbGxlcgBzcmFuZABzdG9wRXZlbnRQcm9wYWdhdGlvbgBzdW0AdG9BcnJheUJ1ZmZlcgB0b0ZsYXRTdHJpbmcAdG9KUwB0b1N0cmluZwB0b1VpbnQ4QXJyYXkAdmFyaWFuY2U="); base64DecodeToExistingUint8Array(bufferView, 134082, "AQD1AAAACwABAPYAAAAdAEgA9wAAACwASAD4AAAAZ2V0QWRkcmVzcwBnZXRTZWN1cml0eVN0YXR1cwBzZXRBZHZlcnRpc2luZwBzZXRTZXJ2aWNlcw=="); base64DecodeToExistingUint8Array(bufferView, 134176, "+QAAAHNldENvbnNvbGUAAAAAEYD6AAAABwBJgPsAAAANAAmD/AAAABIASYD9AAAAGQAJgP4AAAAeAAmA/wAAACgASIAAAQAAMAALgQEBAAA5AAmBAgEAAEEACYADAQAARgAB8AQBAABNAEmABQEAAFEAAYAGAQAAVQAUgAcBAABaAEmACAEAAGEAAYAJAQAAaQABgAoBAABvAGGACwEAAHUASYAMAQAAegAJgA0BAAB/AGGEDgEAAIYACYABAAAAjwAUgA8B"); base64DecodeToExistingUint8Array(bufferView, 134384, "Y29uY2F0AGV2ZXJ5AGZpbGwAZmlsdGVyAGZpbmQAZmluZEluZGV4AGZvckVhY2gAaW5jbHVkZXMAaW5kZXhPZgBqb2luAGxlbmd0aABtYXAAcG9wAHB1c2gAcmVkdWNlAHJldmVyc2UAc2hpZnQAc2xpY2UAc29tZQBzb3J0AHNwbGljZQB0b1N0cmluZwB1bnNoaWZ0AAAAAAsAEAEAAGlzQXJyYXkAAAAAAAAABPARAQAAYnl0ZUxlbmd0aAAAAAAB8BIBAAAHAATwEwEAABIABPAUAQAAHQAJg/wAAAAiAEmA/QAAACkACYD+AAAALgAJgP8AAAA4AEiAAAEAAEAAC4EBAQAASQAJgQIBAABRAAmAAwEAAFYASYAVAQAAWgBJgAgBAABhAAGACQEAAGkACIEWAQAAbQBhgAsBAABzAAmAFwEAAHgAYYAYAQAAYnVmZmVyAGJ5dGVMZW5ndGgAYnl0ZU9mZnNldABmaWxsAGZpbHRlcgBmaW5kAGZpbmRJbmRleABmb3JFYWNoAGluY2x1ZGVzAGluZGV4T2YAam9pbgBtYXAAcmVkdWNlAHJldmVyc2UAc2V0AHNsaWNlAHNvcnQAc3ViYXJyYXk="); @@ -761,7 +761,7 @@ function initActiveSegments(imports) { base64DecodeToExistingUint8Array(bufferView, 146738, "HwDgB/8HAPgf+OD///8="); base64DecodeToExistingUint8Array(bufferView, 146770, "KEJRjNe9JpuAYSADQAXfBBkAEzAT+ADYIPvg////AAAGAAwAEwAZAB8AgAGGAYwBkwGZAZ8BIAMmAywDMwM5Az8DwATGBMwE0wTZBN8EYAZmBmwGcwZ5Bn8G4AfmB+wH8wf5B/8HADAGMAwwEzAZMB8wgDGGMYwxkzGZMZ8xIDMmMywzMzM5Mz8zwDTGNMw00zTZNN80YDZmNmw2czZ5Nn824DfmN+w38zf5N/83AGAGYAxgE2AZYB9ggGGGYYxhk2GZYZ9hIGMmYyxjM2M5Yz9jwGTGZMxk02TZZN9kYGZmZmxmc2Z5Zn9m4GfmZ+xn82f5Z/9nAJgGmAyYE5gZmB+YgJmGmYyZk5mZmZ+ZIJsmmyybM5s5mz+bwJzGnMyc05zZnN+cYJ5mnmyec555nn+e4J/mn+yf85/5n/+fAMgGyAzIE8gZyB/IgMmGyYzJk8mZyZ/JIMsmyyzLM8s5yz/LwMzGzMzM08zZzN/MYM5mzmzOc855zn/O4M/mz+zP88/5z//PAPgG+Az4E/gZ+B/4gPmG+Yz5k/mZ+Z/5IPsm+yz7M/s5+z/7wPzG/Mz80/zZ/N/8YP5m/mz+c/55/n/+4P/m/+z/8//5////"); base64DecodeToExistingUint8Array(bufferView, 147310, "//8AACsAgQCsAHkATgAMABIAFwAEACcAtwCQAMAA0gDXAAAABQAeACMAtAC5ANIA1wAAAAkABwAIAAwACwAOAA8="); - base64DecodeToExistingUint8Array(bufferView, 147384, "fAIAAH0CAAB+AgAAfwIAAIACAACBAgAAza0BAP6tAQAMqgEA6q0BAOCtAQBArQEAcawBAIupAQBHqQEAva0BAJypAQD7qQEADq4BAN6pAQAdrgEAz6kBANKqAQDyrQEA+aoBAEOoAQBQsgEAq68BANqsAQB0qQEAV6oBAPenAQD8qwEAYawBAB+sAQAYqQEA5qoBAB2rAQDbqgEAlKwBANytAQAkqgEAbakBAJatAQCErQEArKwBAH2qAQBBrgEAM6gBAHysAQCeqgEAMq0BAECqAQCHqQEARrEBAL+oAQDzpwEAi6wBALuqAQBIqAEAQqgBAI6qAQDgpwEAlqoBAP+oAQA6rAEAWbEBAGWpAQBAqwEANasBAOqoAQA6rQEAW6oBAB6oAQC2rAEA6qwBAAypAQBIqwEAK6sBACSsAQCKqgEATqgBAE2oAQDcrAEABKgBAF+qAQCJqAEAWa0BAOinAQB8qwEAPKkBAGqoAQCurQEAXqgBAHqrAQBnqgEALagBAF6nAQDMrAEA9awBABirAQBlrQEAAK0BAE2pAQA3qAEAH60BANWtAQAyqQEAFqgBAISsAQAiqwEATrEBAMKpAQB6rQEACKkBAMasAQBxqwEARKgBAA6tAQA+rAEAc6wBAEqsAQCorQEAC6wBAF6sAQDvrAEArbABAJawAQBvrQEAPLEBAGmnAQCCqgEA8KoB"); + base64DecodeToExistingUint8Array(bufferView, 147384, "fAIAAH0CAAB+AgAAfwIAAIACAACBAgAAza0BAP6tAQAMqgEA6q0BAOCtAQBArQEAcawBAIupAQBHqQEAva0BAJypAQD7qQEADq4BAN6pAQAdrgEAz6kBANKqAQDyrQEA+aoBAEOoAQBGsgEAq68BANqsAQB0qQEAV6oBAPenAQD8qwEAYawBAB+sAQAYqQEA5qoBAB2rAQDbqgEAlKwBANytAQAkqgEAbakBAJatAQCErQEArKwBAH2qAQBBrgEAM6gBAHysAQCeqgEAMq0BAECqAQCHqQEAPLEBAL+oAQDzpwEAi6wBALuqAQBIqAEAQqgBAI6qAQDgpwEAlqoBAP+oAQA6rAEAT7EBAGWpAQBAqwEANasBAOqoAQA6rQEAW6oBAB6oAQC2rAEA6qwBAAypAQBIqwEAK6sBACSsAQCKqgEATqgBAE2oAQDcrAEABKgBAF+qAQCJqAEAWa0BAOinAQB8qwEAPKkBAGqoAQCurQEAXqgBAHqrAQBnqgEALagBAF6nAQDMrAEA9awBABirAQBlrQEAAK0BAE2pAQA3qAEAH60BANWtAQAyqQEAFqgBAISsAQAiqwEARLEBAMKpAQB6rQEACKkBAMasAQBxqwEARKgBAA6tAQA+rAEAc6wBAEqsAQCorQEAC6wBAF6sAQDvrAEArbABAJawAQBvrQEAMrEBAGmnAQCCqgEA8KoB"); base64DecodeToExistingUint8Array(bufferView, 147932, "iwIAAIwCAACNAgAAiQIAAI4CAACPAgAAkAIAAJECAACSAgAAkwIAAJQCAACVAg=="); base64DecodeToExistingUint8Array(bufferView, 147988, "lgIAAJcCAACYAgAAmQI="); base64DecodeToExistingUint8Array(bufferView, 148012, "mgIAAJoCAACbAgAAnAIAAAAAAABPZmZsaW5lTWVtb3J5QWxsb2NhdGlvbgCA////fwAAAAAAAAD/AAAAAID///9/AACA////fwAAAACA////fwAAgP///38AAAAAAACA////fwAAAID///9/AAAAAAAAAAC1AgAAtgIAAJoCAACaAgAAmgIAAJoC"); @@ -3411,10 +3411,13 @@ function jsiIdle() { HEAP32[$0 + 260 >> 2] = $2; HEAP8[$0 + 255 | 0] = (HEAPU8[$0 + 312 | 0] & 32) != 0; HEAP8[$0 + 254 | 0] = 0; + HEAP8[$0 + 254 | 0] = (HEAPU8[$0 + 312 | 0] & 64) != 0; + HEAP8[$0 + 253 | 0] = 0; HEAP32[$0 + 248 >> 2] = jsvObjectGetIntegerChild(HEAP32[$0 + 280 >> 2], 105460); label$22: { if (HEAP32[$0 + 248 >> 2] <= 0) { - HEAP8[$0 + 254 | 0] = 1; + HEAP8[$0 + 253 | 0] = (HEAPU8[$0 + 254 | 0] ^ -1) & 1; + jsvObjectSetChildAndUnLock(HEAP32[$0 + 280 >> 2], 104628, jsvNewFromBool(HEAP8[$0 + 255 | 0] & 1)); break label$22; } HEAP8[$0 + 247 | 0] = jsvObjectGetBoolChild(HEAP32[$0 + 280 >> 2], 104628) & 1; @@ -3462,17 +3465,22 @@ function jsiIdle() { $1 = $3 >>> 0 < $6 >>> 0 ? $1 + 1 | 0 : $1; jsvUnLock(jsvObjectSetChild(HEAP32[$0 + 240 >> 2], 105007, jsvNewFromLongInteger($3, $1))); jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 104628, jsvNewFromBool(HEAP8[$0 + 255 | 0] & 1)); - $5 = HEAP32[$0 + 260 >> 2]; - $2 = $5; - $1 = HEAP32[$0 + 256 >> 2]; - $4 = $1; - $5 = HEAP32[$0 + 232 >> 2]; - $6 = $5; - $1 = HEAP32[$0 + 236 >> 2]; - $5 = $1; - $1 = $2; - if (!($4 >>> 0 <= $6 >>> 0 & ($5 | 0) >= ($1 | 0) | ($1 | 0) < ($5 | 0) | (HEAP8[$0 + 255 | 0] & 1) == (HEAP8[$0 + 247 | 0] & 1))) { - HEAP8[$0 + 254 | 0] = 1; + label$26: { + if (!(HEAP8[$0 + 254 | 0] & 1)) { + $5 = HEAP32[$0 + 260 >> 2]; + $2 = $5; + $1 = HEAP32[$0 + 256 >> 2]; + $4 = $1; + $5 = HEAP32[$0 + 232 >> 2]; + $6 = $5; + $1 = HEAP32[$0 + 236 >> 2]; + $5 = $1; + $1 = $2; + if ($4 >>> 0 <= $6 >>> 0 & ($5 | 0) >= ($1 | 0) | ($1 | 0) < ($5 | 0) | (HEAP8[$0 + 255 | 0] & 1) == (HEAP8[$0 + 247 | 0] & 1)) { + break label$26; + } + } + HEAP8[$0 + 253 | 0] = (HEAPU8[$0 + 254 | 0] ^ -1) & 1; $4 = HEAP32[$0 + 232 >> 2]; $6 = $4; $1 = HEAP32[$0 + 236 >> 2]; @@ -3496,48 +3504,54 @@ function jsiIdle() { } break label$24; } - if ((HEAP8[$0 + 255 | 0] & 1) != (HEAP8[$0 + 247 | 0] & 1)) { - HEAP32[$0 + 240 >> 2] = jsvNewObject(); - if (HEAP32[$0 + 240 >> 2]) { - jsvObjectSetChild(HEAP32[$0 + 240 >> 2], 103640, HEAP32[$0 + 280 >> 2]); - $3 = HEAP32[$0 + 248 >> 2]; - $6 = $3 >> 31; - $7 = $3; - $8 = $6; - $6 = HEAP32[$0 + 256 >> 2]; - $4 = $6; - $3 = HEAP32[$0 + 260 >> 2]; - $2 = $3; - $6 = HEAP32[46779]; - $9 = $6; - $3 = HEAP32[46778]; - $5 = $3; - $1 = $4 - $3 | 0; - $10 = $1; - $6 = $2; - $3 = $9; - $2 = $3 + ($5 >>> 0 > $4 >>> 0) | 0; - $2 = $6 - $2 | 0; - $4 = $2; - $2 = $8; - $1 = $4 + $2 | 0; - $5 = $10; - $6 = $7; - $3 = $5 + $6 | 0; - $1 = $5 >>> 0 > $3 >>> 0 ? $1 + 1 | 0 : $1; - jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 105007, jsvNewFromLongInteger($3, $1)); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 107791, jsvObjectGetChildIfExists(HEAP32[$0 + 280 >> 2], 107791)); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 105012, jsvObjectGetChildIfExists(HEAP32[$0 + 280 >> 2], 105012)); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 102482, jsvNewFromPin(HEAPU8[$0 + 279 | 0])); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 104628, jsvNewFromBool(HEAP8[$0 + 255 | 0] & 1)); - jsiTimerAdd(HEAP32[$0 + 240 >> 2]); - jsvObjectSetChild(HEAP32[$0 + 280 >> 2], 97407, HEAP32[$0 + 240 >> 2]); + label$28: { + if (!(HEAP8[$0 + 254 | 0] & 1 | (HEAP8[$0 + 255 | 0] & 1) == (HEAP8[$0 + 247 | 0] & 1))) { + HEAP32[$0 + 240 >> 2] = jsvNewObject(); + if (HEAP32[$0 + 240 >> 2]) { + jsvObjectSetChild(HEAP32[$0 + 240 >> 2], 103640, HEAP32[$0 + 280 >> 2]); + $3 = HEAP32[$0 + 248 >> 2]; + $6 = $3 >> 31; + $7 = $3; + $8 = $6; + $6 = HEAP32[$0 + 256 >> 2]; + $4 = $6; + $3 = HEAP32[$0 + 260 >> 2]; + $2 = $3; + $6 = HEAP32[46779]; + $9 = $6; + $3 = HEAP32[46778]; + $5 = $3; + $1 = $4 - $3 | 0; + $10 = $1; + $6 = $2; + $3 = $9; + $2 = $3 + ($5 >>> 0 > $4 >>> 0) | 0; + $2 = $6 - $2 | 0; + $4 = $2; + $2 = $8; + $1 = $4 + $2 | 0; + $5 = $10; + $6 = $7; + $3 = $5 + $6 | 0; + $1 = $5 >>> 0 > $3 >>> 0 ? $1 + 1 | 0 : $1; + jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 105007, jsvNewFromLongInteger($3, $1)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 107791, jsvObjectGetChildIfExists(HEAP32[$0 + 280 >> 2], 107791)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 105012, jsvObjectGetChildIfExists(HEAP32[$0 + 280 >> 2], 105012)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 102482, jsvNewFromPin(HEAPU8[$0 + 279 | 0])); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 104628, jsvNewFromBool(HEAP8[$0 + 255 | 0] & 1)); + jsiTimerAdd(HEAP32[$0 + 240 >> 2]); + jsvObjectSetChild(HEAP32[$0 + 280 >> 2], 97407, HEAP32[$0 + 240 >> 2]); + } + break label$28; + } + if (HEAP8[$0 + 254 | 0] & 1) { + jsvObjectSetChildAndUnLock(HEAP32[$0 + 280 >> 2], 104628, jsvNewFromBool(HEAP8[$0 + 255 | 0] & 1)); } } } jsvUnLock(HEAP32[$0 + 240 >> 2]); } - if (HEAP8[$0 + 254 | 0] & 1) { + if (HEAP8[$0 + 253 | 0] & 1) { $1 = HEAP32[$0 + 256 >> 2]; $6 = HEAP32[$0 + 260 >> 2]; HEAP32[$0 + 224 >> 2] = jsvNewFromFloat(jshGetMillisecondsFromTime($1, $6) / 1e3); @@ -3725,10 +3739,10 @@ function jsiIdle() { } HEAP8[$0 + 107 | 0] = 0; if (HEAP8[$0 + 127 | 0] & 1) { - label$50: { + label$53: { if (HEAP32[$0 + 120 >> 2]) { HEAP8[$0 + 106 | 0] = jsiExecuteEventCallback(0, HEAP32[$0 + 132 >> 2], 1, $0 + 120 | 0) & 1; - break label$50; + break label$53; } HEAP32[$0 + 100 >> 2] = jsvObjectGetChildIfExists(HEAP32[$0 + 144 >> 2], 100307); HEAP8[$0 + 106 | 0] = jsiExecuteEventCallbackArgsArray(0, HEAP32[$0 + 132 >> 2], HEAP32[$0 + 100 >> 2]) & 1; @@ -3765,7 +3779,7 @@ function jsiIdle() { jsvUnLock(HEAP32[$0 + 128 >> 2]); } HEAP32[$0 + 76 >> 2] = jsvObjectGetChildIfExists(HEAP32[$0 + 144 >> 2], 100885); - label$59: { + label$62: { if (!(!HEAP32[$0 + 76 >> 2] | HEAP8[$0 + 107 | 0] & 1)) { $2 = HEAP32[$0 + 136 >> 2]; $5 = $2; @@ -3784,7 +3798,7 @@ function jsiIdle() { $1 = HEAP32[$0 + 136 >> 2]; $5 = HEAP32[$0 + 140 >> 2]; jsvObjectSetChildAndUnLock(HEAP32[$0 + 144 >> 2], 105007, jsvNewFromLongInteger($1, $5)); - break label$59; + break label$62; } jsvObjectIteratorRemoveAndGotoNext($0 + 176 | 0, HEAP32[$0 + 180 >> 2]); HEAP8[$0 + 151 | 0] = 1; @@ -3795,9 +3809,9 @@ function jsiIdle() { } $5 = HEAP32[$0 + 136 >> 2]; $1 = HEAP32[$0 + 140 >> 2]; - label$61: { + label$64: { if (($1 | 0) < 0) { - break label$61; + break label$64; } $2 = HEAP32[$0 + 136 >> 2]; $4 = $2; @@ -3810,7 +3824,7 @@ function jsiIdle() { $2 = $3; $1 = $6; if ($5 >>> 0 <= $4 >>> 0 & ($2 | 0) >= ($1 | 0) | ($1 | 0) < ($2 | 0)) { - break label$61; + break label$64; } $2 = HEAP32[$0 + 140 >> 2]; $4 = HEAP32[$0 + 136 >> 2]; @@ -3835,10 +3849,10 @@ function jsiIdle() { if (jswIdle() & 1) { HEAP8[$0 + 319 | 0] = 1; } - label$64: { + label$67: { if (!(HEAP8[$0 + 319 | 0] & 1)) { if (jsvArrayIsEmpty(HEAP32[46760]) & 1) { - break label$64; + break label$67; } } HEAP8[187066] = 0; @@ -3873,7 +3887,7 @@ function jsiIdle() { } if ((HEAPU16[$0 + 74 >> 1] & 64) == 64) { HEAP32[$0 + 68 >> 2] = jsvObjectGetChildIfExists(HEAP32[46748], 106898); - label$72: { + label$75: { if (HEAP32[$0 + 68 >> 2]) { jsfNameFromVarAndUnLock($0 + 40 | 0, HEAP32[$0 + 68 >> 2]); jsiKill(); @@ -3897,7 +3911,7 @@ function jsiIdle() { if (HEAP32[$0 + 36 >> 2]) { jsvUnLock2(jspEvaluateVar(HEAP32[$0 + 36 >> 2], 0, 0), HEAP32[$0 + 36 >> 2]); } - break label$72; + break label$75; } jsiSoftKill(); jspSoftKill(); @@ -3916,10 +3930,10 @@ function jsiIdle() { if (HEAPU16[93524] & 512) { jshKickWatchDog(); } - label$76: { - label$77: { + label$79: { + label$80: { if (HEAPU8[187066] != 1) { - break label$77; + break label$80; } $4 = HEAP32[$0 + 200 >> 2]; $5 = $4; @@ -3932,21 +3946,21 @@ function jsiIdle() { $4 = $1; $1 = $3; if (($4 | 0) <= ($2 | 0) & $5 >>> 0 <= $1 >>> 0 | ($2 | 0) > ($4 | 0)) { - break label$77; + break label$80; } if (jsvMoreFreeVariablesThan(125) & 1) { - break label$77; + break label$80; } jsiSetBusy(1, 1); jsvGarbageCollect(); jsiSetBusy(1, 0); - break label$76; + break label$79; } if (!HEAPU8[187066]) { - break label$76; + break label$79; } if (jshHasEvents() & 1) { - break label$76; + break label$79; } $5 = HEAP32[$0 + 200 >> 2]; $4 = HEAP32[$0 + 204 >> 2]; @@ -7286,10 +7300,10 @@ function jswrap_banglejs_init() { $1 = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 103997); HEAP8[189414] = $1; HEAP8[189415] = $1 >>> 8; - $1 = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 110900); + $1 = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 110890); HEAP8[189416] = $1; HEAP8[189417] = $1 >>> 8; - $1 = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 110904); + $1 = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 110894); HEAP8[189418] = $1; HEAP8[189419] = $1 >>> 8; $1 = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 109556); @@ -7435,7 +7449,7 @@ function jswrap_banglejs_init() { HEAP32[$0 + 76 >> 2] = jsvNewFromString(106228); jsvGetString(HEAP32[$0 + 76 >> 2], $0 + 80 | 0, 20); jsvUnLock(HEAP32[$0 + 76 >> 2]); - jswrap_graphics_drawCString(189428, 8, HEAP32[$0 + 104 >> 2], 110881); + jswrap_graphics_drawCString(189428, 8, HEAP32[$0 + 104 >> 2], 110812); jswrap_graphics_drawCString(189428, 8, HEAP32[$0 + 104 >> 2] + 10 | 0, $0 + 80 | 0); jswrap_graphics_drawCString(189428, 8, HEAP32[$0 + 104 >> 2] + 20 | 0, 100255); } @@ -14631,7 +14645,7 @@ function tflite__ops__micro__activations___28anonymous_20namespace_29__Calculate $2 = TfLiteTypeGetName(HEAP32[HEAP32[$5 + 164 >> 2] + 28 >> 2]); HEAP32[$5 + 124 >> 2] = TfLiteTypeGetName(1); HEAP32[$5 + 120 >> 2] = $2; - HEAP32[$5 + 116 >> 2] = 111021; + HEAP32[$5 + 116 >> 2] = 111011; HEAP32[$5 + 112 >> 2] = 104863; FUNCTION_TABLE[$0 | 0]($1, 126107, $5 + 112 | 0); HEAP32[$5 + 172 >> 2] = 1; @@ -14643,7 +14657,7 @@ function tflite__ops__micro__activations___28anonymous_20namespace_29__Calculate $2 = TfLiteTypeGetName(HEAP32[HEAP32[$5 + 160 >> 2] + 28 >> 2]); HEAP32[$5 + 140 >> 2] = TfLiteTypeGetName(1); HEAP32[$5 + 136 >> 2] = $2; - HEAP32[$5 + 132 >> 2] = 111021; + HEAP32[$5 + 132 >> 2] = 111011; HEAP32[$5 + 128 >> 2] = 104850; FUNCTION_TABLE[$0 | 0]($1, 126107, $5 + 128 | 0); HEAP32[$5 + 172 >> 2] = 1; @@ -19203,7 +19217,7 @@ function tflite__ops__micro__quantize__Prepare_28TfLiteContext__2c_20TfLiteNode_ $3 = tflite__NumInputs_28TfLiteNode_20const__29(HEAP32[$2 + 148 >> 2]); HEAP32[$2 + 12 >> 2] = 1; HEAP32[$2 + 8 >> 2] = $3; - HEAP32[$2 + 4 >> 2] = 111287; + HEAP32[$2 + 4 >> 2] = 111277; HEAP32[$2 >> 2] = 126274; FUNCTION_TABLE[$0 | 0]($1, 126505, $2); HEAP32[$2 + 156 >> 2] = 1; @@ -19215,7 +19229,7 @@ function tflite__ops__micro__quantize__Prepare_28TfLiteContext__2c_20TfLiteNode_ $3 = tflite__NumOutputs_28TfLiteNode_20const__29(HEAP32[$2 + 148 >> 2]); HEAP32[$2 + 28 >> 2] = 1; HEAP32[$2 + 24 >> 2] = $3; - HEAP32[$2 + 20 >> 2] = 111287; + HEAP32[$2 + 20 >> 2] = 111277; HEAP32[$2 + 16 >> 2] = 126257; FUNCTION_TABLE[$0 | 0]($1, 126505, $2 + 16 | 0); HEAP32[$2 + 156 >> 2] = 1; @@ -19255,7 +19269,7 @@ function tflite__ops__micro__quantize__Prepare_28TfLiteContext__2c_20TfLiteNode_ if (HEAP32[HEAP32[HEAP32[$2 + 132 >> 2] >> 2] >> 2] != 1) { $0 = HEAP32[HEAP32[$2 + 152 >> 2] + 20 >> 2]; $1 = HEAP32[$2 + 152 >> 2]; - HEAP32[$2 + 80 >> 2] = 111251; + HEAP32[$2 + 80 >> 2] = 111241; FUNCTION_TABLE[$0 | 0]($1, 111890, $2 + 80 | 0); HEAP32[$2 + 156 >> 2] = 1; break label$2; @@ -21174,10 +21188,10 @@ function jswrap_graphics_blit($0, $1) { HEAP32[$2 + 108 >> 2] = 0; HEAP32[$2 + 104 >> 2] = 0; HEAP8[$2 + 103 | 0] = 0; - HEAP32[$2 + 16 >> 2] = 111168; + HEAP32[$2 + 16 >> 2] = 111158; HEAP16[$2 + 20 >> 1] = 10; HEAP32[$2 + 24 >> 2] = $2 + 124; - HEAP32[$2 + 28 >> 2] = 111165; + HEAP32[$2 + 28 >> 2] = 111155; HEAP16[$2 + 32 >> 1] = 10; HEAP32[$2 + 36 >> 2] = $2 + 120; HEAP32[$2 + 40 >> 2] = 97016; @@ -21186,10 +21200,10 @@ function jswrap_graphics_blit($0, $1) { HEAP32[$2 + 52 >> 2] = 103644; HEAP16[$2 + 56 >> 1] = 10; HEAP32[$2 + 60 >> 2] = $2 + 112; - HEAP32[$2 + 64 >> 2] = 110889; + HEAP32[$2 + 64 >> 2] = 110879; HEAP16[$2 + 68 >> 1] = 10; HEAP32[$2 + 72 >> 2] = $2 + 108; - HEAP32[$2 + 76 >> 2] = 110886; + HEAP32[$2 + 76 >> 2] = 110876; HEAP16[$2 + 80 >> 1] = 10; HEAP32[$2 + 84 >> 2] = $2 + 104; HEAP32[$2 + 88 >> 2] = 106713; @@ -21497,7 +21511,7 @@ function tflite__ops__micro__conv__CalculateOpData_28TfLiteContext__2c_20TfLiteN if (!(HEAP8[$11 + 79 | 0] & 1 | HEAP32[HEAP32[HEAP32[$11 + 116 >> 2] >> 2] >> 2] == 2)) { $0 = HEAP32[HEAP32[$11 + 120 >> 2] + 20 >> 2]; $1 = HEAP32[$11 + 120 >> 2]; - HEAP32[$11 + 16 >> 2] = 111084; + HEAP32[$11 + 16 >> 2] = 111074; FUNCTION_TABLE[$0 | 0]($1, 111890, $11 + 16 | 0); HEAP32[$11 + 124 >> 2] = 1; break label$1; @@ -21508,7 +21522,7 @@ function tflite__ops__micro__conv__CalculateOpData_28TfLiteContext__2c_20TfLiteN $2 = HEAP32[HEAP32[HEAP32[$11 + 116 >> 2] + 4 >> 2] >> 2]; HEAP32[$11 + 12 >> 2] = 1; HEAP32[$11 + 8 >> 2] = $2; - HEAP32[$11 + 4 >> 2] = 111287; + HEAP32[$11 + 4 >> 2] = 111277; HEAP32[$11 >> 2] = 104214; FUNCTION_TABLE[$0 | 0]($1, 126505, $11); HEAP32[$11 + 124 >> 2] = 1; @@ -23190,13 +23204,13 @@ function _jswrap_banglejs_setOptions($0, $1) { HEAP32[$2 + 96 >> 2] = 108349; HEAP16[$2 + 100 >> 1] = 10; HEAP32[$2 + 104 >> 2] = 153856; - HEAP32[$2 + 108 >> 2] = 111197; + HEAP32[$2 + 108 >> 2] = 111187; HEAP16[$2 + 112 >> 1] = 12; HEAP32[$2 + 116 >> 2] = $2 + 278; - HEAP32[$2 + 120 >> 2] = 110943; + HEAP32[$2 + 120 >> 2] = 110933; HEAP16[$2 + 124 >> 1] = 12; HEAP32[$2 + 128 >> 2] = $2 + 277; - HEAP32[$2 + 132 >> 2] = 110870; + HEAP32[$2 + 132 >> 2] = 110865; HEAP16[$2 + 136 >> 1] = 12; HEAP32[$2 + 140 >> 2] = $2 + 276; HEAP32[$2 + 144 >> 2] = 102018; @@ -23603,11 +23617,11 @@ function jshPinFunctionToString($0, $1, $2, $3) { HEAP16[$4 + 24 >> 1] = 384; label$22: { if (!HEAPU16[$4 + 26 >> 1]) { - HEAP32[$4 + 20 >> 2] = 111213; + HEAP32[$4 + 20 >> 2] = 111203; break label$22; } if (HEAPU16[$4 + 26 >> 1] == 4096) { - HEAP32[$4 + 20 >> 2] = 110954; + HEAP32[$4 + 20 >> 2] = 110944; } } break label$20; @@ -24231,7 +24245,7 @@ function tflite__ops__micro__depthwise_conv___28anonymous_20namespace_29__Calcul if (!(HEAP8[$9 + 71 | 0] & 1 | HEAP32[HEAP32[HEAP32[$9 + 100 >> 2] >> 2] >> 2] == 2)) { $0 = HEAP32[HEAP32[$9 + 104 >> 2] + 20 >> 2]; $1 = HEAP32[$9 + 104 >> 2]; - HEAP32[$9 + 16 >> 2] = 111084; + HEAP32[$9 + 16 >> 2] = 111074; FUNCTION_TABLE[$0 | 0]($1, 111890, $9 + 16 | 0); HEAP32[$9 + 108 >> 2] = 1; break label$1; @@ -24242,7 +24256,7 @@ function tflite__ops__micro__depthwise_conv___28anonymous_20namespace_29__Calcul $2 = HEAP32[HEAP32[HEAP32[$9 + 100 >> 2] + 4 >> 2] >> 2]; HEAP32[$9 + 12 >> 2] = 1; HEAP32[$9 + 8 >> 2] = $2; - HEAP32[$9 + 4 >> 2] = 111287; + HEAP32[$9 + 4 >> 2] = 111277; HEAP32[$9 >> 2] = 104214; FUNCTION_TABLE[$0 | 0]($1, 126505, $9); HEAP32[$9 + 108 >> 2] = 1; @@ -26675,7 +26689,7 @@ function tflite__ops__micro__reshape__ReshapeOutput_28TfLiteContext__2c_20TfLite $3 = HEAP32[$2 + 60 >> 2]; HEAP32[$2 + 12 >> 2] = -1; HEAP32[$2 + 8 >> 2] = $3; - HEAP32[$2 + 4 >> 2] = 111222; + HEAP32[$2 + 4 >> 2] = 111212; HEAP32[$2 >> 2] = 102682; FUNCTION_TABLE[$0 | 0]($1, 126505, $2); HEAP32[$2 + 92 >> 2] = 1; @@ -26775,6 +26789,83 @@ function tflite___28anonymous_20namespace_29__CalculateActivationRangeQuantizedI __stack_pointer = $6 - -64 | 0; } +function jswrap_pin_getInfo($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer + -64 | 0; + __stack_pointer = $1; + HEAP32[$1 + 56 >> 2] = $0; + HEAP8[$1 + 55 | 0] = jshGetPinFromVar(HEAP32[$1 + 56 >> 2]); + label$1: { + if (!(jshIsPinValid(HEAPU8[$1 + 55 | 0]) & 1)) { + HEAP32[$1 + 60 >> 2] = 0; + break label$1; + } + HEAP32[$1 + 48 >> 2] = Math_imul(HEAPU8[$1 + 55 | 0], 3) + 145056; + HEAP32[$1 + 44 >> 2] = jsvNewObject(); + if (!HEAP32[$1 + 44 >> 2]) { + HEAP32[$1 + 60 >> 2] = 0; + break label$1; + } + HEAP8[$1 + 42 | 0] = HEAPU8[HEAP32[$1 + 48 >> 2]] - -64; + HEAP8[$1 + 43 | 0] = 0; + jsvObjectSetChildAndUnLock(HEAP32[$1 + 44 >> 2], 97532, jsvNewFromString($1 + 42 | 0)); + jsvObjectSetChildAndUnLock(HEAP32[$1 + 44 >> 2], 102561, jsvNewFromInteger(HEAPU8[HEAP32[$1 + 48 >> 2] + 1 | 0])); + if (HEAPU8[HEAP32[$1 + 48 >> 2] + 2 | 0]) { + HEAP32[$1 + 36 >> 2] = jsvNewObject(); + if (HEAP32[$1 + 36 >> 2]) { + HEAP32[$1 + 32 >> 2] = jsvNewEmptyArray(); + if (HEAP32[$1 + 32 >> 2]) { + HEAP32[$1 + 28 >> 2] = 0; + while (1) { + if (HEAP32[$1 + 28 >> 2] < 0) { + if (HEAPU8[HEAP32[$1 + 48 >> 2] + 2 | 0] & 32 << HEAP32[$1 + 28 >> 2]) { + jsvArrayPushAndUnLock(HEAP32[$1 + 32 >> 2], jsvNewFromInteger(HEAP32[$1 + 28 >> 2] + 1 | 0)); + } + HEAP32[$1 + 28 >> 2] = HEAP32[$1 + 28 >> 2] + 1; + continue; + } + break; + } + jsvObjectSetChildAndUnLock(HEAP32[$1 + 36 >> 2], 100626, HEAP32[$1 + 32 >> 2]); + } + jsvObjectSetChildAndUnLock(HEAP32[$1 + 36 >> 2], 102801, jsvNewFromInteger(HEAPU8[HEAP32[$1 + 48 >> 2] + 2 | 0] & 31)); + jsvObjectSetChildAndUnLock(HEAP32[$1 + 44 >> 2], 102801, jsvNewFromInteger(HEAPU8[HEAP32[$1 + 48 >> 2] + 2 | 0] & 31)); + jsvObjectSetChildAndUnLock(HEAP32[$1 + 44 >> 2], 103650, HEAP32[$1 + 36 >> 2]); + } + } + HEAP32[$1 + 24 >> 2] = jsvNewObject(); + if (HEAP32[$1 + 24 >> 2]) { + HEAP32[$1 + 20 >> 2] = 0; + while (1) { + if (HEAP32[$1 + 20 >> 2] < 0) { + $0 = (HEAP32[$1 + 48 >> 2] + 3 | 0) + (HEAP32[$1 + 20 >> 2] << 1) | 0; + if (HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8) { + HEAP32[$1 + 16 >> 2] = jsvNewObject(); + if (HEAP32[$1 + 16 >> 2]) { + $0 = (HEAP32[$1 + 48 >> 2] + 3 | 0) + (HEAP32[$1 + 20 >> 2] << 1) | 0; + jshPinFunctionToString(HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8, 8, $1, 16); + jsvObjectSetChildAndUnLock(HEAP32[$1 + 16 >> 2], 104973, jsvNewFromString($1)); + $0 = (HEAP32[$1 + 48 >> 2] + 3 | 0) + (HEAP32[$1 + 20 >> 2] << 1) | 0; + jsvObjectSetChildAndUnLock(HEAP32[$1 + 16 >> 2], 104086, jsvNewFromInteger((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8) & 15)); + $0 = (HEAP32[$1 + 48 >> 2] + 3 | 0) + (HEAP32[$1 + 20 >> 2] << 1) | 0; + jshPinFunctionToString(HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8, 3, $1, 16); + jsvObjectSetChildAndUnLock(HEAP32[$1 + 24 >> 2], $1, HEAP32[$1 + 16 >> 2]); + } + } + HEAP32[$1 + 20 >> 2] = HEAP32[$1 + 20 >> 2] + 1; + continue; + } + break; + } + jsvObjectSetChildAndUnLock(HEAP32[$1 + 44 >> 2], 100245, HEAP32[$1 + 24 >> 2]); + } + HEAP32[$1 + 60 >> 2] = HEAP32[$1 + 44 >> 2]; + } + __stack_pointer = $1 - -64 | 0; + return HEAP32[$1 + 60 >> 2]; +} + function lcdST7789_blit1Bit($0, $1, $2, $3, $4, $5, $6) { var $7 = 0; $7 = __stack_pointer - 112 | 0; @@ -28409,81 +28500,6 @@ function _jsvCountJsVarsUsedRecursive($0, $1) { return HEAP32[$2 + 44 >> 2]; } -function jswrap_pin_getInfo($0) { - $0 = $0 | 0; - var $1 = 0; - $1 = __stack_pointer + -64 | 0; - __stack_pointer = $1; - HEAP32[$1 + 56 >> 2] = $0; - HEAP8[$1 + 55 | 0] = jshGetPinFromVar(HEAP32[$1 + 56 >> 2]); - label$1: { - if (!(jshIsPinValid(HEAPU8[$1 + 55 | 0]) & 1)) { - HEAP32[$1 + 60 >> 2] = 0; - break label$1; - } - HEAP32[$1 + 48 >> 2] = Math_imul(HEAPU8[$1 + 55 | 0], 3) + 145056; - HEAP32[$1 + 44 >> 2] = jsvNewObject(); - if (!HEAP32[$1 + 44 >> 2]) { - HEAP32[$1 + 60 >> 2] = 0; - break label$1; - } - HEAP8[$1 + 42 | 0] = HEAPU8[HEAP32[$1 + 48 >> 2]] - -64; - HEAP8[$1 + 43 | 0] = 0; - jsvObjectSetChildAndUnLock(HEAP32[$1 + 44 >> 2], 97532, jsvNewFromString($1 + 42 | 0)); - jsvObjectSetChildAndUnLock(HEAP32[$1 + 44 >> 2], 102561, jsvNewFromInteger(HEAPU8[HEAP32[$1 + 48 >> 2] + 1 | 0])); - if (HEAPU8[HEAP32[$1 + 48 >> 2] + 2 | 0]) { - HEAP32[$1 + 36 >> 2] = jsvNewObject(); - if (HEAP32[$1 + 36 >> 2]) { - HEAP32[$1 + 32 >> 2] = jsvNewEmptyArray(); - if (HEAP32[$1 + 32 >> 2]) { - HEAP32[$1 + 28 >> 2] = 0; - while (1) { - if (HEAP32[$1 + 28 >> 2] < 0) { - if (HEAPU8[HEAP32[$1 + 48 >> 2] + 2 | 0] & 32 << HEAP32[$1 + 28 >> 2]) { - jsvArrayPushAndUnLock(HEAP32[$1 + 32 >> 2], jsvNewFromInteger(HEAP32[$1 + 28 >> 2] + 1 | 0)); - } - HEAP32[$1 + 28 >> 2] = HEAP32[$1 + 28 >> 2] + 1; - continue; - } - break; - } - jsvObjectSetChildAndUnLock(HEAP32[$1 + 36 >> 2], 100626, HEAP32[$1 + 32 >> 2]); - } - jsvObjectSetChildAndUnLock(HEAP32[$1 + 44 >> 2], 102801, jsvNewFromInteger(HEAPU8[HEAP32[$1 + 48 >> 2] + 2 | 0] & 31)); - } - } - HEAP32[$1 + 24 >> 2] = jsvNewObject(); - if (HEAP32[$1 + 24 >> 2]) { - HEAP32[$1 + 20 >> 2] = 0; - while (1) { - if (HEAP32[$1 + 20 >> 2] < 0) { - $0 = (HEAP32[$1 + 48 >> 2] + 3 | 0) + (HEAP32[$1 + 20 >> 2] << 1) | 0; - if (HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8) { - HEAP32[$1 + 16 >> 2] = jsvNewObject(); - if (HEAP32[$1 + 16 >> 2]) { - $0 = (HEAP32[$1 + 48 >> 2] + 3 | 0) + (HEAP32[$1 + 20 >> 2] << 1) | 0; - jshPinFunctionToString(HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8, 8, $1, 16); - jsvObjectSetChildAndUnLock(HEAP32[$1 + 16 >> 2], 104973, jsvNewFromString($1)); - $0 = (HEAP32[$1 + 48 >> 2] + 3 | 0) + (HEAP32[$1 + 20 >> 2] << 1) | 0; - jsvObjectSetChildAndUnLock(HEAP32[$1 + 16 >> 2], 104086, jsvNewFromInteger((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8) & 15)); - $0 = (HEAP32[$1 + 48 >> 2] + 3 | 0) + (HEAP32[$1 + 20 >> 2] << 1) | 0; - jshPinFunctionToString(HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8, 3, $1, 16); - jsvObjectSetChildAndUnLock(HEAP32[$1 + 24 >> 2], $1, HEAP32[$1 + 16 >> 2]); - } - } - HEAP32[$1 + 20 >> 2] = HEAP32[$1 + 20 >> 2] + 1; - continue; - } - break; - } - jsvObjectSetChildAndUnLock(HEAP32[$1 + 44 >> 2], 100245, HEAP32[$1 + 24 >> 2]); - } - HEAP32[$1 + 60 >> 2] = HEAP32[$1 + 44 >> 2]; - } - __stack_pointer = $1 - -64 | 0; - return HEAP32[$1 + 60 >> 2]; -} - function tflite__reference_ops__FullyConnected_28tflite__FullyConnectedParams_20const__2c_20tflite__RuntimeShape_20const__2c_20float_20const__2c_20tflite__RuntimeShape_20const__2c_20float_20const__2c_20tflite__RuntimeShape_20const__2c_20float_20const__2c_20tflite__RuntimeShape_20const__2c_20float__29($0, $1, $2, $3, $4, $5, $6, $7, $8) { var $9 = 0, $10 = Math_fround(0); $9 = __stack_pointer - 96 | 0; @@ -28600,7 +28616,7 @@ function tflite__ops__micro__dequantize__Prepare_28TfLiteContext__2c_20TfLiteNod $3 = tflite__NumInputs_28TfLiteNode_20const__29(HEAP32[$2 + 84 >> 2]); HEAP32[$2 + 12 >> 2] = 1; HEAP32[$2 + 8 >> 2] = $3; - HEAP32[$2 + 4 >> 2] = 111287; + HEAP32[$2 + 4 >> 2] = 111277; HEAP32[$2 >> 2] = 126274; FUNCTION_TABLE[$0 | 0]($1, 126505, $2); HEAP32[$2 + 92 >> 2] = 1; @@ -28612,7 +28628,7 @@ function tflite__ops__micro__dequantize__Prepare_28TfLiteContext__2c_20TfLiteNod $3 = tflite__NumOutputs_28TfLiteNode_20const__29(HEAP32[$2 + 84 >> 2]); HEAP32[$2 + 28 >> 2] = 1; HEAP32[$2 + 24 >> 2] = $3; - HEAP32[$2 + 20 >> 2] = 111287; + HEAP32[$2 + 20 >> 2] = 111277; HEAP32[$2 + 16 >> 2] = 126257; FUNCTION_TABLE[$0 | 0]($1, 126505, $2 + 16 | 0); HEAP32[$2 + 92 >> 2] = 1; @@ -28631,7 +28647,7 @@ function tflite__ops__micro__dequantize__Prepare_28TfLiteContext__2c_20TfLiteNod if (!(HEAP32[HEAP32[$2 + 72 >> 2] + 28 >> 2] == 1 | HEAP32[HEAP32[$2 + 72 >> 2] + 28 >> 2] == 2)) { $0 = HEAP32[HEAP32[$2 + 88 >> 2] + 20 >> 2]; $1 = HEAP32[$2 + 88 >> 2]; - HEAP32[$2 + 32 >> 2] = 110958; + HEAP32[$2 + 32 >> 2] = 110948; FUNCTION_TABLE[$0 | 0]($1, 111890, $2 + 32 | 0); HEAP32[$2 + 92 >> 2] = 1; break label$2; @@ -29586,7 +29602,7 @@ function jswrap_banglejs_setLCDMode($0) { break label$8; } label$10: { - if (jsvIsStringEqual(HEAP32[$1 + 28 >> 2], 111289) & 1) { + if (jsvIsStringEqual(HEAP32[$1 + 28 >> 2], 111279) & 1) { HEAP32[$1 + 24 >> 2] = 4; break label$10; } @@ -32341,7 +32357,7 @@ function tflite__ops__micro__activations__SoftmaxPrepare_28TfLiteContext__2c_20T $3 = tflite__NumInputs_28TfLiteNode_20const__29(HEAP32[$2 + 52 >> 2]); HEAP32[$2 + 12 >> 2] = 1; HEAP32[$2 + 8 >> 2] = $3; - HEAP32[$2 + 4 >> 2] = 111287; + HEAP32[$2 + 4 >> 2] = 111277; HEAP32[$2 >> 2] = 126274; FUNCTION_TABLE[$0 | 0]($1, 126505, $2); HEAP32[$2 + 60 >> 2] = 1; @@ -32353,7 +32369,7 @@ function tflite__ops__micro__activations__SoftmaxPrepare_28TfLiteContext__2c_20T $3 = tflite__NumOutputs_28TfLiteNode_20const__29(HEAP32[$2 + 52 >> 2]); HEAP32[$2 + 28 >> 2] = 1; HEAP32[$2 + 24 >> 2] = $3; - HEAP32[$2 + 20 >> 2] = 111287; + HEAP32[$2 + 20 >> 2] = 111277; HEAP32[$2 + 16 >> 2] = 126257; FUNCTION_TABLE[$0 | 0]($1, 126505, $2 + 16 | 0); HEAP32[$2 + 60 >> 2] = 1; @@ -32363,7 +32379,7 @@ function tflite__ops__micro__activations__SoftmaxPrepare_28TfLiteContext__2c_20T if ((tflite__NumDimensions_28TfLiteTensor_20const__29(HEAP32[$2 + 44 >> 2]) | 0) <= 0) { $0 = HEAP32[HEAP32[$2 + 56 >> 2] + 20 >> 2]; $1 = HEAP32[$2 + 56 >> 2]; - HEAP32[$2 + 32 >> 2] = 111225; + HEAP32[$2 + 32 >> 2] = 111215; FUNCTION_TABLE[$0 | 0]($1, 111890, $2 + 32 | 0); HEAP32[$2 + 60 >> 2] = 1; break label$1; @@ -32430,8 +32446,8 @@ function jswrap_banglejs_appRect() { jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 96676, jsvNewFromInteger(HEAP32[$0 + 32 >> 2])); jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 97016, jsvNewFromInteger(HEAPU8[189440] | HEAPU8[189441] << 8)); jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 103644, jsvNewFromInteger((HEAPU8[189442] | HEAPU8[189443] << 8) - (HEAP32[$0 + 32 >> 2] + HEAP32[$0 + 28 >> 2] | 0) | 0)); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 110889, jsvNewFromInteger((HEAPU8[189440] | HEAPU8[189441] << 8) - 1 | 0)); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 110886, jsvNewFromInteger((HEAPU8[189442] | HEAPU8[189443] << 8) - (HEAP32[$0 + 28 >> 2] + 1 | 0) | 0)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 110879, jsvNewFromInteger((HEAPU8[189440] | HEAPU8[189441] << 8) - 1 | 0)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 110876, jsvNewFromInteger((HEAPU8[189442] | HEAPU8[189443] << 8) - (HEAP32[$0 + 28 >> 2] + 1 | 0) | 0)); HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 40 >> 2]; } __stack_pointer = $0 + 48 | 0; @@ -33235,7 +33251,7 @@ function jswrap_graphics_setFontCustom($0, $1, $2, $3, $4) { jsvObjectSetChild(HEAP32[$5 + 104 >> 2], 110126, HEAP32[$5 + 100 >> 2]); jsvObjectSetChild(HEAP32[$5 + 104 >> 2], 108543, HEAP32[$5 + 92 >> 2]); jsvObjectSetChildAndUnLock(HEAP32[$5 + 104 >> 2], 109551, jsvNewFromInteger(HEAP32[$5 + 88 >> 2])); - jsvObjectSetChildAndUnLock(HEAP32[$5 + 104 >> 2], 111171, jsvNewFromInteger(HEAP32[$5 + 96 >> 2])); + jsvObjectSetChildAndUnLock(HEAP32[$5 + 104 >> 2], 111161, jsvNewFromInteger(HEAP32[$5 + 96 >> 2])); $0 = HEAP32[$5 + 12 >> 2] + HEAP32[$5 + 4 >> 2] | 0; HEAP8[$5 + 41 | 0] = $0; HEAP8[$5 + 42 | 0] = $0 >>> 8; @@ -33468,7 +33484,7 @@ function jswrap_waveform_idle() { HEAP32[$0 + 4 >> 2] = jsvGetIntegerAndUnLock(jsvObjectGetChild(HEAP32[$0 + 52 >> 2], 101458, 10)); if (HEAP32[$0 + 4 >> 2] != HEAP32[$0 + 8 >> 2]) { jsvObjectSetChildAndUnLock(HEAP32[$0 + 52 >> 2], 101458, jsvNewFromInteger(HEAP32[$0 + 8 >> 2])); - HEAP32[$0 >> 2] = jsvObjectGetChildIfExists(HEAP32[$0 + 52 >> 2], HEAP32[$0 + 8 >> 2] ? 101361 : 110892); + HEAP32[$0 >> 2] = jsvObjectGetChildIfExists(HEAP32[$0 + 52 >> 2], HEAP32[$0 + 8 >> 2] ? 101361 : 110882); jsiQueueObjectCallbacks(HEAP32[$0 + 52 >> 2], 101303, $0, 1); jsvUnLock(HEAP32[$0 >> 2]); } @@ -33978,6 +33994,87 @@ function jsvGetArrayIndex($0, $1) { return HEAP32[$2 + 28 >> 2]; } +function btnHandlerCommon($0, $1, $2) { + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP8[$3 + 11 | 0] = $1; + HEAP8[$3 + 10 | 0] = $2; + label$1: { + if (HEAP32[85801] ? 1 : HEAP32[85798] | HEAP32[85800]) { + if (!(!((HEAP32[$3 + 12 >> 2] == 1 ? HEAP32[85796] & 2 : 0) | (HEAP32[$3 + 12 >> 2] == 2 ? HEAP32[85796] & 4 : 0)) & (!(HEAP32[85796] & 8) | HEAP32[$3 + 12 >> 2] != 3))) { + if (HEAP8[$3 + 11 | 0] & 1) { + HEAP8[$3 + 9 | 0] = wakeUpBangle(102090) & 1; + if (HEAP8[$3 + 9 | 0] & 1) { + HEAP16[171604] = 0; + HEAP8[343214] = HEAP32[$3 + 12 >> 2]; + $4 = jshGetSystemTime(); + $2 = i64toi32_i32$HIGH_BITS; + $0 = $2; + $2 = jshGetTimeFromMilliseconds(100); + $1 = $2; + $4 = $2 + $4 | 0; + $2 = i64toi32_i32$HIGH_BITS; + $0 = $2 + $0 | 0; + HEAP32[85804] = $4; + $0 = $4 >>> 0 < $1 >>> 0 ? $0 + 1 | 0 : $0; + HEAP32[85805] = $0; + break label$1; + } + } + } + } + HEAP8[$3 + 8 | 0] = 1; + label$10: { + if (HEAP32[85796] & 262144) { + HEAP8[$3 + 8 | 0] = 0; + break label$10; + } + HEAP16[171604] = 0; + } + if (HEAP32[$3 + 12 >> 2] == 3) { + HEAP16[171612] = 0; + } + $0 = jshGetSystemTime(); + HEAP32[$3 >> 2] = $0; + HEAP32[$3 + 4 >> 2] = i64toi32_i32$HIGH_BITS; + if (HEAP32[$3 + 12 >> 2] == HEAP8[343214]) { + $0 = HEAP32[$3 + 4 >> 2]; + $2 = $0; + $0 = HEAP32[85804]; + $1 = $0; + $0 = HEAP32[85805]; + label$14: { + if (!(HEAP8[$3 + 11 | 0] & 1 & (($0 | 0) <= ($2 | 0) & $1 >>> 0 <= HEAPU32[$3 >> 2] | ($0 | 0) < ($2 | 0)))) { + $1 = HEAP32[$3 >> 2]; + $2 = HEAP32[$3 + 4 >> 2]; + $0 = jshGetTimeFromMilliseconds(100); + $4 = i64toi32_i32$HIGH_BITS + $2 | 0; + $2 = $1 + $0 | 0; + $4 = $2 >>> 0 < $0 >>> 0 ? $4 + 1 | 0 : $4; + HEAP32[85804] = $2; + HEAP32[85805] = $4; + HEAP8[$3 + 10 | 0] = HEAPU8[$3 + 10 | 0] | 64; + $1 = 343216; + break label$14; + } + HEAP8[343214] = 0; + HEAP32[85804] = 0; + HEAP32[85805] = 0; + $1 = 343216; + } + } + if (!(HEAP8[$3 + 8 | 0] & 1)) { + break label$1; + } + $4 = HEAP32[$3 >> 2]; + $1 = HEAP32[$3 + 4 >> 2]; + jshPushIOEvent((HEAPU8[$3 + 10 | 0] | (HEAP8[$3 + 11 | 0] & 1 ? 32 : 0)) & 255, $4, $1); + } + __stack_pointer = $3 + 16 | 0; +} + function tflite__GetRegistrationFromOpCode_28tflite__OperatorCode_20const__2c_20tflite__OpResolver_20const__2c_20tflite__ErrorReporter__2c_20TfLiteRegistration_20const___29($0, $1, $2, $3) { var $4 = 0; $4 = __stack_pointer + -64 | 0; @@ -34794,14 +34891,14 @@ function jswrap_graphics_setTheme($0, $1) { HEAP8[189415] = $0 >>> 8; jsvUnLock(HEAP32[$2 + 4 >> 2]); } - HEAP32[$2 + 4 >> 2] = jsvObjectGetChildIfExists(HEAP32[$2 + 8 >> 2], 110900); + HEAP32[$2 + 4 >> 2] = jsvObjectGetChildIfExists(HEAP32[$2 + 8 >> 2], 110890); if (HEAP32[$2 + 4 >> 2]) { $0 = jswrap_graphics_toColor(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 4 >> 2], 0, 0); HEAP8[189416] = $0; HEAP8[189417] = $0 >>> 8; jsvUnLock(HEAP32[$2 + 4 >> 2]); } - HEAP32[$2 + 4 >> 2] = jsvObjectGetChildIfExists(HEAP32[$2 + 8 >> 2], 110904); + HEAP32[$2 + 4 >> 2] = jsvObjectGetChildIfExists(HEAP32[$2 + 8 >> 2], 110894); if (HEAP32[$2 + 4 >> 2]) { $0 = jswrap_graphics_toColor(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 4 >> 2], 0, 0); HEAP8[189418] = $0; @@ -35604,82 +35701,6 @@ function tflite___28anonymous_20namespace_29__AllocationInfoBuilder__GetOfflineP return HEAP32[$3 + 60 >> 2]; } -function btnHandlerCommon($0, $1, $2) { - var $3 = 0, $4 = 0; - $3 = __stack_pointer - 16 | 0; - __stack_pointer = $3; - HEAP32[$3 + 12 >> 2] = $0; - HEAP8[$3 + 11 | 0] = $1; - HEAP8[$3 + 10 | 0] = $2; - label$1: { - if (HEAP32[85801] ? 1 : HEAP32[85798] | HEAP32[85800]) { - if (!(!((HEAP32[$3 + 12 >> 2] == 1 ? HEAP32[85796] & 2 : 0) | (HEAP32[$3 + 12 >> 2] == 2 ? HEAP32[85796] & 4 : 0)) & (!(HEAP32[85796] & 8) | HEAP32[$3 + 12 >> 2] != 3))) { - if (HEAP8[$3 + 11 | 0] & 1) { - HEAP8[$3 + 9 | 0] = wakeUpBangle(102090) & 1; - if (HEAP8[$3 + 9 | 0] & 1) { - HEAP16[171604] = 0; - HEAP8[343214] = HEAP32[$3 + 12 >> 2]; - $4 = jshGetSystemTime(); - $2 = i64toi32_i32$HIGH_BITS; - $0 = $2; - $2 = jshGetTimeFromMilliseconds(100); - $1 = $2; - $4 = $2 + $4 | 0; - $2 = i64toi32_i32$HIGH_BITS; - $0 = $2 + $0 | 0; - HEAP32[85804] = $4; - $0 = $4 >>> 0 < $1 >>> 0 ? $0 + 1 | 0 : $0; - HEAP32[85805] = $0; - break label$1; - } - } - } - } - HEAP8[$3 + 8 | 0] = 1; - label$10: { - if (HEAP32[85796] & 262144) { - HEAP8[$3 + 8 | 0] = 0; - break label$10; - } - HEAP16[171604] = 0; - } - if (HEAP32[$3 + 12 >> 2] == 3) { - HEAP16[171612] = 0; - } - $0 = jshGetSystemTime(); - HEAP32[$3 >> 2] = $0; - HEAP32[$3 + 4 >> 2] = i64toi32_i32$HIGH_BITS; - if (HEAP32[$3 + 12 >> 2] == HEAP8[343214]) { - $0 = HEAP32[$3 + 4 >> 2]; - $2 = $0; - $0 = HEAP32[85804]; - $1 = $0; - $0 = HEAP32[85805]; - if (!(HEAP8[$3 + 11 | 0] & 1 & (($0 | 0) <= ($2 | 0) & $1 >>> 0 <= HEAPU32[$3 >> 2] | ($0 | 0) < ($2 | 0)))) { - $1 = HEAP32[$3 >> 2]; - $2 = HEAP32[$3 + 4 >> 2]; - $0 = jshGetTimeFromMilliseconds(100); - $4 = i64toi32_i32$HIGH_BITS + $2 | 0; - $2 = $1 + $0 | 0; - $4 = $2 >>> 0 < $0 >>> 0 ? $4 + 1 | 0 : $4; - HEAP32[85804] = $2; - HEAP32[85805] = $4; - break label$1; - } - HEAP8[343214] = 0; - HEAP32[85804] = 0; - HEAP32[85805] = 0; - } - if (!(HEAP8[$3 + 8 | 0] & 1)) { - break label$1; - } - $4 = HEAP32[$3 >> 2]; - $1 = HEAP32[$3 + 4 >> 2]; - jshPushIOEvent((HEAPU8[$3 + 10 | 0] | (HEAP8[$3 + 11 | 0] & 1 ? 32 : 0)) & 255, $4, $1); - } - __stack_pointer = $3 + 16 | 0; -} - function jsiSoftInit($0) { var $1 = 0; $1 = __stack_pointer - 48 | 0; @@ -37841,16 +37862,16 @@ function _jswrap_graphics_getRect($0, $1, $2, $3, $4, $5) { HEAP32[$6 + 12 >> 2] = 96676; HEAP16[$6 + 16 >> 1] = 10; HEAP32[$6 + 20 >> 2] = HEAP32[$6 + 132 >> 2]; - HEAP32[$6 + 24 >> 2] = 111168; + HEAP32[$6 + 24 >> 2] = 111158; HEAP16[$6 + 28 >> 1] = 10; HEAP32[$6 + 32 >> 2] = HEAP32[$6 + 136 >> 2]; - HEAP32[$6 + 36 >> 2] = 111165; + HEAP32[$6 + 36 >> 2] = 111155; HEAP16[$6 + 40 >> 1] = 10; HEAP32[$6 + 44 >> 2] = HEAP32[$6 + 132 >> 2]; - HEAP32[$6 + 48 >> 2] = 110889; + HEAP32[$6 + 48 >> 2] = 110879; HEAP16[$6 + 52 >> 1] = 10; HEAP32[$6 + 56 >> 2] = HEAP32[$6 + 128 >> 2]; - HEAP32[$6 + 60 >> 2] = 110886; + HEAP32[$6 + 60 >> 2] = 110876; HEAP16[$6 + 64 >> 1] = 10; HEAP32[$6 + 68 >> 2] = HEAP32[$6 + 124 >> 2]; HEAP32[$6 + 72 >> 2] = 97016; @@ -38048,7 +38069,7 @@ function jswrap_waveform_constructor($0, $1) { } jsvObjectSetChildAndUnLock(HEAP32[$2 + 12 >> 2], 101361, HEAP32[$2 + 20 >> 2]); if (HEAP32[$2 + 16 >> 2]) { - jsvObjectSetChildAndUnLock(HEAP32[$2 + 12 >> 2], 110892, HEAP32[$2 + 16 >> 2]); + jsvObjectSetChildAndUnLock(HEAP32[$2 + 12 >> 2], 110882, HEAP32[$2 + 16 >> 2]); } HEAP32[$2 + 44 >> 2] = HEAP32[$2 + 12 >> 2]; } @@ -38080,7 +38101,7 @@ function jswrap_banglejs_buzz($0, $1) { } label$7: { if (HEAP32[85833]) { - HEAP32[$2 + 28 >> 2] = jsvNewNativeFunction(140, 481); + HEAP32[$2 + 28 >> 2] = jsvNewNativeFunction(139, 481); HEAP32[$2 + 24 >> 2] = jsvNewFromInteger(HEAP32[$2 + 40 >> 2]); jsvAddFunctionParameter(HEAP32[$2 + 28 >> 2], 0, HEAP32[$2 + 24 >> 2]); jsvUnLock(HEAP32[$2 + 24 >> 2]); @@ -39472,7 +39493,7 @@ function tflite__ops__micro__reshape__Prepare_28TfLiteContext__2c_20TfLiteNode__ } $0 = HEAP32[HEAP32[$2 + 40 >> 2] + 20 >> 2]; $1 = HEAP32[$2 + 40 >> 2]; - HEAP32[$2 + 32 >> 2] = 111120; + HEAP32[$2 + 32 >> 2] = 111110; FUNCTION_TABLE[$0 | 0]($1, 111890, $2 + 32 | 0); HEAP32[$2 + 44 >> 2] = 1; break label$1; @@ -39483,7 +39504,7 @@ function tflite__ops__micro__reshape__Prepare_28TfLiteContext__2c_20TfLiteNode__ $3 = tflite__NumOutputs_28TfLiteNode_20const__29(HEAP32[$2 + 36 >> 2]); HEAP32[$2 + 12 >> 2] = 1; HEAP32[$2 + 8 >> 2] = $3; - HEAP32[$2 + 4 >> 2] = 111287; + HEAP32[$2 + 4 >> 2] = 111277; HEAP32[$2 >> 2] = 126257; FUNCTION_TABLE[$0 | 0]($1, 126505, $2); HEAP32[$2 + 44 >> 2] = 1; @@ -41074,7 +41095,7 @@ function jswrap_banglejs_beep($0, $1) { } label$5: { if (HEAP32[85832]) { - HEAP32[$2 + 16 >> 2] = jsvNewNativeFunction(139, 289); + HEAP32[$2 + 16 >> 2] = jsvNewNativeFunction(138, 289); HEAP32[$2 + 12 >> 2] = jsvNewFromInteger(HEAP32[$2 + 24 >> 2]); jsvAddFunctionParameter(HEAP32[$2 + 16 >> 2], 0, HEAP32[$2 + 12 >> 2]); jsvUnLock(HEAP32[$2 + 12 >> 2]); @@ -41812,7 +41833,7 @@ function _jswrap_graphics_getFontInfo($0, $1) { label$2: { if (HEAP32[HEAP32[$2 + 8 >> 2] >> 2] & 32768) { $0 = HEAP32[$2 + 12 >> 2]; - $0 = jsvGetIntegerAndUnLock(jsvObjectGetChildIfExists(HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24), 111171)); + $0 = jsvGetIntegerAndUnLock(jsvObjectGetChildIfExists(HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24), 111161)); HEAP8[HEAP32[$2 + 8 >> 2] + 10 | 0] = $0; $0 = HEAP32[$2 + 12 >> 2]; $0 = jsvObjectGetChildIfExists(HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24), 108543); @@ -43239,10 +43260,10 @@ function jswrap_graphics_getModified($0, $1) { if ((HEAPU8[$2 + 48 | 0] | HEAPU8[$2 + 49 | 0] << 8) << 16 >> 16 <= (HEAPU8[$2 + 52 | 0] | HEAPU8[$2 + 53 | 0] << 8) << 16 >> 16) { HEAP32[$2 + 4 >> 2] = jsvNewObject(); if (HEAP32[$2 + 4 >> 2]) { - jsvObjectSetChildAndUnLock(HEAP32[$2 + 4 >> 2], 111168, jsvNewFromInteger((HEAPU8[$2 + 48 | 0] | HEAPU8[$2 + 49 | 0] << 8) << 16 >> 16)); - jsvObjectSetChildAndUnLock(HEAP32[$2 + 4 >> 2], 111165, jsvNewFromInteger((HEAPU8[$2 + 50 | 0] | HEAPU8[$2 + 51 | 0] << 8) << 16 >> 16)); - jsvObjectSetChildAndUnLock(HEAP32[$2 + 4 >> 2], 110889, jsvNewFromInteger((HEAPU8[$2 + 52 | 0] | HEAPU8[$2 + 53 | 0] << 8) << 16 >> 16)); - jsvObjectSetChildAndUnLock(HEAP32[$2 + 4 >> 2], 110886, jsvNewFromInteger((HEAPU8[$2 + 54 | 0] | HEAPU8[$2 + 55 | 0] << 8) << 16 >> 16)); + jsvObjectSetChildAndUnLock(HEAP32[$2 + 4 >> 2], 111158, jsvNewFromInteger((HEAPU8[$2 + 48 | 0] | HEAPU8[$2 + 49 | 0] << 8) << 16 >> 16)); + jsvObjectSetChildAndUnLock(HEAP32[$2 + 4 >> 2], 111155, jsvNewFromInteger((HEAPU8[$2 + 50 | 0] | HEAPU8[$2 + 51 | 0] << 8) << 16 >> 16)); + jsvObjectSetChildAndUnLock(HEAP32[$2 + 4 >> 2], 110879, jsvNewFromInteger((HEAPU8[$2 + 52 | 0] | HEAPU8[$2 + 53 | 0] << 8) << 16 >> 16)); + jsvObjectSetChildAndUnLock(HEAP32[$2 + 4 >> 2], 110876, jsvNewFromInteger((HEAPU8[$2 + 54 | 0] | HEAPU8[$2 + 55 | 0] << 8) << 16 >> 16)); } } if (HEAP8[$2 + 87 | 0] & 1) { @@ -44353,7 +44374,7 @@ function jswrap_espruino_HSBtoRGB($0, $1, $2, $3) { break label$1; } if (HEAP32[$4 + 44 >> 2] != 1) { - jsExceptionHere(1, 110822, 0); + jsExceptionHere(1, 110817, 0); HEAP32[$4 + 76 >> 2] = 0; break label$1; } @@ -44521,7 +44542,7 @@ function tflite__GetQuantizedConvolutionMultipler_28TfLiteContext__2c_20TfLiteTe if (!(HEAPF64[$6 + 24 >> 3] / HEAPF64[$6 + 16 >> 3] <= .02)) { $0 = HEAP32[HEAP32[$6 + 72 >> 2] + 20 >> 2]; $1 = HEAP32[$6 + 72 >> 2]; - HEAP32[$6 >> 2] = 111050; + HEAP32[$6 >> 2] = 111040; FUNCTION_TABLE[$0 | 0]($1, 111890, $6); HEAP32[$6 + 76 >> 2] = 1; break label$1; @@ -47507,8 +47528,8 @@ function jswrap_process_env() { $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; HEAP32[$0 + 12 >> 2] = jsvNewObject(); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 109084, jsvNewFromString(110881)); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 108724, jsvNewFromString(110788)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 109084, jsvNewFromString(110812)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 108724, jsvNewFromString(111285)); jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 109907, jsvNewFromString(109170)); jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 109292, jsvNewFromInteger(0)); jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 109593, jsvNewFromInteger(4194304)); @@ -49448,6 +49469,7 @@ function jshSetFlowControlXON($0, $1) { } __stack_pointer = $2 + 16 | 0; } + function jshGetPinFromString($0) { var $1 = 0; $1 = __stack_pointer - 16 | 0; @@ -49714,7 +49736,7 @@ function TfLiteTypeGetName($0) { break label$1; case 1: - HEAP32[$1 + 12 >> 2] = 111042; + HEAP32[$1 + 12 >> 2] = 111032; break label$1; case 7: @@ -49722,7 +49744,7 @@ function TfLiteTypeGetName($0) { break label$1; case 2: - HEAP32[$1 + 12 >> 2] = 111036; + HEAP32[$1 + 12 >> 2] = 111026; break label$1; case 3: @@ -49734,7 +49756,7 @@ function TfLiteTypeGetName($0) { break label$1; case 4: - HEAP32[$1 + 12 >> 2] = 110808; + HEAP32[$1 + 12 >> 2] = 110798; break label$1; case 6: @@ -49742,7 +49764,7 @@ function TfLiteTypeGetName($0) { break label$1; case 8: - HEAP32[$1 + 12 >> 2] = 110798; + HEAP32[$1 + 12 >> 2] = 110788; break label$1; case 12: @@ -49758,7 +49780,7 @@ function TfLiteTypeGetName($0) { break label$1; case 11: - HEAP32[$1 + 12 >> 2] = 110814; + HEAP32[$1 + 12 >> 2] = 110804; break label$1; default: @@ -50722,7 +50744,7 @@ function jswrap_graphics_setFontSizeX($0, $1, $2) { jsvObjectRemoveChild(HEAP32[$3 + 88 >> 2], 110126); jsvObjectRemoveChild(HEAP32[$3 + 88 >> 2], 108543); jsvObjectRemoveChild(HEAP32[$3 + 88 >> 2], 109551); - jsvObjectRemoveChild(HEAP32[$3 + 88 >> 2], 111171); + jsvObjectRemoveChild(HEAP32[$3 + 88 >> 2], 111161); } $0 = HEAP32[$3 + 84 >> 2]; HEAP8[$3 + 33 | 0] = $0; @@ -51920,8 +51942,8 @@ function jswrap_graphics_theme($0) { HEAP32[$1 + 8 >> 2] = jsvNewObject(); jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 103993, jsvNewFromInteger(HEAPU8[189412] | HEAPU8[189413] << 8)); jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 103997, jsvNewFromInteger(HEAPU8[189414] | HEAPU8[189415] << 8)); - jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 110900, jsvNewFromInteger(HEAPU8[189416] | HEAPU8[189417] << 8)); - jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 110904, jsvNewFromInteger(HEAPU8[189418] | HEAPU8[189419] << 8)); + jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 110890, jsvNewFromInteger(HEAPU8[189416] | HEAPU8[189417] << 8)); + jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 110894, jsvNewFromInteger(HEAPU8[189418] | HEAPU8[189419] << 8)); jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 109556, jsvNewFromInteger(HEAPU8[189420] | HEAPU8[189421] << 8)); jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 109560, jsvNewFromInteger(HEAPU8[189422] | HEAPU8[189423] << 8)); jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 103074, jsvNewFromBool(HEAP8[189424] & 1)); @@ -55589,15 +55611,15 @@ function jshGetDeviceString($0) { break label$1; case 22: - HEAP32[$1 + 12 >> 2] = 111176; + HEAP32[$1 + 12 >> 2] = 111166; break label$1; case 25: - HEAP32[$1 + 12 >> 2] = 111208; + HEAP32[$1 + 12 >> 2] = 111198; break label$1; case 26: - HEAP32[$1 + 12 >> 2] = 111217; + HEAP32[$1 + 12 >> 2] = 111207; break label$1; default: @@ -55893,7 +55915,7 @@ function jswrap_waveform_getBuffer($0, $1, $2) { HEAP32[$3 + 24 >> 2] = $0; HEAP32[$3 + 20 >> 2] = $1; HEAP32[$3 + 16 >> 2] = $2; - HEAP32[$3 + 12 >> 2] = jsvObjectGetChildIfExists(HEAP32[$3 + 24 >> 2], HEAP32[$3 + 20 >> 2] ? 110892 : 101361); + HEAP32[$3 + 12 >> 2] = jsvObjectGetChildIfExists(HEAP32[$3 + 24 >> 2], HEAP32[$3 + 20 >> 2] ? 110882 : 101361); label$1: { if (!HEAP32[$3 + 12 >> 2]) { HEAP32[$3 + 28 >> 2] = 0; @@ -57535,7 +57557,7 @@ function jswrap_banglejs_getLCDMode() { break label$1; } } - HEAP32[$0 + 8 >> 2] = 111289; + HEAP32[$0 + 8 >> 2] = 111279; } label$7: { if (!HEAP32[$0 + 8 >> 2]) { @@ -74213,18 +74235,6 @@ function jslCharPosFromLex($0) { __stack_pointer = $1 + 16 | 0; } -function jshGetEventsUsed() { - var $0 = 0, $1 = 0; - $0 = __stack_pointer - 16 | 0; - if (HEAPU8[187124] >= HEAPU8[187125]) { - $1 = HEAPU8[187124] - HEAPU8[187125] | 0; - } else { - $1 = (HEAPU8[187124] + 256 | 0) - HEAPU8[187125] | 0; - } - HEAP32[$0 + 12 >> 2] = $1; - return HEAP32[$0 + 12 >> 2]; -} - function jswrap_serial_write($0, $1) { $0 = $0 | 0; $1 = $1 | 0; @@ -74271,6 +74281,17 @@ function jshGetPinFromVarAndUnLock($0) { return HEAPU8[$1 + 11 | 0]; } +function jshGetEventsUsed() { + var $0 = 0, $1 = 0; + $0 = __stack_pointer - 16 | 0; + if (HEAPU8[187124] >= HEAPU8[187125]) { + $1 = HEAPU8[187124] - HEAPU8[187125] | 0; + } else { + $1 = (HEAPU8[187124] + 256 | 0) - HEAPU8[187125] | 0; + } + HEAP32[$0 + 12 >> 2] = $1; + return HEAP32[$0 + 12 >> 2]; +} function itostr($0, $1, $2) { var $3 = 0; $3 = __stack_pointer - 16 | 0; @@ -78161,7 +78182,7 @@ function tf_get_size($0, $1) { return HEAP32[$2 + 12 >> 2] + 560 | 0; } -function jswrap_banglejs_accelWr($0, $1) { +function jswrap_banglejs_touchWr($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $2 = 0; @@ -79135,7 +79156,7 @@ function jshResetPinStateIsManual() { } function gen_jswrap_process_version() { - return jsvNewFromString(110881) | 0; + return jsvNewFromString(110812) | 0; } function __math_uflow($0) { @@ -79200,7 +79221,7 @@ function jshHasTransmitData() { } function gen_jswrap_Serial1() { - return jspNewObject(111176, 103067) | 0; + return jspNewObject(111166, 103067) | 0; } function gen_jswrap_NRF_getSecurityStatus() { @@ -79248,11 +79269,11 @@ function jshIOEventOverflowed() { } function gen_jswrap_SPI1() { - return jspNewObject(111208, 109547) | 0; + return jspNewObject(111198, 109547) | 0; } function gen_jswrap_I2C1() { - return jspNewObject(111217, 110122) | 0; + return jspNewObject(111207, 110122) | 0; } function gen_jswrap_USB() { @@ -79815,7 +79836,7 @@ function jshKill() {} ; bufferView = HEAPU8; initActiveSegments(env); - var FUNCTION_TABLE = Table([null, jswrap_object_toString, jsvStringIteratorPrintfCallback, jsvIsInternalFunctionKey, jsvIsInternalObjectKey, jsvIterateCallbackCountCb, jsvIterateCallbackToBytesCb, vcbprintf_callback_jsiConsolePrintString, espruino_snprintf_cb, jswrap_eval, jswrap_dataview_constructor, jswrap_date_constructor, jswrap_error_constructor, jswrap_syntaxerror_constructor, jswrap_typeerror_constructor, jswrap_internalerror_constructor, jswrap_referenceerror_constructor, jswrap_regexp_constructor, jswrap_onewire_constructor, jswrap_promise_constructor, jswrap_serial_constructor, gen_jswrap_StorageFile_StorageFile, jswrap_spi_constructor, jswrap_i2c_constructor, jswrap_waveform_constructor, gen_jswrap_Graphics_Graphics, gen_jswrap_TFMicroInterpreter_TFMicroInterpreter, jswrap_pin_constructor, gen_jswrap_Bangle_Bangle, gen_jswrap_E_E, gen_jswrap_NRF_NRF, gen_jswrap_Bluetooth_Bluetooth, jswrap_array_constructor, gen_jswrap_console_console, gen_jswrap_JSON_JSON, jswrap_number_constructor, jswrap_object_constructor, jswrap_string_constructor, gen_jswrap_Modules_Modules, gen_jswrap_Math_Math, gen_jswrap_Flash_Flash, gen_jswrap_fs_fs, gen_jswrap_process_process, gen_jswrap_Storage_Storage, gen_jswrap_heatshrink_heatshrink, gen_jswrap_tensorflow_tensorflow, jswrap_arraybuffer_constructor, gen_jswrap_ArrayBufferView_ArrayBufferView, jswrap_function_constructor, jswrap_pin_analog, jswrap_pin_getInfo, jswrap_pin_getMode, jswrap_pin_mode, jswrap_pin_pulse, jswrap_pin_pwm, jswrap_pin_read, jswrap_pin_reset, jswrap_pin_set, jswrap_pin_toggle, jswrap_pin_write, jswrap_pin_writeAtTime, gen_jswrap_BTN, gen_jswrap_BTN1, gen_jswrap_BTN2, gen_jswrap_BTN3, gen_jswrap_BTN4, gen_jswrap_BTN5, jswrap_boolean_constructor, gen_jswrap_Float32Array_Float32Array, gen_jswrap_Float64Array_Float64Array, gen_jswrap_HIGH, gen_jswrap_I2C1, gen_jswrap_Infinity, gen_jswrap_Int16Array_Int16Array, gen_jswrap_Int32Array_Int32Array, gen_jswrap_Int8Array_Int8Array, gen_jswrap_LED1, gen_jswrap_LED2, gen_jswrap_LOW, gen_jswrap_LoopbackA, gen_jswrap_LoopbackB, gen_jswrap_NaN, gen_jswrap_SPI1, gen_jswrap_Serial1, gen_jswrap_Terminal, gen_jswrap_USB, gen_jswrap_Uint16Array_Uint16Array, gen_jswrap_Uint24Array_Uint24Array, gen_jswrap_Uint32Array_Uint32Array, gen_jswrap_Uint8Array_Uint8Array, gen_jswrap_Uint8ClampedArray_Uint8ClampedArray, gen_jswrap_VIBRATE, jshPinAnalog, jswrap_io_analogWrite, jswrap_arguments, jswrap_atob, jswrap_btoa, jswrap_interface_changeInterval, jswrap_interface_clearInterval, jswrap_interface_clearTimeout, jswrap_interface_clearWatch, jswrap_decodeURIComponent, jswrap_io_digitalPulse, jswrap_io_digitalRead, jswrap_io_digitalWrite, gen_jswrap_dump, jswrap_interface_echo, jswrap_interface_edit, jswrap_encodeURIComponent, jswrap_io_getPinMode, jswrap_interface_getSerial, gen_jswrap_getTime, jswrap_global, jswrap_isFinite, jswrap_isNaN, jswrap_interface_load, jswrap_parseFloat, jswrap_parseInt, gen_jswrap_peek16, gen_jswrap_peek32, gen_jswrap_peek8, jswrap_io_pinMode, gen_jswrap_poke16, gen_jswrap_poke32, gen_jswrap_poke8, jswrap_print, jswrap_require, jswrap_interface_reset, jswrap_interface_setBusyIndicator, jswrap_interface_setInterval, jswrap_interface_setSleepIndicator, jswrap_interactive_setTime, jswrap_interface_setTimeout, jswrap_interface_setWatch, jswrap_io_shiftOut, jswrap_trace, jswrap_banglejs_accelRd, jswrap_banglejs_accelWr, jswrap_banglejs_appRect, jswrap_banglejs_beep, jswrap_banglejs_buzz, jswrap_banglejs_compassRd, jswrap_banglejs_compassWr, jswrap_banglejs_dbg, gen_jswrap_Bangle_drawWidgets, jswrap_banglejs_factoryReset, jswrap_banglejs_getAccel, jswrap_banglejs_getCompass, jswrap_banglejs_getGPSFix, jswrap_banglejs_getHealthStatus, jswrap_banglejs_getLCDMode, jswrap_banglejs_getLogo, jswrap_banglejs_getOptions, jswrap_banglejs_getStepCount, jswrap_banglejs_hrmRd, jswrap_banglejs_ioWr, jswrap_banglejs_isBacklightOn, jswrap_banglejs_isCharging, jswrap_banglejs_isCompassOn, jswrap_banglejs_isGPSOn, jswrap_banglejs_isHRMOn, jswrap_banglejs_isLCDOn, jswrap_banglejs_isLocked, jswrap_banglejs_lcdWr, gen_jswrap_Bangle_load, gen_jswrap_Bangle_loadWidgets, jswrap_banglejs_off, jswrap_banglejs_project, jswrap_banglejs_resetCompass, jswrap_banglejs_setLCDPowerBacklight, jswrap_banglejs_setCompassPower, jswrap_banglejs_setGPSPower, jswrap_banglejs_setHRMPower, jswrap_banglejs_setLCDBrightness, jswrap_banglejs_setLCDMode, jswrap_banglejs_setLCDOffset, jswrap_banglejs_setLCDPower, jswrap_banglejs_setLCDTimeout, jswrap_banglejs_setLocked, jswrap_banglejs_setOptions, jswrap_banglejs_setPollInterval, jswrap_banglejs_setStepCount, gen_jswrap_Bangle_setUI, gen_jswrap_Bangle_showClock, gen_jswrap_Bangle_showLauncher, gen_jswrap_Bangle_showRecoveryMenu, jswrap_banglejs_softOff, jswrap_espruino_CRC32, jswrap_espruino_FFT, jswrap_espruino_HSBtoRGB, jswrap_espruino_asUTF8, jswrap_espruino_asm, jswrap_espruino_clip, jswrap_espruino_compiledC, jswrap_espruino_convolve, jswrap_espruino_decodeUTF8, jsvDefragment, jswrap_e_dumpFragmentation, jswrap_e_dumpStr, jswrap_espruino_dumpTimers, jswrap_e_dumpVariables, jswrap_espruino_enableWatchdog, jswrap_espruino_fromUTF8, jswrap_espruino_getAddressOf, gen_jswrap_E_getAnalogVRef, jswrap_espruino_getBattery, jswrap_espruino_getConsole, jswrap_espruino_getErrorFlags, jsfGetFlags, jswrap_espruino_getPowerUsage, jswrap_espruino_getSizeOf, jswrap_espruino_getTemperature, jshGetRandomNumber, jswrap_espruino_isUTF8, jswrap_espruino_kickWatchdog, jswrap_espruino_lockConsole, jswrap_espruino_lookupNoCase, jswrap_espruino_mapInPlace, jswrap_espruino_memoryArea, jswrap_espruino_memoryMap, jswrap_espruino_nativeCall, jswrap_pipe, jswrap_espruino_reboot, jswrap_espruino_reverseByte, jswrap_espruino_setBootCode, jswrap_espruino_setClock, jswrap_espruino_setConsole, jswrap_espruino_setDST, jsfSetFlags, jswrap_espruino_setPassword, jswrap_espruino_setTimeZone, gen_jswrap_E_showAlert, gen_jswrap_E_showMenu, gen_jswrap_E_showMessage, gen_jswrap_E_showPrompt, gen_jswrap_E_showScroller, srand, jswrap_espruino_stopEventPropagation, jswrap_espruino_sum, jswrap_espruino_toArrayBuffer, jswrap_espruino_toFlatString, jswrap_espruino_toJS, jswrap_espruino_toString, jswrap_espruino_toUint8Array, jswrap_espruino_variance, gen_jswrap_NRF_getAddress, gen_jswrap_NRF_getSecurityStatus, gen_jswrap_NRF_setAdvertising, gen_jswrap_NRF_setServices, gen_jswrap_Bluetooth_setConsole, jswrap_array_concat, jswrap_array_every, jswrap_array_fill, jswrap_array_filter, jswrap_array_find, jswrap_array_findIndex, jswrap_array_forEach, jswrap_array_includes, jswrap_array_indexOf, jswrap_array_join, jswrap_object_length, jswrap_array_map, gen_jswrap_Array_pop, jswrap_array_push, jswrap_array_reduce, jswrap_array_reverse, jswrap_array_shift, jswrap_array_slice, jswrap_array_some, jswrap_array_sort, jswrap_array_splice, jswrap_array_unshift, gen_jswrap_Array_isArray, gen_jswrap_ArrayBuffer_byteLength, gen_jswrap_ArrayBufferView_buffer, gen_jswrap_ArrayBufferView_byteLength, gen_jswrap_ArrayBufferView_byteOffset, jswrap_arraybufferview_map, jswrap_arraybufferview_set, jswrap_arraybufferview_sort, jswrap_arraybufferview_subarray, gen_jswrap_DataView_getFloat32, gen_jswrap_DataView_getFloat64, gen_jswrap_DataView_getInt16, gen_jswrap_DataView_getInt32, gen_jswrap_DataView_getInt8, gen_jswrap_DataView_getUint16, gen_jswrap_DataView_getUint32, gen_jswrap_DataView_getUint8, gen_jswrap_DataView_setFloat32, gen_jswrap_DataView_setFloat64, gen_jswrap_DataView_setInt16, gen_jswrap_DataView_setInt32, gen_jswrap_DataView_setInt8, gen_jswrap_DataView_setUint16, gen_jswrap_DataView_setUint32, gen_jswrap_DataView_setUint8, jswrap_date_now, jswrap_date_parse, jswrap_date_getDate, jswrap_date_getDay, jswrap_date_getFullYear, jswrap_date_getHours, jswrap_date_getIsDST, jswrap_date_getMilliseconds, jswrap_date_getMinutes, jswrap_date_getMonth, jswrap_date_getSeconds, jswrap_date_getTime, jswrap_date_getTimezoneOffset, jswrap_date_setDate, jswrap_date_setFullYear, jswrap_date_setHours, jswrap_date_setMilliseconds, jswrap_date_setMinutes, jswrap_date_setMonth, jswrap_date_setSeconds, jswrap_date_setTime, jswrap_date_toISOString, jswrap_date_toLocalISOString, jswrap_date_toString, jswrap_date_toUTCString, jswrap_error_toString, jswrap_json_parse, jswrap_json_stringify, gen_jswrap_Number_MAX_VALUE, gen_jswrap_Number_MIN_VALUE, gen_jswrap_Number_NEGATIVE_INFINITY, gen_jswrap_Number_NaN, gen_jswrap_Number_POSITIVE_INFINITY, jswrap_number_toFixed, jswrap_object_on, jswrap_object_clone, jswrap_object_emit, jswrap_object_hasOwnProperty, jswrap_object_prependListener, jswrap_object_removeAllListeners, jswrap_object_removeListener, jswrap_object_valueOf, jswrap_object_assign, jswrap_object_create, jswrap_object_defineProperties, jswrap_object_defineProperty, gen_jswrap_Object_entries, jswrap_object_fromEntries, jswrap_object_getOwnPropertyDescriptor, jswrap_object_getOwnPropertyDescriptors, gen_jswrap_Object_getOwnPropertyNames, jswrap_object_getPrototypeOf, gen_jswrap_Object_keys, jswrap_object_setPrototypeOf, gen_jswrap_Object_values, jswrap_function_apply_or_call, jswrap_function_bind, jswrap_function_replaceWith, jswrap_regexp_exec, jswrap_regexp_test, jswrap_string_charAt, jswrap_string_charCodeAt, jswrap_string_concat, jswrap_string_endsWith, gen_jswrap_String_includes, gen_jswrap_String_indexOf, gen_jswrap_String_lastIndexOf, jswrap_string_match, gen_jswrap_String_padEnd, gen_jswrap_String_padStart, gen_jswrap_String_removeAccents, jswrap_string_repeat, jswrap_string_replace, jswrap_string_replaceAll, jswrap_string_slice, jswrap_string_split, jswrap_string_startsWith, jswrap_string_substr, jswrap_string_substring, gen_jswrap_String_toLowerCase, gen_jswrap_String_toUpperCase, jswrap_string_trim, jswrap_string_fromCharCode, jswrap_modules_addCached, jswrap_modules_getCached, jswrap_modules_removeAllCached, jswrap_modules_removeCached, gen_jswrap_Math_E, gen_jswrap_Math_LN10, gen_jswrap_Math_LN2, gen_jswrap_Math_LOG10E, gen_jswrap_Math_LOG2E, gen_jswrap_Math_PI, gen_jswrap_Math_SQRT1_2, gen_jswrap_Math_SQRT2, fabs, gen_jswrap_Math_acos, jswrap_math_asin, jswrap_math_atan, jswrap_math_atan2, ceil, jswrap_math_clip, jswrap_math_cos, exp, floor, log, gen_jswrap_Math_max, gen_jswrap_Math_min, jswrap_math_pow, gen_jswrap_Math_random, jswrap_math_round, jswrap_math_sign, jswrap_math_sin, jswrap_math_sqrt, gen_jswrap_Math_tan, wrapAround, jswrap_flash_erasePage, jswrap_flash_getFree, jswrap_flash_getPage, jswrap_flash_read, jswrap_flash_write, jswrap_process_env, jswrap_process_memory, gen_jswrap_process_version, jswrap_onewire_read, jswrap_onewire_reset, jswrap_onewire_search, jswrap_onewire_select, jswrap_onewire_skip, jswrap_onewire_write, jswrap_promise_all, jswrap_promise_reject, jswrap_promise_resolve, jswrap_promise_catch, jswrap_promise_then, gen_jswrap_Serial_find, jswrap_stream_available, jswrap_serial_flush, jswrap_serial_inject, jswrap_serial_print, jswrap_serial_println, jswrap_stream_read, jswrap_serial_setConsole, jswrap_serial_setup, jswrap_serial_unsetup, jswrap_serial_write, jswrap_storage_compact, jswrap_storage_erase, jswrap_storage_eraseAll, jswrap_storage_getFree, jswrap_storage_getStats, jswrap_storage_hash, jswrap_storage_list, jswrap_storage_open, jswrap_storage_optimise, jswrap_storage_read, jswrap_storage_readArrayBuffer, jswrap_storage_readJSON, jswrap_storage_write, jswrap_storage_writeJSON, jswrap_storagefile_erase, jswrap_storagefile_getLength, jswrap_storagefile_read, jswrap_storagefile_readLine, jswrap_storagefile_write, gen_jswrap_SPI_find, jswrap_spi_send, jswrap_spi_send4bit, jswrap_spi_send8bit, jswrap_spi_setup, jswrap_spi_write, gen_jswrap_I2C_find, jswrap_i2c_readFrom, jswrap_i2c_readReg, jswrap_i2c_setup, jswrap_i2c_writeTo, jswrap_waveform_startInput, jswrap_waveform_startOutput, jswrap_waveform_stop, jswrap_heatshrink_compress, jswrap_heatshrink_decompress, jswrap_graphics_asBMP, jswrap_graphics_asImage, jswrap_graphics_asURL, jswrap_graphics_blendColor, jswrap_graphics_blit, jswrap_graphics_clear, jswrap_graphics_clearRect, jswrap_graphics_drawCircle, jswrap_graphics_drawCircleAA, jswrap_graphics_drawEllipse, jswrap_graphics_drawImage, jswrap_graphics_drawImages, jswrap_graphics_drawLine, jswrap_graphics_drawLineAA, gen_jswrap_Graphics_drawPoly, gen_jswrap_Graphics_drawPolyAA, jswrap_graphics_drawRect, jswrap_graphics_drawString, jswrap_graphics_dump, jswrap_graphics_fillCircle, jswrap_graphics_fillEllipse, gen_jswrap_Graphics_fillPoly, gen_jswrap_Graphics_fillPolyAA, jswrap_graphics_fillRect, jswrap_graphics_floodFill, jswrap_graphics_getBPP, gen_jswrap_Graphics_getBgColor, gen_jswrap_Graphics_getColor, jswrap_graphics_getFont, jswrap_graphics_getFontHeight, jswrap_graphics_getFonts, gen_jswrap_Graphics_getHeight, jswrap_graphics_getModified, jswrap_graphics_getPixel, jswrap_graphics_getVectorFontPolys, gen_jswrap_Graphics_getWidth, jswrap_graphics_imageMetrics, jswrap_graphics_lineTo, jswrap_graphics_moveTo, jswrap_graphics_quadraticBezier, jswrap_graphics_reset, jswrap_graphics_scroll, gen_jswrap_Graphics_setBgColor, jswrap_graphics_setClipRect, gen_jswrap_Graphics_setColor, jswrap_graphics_setFont, jswrap_graphics_setFontAlign, gen_jswrap_Graphics_setFontBitmap, jswrap_graphics_setFontCustom, jswrap_graphics_setFontPBF, gen_jswrap_Graphics_setFontVector, jswrap_graphics_setPixel, jswrap_graphics_setRotation, jswrap_graphics_setTheme, jswrap_graphics_stringMetrics, jswrap_graphics_stringWidth, jswrap_graphics_theme, jswrap_graphics_toColor, jswrap_graphics_transformVertices, jswrap_graphics_wrapString, jswrap_graphics_createArrayBuffer, jswrap_graphics_createCallback, jswrap_graphics_createImage, jswrap_graphics_getInstance, jswrap_tensorflow_create, jswrap_tfmicrointerpreter_getInput, jswrap_tfmicrointerpreter_getOutput, jswrap_tfmicrointerpreter_invoke, jsiConsolePrintString, jsiTabComplete_findCommon, jsiTabComplete_printCommon, jstPinTaskChecker, jstBufferTaskChecker, jsserialHardwareFunc, jsserialSoftwareFunc, jsserialEventCallback, jsspiHardwareFunc, jsspiFastSoftwareFunc, jsspiSoftwareFunc, heatshrink_ptr_output_cb, graphicsFallbackSetPixel, graphicsFallbackGetPixel, graphicsFallbackFillRect, graphicsFallbackBlit, graphicsFallbackScroll, graphicsSetPixel, lcdSetPixel_ArrayBuffer_flat1, lcdGetPixel_ArrayBuffer_flat, lcdFillRect_ArrayBuffer_flat1, lcdSetPixel_ArrayBuffer_flat8, lcdGetPixel_ArrayBuffer_flat8, lcdFillRect_ArrayBuffer_flat8, lcdScroll_ArrayBuffer_flat8, lcdSetPixel_ArrayBuffer_flat, lcdFillRect_ArrayBuffer_flat, lcdSetPixel_ArrayBuffer, lcdGetPixel_ArrayBuffer, lcdFillRect_ArrayBuffer, lcdSetPixel_JS, lcdFillRect_JS, lcdST7789_setPixel, lcdST7789_scroll, lcd_flip, btn1Handler, btn2Handler, btn3Handler, btn4Handler, btn5Handler, jswrap_banglejs_postInit, jswrap_banglejs_beep_callback, jswrap_banglejs_buzz_callback, _jswrap_arraybufferview_sort_float, _jswrap_arraybufferview_sort_int, jsvArrayAddUnique, _jswrap_object_entries_cb, _jswrap_object_values_cb, _jswrap_espruino_toString_char, _jswrap_espruino_toUint8Array_char, jswrap_io_shiftOutCallback, jswrap_pipe_src_close_listener, jswrap_pipe_drain_listener, jswrap_pipe_dst_close_listener, jsvLockAgainSafe, jsvUnLock, jsvSkipName, jsvMathsOp, jsvNewWithFlags, jsvNewFromFloat, jsvNewFromInteger, jsvNewFromString, jsvNewFromBool, jsvGetFloat, jsvGetInteger, jsvGetBool, jsvReplaceWith, jspeFunctionCall, jspGetNamedVariable, jspGetNamedField, jspGetVarNamedField, _jswrap_onewire_write_cb, _jswrap_prombox_resolve, _jswrap_prombox_reject, _jswrap_prombox_queueresolve, _jswrap_prombox_queuereject, _jswrap_prombox_all_reject, _jswrap_prombox_all_resolve, _jswrap_promise_reaction_call, _jswrap_serial_inject_cb, jswrap_spi_send_cb, jswrap_spi_write_cb, heatshrink_var_input_cb, heatshrink_var_output_cb, jswrap_graphics_getFonts_callback, graphicsFillPoly, _jswrap_graphics_getVectorFontPolys_cb, graphicsDrawLineAA, graphicsDrawLine, tflite__SimpleMemoryAllocator__SimpleMemoryAllocator_28tflite__ErrorReporter__2c_20unsigned_20char__2c_20unsigned_20long_29, tflite__SimpleMemoryAllocator___SimpleMemoryAllocator_28_29, tflite__SimpleMemoryAllocator___SimpleMemoryAllocator_28_29_1, tflite__SimpleMemoryAllocator__EnsureHeadSize_28unsigned_20long_2c_20unsigned_20long_29, tflite__SimpleMemoryAllocator__AllocateFromTail_28unsigned_20long_2c_20unsigned_20long_29, tflite__SimpleMemoryAllocator__AllocateTemp_28unsigned_20long_2c_20unsigned_20long_29, tflite__SimpleMemoryAllocator__ResetTempAllocations_28_29, tflite__internal__ContextHelper__ContextHelper_28tflite__ErrorReporter__2c_20tflite__MicroAllocator__2c_20tflite__Model_20const__29, tflite__internal__ContextHelper__ReportOpError_28TfLiteContext__2c_20char_20const__2c_20____29, tflite__internal__ContextHelper__GetTensor_28TfLiteContext_20const__2c_20int_29, tflite__internal__ContextHelper__GetEvalTensor_28TfLiteContext_20const__2c_20int_29, tflite__internal__ContextHelper__AllocatePersistentBuffer_28TfLiteContext__2c_20unsigned_20long_29, tflite__internal__ContextHelper__RequestScratchBufferInArena_28TfLiteContext__2c_20unsigned_20long_2c_20int__29, tflite__internal__ContextHelper__GetScratchBuffer_28TfLiteContext__2c_20int_29, tflite__MicroAllocator___MicroAllocator_28_29, tflite__MicroAllocator__MicroAllocator_28tflite__SimpleMemoryAllocator__2c_20tflite__ErrorReporter__29, tflite__MicroAllocator__AllocatePersistentTfLiteTensor_28tflite__Model_20const__2c_20TfLiteEvalTensor__2c_20int_29, tflite__MicroAllocator__AllocateTempTfLiteTensor_28tflite__Model_20const__2c_20TfLiteEvalTensor__2c_20int_29, tflite__MicroAllocator__ResetTempAllocations_28_29, tflite__MicroAllocator___MicroAllocator_28_29_1, tflite__MicroAllocator__AllocateNodeAndRegistrations_28tflite__Model_20const__2c_20tflite__NodeAndRegistration___29, tflite__MicroAllocator__PrepareNodeAndRegistrationDataFromFlatbuffer_28tflite__Model_20const__2c_20tflite__MicroOpResolver_20const__2c_20tflite__NodeAndRegistration__29, tflite__MicroAllocator__AllocateTfLiteEvalTensors_28tflite__Model_20const__2c_20TfLiteEvalTensor___29, tflite__MicroAllocator__AllocateVariables_28tflite__SubGraph_20const__2c_20TfLiteEvalTensor__29, tflite__MicroAllocator__AllocatePersistentTfLiteTensorInternal_28tflite__Model_20const__2c_20TfLiteEvalTensor__2c_20int_29, tflite__MicroAllocator__PopulateTfLiteTensorFromFlatbuffer_28tflite__Model_20const__2c_20tflite__SubGraph_20const__2c_20TfLiteTensor__2c_20int_2c_20bool_29, tflite__MicroAllocator__CommitStaticMemoryPlan_28tflite__Model_20const__2c_20tflite__SubGraph_20const__2c_20TfLiteEvalTensor__29, tflite___28anonymous_20namespace_29__MicroBuiltinDataAllocator__Allocate_28unsigned_20long_2c_20unsigned_20long_29, tflite___28anonymous_20namespace_29__MicroBuiltinDataAllocator__Deallocate_28void__29, tflite___28anonymous_20namespace_29__MicroBuiltinDataAllocator___MicroBuiltinDataAllocator_28_29, tflite___28anonymous_20namespace_29__MicroBuiltinDataAllocator___MicroBuiltinDataAllocator_28_29_1, __cxa_pure_virtual, tflite__BuiltinDataAllocator___BuiltinDataAllocator_28_29, tflite__BuiltinDataAllocator___BuiltinDataAllocator_28_29_1, tflite__ops__micro__depthwise_conv__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__depthwise_conv__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__depthwise_conv__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__conv__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__conv__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__conv__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__pooling__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__pooling__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__pooling__AverageEval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__pooling__MaxEval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__activations__SoftmaxInit_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__activations__SoftmaxPrepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__activations__SoftmaxEval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__fully_connected__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__fully_connected__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__fully_connected__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__quantize__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__quantize__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__quantize__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__dequantize__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__dequantize__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__dequantize__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__reshape__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__reshape__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__MemoryPlanner___MemoryPlanner_28_29, tflite__MemoryPlanner___MemoryPlanner_28_29_1, tflite__GreedyMemoryPlanner___GreedyMemoryPlanner_28_29, tflite__GreedyMemoryPlanner___GreedyMemoryPlanner_28_29_1, tflite__GreedyMemoryPlanner__AddBuffer_28tflite__ErrorReporter__2c_20int_2c_20int_2c_20int_29, tflite__GreedyMemoryPlanner__GetMaximumMemorySize_28_29, tflite__GreedyMemoryPlanner__GetBufferCount_28_29, tflite__GreedyMemoryPlanner__GetOffsetForBuffer_28tflite__ErrorReporter__2c_20int_2c_20int__29, tflite__ParseDepthwiseConv2D_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseConv2D_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParsePool_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseFullyConnected_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseSoftmax_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseQuantize_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseDequantize_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseReshape_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__EspruinoErrorReporter___EspruinoErrorReporter_28_29, tflite__EspruinoErrorReporter___EspruinoErrorReporter_28_29_1, tflite__EspruinoErrorReporter__Report_28char_20const__2c_20void__29, tflite__ErrorReporter___ErrorReporter_28_29, tflite__ErrorReporter___ErrorReporter_28_29_1, tflite__MicroOpResolver__FindOp_28tflite__BuiltinOperator_2c_20int_29_20const, tflite__MicroOpResolver__FindOp_28char_20const__2c_20int_29_20const, tflite__OpResolver__GetDelegates_28int_29_20const, tflite__MicroMutableOpResolver_9u____MicroMutableOpResolver_28_29, tflite__MicroMutableOpResolver_9u____MicroMutableOpResolver_28_29_1, tflite__MicroMutableOpResolver_9u___FindOp_28tflite__BuiltinOperator_29_20const, tflite__MicroMutableOpResolver_9u___FindOp_28char_20const__29_20const, tflite__MicroMutableOpResolver_9u___GetOpDataParser_28tflite__BuiltinOperator_29_20const, tflite__MicroOpResolver___MicroOpResolver_28_29, tflite__MicroOpResolver___MicroOpResolver_28_29_1, tflite__OpResolver___OpResolver_28_29, tflite__OpResolver___OpResolver_28_29_1, __stdio_close, __stdio_write, __stdio_seek]); + var FUNCTION_TABLE = Table([null, jswrap_object_toString, jsvStringIteratorPrintfCallback, jsvIsInternalFunctionKey, jsvIsInternalObjectKey, jsvIterateCallbackCountCb, jsvIterateCallbackToBytesCb, vcbprintf_callback_jsiConsolePrintString, espruino_snprintf_cb, jswrap_eval, jswrap_dataview_constructor, jswrap_date_constructor, jswrap_error_constructor, jswrap_syntaxerror_constructor, jswrap_typeerror_constructor, jswrap_internalerror_constructor, jswrap_referenceerror_constructor, jswrap_regexp_constructor, jswrap_onewire_constructor, jswrap_promise_constructor, jswrap_serial_constructor, gen_jswrap_StorageFile_StorageFile, jswrap_spi_constructor, jswrap_i2c_constructor, jswrap_waveform_constructor, gen_jswrap_Graphics_Graphics, gen_jswrap_TFMicroInterpreter_TFMicroInterpreter, jswrap_pin_constructor, gen_jswrap_Bangle_Bangle, gen_jswrap_E_E, gen_jswrap_NRF_NRF, gen_jswrap_Bluetooth_Bluetooth, jswrap_array_constructor, gen_jswrap_console_console, gen_jswrap_JSON_JSON, jswrap_number_constructor, jswrap_object_constructor, jswrap_string_constructor, gen_jswrap_Modules_Modules, gen_jswrap_Math_Math, gen_jswrap_Flash_Flash, gen_jswrap_fs_fs, gen_jswrap_process_process, gen_jswrap_Storage_Storage, gen_jswrap_heatshrink_heatshrink, gen_jswrap_tensorflow_tensorflow, jswrap_arraybuffer_constructor, gen_jswrap_ArrayBufferView_ArrayBufferView, jswrap_function_constructor, jswrap_pin_analog, jswrap_pin_getInfo, jswrap_pin_getMode, jswrap_pin_mode, jswrap_pin_pulse, jswrap_pin_pwm, jswrap_pin_read, jswrap_pin_reset, jswrap_pin_set, jswrap_pin_toggle, jswrap_pin_write, jswrap_pin_writeAtTime, gen_jswrap_BTN, gen_jswrap_BTN1, gen_jswrap_BTN2, gen_jswrap_BTN3, gen_jswrap_BTN4, gen_jswrap_BTN5, jswrap_boolean_constructor, gen_jswrap_Float32Array_Float32Array, gen_jswrap_Float64Array_Float64Array, gen_jswrap_HIGH, gen_jswrap_I2C1, gen_jswrap_Infinity, gen_jswrap_Int16Array_Int16Array, gen_jswrap_Int32Array_Int32Array, gen_jswrap_Int8Array_Int8Array, gen_jswrap_LED1, gen_jswrap_LED2, gen_jswrap_LOW, gen_jswrap_LoopbackA, gen_jswrap_LoopbackB, gen_jswrap_NaN, gen_jswrap_SPI1, gen_jswrap_Serial1, gen_jswrap_Terminal, gen_jswrap_USB, gen_jswrap_Uint16Array_Uint16Array, gen_jswrap_Uint24Array_Uint24Array, gen_jswrap_Uint32Array_Uint32Array, gen_jswrap_Uint8Array_Uint8Array, gen_jswrap_Uint8ClampedArray_Uint8ClampedArray, gen_jswrap_VIBRATE, jshPinAnalog, jswrap_io_analogWrite, jswrap_arguments, jswrap_atob, jswrap_btoa, jswrap_interface_changeInterval, jswrap_interface_clearInterval, jswrap_interface_clearTimeout, jswrap_interface_clearWatch, jswrap_decodeURIComponent, jswrap_io_digitalPulse, jswrap_io_digitalRead, jswrap_io_digitalWrite, gen_jswrap_dump, jswrap_interface_echo, jswrap_interface_edit, jswrap_encodeURIComponent, jswrap_io_getPinMode, jswrap_interface_getSerial, gen_jswrap_getTime, jswrap_global, jswrap_isFinite, jswrap_isNaN, jswrap_interface_load, jswrap_parseFloat, jswrap_parseInt, gen_jswrap_peek16, gen_jswrap_peek32, gen_jswrap_peek8, jswrap_io_pinMode, gen_jswrap_poke16, gen_jswrap_poke32, gen_jswrap_poke8, jswrap_print, jswrap_require, jswrap_interface_reset, jswrap_interface_setBusyIndicator, jswrap_interface_setInterval, jswrap_interface_setSleepIndicator, jswrap_interactive_setTime, jswrap_interface_setTimeout, jswrap_interface_setWatch, jswrap_io_shiftOut, jswrap_trace, jswrap_banglejs_accelRd, jswrap_banglejs_appRect, jswrap_banglejs_beep, jswrap_banglejs_buzz, jswrap_banglejs_compassRd, jswrap_banglejs_compassWr, jswrap_banglejs_dbg, gen_jswrap_Bangle_drawWidgets, jswrap_banglejs_factoryReset, jswrap_banglejs_getAccel, jswrap_banglejs_getCompass, jswrap_banglejs_getGPSFix, jswrap_banglejs_getHealthStatus, jswrap_banglejs_getLCDMode, jswrap_banglejs_getLogo, jswrap_banglejs_getOptions, jswrap_banglejs_getStepCount, jswrap_banglejs_hrmRd, jswrap_banglejs_ioWr, jswrap_banglejs_isBacklightOn, jswrap_banglejs_isCharging, jswrap_banglejs_isCompassOn, jswrap_banglejs_isGPSOn, jswrap_banglejs_isHRMOn, jswrap_banglejs_isLCDOn, jswrap_banglejs_isLocked, jswrap_banglejs_lcdWr, gen_jswrap_Bangle_load, gen_jswrap_Bangle_loadWidgets, jswrap_banglejs_off, jswrap_banglejs_project, jswrap_banglejs_resetCompass, jswrap_banglejs_setLCDPowerBacklight, jswrap_banglejs_setCompassPower, jswrap_banglejs_setGPSPower, jswrap_banglejs_setHRMPower, jswrap_banglejs_setLCDBrightness, jswrap_banglejs_setLCDMode, jswrap_banglejs_setLCDOffset, jswrap_banglejs_setLCDPower, jswrap_banglejs_setLCDTimeout, jswrap_banglejs_setLocked, jswrap_banglejs_setOptions, jswrap_banglejs_setPollInterval, jswrap_banglejs_setStepCount, gen_jswrap_Bangle_setUI, gen_jswrap_Bangle_showClock, gen_jswrap_Bangle_showLauncher, gen_jswrap_Bangle_showRecoveryMenu, jswrap_banglejs_softOff, jswrap_banglejs_touchWr, jswrap_espruino_CRC32, jswrap_espruino_FFT, jswrap_espruino_HSBtoRGB, jswrap_espruino_asUTF8, jswrap_espruino_asm, jswrap_espruino_clip, jswrap_espruino_compiledC, jswrap_espruino_convolve, jswrap_espruino_decodeUTF8, jsvDefragment, jswrap_e_dumpFragmentation, jswrap_e_dumpStr, jswrap_espruino_dumpTimers, jswrap_e_dumpVariables, jswrap_espruino_enableWatchdog, jswrap_espruino_fromUTF8, jswrap_espruino_getAddressOf, gen_jswrap_E_getAnalogVRef, jswrap_espruino_getBattery, jswrap_espruino_getConsole, jswrap_espruino_getErrorFlags, jsfGetFlags, jswrap_espruino_getPowerUsage, jswrap_espruino_getSizeOf, jswrap_espruino_getTemperature, jshGetRandomNumber, jswrap_espruino_isUTF8, jswrap_espruino_kickWatchdog, jswrap_espruino_lockConsole, jswrap_espruino_lookupNoCase, jswrap_espruino_mapInPlace, jswrap_espruino_memoryArea, jswrap_espruino_memoryMap, jswrap_espruino_nativeCall, jswrap_pipe, jswrap_espruino_reboot, jswrap_espruino_reverseByte, jswrap_espruino_setBootCode, jswrap_espruino_setClock, jswrap_espruino_setConsole, jswrap_espruino_setDST, jsfSetFlags, jswrap_espruino_setPassword, jswrap_espruino_setTimeZone, gen_jswrap_E_showAlert, gen_jswrap_E_showMenu, gen_jswrap_E_showMessage, gen_jswrap_E_showPrompt, gen_jswrap_E_showScroller, srand, jswrap_espruino_stopEventPropagation, jswrap_espruino_sum, jswrap_espruino_toArrayBuffer, jswrap_espruino_toFlatString, jswrap_espruino_toJS, jswrap_espruino_toString, jswrap_espruino_toUint8Array, jswrap_espruino_variance, gen_jswrap_NRF_getAddress, gen_jswrap_NRF_getSecurityStatus, gen_jswrap_NRF_setAdvertising, gen_jswrap_NRF_setServices, gen_jswrap_Bluetooth_setConsole, jswrap_array_concat, jswrap_array_every, jswrap_array_fill, jswrap_array_filter, jswrap_array_find, jswrap_array_findIndex, jswrap_array_forEach, jswrap_array_includes, jswrap_array_indexOf, jswrap_array_join, jswrap_object_length, jswrap_array_map, gen_jswrap_Array_pop, jswrap_array_push, jswrap_array_reduce, jswrap_array_reverse, jswrap_array_shift, jswrap_array_slice, jswrap_array_some, jswrap_array_sort, jswrap_array_splice, jswrap_array_unshift, gen_jswrap_Array_isArray, gen_jswrap_ArrayBuffer_byteLength, gen_jswrap_ArrayBufferView_buffer, gen_jswrap_ArrayBufferView_byteLength, gen_jswrap_ArrayBufferView_byteOffset, jswrap_arraybufferview_map, jswrap_arraybufferview_set, jswrap_arraybufferview_sort, jswrap_arraybufferview_subarray, gen_jswrap_DataView_getFloat32, gen_jswrap_DataView_getFloat64, gen_jswrap_DataView_getInt16, gen_jswrap_DataView_getInt32, gen_jswrap_DataView_getInt8, gen_jswrap_DataView_getUint16, gen_jswrap_DataView_getUint32, gen_jswrap_DataView_getUint8, gen_jswrap_DataView_setFloat32, gen_jswrap_DataView_setFloat64, gen_jswrap_DataView_setInt16, gen_jswrap_DataView_setInt32, gen_jswrap_DataView_setInt8, gen_jswrap_DataView_setUint16, gen_jswrap_DataView_setUint32, gen_jswrap_DataView_setUint8, jswrap_date_now, jswrap_date_parse, jswrap_date_getDate, jswrap_date_getDay, jswrap_date_getFullYear, jswrap_date_getHours, jswrap_date_getIsDST, jswrap_date_getMilliseconds, jswrap_date_getMinutes, jswrap_date_getMonth, jswrap_date_getSeconds, jswrap_date_getTime, jswrap_date_getTimezoneOffset, jswrap_date_setDate, jswrap_date_setFullYear, jswrap_date_setHours, jswrap_date_setMilliseconds, jswrap_date_setMinutes, jswrap_date_setMonth, jswrap_date_setSeconds, jswrap_date_setTime, jswrap_date_toISOString, jswrap_date_toLocalISOString, jswrap_date_toString, jswrap_date_toUTCString, jswrap_error_toString, jswrap_json_parse, jswrap_json_stringify, gen_jswrap_Number_MAX_VALUE, gen_jswrap_Number_MIN_VALUE, gen_jswrap_Number_NEGATIVE_INFINITY, gen_jswrap_Number_NaN, gen_jswrap_Number_POSITIVE_INFINITY, jswrap_number_toFixed, jswrap_object_on, jswrap_object_clone, jswrap_object_emit, jswrap_object_hasOwnProperty, jswrap_object_prependListener, jswrap_object_removeAllListeners, jswrap_object_removeListener, jswrap_object_valueOf, jswrap_object_assign, jswrap_object_create, jswrap_object_defineProperties, jswrap_object_defineProperty, gen_jswrap_Object_entries, jswrap_object_fromEntries, jswrap_object_getOwnPropertyDescriptor, jswrap_object_getOwnPropertyDescriptors, gen_jswrap_Object_getOwnPropertyNames, jswrap_object_getPrototypeOf, gen_jswrap_Object_keys, jswrap_object_setPrototypeOf, gen_jswrap_Object_values, jswrap_function_apply_or_call, jswrap_function_bind, jswrap_function_replaceWith, jswrap_regexp_exec, jswrap_regexp_test, jswrap_string_charAt, jswrap_string_charCodeAt, jswrap_string_concat, jswrap_string_endsWith, gen_jswrap_String_includes, gen_jswrap_String_indexOf, gen_jswrap_String_lastIndexOf, jswrap_string_match, gen_jswrap_String_padEnd, gen_jswrap_String_padStart, gen_jswrap_String_removeAccents, jswrap_string_repeat, jswrap_string_replace, jswrap_string_replaceAll, jswrap_string_slice, jswrap_string_split, jswrap_string_startsWith, jswrap_string_substr, jswrap_string_substring, gen_jswrap_String_toLowerCase, gen_jswrap_String_toUpperCase, jswrap_string_trim, jswrap_string_fromCharCode, jswrap_modules_addCached, jswrap_modules_getCached, jswrap_modules_removeAllCached, jswrap_modules_removeCached, gen_jswrap_Math_E, gen_jswrap_Math_LN10, gen_jswrap_Math_LN2, gen_jswrap_Math_LOG10E, gen_jswrap_Math_LOG2E, gen_jswrap_Math_PI, gen_jswrap_Math_SQRT1_2, gen_jswrap_Math_SQRT2, fabs, gen_jswrap_Math_acos, jswrap_math_asin, jswrap_math_atan, jswrap_math_atan2, ceil, jswrap_math_clip, jswrap_math_cos, exp, floor, log, gen_jswrap_Math_max, gen_jswrap_Math_min, jswrap_math_pow, gen_jswrap_Math_random, jswrap_math_round, jswrap_math_sign, jswrap_math_sin, jswrap_math_sqrt, gen_jswrap_Math_tan, wrapAround, jswrap_flash_erasePage, jswrap_flash_getFree, jswrap_flash_getPage, jswrap_flash_read, jswrap_flash_write, jswrap_process_env, jswrap_process_memory, gen_jswrap_process_version, jswrap_onewire_read, jswrap_onewire_reset, jswrap_onewire_search, jswrap_onewire_select, jswrap_onewire_skip, jswrap_onewire_write, jswrap_promise_all, jswrap_promise_reject, jswrap_promise_resolve, jswrap_promise_catch, jswrap_promise_then, gen_jswrap_Serial_find, jswrap_stream_available, jswrap_serial_flush, jswrap_serial_inject, jswrap_serial_print, jswrap_serial_println, jswrap_stream_read, jswrap_serial_setConsole, jswrap_serial_setup, jswrap_serial_unsetup, jswrap_serial_write, jswrap_storage_compact, jswrap_storage_erase, jswrap_storage_eraseAll, jswrap_storage_getFree, jswrap_storage_getStats, jswrap_storage_hash, jswrap_storage_list, jswrap_storage_open, jswrap_storage_optimise, jswrap_storage_read, jswrap_storage_readArrayBuffer, jswrap_storage_readJSON, jswrap_storage_write, jswrap_storage_writeJSON, jswrap_storagefile_erase, jswrap_storagefile_getLength, jswrap_storagefile_read, jswrap_storagefile_readLine, jswrap_storagefile_write, gen_jswrap_SPI_find, jswrap_spi_send, jswrap_spi_send4bit, jswrap_spi_send8bit, jswrap_spi_setup, jswrap_spi_write, gen_jswrap_I2C_find, jswrap_i2c_readFrom, jswrap_i2c_readReg, jswrap_i2c_setup, jswrap_i2c_writeTo, jswrap_waveform_startInput, jswrap_waveform_startOutput, jswrap_waveform_stop, jswrap_heatshrink_compress, jswrap_heatshrink_decompress, jswrap_graphics_asBMP, jswrap_graphics_asImage, jswrap_graphics_asURL, jswrap_graphics_blendColor, jswrap_graphics_blit, jswrap_graphics_clear, jswrap_graphics_clearRect, jswrap_graphics_drawCircle, jswrap_graphics_drawCircleAA, jswrap_graphics_drawEllipse, jswrap_graphics_drawImage, jswrap_graphics_drawImages, jswrap_graphics_drawLine, jswrap_graphics_drawLineAA, gen_jswrap_Graphics_drawPoly, gen_jswrap_Graphics_drawPolyAA, jswrap_graphics_drawRect, jswrap_graphics_drawString, jswrap_graphics_dump, jswrap_graphics_fillCircle, jswrap_graphics_fillEllipse, gen_jswrap_Graphics_fillPoly, gen_jswrap_Graphics_fillPolyAA, jswrap_graphics_fillRect, jswrap_graphics_floodFill, jswrap_graphics_getBPP, gen_jswrap_Graphics_getBgColor, gen_jswrap_Graphics_getColor, jswrap_graphics_getFont, jswrap_graphics_getFontHeight, jswrap_graphics_getFonts, gen_jswrap_Graphics_getHeight, jswrap_graphics_getModified, jswrap_graphics_getPixel, jswrap_graphics_getVectorFontPolys, gen_jswrap_Graphics_getWidth, jswrap_graphics_imageMetrics, jswrap_graphics_lineTo, jswrap_graphics_moveTo, jswrap_graphics_quadraticBezier, jswrap_graphics_reset, jswrap_graphics_scroll, gen_jswrap_Graphics_setBgColor, jswrap_graphics_setClipRect, gen_jswrap_Graphics_setColor, jswrap_graphics_setFont, jswrap_graphics_setFontAlign, gen_jswrap_Graphics_setFontBitmap, jswrap_graphics_setFontCustom, jswrap_graphics_setFontPBF, gen_jswrap_Graphics_setFontVector, jswrap_graphics_setPixel, jswrap_graphics_setRotation, jswrap_graphics_setTheme, jswrap_graphics_stringMetrics, jswrap_graphics_stringWidth, jswrap_graphics_theme, jswrap_graphics_toColor, jswrap_graphics_transformVertices, jswrap_graphics_wrapString, jswrap_graphics_createArrayBuffer, jswrap_graphics_createCallback, jswrap_graphics_createImage, jswrap_graphics_getInstance, jswrap_tensorflow_create, jswrap_tfmicrointerpreter_getInput, jswrap_tfmicrointerpreter_getOutput, jswrap_tfmicrointerpreter_invoke, jsiConsolePrintString, jsiTabComplete_findCommon, jsiTabComplete_printCommon, jstPinTaskChecker, jstBufferTaskChecker, jsserialHardwareFunc, jsserialSoftwareFunc, jsserialEventCallback, jsspiHardwareFunc, jsspiFastSoftwareFunc, jsspiSoftwareFunc, heatshrink_ptr_output_cb, graphicsFallbackSetPixel, graphicsFallbackGetPixel, graphicsFallbackFillRect, graphicsFallbackBlit, graphicsFallbackScroll, graphicsSetPixel, lcdSetPixel_ArrayBuffer_flat1, lcdGetPixel_ArrayBuffer_flat, lcdFillRect_ArrayBuffer_flat1, lcdSetPixel_ArrayBuffer_flat8, lcdGetPixel_ArrayBuffer_flat8, lcdFillRect_ArrayBuffer_flat8, lcdScroll_ArrayBuffer_flat8, lcdSetPixel_ArrayBuffer_flat, lcdFillRect_ArrayBuffer_flat, lcdSetPixel_ArrayBuffer, lcdGetPixel_ArrayBuffer, lcdFillRect_ArrayBuffer, lcdSetPixel_JS, lcdFillRect_JS, lcdST7789_setPixel, lcdST7789_scroll, lcd_flip, btn1Handler, btn2Handler, btn3Handler, btn4Handler, btn5Handler, jswrap_banglejs_postInit, jswrap_banglejs_beep_callback, jswrap_banglejs_buzz_callback, _jswrap_arraybufferview_sort_float, _jswrap_arraybufferview_sort_int, jsvArrayAddUnique, _jswrap_object_entries_cb, _jswrap_object_values_cb, _jswrap_espruino_toString_char, _jswrap_espruino_toUint8Array_char, jswrap_io_shiftOutCallback, jswrap_pipe_src_close_listener, jswrap_pipe_drain_listener, jswrap_pipe_dst_close_listener, jsvLockAgainSafe, jsvUnLock, jsvSkipName, jsvMathsOp, jsvNewWithFlags, jsvNewFromFloat, jsvNewFromInteger, jsvNewFromString, jsvNewFromBool, jsvGetFloat, jsvGetInteger, jsvGetBool, jsvReplaceWith, jspeFunctionCall, jspGetNamedVariable, jspGetNamedField, jspGetVarNamedField, _jswrap_onewire_write_cb, _jswrap_prombox_resolve, _jswrap_prombox_reject, _jswrap_prombox_queueresolve, _jswrap_prombox_queuereject, _jswrap_prombox_all_reject, _jswrap_prombox_all_resolve, _jswrap_promise_reaction_call, _jswrap_serial_inject_cb, jswrap_spi_send_cb, jswrap_spi_write_cb, heatshrink_var_input_cb, heatshrink_var_output_cb, jswrap_graphics_getFonts_callback, graphicsFillPoly, _jswrap_graphics_getVectorFontPolys_cb, graphicsDrawLineAA, graphicsDrawLine, tflite__SimpleMemoryAllocator__SimpleMemoryAllocator_28tflite__ErrorReporter__2c_20unsigned_20char__2c_20unsigned_20long_29, tflite__SimpleMemoryAllocator___SimpleMemoryAllocator_28_29, tflite__SimpleMemoryAllocator___SimpleMemoryAllocator_28_29_1, tflite__SimpleMemoryAllocator__EnsureHeadSize_28unsigned_20long_2c_20unsigned_20long_29, tflite__SimpleMemoryAllocator__AllocateFromTail_28unsigned_20long_2c_20unsigned_20long_29, tflite__SimpleMemoryAllocator__AllocateTemp_28unsigned_20long_2c_20unsigned_20long_29, tflite__SimpleMemoryAllocator__ResetTempAllocations_28_29, tflite__internal__ContextHelper__ContextHelper_28tflite__ErrorReporter__2c_20tflite__MicroAllocator__2c_20tflite__Model_20const__29, tflite__internal__ContextHelper__ReportOpError_28TfLiteContext__2c_20char_20const__2c_20____29, tflite__internal__ContextHelper__GetTensor_28TfLiteContext_20const__2c_20int_29, tflite__internal__ContextHelper__GetEvalTensor_28TfLiteContext_20const__2c_20int_29, tflite__internal__ContextHelper__AllocatePersistentBuffer_28TfLiteContext__2c_20unsigned_20long_29, tflite__internal__ContextHelper__RequestScratchBufferInArena_28TfLiteContext__2c_20unsigned_20long_2c_20int__29, tflite__internal__ContextHelper__GetScratchBuffer_28TfLiteContext__2c_20int_29, tflite__MicroAllocator___MicroAllocator_28_29, tflite__MicroAllocator__MicroAllocator_28tflite__SimpleMemoryAllocator__2c_20tflite__ErrorReporter__29, tflite__MicroAllocator__AllocatePersistentTfLiteTensor_28tflite__Model_20const__2c_20TfLiteEvalTensor__2c_20int_29, tflite__MicroAllocator__AllocateTempTfLiteTensor_28tflite__Model_20const__2c_20TfLiteEvalTensor__2c_20int_29, tflite__MicroAllocator__ResetTempAllocations_28_29, tflite__MicroAllocator___MicroAllocator_28_29_1, tflite__MicroAllocator__AllocateNodeAndRegistrations_28tflite__Model_20const__2c_20tflite__NodeAndRegistration___29, tflite__MicroAllocator__PrepareNodeAndRegistrationDataFromFlatbuffer_28tflite__Model_20const__2c_20tflite__MicroOpResolver_20const__2c_20tflite__NodeAndRegistration__29, tflite__MicroAllocator__AllocateTfLiteEvalTensors_28tflite__Model_20const__2c_20TfLiteEvalTensor___29, tflite__MicroAllocator__AllocateVariables_28tflite__SubGraph_20const__2c_20TfLiteEvalTensor__29, tflite__MicroAllocator__AllocatePersistentTfLiteTensorInternal_28tflite__Model_20const__2c_20TfLiteEvalTensor__2c_20int_29, tflite__MicroAllocator__PopulateTfLiteTensorFromFlatbuffer_28tflite__Model_20const__2c_20tflite__SubGraph_20const__2c_20TfLiteTensor__2c_20int_2c_20bool_29, tflite__MicroAllocator__CommitStaticMemoryPlan_28tflite__Model_20const__2c_20tflite__SubGraph_20const__2c_20TfLiteEvalTensor__29, tflite___28anonymous_20namespace_29__MicroBuiltinDataAllocator__Allocate_28unsigned_20long_2c_20unsigned_20long_29, tflite___28anonymous_20namespace_29__MicroBuiltinDataAllocator__Deallocate_28void__29, tflite___28anonymous_20namespace_29__MicroBuiltinDataAllocator___MicroBuiltinDataAllocator_28_29, tflite___28anonymous_20namespace_29__MicroBuiltinDataAllocator___MicroBuiltinDataAllocator_28_29_1, __cxa_pure_virtual, tflite__BuiltinDataAllocator___BuiltinDataAllocator_28_29, tflite__BuiltinDataAllocator___BuiltinDataAllocator_28_29_1, tflite__ops__micro__depthwise_conv__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__depthwise_conv__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__depthwise_conv__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__conv__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__conv__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__conv__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__pooling__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__pooling__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__pooling__AverageEval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__pooling__MaxEval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__activations__SoftmaxInit_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__activations__SoftmaxPrepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__activations__SoftmaxEval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__fully_connected__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__fully_connected__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__fully_connected__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__quantize__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__quantize__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__quantize__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__dequantize__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__dequantize__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__dequantize__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__reshape__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__reshape__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__MemoryPlanner___MemoryPlanner_28_29, tflite__MemoryPlanner___MemoryPlanner_28_29_1, tflite__GreedyMemoryPlanner___GreedyMemoryPlanner_28_29, tflite__GreedyMemoryPlanner___GreedyMemoryPlanner_28_29_1, tflite__GreedyMemoryPlanner__AddBuffer_28tflite__ErrorReporter__2c_20int_2c_20int_2c_20int_29, tflite__GreedyMemoryPlanner__GetMaximumMemorySize_28_29, tflite__GreedyMemoryPlanner__GetBufferCount_28_29, tflite__GreedyMemoryPlanner__GetOffsetForBuffer_28tflite__ErrorReporter__2c_20int_2c_20int__29, tflite__ParseDepthwiseConv2D_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseConv2D_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParsePool_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseFullyConnected_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseSoftmax_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseQuantize_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseDequantize_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseReshape_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__EspruinoErrorReporter___EspruinoErrorReporter_28_29, tflite__EspruinoErrorReporter___EspruinoErrorReporter_28_29_1, tflite__EspruinoErrorReporter__Report_28char_20const__2c_20void__29, tflite__ErrorReporter___ErrorReporter_28_29, tflite__ErrorReporter___ErrorReporter_28_29_1, tflite__MicroOpResolver__FindOp_28tflite__BuiltinOperator_2c_20int_29_20const, tflite__MicroOpResolver__FindOp_28char_20const__2c_20int_29_20const, tflite__OpResolver__GetDelegates_28int_29_20const, tflite__MicroMutableOpResolver_9u____MicroMutableOpResolver_28_29, tflite__MicroMutableOpResolver_9u____MicroMutableOpResolver_28_29_1, tflite__MicroMutableOpResolver_9u___FindOp_28tflite__BuiltinOperator_29_20const, tflite__MicroMutableOpResolver_9u___FindOp_28char_20const__29_20const, tflite__MicroMutableOpResolver_9u___GetOpDataParser_28tflite__BuiltinOperator_29_20const, tflite__MicroOpResolver___MicroOpResolver_28_29, tflite__MicroOpResolver___MicroOpResolver_28_29_1, tflite__OpResolver___OpResolver_28_29, tflite__OpResolver___OpResolver_28_29_1, __stdio_close, __stdio_write, __stdio_seek]); function __wasm_memory_size() { return buffer.byteLength / 65536 | 0; } diff --git a/emu/emulator_banglejs2.js b/emu/emulator_banglejs2.js index cee99ec4..20b67c33 100644 --- a/emu/emulator_banglejs2.js +++ b/emu/emulator_banglejs2.js @@ -732,86 +732,87 @@ function initActiveSegments(imports) { base64DecodeToExistingUint8Array(bufferView, 111124, "KKooYmFjayl7rXNldHRpbmdzPU9iamVjdC5hc3NpZ24oe3Nob3dDb25maXJtOrQsc2hvd0F1dG9Tbm9vemU6tCxzaG93SGlkZGVuOrR9LHJlcXVpcmUo0QdTdG9yYWdlKS5yZWFkSlNPTijRCmFsYXJtLmpzb24sMSmge30pO65zYXZlPSgponJlcXVpcmUo0QdTdG9yYWdlKS53cml0ZSjRCmFsYXJtLmpzb24sc2V0dGluZ3MpO65EQVRFX0ZPUk1BVFM9W9EHZGVmYXVsdCzRBG1tZGRdO65EQVRFX0ZPUk1BVFNfTEFCRUxTPVvRB0RlZmF1bHQs0QRNTUREXTuuYXBwTWVudT17Jyc6e3RpdGxlOtEFYWxhcm19LNEGPCBCYWNrOmJhY2ss0RBNZW51IERhdGUgRm9ybWF0Ont2YWx1ZTpEQVRFX0ZPUk1BVFMuaW5kZXhPZihzZXR0aW5ncy5tZW51RGF0ZUZvcm1hdKDRB2RlZmF1bHQpLGZvcm1hdDp2okRBVEVfRk9STUFUU19MQUJFTFNbdl0sbWluOjAsbWF4OkRBVEVfRk9STUFUUy5sZW5ndGgtMSxvbmNoYW5nZTp2onujKHY+MCl7c2V0dGluZ3MubWVudURhdGVGb3JtYXQ9REFURV9GT1JNQVRTW3ZdO32ke75zZXR0aW5ncy5tZW51RGF0ZUZvcm1hdDt9c2F2ZSgpO319LNEVU2hvdyBNZW51IEF1dG8gU25vb3plOnt2YWx1ZTohIXNldHRpbmdzLnNob3dBdXRvU25vb3plLG9uY2hhbmdlOnaie3NldHRpbmdzLnNob3dBdXRvU25vb3plPXY7c2F2ZSgpO319LNERU2hvdyBNZW51IENvbmZpcm06e3ZhbHVlOiEhc2V0dGluZ3Muc2hvd0NvbmZpcm0sb25jaGFuZ2U6dqJ7c2V0dGluZ3Muc2hvd0NvbmZpcm09djtzYXZlKCk7fX0s0RBTaG93IE1lbnUgSGlkZGVuOnt2YWx1ZTohIXNldHRpbmdzLnNob3dIaWRkZW4sb25jaGFuZ2U6dqJ7c2V0dGluZ3Muc2hvd0hpZGRlbj12O3NhdmUoKTt9fSzRD1Nob3cgTWVudSBHcm91cDp7dmFsdWU6ISFzZXR0aW5ncy5zaG93R3JvdXAsb25jaGFuZ2U6dqJ7c2V0dGluZ3Muc2hvd0dyb3VwPXY7c2F2ZSgpO319LNESU2hvdyBUZXh0IE92ZXJmbG93Ont2YWx1ZTohIXNldHRpbmdzLnNob3dPdmVyZmxvdyxvbmNoYW5nZTp2ontzZXR0aW5ncy5zaG93T3ZlcmZsb3c9djtzYXZlKCk7fX0sfTtFLnNob3dNZW51KGFwcE1lbnUpO30pO8YAAABhbGFybS5pbmZv"); base64DecodeToExistingUint8Array(bufferView, 112204, "eyJpZCI6ImFsYXJtIiwibmFtZSI6IkFsYXJtcyIsInNyYyI6ImFsYXJtLmFwcC5qcyIsImljb24iOiJhbGFybS5pbWciLCJ2ZXJzaW9uIjoiMC40OCIsInRhZ3MiOiJ0b29sLGFsYXJtIiwiZmlsZXMiOiJhbGFybS5pbmZvLGFsYXJtLmFwcC5qcyxhbGFybS5pbWcsYWxhcm0uc2V0dGluZ3MuanMiLCJkYXRhIjoiYWxhcm0uc2V0dGluZ3MuanNvbiJ9//8="); base64DecodeToExistingUint8Array(bufferView, 112425, "AQEBAQE="); - base64DecodeToExistingUint8Array(bufferView, 112448, "AQYEAAILCQQAAAwHAAgDAQMDAwMDAwMDAwMAAA8QEQUAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAANAgQCAgICAgICAgICAgICAgICAgICAgICAgICAgAKDv8Ae30AeyVzfQBmdW5jdGlvbiBlKGEsYil7dm9pZCAwPT09YiYmKGI9MSk7cmV0dXJuIGEudG9GaXhlZChNYXRoLm1pbihiLGItTWF0aC5mbG9vcihNYXRoLmxvZyhhKS9NYXRoLmxvZygxMCkpKSl9ZXhwb3J0cz17bmFtZToic3lzdGVtIixjdXJyZW5jeVN5bToiXHhhMyIsdHJhbnNsYXRlOmE9PmEsZGF0ZTooYSxiKT0+Yj8oIjAiK2EuZ2V0RGF0ZSgpKS5zdWJzdHIoLTIpKyIvIisoIjAiKyhhLmdldE1vbnRoKCkrMSkpLnN1YnN0cigtMikrIi8iK2EuZ2V0RnVsbFllYXIoKTphLnRvU3RyaW5nKCkuc3Vic3RyKDQsMTEpLnRyaW0oKSx0aW1lOihhLGIpPT57dmFyIGM9YS5nZXRIb3VycygpLGQ9YS5nZXRNaW51dGVzKCk7KHJlcXVpcmUoIlN0b3JhZ2UiKS5yZWFkSlNPTigic2V0dGluZy5qc29uIiwxKXx8e30pWyIxMmhvdXIiXSYmKGM9MD09YyUxMj8xMjpjJTEyKTtpZihiKXJldHVybigiICIrYykuc3Vic3RyKC0yKSsiOiIrKCIwIitkKS5zdWJzdHIoLTIpOwpiPSJhbSI7MD09Yz9jPTEyOjEyPD1jJiYoMTI8YyYmKGMtPTEyKSxiPSJwbSIpO3JldHVybigiICIrYykuc3Vic3RyKC0yKSsiOiIrKCIwIitkKS5zdWJzdHIoLTIpKyIuIisoIjAiK2EuZ2V0U2Vjb25kcygpKS5zdWJzdHIoLTIpKyIgIitifSxkb3c6KGEsYik9PiJTdW5kYXkgTW9uZGF5IFR1ZXNkYXkgV2VkbmVzZGF5IFRodXJzZGF5IEZyaWRheSBTYXR1cmRheSIuc3BsaXQoIiAiKVthLmdldERheSgpXS5zdWJzdHIoMCxiPzM6MTApLG1vbnRoOihhLGIpPT4iSmFudWFyeSBGZWJydWFyeSBNYXJjaCBBcHJpbCBNYXkgSnVuZSBKdWx5IEF1Z3VzdCBTZXB0ZW1iZXIgT2N0b2JlciBOb3ZlbWJlciBEZWNlbWJlciIuc3BsaXQoIiAiKVthLmdldE1vbnRoKCldLnN1YnN0cigwLGI/MzoxMCksbnVtYmVyOihhLGIpPT57bnVsbD09YiYmKGI9Mik7dmFyIGM9YS50b0ZpeGVkKGIpLGQ9Y3wwO2E9MD5hPzE6MDtiPSgiIitNYXRoLmFicyhjLWQpLnRvRml4ZWQoYikpLnN1YnN0cigyLGIpO2Q9CiIiK2Q7Yz1kLmxlbmd0aDtmb3IodmFyIGY9IiI7KGMtPTMpPmE7KWY9IiwiK2Quc3Vic3RyKGMsMykrZjtyZXR1cm4gZC5zdWJzdHIoMCxjKzMpK2YrKGI/Ii4iK2I6IiIpfSxjdXJyZW5jeTphPT57Y29uc29sZS5sb2coIldhcm5pbmc6IEN1cnJlbmN5IGluZm9ybWF0aW9uIGlzIGRlcHJlY2F0ZWQiKTtyZXR1cm4iXHhhMyIrYS50b0ZpeGVkKDIpfSxkaXN0YW5jZTooYSxiKT0+MUUzPmE/ZShhLGIpKyJtIjplKGEvMUUzLGIpKyJrbSIsc3BlZWQ6KGEsYik9PmUoYS8xLjYwOTM0LGIpKyJtcGgiLHRlbXA6KGEsYik9PmUoYSxiKSsiJ0MiLG1lcmlkaWFuOmE9PjEyPj1hLmdldEhvdXJzKCk/ImFtIjoicG0ifQB7IFtuYXRpdmUgY29kZV0gfQAKfQAvLVx8AHsAdHoARnJlcXVlbmN5IG11c3QgYmUgYWJvdmUgMC4wMDFIegAjb25wYXJpdHkALUluZmluaXR5AGhpc3RvcnkATWF4aW11bSBudW1iZXIgb2YgcG9pbnRzICglZCkgZXhjZWVkZWQgZm9yIGZpbGxQb2x5AEFTQ0lJIG9ubHkAaW5hbGx5AGR5AFRoaXJkIGFyZ3VtZW50IHNob3VsZCBiZSBhIGZ1bmN0aW9uIG9yIGFycmF5AFVpbnQ4Q2xhbXBlZEFycmF5AFVpbnQ4QXJyYXkASW50OEFycmF5AFVpbnQxNkFycmF5AEludDE2QXJyYXkARmxvYXQ2NEFycmF5AFVpbnQyNEFycmF5AFVpbnQzMkFycmF5AEludDMyQXJyYXkARmxvYXQzMkFycmF5AGRheQB0eAByeABsb3dSZXNpc3RhbmNlRml4AP9nZngAaW50ZXJsZWF2ZXgAaW5kZXgAbGFzdEluZGV4AGFjY0hpc3RvcnlJZHgAVW5maW5pc2hlZCBjaGFyYWN0ZXIgc2V0IGluIFJlZ0V4AGhyb3cAdGVuc29yZmxvdwBUb28gbXVjaCByZWN1cnNpb24gLSB0aGUgc3RhY2sgaXMgYWJvdXQgdG8gb3ZlcmZsb3cAVW5hYmxlIHRvIGFsbG9jYXRlIGVub3VnaCBSQU0gZm9yIFRlbnNvckZsb3cAc3RlcENvdW50ZXJUaHJlc2hvbGRMb3cAQXJyYXlCdWZmZXJWaWV3LnN1YmFycmF5IGNhbiBvbmx5IGJlIGNhbGxlZCBvbiBhbiBBcnJheUJ1ZmZlclZpZXcAQ2FuIG9ubHkgYmUgY2FsbGVkIG9uIGFuIEFycmF5QnVmZmVyVmlldwBEYXRhVmlldwAjb25IUk0tZW52AFx2AHNldEZvbnQldgAjb24ldgAldi4ldgBkYXRhOmltYWdlL2JtcDtiYXNlNjQsJXYAZnVuY3Rpb24gJXYAVW5rbm93biBXYXRjaCAldgAldjogJXYAVW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uOiAldgBGYWlsZWQgdG8gYWxsb2NhdGUgdGVtcCBtZW1vcnkuIFJlcXVlc3RlZDogJXUsIGF2YWlsYWJsZSAldSwgbWlzc2luZzogJXUARmFpbGVkIHRvIGFsbG9jYXRlIHRhaWwgbWVtb3J5LiBSZXF1ZXN0ZWQ6ICV1LCBhdmFpbGFibGUgJXUsIG1pc3Npbmc6ICV1AEZhaWxlZCB0byBhZGp1c3QgaGVhZCBzaXplLiBSZXF1ZXN0ZWQ6ICV1LCBhdmFpbGFibGUgJXUsIG1pc3Npbmc6ICV1AG5leHQAYWZfb3V0cHV0AGlucHV0AFVuZXhwZWN0ZWQgZW5kIG9mIElucHV0AHRpbWVvdXQAdHdpc3RUaW1lb3V0AGJhY2tsaWdodFRpbWVvdXQAbGNkUG93ZXJUaW1lb3V0AGxvY2tUaW1lb3V0AGJ0bkxvYWRUaW1lb3V0AC5ib290cnN0AG9uc3QAI29udHdpc3QAd2FrZU9uVHdpc3QAZHN0AGxhc3QAcG9ydABleGNlcHQAY291bnQAdHJhc2hDb3VudABnZXN0dXJlSW5hY3RpdmVDb3VudABhY2NHZXN0dXJlQ291bnQAZmlsZUNvdW50AGFjY0lkbGVDb3VudABpbWFnZUNvdW50AGZyb250AHNldEZvbnQAYWZmaW5lX3F1YW50aXphdGlvbi0+emVyb19wb2ludABvdXRwdXQtPnBhcmFtcy56ZXJvX3BvaW50AHRyYW5zcGFyZW50AEV4cGVjdGVkIGVpdGhlciBhbiBvYmplY3Qgb3IgYW4gYXJyYXkgd2l0aCA2IGVudHJpZXMgZm9yIHNlY29uZCBhcmd1bWVudABtb3ZlbWVudABBc3NpZ25tZW50IHRvIGEgY29uc3RhbnQATm90IGVub3VnaCBtZW1vcnkgZm9yIHJlc3VsdABlZmF1bHQAI29uaW5pdABvbkluaXQAZHJhaW5XYWl0AHJpZ2h0ACNvbm1pZG5pZ2h0ACNvbmJhY2tsaWdodABMQ0RfYmFja2xpZ2h0AGhlaWdodABtYXhJbWFnZUhlaWdodABzb2Z0AGZvcmNlU29mdABsZWZ0AHByb3BlcnRpZXNPYmplY3QgaXMgbm90IHN1cHBvcnRlZCB5ZXQAU29mdHdhcmUgU2VyaWFsIENLIG5vdCBpbXBsZW1lbnRlZCB5ZXQAb2Zmc2V0AGJ5dGVPZmZzZXQAZ2V0AG9iamVjdABPYmplY3QAZmlsbFJlY3QAaUZpbGxSZWN0AGZsb2F0AEZsYXQAcmVwZWF0AP9jYXQAXHQARmlyc3QgYXJndW1lbnQgbXVzdCBiZSBBcnJheSwgbm90ICV0AEV4cGVjdGluZyBvcHRpb25zIHRvIGJlIHVuZGVmaW5lZCBvciBhbiBPYmplY3QsIG5vdCAldABGT1IgbG9vcCBjYW4gb25seSBpdGVyYXRlIG92ZXIgQXJyYXlzLCBTdHJpbmdzIG9yIE9iamVjdHMsIG5vdCAldABmb3IoYSAlcyBiKSAtICdhJyBtdXN0IGJlIGEgdmFyaWFibGUgbmFtZSwgbm90ICV0AEZpcnN0IGFyZ3VtZW50IG11c3QgaXRlcmFibGUsIG5vdCAldABFeHBlY3RpbmcgQ2FsbGJhY2sgRnVuY3Rpb24gb3IgYW4gT2JqZWN0IGJ1dCBnb3QgJXQARXhwZWN0aW5nIE51bWJlciBvciBBcnJheSwgZ290ICV0AEZpcnN0IGFyZ3VtZW50IG11c3QgYmUgT2JqZWN0LCBGdW5jdGlvbiBvciBBcnJheSwgZ290ICV0AEV4cGVjdGluZyBTdHJpbmcgb3IgQXJyYXksIGdvdCAldABFeHBlY3RpbmcgU3RyaW5nIGFzIGZpcnN0IGFyZ3VtZW50LCBnb3QgJXQAUHJvdG90eXBlIHNob3VsZCBiZSBhbiBvYmplY3QsIGdvdCAldABFeHBlY3RpbmcgT2JqZWN0LCBnb3QgJXQARmlyc3QgYXJndW1lbnQgbXVzdCBiZSBPYmplY3QsIGdvdCAldABTZWNvbmQgYXJndW1lbnQgbXVzdCBiZSBPYmplY3QsIGdvdCAldABQcm9wZXJ0eSBkZXNjcmlwdGlvbiBtdXN0IGJlIE9iamVjdCwgZ290ICV0AEFkZHJlc3Mgc2hvdWxkIGJlIGFuIGludGVnZXIsIGdvdCAldABFeHBlY3RpbmcgQXJyYXlCdWZmZXIsIGdvdCAldABGdW5jdGlvbi5iaW5kIGV4cGVjdHMgdG8gYmUgY2FsbGVkIG9uIGZ1bmN0aW9uLCBnb3QgJXQARXhwZWN0aW5nIGZ1bmN0aW9uLCBnb3QgJXQARXhwZWN0aW5nIGNvbXBhcmUgZnVuY3Rpb24sIGdvdCAldAAnZXh0ZW5kcycgYXJndW1lbnQgJXEgc2hvdWxkIGJlIGEgZnVuY3Rpb24sIGdvdCAldABFeHBlY3RpbmcgbW9kdWxlIG5hbWUgYXMgYSBzdHJpbmcsIGdvdCAldABFeHBlY3RpbmcgU3RyaW5nLCBnb3QgJXQARXhwZWN0aW5nIE51bWJlciBvciBpdGVyYWJsZSwgZ290ICV0AEV4cGVjdGluZyBzb21ldGhpbmcgaXRlcmFibGUsIGdvdCAldABTZWNvbmQgYXJndW1lbnQgdG8gRnVuY3Rpb24uYXBwbHkgbXVzdCBiZSBpdGVyYWJsZSwgZ290ICV0AEV4cGVjdGluZyBPYmplY3Qgb3IgdW5kZWZpbmVkLCBnb3QgJXQARXhwZWN0aW5nIGZ1bmN0aW9uIG9uIFJIUywgZ290ICV0AENvbnN0cnVjdG9yIHNob3VsZCBiZSBhIGZ1bmN0aW9uLCBidXQgaXMgJXQARmllbGQgb3IgbWV0aG9kICVxIGRvZXMgbm90IGFscmVhZHkgZXhpc3QsIGFuZCBjYW4ndCBjcmVhdGUgaXQgb24gJXQAVW5zdXBwb3J0ZWQgZmlyc3QgYXJndW1lbnQgb2YgdHlwZSAldABVbmFibGUgdG8gYXNzaWduIHZhbHVlIHRvIG5vbi1yZWZlcmVuY2UgJXQAQ2FuJ3QgZXh0ZW5kICV0AEV4cGVjdGluZyBmaXJzdCAyIGFyZ3VtZW50cyB0byBiZSBpdGVyYWJsZSwgbm90ICV0IGFuZCAldABFeHBlY3RpbmcgZmlyc3QgMiBhcmd1bWVudHMgdG8gYmUgaXRlcmFibGUgb3IgdW5kZWZpbmVkLCBub3QgJXQgYW5kICV0AENhbid0IHVzZSAnaW4nIG9wZXJhdG9yIHRvIHNlYXJjaCBhICV0AE9iamVjdCBwcm90b3R5cGUgbWF5IG9ubHkgYmUgYW4gT2JqZWN0IG9yIG51bGw6ICV0ACwgcmVwZWF0ICUwOGQgdXMAZXhwb3J0cwBFLnN0b3BFdmVudFByb3BhZ2F0aW9uKCkgY2FsbGVkIHdoZW4gbm90IGhhbmRsaW5nIGV2ZW50cwBJbnN1ZmZpY2llbnQgc3RhY2sgZm9yIHRoaXMgbWFueSBhcmd1bWVudHMAVW5leHBlY3RlZCBhcmd1bWVudHMAbnVtX291dHB1dF9lbGVtZW50cwBudW1faW5wdXRfZWxlbWVudHMAUGFsZXR0ZSBzcGVjaWZpZWQsIGJ1dCBtdXN0IGJlIGEgZmxhdCBVaW50MTZBcnJheSBvZiAyLDQsOCwxNiwyNTYgZWxlbWVudHMAc3RvcGJpdHMASW52YWxpZCBudW1iZXIgb2YgYml0cwBjdHMAYWRkcmVzcwBwcm9jZXNzAGNvbXBhc3MAQ2FsbGluZyAnc3VwZXInIG91dHNpZGUgb2YgY2xhc3MAZXJyb3JzAGNvbG9yX29yZGVyIG11c3QgYmUgMyBjaGFyYWN0ZXJzAHRpbWVycwBGaXJzdCAyIGFyZ3VtZW50cyBzaG91bGQgYmUgYXJyYXkgYnVmZmVycwB2ZXJ0aWNhbF9ieXRlIG9ubHkgd29ya3MgZm9yIDFicHAgQXJyYXlCdWZmZXJzAHVucmVuZGVyYWJsZUNoYXJzAHN0ZXBzAF9vcHRpb25zAEludmFsaWQgb3B0aW9ucwBmdW5jdGlvbnMAQ29weXJpZ2h0IDIwMjEgRy5XaWxsaWFtcwBudW1fY2hhbm5lbHMAanMAdGhpcwD/dGhzAGFyZ3MAZmxhZ3MAdG90YWxCeXRlcwB0cmFzaEJ5dGVzAGZpbGVCeXRlcwBmcmVlQnl0ZXMA/3JlcwBwaXBlcwBmcmFtZXMAbW9kdWxlcwBFeHBlY3RpbmcgQXJyYXkgZm9yIGZpcnN0IGFyZ3VtZW50IHdpdGggPCVkIGVudHJpZXMAd2F0Y2hlcwBDYW4ndCBoYXZlIHBhbGV0dGUgb24gPjggYml0IGltYWdlcwBzZXRDb25zb2xlIGNhbid0IGJlIHVzZWQgb24gJ3NvZnQnIG9yIG5vbi1TZXJpYWwgZGV2aWNlcwBzZXRDb25zb2xlIGNhbid0IGJlIHVzZWQgb24gJ3NvZnQnIGRldmljZXMAbm9ib3VuZHMARGF0ZSBvdXQgb2YgYm91bmRzAHh0ZW5kcwBHcmFwaGljcwBBRENzACV2JXMAJXElcwAlUSVzAElEOiVzAEV4cGVjdGluZyB2YWxpZCB2YWx1ZSwgZ290ICVzAERpZCBub3QgZmluZCBhIHBhcnNlciBmb3IgJXMAQm9vbCAlcwBDYW4ndCByZWFkIHByb3BlcnR5ICclcycgb2YgJXMARmFpbGVkIHRvIHJlZ2lzdGVyIHNjcmF0Y2ggYnVmZmVyIGhhbmRsZSBmb3Igbm9kZSAlcwBHb3QgJXMgZXhwZWN0ZWQgJXMASTJDIEVycm9yOiAlcwByZWN1cgBwYXJhbXMgIT0gbnVsbHB0cgBwbGFubmVyX2FyZW5hICE9IG51bGxwdHIAaW50cgBsY2RCdWZmZXJQdHIAeG9yAFZhcmlhYmxlcyBvZiB0eXBlICV0IGFyZSBub3Qgc3VwcG9ydGVkIGluIGRhdGUgY29uc3RydWN0b3IARnVuY3Rpb24gcmVxdWlyZWQgaW4gcHJvbWlzZSBjb25zdHJ1Y3RvcgBWZWN0b3IALm9mZiBub3QgaW1wbGVtZW50ZWQgb24gZW11bGF0b3IAVW5hYmxlIHRvIGdldCB0ZW5zb3IAU3ludGF4RXJyb3IASW50ZXJuYWxFcnJvcgBUeXBlRXJyb3IAUmVmZXJlbmNlRXJyb3IAZGlyAGJncgAjb25sY2RQb3dlcgBjZW50ZXIAZmlsdGVyAFRGTWljcm9JbnRlcnByZXRlcgB1cGVyAFVuYWJsZSB0byBzY2hlZHVsZSBhIHRpbWVyAFRpbWVvdXQgb24gVXRpbGl0eSBUaW1lcgBJbnRlcnJ1cHRlZCBpbiBVdGlsaXR5IFRpbWVyAGVidWdnZXIARm9udCB3aWR0aCBtdXN0IGJlIGEgU3RyaW5nIG9yIGFuIGludGVnZXIASW50ZWdlcgAjb25idWZmZXIALmJ1ZmZlcgBNb2RlbCBpcyBub3QgYSBGbGF0IFN0cmluZy9BcnJheUJ1ZmZlcgBJbnZhbGlkIGxlbmd0aCBmb3IgQXJyYXlCdWZmZXIAdW5rbm93biBBcnJheUJ1ZmZlcgBjdXJyZW50QnVmZmVyAGRvdWJsZUJ1ZmZlcgBjb2xvcl9vcmRlcgBTdHJpbmcgdG9vIGJpZyB0byBjb252ZXJ0IHRvIG51bWJlcgBQdWxzZSBUaW1lIGlzIGxlc3MgdGhhbiAwIG9yIG5vdCBhIG51bWJlcgBOdW1iZXIAYWRkcgBnYnIASnNWYXIAXHIAaXJxAGZyZXEAJXElcyVxAEludmFsaWQgT25lV2lyZSBkZXZpY2UgYWRkcmVzcyAlcQBVbmtub3duIG9wdGlvbiAlcQBVbmtub3duIG9wIHR5cGUgJXEAVW5rbm93biBkZXZpY2UgdHlwZSAlcQBVbmtub3duIHJhbmdlIG5hbWUgJXEAVW5hYmxlIHRvIGxvYWQgbW9kdWxlICVxACVzU3RyaW5nIFslZCBibG9ja3NdICVxAEludmFsaWQgZmxvdyBjb250cm9sOiAlcQBSZWdFeHAAaW5wdXRfcHVsbHVwAG9wZW5kcmFpbl9wdWxsdXAAYnBwAHN0b3AAQ09OVElOVUUgc3RhdGVtZW50IG91dHNpZGUgb2YgRk9SIG9yIFdISUxFIGxvb3AAQlJFQUsgc3RhdGVtZW50IG91dHNpZGUgb2YgU1dJVENILCBGT1Igb3IgV0hJTEUgbG9vcABmbGlwACNvbnN0ZXAAYmVlcAAjb250YXAAc2V0Rm9udEJpdG1hcAB3YWtlT25Eb3VibGVUYXAAI29uZmFjZVVwAHdha2VPbkZhY2VVcABhdXRvAGNyeXB0bwBtaXNvAGJhcm8A/3NjbwBMaW1ibwD/bgBpbnB1dF9wdWxsZG93bgD/cnRuAGV0dXJuAHhvbgBidXR0b24Ac2V0dGluZy5qc29uAGxvbgAjb251bmNhdWdodEV4Y2VwdGlvbgBpcnE9dHJ1ZSBzZXQsIGJ1dCBmdW5jdGlvbiBpcyBub3QgYSBuYXRpdmUgZnVuY3Rpb24ARWRpdCBzaG91bGQgYmUgY2FsbGVkIHdpdGggdGhlIG5hbWUgb2YgYSBmdW5jdGlvbgBDYW4gb25seSB1c2UgJ2FyZ3VtZW50cycgdmFyaWFibGUgaW5zaWRlIGEgZnVuY3Rpb24ARmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uAEFyZ3VtZW50IHNob3VsZCBiZSBhIGZ1bmN0aW9uAEZ1bmN0aW9uAGFmZmluZV9xdWFudGl6YXRpb24Aa1RmTGl0ZUFmZmluZVF1YW50aXphdGlvbgBWYXJpYWJsZSB0eXBlICV0IG5vdCBzdWl0ZWQgdG8gdHJhbnNtaXQgb3BlcmF0aW9uAGRlc3RpbmF0aW9uACNvbgBJbnZhbGlkIHBpbgAxMG1pbgBhZl9vcGVuZHJhaW4AUGluAP90aG4Ac2V0Rm9udEFsaWduAGV2ZW4AdGhlbgBib29sZWFuAFxuAC5ib290UG93ZXJPbgBudW0AVG9vIG1hbnkgcGlucyEgJWQgTWF4aW11bQBXYXZlZm9ybQBGdW5jdGlvbiBtYXJrZWQgd2l0aCAiY29tcGlsZWQiIHVwbG9hZGVkIGluIHNvdXJjZSBmb3JtAGJvdHRvbQBzZXRGb250Q3VzdG9tAHByb20Ac3RyZXRjaF9kaW0AcmFtAP9uYW0AcmVzbABib29sAGNsa1BvbABudWxsACNvbmtpbGwAc2V0UGl4ZWwAQ2FuJ3QgdXNlIGZsb29kRmlsbCBvbiBHcmFwaGljcyB3aXRoIG5vIGdldFBpeGVsAGlTZXRQaXhlbABjaGFubmVsAC50Zm1vZGVsAE1pY3JvQWxsb2NhdG9yOiBNb2RlbCBhbGxvY2F0aW9uIGZpbmlzaGVkIGJlZm9yZSBzdGFydGluZyBhbGxvY2F0aW5nIG1vZGVsAE1pY3JvQWxsb2NhdG9yOiBNb2RlbCBhbGxvY2F0aW9uIHN0YXJ0ZWQgYmVmb3JlIGZpbmlzaGluZyBwcmV2aW91c2x5IGFsbG9jYXRlZCBtb2RlbAAjb25hY2NlbABzY2wA/3ZhbABJbnZhbGlkIGludGVydmFsAHBvbGxJbnRlcnZhbABVbmtub3duIEludGVydmFsAHRvdGFsAFRlcm1pbmFsAHN3c2VyaWFsAFNlcmlhbABkYXJrAGNodW5rAGhlYXRzaHJpbmsAY2xrAHNjawAjb25sb2NrAHN0YWNrAGNhbGxiYWNrAHJlYWsAa1RmTGl0ZU9rAElmIHNwZWNpZnlpbmcgYW4gb2JqZWN0LCBpdCBtdXN0IGJlIG9mIHRoZSBmb3JtIHtkYXRhIDogLi4uLCBjb3VudCA6IE59IG9yIHtjYWxsYmFjayA6IGZufSAtIGdvdCAlagBVbmtub3duIGZvbnQgJWoAVW5rbm93biBpbWFnZSB0eXBlICVqAEludmFsaWQgbW9kZSAlagBleHRpAG1vc2kAbWkAYm90aAAjb25oZWFsdGgASW52YWxpZCBhcnJheSBsZW5ndGgAZ2VzdHVyZU1pbkxlbmd0aABieXRlTGVuZ3RoAHdpZHRoACNvbmZpbmlzaABnZXN0dXJlU3RhcnRUaHJlc2gAZ2VzdHVyZUVuZFRocmVzaABsY2REb3VibGVSZWZyZXNoAC5zcGxhc2gARmxhc2gAc3RlcENvdW50ZXJUaHJlc2hvbGRIaWdoACNvbnRvdWNoAExDRF90b3VjaAB3YWtlT25Ub3VjaAB3aXRjaABVbmFibGUgdG8gc2V0IHdhdGNoLiBZb3UgbWF5IGFscmVhZHkgaGF2ZSBhIHdhdGNoIG9uIGEgcGluIHdpdGggdGhlIHNhbWUgbnVtYmVyIChlZy4gQTAgYW5kIEIwKSwKb3IgdGhpcyBwaW4gY2Fubm90IGJlIHVzZWQgd2l0aCB3YXRjaABicmcAYW5hbG9nAEFycmF5QnVmZmVyIHRvbyBsb25nAHJpc2luZwBWYXJpYWJsZSB0eXBlIGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gc3RyaW5nAHRvU3RyaW5nAEZpcnN0IGFyZ3VtZW50IG11c3QgYmUgT2JqZWN0IG9yIFN0cmluZwBFeHBlY3RpbmcgU3RyaW5nAEZpcnN0IGFyZ3VtZW50IG11c3QgYmUgU3RyaW5nAFNlY29uZCBhcmd1bWVudCBtdXN0IGJlIGEgZnVuY3Rpb24gb3IgYSBTdHJpbmcARm9udCBiaXRtYXAgbXVzdCBiZSBhIFN0cmluZwBXYXZlZm9ybSBpcyBhbHJlYWR5IHJ1bm5pbmcAV2F2ZWZvcm0gaXMgbm90IHJ1bm5pbmcAI29uZnJhbWluZwBmYWxsaW5nACNvbmNoYXJnaW5nAC5sb2FkaW5nAGZnAHJiZwB6aWd6YWcAI29uZHJhZwAjb25tYWcAI29uZXJyb3JGbGFnAP9idWYAc2YAeXBlb2YAbnN0YW5jZW9mAElsbGVnYWwgcmVzb2x2aW5nIHRvIHNlbGYAb2ZmAGRpZmYAYWYAXGYASW52YWxpZCB0eXBlICV0IGZvciB2YWx1ZU9mAERvdWJsZSAlZgAsIGRlYm91bmNlIDogJWYAUmVxdWFudGl6ZQBibG9ja3NpemUAYnl0ZXNpemUAYWZmaW5lX3F1YW50aXphdGlvbi0+emVyb19wb2ludC0+c2l6ZQBub2RlLT5vdXRwdXRzLT5zaXplAGFmZmluZV9xdWFudGl6YXRpb24tPnNjYWxlLT5zaXplAFRvbyBtdWNoIGRhdGEgZm9yIGZpbGUgc2l6ZQBjaHVua1NpemUASW52YWxpZCBTaXplAEludmFsaWQgQXJlbmEgU2l6ZQByZW1vdmUATmF0aXZlAHdhdmUAcG93ZXJTYXZlAENhbid0IGhhdmUgYSBkYXRhIHBpbiBhbmQgaXJxOnRydWUALCB0cnVlAG9udGludWUASW52YWxpZCBjb3VudCB2YWx1ZQBVc2VkIG9uIGVtcHR5IGFycmF5IHdpdGggbm8gaW5pdGlhbCB2YWx1ZQBVbmtub3duIHR5cGUgb2YgY2FsbGJhY2sgaW4gRXZlbnQgUXVldWUAaGVpZ2h0IG11c3QgYmUgYSBtdWx0aXBsZSBvZiA4IHdoZW4gdXNpbmcgdmVydGljYWxfYnl0ZQBwYWxldHRlAENhbid0IGdldCBwb2ludGVyIHRvIGRhdGEgdG8gd3JpdGUAI29uY29tcGxldGUAZWxldGUAc3RhdGUAcm90YXRlAEludmFsaWQgSTJDIGJpdHJhdGUAX2JhdWRyYXRlAHZpYnJhdGUASW52YWxpZCBTUEkgYmF1ZCByYXRlAERhdGUAY29tcG9zZQBjbG9zZQBmYWxzZQBQcm9taXNlAGFzZQAjb25nZXN0dXJlACNvbmFpR2VzdHVyZQBJbnZhbGlkIFNpZ25hdHVyZQBtb3JlAE9uZVdpcmUALnByb3RvdHlwZQBPcGVyYXRpb24gJXMgbm90IHN1cHBvcnRlZCBvbiB0aGUgJXMgZGF0YXR5cGUAb3V0cHV0LT50eXBlAGlucHV0LT50eXBlAGZpbHRlci0+dHlwZQBvdXRwdXQtPnF1YW50aXphdGlvbi50eXBlAGlucHV0LT5xdWFudGl6YXRpb24udHlwZQBmaWx0ZXItPnF1YW50aXphdGlvbi50eXBlAFVua25vd24gdHlwZQAjb25zd2lwZQBQaXBlAHJlc2hhcGUAbm9uZQBnY3RpbWUAbGFzdFRpbWUAdGhlbWUAZnJhbWUAbmFtZQBtb2R1bGUAaGlsZQBDYW4ndCBjcmVhdGUgemVybyBsZW5ndGggZmlsZQBVbmFibGUgdG8gZmluZCBvciBjcmVhdGUgZmlsZQBTdG9yYWdlRmlsZQBCYW5nbGUAZG91YmxlAERvdWJsZQB3cml0YWJsZQBjb25maWd1cmFibGUATXVzdCBiZSBjYWxsZWQgb24gc29tZXRoaW5nIGl0ZXJhYmxlAGVudW1lcmFibGUAYWZmaW5lX3F1YW50aXphdGlvbi0+c2NhbGUARmxhc2gsU3RvcmFnZSxoZWF0c2hyaW5rLGNyeXB0byx0ZW5zb3JmbG93LGxvY2FsZQBGaXJzdCBjaGFyYWN0ZXIgb3V0IG9mIHJhbmdlAGVkZ2UAdXNhZ2UAbWVzc2FnZQBTdG9yYWdlAGltYWdlAEV4cGVjdGluZyB2YWxpZCBJbWFnZQBmcmVlAENhbid0IHdyaXRlIGluIHRoaXMgbW9kZQBDYW4ndCByZWFkIGluIHRoaXMgbW9kZQBVbmtub3duIHBpbiBtb2RlAC5ib290Y2RlAHNvdXJjZQBmb3JjZQBkZWJvdW5jZQBJbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZQBzZXRMQ0RNb2RlIGlzIHVuc3VwcG9ydGVkIG9uIHRoaXMgZGV2aWNlAHNUcmFjZQBwd2QAYmF1ZABwYXNzd29yZABEZXN0aW5hdGlvbiBTdHJlYW0gZG9lcyBub3QgaW1wbGVtZW50IHRoZSByZXF1aXJlZCB3cml0ZShidWZmZXIpIG1ldGhvZABTb3VyY2UgU3RyZWFtIGRvZXMgbm90IGltcGxlbWVudCB0aGUgcmVxdWlyZWQgcmVhZChsZW5ndGgpIG1ldGhvZABEZXN0aW5hdGlvbiBvYmplY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSByZXF1aXJlZCB3cml0ZShidWZmZXIsIGxlbmd0aCkgbWV0aG9kAFNvdXJjZSBvYmplY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSByZXF1aXJlZCByZWFkKGJ1ZmZlciwgbGVuZ3RoKSBtZXRob2QA/2NvZABNb2R1bGUgJXEgbm90IGZvdW5kAGVuZAB0d2lzdFRocmVzaG9sZABVbmljb2RlIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBidWlsZABQQkYgRm9udHMgbm90IGVuYWJsZWQgb24gdGhpcyBidWlsZABvaWQATmVzdGluZyAnbmV3JyBvcGVyYXRvcnMgaXMgdW5zdXBwb3J0ZWQAQ0FTRSBhZnRlciBERUZBVUxUIHVuc3VwcG9ydGVkAElucHV0IHR5cGUgJXMgaXMgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQAVGFnZ2VkIHRlbXBsYXRlIGxpdGVyYWxzIG5vdCBzdXBwb3J0ZWQAQmFja3JlZmVyZW5jZXMgbm90IHN1cHBvcnRlZABUYWdnZWQgVGVtcGxhdGVzIGFyZSBub3Qgc3VwcG9ydGVkAEludmFsaWQgQlBQIC0gMSwyLDQgc3VwcG9ydGVkAHN0YXJ0ZWQAVEZNaWNyb0ludGVycHJldGVyIHN0cnVjdHVyZSBjb3JydXB0ZWQARW11bGF0ZWQAaXJxPXRydWUgc2V0LCBidXQgd2F0Y2ggaXMgYWxyZWFkeSB1c2VkAEZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIGNvbnRleHQtPmV2YWxfdGVuc29ycywgJWQgYnl0ZXMgcmVxdWlyZWQARmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgYWxsb2NhdGlvbl9pbmZvLCAlZCBieXRlcyByZXF1aXJlZABXYXZlZm9ybSBjb3VsZG4ndCBiZSBzdG9wcGVkAFNlY29uZCBhcmd1bWVudCBtdXN0IGJlIE9iamVjdCBvciB1bmRlZmluZWQARmlyc3QgYXJndW1lbnQgbXVzdCBiZSBTdHJpbmcgb3IgdW5kZWZpbmVkACdvcHRpb25zJyBtdXN0IGJlIGFuIG9iamVjdCwgb3IgdW5kZWZpbmVkACVxIGlzIG5vdCBkZWZpbmVkAERhdGEgaXMgbm90IGRlZmluZWQAY29tcGlsZWQATWljcm9JbnRlcnByZXRlciBjcmVhdGlvbiBmYWlsZWQAVEZNaWNyb0ludGVycHJldGVyIGludm9rZSBmYWlsZWQASW52b2tlIGZhaWxlZABzZXRNb2RpZmllZABoaXNwZWVkAG9kZABhZGQAbGNkACdFLmFzbScgY2FsbHMgc2hvdWxkIGhhdmUgYmVlbiByZXBsYWNlZCBieSB0aGUgRXNwcnVpbm8gdG9vbHMgYmVmb3JlIHVwbG9hZAAnRS5jb21waWxlZEMnIGNhbGxzIHNob3VsZCBoYXZlIGJlZW4gcmVwbGFjZWQgYnkgdGhlIEVzcHJ1aW5vIHRvb2xzIGJlZm9yZSB1cGxvYWQAY2xlYXIlcyh1bmRlZmluZWQpIG5vdCBhbGxvd2VkLiBVc2UgY2xlYXIlcygpIGluc3RlYWQAY2xlYXJXYXRjaCh1bmRlZmluZWQpIG5vdCBhbGxvd2VkLiBVc2UgY2xlYXJXYXRjaCgpIGluc3RlYWQAcmVhZABsY2RPdnJJZAAlZC0lMDJkLSUwMmRUJTAyZDolMDJkOiUwMmQuJTAzZCVjJTA0ZAAlcyAlcyAlZCAlZCAlMDJkOiUwMmQ6JTAyZCBHTVQlYyUwNGQAJXM6JWR4JWQAJXM6JWQAVW5zdXBwb3J0ZWQgVGVuc29yIGZvcm1hdCBUZkxpdGVUeXBlOiVkACVzLnNldHVwKCVkAEludmFsaWQgcGFyaXR5ICVkAEFycmF5IHBhc3NlZCB0byBGdW5jdGlvbi5hcHBseSBpcyB0b28gYmlnISBNYXhpbXVtIDI1NiBhcmd1bWVudHMsIGdvdCAlZABOb2RlICVzIChudW1iZXIgJWRmKSBmYWlsZWQgdG8gcHJlcGFyZSB3aXRoIHN0YXR1cyAlZABOb2RlICVzIChudW1iZXIgJWQpIGZhaWxlZCB0byBpbnZva2Ugd2l0aCBzdGF0dXMgJWQARmFpbGVkIHRvIGluaXRpYWxpemUgdGVuc29yICVkAEludGVnZXIgJWQARXJyb3IgUGFyc2luZyBzaWduYXR1cmUgYXQgYXJndW1lbnQgbnVtYmVyICVkAGJ1ZmZlciBpbmRleCAlZCBpcyBvdXRzaWRlIHJhbmdlIDAgdG8gJWQAVW5rbm93biAlZABQaW4gJWQARmFpbGVkIHRvIGFsbG9jYXRlIHZhcmlhYmxlIHRlbnNvciBvZiBzaXplICVkAEludmFsaWQgYmF1ZCByYXRlICVkAFVua25vd24gYXJnc3BlYyAlZABMb2dpYyBlcnJvciBpbiBtZW1vcnkgcGxhbm5lciwgdGVuc29yICVkIGhhcyBhbiBpbnZhbGlkIGxpZmV0aW1lOiBmaXJzdF9jcmVhdGVkOiAlZCwgbGFzdF91c2VkOiAlZABQYXJlbnQgbXVzdCBiZSBhbiBvYmplY3QgLSBub3QgYSBTdHJpbmcsIEludGVnZXIsIGV0YwBmdW5jAHRhdGljAGdjAAglYwBtc2IAbHNiAGdyYgBhdG9iAHJnYgBjYgAxMjozNDo1Njo3ODo5MDphYgBcYgBsY2RPdnJDYgAjb25kYXRhAEZpbGUgYWxyZWFkeSB3cml0dGVuIHdpdGggZGlmZmVyZW50IGRhdGEATm90IGVub3VnaCBzdGFjayBtZW1vcnkgZm9yIGRhdGEAaXJxRGF0YQBhcmVhAHNkYQBfX3Byb3RvX18AX19GSUxFX18AW29iamVjdCBPYmplY3RdACV2WyVxXQBmaWx0ZXItPmRpbXMtPmRhdGFbYWZmaW5lX3F1YW50aXphdGlvbi0+cXVhbnRpemVkX2RpbWVuc2lvbl0AYWZmaW5lX3F1YW50aXphdGlvbi0+c2NhbGUtPnNpemUgPT0gMSB8fCBhZmZpbmVfcXVhbnRpemF0aW9uLT5zY2FsZS0+c2l6ZSA9PSBmaWx0ZXItPmRpbXMtPmRhdGFba0NvbnZRdWFudGl6ZWREaW1lbnNpb25dAGFmZmluZV9xdWFudGl6YXRpb24tPnNjYWxlLT5zaXplID09IDEgfHwgYWZmaW5lX3F1YW50aXphdGlvbi0+c2NhbGUtPnNpemUgPT0gZmlsdGVyLT5kaW1zLT5kYXRhW2tEZXB0aHdpc2VDb252UXVhbnRpemVkRGltZW5zaW9uXQA/WyVkXQBbRklMRU5BTUVfVEFCTEVdAFtFUkFTRURdACBdAFxcAG5ldyAlcyhbACVkLSUwMmQtJTAyZFQlMDJkOiUwMmQ6JTAyZC4lMDNkWgB0d2lzdE1heFkATUVNT1JZX0JVU1kATE9XX01FTU9SWQBSRURVQ0VfQU5ZAERFTlNJRlkALmJvb3RYAFRYAFVuYWJsZSB0byBhbGxvY2F0ZSBkYXRhIGZvciBTZXJpYWwgUlgAVW5hYmxlIHRvIHdhdGNoIHBpbiAlcCwgbm8gU29mdHdhcmUgU2VyaWFsIFJYAFVORklOSVNIRUQgUkVHRVgAQVJHX01BWABSRURVQ0VfTUFYAExPR19TT0ZUTUFYAP9mblcAUE9XAFVBUlRfT1ZFUkZMT1cAU1BMSVRfVgBUUkFOU1BPU0VfQ09OVgBGTE9PUl9ESVYATEVBS1lfUkVMVQBQUkVMVQBDQVNUAFJTUVJUAFVTQVJUAFJPT1QATE9HSUNBTF9OT1QAT05FX0hPVABJTlQAVU5GSU5JU0hFRCBDT01NRU5UAEZBS0VfUVVBTlQAJXMsICVkICVzICVkICUwMmQ6JTAyZDolMDJkIEdNVABHSVRfQ09NTUlUAFNQTElUAEluc3VmZmljaWVudCBzdGFjayBmb3IgY29tcHV0aW5nIEZGVABTRUxFQ1QARkxPQVQAV0lER0VUUwBMRVNTAEdQUwBDT1MARVhQQU5EX0RJTVMAQ09OQ0FUX0VNQkVERElOR1MATU9EVUxFUwBBQlMARVhQVFIATE9HSUNBTF9PUgBGTE9PUgBSRVNJWkVfTkVBUkVTVF9ORUlHSEJPUgBHUkVBVEVSAEdBVEhFUgBSRVNJWkVfQklMSU5FQVIAJVEARVhQAEVNQkVERElOR19MT09LVVAASEFTSFRBQkxFX0xPT0tVUABJbnZhbGlkIEJQUABNSVNPAE5hTgBBRERfTgB0b0pTT04ATFNIX1BST0pFQ1RJT04ATE9DQUxfUkVTUE9OU0VfTk9STUFMSVpBVElPTgBMMl9OT1JNQUxJWkFUSU9OAENPTkNBVEVOQVRJT04ASFdWRVJTSU9OAFVOSURJUkVDVElPTkFMX1NFUVVFTkNFX1JOTgBCSURJUkVDVElPTkFMX1NFUVVFTkNFX1JOTgBTSU4AQVJHX01JTgBSRURVQ0VfTUlOAE1FQU4AU0VHTUVOVF9TVU0ATUFYSU1VTQBNSU5JTVVNAFVOSURJUkVDVElPTkFMX1NFUVVFTkNFX0xTVE0AQklESVJFQ1RJT05BTF9TRVFVRU5DRV9MU1RNAEhSTQBDVVNUT00AVElNAFNLSVBfR1JBTQBCQVRDSF9NQVRNVUwAQk9PTABCVUZGRVJfRlVMTABGSUZPX0ZVTEwARklMTABDQUxMAENFSUwAU0NMAE5PVF9FUVVBTABMRVNTX0VRVUFMAEdSRUFURVJfRVFVQUwAVU5GSU5JU0hFRCBURU1QTEFURSBMSVRFUkFMAFNFUklBTABSQU5LAFNDSwBVTlBBQ0sAQ0FMTEJBQ0sAG1tKAE1PU0kASW52YWxpZCBVUkkAU1BJLnNlbmQ4Yml0IG9ubHkgd29ya3Mgb24gaGFyZHdhcmUgU1BJAFNQSS5zZW5kNGJpdCBvbmx5IHdvcmtzIG9uIGhhcmR3YXJlIFNQSQD/Zm5IAGZnSABiZ0gAU1BBQ0VfVE9fREVQVEgASEFSRF9TV0lTSABTUElGTEFTSABUQU5IAExPRwBVTkZJTklTSEVEIFNUUklORwBORUcATUFUUklYX0RJQUcATUFUUklYX1NFVF9ESUFHAEVPRgBJRgBTVkRGAHNldEZvbnRQQkYAREVRVUFOVElaRQBTUVVFRVpFAFVOSVFVRQBERUxFR0FURQBFTUJFRERJTkdfTE9PS1VQX1NQQVJTRQBUUkFOU1BPU0UAU1BBUlNFX1RPX0RFTlNFAFdIRVJFAFNRVUFSRQBOT1RZUEUAUkVTSEFQRQBDT05TT0xFAFRJTEUAV0hJTEUAWkVST1NfTElLRQBSQU5HRQBTVE9SQUdFAFJFVkVSU0VfU0VRVUVOQ0UAU1FVQVJFRF9ESUZGRVJFTkNFAFNUUklERURfU0xJQ0UAREVQVEhfVE9fU1BBQ0UAG1tEAEJPQVJEAFJFRFVDRV9QUk9EAEZMT09SX01PRABTQ0FUVEVSX05EAEdBVEhFUl9ORABTUEFDRV9UT19CQVRDSF9ORABCQVRDSF9UT19TUEFDRV9ORABST1VORABMT0dJQ0FMX0FORABJRABGVUxMWV9DT05ORUNURUQAQUREAE1JUlJPUl9QQUQAREVQVEhXSVNFX0NPTlZfMkQATUFYX1BPT0xfMkQAQVZFUkFHRV9QT09MXzJEAEwyX1BPT0xfMkQAG1tDAExPR0lTVElDAERBQwBJMkMA/2ZuQgBMb29wYmFja0IAG1tCAFNVQgBVU0IATG9vcGJhY2tBABtbQQBTREEAT3AgYnVpbHRpbl9jb2RlIG91dCBvZiByYW5nZTogJWQuIEFyZSB5b3UgdXNpbmcgb2xkIFRGTGl0ZSBiaW5hcnkgd2l0aCBuZXdlciBtb2RlbD8AVW5hYmxlIHRvIGdldCBwb2ludGVyIHRvIHBhbGV0dGUuIEltYWdlIGluIGZsYXNoPwAKICBJbnZhbGlkIHBhc3N3b3JkCnBhc3N3b3JkPgA9AGVjaG8oMCk7AEJhbmdsZS5zZXRMQ0RPdmVybGF5KEdyYXBoaWNzLmNyZWF0ZUFycmF5QnVmZmVyKDE2MCw0NCwxLHttc2I6dHJ1ZX0pLmRyYXdSZWN0KDAsMCwxNTksNDMpLmRyYXdSZWN0KDEsMSwxNTgsNDIpLnNldEZvbnQoJzEyeDIwJykuc2V0Rm9udEFsaWduKDAsMCkuZHJhd1N0cmluZygnUGxlYXNlIFdhaXQnLDgwLDE0KS5zZXRDb2xvcignIzg4OCcpLnNldEZvbnQoJzZ4OCcpLmRyYXdTdHJpbmcoJ1NUT1JBR0UgQ09NUEFDVElPTlxuSU4gUFJPR1JFU1MuLi4nLDgwLDMyKSw4LDY2KTtnLmZsaXAoKTsAQmFuZ2xlLnNldExDRE92ZXJsYXkoKTtnLmZsaXAoKTsATmV3Q2hpbGQgUEFSRU5UOgAKOgA2eDgAaW5wdXQtPnR5cGUgPT0ga1RmTGl0ZUZsb2F0MzIgfHwgaW5wdXQtPnR5cGUgPT0ga1RmTGl0ZUludDE2IHx8IGlucHV0LT50eXBlID09IGtUZkxpdGVJbnQ4AGtUZkxpdGVVSW50OABVSU5UOAAtMzI3NjgAQ09NUExFWDEyOAAtMTI4ADR4NgBSRUxVNgBvdXRwdXQtPnBhcmFtcy5zY2FsZSA9PSAxLmYgLyAyNTYAb3V0cHV0LT50eXBlID09IGtUZkxpdGVVSW50OCB8fCBvdXRwdXQtPnR5cGUgPT0ga1RmTGl0ZUludDggfHwgb3V0cHV0LT50eXBlID09IGtUZkxpdGVJbnQxNgBpbnB1dC0+dHlwZSA9PSBrVGZMaXRlVUludDggfHwgaW5wdXQtPnR5cGUgPT0ga1RmTGl0ZUludDggfHwgaW5wdXQtPnR5cGUgPT0ga1RmTGl0ZUludDE2AElOVDE2AEZMT0FUMTYATk9OX01BWF9TVVBQUkVTU0lPTl9WNQBOT05fTUFYX1NVUFBSRVNTSU9OX1Y0ADUxM2FiYTc4NABDT01QTEVYNjQASU5UNjQARkxPQVQ2NABIU0J0b1JHQidzIGZvcm1hdCBhcmcgZXhwZWN0cyB1bmRlZmluZWQvMS8xNi8yNAB3YWtlT25CVE4zADJ2MjMAeTIAeDIAYnVmZmVyMgBmZzIAYmcyAHRvdWNoWTIAdG91Y2hYMgBTRUxFQ1RfVjIAVE9QS19WMgBSRVZFUlNFX1YyAFBBRFYyAHdha2VPbkJUTjIARU1TQ1JJUFRFTjIAQ0gyAG91dHB1dC0+dHlwZSA9PSBrVGZMaXRlRmxvYXQzMiB8fCBvdXRwdXQtPnR5cGUgPT0ga1RmTGl0ZUludDMyAGtUZkxpdGVGbG9hdDMyAElOVDMyAEZMT0FUMzIAc2NhbGVfZGlmZiAvIG91dHB1dF9zY2FsZSA8PSAwLjAyAGhhc19iaWFzIHx8IG5vZGUtPmlucHV0cy0+c2l6ZSA9PSAyAE51bUlucHV0cyhub2RlKSA9PSAxIHx8IE51bUlucHV0cyhub2RlKSA9PSAyAHkxAHgxAP9mbjEAU2VyaWFsMQBSRUxVX04xX1RPXzEAdG91Y2hZMQB0b3VjaFgxAHdha2VPbkJUTjEAU1BJMQBDSDEATEVEMQBJMkMxAC0xAE51bURpbWVuc2lvbnMoaW5wdXQpID49IDEAYWZmaW5lX3F1YW50aXphdGlvbi0+c2NhbGUtPnNpemUgPT0gMQBTYW1wbGVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDAAY2h1bmtTaXplIG11c3QgYmUgYW4gaW50ZWdlciA+IDAAaW5wdXRfcHJvZHVjdF9zY2FsZSA+PSAwAEVycm9yIHByb2Nlc3NpbmcgU2VyaWFsIGRhdGEgaGFuZGxlciAtIHJlbW92aW5nIGl0LgBDdHJsLUMgd2hpbGUgcHJvY2Vzc2luZyBpbnRlcnZhbCAtIHJlbW92aW5nIGl0LgBDdHJsLUMgd2hpbGUgcHJvY2Vzc2luZyB3YXRjaCAtIHJlbW92aW5nIGl0LgBVbmhhbmRsZWQgZnVsbHktY29ubmVjdGVkIHdlaWdodHMgZm9ybWF0LgBGYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBub2RlX2FuZF9yZWdpc3RyYXRpb25zLgBJbnRlcm5hbCBlcnJvcjogQWxsb2NhdGVGcm9tVGFpbCBjYW4gbm90IGJlIGNhbGxlZCBiZXR3ZWVuIHR3byBSZXF1ZXN0U2NyYXRjaEJ1ZmZlckluQXJlbmEgY2FsbHMuAEh5YnJpZCBtb2RlbHMgYXJlIG5vdCBzdXBwb3J0ZWQgb24gVEZMaXRlIE1pY3JvLgBJbnZhbGlkIHBhcmFtZXRlciBCdWlsdGluT3BlcmF0b3JfQ1VTVE9NIHRvIHRoZSBBZGRCdWlsdGluIGZ1bmN0aW9uLgBSRVRVUk4gc3RhdGVtZW50LCBidXQgbm90IGluIGEgZnVuY3Rpb24uACVzIHdhcyBub3QgdHJ1ZS4AQnVmZmVyICVkIG5vdCBmb3VuZC4gJWQgYnVmZmVycyBhdmFpbGFibGUuAEFyZW5hIHNpemUgaXMgdG9vIHNtYWxsIGZvciBhY3RpdmF0aW9uIGJ1ZmZlcnMuIE5lZWRlZCAlZCBidXQgb25seSAlZCB3YXMgYXZhaWxhYmxlLgBFcmFzaW5nIHNhdmVkIGNvZGUuAFR5cGUgJXMgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQuAElucHV0ICVzLCBvdXRwdXQgJXMgbm90IHN1cHBvcnRlZC4AVHlwZSAlcyAoJWQpIG5vdCBzdXBwb3J0ZWQuACVkIGJ5dGVzIGxvc3QgZHVlIHRvIGFsaWdubWVudC4gVG8gYXZvaWQgdGhpcyBsb3NzLCBwbGVhc2UgbWFrZSBzdXJlIHRoZSB0ZW5zb3JfYXJlbmEgaXMgMTYgYnl0ZXMgYWxpZ25lZC4ATW9kZWwgcHJvdmlkZWQgaXMgc2NoZW1hIHZlcnNpb24gJWQgbm90IGVxdWFsIHRvIHN1cHBvcnRlZCB2ZXJzaW9uICVkLgBMb2FkaW5nLi4uAENvdWxkbid0IHJlZ2lzdGVyIGJ1aWx0aW4gb3AgIyVkLCByZXNvbHZlciBzaXplIGlzIHRvbyBzbWFsbCAoJWQpLgBDYWxsaW5nIEFkZEJ1aWx0aW4gd2l0aCB0aGUgc2FtZSBvcCBtb3JlIHRoYW4gb25jZSBpcyBub3Qgc3VwcG9ydGVkIChPcDogIyVkKS4ASW50ZXJuYWwgZXJyb3I6IEVuc3VyZUhlYWRTaXplKCkgbmVlZHMgdG8gYmUgY2FsbGVkIGFmdGVyUmVzZXRUZW1wQWxsb2NhdGlvbnMoKS4ALQBBcnJheSwAT2JqZWN0LAAlcSwATnVtYmVyICVqLABTdHJpbmcgJWosACVwPSVkLAAlZCwlZCwlZCwAZGF0YTppbWFnZS9ibXA7YmFzZTY0LAAoZnVuY3Rpb24ocyl7dmFyIHA9MDtyZXR1cm57cmVhZDpmdW5jdGlvbihsKXtyZXR1cm4gcy5zdWJzdHJpbmcocCxwKz1sKXx8dW5kZWZpbmVkO319fSkAKGZ1bmN0aW9uKCl7cmV0dXJue192OiExLHJlYWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdn0sc2V0OmZ1bmN0aW9uKCl7dGhpcy53cml0ZSgxKX0scmVzZXQ6ZnVuY3Rpb24oKXt0aGlzLndyaXRlKDApfSx3cml0ZTpmdW5jdGlvbihhKXtnLnNldENvbG9yKCh0aGlzLl92PSEhYSk/IiNmMDAiOmcudGhlbWUuYmcpLmZpbGxDaXJjbGUoKGcuZ2V0V2lkdGgoKS0yMCkvMiw1LDUpO0JhbmdsZS5zZXRMQ0RQb3dlcigxKX0sdG9nZ2xlOmZ1bmN0aW9uKCl7dGhpcy53cml0ZSghdGhpcy5fdil9fX0pAChmdW5jdGlvbigpe3JldHVybntfdjohMSxyZWFkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Z9LHNldDpmdW5jdGlvbigpe3RoaXMud3JpdGUoMSl9LHJlc2V0OmZ1bmN0aW9uKCl7dGhpcy53cml0ZSgwKX0sd3JpdGU6ZnVuY3Rpb24oYSl7Zy5zZXRDb2xvcigodGhpcy5fdj0hIWEpPyIjMGYwIjpnLnRoZW1lLmJnKS5maWxsQ2lyY2xlKChnLmdldFdpZHRoKCkrMjApLzIsNSw1KTtCYW5nbGUuc2V0TENEUG93ZXIoMSl9LHRvZ2dsZTpmdW5jdGlvbigpe3RoaXMud3JpdGUoIXRoaXMuX3YpfX19KQAoZnVuY3Rpb24oKXtpZihnbG9iYWwuV0lER0VUUyl7dmFyIGQ9Zy5nZXRXaWR0aCgpLGU9Zy5nZXRIZWlnaHQoKSxjPXt0bDp7eDowLHk6MCxyOjAsYzowfSx0cjp7eDpkLTEseTowLHI6MSxjOjB9LGJsOnt4OjAseTplLTI0LHI6MCxjOjB9LGJyOnt4OmQtMSx5OmUtMjQscjoxLGM6MH19LGIsYTtmb3IoYSBvZiBXSURHRVRTKShiPWNbYS5hcmVhXSkmJjAhPWEud2lkdGgmJihhLng9Yi54LWIuciphLndpZHRoLGEueT1iLnksYi54Kz1hLndpZHRoKigxLTIqYi5yKSxiLmMrKyk7Zy5yZXNldCgpOyhjLnRsLmN8fGMudHIuYykmJmcuY2xlYXJSZWN0KDAsMCxkLTEsMjMpOyhjLmJsLmN8fGMuYnIuYykmJmcuY2xlYXJSZWN0KDAsZS0yNCxkLTEsZS0xKTt0cnl7Zm9yKGEgb2YgV0lER0VUUylhLmRyYXcoYSl9Y2F0Y2goZil7cHJpbnQoZil9fX0pAChmdW5jdGlvbihjLGQpe2Z1bmN0aW9uIGsoKXt0cnl7QmFuZ2xlLmJ1enooMzApfWNhdGNoKGEpe319dmFyIGI9e307aWYoIm9iamVjdCI9PXR5cGVvZiBjJiYoYj1jLGM9Yi5tb2RlLCFjKSl0aHJvdyBFcnJvcigiTWlzc2luZyBtb2RlIGluIHNldFVJKHsuLi59KSIpO3ZhciBtPSEwO2dsb2JhbC5XSURHRVRTJiZXSURHRVRTLmJhY2smJihtPSExLFdJREdFVFMuYmFjay5yZW1vdmUoYyYmYi5iYWNrKSk7QmFuZ2xlLmJ0bldhdGNoZXMmJihCYW5nbGUuYnRuV2F0Y2hlcy5mb3JFYWNoKGNsZWFyV2F0Y2gpLGRlbGV0ZSBCYW5nbGUuYnRuV2F0Y2hlcyk7QmFuZ2xlLnN3aXBlSGFuZGxlciYmKEJhbmdsZS5yZW1vdmVMaXN0ZW5lcigic3dpcGUiLEJhbmdsZS5zd2lwZUhhbmRsZXIpLGRlbGV0ZSBCYW5nbGUuc3dpcGVIYW5kbGVyKTtCYW5nbGUuZHJhZ0hhbmRsZXImJihCYW5nbGUucmVtb3ZlTGlzdGVuZXIoImRyYWciLEJhbmdsZS5kcmFnSGFuZGxlciksCmRlbGV0ZSBCYW5nbGUuZHJhZ0hhbmRsZXIpO0JhbmdsZS50b3VjaEhhbmRsZXImJihCYW5nbGUucmVtb3ZlTGlzdGVuZXIoInRvdWNoIixCYW5nbGUudG91Y2hIYW5kbGVyKSxkZWxldGUgQmFuZ2xlLnRvdWNoSGFuZGxlcik7ZGVsZXRlIEJhbmdsZS51aVJlZHJhdztkZWxldGUgQmFuZ2xlLkNMT0NLO2lmKEJhbmdsZS51aVJlbW92ZSl7bGV0IGE9QmFuZ2xlLnVpUmVtb3ZlO2RlbGV0ZSBCYW5nbGUudWlSZW1vdmU7YSgpfWcucmVzZXQoKTtpZihjKXtpZigidXBkb3duIj09Yyl7dmFyIGY9MDtCYW5nbGUuZHJhZ0hhbmRsZXI9YT0+e2YrPWEuZHk7Zm9yKGEuYnx8KGY9MCk7MzI8TWF0aC5hYnMoZik7KTA8Zj8oZi09MzIsZCgxKSk6KGYrPTMyLGQoLTEpKSxCYW5nbGUuYnV6eigyMCl9O0JhbmdsZS5vbigiZHJhZyIsQmFuZ2xlLmRyYWdIYW5kbGVyKTtCYW5nbGUudG91Y2hIYW5kbGVyPWE9PntrKCk7ZCgpfTtCYW5nbGUuYnRuV2F0Y2hlcz1bc2V0V2F0Y2goZnVuY3Rpb24oKXtrKCk7CmQoKX0sQlROMSx7cmVwZWF0OjEsZWRnZToiZmFsbGluZyJ9KV19ZWxzZSBpZigibGVmdHJpZ2h0Ij09Yyl7dmFyIGg9MDtCYW5nbGUuZHJhZ0hhbmRsZXI9YT0+e2grPWEuZHg7Zm9yKGEuYnx8KGg9MCk7MzI8TWF0aC5hYnMoaCk7KTA8aD8oaC09MzIsZCgxKSk6KGgrPTMyLGQoLTEpKSxCYW5nbGUuYnV6eigyMCl9O0JhbmdsZS5vbigiZHJhZyIsQmFuZ2xlLmRyYWdIYW5kbGVyKTtCYW5nbGUudG91Y2hIYW5kbGVyPWE9PntrKCk7ZCgpfTtCYW5nbGUuYnRuV2F0Y2hlcz1bc2V0V2F0Y2goZnVuY3Rpb24oKXtrKCk7ZCgpfSxCVE4xLHtyZXBlYXQ6MSxlZGdlOiJmYWxsaW5nIn0pXX1lbHNlIGlmKCJjbG9jayI9PWMpQmFuZ2xlLkNMT0NLPTEsQmFuZ2xlLmJ0bldhdGNoZXM9W3NldFdhdGNoKEJhbmdsZS5zaG93TGF1bmNoZXIsQlROMSx7cmVwZWF0OjEsZWRnZToiZmFsbGluZyJ9KV07ZWxzZSBpZigiY2xvY2t1cGRvd24iPT1jKUJhbmdsZS5DTE9DSz0xLEJhbmdsZS50b3VjaEhhbmRsZXI9CihhLGUpPT57MTIwPmUueHx8KGsoKSxkKDg4PGUueT8xOi0xKSl9LEJhbmdsZS5idG5XYXRjaGVzPVtzZXRXYXRjaChCYW5nbGUuc2hvd0xhdW5jaGVyLEJUTjEse3JlcGVhdDoxLGVkZ2U6ImZhbGxpbmcifSldO2Vsc2UgaWYoImN1c3RvbSI9PWMpYi5jbG9jayYmKEJhbmdsZS5DTE9DSz0xKSxiLnRvdWNoJiYoQmFuZ2xlLnRvdWNoSGFuZGxlcj1iLnRvdWNoKSxiLmRyYWcmJihCYW5nbGUuZHJhZ0hhbmRsZXI9Yi5kcmFnLEJhbmdsZS5vbigiZHJhZyIsQmFuZ2xlLmRyYWdIYW5kbGVyKSksYi5zd2lwZSYmKEJhbmdsZS5zd2lwZUhhbmRsZXI9Yi5zd2lwZSxCYW5nbGUub24oInN3aXBlIixCYW5nbGUuc3dpcGVIYW5kbGVyKSksYi5idG4/QmFuZ2xlLmJ0bldhdGNoZXM9W3NldFdhdGNoKGZ1bmN0aW9uKCl7Yi5idG4oMSl9LEJUTjEse3JlcGVhdDoxLGVkZ2U6ImZhbGxpbmcifSldOmIuY2xvY2smJihCYW5nbGUuYnRuV2F0Y2hlcz1bc2V0V2F0Y2goQmFuZ2xlLnNob3dMYXVuY2hlciwKQlROMSx7cmVwZWF0OjEsZWRnZToiZmFsbGluZyJ9KV0pO2Vsc2UgdGhyb3cgRXJyb3IoIlVua25vd24gVUkgbW9kZSAiK0UudG9KUyhjKSk7Yi5yZW1vdmUmJihCYW5nbGUudWlSZW1vdmU9Yi5yZW1vdmUpO2IucmVkcmF3JiYoQmFuZ2xlLnVpUmVkcmF3PWIucmVkcmF3KTtpZihiLmJhY2spe3ZhciBuPShhLGUpPT57MzY+ZS55JiY0OD5lLngmJihlLmhhbmRsZWQ9ITAsRS5zdG9wRXZlbnRQcm9wYWdhdGlvbigpLGIuYmFjaygpKX07QmFuZ2xlLm9uKCJ0b3VjaCIsbik7aWYoQmFuZ2xlLnRvdWNoSGFuZGxlcil7dmFyIHA9QmFuZ2xlLnRvdWNoSGFuZGxlcjtCYW5nbGUudG91Y2hIYW5kbGVyPShhLGUpPT57ZS5oYW5kbGVkfHxwKGEsZSl9O0JhbmdsZS5vbigidG91Y2giLEJhbmdsZS50b3VjaEhhbmRsZXIpfXZhciBsO3ZvaWQgMD09PUJhbmdsZS5idG5XYXRjaGVzJiYobD1zZXRXYXRjaChmdW5jdGlvbigpe2w9dm9pZCAwO2IuYmFjaygpfSxCVE4xLHtlZGdlOiJmYWxsaW5nIn0pKTsKV0lER0VUUz1PYmplY3QuYXNzaWduKHtiYWNrOnthcmVhOiJ0bCIsd2lkdGg6MjQsZHJhdzphPT5nLnJlc2V0KCkuc2V0Q29sb3IoIiNmMDAiKS5kcmF3SW1hZ2UoYXRvYigiR0JpQkFBQVlBQUgvZ0FmLzRBLy84Qi8vK0QvLy9ELy8vSC9QL24rSC9uOFAvbjRmL3Z3QVAvd0FQMzRmL244UC9uK0gvbi9QL2ovLy9ELy8vQi8vK0EvLzhBZi80QUgvZ0FBWUFBPT0iKSxhLngsYS55KSxyZW1vdmU6YT0+e2wmJmNsZWFyV2F0Y2gobCk7QmFuZ2xlLnJlbW92ZUxpc3RlbmVyKCJ0b3VjaCIsbik7YXx8Zy5yZXNldCgpLmNsZWFyUmVjdCh7eDpXSURHRVRTLmJhY2sueCx5OldJREdFVFMuYmFjay55LHc6MjQsaDoyNH0pO2RlbGV0ZSBXSURHRVRTLmJhY2s7YXx8QmFuZ2xlLmRyYXdXaWRnZXRzKCl9fX0sZ2xvYmFsLldJREdFVFMpO20mJkJhbmdsZS5kcmF3V2lkZ2V0cygpfWVsc2UgaWYoQmFuZ2xlLnRvdWNoSGFuZGxlcilCYW5nbGUub24oInRvdWNoIixCYW5nbGUudG91Y2hIYW5kbGVyKX19KQAoZnVuY3Rpb24oKXtpZighZ2xvYmFsLldJREdFVFMpe2dsb2JhbC5XSURHRVRTPXt9O3JlcXVpcmUoIlN0b3JhZ2UiKS5saXN0KC9cLndpZFwuanMkLykuZm9yRWFjaChhPT57dHJ5e2V2YWwocmVxdWlyZSgiU3RvcmFnZSIpLnJlYWQoYSkpfWNhdGNoKGMpe3ByaW50KGEsYyl9fSk7dmFyIGI9V0lER0VUUztXSURHRVRTPXt9O09iamVjdC5rZXlzKGIpLnNvcnQoKGEsYyk9PigwfGJbY10uc29ydG9yZGVyKS0oMHxiW2FdLnNvcnRvcmRlcikpLmZvckVhY2goYT0+V0lER0VUU1thXT1iW2FdKX19KQAoZnVuY3Rpb24ocSl7ZnVuY3Rpb24geShhLGIpe3ZhciBsPWEuc3RlcHx8MTtpZighYS5ub0xpc3QmJnZvaWQgMCE9PWEubWluJiZ2b2lkIDAhPT1hLm1heCYmMjA+KGEubWF4LWEubWluKS9sKUUuc2hvd1Njcm9sbGVyKHtoOjQwLGM6KGEubWF4K2wtYS5taW4pL2wsYmFjazp0LHJlbW92ZTpuLnJlbW92ZSxzY3JvbGxNaW46LTI0LHNjcm9sbDotMjQsZHJhdzooaCxkKT0+e2lmKDA+aClyZXR1cm4gZy5zZXRGb250KCIxMngyMCIpLnNldEZvbnRBbGlnbigtMSwwKS5kcmF3U3RyaW5nKCJceDAwXGZcZlx4ODFceDAwXHhmZlx4ZmZceGZmXHgwMFx4MDBceDAwXHgwMFx4MGZceGZmXHhmZlx4ZjBceDAwXHgwMFx4MDBceDAwXHhmZlx4ZmZceGZmICIrYixkLngrMTIsZC55KzQwLTEyKTtnLnNldENvbG9yKGcudGhlbWUuYmcyKS5maWxsUmVjdCh7eDpkLngrNCx5OmQueSsyLHc6ZC53LTgsaDpkLmgtNCxyOjV9KTsKaD1oKmwrYS5taW47Zy5zZXRDb2xvcihnLnRoZW1lLmZnMikuc2V0Rm9udCgiMTJ4MjAiKS5zZXRGb250QWxpZ24oLTEsMCkuZHJhd1N0cmluZyhhLmZvcm1hdD9hLmZvcm1hdChoLDEpOmgsZC54KzEyLGQueSsyMCk7Zy5kcmF3SW1hZ2UoYXRvYihoPT1hLnZhbHVlPyJGQlNCQUFINEFIL2dIZ2VEZ0J3dzhNWS94bWYrYkgvanovODgvL1BQL3p6Lzg4ZitObi9tWS94akR3dzRBY0hnZUFmK0FCK0EiOiJGQlNCQUFINEFIL2dIZ2VEZ0J3d0FNWUFCbUFBYkFBRHdBQThBQVBBQUR3QUE4QUFOZ0FHWUFCakFBdzRBY0hnZUFmK0FCK0EiKSxkLngrZC53LTMyLGQueSsyMC0xMCl9LHNlbGVjdDpmdW5jdGlvbihoKXtpZighKDA+aCkpe0JhbmdsZS5idXp6KDIwKTthLnZhbHVlPWEubWluK2gqbDtpZihhLm9uY2hhbmdlKWEub25jaGFuZ2UoYS52YWx1ZSk7dS5zY3JvbGw9cC5zY3JvbGxlci5zY3JvbGw7dCgpfX19KTtlbHNle3ZhciBjPUJhbmdsZS5hcHBSZWN0LGU9YS52YWx1ZTtnLnJlc2V0KCkuY2xlYXJSZWN0KGMpOwpnLnNldEZvbnQoIjEyeDIwIikuc2V0Rm9udEFsaWduKDAsMCkuZHJhd1N0cmluZygiXHgwMFxmXGZceDgxXHgwMFx4ZmZceGZmXHhmZlx4MDBceDAwXHgwMFx4MDBceDBmXHhmZlx4ZmZceGYwXHgwMFx4MDBceDAwXHgwMFx4ZmZceGZmXHhmZiAiK2IsYy54K2Mudy8yLGMueSsxMik7ZnVuY3Rpb24gaCgpe3ZhciBmPWMueCtjLncvMixtPTEyK2MueStjLmgvMix3PWEuZm9ybWF0P2EuZm9ybWF0KGUsMik6ZTtnLnJlc2V0KCkuc2V0Q29sb3IoZy50aGVtZS5iZzIpLmZpbGxSZWN0KHt4OmMueCsyNCx5OmMueSszNix3OmMudy00OCxoOmMuaC00OCxyOjV9KTtnLnNldENvbG9yKGcudGhlbWUuZmcyKS5zZXRGb250VmVjdG9yKE1hdGgubWluKDMwLDEwMCooYy53LTUyKS9nLnNldEZvbnRWZWN0b3IoMTAwKS5zdHJpbmdXaWR0aCh3KSkpLnNldEZvbnRBbGlnbigwLDApLmRyYXdTdHJpbmcodyxmLG0pO2cuZmlsbFBvbHkoW2YsbS00NSxmKzE1LG0tMzAsCmYtMTUsbS0zMF0pLmZpbGxQb2x5KFtmLG0rNDUsZisxNSxtKzMwLGYtMTUsbSszMF0pfWZ1bmN0aW9uIGQoZil7aWYoZillLT0oZnx8MSkqKGEuc3RlcHx8MSksdm9pZCAwIT09YS5taW4mJmU8YS5taW4mJihlPWEud3JhcD9hLm1heDphLm1pbiksdm9pZCAwIT09YS5tYXgmJmU+YS5tYXgmJihlPWEud3JhcD9hLm1pbjphLm1heCksaCgpO2Vsc2V7YS52YWx1ZT1lO2lmKGEub25jaGFuZ2UpYS5vbmNoYW5nZShhLnZhbHVlKTt1LnNjcm9sbD1wLnNjcm9sbGVyLnNjcm9sbDt0KCl9fWgoKTt2YXIgaz0wO0JhbmdsZS5zZXRVSSh7bW9kZToiY3VzdG9tIixiYWNrOnQscmVtb3ZlOm4ucmVtb3ZlLHJlZHJhdzpoLGRyYWc6Zj0+e2srPWYuZHk7Zm9yKGYuYnx8KGs9MCk7MzI8TWF0aC5hYnMoayk7KTA8az8oay09MzIsZCgxKSk6KGsrPTMyLGQoLTEpKSxCYW5nbGUuYnV6eigyMCl9LHRvdWNoOihmLG0pPT57QmFuZ2xlLmJ1enooMjApOzgyPm0ueT9kKC0xKToxNDI8bS55P2QoMSk6ZCgpfX0pfX0KZnVuY3Rpb24gdCgpe3Auc2Nyb2xsZXI9RS5zaG93U2Nyb2xsZXIodSl9aWYodm9pZCAwPT09cSlyZXR1cm4gZy5jbGVhclJlY3QoQmFuZ2xlLmFwcFJlY3QpLEJhbmdsZS5zZXRVSSgpO3ZhciBuPXFbIiJdfHx7fTtuLnRpdGxlfHwobi50aXRsZT0iTWVudSIpO3ZhciB2PW4uYmFja3x8cVsiPCBCYWNrIl0scj1PYmplY3Qua2V5cyhxKS5maWx0ZXIoYT0+IiIhPT1hJiYiPCBCYWNrIiE9YSk7ci5mb3JFYWNoKGE9PnthPXFbYV07Im9iamVjdCIhPXR5cGVvZiBhfHwiYm9vbGVhbiIhPXR5cGVvZiBhLnZhbHVlfHxhLmZvcm1hdHx8KGEuZm9ybWF0PWI9PiJceDAwIithdG9iKGI/IkVoS0JBSC8vdi8vLy8vLy8vLy8vLy81Ly94Ly9qLy9IK2VQK01mL0EvL2gvL3ovLy8vLy8vLy8vMy8vZyI6IkVoS0JBSC8vdi8vOEFBOEFBOEFBOEFBOEFBOEFBOEFBOEFBOEFBOEFBOEFBOEFBOEFBOEFBLy8vMy8vZyIpKX0pO3ZhciBwPXtkcmF3OigpPT5wLnNjcm9sbGVyLmRyYXcoKSxzY3JvbGxlcjp2b2lkIDB9OwpsZXQgeDt2YXIgdT17aDo0MCxjOnIubGVuZ3RoLHNjcm9sbE1pbjotMjQsc2Nyb2xsOm51bGwhPSh4PW4uc2Nyb2xsKT94Oi0yNCxiYWNrOnYscmVtb3ZlOm4ucmVtb3ZlLGRyYXc6KGEsYik9PntpZigwPmEpcmV0dXJuIGcuc2V0Q29sb3IoZy50aGVtZS5mZykuc2V0Rm9udCgiMTJ4MjAiKS5zZXRGb250QWxpZ24oLTEsMCkuZHJhd1N0cmluZygiXHgwMFxmXGZceDgxXHgwMFx4ZmZceGZmXHhmZlx4MDBceDAwXHgwMFx4MDBceDBmXHhmZlx4ZmZceGYwXHgwMFx4MDBceDAwXHgwMFx4ZmZceGZmXHhmZiAiK24udGl0bGUsYi54KzEyLGIueSs0MC0xMik7Zy5zZXRDb2xvcihnLnRoZW1lLmJnMikuZmlsbFJlY3Qoe3g6Yi54KzQseTpiLnkrMix3OmIudy04LGg6Yi5oLTQscjo1fSk7Zy5zZXRDb2xvcihnLnRoZW1lLmZnMikuc2V0Rm9udCgiMTJ4MjAiKTt2YXIgbD0yNCxjPXFbclthXV07aWYoIm9iamVjdCI9PXR5cGVvZiBjKXt2YXIgZT1jLnZhbHVlOwpjLmZvcm1hdCYmKGU9Yy5mb3JtYXQoZSkpO2cuc3RyaW5nTWV0cmljcyhlKS53aWR0aD5iLncvMiYmKGU9Zy53cmFwU3RyaW5nKGUsYi53LzIpLmpvaW4oIlxuIikpO2cuc2V0Rm9udEFsaWduKDEsMCkuZHJhd1N0cmluZyhlLGIueCtiLnctOCxiLnkrMjApO2wrPWcuc3RyaW5nV2lkdGgoZSl9ZWxzZSJmdW5jdGlvbiI9PXR5cGVvZiBjJiYoZy5kcmF3SW1hZ2UoYXRvYigiQ1JLQkFHQTRIZzhEd1BCNEhnY0RnOFBCNGVIZzhIQXdBQT09IiksYi54K2Iudy0yMSxiLnkrMjAtOSksbCs9MTYpO3ZhciBrO2E9bnVsbCE9KGs9YyYmYy50aXRsZSk/azpyW2FdO2s9Zy53cmFwU3RyaW5nKGEsYi53LWwpOzE8ay5sZW5ndGgmJihrPWcuc2V0Rm9udCgiNngxNSIpLndyYXBTdHJpbmcoYSxiLnctbCkpO2cuc2V0Rm9udEFsaWduKC0xLDApLmRyYXdTdHJpbmcoay5qb2luKCJcbiIpLGIueCsxMixiLnkrMjApfSxzZWxlY3Q6ZnVuY3Rpb24oYSl7aWYoMD5hKXJldHVybiB2JiZ2KCk7dmFyIGI9cVtyW2FdXTsKQmFuZ2xlLmJ1enooMjApO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBiKWIocCk7ZWxzZSBpZigib2JqZWN0Ij09dHlwZW9mIGIpaWYoIm51bWJlciI9PXR5cGVvZiBiLnZhbHVlKXkoYixyW2FdKTtlbHNleyJib29sZWFuIj09dHlwZW9mIGIudmFsdWUmJihiLnZhbHVlPSFiLnZhbHVlKTtpZihiLm9uY2hhbmdlKWIub25jaGFuZ2UoYi52YWx1ZSk7cC5zY3JvbGxlci5pc0FjdGl2ZSgpJiZwLnNjcm9sbGVyLmRyYXdJdGVtKGEpfX19O3QoKTtyZXR1cm4gcH0pAChmdW5jdGlvbihkKXtmdW5jdGlvbiBtKGIpe3JldHVybiBiKmQuaCthLnktZn1mdW5jdGlvbiBrKGIpe3JldHVybiBNYXRoLmZsb29yKChiK2YtYS55KS9kLmgpfWlmKCFkKXJldHVybiBCYW5nbGUuc2V0VUkoKTt2YXIgbj0oKT0+e2cucmVzZXQoKS5jbGVhclJlY3QoYSkuc2V0Q2xpcFJlY3QoYS54LGEueSxhLngyLGEueTIpO2Zvcih2YXIgYj1rKGEueSksYz1NYXRoLm1pbihrKGEueTIpLGQuYy0xKTtiPD1jO2IrKylkLmRyYXcoYix7eDphLngseTptKGIpLHc6YS53LGg6ZC5ofSk7Zy5zZXRDbGlwUmVjdCgwLDAsZy5nZXRXaWR0aCgpLTEsZy5nZXRIZWlnaHQoKS0xKX07QmFuZ2xlLnNldFVJKHttb2RlOiJjdXN0b20iLGJhY2s6ZC5iYWNrLHJlbW92ZTpkLnJlbW92ZSxyZWRyYXc6bixkcmFnOmI9Pnt2YXIgYz1iLmR5O2Uuc2Nyb2xsLWM+bCYmKGM9ZS5zY3JvbGwtbCk7ZS5zY3JvbGwtYzxoJiYoYz1lLnNjcm9sbC1oKTtlLnNjcm9sbC09CmM7Yz1mO2Y9ZS5zY3JvbGwmLTI7aWYoYy09Zil7Zy5yZXNldCgpLnNldENsaXBSZWN0KGEueCxhLnksYS54MixhLnkyKS5zY3JvbGwoMCxjKTtiPWIuZHk7aWYoMD5iKWZvcihiPU1hdGgubWF4KGEueTItKDEtYiksYS55KSxnLnNldENsaXBSZWN0KGEueCxiLGEueDIsYS55MiksYz1rKGIpLGI9bShjKTtiPGEueTI7KWQuZHJhdyhjLHt4OmEueCx5OmIsdzphLncsaDpkLmh9KSxjKyssYis9ZC5oO2Vsc2UgZm9yKGI9TWF0aC5taW4oYS55K2IsYS55MiksZy5zZXRDbGlwUmVjdChhLngsYS55LGEueDIsYiksYz1rKGIpLGI9bShjKTtiPmEueS1kLmg7KWQuZHJhdyhjLHt4OmEueCx5OmIsdzphLncsaDpkLmh9KSxiLT1kLmgsYy0tO2cuc2V0Q2xpcFJlY3QoMCwwLGcuZ2V0V2lkdGgoKS0xLGcuZ2V0SGVpZ2h0KCktMSl9fSx0b3VjaDooYixjKT0+e2MueTxhLnktNHx8KGI9ayhjLnkpLCgwPmh8fDA8PWIpJiZiPGQuYyYmZC5zZWxlY3QoYix7eDpjLngseTpjLnkrZi1hLnktYipkLmh9KSl9fSk7CnZhciBhPUJhbmdsZS5hcHBSZWN0LGg9MHxkLnNjcm9sbE1pbixsPWQuaCpkLmMtYS5oO2w8aCYmKGw9aCk7dmFyIGU9e3Njcm9sbDpFLmNsaXAoMHxkLnNjcm9sbCxoLGwpLGRyYXc6bixkcmF3SXRlbTpiPT57dmFyIGM9bShiKTtnLnJlc2V0KCkuc2V0Q2xpcFJlY3QoYS54LE1hdGgubWF4KGMsYS55KSxhLngyLE1hdGgubWluKGMrZC5oLGEueTIpKTtkLmRyYXcoYix7eDphLngseTpjLHc6YS53LGg6ZC5ofSk7Zy5zZXRDbGlwUmVjdCgwLDAsZy5nZXRXaWR0aCgpLTEsZy5nZXRIZWlnaHQoKS0xKX0saXNBY3RpdmU6KCk9PkJhbmdsZS51aVJlZHJhdz09bn0sZj1lLnNjcm9sbCYtMjtlLmRyYXcoKTtnLmZsaXAoKTtyZXR1cm4gZX0pAChmdW5jdGlvbigpe2xldCBiPXJlcXVpcmUoIlN0b3JhZ2UiKS5yZWFkSlNPTigic2V0dGluZy5qc29uIiwxKXx8e30sYz1yZXF1aXJlKCJTdG9yYWdlIikucmVhZChiLmxhdW5jaGVyKTtpZighYyl7Yz12b2lkIDA7bGV0IGQ9cmVxdWlyZSgiU3RvcmFnZSIpLmxpc3QoL1wuaW5mbyQvKS5tYXAoYT0+e2lmKChhPXJlcXVpcmUoIlN0b3JhZ2UiKS5yZWFkSlNPTihhLDEpKSYmImxhdW5jaCI9PWEudHlwZSlyZXR1cm4gYX0pLmZpbHRlcihhPT5hKS5zb3J0KChhLGUpPT5hLnNvcnRvcmRlci1lLnNvcnRvcmRlcilbMF07ZCYmKGIubGF1bmNoZXI9ZC5zcmMscmVxdWlyZSgiU3RvcmFnZSIpLndyaXRlSlNPTigic2V0dGluZy5qc29uIixiKSxjPXJlcXVpcmUoIlN0b3JhZ2UiKS5yZWFkKGQuc3JjKSl9Yz9CYW5nbGUubG9hZChiLmxhdW5jaGVyKTpldmFsKCdFLnNob3dNZXNzYWdlKCJObyBMYXVuY2hlciBGb3VuZCIpO3NldFdhdGNoKCgpPT57bG9hZCgpO30sIGdsb2JhbC5CVE4yfHxCVE4sIHtyZXBlYXQ6ZmFsc2UsZWRnZToiZmFsbGluZyJ9KTsnKTsKZGVsZXRlIGI7ZGVsZXRlIGN9KQAoZnVuY3Rpb24oYmFzZSxqKSB7dmFyIG89e30sYWRkcjtmb3IgKHZhciByZWcgaW4gaikge2FkZHI9YmFzZStqW3JlZ107T2JqZWN0LmRlZmluZVByb3BlcnR5KG8scmVnLHtnZXQ6cGVlazMyLmJpbmQodW5kZWZpbmVkLGFkZHIpLHNldDpwb2tlMzIuYmluZCh1bmRlZmluZWQsYWRkcil9KTt9cmV0dXJuIG87fSkAKGZ1bmN0aW9uKGEpIHt2YXIgbT0wLGc7Zm9yICh2YXIgaSBpbiBhKSBpZiAoYVtpXT5tKSB7IG09YVtpXTtnPWk7IH1pZiAoZyE9PXVuZGVmaW5lZCkge3ZhciBuPXJlcXVpcmUoJ1N0b3JhZ2UnKS5yZWFkKCcudGZuYW1lcycpO2lmIChuKSBnPW4uc3BsaXQoJywnKVtnXTt9cmV0dXJuIGc7fSkAKGZ1bmN0aW9uKHgsZCl7ZnVuY3Rpb24gcihuKXtnLnJlc2V0KCkuc2V0Rm9udCgiNng4OjIiKS5zZXRGb250QWxpZ24oMCwtMSk7dmFyIGg9QmFuZ2xlLmFwcFJlY3QueSxjPWcuZ2V0V2lkdGgoKSxmPWcuZ2V0SGVpZ2h0KCktaCxrPWcuZ2V0Rm9udEhlaWdodCgpLHA9Zy53cmFwU3RyaW5nKGQudGl0bGUsYy0yKSx0PWcud3JhcFN0cmluZyh4fHwiIixjLTIpLGE9aCsoZisocC5sZW5ndGgtdC5sZW5ndGgpKmspLzItMjQ7ZC5pbWcmJihmPWcuaW1hZ2VNZXRyaWNzKGQuaW1nKSxnLmRyYXdJbWFnZShkLmltZywoYy1mLndpZHRoKS8yLGEtZi5oZWlnaHQvMiksYSs9NCtmLmhlaWdodC8yKTtwJiZnLnNldENvbG9yKGcudGhlbWUuZmdIKS5zZXRCZ0NvbG9yKGcudGhlbWUuYmdIKS5jbGVhclJlY3QoMCxoLGMtMSxoKzQrcC5sZW5ndGgqaykuZHJhd1N0cmluZyhwLmpvaW4oIlxuIiksYy8yLGgrMik7Zy5zZXRDb2xvcihnLnRoZW1lLmZnKS5zZXRCZ0NvbG9yKGcudGhlbWUuYmcpLmRyYXdTdHJpbmcodC5qb2luKCJcbiIpLApjLzIsYSk7YSs9dC5sZW5ndGgqayszMjt2YXIgbT0wO2cuc2V0Rm9udEFsaWduKDAsMCk7cS5mb3JFYWNoKGw9Pm0rPTI0K2cuc3RyaW5nV2lkdGgobCkpO20+YyYmKGcuc2V0Rm9udCgiNng4IiksbT0wLHEuZm9yRWFjaChsPT5tKz0yNCtnLnN0cmluZ1dpZHRoKGwpKSk7dmFyIGI9KGMtbSkvMjt1PVtdO3EuZm9yRWFjaCgobCx5KT0+e3ZhciB2PWcuc3RyaW5nV2lkdGgobCk7Yis9KDI0K3YpLzI7dmFyIGU9Nit2LzIsdz1bYi1lLGEtMTYsYitlLGEtMTYsYitlKzQsYS0xMixiK2UrNCxhKzEyLGIrZSxhKzE2LGItZSxhKzE2LGItZS00LGErMTIsYi1lLTQsYS0xMixiLWUsYS0xNl07dS5wdXNoKHt4MTpiLWUtMTIseDI6YitlKzEyLHkxOmEtMzAseTI6YSszMCxwb2x5Ond9KTtnLnNldENvbG9yKHk9PT1uP2cudGhlbWUuYmdIOmcudGhlbWUuYmcyKS5maWxsUG9seSh3KS5zZXRDb2xvcih5PT09bj9nLnRoZW1lLmZnSDpnLnRoZW1lLmZnMikuZHJhd1BvbHkodykuZHJhd1N0cmluZyhsLApiLGErMSk7Yis9KDI0K3YpLzJ9KTtCYW5nbGUuc2V0TENEUG93ZXIoMSl9ZHx8KGQ9e30pO2QuYnV0dG9uc3x8KGQuYnV0dG9ucz17WWVzOiEwLE5vOiExfSk7dmFyIHE9T2JqZWN0LmtleXMoZC5idXR0b25zKSx1O2cucmVzZXQoKS5jbGVhclJlY3QoQmFuZ2xlLmFwcFJlY3QpO2lmKCF4KXJldHVybiBCYW5nbGUuc2V0VUkoKSxQcm9taXNlLnJlc29sdmUoKTtyKCk7cmV0dXJuIG5ldyBQcm9taXNlKG49PntCYW5nbGUuc2V0VUkoe21vZGU6ImN1c3RvbSIscmVtb3ZlOmQucmVtb3ZlLHJlZHJhdzpyLGJhY2s6ZC5iYWNrLHRvdWNoOihoLGMpPT57dS5mb3JFYWNoKChmLGspPT57Yy54PmYueDEmJmMueDxmLngyJiZjLnk+Zi55MSYmYy55PGYueTImJihyKGspLGcuZmxpcCgpLEUuc2hvd1Byb21wdCgpLG4oZC5idXR0b25zW3Fba11dKSl9KX19KX0pfSkAKGZ1bmN0aW9uKGIsYSl7InN0cmluZyI9PXR5cGVvZiBhJiYoYT17dGl0bGU6YX0pO2E9YXx8e307YS5idXR0b25zPXtPazoxfTthLmltZz1yZXF1aXJlKCJoZWF0c2hyaW5rIikuZGVjb21wcmVzcyhhdG9iKCJsRW80VUJvdisvLy9CSU1nZ0ZWQUFRSEJBb1lJRUJRMVFCSWNGQklkQUJJY0JCQVZVSFlzVkRnd2VFRGdnZUVMUTRKS0dBY1ArQXlER0FjTzJBeURCSkk2REJJa0JCTHBLREJJZ0FFQk9LQkVBQlN5R01Zd0pUR0lrQldhYlJKZDZkVkl3MEJCSUl5REdBWUpCR1FZd0VEd3djQ0R3d2NDQUFRNUZCUXdGREE9IikpO3JldHVybiBFLnNob3dQcm9tcHQoYixhKX0pAChmdW5jdGlvbihlLGEpeyJzdHJpbmciPT10eXBlb2YgYSYmKGE9e3RpdGxlOmF9KTthPWF8fHt9O2cucmVzZXQoKS5jbGVhclJlY3QoQmFuZ2xlLmFwcFJlY3QpO2cuc2V0Rm9udCgiNng4IiwxMjg8Zy5nZXRXaWR0aCgpPzI6MSkuc2V0Rm9udEFsaWduKDAsLTEpO3ZhciBjPUJhbmdsZS5hcHBSZWN0LnksYj1nLmdldFdpZHRoKCksZD1nLmdldEhlaWdodCgpLWMsaz1nLmdldEZvbnRIZWlnaHQoKSxmPWcud3JhcFN0cmluZyhhLnRpdGxlLGItMik7ZT1nLndyYXBTdHJpbmcoZXx8IiIsYi0yKTtkPWMrKGQrKGYubGVuZ3RoLWUubGVuZ3RoKSprKS8yO2lmKGEuaW1nKXt2YXIgaD1nLmltYWdlTWV0cmljcyhhLmltZyk7Zy5kcmF3SW1hZ2UoYS5pbWcsKGItaC53aWR0aCkvMixkLWguaGVpZ2h0LzIpO2QrPTQraC5oZWlnaHQvMn1nLmRyYXdTdHJpbmcoZS5qb2luKCJcbiIpLGIvMixkKTthLnRpdGxlJiZnLnNldENvbG9yKGcudGhlbWUuZmdIKS5zZXRCZ0NvbG9yKGcudGhlbWUuYmdIKS5jbGVhclJlY3QoMCwKYyxiLTEsYys0K2YubGVuZ3RoKmspLmRyYXdTdHJpbmcoZi5qb2luKCJcbiIpLGIvMixjKzIpO2cuZmxpcCgpO0JhbmdsZS5zZXRMQ0RQb3dlcigxKX0pAChmdW5jdGlvbihhKXtCYW5nbGUudWlSZW1vdmU/KEJhbmdsZS5zZXRVSSgpLChfX0ZJTEVfXz1hKXx8KGE9Ii5ib290Y2RlIiksc2V0VGltZW91dChldmFsLDAscmVxdWlyZSgiU3RvcmFnZSIpLnJlYWQoYSkpKTpsb2FkKCIuYm9vdGNkZSIhPWE/YTp2b2lkIDApfSkAKGZ1bmN0aW9uKCl7QmFuZ2xlLmxvYWQoIi5ib290Y2RlIil9KQAoZnVuY3Rpb24oKSB7CiAgQmFuZ2xlLnNldFVJKCk7CiAgY2xlYXJUaW1lb3V0KCk7CiAgY2xlYXJJbnRlcnZhbCgpOwogIGNsZWFyV2F0Y2goKTsKICBCYW5nbGUucmVtb3ZlQWxsTGlzdGVuZXJzKCk7CiAgRS5yZW1vdmVBbGxMaXN0ZW5lcnMoKTsKICBOUkYucmVtb3ZlQWxsTGlzdGVuZXJzKCk7CiAgQmFuZ2xlLnNldExDREJyaWdodG5lc3MoMSk7CiAgbGV0IG1lbnUgPSB7IiI6e3RpdGxlOiJSZWNvdmVyeSJ9LAogICAgIkNsZWFuIEJvb3QiOiAoKSA9PiB7CiAgICAgIHJlc2V0KCk7CiAgICB9LAogICAgIlJlYm9vdCI6ICgpID0+IHsKICAgICAgRS5yZWJvb3QoKTsKICAgIH0sCiAgICAiVHVybiBPZmYiOiAoKSA9PiB7CiAgICAgIEJhbmdsZS5vZmYoKTsKICAgIH0KICB9OwogIGlmIChwcm9jZXNzLmVudi5CT0FSRD09IkJBTkdMRUpTMiIpCiAgICBPYmplY3QuYXNzaWduKG1lbnUsIHsiVGVzdCI6IEJhbmdsZS5zaG93VGVzdFNjcmVlbn0pOwogIE9iamVjdC5hc3NpZ24obWVudSwgeyJGYWN0b3J5IFJlc2V0IjogKCkgPT4gewogICAgICBFLnNob3dQcm9tcHQoIkFyZSB5b3Ugc3VyZT9cblRoaXMgd2lsbCByZW1vdmUgYWxsIGRhdGEuIix7dGl0bGU6IkZhY3RvcnkgUmVzZXQifSkudGhlbihvayA9PiB7CiAgICAgICAgaWYgKCFvaykgcmV0dXJuIEJhbmdsZS5zaG93UmVjb3ZlcnlNZW51KCk7CiAgICAgICAgRS5zaG93TWVzc2FnZSgiUmVzZXR0aW5nIik7CiAgICAgICAgQmFuZ2xlLnNldExDRFRpbWVvdXQoMCk7CiAgICAgICAgaWYoIU5SRi5nZXRTZWN1cml0eVN0YXR1cygpLmNvbm5lY3RlZCkKICAgICAgICAgIFRlcm1pbmFsLnNldENvbnNvbGUoKTsKICAgICAgICBCYW5nbGUuZmFjdG9yeVJlc2V0KCk7CiAgICAgIH0pOwogICAgfSwKICAgICJFeGl0IjogKCkgPT4gewogICAgICBpZiAocmVxdWlyZSgiU3RvcmFnZSIpLmxpc3QoKS5sZW5ndGg+MCkgewogICAgICAgIEUuc2hvd01lc3NhZ2UoIkxvYWRpbmcuLi4iKTsKICAgICAgICBpZighTlJGLmdldFNlY3VyaXR5U3RhdHVzKCkuY29ubmVjdGVkKQogICAgICAgICAgVGVybWluYWwuc2V0Q29uc29sZSgpOwogICAgICAgIGxvYWQoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBFLnJlYm9vdCgpOwogICAgICB9CiAgICB9LAogICAgIkF0dGVtcHQgQ29tcGFjdCI6ICgpID0+IHsKICAgICAgRS5zaG93TWVzc2FnZSgiQ29tcGFjdGluZy4uLlxuTWF5IHRha2VcbjUgbWluLiIpOwogICAgICBpZighTlJGLmdldFNlY3VyaXR5U3RhdHVzKCkuY29ubmVjdGVkKQogICAgICAgIFRlcm1pbmFsLnNldENvbnNvbGUoKTsKICAgICAgcmVxdWlyZSgiU3RvcmFnZSIpLmNvbXBhY3QoKTsKICAgICAgRS5yZWJvb3QoKTsKICAgIH0sCiAgICAiUmV3cml0ZSBCb290bG9hZGVyIjogKCkgPT4gewogICAgICBzZXRUaW1lb3V0KGxvYWQsMTAwMCk7CiAgICAgIGV2YWwocmVxdWlyZSgiU3RvcmFnZSIpLnJlYWQoImJvb3R1cGRhdGUuanMiKSk7CiAgICB9LAogIH0pOwogIEUuc2hvd01lbnUobWVudSk7Cn0pAFRpbWVvdXQgKHN0YXJ0KQBBcmJpdHJhdGlvbiAoc3RhcnQpACV2LmFwcGx5KHRoaXMsYXJndW1lbnRzKQBTZWFyY2ggc3RyaW5nIGlzIHRvbyBsb25nICg+PSVkIGNoYXJzKQBNb2R1bGUgbmFtZSB0b28gbG9uZyAobWF4IDEyOCBjaGFycykASW50ZXJ2YWwgaXMgdG9vIGxvbmcgKD4xMDAgeWVhcnMpACVzICE9ICVzICglcyAhPSAlcykAVGltZW91dCAod3IpAFRpbWVvdXQgKHN0b3ApAEFyYml0cmF0aW9uIChzdG9wKQBhcmdzIG11c3QgYmUgYWRkQ2FjaGVkKHN0cmluZywgc3RyaW5nfGZ1bmN0aW9uKQBieXRlT2Zmc2V0IHRvbyBsYXJnZSAob3IgbmVnYXRpdmUpAE51bU91dHB1dHMobm9kZSkATnVtSW5wdXRzKG5vZGUpAFJlc2hhcGVPdXRwdXQoY29udGV4dCwgbm9kZSkAVGltZW91dCAocmQpAFRvbyBtYW55IGFyZ3VtZW50cyAoPiVkKQBuZXcgJXMoJWQpAFRvbyBtYW55IGJ1ZmZlcnMgKG1heCBpcyAlZCkAT3V0cHV0IGluZGV4ICVkIG91dCBvZiByYW5nZSAobGVuZ3RoIGlzICVkKQBJbnB1dCBpbmRleCAlZCBvdXQgb2YgcmFuZ2UgKGxlbmd0aCBpcyAlZCkAJXMgKG9mZnMgJWQsIGxlbiAlZCkAJXMgIT0gJXMgKCVkICE9ICVkKQBdKQBzZXRUaW1lb3V0KEJhbmdsZS5zaG93UmVjb3ZlcnlNZW51LDEwMCkARWRpdCBzaG91bGQgYmUgY2FsbGVkIHdpdGggZWRpdChmdW5jTmFtZSkgb3IgZWRpdCgnZnVuY05hbWUnKQBzZXRUaW1lb3V0KAAlcy5zZXR1cCgAc2V0SW50ZXJ2YWwoAC5yZXBsYWNlV2l0aCgAc2V0V2F0Y2goAEZ1bmN0aW9uIGNvZGUgbXVzdCBiZSBhIFN0cmluZywgZ290ICcldCcAU3RyaW5nOiclcycALCAlaiwgeyByZXBlYXQ6JXMsIGVkZ2U6JyVzJwAnZWRnZScgaW4gc2V0V2F0Y2ggc2hvdWxkIGJlIDEsIC0xLCAwLCAncmlzaW5nJywgJ2ZhbGxpbmcnIG9yICdib3RoJwBTUEkgb3JkZXIgc2hvdWxkIGJlICdtc2InIG9yICdsc2InAElmIENvbG9yIGlzIGEgU3RyaW5nLCBpdCBtdXN0IGJlIG9mIHRoZSBmb3JtICcjcnJnZ2JiJyBvciAnI3JnYicAIwBcIgBPdXRwdXQgdGVuc29ycyBub3QgYXQgaW5kZXggMCBhcmUgYWxsb2NhdGVkIGZyb20gdGhlIHBlcnNpc3RlbnQgbWVtb3J5IGFyZW5hLiBSZXBlYXQgY2FsbHMgd2lsbCBjYXVzZSBleGNlc3MgYWxsb2NhdGlvbiEASW5wdXQgdGVuc29ycyBub3QgYXQgaW5kZXggMCBhcmUgYWxsb2NhdGVkIGZyb20gdGhlIHBlcnNpc3RlbnQgbWVtb3J5IGFyZW5hLiBSZXBlYXQgY2FsbHMgd2lsbCBjYXVzZSBleGNlc3MgYWxsb2NhdGlvbiEARmlsZSB0b28gYmlnIQBGdW5jdGlvbiAlcSBub3QgZm91bmQhAEZ1bmN0aW9uIG5vdCBmb3VuZCEAUHVyZSB2aXJ0dWFsIGZ1bmN0aW9uIGNhbGxlZCEARnVuY3Rpb24gb3IgU3RyaW5nIG5vdCBzdXBwbGllZCEARmFpbGVkIHRvIHBvcHVsYXRlIGEgcGVyc2lzdGVudCBUZkxpdGVUZW5zb3Igc3RydWN0IGZyb20gZmxhdGJ1ZmZlciBkYXRhIQBGYWlsZWQgdG8gcG9wdWxhdGUgYSB0ZW1wIFRmTGl0ZVRlbnNvciBzdHJ1Y3QgZnJvbSBmbGF0YnVmZmVyIGRhdGEhAE9iamVjdCB7IABHZXR0ZXIvU2V0dGVyIHsgAEZ1bmN0aW9uIHsgAE5hdGl2ZUZ1bmN0aW9uIDB4JXggKCVkKSB7IAAgYXQgAFBhcmFtICVxIAByZXR1cm4gAGZ1bmN0aW9uIABpbiBmdW5jdGlvbiAlcSBjYWxsZWQgZnJvbSAAaW4gZnVuY3Rpb24gY2FsbGVkIGZyb20gAE5hbWUgACMlZFtyJWQsbCVkXSAAQXJyYXlCdWZmZXJOYW1lWyVkXSAAQXJyYXkoJWQpIFsgACBDT05TVCAAU0VUIAAldi4ldiA9IAB2YXIgJXYgPSAAJXY6IABFUlJPUjogAFdBUk5JTkc6IABDSElMRDogACA6IABXcml0aW5nIGluaXRpYWwgc3RvcmFnZSBjb250ZW50cy4uLiAAQ29tcGFjdGluZy4uLiAAIC4uLiAAJXYub24oJXEsIAApIAAgICAgAHsKICAARmFpbGVkIHRvIGdldCByZWdpc3RyYXRpb24gZnJvbSBvcCBjb2RlICVzCiAACCAAZmxvb2RGaWxsIG92ZXJmbG93CgBVbmNhdWdodCAldgoAbGluZSAlZCBjb2wgJWQgaW4gJXYKAE5ldyBpbnRlcnByZXRlciBlcnJvcjogJXYKACwgJWYpOyAvLyAldgoATGVzcyB0aGFuIDEwIHBlcmNlbnQgYmF0dGVyeSByZW1haW5pbmcgLSBjYW5ub3QgY29tcGFjdAoAG1s/N2wKIF9fX18gICAgICAgICAgICAgICAgIF8gCnwgIF9ffF9fXyBfX18gX19fIF8gX3xffF9fXyBfX18gCnwgIF9ffF8gLXwgLiB8ICBffCB8IHwgfCAgIHwgLiB8CnxfX19ffF9fX3wgIF98X3wgfF9fX3xffF98X3xfX198CiAgICAgICAgIHxffCBlc3BydWluby5jb20KIDJ2MjMgKGMpIDIwMjQgRy5XaWxsaWFtcwoAVXRpbCBUaW1lciAlcwoAID0gYm9vbCAlcwoALT4gJXMKADwtICVzCgBVbnN1cHBvcnRlZCBkYXRhIHR5cGUgJWQgaW4gdGVuc29yCgBzeXN0ZW0KAFRGIGVycm9yIC0gbm8gbW9kZWwKAC8vIENvZGUgc2F2ZWQgd2l0aCBFLnNldEJvb3RDb2RlCgBOb3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBidWlsZAoARXhlY3V0aW9uIEludGVycnVwdGVkCgBJbnZva2UoKSBjYWxsZWQgYWZ0ZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkCgBTa2lwcGluZyBvcCBmb3Igb3Bjb2RlX2luZGV4ICVkCgBNaXNzaW5nIHJlZ2lzdHJhdGlvbiBmb3Igb3Bjb2RlX2luZGV4ICVkCgAgPSBpbnQgJWQKAENvdWxkbid0IGNvbnZlcnQgcGluIGZ1bmN0aW9uICVkCgBsaW5lICVkIGNvbCAlZAoAVW5rbm93biB0eXBlICVkCgBGICVkCgBeCgBXUklURV9TSE9SVAoAUkVBRF9TSE9SVAoAV0FLRVVQCgBXUklURV9CWVRFCgBSRUFEX0JZVEUKACB9KTsKAE9iamVjdC5jcmVhdGUoJXYpOwoAcGluTW9kZSglcCwgJXElcyk7CgBzZXRCdXN5SW5kaWNhdG9yKCVwKTsKAHNldFNsZWVwSW5kaWNhdG9yKCVwKTsKAEUuc2V0RmxhZ3MoJWopOwoAZGlnaXRhbFdyaXRlKCVwLCAlZCk7CgBVbmFibGUgdG8gYWxsb2NhdGUgcXVhbnRpemF0aW9uLT56ZXJvX3BvaW50LgoAVW5zdXBwb3J0ZWQgYmVoYXZpb3I6IGZvdW5kIGJ1aWx0aW4gb3BlcmF0b3IgJXMgd2l0aCBjdXN0b20gb3B0aW9ucy4KAFVuYWJsZSB0byBhbGxvY2F0ZSBUZkxpdGVBZmZpbmVRdWFudGl6YXRpb24uCgBGYWlsZWQgc3RhcnRpbmcgbW9kZWwgYWxsb2NhdGlvbi4KAAogIExvZ2dlZCBpbi4KAEV4ZWN1dGlvbiBJbnRlcnJ1cHRlZCBkdXJpbmcgZXZlbnQgcHJvY2Vzc2luZy4KAApXcml0ZSBjb21wbGV0ZS4KAEVyYXNlIGNvbXBsZXRlLgoAT3BlcmF0b3Igd2l0aCBDVVNUT00gYnVpbHRpbl9jb2RlIGhhcyBubyBjdXN0b21fY29kZS4KAE5vIFRpbWVycyBmb3VuZC4KAE9ubHkgMSBzdWJncmFwaCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkLgoAcmVmLHNpemUsZmxhZ3MsbmFtZSxsaW5rcy4uLgoARXJhc2luZyBTdG9yYWdlIEFyZWEuLi4KAFJ1bm5pbmcgb25Jbml0KCkuLi4KAElucHV0IGFycmF5IG5vdCBwcm92aWRlZCBmb3Igb3BlcmF0aW9uICclcycuCgBGb3VuZCB0b28gbWFueSBkaW1lbnNpb25zIGluIHRoZSBpbnB1dCBhcnJheSBvZiBvcGVyYXRpb24gJyVzJy4KAEVYRUNVVEUgJXgoJXgpCgBOYnIgb2Ygb2ZmbGluZSBidWZmZXIgb2Zmc2V0cyAoJWQpIGluIG1ldGFkYXRhIG5vdCBlcXVhbCBuYnIgdGVuc29ycyAoJWQpCgBEaWRuJ3QgZmluZCBvcCBmb3IgYnVpbHRpbiBvcGNvZGUgJyVzJyB2ZXJzaW9uICclZCcKAEluaXRpYWwgc3RvcmFnZSBpcyB0b28gbGFyZ2UgdG8gZml0IGluIGludGVybmFsIFNQSSBmbGFzaCEKAApEb25lIQoACgoAAD09AD09PQAhPQAhPT0APD0APDwAPDw9AD49AD4+AD4+PgA+Pj0APj4+PQArPQAtPQArKwAtLQAqPQAvPQAlPQAmPQAmJgB8PQB8fABePQA9PgBpZgBlbHNlAGRvAHdoaWxlAGZvcgBicmVhawBjb250aW51ZQBmdW5jdGlvbgByZXR1cm4AdmFyAGxldABjb25zdAB0aGlzAHRocm93AHRyeQBjYXRjaABmaW5hbGx5AHRydWUAZmFsc2UAbnVsbAB1bmRlZmluZWQAbmV3AGluAGluc3RhbmNlb2YAc3dpdGNoAGNhc2UAZGVmYXVsdABkZWxldGUAdHlwZW9mAHZvaWQAZGVidWdnZXIAY2xhc3MAZXh0ZW5kcwBzdXBlcgBzdGF0aWMAb2Y="); - base64DecodeToExistingUint8Array(bufferView, 148964, "Pz8AADAAAAAAZGVlcFNsZWVwAHVuc2FmZUZsYXNoAHVuc3luY0ZpbGVzAHByZXRva2VuaXNlAGppdERlYnVn"); - base64DecodeToExistingUint8Array(bufferView, 149042, "B4AyAAAABwABgDMAAAAPAAGANAAAABcACIA1AAAAHABYgDYAAAAiAHiANwAAACYAA4A4AAAAKwAAgDkAAAAxAACAOgAAADUAA4A7AAAAPAAYgDwAAABCANiBPQAAAGFuYWxvZwBnZXRJbmZvAGdldE1vZGUAbW9kZQBwdWxzZQBwd20AcmVhZAByZXNldABzZXQAdG9nZ2xlAHdyaXRlAHdyaXRlQXRUaW1lAAAAAAARACAAAAAGACEALwAAABIAAQAwAAAAIgAFcD4AAAAmAAVwPwAAACsAAQAcAAAAMgABAB8AAAA8AAsAQAAAAEQACQkLAAAATQARAAwAAABSAAEAHQAAAFQACQANAAAAWgAJCUEAAABnAAkJQgAAAHQAEQAxAAAAfQABAAoAAACGAARwQwAAAIsAAQAYAAAAjwABcEQAAACUAAdwRQAAAJ0ACQlGAAAAqAAJCUcAAACzAAkJSAAAAL0ACQAQAAAAywABACIAAADQAAFwSQAAANQAAXBJAAAA2QABcEoAAADeAARwSwAAAOIAAXBMAAAA7AABcE0AAAD2AAEAJwAAAPsAAQAmAAAAAwEBAB4AAAAHAQdwTgAAAAsBEQAjAAAAEgEJACQAAAAZASkAEwAAACEBCQAbAAAAJQEJABQAAAAtAQkAEQAAADwBSQASAAAAQwEBABcAAABHAQFwTwAAAEwBAQAVAAAAUwEBcFAAAABbAQEAFgAAAGcBEQAlAAAAbgEJAA4AAAB6AQEAGgAAAI0BAXBRAAAAlgEJAA8AAACgAQFwUgAAAKQBCQlTAAAAsAEJCVQAAAC8AQkJVQAAAMgBCQlWAAAA0wEJCVcAAADlAQVwWAAAAO0BYQAZAAAA9gEvAFkAAAABAugDWgAAAA0CAXBbAAAAFwIJAFwAAAAcAgkAXQAAACECyAFeAAAAMAIQAF8AAAA+AhAAYAAAAEsCEABhAAAAVgIBACEAAABeAgkAYgAAAHEC6AJjAAAAfgIMAGQAAACKAkgAZQAAAJcCAABmAAAAnAIYAGcAAAChAggAaAAAAKYCCQBpAAAAuQIJAAkAAAC+AgEAKQAAAMECKQBqAAAAzAIBAGsAAADWAgcAbAAAAN4CAXBtAAAA5QIBcG0AAADwAgsAbgAAAPkCCwBvAAAA/wIIAHAAAAAEAw8AcQAAAA8DSQByAAAAGAMhAXMAAAAfAyEBdAAAACYDIQF1AAAALANoBnYAAAA0A2AAdwAAADsDYAB4AAAAQgNgAHkAAABIAxAAegAAAE4DAQAqAAAAVgMJAHsAAABeAxgAfAAAAGQDCAB9AAAAdQPJBX4AAACBAwgAfwAAAJMDOACAAAAAmwPJBYEAAACmA0kDggAAAK8DSAKDAAAAuAMIAIQ="); - base64DecodeToExistingUint8Array(bufferView, 150096, "QXJyYXkAQXJyYXlCdWZmZXIAQXJyYXlCdWZmZXJWaWV3AEJUTgBCVE4xAEJhbmdsZQBCbHVldG9vdGgAQm9vbGVhbgBEYXRhVmlldwBEYXRlAEUARXJyb3IARmxvYXQzMkFycmF5AEZsb2F0NjRBcnJheQBGdW5jdGlvbgBHcmFwaGljcwBISUdIAEkyQwBJMkMxAEluZmluaXR5AEludDE2QXJyYXkASW50MzJBcnJheQBJbnQ4QXJyYXkASW50ZXJuYWxFcnJvcgBKU09OAExFRABMRUQxAExFRDIATE9XAExvb3BiYWNrQQBMb29wYmFja0IATWF0aABNb2R1bGVzAE5SRgBOYU4ATnVtYmVyAE9iamVjdABPbmVXaXJlAFBpbgBQcm9taXNlAFJlZmVyZW5jZUVycm9yAFJlZ0V4cABTUEkAU1BJMQBTZXJpYWwAU2VyaWFsMQBTdG9yYWdlRmlsZQBTdHJpbmcAU3ludGF4RXJyb3IAVEZNaWNyb0ludGVycHJldGVyAFRlcm1pbmFsAFR5cGVFcnJvcgBVU0IAVWludDE2QXJyYXkAVWludDI0QXJyYXkAVWludDMyQXJyYXkAVWludDhBcnJheQBVaW50OENsYW1wZWRBcnJheQBWSUJSQVRFAFdhdmVmb3JtAGFuYWxvZ1JlYWQAYW5hbG9nV3JpdGUAYXJndW1lbnRzAGF0b2IAYnRvYQBjaGFuZ2VJbnRlcnZhbABjbGVhckludGVydmFsAGNsZWFyVGltZW91dABjbGVhcldhdGNoAGNvbnNvbGUAZGVjb2RlVVJJQ29tcG9uZW50AGRpZ2l0YWxQdWxzZQBkaWdpdGFsUmVhZABkaWdpdGFsV3JpdGUAZHVtcABlY2hvAGVkaXQAZW5jb2RlVVJJQ29tcG9uZW50AGV2YWwAZnMAZ2V0UGluTW9kZQBnZXRTZXJpYWwAZ2V0VGltZQBnbG9iYWwAZ2xvYmFsVGhpcwBpc0Zpbml0ZQBpc05hTgBsb2FkAHBhcnNlRmxvYXQAcGFyc2VJbnQAcGVlazE2AHBlZWszMgBwZWVrOABwaW5Nb2RlAHBva2UxNgBwb2tlMzIAcG9rZTgAcHJpbnQAcHJvY2VzcwByZXF1aXJlAHJlc2V0AHNldEJ1c3lJbmRpY2F0b3IAc2V0SW50ZXJ2YWwAc2V0U2xlZXBJbmRpY2F0b3IAc2V0VGltZQBzZXRUaW1lb3V0AHNldFdhdGNoAHNoaWZ0T3V0AHRyYWNlAAAAAAAhAYUAAAAIACABhgAAABAAAXCHAAAAGAAhAYgAAAAkACABiQAAADAAIQGKAAAANQDhAYsAAAA6ACEBjAAAAEQAIAGNAAAATgABAI4AAABSAAAAjwAAAF4AGACQAAAAawABAJEAAAB0AAEAkgAAAH8AAQCTAAAAiQAJAJQAAACZAAEAlQAAAKQAAQCWAAAArAABAJcAAAC3AAEAmAAAAMMABACZAAAA0AAhAZoAAADWACABmwAAANwAAwCcAAAA6gADAJ0AAAD4AAMAngAAAAMBAwCfAAAADwEDAKAAAAAXAQMAoQAAAB8BAwCiAAAAJwEDAKMAAAAwAWAApAAAADYBCAClAAAAOwEAAKYAAABHAQAApwAAAEsBCQCoAAAAUwEAAKkAAABgARgAqgAAAG0BWwCrAAAAfwFbAKwAAACPAVsArQAAAJsBWwCuAAAApwE4AK8AAAC4AQgAsAAAAMMBIACxAAAA0AFIGLIAAADeARgAswAAAOoBOAC0AAAA+AEYALUAAAACAggAtgAAAA0COAC3AAAAHQIgALgAAAAqAkgAuQAAADACAAC6AAAAOgIAALsAAABHAgAAvAAAAFgCAAC9"); - base64DecodeToExistingUint8Array(bufferView, 151520, "YWNjZWxSZABhY2NlbFdyAGFwcFJlY3QAYmFyb21ldGVyUmQAYmFyb21ldGVyV3IAYmVlcABidXp6AGNvbXBhc3NSZABjb21wYXNzV3IAZGJnAGRyYXdXaWRnZXRzAGZhY3RvcnlSZXNldABnZXRBY2NlbABnZXRDb21wYXNzAGdldEdQU0ZpeABnZXRIZWFsdGhTdGF0dXMAZ2V0TENETW9kZQBnZXRMb2dvAGdldE9wdGlvbnMAZ2V0UHJlc3N1cmUAZ2V0U3RlcENvdW50AGhybVJkAGhybVdyAGlzQmFja2xpZ2h0T24AaXNCYXJvbWV0ZXJPbgBpc0NoYXJnaW5nAGlzQ29tcGFzc09uAGlzR1BTT24AaXNIUk1PbgBpc0xDRE9uAGlzTG9ja2VkAGxjZFdyAGxvYWQAbG9hZFdpZGdldHMAb2ZmAHByb2plY3QAcmVzZXRDb21wYXNzAHNldEJhY2tsaWdodABzZXRCYXJvbWV0ZXJQb3dlcgBzZXRDb21wYXNzUG93ZXIAc2V0R1BTUG93ZXIAc2V0SFJNUG93ZXIAc2V0TENEQnJpZ2h0bmVzcwBzZXRMQ0RNb2RlAHNldExDRE9mZnNldABzZXRMQ0RPdmVybGF5AHNldExDRFBvd2VyAHNldExDRFRpbWVvdXQAc2V0TG9ja2VkAHNldE9wdGlvbnMAc2V0UG9sbEludGVydmFsAHNldFN0ZXBDb3VudABzZXRVSQBzaG93Q2xvY2sAc2hvd0xhdW5jaGVyAHNob3dSZWNvdmVyeU1lbnUAc29mdE9mZg=="); - base64DecodeToExistingUint8Array(bufferView, 152146, "CQC+AAAABgBIBr8AAAAKAPlPwAAAABMACQDBAAAAGgCIAMIAAAAeAP8PwwAAACMACADEAAAALQBPCMUAAAA2AEkCxgAAAEEAAADHAAAASAAAAMgAAABaAAEAyQAAAGIAAADKAAAAbQAAAMsAAAB7AHgAzAAAAIoACQDNAAAAkwDMAM4AAACgAAcAzwAAAK4ABADQAAAAuQABANEAAADEAAEA0gAAANIAAQDTAAAA2wABANQAAADpAAkB1QAAAPMABwDWAAAAAgEEANcAAAAJAQsA2AAAABABAADZAAAAHQEAANoAAAApAUkG2wAAADYBSELcAAAAQQEhAd0AAABMAUkA3gAAAFYBYQLfAAAAYQFIAuAAAABmAQAA4QAAAG0BJADiAAAAeQHIAOMAAACFAQwA5AAAAI4BSADlAAAAmQEQAOYAAACgAQgA5wAAAKkBCADoAAAAtQE4AOkAAADBAUkA6gAAAMsBCQDrAAAA1AFIAOwAAADgAUkA7QAAAOsBCQDuAAAA+AEgAO8AAAD+AQAA8AAAABMCDwDxAAAAFwIJAPIAAAAlAhEA8wAAADICCQD0AAAANwIRAPUAAABAAhEA9gAAAE0CzwH3AAAAQ1JDMzIARkZUAEhTQnRvUkdCAGFzVVRGOABhc20AY2xpcABjb21waWxlZEMAY29udm9sdmUAZGVjb2RlVVRGOABkZWZyYWcAZHVtcEZyYWdtZW50YXRpb24AZHVtcFN0cgBkdW1wVGltZXJzAGR1bXBWYXJpYWJsZXMAZW5hYmxlV2F0Y2hkb2cAZnJvbVVURjgAZ2V0QWRkcmVzc09mAGdldEFuYWxvZ1ZSZWYAZ2V0QmF0dGVyeQBnZXRDb25zb2xlAGdldEVycm9yRmxhZ3MAZ2V0RmxhZ3MAZ2V0UG93ZXJVc2FnZQBnZXRTaXplT2YAZ2V0VGVtcGVyYXR1cmUAaHdSYW5kAGlzVVRGOABraWNrV2F0Y2hkb2cAbG9ja0NvbnNvbGUAbG9va3VwTm9DYXNlAG1hcEluUGxhY2UAbWVtb3J5QXJlYQBtZW1vcnlNYXAAbmF0aXZlQ2FsbABwaXBlAHJlYm9vdAByZXZlcnNlQnl0ZQBzZXRCb290Q29kZQBzZXRDbG9jawBzZXRDb25zb2xlAHNldERTVABzZXRGbGFncwBzZXRQYXNzd29yZABzZXRUaW1lWm9uZQBzaG93QWxlcnQAc2hvd01lbnUAc2hvd01lc3NhZ2UAc2hvd1Byb21wdABzaG93U2Nyb2xsZXIAc3JhbmQAc3RvcEV2ZW50UHJvcGFnYXRpb24Ac3VtAHRvQXJyYXlCdWZmZXIAdG9GbGF0U3RyaW5nAHRvSlMAdG9TdHJpbmcAdG9VaW50OEFycmF5AHZhcmlhbmNl"); - base64DecodeToExistingUint8Array(bufferView, 153218, "AYD4AAAABgAJgPkAAAAOAAGA+gAAABQATIL7AAAAHwAJgPwAAAAkABmA/QAAACoACcn+AAAANAAhif8AAAA/ACGJAAEAAEwAIckBAQAAWAAJmQIBAABiAEmAAwEAAG0AIckEAQAAdgD5/wUBAACBAMmABgEAAIoAyYAHAQAAlQAJyQgBAACeAAm5CQEAAKkAAIAKAQAArgAhiQsBAAC5ACHJDAEAAMUACYANAQAAzgAJgA4BAADZAAnJDwEAAOIAIYMQAQAA7AAEgBEBAADzAASAEgEAAP4ABIATAQAABwEBgBQBAAAPAQSAFQEAAB0BAYAWAQAAJgEEgBcBAAAwARmAGAEAADwBJIEZAQAARQFJgBoBAABYAQSAGwEAAGEBCYAcAQAAbgEhgR0BAAB1ASGBHgEAAHwBSYAfAQAAjAEBgCABAACSASGBIQEAAJkBSYIiAQAApAEhySMBAACwAUmCJAEAALkBCYElAQAAwQEhgCYBAADOASGAJwEAANoBIYkoAQAA5wEBgCkBAAD1AQnDKgEAAAMCCYErAQAADgIhgCwBAAAcAiGDLQEAACUC4YAuAQAAMQIJgC8BAAA6AgmAMAEAAEgCDIAxAQAAVAIB8DIBAABaAkyCMwEAAGICSYA0AQAAdAIJgTUBAABhc0JNUABhc0ltYWdlAGFzVVJMAGJsZW5kQ29sb3IAYmxpdABjbGVhcgBjbGVhclJlY3QAZHJhd0NpcmNsZQBkcmF3Q2lyY2xlQUEAZHJhd0VsbGlwc2UAZHJhd0ltYWdlAGRyYXdJbWFnZXMAZHJhd0xpbmUAZHJhd0xpbmVBQQBkcmF3UG9seQBkcmF3UG9seUFBAGRyYXdSZWN0AGRyYXdTdHJpbmcAZHVtcABmaWxsQ2lyY2xlAGZpbGxFbGxpcHNlAGZpbGxQb2x5AGZpbGxQb2x5QUEAZmlsbFJlY3QAZmxvb2RGaWxsAGdldEJQUABnZXRCZ0NvbG9yAGdldENvbG9yAGdldEZvbnQAZ2V0Rm9udEhlaWdodABnZXRGb250cwBnZXRIZWlnaHQAZ2V0TW9kaWZpZWQAZ2V0UGl4ZWwAZ2V0VmVjdG9yRm9udFBvbHlzAGdldFdpZHRoAGltYWdlTWV0cmljcwBsaW5lVG8AbW92ZVRvAHF1YWRyYXRpY0JlemllcgByZXNldABzY3JvbGwAc2V0QmdDb2xvcgBzZXRDbGlwUmVjdABzZXRDb2xvcgBzZXRGb250AHNldEZvbnQxMngyMABzZXRGb250NngxNQBzZXRGb250QWxpZ24Ac2V0Rm9udEJpdG1hcABzZXRGb250Q3VzdG9tAHNldEZvbnRQQkYAc2V0Rm9udFZlY3RvcgBzZXRQaXhlbABzZXRSb3RhdGlvbgBzZXRUaGVtZQBzdHJpbmdNZXRyaWNzAHN0cmluZ1dpZHRoAHRoZW1lAHRvQ29sb3IAdHJhbnNmb3JtVmVydGljZXMAd3JhcFN0cmluZwAAAAABADYBAAALAAEANwEAAB0ASAA4AQAALABIADkBAABnZXRBZGRyZXNzAGdldFNlY3VyaXR5U3RhdHVzAHNldEFkdmVydGlzaW5nAHNldFNlcnZpY2Vz"); - base64DecodeToExistingUint8Array(bufferView, 154448, "OgEAAHNldENvbnNvbGUAAAAAEYA7AQAABwBJgDwBAAANAAmDPQEAABIASYA+AQAAGQAJgD8BAAAeAAmAQAEAACgASIBBAQAAMAALgUIBAAA5AAmBQwEAAEEACYBEAQAARgAB8EUBAABNAEmARgEAAFEAAYBHAQAAVQAUgEgBAABaAEmASQEAAGEAAYBKAQAAaQABgEsBAABvAGGATAEAAHUASYBNAQAAegAJgE4BAAB/AGGETwEAAIYACYABAAAAjwAUgFAB"); - base64DecodeToExistingUint8Array(bufferView, 154656, "Y29uY2F0AGV2ZXJ5AGZpbGwAZmlsdGVyAGZpbmQAZmluZEluZGV4AGZvckVhY2gAaW5jbHVkZXMAaW5kZXhPZgBqb2luAGxlbmd0aABtYXAAcG9wAHB1c2gAcmVkdWNlAHJldmVyc2UAc2hpZnQAc2xpY2UAc29tZQBzb3J0AHNwbGljZQB0b1N0cmluZwB1bnNoaWZ0AAAAAAsAUQEAAGlzQXJyYXkAAAAAAAAABPBSAQAAYnl0ZUxlbmd0aAAAAAAB8FMBAAAHAATwVAEAABIABPBVAQAAHQAJgz0BAAAiAEmAPgEAACkACYA/AQAALgAJgEABAAA4AEiAQQEAAEAAC4FCAQAASQAJgUMBAABRAAmARAEAAFYASYBWAQAAWgBJgEkBAABhAAGASgEAAGkACIFXAQAAbQBhgEwBAABzAAmAWAEAAHgAYYBZAQAAYnVmZmVyAGJ5dGVMZW5ndGgAYnl0ZU9mZnNldABmaWxsAGZpbHRlcgBmaW5kAGZpbmRJbmRleABmb3JFYWNoAGluY2x1ZGVzAGluZGV4T2YAam9pbgBtYXAAcmVkdWNlAHJldmVyc2UAc2V0AHNsaWNlAHNvcnQAc3ViYXJyYXk="); - base64DecodeToExistingUint8Array(bufferView, 155138, "4YBaAQAACwDhgFsBAAAWAOGAXAEAAB8A4YBdAQAAKADhgF4BAAAwAOGAXwEAADoA4YBgAQAARADhgGEBAABNAGCGYgEAAFgAYIZjAQAAYwBghmQBAABsAGCGZQEAAHUAYIZmAQAAfQBghmcBAACHAGCGaAEAAJEAYIZpAQAAZ2V0RmxvYXQzMgBnZXRGbG9hdDY0AGdldEludDE2AGdldEludDMyAGdldEludDgAZ2V0VWludDE2AGdldFVpbnQzMgBnZXRVaW50OABzZXRGbG9hdDMyAHNldEZsb2F0NjQAc2V0SW50MTYAc2V0SW50MzIAc2V0SW50OABzZXRVaW50MTYAc2V0VWludDMyAHNldFVpbnQ4"); - base64DecodeToExistingUint8Array(bufferView, 155426, "BwBqAQAABAAPAGsBAABub3cAcGFyc2U="); - base64DecodeToExistingUint8Array(bufferView, 155458, "BIBsAQAACAAEgG0BAAAPAASAbgEAABsABIBvAQAAJAAEgHABAAAtAASAcQEAAD0ABIByAQAASAAEgHMBAABRAASAdAEAAFwAB4B1AQAAZAAEgHYBAAB2ACeAdwEAAH4AZ4J4AQAAigBnknkBAACTACeAegEAAKMAZ4J7AQAArgBngHwBAAC3AGeAfQEAAMIAP4B+AQAAygABgH8BAADWAAGAfwEAAN0AAYCAAQAA7gABgIEBAAD3AAGAggEAAAMBB4B1AQ=="); - base64DecodeToExistingUint8Array(bufferView, 155664, "Z2V0RGF0ZQBnZXREYXkAZ2V0RnVsbFllYXIAZ2V0SG91cnMAZ2V0SXNEU1QAZ2V0TWlsbGlzZWNvbmRzAGdldE1pbnV0ZXMAZ2V0TW9udGgAZ2V0U2Vjb25kcwBnZXRUaW1lAGdldFRpbWV6b25lT2Zmc2V0AHNldERhdGUAc2V0RnVsbFllYXIAc2V0SG91cnMAc2V0TWlsbGlzZWNvbmRzAHNldE1pbnV0ZXMAc2V0TW9udGgAc2V0U2Vjb25kcwBzZXRUaW1lAHRvSVNPU3RyaW5nAHRvSlNPTgB0b0xvY2FsSVNPU3RyaW5nAHRvU3RyaW5nAHRvVVRDU3RyaW5nAHZhbHVlT2YAAAAAAYCDAQAAdG9TdHJpbmcAAAAAAAABgIMBAAB0b1N0cmluZwAAAAAAAAGAgwEAAHRvU3RyaW5nAAAAAAAAAYCDAQAAdG9TdHJpbmcAAAAAAAABgIMBAAB0b1N0cmluZwAAAAAAABAAegAAAAYAEAB6AAAADAAQAHoAAAARABAAegAAABUAEAB6"); - base64DecodeToExistingUint8Array(bufferView, 156080, "ZGVidWcAZXJyb3IAaW5mbwBsb2cAd2Fybg=="); - base64DecodeToExistingUint8Array(bufferView, 156114, "CQCEAQAABgBJAoUBAABwYXJzZQBzdHJpbmdpZnk="); - base64DecodeToExistingUint8Array(bufferView, 156162, "B3CGAQAACgAHcIcBAAAUAAdwiAEAACYAB3CJAQAAKgAHcIoB"); - base64DecodeToExistingUint8Array(bufferView, 156208, "TUFYX1ZBTFVFAE1JTl9WQUxVRQBORUdBVElWRV9JTkZJTklUWQBOYU4AUE9TSVRJVkVfSU5GSU5JVFkAAAAAAAAAIYCLAQAAdG9GaXhlZA=="); - base64DecodeToExistingUint8Array(bufferView, 156306, "SICMAQAADAABgI0BAAASAIiAjgEAABcAC4CPAQAAJgAB8EUBAAAtAEiAjAEAADAASICQAQAAQAAIgJEBAABTAEiAkgEAAGIACYABAAAAawABgJMB"); - base64DecodeToExistingUint8Array(bufferView, 156400, "YWRkTGlzdGVuZXIAY2xvbmUAZW1pdABoYXNPd25Qcm9wZXJ0eQBsZW5ndGgAb24AcHJlcGVuZExpc3RlbmVyAHJlbW92ZUFsbExpc3RlbmVycwByZW1vdmVMaXN0ZW5lcgB0b1N0cmluZwB2YWx1ZU9m"); - base64DecodeToExistingUint8Array(bufferView, 156530, "EQCUAQAABwBJAJUBAAAOAEkAlgEAAB8ASQKXAQAALgAJAJgBAAA2AAkAmQEAAEIASQCaAQAAWwAJAJsBAAB1AAkAnAEAAIkACQCdAQAAmAAJAJ4BAACdAEkAnwEAAKwACQCgAQ=="); - base64DecodeToExistingUint8Array(bufferView, 156640, "YXNzaWduAGNyZWF0ZQBkZWZpbmVQcm9wZXJ0aWVzAGRlZmluZVByb3BlcnR5AGVudHJpZXMAZnJvbUVudHJpZXMAZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yAGdldE93blByb3BlcnR5RGVzY3JpcHRvcnMAZ2V0T3duUHJvcGVydHlOYW1lcwBnZXRQcm90b3R5cGVPZgBrZXlzAHNldFByb3RvdHlwZU9mAHZhbHVlcw=="); - base64DecodeToExistingUint8Array(bufferView, 156834, "SYChAQAABgCJgKIBAAALAImAoQEAABAACICjAQAAYXBwbHkAYmluZABjYWxsAHJlcGxhY2VXaXRoAAAAAAAAAAmApAEAAAUAC4ClAQAAZXhlYwB0ZXN0"); - base64DecodeToExistingUint8Array(bufferView, 156930, "IYCmAQAABwAhgKcBAAASABGAqAEAABkAS4CpAQAAIgBLgKoBAAArAEyAqwEAADMATICsAQAAPwAB8EUBAABGAAmArQEAAEwAYYCuAQAAUwBhgK8BAABcAAGAsAEAAGoAIYCxAQAAcQBJgLIBAAB5AEmAswEAAIQAYYC0AQAAigAJgLUBAACQAAuBtgEAAJsAYYC3AQAAogBhgLgBAACsAAGAuQEAALgAAYC6AQAAxAABgLsB"); - base64DecodeToExistingUint8Array(bufferView, 157120, "Y2hhckF0AGNoYXJDb2RlQXQAY29uY2F0AGVuZHNXaXRoAGluY2x1ZGVzAGluZGV4T2YAbGFzdEluZGV4T2YAbGVuZ3RoAG1hdGNoAHBhZEVuZABwYWRTdGFydAByZW1vdmVBY2NlbnRzAHJlcGVhdAByZXBsYWNlAHJlcGxhY2VBbGwAc2xpY2UAc3BsaXQAc3RhcnRzV2l0aABzdWJzdHIAc3Vic3RyaW5nAHRvTG93ZXJDYXNlAHRvVXBwZXJDYXNlAHRyaW0AAAAAAAARALwBAABmcm9tQ2hhckNvZGU="); - base64DecodeToExistingUint8Array(bufferView, 157362, "SAC9AQAACgABAL4BAAAUAAAAvwEAACQACADAAQAAYWRkQ2FjaGVkAGdldENhY2hlZAByZW1vdmVBbGxDYWNoZWQAcmVtb3ZlQ2FjaGVk"); - base64DecodeToExistingUint8Array(bufferView, 157458, "B3DBAQAAAgAHcMIBAAAHAAdwwwEAAAsAB3DEAQAAEgAHcMUBAAAYAAdwxgEAABsAB3DHAQAAIwAHcMgBAAApAD8AyQEAAC0APwDKAQAAMgA/AMsBAAA3AD8AzAEAADwA/wHNAQAAQgA/AM4BAABHAP8PzwEAAEwAPwDQAQAAUAA/ANEBAABUAD8A0gEAAFoAPwDTAQAAXgAXANQBAABiABcA1QEAAGYA/wHWAQAAagAHANcBAABxADkA2AEAAHcAPADZAQAAfAA/ANoBAACAAD8A2wEAAIUAPwDcAQAAiQD/Ad0B"); - base64DecodeToExistingUint8Array(bufferView, 157696, "RQBMTjEwAExOMgBMT0cxMEUATE9HMkUAUEkAU1FSVDFfMgBTUVJUMgBhYnMAYWNvcwBhc2luAGF0YW4AYXRhbjIAY2VpbABjbGlwAGNvcwBleHAAZmxvb3IAbG9nAG1heABtaW4AcG93AHJhbmRvbQByb3VuZABzaWduAHNpbgBzcXJ0AHRhbgB3cmFwAAAAAAAIAN4BAAAKAAEA3wEAABIAIQDgAQAAGgAhAeEBAAAfAAgB4gE="); - base64DecodeToExistingUint8Array(bufferView, 157888, "ZXJhc2VQYWdlAGdldEZyZWUAZ2V0UGFnZQByZWFkAHdyaXRlAAAAAAAASALgAAAAcGlwZQ=="); - base64DecodeToExistingUint8Array(bufferView, 157954, "AXDjAQAABAAJAOQBAAALAAFw5QE="); - base64DecodeToExistingUint8Array(bufferView, 157984, "ZW52AG1lbW9yeQB2ZXJzaW9u"); - base64DecodeToExistingUint8Array(bufferView, 158018, "CYDmAQAABQADgOcBAAALACGA6AEAABIACIDpAQAAGQAAgOoBAAAeAMiA6wEAAHJlYWQAcmVzZXQAc2VhcmNoAHNlbGVjdABza2lwAHdyaXRl"); - base64DecodeToExistingUint8Array(bufferView, 158114, "CQDsAQAABAAJAO0BAAALAAkA7gE="); - base64DecodeToExistingUint8Array(bufferView, 158144, "YWxsAHJlamVjdAByZXNvbHZl"); - base64DecodeToExistingUint8Array(bufferView, 158178, "CYDvAQAABgBJgPABAABjYXRjaAB0aGVuAAAAACkA8QEAAGZpbmQ="); - base64DecodeToExistingUint8Array(bufferView, 158226, "BIDyAQAACgAAgPMBAAAQABCA9AEAABcASIDgAAAAHAAIgPUBAAAiAAiA9gEAACoAIYD3AQAALwAYgPgBAAA6AEiA+QEAAEAAAID6AQAASAAQgPsB"); - base64DecodeToExistingUint8Array(bufferView, 158320, "YXZhaWxhYmxlAGZsdXNoAGluamVjdABwaXBlAHByaW50AHByaW50bG4AcmVhZABzZXRDb25zb2xlAHNldHVwAHVuc2V0dXAAd3JpdGUAAAAAABgA/AEAAAgACAD9AQAADgAAAP4BAAAXABwA/wEAAB8AGQAAAgAAKAAMAAECAAAtAEkAAgIAADIASQADAgAANwAAAAQCAABAAAkJBQIAAEUACQAGAgAAVQDJAAcCAABeAEtICAIAAGQASwAJAgAAY29tcGFjdABlcmFzZQBlcmFzZUFsbABnZXRGcmVlAGdldFN0YXRzAGhhc2gAbGlzdABvcGVuAG9wdGltaXNlAHJlYWQAcmVhZEFycmF5QnVmZmVyAHJlYWRKU09OAHdyaXRlAHdyaXRlSlNPTgAAAAAAAIAKAgAABgAEgAsCAAAQAEiA4AAAABUAIYAMAgAAGgABgA0CAAAjAAiADgIAAGVyYXNlAGdldExlbmd0aABwaXBlAHJlYWQAcmVhZExpbmUAd3JpdGUAAAAAAAApAA8CAABmaW5k"); - base64DecodeToExistingUint8Array(bufferView, 158738, "SYEQAgAABQAI2RECAAAOAAjZEgIAABcACIATAgAAHQAQgBQC"); - base64DecodeToExistingUint8Array(bufferView, 158784, "c2VuZABzZW5kNGJpdABzZW5kOGJpdABzZXR1cAB3cml0ZQAAAAApABUCAABmaW5k"); - base64DecodeToExistingUint8Array(bufferView, 158850, "CYEWAgAACQAhiRcCAAARAAiAGAIAABcAiIAZAgAAcmVhZEZyb20AcmVhZFJlZwBzZXR1cAB3cml0ZVRvAAAAAOiDGgIAAAsA6IMbAgAAFwAAgBwC"); - base64DecodeToExistingUint8Array(bufferView, 158944, "c3RhcnRJbnB1dABzdGFydE91dHB1dABzdG9wAAAAAAAAAAkAHQIAAAkACQAeAgAAY29tcHJlc3MAZGVjb21wcmVzcw=="); - base64DecodeToExistingUint8Array(bufferView, 159026, "IRkfAgAAEgAhGSACAAAhAAkAIQIAAC0AAQAiAgAAY3JlYXRlQXJyYXlCdWZmZXIAY3JlYXRlQ2FsbGJhY2sAY3JlYXRlSW1hZ2UAZ2V0SW5zdGFuY2U="); - base64DecodeToExistingUint8Array(bufferView, 159122, "CQAjAgAABQAJACQCAAAMAAkAJQIAABMACQAmAgAAGgAJACcC"); - base64DecodeToExistingUint8Array(bufferView, 159168, "U0hBMQBTSEEyMjQAU0hBMjU2AFNIQTM4NABTSEE1MTIAAAAAAABhACgCAABjcmVhdGU="); - base64DecodeToExistingUint8Array(bufferView, 159234, "AYApAgAACQABgCoCAAATAACAKwI="); - base64DecodeToExistingUint8Array(bufferView, 159264, "Z2V0SW5wdXQAZ2V0T3V0cHV0AGludm9rZQAAAAAAAAAoRgIAKEYCAAAwRgIAkEYCAAzgRgIAUEoCAG0QTgIA4E8CADlQUgIAIFQCADqAVgIAcFgCAD7wWgIAEFsCAARMWwIAVFsCAAFgWwIAIFwCABe4XAIAwFwCAAHMXAIA1FwCAAHgXAIAcF0CABIAXgIAgF4CABAgXwIAMF8CAAJAXwIAEGACABkcYQIAJGECAAEwYQIAOGECAAFEYQIATGECAAFYYQIAYGECAAFsYQIAdGECAAGAYQIAsGECAAXQYQIA4GECAAIAYgIAMGICAAVwYgIAeGICAAGQYgIA8GICAAtwYwIA4GMCAA2gZAIAwGQCAATgZAIA8GQCAAIAZQIAwGUCABeMZgIAlGYCAAGwZgIA0GYCAAQQZwIAAGgCAB2QaAIAwGgCAAXoaAIA8GgCAAEAaQIAIGkCAANAaQIAcGkCAAagaQIAwGkCAAPgaQIA8GkCAAL8aQIABGoCAAEQagIAcGoCAAvAagIAMGsCAA6gawIA0GsCAAb8awIABGwCAAEQbAIAQGwCAAVkbAIAbGwCAAGAbAIAoGwCAATAbAIA4GwCAAMAbQIAEG0CAAIwbQIAUG0CAASQbQIAwG0CAAXkbQIA7G0CAAEAbgIAIG4CAANQaW4AQmFuZ2xlAEUAR3JhcGhpY3MATlJGAEJsdWV0b290aABBcnJheQBBcnJheUJ1ZmZlcgBBcnJheUJ1ZmZlclZpZXcAVWludDhBcnJheQBVaW50OENsYW1wZWRBcnJheQBJbnQ4QXJyYXkAVWludDE2QXJyYXkASW50MTZBcnJheQBVaW50MjRBcnJheQBVaW50MzJBcnJheQBJbnQzMkFycmF5AEZsb2F0MzJBcnJheQBGbG9hdDY0QXJyYXkARGF0YVZpZXcARGF0ZQBFcnJvcgBTeW50YXhFcnJvcgBUeXBlRXJyb3IASW50ZXJuYWxFcnJvcgBSZWZlcmVuY2VFcnJvcgBGdW5jdGlvbgBjb25zb2xlAEpTT04ATnVtYmVyAE9iamVjdABCb29sZWFuAFJlZ0V4cABTdHJpbmcATW9kdWxlcwBNYXRoAGZzAHByb2Nlc3MAT25lV2lyZQBQcm9taXNlAFNlcmlhbABTdG9yYWdlRmlsZQBTUEkASTJDAFdhdmVmb3JtAFRGTWljcm9JbnRlcnByZXRlcgAAZw=="); - base64DecodeToExistingUint8Array(bufferView, 160192, "alXqH0ItwEdCXwAEliQWcwNTBgOHBAAAABAAEAIgx0ESRCAAkj11UpVUFXP6HQAA3yVkWnY0qRqWJAAAAAAAAJIuABGSLiAAlixpW3pN4FtaLQAA/lclWbV7JVs+VwAAT1mKeYp5anlXfwAAlWVvW29br28VVwAAe1tUW1J7UX/WVQAA7U9tSLooFRnVHwAAFwgpZAEQAXDHcQAARBDeJGV/ZSneJgAAoEQzUK1tq1TpVQYIBgCyZXpbelt/ZQBAAATrXrVVZVSjMwEAAABte70qf0d6cwAMk3eSfNZwknCTcQBwAwAEAAYABgAEAAMAQAGSCUQppxVEfSoIBChHGgSogiQA/LokBCg3GwAAAgBEIAAAhBAAAAQJRQAACUIAAIn/AQAJQgiAEEUIQCAAEAAEAAAACEccAIjJIgCQSgMfkEocgKBMIIAg9z8AQAAAAAAAAE588x3RQBQiRnkvHEGGSCLxx4giTjiHHAAAAAAAAAAADgABIJEQAhCREPQJDwAIBIEQ9AmOEAIQACABIMABAAAuEu84cZIYJaIqDyOkuggjYMYYJQRG7zjgAQAAAAAAAP+76A4QwkgCnMNPAhDeSCIQxkgiH7roHAAAAAAAAAAAEcboPBLuHCMU1hojHMYZPRLGGCHxx+ggAAAAAAAAAADOux8jMUISI9E7EiMxBhIVMkYSFS064ggBAAAAAADgIDHGjxBRRYEQlSiCCFURhAguEogEKpKPBAAA4AKOAAQgggACIEIB4DxCARAiIgLwIgIAECMCAPA8DnwAACCAAyAgAAQg7jn/PDBGFCMwfhQjMEL0Iu89FCIAAOAAREAGAABAAgDMRaI9REhSI0RwUiNESFIjTkRTI4ADAAAAAAAQAAAAEM4/6zwxxgwRMUboENE/GBAOBugPAAY="); - base64DecodeToExistingUint8Array(bufferView, 160888, "McYYPzFGFQVRVRIJUVX1EI+oGD4AAOAAg2AADIQQABKEEAA4mIwEEJiMCjiEEAkShBAADINgAAAADAAAABAACAAQAAgAOAA+ABAACICRDQiAkFQJAGEJCARkAgCEaAceXxEoKAQgRywEwIAoH+xIKARsJx4EAAAAgABAGOADgAhPAMAQlAAAABYBAAAUAgAA7wMAAAAAAABpAwAAMgEAGlsSACwAOAAAAHz3AQA4AAAAEAAAAAAAAIAAAAgfAAAAy0EFPguiCgTAEQsIICAKEMDDBT4AAAAAAAACABEAYgAREIciCgDKHQQQihQEkIccBBByIwAQAgCROOUYkUAQBYowUB0fSJAlBCSQHZ8YUAGEBBABgHjgAAAA9xkAgAgkBYAOJAqADRjUgw4ASoANAEWACAAAAAcAgDEBAEQIkh6EEJA6HwmQGsQx0AoEAKAKHwCACgAAAAsAEAYkADAJJAAQSSkMEKkIDDhWEgABoBaAAEAvAAMAIhICZhxSAQAAVBJCCIQBpRSLEuccKaEYI3LFGCMzOgAAVhEAGISA4z6EEBYhSikLOc45DiExRhohMcbrPgAAQABGAWYc/3/nHBBCQgicc0IIEEJCCBBCQgj/f+ccAAAAAApYZhSOReccROUYI6TXGCMkzRgjRMUYI45F5xwAAAAAVoHADM4BFyMxghkjMaoaIzGSGiMxqhwjzgHnHAAACABKEQAYMUbIADFGLx0xqkgDMZI4HzESHyPOEWgfAAAAAMRZpQAAAEAAzjnnPCGEEArvvfc+McYYKe+99xYAAAAAgBmlGAAAAADOOecYMMYYCdB77wkQQggJ7733HAQAAABGKWUZAAAGAIwx4R2EEBcjhJAYI4SQGCPOORcdAAAAAEZZBQAAAAACzjlHHDHGCCYxxvgrMcYIMs45RxwAAAAgzChFIAAAACAxxhgtMcYYMzHGGDMxxvgs770XIAAA4CAKAAAAAAAAABEAAAARAAAAEQAAAA8AAAABAAAADgAAAAQEBAQEBAQEBB4EFRUeDAwEBAQEBAYEBAoKBAQLDg0KBgwHGBAEBAYEBAYLBCsMGxgUDAoGDAwQDAYOCh8QBAQOCAQHEAQECQoIBAgGBAQEFgQUBBUJBAwLBAQJBAwLBAQJHAkQBw8EBAkEChsEGxIWBAQEBBQEEQQeBAQEBAQeFAYGBhIOEAQEBAQEBAQLBgYECwsMEhMEBAQHCAQEFRQLBAQHBAQEBAwHBAQUBAQEBAQSGwQEBwgEBBUmCwQEBAQHCAQEBAQEBAAAAAAAAACpq8XDJymRjycpXVsqLGBeKy3HxS8xy8mCjaecT1p0aR0e1NMqKzpVU0VEUF1rbHuWo7zHxrecnqytoZSGhXZbTjUuMMXDKCo4Ul5dQVBFXUQpRTZBKUJdXE40lZelv8vKrr2yyrGWsqOulq/KybuhLDdQa8vNbVJGVGB2j5y3xsi9sX99lq6snpGFb1Y7HR9Eap7G7+3EnGhCGhxFbaHH7OrFn2tDKiyUkjVOiXA7VoNoaHCKgkRGrqyqrMbf3cRobYeCISPS0CosO1ZURkRQTjWcnqyuoqS9yMa3TlCenFRWpKIqLK6xy8OprERbQVRWY3yfuKuxy8OpkG1hVFZjfJekopWHhWttYSwuyshThIqknIInL0lDaoJeYG+KpKKIeniEgmknL0nHxUdBTlBda21hVFZjiG6XpKKVh4WRnpyPaoRbTlBqeHpuVFakooiJlJKDaFtdd3VcXnh2SWN5l7F1TlZwaIKKpJxBW3mPqX1UVmN8h5SSeGxtYayuyMZFSVhmgajAv6KWiJSisbytknlufZimpZmMcWJga4SeucjN2uXh0sSpdVxQKy3Ny1OknoWJU8XDJyw7VmN8bn2Ypb7Jxauvo5aIhGptYVRGQ8XDKy49S1ZHRlFqhJ+ur6Szv8rHuKqPW0I2Jyw7SWSYsb3IxautoolvVEVDxcMnL0lDam6IhKuxy8MnL0lDam6IhMXDe3+zsZeVJylqby4wzMqJhMXDJytFRKytx8OpqkJBLjClvsnGt5yRrJ6trqOvlicpdy4weczKhZHFwycpq7HLwycplZQwMs7MZK+uXcXDJymWLjDMyl3FwysuPUtmmrO/ysiur6SLcVZHRlFqhJ+uyMe4qo9bQjYnLDtWcImUkXd6blRGQ8XDsbzm24aIzMpOUF1rbXyXpKKVh4V2WycxS0fJx0VBJymenCcpoS8xyccnKcjGLC7MyjEzzMosLsjGJynNyy8xxcMnKW0vMYjJx4YnL0mrscvDqUdBGh85NtLV7+oaHNnXGh/v6tDTNzQrdXdSe33Q2PLqJylSUGBiysheX26Jo7zHraGHeXiEnqytx8a3nIJpJynFw15fbomHeXiEnqytoaO8x8a3nIJpLC7KyF5fbomjnoSHeXiEnqyuvMfGt5yCaSssRkVRxsRPNltgenVgYsrj7u3e0MTT1MheX26JysiHeXiEaVtdxcMnKUNBXV/H4Ovq0NHFKStFQycpkWBik8rIn6vFw2Nkc47PzYx+fYluW13s6mBi8e9eX258h3l4hGleX258iHl4hHeFhpWjvMfGt6mdrK2hrqCfkIJpKCqfra7Ix7idW12erK2hYGLKyLu8x8a3nFtdoGFjyMZbXcjGYGLMymVnzMqVyMZbXcvJYWPFw2JkyOHs69HSxltdrsdbYnyssMrDqXl1HyA6OUVfeISSrcfV1vDv4MWrkJ6PdWp2XUMqGhzs6hobKkVfemx7laCUrcfg6+rQ0cWrkoZ4XUM1NFFcdYKEd2t5lKOYf3JwfYl7YCwvPldIR1JrhaCvsKXAy8i5q5BcQzdocH11goqXj0FDXVt1d9/dUVJhfHpsa3eRn6CUlq+6uaqPdVxERcfGKyw7SVRGRVGSq7HLw6mQTzZoboiCQk5cdZCcqp6tlJKEal5gboiUraKwpJZ9YlZIVEVQdn6Lg5CYpZ2PkezqGhx3dSstR0UrLz5MZ5u0wMu+s5pmSzw4Q1yQq7q+y8e4qo9bQjZGSFdycGJgbIaUloqMpbCun4RqUV5shKCsgmFvh6OvhWhwsa+IgisvPDhDXJCrur7Lx7iqj1tCNi88S2aas77LwLSbZ0w+REhkfoqysIiWlHp8YmCurCcvSUE3OaGfqbHLw1tjfXUpK1BOnLjs6oKEnpzExdPg7Ord3tLf0V9rh5+tiVxohJyqhi8xxsQpKl5fbGlcXTZCNYqLzMuKi7CzwLyviYuZpr7Azcq9pZiWKCo4RVFEUl9raVxeUVBDRDc1eHqUoJ+ruMbIvL7X4uDRtqmQhURGYF4DBSAfBQcfHgQGIiASHhwEDxwRIBUIEwIEHhwGCCIgBAYULjo5HSwhOSAFIRIdBR45OCoQLDNNSXBzjYqxtc/Jop+GiEcuxcPIydfk8O7h4tbj1QIEHx4EBh4dAwUhHxEdGwEDHRsFByEfAAIdHAIEHBsoLEZFra7IxKqrQ0ICBCAeEBwaAAIcGgQGIB4oLTxKZZmyvsnGrK6jinBVRkTGxAQGISBCTrCkSFaqnDAyxcMnKZGcJylDRlVwiqOuq5GUiG5gXcXDKis6VWJue5exvcjGrK6ilXlsYFNFRFDFw041KStGRSosREMqLEhGOERCKjVCN0Y7LjkoKkRCLC5IRh0fLUdTUjZFOlI5HjorNh43UlFDKV5fbmNkc46oo4mMfn2Jo7GzwczLvMfFqZyEh6Gfq56sraGHeXdpxsfV4u7s3+DU4dNcXsbEJylEQygqQkFdX8fFKStHRTdDQSk1RF+JfFQ4LDpdT5KUrqxgYsXDKy1FRCcp7OotL0lHAAAAAAABAgMEBQYHCAkKCwwNAg4PEBESExQVFgAXGBkaGxwdGB4YGR8gGSEhGRgaIiMYGSQZGCUAFSYnKCkqKywYLS4vMDEyMzQwNTY3ODk6Ozw9Pjw/PUAYGUFCN0NERUZHSElKS0xNTk9QUFFSUFNUVVZXUFhRWVpbXF1RWFleWFlQUF9QYGFZYmNWZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7R3x9Wn5/gIGCg4SFhocLiImKi4xkjY6PkJGSk5GUkpGTlZaXmC6ZLpoumy6cnS6eLp8woDKhMqIyozKkpTamNqeoqaiqq6wWO5utPJk8mjybPJydPK6vsDyYsTeisTeasTecnbE3R5mys7RPULVPULZPULdPULi5T1BPULq7UrxUtFS1VLZUuLm9vlm/wMHAWn5QwsO3WFlQtFC1ULZQt1C4uROXxFDFZLRktWS2ZLi5aWrGx1BpalzIAAAAAAACAgQCAwEBAQEDAgEBAQEEAQIDAQMEAQMDAgIBAgEDAQEBAQEBAQIBAQEBAQEBAQECAgMBAgEBAgEBAQEBAQEBAgIBAgECAgICAgEBAwIBAgICAQIBAQECAgEBAQEBAAM="); - base64DecodeToExistingUint8Array(bufferView, 164240, "AgICAQMCAAICAAIBAAMBAQMAAAECAAEBAAACAwMDAgICAgIDAgECAgICAwICAgMCAgICAgIDAgIDAwMEAgEBAwMDAwQDAQICAgIDAgICAwMDAgICAgMDAgICAgMDAgQABCEUpRznDGMAAAAAAAAAAJgvikKRRDdxz/vAtaXbtelbwlY58RHxWaSCP5LVXhyrmKoH2AFbgxK+hTEkw30MVXRdvnL+sd6Apwbcm3Txm8HBaZvkhke+78adwQ/MoQwkbyzpLaqEdErcqbBc2oj5dlJRPphtxjGoyCcDsMd/Wb/zC+DGR5Gn1VFjygZnKSkUhQq3JzghGy78bSxNEw04U1RzCmW7Cmp2LsnCgYUscpKh6L+iS2YaqHCLS8KjUWzHGeiS0SQGmdaFNQ70cKBqEBbBpBkIbDceTHdIJ7W8sDSzDBw5SqrYTk/KnFvzby5o7oKPdG9jpXgUeMiECALHjPr/vpDrbFCk96P5vvJ4ccaA"); - base64DecodeToExistingUint8Array(bufferView, 164672, "Iq4o15gvikLNZe8jkUQ3cS87TezP+8C1vNuJgaXbtek4tUjzW8JWORnQBbbxEfFZm08Zr6SCP5IYgW3a1V4cq0ICA6OYqgfYvm9wRQFbgxKMsuROvoUxJOK0/9XDfQxVb4l78nRdvnKxlhY7/rHegDUSxyWnBtyblCZpz3Txm8HSSvGewWmb5OMlTziGR77vtdWMi8adwQ9lnKx3zKEMJHUCK1lvLOktg+SmbqqEdErU+0G93KmwXLVTEYPaiPl2q99m7lJRPpgQMrQtbcYxqD8h+5jIJwOw5A7vvsd/Wb/Cj6g98wvgxiWnCpNHkafVb4ID4FFjygZwbg4KZykpFPwv0kaFCrcnJskmXDghGy7tKsRa/G0sTd+zlZ0TDThT3mOvi1RzCmWosnc8uwpqduau7UcuycKBOzWCFIUscpJkA/FMoei/ogEwQrxLZhqokZf40HCLS8IwvlQGo1FsxxhS79YZ6JLREKllVSQGmdYqIHFXhTUO9LjRuzJwoGoQyNDSuBbBpBlTq0FRCGw3Hpnrjt9Md0gnqEib4bW8sDRjWsnFswwcOcuKQeNKqthOc+Njd0/KnFujuLLW828uaPyy713ugo90YC8XQ29jpXhyq/ChFHjIhOw5ZBoIAseMKB5jI/r/vpDpvYLe62xQpBV5xrL3o/m+K1Ny4/J4ccacYSbqzj4nygfCwCHHuIbRHuvgzdZ92up40W7uf0999bpvF3KqZ/AGppjIosV9YwquDfm+BJg/ERtHHBM1C3EbhH0EI/V32yiTJMdAe6vKMry+yRUKvp48TA0QnMRnHUO2Qj7LvtTFTCp+ZfycKX9Z7PrWOqtvy18XWEdKjBlEbIA="); - base64DecodeToExistingUint8Array(bufferView, 165440, "BAAABAEABAIgBAMhBAQiBAUjBAYABAcABAgABAkABAoABAsABAwABA0ABA4ABA8ABBAAFBEABBIABBMABBQABBUABBYABBcABBgABBkABBoABBsABBwkBB0lBB4mBB8nBCAABCEABCIABCMABCQABCUABCYABCcABCgABCkABCoABCsABCwABC0ABC4ABC8Au84gINKgP/+AcLg//8AOLh4ONj//4AOLn//wAOLv//M5n//wNLM4P8M5v4M5qFMM4J2MM4IOMM4KFLgP4j4OIRwUPwEH8F/CArmDnkAgfgwFABwkCAYRlBgPhEoYACgggCE4MB4QOGhCTCAQNB4g0DAAUQAQMcDgOBxA0DAAUgAQMwIAMDyAlCAAZQCSIMIgcgEoR2FgICBmEHoBnFIIUDEQUOUoMf5F/gF+oUD/EOCYUNCINAqHBgcCwkIjBYBg0AjxqBgFhgMMgcIkEYLAJVBUwNEgFCgUQAIOAiFgNgU4gGIgGEgkggkhBYKiBKoNwgMQgMIhGAhFD//BM4MIgPggUgFAMRUQOEM4OAgMogfAglAFQIpBkJFBYAMCwEGEwIBBoFCJoKbBMoME8EdIIOAmGAw0BwkQhkMHQNgnSrBwGhgMGgsIiEwQoMUoFn/0A/x2Bg/yiEf4EYgEngJrBAAkEAYSBBoDECAAjzDBwOAYgLrFToIOCZ4IRBdYrzDvACB+AOFwIFDBwMHJI38Agd8gE/JIwAEn8D/AOM//gBxd//46GAAv//4NLgP/V4IAKgf/L4gOJLBkH/6TFAA0PM5sfM5qFBwCFNBpaFBM5gOBM4I="); - base64DecodeToExistingUint8Array(bufferView, 166071, "D+YAACQAcAAAASADgAAAABABPAPAPPAPAPIAIAAAA4gIiBEQf/BEQIiAjgAABgYSECTAMmAZIEJDAwAAADwOhCIIRhBzIAGAHoAACQAcAAAAB8AwYIAiACAACACIAgwYB8AAACQAMAH4AMACQAAAAgAEAAgA/gAgAEAAgAAAAEgA4AAAEAAgAEAAgAEAAAAAYADAAAABAAwAYAMAGADAAAAA/gICCGIRhBAQH8AAAEABAAQAD/4AABA4QZCEIRBBwIAABAQQBCEIQhB7wAAADABoARAMID/4AIAAAfCCIIRBCIIQ+AAAP+CIIRBCIII+AAAQACB4QwCYAcAAAAPeCEIQhCEIPeAAAPCCEIQhCEIP+AAAGGAwwAAAwoGGAAAAgAKACIAggICAAACIARACIARACIARAAABAQEEARABQAEAAABAAQACCYQgCIAOAAAAP+CAIRxCRISJB/AAAAf4MQCCAMQAf4AAD/4QhCEIQhB7wAAB/wQBCAIQBBAQAAD/4QBCAIICA/gAAD/4QhCEIQhCAIAAD/4RACIARACAAAAB/wQBCAIQhBHwAAD/4AgAEAAgD/4AACAIf/CAIAACAwQBCAIQBD/wAAD/4AgAKAGMDAYAAD/4ABAAIABAAIAAD/4MAAYAMAD/4AAD/4MAAYAAwD/4AAB/wQBCAIQBB/wAAD/4QgCEAQgB4AAAB/wQBCAoQCB/oAAD/4QgCEAQ4B44AABwQRBCEIQRBBwAACAAQAD/4QACAAAAD/wABAAIABD/wAAD4AA8AAYA8D4AAAD/gADABgAwABgADD/gAADA4GYAMAGYDA4AADgADAAH4DADgAAACAYQNCOIWBDAIAAD/8QAiAEAADAAGAAMAAYAAwABAAAQAiAEf/gAACABgAQABgACAAAAABAAIABAAIABAAIAACAAIAAgAAAAJwCRASICSAP4AAD/4BCAQICBAPwAAAPwCBAQICBAIQAAAPwCBAQIBCD/4AAAPwCRASICRAOQAAAQAP/CQASACQAAAAOsCKQRSCKQeSCBgAAf/AIACAAQAB/AAAABAQIT/AAIABAAAAAgACAAQQCT/gAAf/ABAAYAMgCDAAAABCAIf/AAIABAAAD/AQAD/AQAB/AAAD/AIACAAQAB/AAAB+AQICBAQIB+AAAD/wIQCBAQIB+AAAB+AQICBAIQD/wAAD/AIACAAQABAAAABiASICRARIBGAAACAD/wCBAQICBAAAD+AAIABAAQD/AAADgADgADADgDgAAAD8AAYAcAAYD8AAADDAEgAYAEgDDAAADwYBsACABgDwAAACDAQoCZAUIDBAAAOTiNiQAQAAf/AAAQASNiOTgAAAgAIABAAEAAQACAAgAAABBB/4RBCAIQBBA4AADigD0AD8D0DigAABgASACQAMAAAAXACoAJAAAAVACoAKAAAAIACAAAAAf+ABAAIACAf4AAAMABgAAAJAD4ABAAAAOACIAOAAAAAf6MQKCAMQAf4AAAf4MQKCCMQAf4AAAf5MQSCBMQAf4AAIf6MQKCCMQAf4AAA/yYgEECYgA/wAAAf5MQWCBMQAf4AAP/CCAQQD/4QhCEIAAB/wQBKANQBRAQAAAf/SEJQhCEIQBAAAf/CEJQhSEIQBAAAf/KEKQhKEIQBAAA/+UIQhCUIQgCAACQBL/4QBAAAQBL/6QBAABQBT/5QBAACgCH/ygCAAD/4QhCEIICA/gAABf/RgBDAQGAf/AAAP+SAJQBCAIP+AAAP+CAJQBSAIP+AAAP+KAKQBKAIP+AAAP+KAKQBKAKP+AAAf8UAQgCUAQf8AABCAEgAYADAAkAIQAAAH/BBwJyBwQf8AAAD/xABUAJABD/wAAD/wABIAKABD/wAAD/xABQAJABT/wAAH/iACAASACH/gAADgADAIH6DADgAAAf/wgQECAgQD8AAAP/CAARBCIIOhADwAAAJwSRBSICSAP4AAAJwCRBSISSAP4AAAJwKRCSIKSAP4AABJwSRBSISSAP4AAAJwKRASIKSAP4AAAE4JIipEJJAH8AAAJwCRASIB+ASICRAOQAAAPwCBIQOCBAIQAAAPwSRBSICRAOQAAAPwCRBSISRAOQAAAPwKRCSIKRAOQAAAPwKRASIKRAOQAAAAISBBf4ABAAIAAAAICBBf4QBAAIAAAAIKBCf4IBAAIAAAAIKBAf4IBAAIAAAH4VAioENAhf4AABf4RABQASAAP4AAAPwSBCQIKBAPwAAAPwCBBQISBAPwAAAPwKBCQIKBAPwAAAPwKBCQIKBCPwAAAPwKBAQIKBAPwAAAEAAgA1gGsAEAAgAAAABAHwBFAJIBRAHwBAAAAD+CAIIBAAQD/AAAD+AAIIBCAQD/AAAD+BAIQBBAQD/AAAD+BAIABBAQD/AAADwYBsICCBgDwAAAf/ARACIAOAAAAeDINgAQIMAeA="); - base64DecodeToExistingUint8Array(bufferView, 167920, "AwIGCAgICAMFBQYIAwYDBwcFBgYHBgYGBgYDAwYHBgcHBgYGBgYGBgYEBgYGBgYGBgYGBgYGBggGBgYEBwQGBwQGBgYGBgYHBgYGBgYGBgYGBgYGBgYGBgYGBgQCBAg="); - base64DecodeToExistingUint8Array(bufferView, 168051, "BwAG"); - base64DecodeToExistingUint8Array(bufferView, 168064, "BQAEBAMGAAMABAQAAAAAAAYGBgYGBgcGBgYGBgQEBAQGBgYGBgYGBwYGBgYGBgYHBgYGBgYGCAYGBgYGBgYGBgYGBgYGBgYHCAYGBgYGBQY="); - base64DecodeToExistingUint8Array(bufferView, 168159, "f+cH/nAAAA+AAPgAAAAAAAAPgAD4AAAAAAQQAEEAf/8H//AEEABBAH//B//wBBAAQQAAAADggB8MAxhgIIIP//j//4IIIDDGAYfACDgAAAAYAAPAMCQPA8PAGPAAPGAPDwPAkDAPAABgAAAAA8AcfgPsMGOBBBgQY8MD5mAcPAAP8ADDAAAA+AAPgAAAAAB/AB/8A4DgYAMEABAAAAQAEGADA4DgH/wAfwAAAAAIAAiIAMmABrAAPgABwAA+AAawAMmACIgACAAAAAAIAACAAAgAAIAA/4AP+AAIAACAAAgAAIAAAAAAAIAA+AAPAAAAAIAACAAAgAAIAACAAAgAAIAACAAAgAAIAAAAAABwAAcAAAAAAwAA8AA8AA8AA8AA8AA8AAMAAAAAAf/AP/4GAzBAYQQMEEGBBDAQZgMD/+Af/AAAAAgBAYAQMAEH//B//wAAEAABAAAQAAABwDA8BwYA0EAZBAMQQGEEDBBhgQPwEB4BAAAAEAQDAGBgAwQIEECBBAgQQIEGHDA/fgHjwAAAAAeAAPgAGIADCABggAwIAYCAMAgH//B//wAAAH8EB/BgQQMEEBBBAQQQEEEBBBgwQP4EB8AAAAH/wD/+BhAwQQEEEBBBAQQQEEGDBA/gAHwAAABwAAcAAEAABAAAQB8EB/BB4AR4AH4AB4AAAAAB48A/fgYcMECBBAgQQIEECBBhwwP34B48AAAAHwAD+BBgwQQEEEBBBAQQQEEGBDA//gH/wAAAAHDgBw4AAAAAAIBw+AcPAAAAAIAAHAADYABjAAwYAYDAMAYGADBAAQAAAAIQACEAAhAAIQACEAAhAAIQACEAAhAAIQAAAAQAEGADAwBgGAwAwYAGMAA2AAHAAAgAAAABwAA8AAYAAEAABAZwQOcEGABjAAPgABwAAAAAH/wD/+BgAwQAEEPhBH8QTBkEgJBoCQP/kB/5AAAAH/8D//BgQAQEAEBABAQAQEAGBAA//wH/8AAAB//wf/8EEBBBAQQQEEEBBBAQY4MD7+AcfAAAAB/8A//gYAMEABBAAQQAEEABBgAwOA4BgMAAAAf/8H//BAAQQAEEABBAAQQAEGADA//gH/wAAAB//wf/8ECBBAgQQIEECBBAgQQIEEABBAAQAAAH//B//wQIAECABAgAQIAECABAgAQAAEAAAAAAH/wD/+BgAwQAEEABBAgQQIEGCDA4/gGPwAAAB//wf/8ACAAAgAAIAACAAAgAAIAH//B//wAAAEABBAAQf/8H//BAAQQAEAAAAAHAAB4AADAAAQAAEEABBAAwf/4H/8BAAAQAAAAAB//wf/8AHAADYABjAAwYAYDAMAYGADBAAQAAAH//B//wAAEAABAAAQAAEAABAAAQAAEAABAAAAf/8D//AYAADAAAYAADAABgAAwAAYAAP/8H//AAAAf/8H//AGAAAwAAGAAAwAAGAAAwB//wf/8AAAAf/AP/4GADBAAQQAEEABBAAQYAMD/+Af/AAAAH//B//wQIAECABAgAQIAECABhgAPwAB4AAAAAH/wD/+BgAwQAEEAFBABwQAMGADg//sH/xAAAB//wf/8EDABA4AQLAECYBAjAYYYD8DAeAQAAAB4EA/BgYYMECBBAgQQIEECBBgwwMH4BA8AAAAQAAEAABAAAQAAH//B//wQAAEAABAAAQAAAAAB//Af/4AADAAAQAAEAABAAAQAAMH/+B//AAAAHgAB/gAB/AAB8AADwAA8AB8AH8Af4AHgAAAAAf/8H/+AADAABgAAwAAYAADAAAYAADAf/4H//AAAAYAMHgPAePAB3AAHAABwAB3AB48B4DwYAMAAABgAAeAAB4AAHgAAf8AH/AHgAHgAHgABgAAAAAEAPBAHwQDEEBhBAwQQYEEMBBGAQfAEHgBAAAAf/8H//BAAQQAEEABAAAAMAADwAAPAAA8AADwAAPAAA8AADAAAAQAEEABBAAQf/8H//AAAACAABgAAwAAYAAMAADAAAYAADAAAYAACAAAAAAAAEAABAAAQAAEAABAAAQAAEAABAAAQAAEAAAIAADAAAYAACAAAAAAABwAQ+AEYwBEEARBAEQQBEEAZBAD/wAf8AAAB//wf/8AQBAEAQBAEAQBAEAQBgMAP+AB/AAAAAH8AD/gBgMAQBAEAQBAEAQBAGAwAwYAEEAAAAAfwAP+AGAwBAEAQBAEAQBAEAQBB//wf/8AAAAB/AA/4AYjAEIQBCEAQhAEIQBiEAPjAB4gAAAAQAAEAABAAD//B//wRAAEQABEAAQAAAAAAB/AA/4QYDEEARBAEQQBEEARBAMwf/4H/8AAAH//B//wBAAAQAAEAABAAAQAAGAAA/8AH/AAAABAEAQBB3/wd/8AABAAAQAAAAAAwAAOAAAwAAEEABBAA3f/53/8AAAH//B//wACAABwAA2AAYwAMGAGAwBAEAAABAAQQAEH//B//wAAEAABAAAAB/8Af/AEAABAAAf/AH/wBAAAYAAD/wAf8AAAAH/wB/8AQAAEAABAAAQAAEAABgAAP/AB/wAAAAH8AD/gBgMAQBAEAQBAEAQBAGAwA/4AH8AAAAB//wf/8EAQBAEAQBAEAQBAEAYDAD/gAfwAAAAB/AA/4AYDAEAQBAEAQBAEAQBAEAf/8H//AAAAf/AH/wAYAAMAAGAABAAAQAAEAABAAAQAAAAAA8IAfjAEIQBCEAQhAEIQBCEAQhAGPwAh4AAAAEAABAAAQAB//gf/8AQBAEAQBAEAABAAAAB/wAf+AAAwAAEAABAAAQAAEAABAH/wB/8AAAAHAAB8AADwAAPAAA8AAPAAPAAPAAfAAHAAAAAAf+AH/wAAEAABAAfwAH8AABAAAQB/8Af+AAAABgMAcHABjAANgABwAAcAANgAGMAHBwBgMAAAAH/AB/4QADEAARAAEQABEAARAAMwf/4H/8AAAAQDAEBwBA0AQZAEMQBGEATBAFgQBwEAYBAAAAAIAACAAf/AP34GADBAAQQAEAAAB//wf/8AAABAAQQAEGADA/fgH/wACAAAgAAAAHAADwAAgAAIAADgAAcAABAAAQAA8AAOAAAAAAc/8HP/AAAAAfwAP+AGAwBAEB//wf/8BAEAYDADBgAQQAAAAAgQH/8D//BggQQIEECBBggQMAEBAHAABwAAABACAb9gD/wAQIAECABAgAQIAECAD/wBv2AQAgAAAGAAB4JAHiQAckAB/wAf8AckAeJAeCQGAAAAAAfj8H4/AAAAd8IP/jCIMQiBEIwRDH/wQ+4AAADgAA4AAAAAAAAA4AAOAAAAAAB/gAgEAT8gF/oBQKAUCgFAoBc6ATMgCAQAf4AAAADyAJ+gCQoAkKAJCgCQoAkKAP+gB/oAAAAAAgAAcAANgAGMADJgBnMATZABjAAwYAYDAEAQAAAAIAACAAAgAAIAACAAAgAAIAACAAA/AAPwAAAAAIAACAAAgAAIAACAAAgAAIAACAAAAAB/gAgEAX+gF/oBRCAUYgFHIBfaATigCAQAf4"); - base64DecodeToExistingUint8Array(bufferView, 170821, "B4AA/AAIQACEAAhAAPwAB4AAAAAACBAAgQAIEACBAP+QD/kACBAAgQAIEACBAAAAYgAOYACOAAmgAPIABiAAAAAEQADGAAkgAJIAD+AAbAAAAAAgAAYAAMAACAAAAAAAf/8H//AAEAABAAAQAAEAADAABgB/8Af/AAAAPwAH+ABAgAQIAH//B//wQAAEAAB//wf/8AAAABwAAcAAAAAAABAADwAA4AAAIAAGIAD+AA/gAAIAAAAAPiAH8gDBoAgKAICgCAoAwaAH8gA+IAAAAAQBAGAwAwYAGMAE2QBnMAMmABjAANgABwAAIAAAAAAGAgDAYBgP4wD+ZgAM4AGaADMgBn+Ax/gAAAAAwCAYBgMA/mAP7YgBuYAyOAYmgMPIGBiAAABEBgxgwJIYCSMA/mYGzOABmgAzIAZ/gMf4AAAAAcAAPgAGMADBBzgQcwEAABAAAwAB4AAcAAAAA//gf/6MCAyAgGgIAoCACAgAwIAH/+A//gAAAD/+B//gwIAICAKAgGgIDICAjAgAf/4D/+AAAAP/4H/+LAgGgIDICAyAgGgIAsCAB//gP/4AAAA//mf/7sCAiAgMgIBoCAKAgOwIDH/+A//gAAAD/+B//uwIDoCACAgAgIDoCA7AgAf/4D/+AAAAP/4H/+bAgPgICYCAmAgPgIBsCAB//gP/4AAAH/8D//BggAQIAECABAgAf/8H//BAgQQIEECBBAgQAAAB/8A//gYAMEABFAAfQAHkABBgAwOA4BgMAAAAD//g//6IECyBAmgQIoECCBAggQIIACCAAgAAAP/+D//ggQIIECKBAmgQLIECiBAggAIIACAAAA//4P/+KBAmgQLIECyBAmgQIoECCAAggAIAAAD//g//7oEC6BAggQIIEC6BAugQIIACCAAgAACIACyAAm//4v/+CAAggAIAAACAAggAIv/+b//sgAKIACAAACgAJoACz//s//5oACKAAgAADoAC6AAg//4P/+6AAugAIAAAAIAH//B//wQIEECBBAgQQIEEABBgAwP/4B/8AAAAD//m//7gwAgGAMAwBgGAIAwOAGDP/+D//gAAAD/4B//IwAbIACaAAigAIIACDABgf/wD/4AAAAP/gH/8DABggAIoACaAAsgAKMAGB//AP/gAAAA/+Af/wsAGaAAsgALIACaAAiwAYH/8A/+AAAAD/4Z//OwAaIACyAAmgAIoAC7ABsf/wD/4AAAAP/gH/87ABugAIIACCAAugALsAGB//AP/gAAACAgAwYAGMAA2AAHAABwAA2AAYwAMGACAgAAAAABAH/wD/+BgMwQGEEDBBBgQQwEGYDA//gH/wBAAAAAAD/+A//yAAGwAAmAAIgACAAAgAAYP/8D/+AAAAP/4D//AAAYAACIAAmAALAACgABg//wP/4AAAA//gP/8IABmAALAACwAAmAAIgAGD//A//gAAAD/+A//zgAG4AAgAAIAAC4AAuAAYP/8D/+AAAAMAADwAAPAAA8AID/mA/7A8Ag8AA8AAMAAAAAH//B//wCBAAgQAIEACBAAgQAMMAB+AAPAAAAAP/8H//BBBAQQMEEBBBAQYwED+DAc/gAHwAAAAAHABD4ERjBkQQNEEBRBAEQQBkEAP/AB/wAAAAAcAEPgBGMARBAUQQNEEGRBBGQQA/8AH/AAAAABwAQ+AUYwNEEGRBBkQQNEEBZBAD/wAf8AAAAAHAND4HRjBEQQZEEDRBAUQQdkEGP/AB/wAAAAAcAEPgdGMHRBAEQQBEEHRBB2QQA/8AH/AAAAABwAQ+A0YwfEEExBBMQQfEEDZBAD/wAf8AAAAAPgBH8ARBAEQQBkEAP/AH/gBCMAQhAEIQB+MAPiAAAAAfwAP+AGAwBAEQQB8EAeBAEAYDADBgAQQAAAAB/AA/4EYjBkIQNCEBQhAEIQBiEAPjAB4gAAAAH8AD/gBiMAQhAUIQNCEGQhBGIQA+MAHiAAAAAfwAP+AWIwNCEGQhBkIQNCEBYhAD4wAeIAAAAB/AA/4HYjB0IQBCEAQhB0IQdiEAPjAB4gAAAEQBBkAQN/8Bf/AAAQAAEAAAAEAQBAEBf/A3/wYAEEABAAAAFAEDQBBn/wZ/8DABAQAQAAAHQBB0AQB/8Af/BwAQcAEAAAAB/AU/4HYDAkAQdAEFwBAMAQBgMAP+AB/AAAAAf/A3/wdAAEQABkAANAABQAB2AAY/8AH/AAAAAfwAP+BGAwZAEDQBAUAQBAEAYDAD/gAfwAAAAB/AA/4AYDAEAQFAEDQBBkAQRgMAP+AB/AAAAAH8AD/gFgMDQBBkAQZAEDQBAWAwA/4AH8AAAAAfwDP+B2AwRAEGQBA0AQFAEHYDBj/gAfwAAAAB/AA/4HYDB0AQBAEAQBB0AQdgMAP+AB/AAAAACAAAgAAIAACAAcnAHJwACAAAgAAIAACAAAAAAf0AP+AGDwBBkAQxAEYQBMEAeDAD/gBfwAAAAH/AB/4EADBgAQMAEBABAAAQAAEAf/AH/wAAAAf8AH/gAAMAABAQAQMAEGABBAAQB/8Af/AAAAB/wAf+AQAwMAEGABBgAQMAEBABAH/wB/8AAAAH/AB/4HADBwAQAAEAABBwAQcAEAf/AH/wAAAAf8AH/hAAMQABEQARMAEWABFAAzB//gf/wAAAf//3//8EAQBAEAQBAEAQBAEAYDAD/gAfwAAAAH/AB/4XADFwARAAEQABFwARcAMwf/4H/8"); - base64DecodeToExistingUint8Array(bufferView, 172880, "BgMHCwsLCwMGBgwLBAsDCQsJCwsLCwsLCwsDBAoLCgsMCwsLCwsLCwsHDAsLDAsLCwsLCwsLCwwLCwsGCQYLCwULCwsLCwoLCwcJCgcLCwsLCwsLCgsLCwsLCwgDCAs="); - base64DecodeToExistingUint8Array(bufferView, 173009, "AwsLDAsDCAcMCgwLCQwJCAsHBwULCwMEBgoMCwsLCwsLCwsLCw0LCwsLCwcHBwcMCwsLCwsLCw0LCwsLCwsLCwsLCwsLDQsLCwsLBwcHBwsLCwsLCwsLCwsLCwsLCwtKYW4ARmViAE1hcgBBcHIATWF5AEp1bgBKdWwAQXVnAFNlcABPY3QATm92AERlYwBTdW4ATW9uAFR1ZQBXZWQAVGh1AEZyaQBTYXQAAAAAAGACAABhAgAAYgIAAGMCAABkAgAAZQIAAGYCAABnAgAAaAIAAGkCAABqAgAAawIAAGwCAABtAgAAbgIAAG8CAABwAg=="); - base64DecodeToExistingUint8Array(bufferView, 173266, "HwDgB/8HAPgf+OD///8="); - base64DecodeToExistingUint8Array(bufferView, 173298, "KEJRjNe9QMwgiiAD4Af/Bx8AEYgf+AD4QPzg////AAAGAAwAEwAZAB8AgAGGAYwBkwGZAZ8BIAMmAywDMwM5Az8DwATGBMwE0wTZBN8EYAZmBmwGcwZ5Bn8G4AfmB+wH8wf5B/8HADAGMAwwEzAZMB8wgDGGMYwxkzGZMZ8xIDMmMywzMzM5Mz8zwDTGNMw00zTZNN80YDZmNmw2czZ5Nn824DfmN+w38zf5N/83AGAGYAxgE2AZYB9ggGGGYYxhk2GZYZ9hIGMmYyxjM2M5Yz9jwGTGZMxk02TZZN9kYGZmZmxmc2Z5Zn9m4GfmZ+xn82f5Z/9nAJgGmAyYE5gZmB+YgJmGmYyZk5mZmZ+ZIJsmmyybM5s5mz+bwJzGnMyc05zZnN+cYJ5mnmyec555nn+e4J/mn+yf85/5n/+fAMgGyAzIE8gZyB/IgMmGyYzJk8mZyZ/JIMsmyyzLM8s5yz/LwMzGzMzM08zZzN/MYM5mzmzOc855zn/O4M/mz+zP88/5z//PAPgG+Az4E/gZ+B/4gPmG+Yz5k/mZ+Z/5IPsm+yz7M/s5+z/7wPzG/Mz80/zZ/N/8YP5m/mz+c/55/n/+4P/m/+z/8//5////"); - base64DecodeToExistingUint8Array(bufferView, 173838, "//8AACsAgQCsAHkATgAMABIAFwAEACcAtwCQAMAA0gDXAAAABQAeACMAtAC5ANIA1wAAAAkABwAIAAwACwAOAA8="); - base64DecodeToExistingUint8Array(bufferView, 173912, "hAIAAIUCAACGAgAAhwIAAIgCAACJAgAAgPIBAK3yAQDK7gEAmfIBAI/yAQDz8QEAJPEBAEnuAQAF7gEAcPIBAFruAQC57gEAvfIBAJzuAQDM8gEAje4BAIXvAQCh8gEArO8BAAHtAQBV+AEAlPUBAI3xAQAy7gEAFe8BALXsAQCv8AEAFPEBANLwAQDW7QEAme8BANDvAQCO7wEAR/EBAIvyAQDi7gEAK+4BAEnyAQA38gEAX/EBADDvAQDw8gEA8ewBAC/xAQBR7wEA5fEBAP7uAQBF7gEAP/cBAH3tAQCx7AEAPvEBAG7vAQAG7QEAAO0BAEHvAQCe7AEASe8BAL3tAQDt8AEAUvcBACPuAQDz7wEA6O8BAKjtAQDt8QEAGe8BANzsAQBp8QEAnfEBAMrtAQD77wEA3u8BANfwAQA97wEADO0BAAvtAQCP8QEAwuwBAB3vAQBH7QEADPIBAKbsAQAv8AEA+u0BACjtAQBh8gEAHO0BAC3wAQAl7wEA6+wBABzsAQB/8QEAqPEBAMvvAQAY8gEAs/EBAAvuAQD17AEA0vEBAITyAQDw7QEA1OwBADfxAQDV7wEAR/cBAIDuAQAt8gEAxu0BAHnxAQAk8AEAAu0BAMHxAQDx8AEAJvEBAP3wAQBb8gEAvvABABHxAQCi8QEAlvYBAH/2AQAi8gEANfcBACfsAQA17wEAo+8B"); - base64DecodeToExistingUint8Array(bufferView, 174460, "kwIAAJQCAACVAgAAkQIAAJYCAACXAgAAmAIAAJkCAACaAgAAmwIAAJwCAACdAg=="); - base64DecodeToExistingUint8Array(bufferView, 174516, "ngIAAJ8CAACgAgAAoQI="); - base64DecodeToExistingUint8Array(bufferView, 174540, "ogIAAKICAACjAgAApAIAAAAAAABPZmZsaW5lTWVtb3J5QWxsb2NhdGlvbgCA////fwAAAAAAAAD/AAAAAID///9/AACA////fwAAAACA////fwAAgP///38AAAAAAACA////fwAAAID///9/AAAAAAAAAAC9AgAAvgIAAKICAACiAgAAogIAAKIC"); - base64DecodeToExistingUint8Array(bufferView, 174688, "vwIAAMACAADBAgAAwgIAAMMCAADEAg=="); - base64DecodeToExistingUint8Array(bufferView, 174720, "zQIAAM4CAADPAg=="); - base64DecodeToExistingUint8Array(bufferView, 174740, "0AIAANECAACiAg=="); - base64DecodeToExistingUint8Array(bufferView, 174760, "0gIAANMCAADUAgAA1QIAANYCAADXAgAA2AIAANkC"); - base64DecodeToExistingUint8Array(bufferView, 174800, "0gIAANMCAADUAgAA2gIAANsCAACiAgAAogIAAKIC"); - base64DecodeToExistingUint8Array(bufferView, 174840, "ogIAAKICAADUAgAA3AIAAN0CAAAAAAAAT7thBWes3T8YLURU+yHpP5v2gdILc+8/GC1EVPsh+T/iZS8ifyt6PAdcFDMmpoE8vcvweogHcDwHXBQzJqaRPBgtRFT7Iek/GC1EVPsh6b/SITN/fNkCQNIhM3982QLA"); - base64DecodeToExistingUint8Array(bufferView, 174975, "gBgtRFT7IQlAGC1EVPshCcD+gitlRxVnQAAAAAAAADhDAAD6/kIudr86O568mvcMvb39/////98/PFRVVVVVxT+RKxfPVVWlPxfQpGcREYE/AAAAAAAAyELvOfr+Qi7mPyTEgv+9v84/tfQM1whrrD/MUEbSq7KDP4Q6Tpvg11U/"); - base64DecodeToExistingUint8Array(bufferView, 175118, "8D9uv4gaTzubPDUz+6k99u8/XdzYnBNgcbxhgHc+muzvP9FmhxB6XpC8hX9u6BXj7z8T9mc1UtKMPHSFFdOw2e8/+o75I4DOi7ze9t0pa9DvP2HI5mFO92A8yJt1GEXH7z+Z0zNb5KOQPIPzxso+vu8/bXuDXaaalzwPiflsWLXvP/zv/ZIatY4890dyK5Ks7z/RnC9wPb4+PKLR0zLso+8/C26QiTQDarwb0/6vZpvvPw69LypSVpW8UVsS0AGT7z9V6k6M74BQvMwxbMC9iu8/FvTVuSPJkbzgLamumoLvP69VXOnj04A8UY6lyJh67z9Ik6XqFRuAvHtRfTy4cu8/PTLeVfAfj7zqjYw4+WrvP79TEz+MiYs8dctv61tj7z8m6xF2nNmWvNRcBITgW+8/YC86PvfsmjyquWgxh1TvP504hsuC54+8Hdn8IlBN7z+Nw6ZEQW+KPNaMYog7Ru8/fQTksAV6gDyW3H2RST/vP5SoqOP9jpY8OGJ1bno47z99SHTyGF6HPD+msk/OMe8/8ucfmCtHgDzdfOJlRSvvP14IcT97uJa8gWP14d8k7z8xqwlt4feCPOHeH/WdHu8/+r9vGpshPbyQ2drQfxjvP7QKDHKCN4s8CwPkpoUS7z+Py86JkhRuPFYvPqmvDO8/tquwTXVNgzwVtzEK/gbvP0x0rOIBQoY8MdhM/HAB7z9K+NNdOd2PPP8WZLII/O4/BFuOO4Cjhrzxn5JfxfbuP2hQS8ztSpK8y6k6N6fx7j+OLVEb+AeZvGbYBW2u7O4/0jaUPujRcbz3n+U02+fuPxUbzrMZGZm85agTwy3j7j9tTCqnSJ+FPCI0Ekym3u4/imkoemASk7wcgKwERdruP1uJF0iPp1i8Ki73IQrW7j8bmklnmyx8vJeoUNn10e4/EazCYO1jQzwtiWFgCM7uP+9kBjsJZpY8VwAd7UHK7j95A6Ha4cxuPNA8wbWixu4/MBIPP47/kzze09fwKsPuP7CvervOkHY8Jyo21dq/7j934FTrvR2TPA3d/ZmyvO4/jqNxADSUj7ynLJ12srnuP0mjk9zM3oe8QmbPotq27j9fOA+9xt54vIJPnVYrtO4/9lx77EYShrwPkl3KpLHuP47X/RgFNZM82ie1Nkev7j8Fm4ovt5h7PP3Hl9QSre4/CVQc4uFjkDwpVEjdB6vuP+rGGVCFxzQ8t0ZZiiap7j81wGQr5jKUPEghrRVvp+4/n3aZYUrkjLwJ3Ha54aXuP6hN7zvFM4y8hVU6sH6k7j+u6SuJeFOEvCDDzDRGo+4/WFhWeN3Ok7wlIlWCOKLuP2QZfoCqEFc8c6lM1FWh7j8oIl6/77OTvM07f2aeoO4/grk0h60Sary/2gt1EqDuP+6pbbjvZ2O8LxplPLKf7j9RiOBUPdyAvISUUfl9n+4/zz5afmQfeLx0X+zodZ/uP7B9i8BK7oa8dIGlSJqf7j+K5lUeMhmGvMlnQlbrn+4/09QJXsuckDw/Xd5PaaDuPx2lTbncMnu8hwHrcxSh7j9rwGdU/eyUPDLBMAHtoe4/VWzWq+HrZTxiTs8286LuP0LPsy/FoYi8Eho+VCek7j80NzvxtmmTvBPOTJmJpe4/Hv8ZOoRegLytxyNGGqfuP25XcthQ1JS87ZJEm9mo7j8Aig5bZ62QPJlmitnHqu4/tOrwwS+3jTzboCpC5azuP//nxZxgtmW8jES1FjKv7j9EX/NZg/Z7PDZ3FZmuse4/gz0epx8Jk7zG/5ELW7TuPykebIu4qV285cXNsDe37j9ZuZB8+SNsvA9SyMtEuu4/qvn0IkNDkrxQTt6fgr3uP0uOZtdsyoW8ugfKcPHA7j8nzpEr/K9xPJDwo4KRxO4/u3MK4TXSbTwjI+MZY8juP2MiYiIExYe8ZeVde2bM7j/VMeLjhhyLPDMtSuyb0O4/Fbu809G7kbxdJT6yA9XuP9Ix7pwxzJA8WLMwE57Z7j+zWnNuhGmEPL/9eVVr3u4/tJ2Ol83fgrx689O/a+PuP4czy5J3Gow8rdNamZ/o7j/62dFKj3uQvGa2jSkH7u4/uq7cVtnDVbz7FU+4ovPuP0D2pj0OpJC8OlnljXL57j80k6049NZovEde+/J2/+4/NYpYa+LukbxKBqEwsAXvP83dXwrX/3Q80sFLkB4M7z+smJL6+72RvAke11vCEu8/swyvMK5uczycUoXdmxnvP5T9n1wy4448etD/X6sg7z+sWQnRj+CEPEvRVy7xJ+8/ZxpOOK/NYzy15waUbS/vP2gZkmwsa2c8aZDv3CA37z/StcyDGIqAvPrDXVULP+8/b/r/P12tj7x8iQdKLUfvP0mpdTiuDZC88okNCIdP7z+nBz2mhaN0PIek+9wYWO8/DyJAIJ6RgryYg8kW42DvP6ySwdVQWo48hTLbA+Zp7z9LawGsWTqEPGC0AfMhc+8/Hz60ByHVgrxfm3szl3zvP8kNRzu5Kom8KaH1FEaG7z/TiDpgBLZ0PPY/i+cukO8/cXKdUezFgzyDTMf7UZrvP/CR048S94+82pCkoq+k7z99dCPimK6NvPFnji1Ir+8/CCCqQbzDjjwnWmHuG7rvPzLrqcOUK4Q8l7prNyvF7z/uhdExqWSKPEBFblt20O8/7eM75Lo3jrwUvpyt/dvvP53NkU07iXc82JCegcHn7z+JzGBBwQVTPPFxjyvC8+8/AAAAAAAA8D90hRXTsNnvPw+J+WxYte8/UVsS0AGT7z97UX08uHLvP6q5aDGHVO8/OGJ1bno47z/h3h/1nR7vPxW3MQr+Bu8/y6k6N6fx7j8iNBJMpt7uPy2JYWAIzu4/Jyo21dq/7j+CT51WK7TuPylUSN0Hq+4/hVU6sH6k7j/NO39mnqDuP3Rf7Oh1n+4/hwHrcxSh7j8TzkyZiaXuP9ugKkLlrO4/5cXNsDe37j+Q8KOCkcTuP10lPrID1e4/rdNamZ/o7j9HXvvydv/uP5xShd2bGe8/aZDv3CA37z+HpPvcGFjvP1+bezOXfO8/2pCkoq+k7z9ARW5bdtDvPwAAAAAAAOhClCORS/hqrD/zxPpQzr/OP9ZSDP9CLuY/AAAAAAAAOEP+gitlRxVHQJQjkUv4arw+88T6UM6/Lj/WUgz/Qi6WPwAAAAAAAAAAAwAAAAQAAAAEAAAABgAAAIP5ogBETm4A/CkVANFXJwDdNPUAYtvAADyZlQBBkEMAY1H+ALveqwC3YcUAOm4kANJNQgBJBuAACeouAByS0QDrHf4AKbEcAOg+pwD1NYIARLsuAJzphAC0JnAAQX5fANaROQBTgzkAnPQ5AItfhAAo+b0A+B87AN7/lwAPmAUAES/vAApaiwBtH20Az342AAnLJwBGT7cAnmY/AC3qXwC6J3UA5evHAD178QD3OQcAklKKAPtr6gAfsV8ACF2NADADVgB7/EYA8KtrACC8zwA29JoA46kdAF5hkQAIG+YAhZllAKAUXwCNQGgAgNj/ACdzTQAGBjEAylYVAMmocwB74mAAa4zAABnERwDNZ8MACejcAFmDKgCLdsQAphyWAESv3QAZV9EApT4FAAUH/wAzfj8AwjLoAJhP3gC7fTIAJj3DAB5r7wCf+F4ANR86AH/yygDxhx0AfJAhAGokfADVbvoAMC13ABU7QwC1FMYAwxmdAK3EwgAsTUEADABdAIZ9RgDjcS0Am8aaADNiAAC00nwAtKeXADdV1QDXPvYAoxAYAE12/ABknSoAcNerAGN8+AB6sFcAFxXnAMBJVgA71tkAp4Q4ACQjywDWincAWlQjAAAfuQDxChsAGc7fAJ8x/wBmHmoAmVdhAKz7RwB+f9gAImW3ADLoiQDmv2AA78TNAGw2CQBdP9QAFt7XAFg73gDem5IA0iIoACiG6ADiWE0AxsoyAAjjFgDgfcsAF8BQAPMdpwAY4FsALhM0AIMSYgCDSAEA9Y5bAK2wfwAe6fIASEpDABBn0wCq3dgArl9CAGphzgAKKKQA05m0AAam8gBcd38Ao8KDAGE8iACKc3gAr4xaAG/XvQAtpmMA9L/LAI2B7wAmwWcAVcpFAMrZNgAoqNIAwmGNABLJdwAEJhQAEkabAMRZxADIxUQATbKRAAAX8wDUQ60AKUnlAP3VEAAAvvwAHpTMAHDO7gATPvUA7PGAALPnwwDH+CgAkwWUAMFxPgAuCbMAC0XzAIgSnACrIHsALrWfAEeSwgB7Mi8ADFVtAHKnkABr5x8AMcuWAHkWSgBBeeIA9N+JAOiUlwDi5oQAmTGXAIjtawBfXzYAu/0OAEiatABnpGwAcXJCAI1dMgCfFbgAvOUJAI0xJQD3dDkAMAUcAA0MAQBLCGgALO5YAEeqkAB05wIAvdYkAPd9pgBuSHIAnxbvAI6UpgC0kfYA0VNRAM8K8gAgmDMA9Ut+ALJjaADdPl8AQF0DAIWJfwBVUikAN2TAAG3YEAAySDIAW0x1AE5x1ABFVG4ACwnBACr1aQAUZtUAJwedAF0EUAC0O9sA6nbFAIf5FwBJa30AHSe6AJZpKQDGzKwArRRUAJDiagCI2YkALHJQAASkvgB3B5QA8zBwAAD8JwDqcagAZsJJAGTgPQCX3YMAoz+XAEOU/QANhowAMUHeAJI5nQDdcIwAF7fnAAjfOwAVNysAXICgAFqAkwAQEZIAD+jYAGyArwDb/0sAOJAPAFkYdgBipRUAYcu7AMeJuQAQQL0A0vIEAEl1JwDrtvYA2yK7AAoUqgCJJi8AZIN2AAk7MwAOlBoAUTqqAB2jwgCv7a4AXCYSAG3CTQAtepwAwFaXAAM/gwAJ8PYAK0CMAG0xmQA5tAcADCAVANjDWwD1ksQAxq1LAE7KpQCnN80A5qk2AKuSlADdQmgAGWPeAHaM7wBoi1IA/Ns3AK6hqwDfFTEAAK6hAAz72gBkTWYA7QW3ACllMABXVr8AR/86AGr5uQB1vvMAKJPfAKuAMABmjPYABMsVAPoiBgDZ5B0APbOkAFcbjwA2zQkATkLpABO+pAAzI7UA8KoaAE9lqADSwaUACz8PAFt4zQAj+XYAe4sEAIkXcgDGplMAb27iAO/rAACbSlgAxNq3AKpmugB2z88A0QIdALHxLQCMmcEAw613AIZI2gD3XaAAxoD0AKzwLwDd7JoAP1y8ANDebQCQxx8AKtu2AKMlOgAAr5oArVOTALZXBAApLbQAS4B+ANoHpwB2qg4Ae1mhABYSKgDcty0A+uX9AInb/gCJvv0A5HZsAAap/AA+gHAAhW4VAP2H/wAoPgcAYWczACoYhgBNveoAs+evAI9tbgCVZzkAMb9bAITXSAAw3xYAxy1DACVhNQDJcM4AMMu4AL9s/QCkAKIABWzkAFrdoAAhb0cAYhLSALlchABwYUkAa1bgAJlSAQBQVTcAHtW3ADPxxAATbl8AXTDkAIUuqQAdssMAoTI2AAi3pADqsdQAFvchAI9p5AAn/3cADAOAAI1ALQBPzaAAIKWZALOi0wAvXQoAtPlCABHaywB9vtAAm9vBAKsXvQDKooEACGpcAC5VFwAnAFUAfxTwAOEHhgAUC2QAlkGNAIe+3gDa/SoAayW2AHuJNAAF8/4Aub+eAGhqTwBKKqgAT8RaAC34vADXWpgA9MeVAA1NjQAgOqYApFdfABQ/sQCAOJUAzCABAHHdhgDJ3rYAv2D1AE1lEQABB2sAjLCsALLA0ABRVUgAHvsOAJVywwCjBjsAwEA1AAbcewDgRcwATin6ANbKyADo80EAfGTeAJtk2ADZvjEApJfDAHdY1ABp48UA8NoTALo6PABGGEYAVXVfANK99QBuksYArC5dAA5E7QAcPkIAYcSHACn96QDn1vMAInzKAG+RNQAI4MUA/9eNAG5q4gCw/cYAkwjBAHxddABrrbIAzW6dAD5yewDGEWoA98+pAClz3wC1yboAtwBRAOKyDQB0uiQA5X1gAHTYigANFSwAgRgMAH5mlAABKRYAn3p2AP39vgBWRe8A2X42AOzZEwCLurkAxJf8ADGoJwDxbsMAlMU2ANioVgC0qLUAz8wOABKJLQBvVzQALFaJAJnO4wDWILkAa16qAD4qnAARX8wA/QtKAOH0+wCOO20A4oYsAOnUhAD8tKkA7+7RAC41yQAvOWEAOCFEABvZyACB/AoA+0pqAC8c2ABTtIQATpmMAFQizAAqVdwAwMbWAAsZlgAacLgAaZVkACZaYAA/Uu4AfxEPAPS1EQD8y/UANLwtADS87gDoXcwA3V5gAGeOmwCSM+8AyRe4AGFYmwDhV7wAUYPGANg+EADdcUgALRzdAK8YoQAhLEYAWfPXANl6mACeVMAAT4b6AFYG/ADlea4AiSI2ADitIgBnk9wAVeiqAIImOADK55sAUQ2kAJkzsQCp1w4AaQVIAGWy8AB/iKcAiEyXAPnRNgAhkrMAe4JKAJjPIQBAn9wA3EdVAOF0OgBn60IA/p3fAF7UXwB7Z6QAuqx6AFX2ogAriCMAQbpVAFluCAAhKoYAOUeDAInj5gDlntQASftAAP9W6QAcD8oAxVmKAJT6KwDTwcUAD8XPANtargBHxYYAhUNiACGGOwAseZQAEGGHACpMewCALBoAQ78SAIgmkAB4PIkAqMTkAOXbewDEOsIAJvTqAPdnigANkr8AZaMrAD2TsQC9fAsApFHcACfdYwBp4d0AmpQZAKgplQBozigACe20AESfIABOmMoAcIJjAH58IwAPuTIAp/WOABRW5wAh8QgAtZ0qAG9+TQClGVEAtfmrAILf1gCW3WEAFjYCAMQ6nwCDoqEAcu1tADmNegCCuKkAazJcAEYnWwAANO0A0gB3APz0VQABWU0A4HGA"); - base64DecodeToExistingUint8Array(bufferView, 180275, "QPsh+T8AAAAALUR0PgAAAICYRvg8AAAAYFHMeDsAAACAgxvwOQAAAEAgJXo4AAAAgCKC4zYAAAAAHfNpNQ=="); - base64DecodeToExistingUint8Array(bufferView, 180337, "gAEA7UUCAO++rd6+uv7KFf//AP//////////AQCgAKAAIAPQBwAABAAAAAoAAAAgAwAA4Pz//+gDAAAwpAIAYKQCAJg9AgAVAAAAAAAAAAU="); - base64DecodeToExistingUint8Array(bufferView, 180428, "3gI="); - base64DecodeToExistingUint8Array(bufferView, 180452, "3wIAAOACAADYvAU="); - base64DecodeToExistingUint8Array(bufferView, 180476, "Ag=="); - base64DecodeToExistingUint8Array(bufferView, 180492, "//////////8="); - base64DecodeToExistingUint8Array(bufferView, 180560, "wMAC"); + base64DecodeToExistingUint8Array(bufferView, 112448, "AQYEAAILCQQAAAwHAAgDAQMDAwMDAwMDAwMAAA8QEQUAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAANAgQCAgICAgICAgICAgICAgICAgICAgICAgICAgAKDv8Ae30AeyVzfQBmdW5jdGlvbiBlKGEsYil7dm9pZCAwPT09YiYmKGI9MSk7cmV0dXJuIGEudG9GaXhlZChNYXRoLm1pbihiLGItTWF0aC5mbG9vcihNYXRoLmxvZyhhKS9NYXRoLmxvZygxMCkpKSl9ZXhwb3J0cz17bmFtZToic3lzdGVtIixjdXJyZW5jeVN5bToiXHhhMyIsdHJhbnNsYXRlOmE9PmEsZGF0ZTooYSxiKT0+Yj8oIjAiK2EuZ2V0RGF0ZSgpKS5zdWJzdHIoLTIpKyIvIisoIjAiKyhhLmdldE1vbnRoKCkrMSkpLnN1YnN0cigtMikrIi8iK2EuZ2V0RnVsbFllYXIoKTphLnRvU3RyaW5nKCkuc3Vic3RyKDQsMTEpLnRyaW0oKSx0aW1lOihhLGIpPT57dmFyIGM9YS5nZXRIb3VycygpLGQ9YS5nZXRNaW51dGVzKCk7KHJlcXVpcmUoIlN0b3JhZ2UiKS5yZWFkSlNPTigic2V0dGluZy5qc29uIiwxKXx8e30pWyIxMmhvdXIiXSYmKGM9MD09YyUxMj8xMjpjJTEyKTtpZihiKXJldHVybigiICIrYykuc3Vic3RyKC0yKSsiOiIrKCIwIitkKS5zdWJzdHIoLTIpOwpiPSJhbSI7MD09Yz9jPTEyOjEyPD1jJiYoMTI8YyYmKGMtPTEyKSxiPSJwbSIpO3JldHVybigiICIrYykuc3Vic3RyKC0yKSsiOiIrKCIwIitkKS5zdWJzdHIoLTIpKyIuIisoIjAiK2EuZ2V0U2Vjb25kcygpKS5zdWJzdHIoLTIpKyIgIitifSxkb3c6KGEsYik9PiJTdW5kYXkgTW9uZGF5IFR1ZXNkYXkgV2VkbmVzZGF5IFRodXJzZGF5IEZyaWRheSBTYXR1cmRheSIuc3BsaXQoIiAiKVthLmdldERheSgpXS5zdWJzdHIoMCxiPzM6MTApLG1vbnRoOihhLGIpPT4iSmFudWFyeSBGZWJydWFyeSBNYXJjaCBBcHJpbCBNYXkgSnVuZSBKdWx5IEF1Z3VzdCBTZXB0ZW1iZXIgT2N0b2JlciBOb3ZlbWJlciBEZWNlbWJlciIuc3BsaXQoIiAiKVthLmdldE1vbnRoKCldLnN1YnN0cigwLGI/MzoxMCksbnVtYmVyOihhLGIpPT57bnVsbD09YiYmKGI9Mik7dmFyIGM9YS50b0ZpeGVkKGIpLGQ9Y3wwO2E9MD5hPzE6MDtiPSgiIitNYXRoLmFicyhjLWQpLnRvRml4ZWQoYikpLnN1YnN0cigyLGIpO2Q9CiIiK2Q7Yz1kLmxlbmd0aDtmb3IodmFyIGY9IiI7KGMtPTMpPmE7KWY9IiwiK2Quc3Vic3RyKGMsMykrZjtyZXR1cm4gZC5zdWJzdHIoMCxjKzMpK2YrKGI/Ii4iK2I6IiIpfSxjdXJyZW5jeTphPT57Y29uc29sZS5sb2coIldhcm5pbmc6IEN1cnJlbmN5IGluZm9ybWF0aW9uIGlzIGRlcHJlY2F0ZWQiKTtyZXR1cm4iXHhhMyIrYS50b0ZpeGVkKDIpfSxkaXN0YW5jZTooYSxiKT0+MUUzPmE/ZShhLGIpKyJtIjplKGEvMUUzLGIpKyJrbSIsc3BlZWQ6KGEsYik9PmUoYS8xLjYwOTM0LGIpKyJtcGgiLHRlbXA6KGEsYik9PmUoYSxiKSsiJ0MiLG1lcmlkaWFuOmE9PjEyPj1hLmdldEhvdXJzKCk/ImFtIjoicG0ifQB7IFtuYXRpdmUgY29kZV0gfQAKfQAvLVx8AHsAdHoARnJlcXVlbmN5IG11c3QgYmUgYWJvdmUgMC4wMDFIegAjb25wYXJpdHkALUluZmluaXR5AGhpc3RvcnkATWF4aW11bSBudW1iZXIgb2YgcG9pbnRzICglZCkgZXhjZWVkZWQgZm9yIGZpbGxQb2x5AEFTQ0lJIG9ubHkAaW5hbGx5AGR5AFRoaXJkIGFyZ3VtZW50IHNob3VsZCBiZSBhIGZ1bmN0aW9uIG9yIGFycmF5AFVpbnQ4Q2xhbXBlZEFycmF5AFVpbnQ4QXJyYXkASW50OEFycmF5AFVpbnQxNkFycmF5AEludDE2QXJyYXkARmxvYXQ2NEFycmF5AFVpbnQyNEFycmF5AFVpbnQzMkFycmF5AEludDMyQXJyYXkARmxvYXQzMkFycmF5AGRheQB0eAByeABsb3dSZXNpc3RhbmNlRml4AP9nZngAaW50ZXJsZWF2ZXgAaW5kZXgAbGFzdEluZGV4AGFjY0hpc3RvcnlJZHgAVW5maW5pc2hlZCBjaGFyYWN0ZXIgc2V0IGluIFJlZ0V4AGhyb3cAdGVuc29yZmxvdwBUb28gbXVjaCByZWN1cnNpb24gLSB0aGUgc3RhY2sgaXMgYWJvdXQgdG8gb3ZlcmZsb3cAVW5hYmxlIHRvIGFsbG9jYXRlIGVub3VnaCBSQU0gZm9yIFRlbnNvckZsb3cAc3RlcENvdW50ZXJUaHJlc2hvbGRMb3cAQXJyYXlCdWZmZXJWaWV3LnN1YmFycmF5IGNhbiBvbmx5IGJlIGNhbGxlZCBvbiBhbiBBcnJheUJ1ZmZlclZpZXcAQ2FuIG9ubHkgYmUgY2FsbGVkIG9uIGFuIEFycmF5QnVmZmVyVmlldwBEYXRhVmlldwAjb25IUk0tZW52AFx2AHNldEZvbnQldgAjb24ldgAldi4ldgBkYXRhOmltYWdlL2JtcDtiYXNlNjQsJXYAZnVuY3Rpb24gJXYAVW5rbm93biBXYXRjaCAldgAldjogJXYAVW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uOiAldgBGYWlsZWQgdG8gYWxsb2NhdGUgdGVtcCBtZW1vcnkuIFJlcXVlc3RlZDogJXUsIGF2YWlsYWJsZSAldSwgbWlzc2luZzogJXUARmFpbGVkIHRvIGFsbG9jYXRlIHRhaWwgbWVtb3J5LiBSZXF1ZXN0ZWQ6ICV1LCBhdmFpbGFibGUgJXUsIG1pc3Npbmc6ICV1AEZhaWxlZCB0byBhZGp1c3QgaGVhZCBzaXplLiBSZXF1ZXN0ZWQ6ICV1LCBhdmFpbGFibGUgJXUsIG1pc3Npbmc6ICV1AG5leHQAYWZfb3V0cHV0AGlucHV0AFVuZXhwZWN0ZWQgZW5kIG9mIElucHV0AHRpbWVvdXQAdHdpc3RUaW1lb3V0AGJhY2tsaWdodFRpbWVvdXQAbGNkUG93ZXJUaW1lb3V0AGxvY2tUaW1lb3V0AGJ0bkxvYWRUaW1lb3V0AC5ib290cnN0AG9uc3QAI29udHdpc3QAd2FrZU9uVHdpc3QAZHN0AGxhc3QAcG9ydABleGNlcHQAY291bnQAdHJhc2hDb3VudABnZXN0dXJlSW5hY3RpdmVDb3VudABhY2NHZXN0dXJlQ291bnQAZmlsZUNvdW50AGFjY0lkbGVDb3VudABpbWFnZUNvdW50AGZyb250AHNldEZvbnQAYWZmaW5lX3F1YW50aXphdGlvbi0+emVyb19wb2ludABvdXRwdXQtPnBhcmFtcy56ZXJvX3BvaW50AHRyYW5zcGFyZW50AEV4cGVjdGVkIGVpdGhlciBhbiBvYmplY3Qgb3IgYW4gYXJyYXkgd2l0aCA2IGVudHJpZXMgZm9yIHNlY29uZCBhcmd1bWVudABtb3ZlbWVudABBc3NpZ25tZW50IHRvIGEgY29uc3RhbnQATm90IGVub3VnaCBtZW1vcnkgZm9yIHJlc3VsdABlZmF1bHQAI29uaW5pdABvbkluaXQAZHJhaW5XYWl0AHJpZ2h0ACNvbm1pZG5pZ2h0ACNvbmJhY2tsaWdodABMQ0RfYmFja2xpZ2h0AGhlaWdodABtYXhJbWFnZUhlaWdodABzb2Z0AGZvcmNlU29mdABsZWZ0AHByb3BlcnRpZXNPYmplY3QgaXMgbm90IHN1cHBvcnRlZCB5ZXQAU29mdHdhcmUgU2VyaWFsIENLIG5vdCBpbXBsZW1lbnRlZCB5ZXQAb2Zmc2V0AGJ5dGVPZmZzZXQAZ2V0AG9iamVjdABPYmplY3QAZmlsbFJlY3QAaUZpbGxSZWN0AGZsb2F0AEZsYXQAcmVwZWF0AP9jYXQAXHQARmlyc3QgYXJndW1lbnQgbXVzdCBiZSBBcnJheSwgbm90ICV0AEV4cGVjdGluZyBvcHRpb25zIHRvIGJlIHVuZGVmaW5lZCBvciBhbiBPYmplY3QsIG5vdCAldABGT1IgbG9vcCBjYW4gb25seSBpdGVyYXRlIG92ZXIgQXJyYXlzLCBTdHJpbmdzIG9yIE9iamVjdHMsIG5vdCAldABmb3IoYSAlcyBiKSAtICdhJyBtdXN0IGJlIGEgdmFyaWFibGUgbmFtZSwgbm90ICV0AEZpcnN0IGFyZ3VtZW50IG11c3QgaXRlcmFibGUsIG5vdCAldABFeHBlY3RpbmcgQ2FsbGJhY2sgRnVuY3Rpb24gb3IgYW4gT2JqZWN0IGJ1dCBnb3QgJXQARXhwZWN0aW5nIE51bWJlciBvciBBcnJheSwgZ290ICV0AEZpcnN0IGFyZ3VtZW50IG11c3QgYmUgT2JqZWN0LCBGdW5jdGlvbiBvciBBcnJheSwgZ290ICV0AEV4cGVjdGluZyBTdHJpbmcgb3IgQXJyYXksIGdvdCAldABFeHBlY3RpbmcgU3RyaW5nIGFzIGZpcnN0IGFyZ3VtZW50LCBnb3QgJXQAUHJvdG90eXBlIHNob3VsZCBiZSBhbiBvYmplY3QsIGdvdCAldABFeHBlY3RpbmcgT2JqZWN0LCBnb3QgJXQARmlyc3QgYXJndW1lbnQgbXVzdCBiZSBPYmplY3QsIGdvdCAldABTZWNvbmQgYXJndW1lbnQgbXVzdCBiZSBPYmplY3QsIGdvdCAldABQcm9wZXJ0eSBkZXNjcmlwdGlvbiBtdXN0IGJlIE9iamVjdCwgZ290ICV0AEFkZHJlc3Mgc2hvdWxkIGJlIGFuIGludGVnZXIsIGdvdCAldABFeHBlY3RpbmcgQXJyYXlCdWZmZXIsIGdvdCAldABGdW5jdGlvbi5iaW5kIGV4cGVjdHMgdG8gYmUgY2FsbGVkIG9uIGZ1bmN0aW9uLCBnb3QgJXQARXhwZWN0aW5nIGZ1bmN0aW9uLCBnb3QgJXQARXhwZWN0aW5nIGNvbXBhcmUgZnVuY3Rpb24sIGdvdCAldAAnZXh0ZW5kcycgYXJndW1lbnQgJXEgc2hvdWxkIGJlIGEgZnVuY3Rpb24sIGdvdCAldABFeHBlY3RpbmcgbW9kdWxlIG5hbWUgYXMgYSBzdHJpbmcsIGdvdCAldABFeHBlY3RpbmcgU3RyaW5nLCBnb3QgJXQARXhwZWN0aW5nIE51bWJlciBvciBpdGVyYWJsZSwgZ290ICV0AEV4cGVjdGluZyBzb21ldGhpbmcgaXRlcmFibGUsIGdvdCAldABTZWNvbmQgYXJndW1lbnQgdG8gRnVuY3Rpb24uYXBwbHkgbXVzdCBiZSBpdGVyYWJsZSwgZ290ICV0AEV4cGVjdGluZyBPYmplY3Qgb3IgdW5kZWZpbmVkLCBnb3QgJXQARXhwZWN0aW5nIGZ1bmN0aW9uIG9uIFJIUywgZ290ICV0AENvbnN0cnVjdG9yIHNob3VsZCBiZSBhIGZ1bmN0aW9uLCBidXQgaXMgJXQARmllbGQgb3IgbWV0aG9kICVxIGRvZXMgbm90IGFscmVhZHkgZXhpc3QsIGFuZCBjYW4ndCBjcmVhdGUgaXQgb24gJXQAVW5zdXBwb3J0ZWQgZmlyc3QgYXJndW1lbnQgb2YgdHlwZSAldABVbmFibGUgdG8gYXNzaWduIHZhbHVlIHRvIG5vbi1yZWZlcmVuY2UgJXQAQ2FuJ3QgZXh0ZW5kICV0AEV4cGVjdGluZyBmaXJzdCAyIGFyZ3VtZW50cyB0byBiZSBpdGVyYWJsZSwgbm90ICV0IGFuZCAldABFeHBlY3RpbmcgZmlyc3QgMiBhcmd1bWVudHMgdG8gYmUgaXRlcmFibGUgb3IgdW5kZWZpbmVkLCBub3QgJXQgYW5kICV0AENhbid0IHVzZSAnaW4nIG9wZXJhdG9yIHRvIHNlYXJjaCBhICV0AE9iamVjdCBwcm90b3R5cGUgbWF5IG9ubHkgYmUgYW4gT2JqZWN0IG9yIG51bGw6ICV0ACwgcmVwZWF0ICUwOGQgdXMAZXhwb3J0cwBFLnN0b3BFdmVudFByb3BhZ2F0aW9uKCkgY2FsbGVkIHdoZW4gbm90IGhhbmRsaW5nIGV2ZW50cwBJbnN1ZmZpY2llbnQgc3RhY2sgZm9yIHRoaXMgbWFueSBhcmd1bWVudHMAVW5leHBlY3RlZCBhcmd1bWVudHMAbnVtX291dHB1dF9lbGVtZW50cwBudW1faW5wdXRfZWxlbWVudHMAUGFsZXR0ZSBzcGVjaWZpZWQsIGJ1dCBtdXN0IGJlIGEgZmxhdCBVaW50MTZBcnJheSBvZiAyLDQsOCwxNiwyNTYgZWxlbWVudHMAc3RvcGJpdHMASW52YWxpZCBudW1iZXIgb2YgYml0cwBjdHMAYWRkcmVzcwBwcm9jZXNzAGNvbXBhc3MAQ2FsbGluZyAnc3VwZXInIG91dHNpZGUgb2YgY2xhc3MAZXJyb3JzAGNvbG9yX29yZGVyIG11c3QgYmUgMyBjaGFyYWN0ZXJzAHRpbWVycwBGaXJzdCAyIGFyZ3VtZW50cyBzaG91bGQgYmUgYXJyYXkgYnVmZmVycwB2ZXJ0aWNhbF9ieXRlIG9ubHkgd29ya3MgZm9yIDFicHAgQXJyYXlCdWZmZXJzAHVucmVuZGVyYWJsZUNoYXJzAHN0ZXBzAF9vcHRpb25zAEludmFsaWQgb3B0aW9ucwBmdW5jdGlvbnMAQ29weXJpZ2h0IDIwMjEgRy5XaWxsaWFtcwBudW1fY2hhbm5lbHMAanMAdGhpcwD/dGhzAGFyZ3MAZmxhZ3MAdG90YWxCeXRlcwB0cmFzaEJ5dGVzAGZpbGVCeXRlcwBmcmVlQnl0ZXMA/3JlcwBwaXBlcwBmcmFtZXMAbW9kdWxlcwBFeHBlY3RpbmcgQXJyYXkgZm9yIGZpcnN0IGFyZ3VtZW50IHdpdGggPCVkIGVudHJpZXMAd2F0Y2hlcwBDYW4ndCBoYXZlIHBhbGV0dGUgb24gPjggYml0IGltYWdlcwBzZXRDb25zb2xlIGNhbid0IGJlIHVzZWQgb24gJ3NvZnQnIG9yIG5vbi1TZXJpYWwgZGV2aWNlcwBzZXRDb25zb2xlIGNhbid0IGJlIHVzZWQgb24gJ3NvZnQnIGRldmljZXMAbm9ib3VuZHMARGF0ZSBvdXQgb2YgYm91bmRzAHh0ZW5kcwBHcmFwaGljcwBBRENzACV2JXMAJXElcwAlUSVzAElEOiVzAEV4cGVjdGluZyB2YWxpZCB2YWx1ZSwgZ290ICVzAERpZCBub3QgZmluZCBhIHBhcnNlciBmb3IgJXMAQm9vbCAlcwBDYW4ndCByZWFkIHByb3BlcnR5ICclcycgb2YgJXMARmFpbGVkIHRvIHJlZ2lzdGVyIHNjcmF0Y2ggYnVmZmVyIGhhbmRsZSBmb3Igbm9kZSAlcwBHb3QgJXMgZXhwZWN0ZWQgJXMASTJDIEVycm9yOiAlcwByZWN1cgBwYXJhbXMgIT0gbnVsbHB0cgBwbGFubmVyX2FyZW5hICE9IG51bGxwdHIAaW50cgBsY2RCdWZmZXJQdHIAeG9yAFZhcmlhYmxlcyBvZiB0eXBlICV0IGFyZSBub3Qgc3VwcG9ydGVkIGluIGRhdGUgY29uc3RydWN0b3IARnVuY3Rpb24gcmVxdWlyZWQgaW4gcHJvbWlzZSBjb25zdHJ1Y3RvcgBWZWN0b3IALm9mZiBub3QgaW1wbGVtZW50ZWQgb24gZW11bGF0b3IAVW5hYmxlIHRvIGdldCB0ZW5zb3IAU3ludGF4RXJyb3IASW50ZXJuYWxFcnJvcgBUeXBlRXJyb3IAUmVmZXJlbmNlRXJyb3IAZGlyAGJncgAjb25sY2RQb3dlcgBjZW50ZXIAZmlsdGVyAFRGTWljcm9JbnRlcnByZXRlcgB1cGVyAFVuYWJsZSB0byBzY2hlZHVsZSBhIHRpbWVyAFRpbWVvdXQgb24gVXRpbGl0eSBUaW1lcgBJbnRlcnJ1cHRlZCBpbiBVdGlsaXR5IFRpbWVyAGVidWdnZXIARm9udCB3aWR0aCBtdXN0IGJlIGEgU3RyaW5nIG9yIGFuIGludGVnZXIASW50ZWdlcgAjb25idWZmZXIALmJ1ZmZlcgBNb2RlbCBpcyBub3QgYSBGbGF0IFN0cmluZy9BcnJheUJ1ZmZlcgBJbnZhbGlkIGxlbmd0aCBmb3IgQXJyYXlCdWZmZXIAdW5rbm93biBBcnJheUJ1ZmZlcgBjdXJyZW50QnVmZmVyAGRvdWJsZUJ1ZmZlcgBjb2xvcl9vcmRlcgBTdHJpbmcgdG9vIGJpZyB0byBjb252ZXJ0IHRvIG51bWJlcgBQdWxzZSBUaW1lIGlzIGxlc3MgdGhhbiAwIG9yIG5vdCBhIG51bWJlcgBOdW1iZXIAYWRkcgBnYnIASnNWYXIAXHIAaXJxAGZyZXEAJXElcyVxAEludmFsaWQgT25lV2lyZSBkZXZpY2UgYWRkcmVzcyAlcQBVbmtub3duIG9wdGlvbiAlcQBVbmtub3duIG9wIHR5cGUgJXEAVW5rbm93biBkZXZpY2UgdHlwZSAlcQBVbmtub3duIHJhbmdlIG5hbWUgJXEAVW5hYmxlIHRvIGxvYWQgbW9kdWxlICVxACVzU3RyaW5nIFslZCBibG9ja3NdICVxAEludmFsaWQgZmxvdyBjb250cm9sOiAlcQBSZWdFeHAAaW5wdXRfcHVsbHVwAG9wZW5kcmFpbl9wdWxsdXAAYnBwAHN0b3AAQ09OVElOVUUgc3RhdGVtZW50IG91dHNpZGUgb2YgRk9SIG9yIFdISUxFIGxvb3AAQlJFQUsgc3RhdGVtZW50IG91dHNpZGUgb2YgU1dJVENILCBGT1Igb3IgV0hJTEUgbG9vcABmbGlwACNvbnN0ZXAAYmVlcAAjb250YXAAc2V0Rm9udEJpdG1hcAB3YWtlT25Eb3VibGVUYXAAI29uZmFjZVVwAHdha2VPbkZhY2VVcABhdXRvAGNyeXB0bwBtaXNvAGJhcm8A/3NjbwBMaW1ibwD/bgBpbnB1dF9wdWxsZG93bgD/cnRuAGV0dXJuAHhvbgBidXR0b24Ac2V0dGluZy5qc29uAGxvbgAjb251bmNhdWdodEV4Y2VwdGlvbgBpcnE9dHJ1ZSBzZXQsIGJ1dCBmdW5jdGlvbiBpcyBub3QgYSBuYXRpdmUgZnVuY3Rpb24ARWRpdCBzaG91bGQgYmUgY2FsbGVkIHdpdGggdGhlIG5hbWUgb2YgYSBmdW5jdGlvbgBDYW4gb25seSB1c2UgJ2FyZ3VtZW50cycgdmFyaWFibGUgaW5zaWRlIGEgZnVuY3Rpb24ARmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uAEFyZ3VtZW50IHNob3VsZCBiZSBhIGZ1bmN0aW9uAEZ1bmN0aW9uAGFmZmluZV9xdWFudGl6YXRpb24Aa1RmTGl0ZUFmZmluZVF1YW50aXphdGlvbgBWYXJpYWJsZSB0eXBlICV0IG5vdCBzdWl0ZWQgdG8gdHJhbnNtaXQgb3BlcmF0aW9uAGRlc3RpbmF0aW9uACNvbgBJbnZhbGlkIHBpbgAxMG1pbgBhZl9vcGVuZHJhaW4AUGluAP90aG4Ac2V0Rm9udEFsaWduAGV2ZW4AdGhlbgBib29sZWFuAFxuAC5ib290UG93ZXJPbgBudW0AVG9vIG1hbnkgcGlucyEgJWQgTWF4aW11bQBXYXZlZm9ybQBGdW5jdGlvbiBtYXJrZWQgd2l0aCAiY29tcGlsZWQiIHVwbG9hZGVkIGluIHNvdXJjZSBmb3JtAGJvdHRvbQBzZXRGb250Q3VzdG9tAHByb20Ac3RyZXRjaF9kaW0AcmFtAP9uYW0AcmVzbABib29sAGNsa1BvbABudWxsACNvbmtpbGwAc2V0UGl4ZWwAQ2FuJ3QgdXNlIGZsb29kRmlsbCBvbiBHcmFwaGljcyB3aXRoIG5vIGdldFBpeGVsAGlTZXRQaXhlbABjaGFubmVsAC50Zm1vZGVsAE1pY3JvQWxsb2NhdG9yOiBNb2RlbCBhbGxvY2F0aW9uIGZpbmlzaGVkIGJlZm9yZSBzdGFydGluZyBhbGxvY2F0aW5nIG1vZGVsAE1pY3JvQWxsb2NhdG9yOiBNb2RlbCBhbGxvY2F0aW9uIHN0YXJ0ZWQgYmVmb3JlIGZpbmlzaGluZyBwcmV2aW91c2x5IGFsbG9jYXRlZCBtb2RlbAAjb25hY2NlbABzY2wA/3ZhbABJbnZhbGlkIGludGVydmFsAHBvbGxJbnRlcnZhbABVbmtub3duIEludGVydmFsAHRvdGFsAFRlcm1pbmFsAHN3c2VyaWFsAFNlcmlhbABkYXJrAGNodW5rAGhlYXRzaHJpbmsAY2xrAHNjawAjb25sb2NrAHN0YWNrAGNhbGxiYWNrAHJlYWsAa1RmTGl0ZU9rAElmIHNwZWNpZnlpbmcgYW4gb2JqZWN0LCBpdCBtdXN0IGJlIG9mIHRoZSBmb3JtIHtkYXRhIDogLi4uLCBjb3VudCA6IE59IG9yIHtjYWxsYmFjayA6IGZufSAtIGdvdCAlagBVbmtub3duIGZvbnQgJWoAVW5rbm93biBpbWFnZSB0eXBlICVqAEludmFsaWQgbW9kZSAlagBleHRpAG1vc2kAbWkAYm90aAAjb25oZWFsdGgASW52YWxpZCBhcnJheSBsZW5ndGgAZ2VzdHVyZU1pbkxlbmd0aABieXRlTGVuZ3RoAHdpZHRoACNvbmZpbmlzaABnZXN0dXJlU3RhcnRUaHJlc2gAZ2VzdHVyZUVuZFRocmVzaABsY2REb3VibGVSZWZyZXNoAC5zcGxhc2gARmxhc2gAc3RlcENvdW50ZXJUaHJlc2hvbGRIaWdoACNvbnRvdWNoAExDRF90b3VjaAB3YWtlT25Ub3VjaAB3aXRjaABVbmFibGUgdG8gc2V0IHdhdGNoLiBZb3UgbWF5IGFscmVhZHkgaGF2ZSBhIHdhdGNoIG9uIGEgcGluIHdpdGggdGhlIHNhbWUgbnVtYmVyIChlZy4gQTAgYW5kIEIwKSwKb3IgdGhpcyBwaW4gY2Fubm90IGJlIHVzZWQgd2l0aCB3YXRjaABicmcAYW5hbG9nAEFycmF5QnVmZmVyIHRvbyBsb25nAHJpc2luZwBWYXJpYWJsZSB0eXBlIGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gc3RyaW5nAHRvU3RyaW5nAEZpcnN0IGFyZ3VtZW50IG11c3QgYmUgT2JqZWN0IG9yIFN0cmluZwBFeHBlY3RpbmcgU3RyaW5nAEZpcnN0IGFyZ3VtZW50IG11c3QgYmUgU3RyaW5nAFNlY29uZCBhcmd1bWVudCBtdXN0IGJlIGEgZnVuY3Rpb24gb3IgYSBTdHJpbmcARm9udCBiaXRtYXAgbXVzdCBiZSBhIFN0cmluZwBXYXZlZm9ybSBpcyBhbHJlYWR5IHJ1bm5pbmcAV2F2ZWZvcm0gaXMgbm90IHJ1bm5pbmcAI29uZnJhbWluZwBmYWxsaW5nACNvbmNoYXJnaW5nAC5sb2FkaW5nAGZnAHJiZwB6aWd6YWcAI29uZHJhZwAjb25tYWcAI29uZXJyb3JGbGFnAP9idWYAc2YAeXBlb2YAbnN0YW5jZW9mAElsbGVnYWwgcmVzb2x2aW5nIHRvIHNlbGYAb2ZmAGRpZmYAYWYAXGYASW52YWxpZCB0eXBlICV0IGZvciB2YWx1ZU9mAERvdWJsZSAlZgAsIGRlYm91bmNlIDogJWYAUmVxdWFudGl6ZQBibG9ja3NpemUAYnl0ZXNpemUAYWZmaW5lX3F1YW50aXphdGlvbi0+emVyb19wb2ludC0+c2l6ZQBub2RlLT5vdXRwdXRzLT5zaXplAGFmZmluZV9xdWFudGl6YXRpb24tPnNjYWxlLT5zaXplAFRvbyBtdWNoIGRhdGEgZm9yIGZpbGUgc2l6ZQBjaHVua1NpemUASW52YWxpZCBTaXplAEludmFsaWQgQXJlbmEgU2l6ZQByZW1vdmUATmF0aXZlAHdhdmUAcG93ZXJTYXZlAENhbid0IGhhdmUgYSBkYXRhIHBpbiBhbmQgaXJxOnRydWUALCB0cnVlAG9udGludWUASW52YWxpZCBjb3VudCB2YWx1ZQBVc2VkIG9uIGVtcHR5IGFycmF5IHdpdGggbm8gaW5pdGlhbCB2YWx1ZQBVbmtub3duIHR5cGUgb2YgY2FsbGJhY2sgaW4gRXZlbnQgUXVldWUAaGVpZ2h0IG11c3QgYmUgYSBtdWx0aXBsZSBvZiA4IHdoZW4gdXNpbmcgdmVydGljYWxfYnl0ZQBwYWxldHRlAENhbid0IGdldCBwb2ludGVyIHRvIGRhdGEgdG8gd3JpdGUAI29uY29tcGxldGUAZWxldGUAc3RhdGUAcm90YXRlAEludmFsaWQgSTJDIGJpdHJhdGUAX2JhdWRyYXRlAHZpYnJhdGUASW52YWxpZCBTUEkgYmF1ZCByYXRlAERhdGUAY29tcG9zZQBjbG9zZQBmYWxzZQBQcm9taXNlAGFzZQAjb25nZXN0dXJlACNvbmFpR2VzdHVyZQBJbnZhbGlkIFNpZ25hdHVyZQBtb3JlAE9uZVdpcmUALnByb3RvdHlwZQBPcGVyYXRpb24gJXMgbm90IHN1cHBvcnRlZCBvbiB0aGUgJXMgZGF0YXR5cGUAb3V0cHV0LT50eXBlAGlucHV0LT50eXBlAGZpbHRlci0+dHlwZQBvdXRwdXQtPnF1YW50aXphdGlvbi50eXBlAGlucHV0LT5xdWFudGl6YXRpb24udHlwZQBmaWx0ZXItPnF1YW50aXphdGlvbi50eXBlAFVua25vd24gdHlwZQAjb25zd2lwZQBQaXBlAHJlc2hhcGUAbm9uZQBnY3RpbWUAbGFzdFRpbWUAdGhlbWUAZnJhbWUAbmFtZQBtb2R1bGUAaGlsZQBDYW4ndCBjcmVhdGUgemVybyBsZW5ndGggZmlsZQBVbmFibGUgdG8gZmluZCBvciBjcmVhdGUgZmlsZQBTdG9yYWdlRmlsZQBCYW5nbGUAZG91YmxlAERvdWJsZQB3cml0YWJsZQBjb25maWd1cmFibGUATXVzdCBiZSBjYWxsZWQgb24gc29tZXRoaW5nIGl0ZXJhYmxlAGVudW1lcmFibGUAYWZmaW5lX3F1YW50aXphdGlvbi0+c2NhbGUARmxhc2gsU3RvcmFnZSxoZWF0c2hyaW5rLGNyeXB0byx0ZW5zb3JmbG93LGxvY2FsZQBGaXJzdCBjaGFyYWN0ZXIgb3V0IG9mIHJhbmdlAGVkZ2UAdXNhZ2UAbWVzc2FnZQBTdG9yYWdlAGltYWdlAEV4cGVjdGluZyB2YWxpZCBJbWFnZQBmcmVlAENhbid0IHdyaXRlIGluIHRoaXMgbW9kZQBDYW4ndCByZWFkIGluIHRoaXMgbW9kZQBVbmtub3duIHBpbiBtb2RlAC5ib290Y2RlAHNvdXJjZQBmb3JjZQBkZWJvdW5jZQBJbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZQBzZXRMQ0RNb2RlIGlzIHVuc3VwcG9ydGVkIG9uIHRoaXMgZGV2aWNlAHNUcmFjZQBwd2QAYmF1ZABwYXNzd29yZABEZXN0aW5hdGlvbiBTdHJlYW0gZG9lcyBub3QgaW1wbGVtZW50IHRoZSByZXF1aXJlZCB3cml0ZShidWZmZXIpIG1ldGhvZABTb3VyY2UgU3RyZWFtIGRvZXMgbm90IGltcGxlbWVudCB0aGUgcmVxdWlyZWQgcmVhZChsZW5ndGgpIG1ldGhvZABEZXN0aW5hdGlvbiBvYmplY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSByZXF1aXJlZCB3cml0ZShidWZmZXIsIGxlbmd0aCkgbWV0aG9kAFNvdXJjZSBvYmplY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSByZXF1aXJlZCByZWFkKGJ1ZmZlciwgbGVuZ3RoKSBtZXRob2QA/2NvZABNb2R1bGUgJXEgbm90IGZvdW5kAGVuZAB0d2lzdFRocmVzaG9sZABVbmljb2RlIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBidWlsZABQQkYgRm9udHMgbm90IGVuYWJsZWQgb24gdGhpcyBidWlsZABvaWQATmVzdGluZyAnbmV3JyBvcGVyYXRvcnMgaXMgdW5zdXBwb3J0ZWQAQ0FTRSBhZnRlciBERUZBVUxUIHVuc3VwcG9ydGVkAElucHV0IHR5cGUgJXMgaXMgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQAVGFnZ2VkIHRlbXBsYXRlIGxpdGVyYWxzIG5vdCBzdXBwb3J0ZWQAQmFja3JlZmVyZW5jZXMgbm90IHN1cHBvcnRlZABUYWdnZWQgVGVtcGxhdGVzIGFyZSBub3Qgc3VwcG9ydGVkAEludmFsaWQgQlBQIC0gMSwyLDQgc3VwcG9ydGVkAHN0YXJ0ZWQAVEZNaWNyb0ludGVycHJldGVyIHN0cnVjdHVyZSBjb3JydXB0ZWQARW11bGF0ZWQAaXJxPXRydWUgc2V0LCBidXQgd2F0Y2ggaXMgYWxyZWFkeSB1c2VkAEZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIGNvbnRleHQtPmV2YWxfdGVuc29ycywgJWQgYnl0ZXMgcmVxdWlyZWQARmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgYWxsb2NhdGlvbl9pbmZvLCAlZCBieXRlcyByZXF1aXJlZABXYXZlZm9ybSBjb3VsZG4ndCBiZSBzdG9wcGVkAFNlY29uZCBhcmd1bWVudCBtdXN0IGJlIE9iamVjdCBvciB1bmRlZmluZWQARmlyc3QgYXJndW1lbnQgbXVzdCBiZSBTdHJpbmcgb3IgdW5kZWZpbmVkACdvcHRpb25zJyBtdXN0IGJlIGFuIG9iamVjdCwgb3IgdW5kZWZpbmVkACVxIGlzIG5vdCBkZWZpbmVkAERhdGEgaXMgbm90IGRlZmluZWQAY29tcGlsZWQATWljcm9JbnRlcnByZXRlciBjcmVhdGlvbiBmYWlsZWQAVEZNaWNyb0ludGVycHJldGVyIGludm9rZSBmYWlsZWQASW52b2tlIGZhaWxlZABzZXRNb2RpZmllZABoaXNwZWVkAG9kZABhZGQAbGNkACdFLmFzbScgY2FsbHMgc2hvdWxkIGhhdmUgYmVlbiByZXBsYWNlZCBieSB0aGUgRXNwcnVpbm8gdG9vbHMgYmVmb3JlIHVwbG9hZAAnRS5jb21waWxlZEMnIGNhbGxzIHNob3VsZCBoYXZlIGJlZW4gcmVwbGFjZWQgYnkgdGhlIEVzcHJ1aW5vIHRvb2xzIGJlZm9yZSB1cGxvYWQAY2xlYXIlcyh1bmRlZmluZWQpIG5vdCBhbGxvd2VkLiBVc2UgY2xlYXIlcygpIGluc3RlYWQAY2xlYXJXYXRjaCh1bmRlZmluZWQpIG5vdCBhbGxvd2VkLiBVc2UgY2xlYXJXYXRjaCgpIGluc3RlYWQAcmVhZABsY2RPdnJJZAAlZC0lMDJkLSUwMmRUJTAyZDolMDJkOiUwMmQuJTAzZCVjJTA0ZAAlcyAlcyAlZCAlZCAlMDJkOiUwMmQ6JTAyZCBHTVQlYyUwNGQAJXM6JWR4JWQAJXM6JWQAVW5zdXBwb3J0ZWQgVGVuc29yIGZvcm1hdCBUZkxpdGVUeXBlOiVkACVzLnNldHVwKCVkAEludmFsaWQgcGFyaXR5ICVkAEFycmF5IHBhc3NlZCB0byBGdW5jdGlvbi5hcHBseSBpcyB0b28gYmlnISBNYXhpbXVtIDI1NiBhcmd1bWVudHMsIGdvdCAlZABOb2RlICVzIChudW1iZXIgJWRmKSBmYWlsZWQgdG8gcHJlcGFyZSB3aXRoIHN0YXR1cyAlZABOb2RlICVzIChudW1iZXIgJWQpIGZhaWxlZCB0byBpbnZva2Ugd2l0aCBzdGF0dXMgJWQARmFpbGVkIHRvIGluaXRpYWxpemUgdGVuc29yICVkAEludGVnZXIgJWQARXJyb3IgUGFyc2luZyBzaWduYXR1cmUgYXQgYXJndW1lbnQgbnVtYmVyICVkAGJ1ZmZlciBpbmRleCAlZCBpcyBvdXRzaWRlIHJhbmdlIDAgdG8gJWQAVW5rbm93biAlZABQaW4gJWQARmFpbGVkIHRvIGFsbG9jYXRlIHZhcmlhYmxlIHRlbnNvciBvZiBzaXplICVkAEludmFsaWQgYmF1ZCByYXRlICVkAFVua25vd24gYXJnc3BlYyAlZABMb2dpYyBlcnJvciBpbiBtZW1vcnkgcGxhbm5lciwgdGVuc29yICVkIGhhcyBhbiBpbnZhbGlkIGxpZmV0aW1lOiBmaXJzdF9jcmVhdGVkOiAlZCwgbGFzdF91c2VkOiAlZABQYXJlbnQgbXVzdCBiZSBhbiBvYmplY3QgLSBub3QgYSBTdHJpbmcsIEludGVnZXIsIGV0YwBmdW5jAHRhdGljAGdjAAglYwBtc2IAbHNiAGdyYgBhdG9iAHJnYgBjYgAxMjozNDo1Njo3ODo5MDphYgBcYgBsY2RPdnJDYgAjb25kYXRhAEZpbGUgYWxyZWFkeSB3cml0dGVuIHdpdGggZGlmZmVyZW50IGRhdGEATm90IGVub3VnaCBzdGFjayBtZW1vcnkgZm9yIGRhdGEAaXJxRGF0YQBhcmVhAHNkYQBfX3Byb3RvX18AX19GSUxFX18AW29iamVjdCBPYmplY3RdACV2WyVxXQBmaWx0ZXItPmRpbXMtPmRhdGFbYWZmaW5lX3F1YW50aXphdGlvbi0+cXVhbnRpemVkX2RpbWVuc2lvbl0AYWZmaW5lX3F1YW50aXphdGlvbi0+c2NhbGUtPnNpemUgPT0gMSB8fCBhZmZpbmVfcXVhbnRpemF0aW9uLT5zY2FsZS0+c2l6ZSA9PSBmaWx0ZXItPmRpbXMtPmRhdGFba0NvbnZRdWFudGl6ZWREaW1lbnNpb25dAGFmZmluZV9xdWFudGl6YXRpb24tPnNjYWxlLT5zaXplID09IDEgfHwgYWZmaW5lX3F1YW50aXphdGlvbi0+c2NhbGUtPnNpemUgPT0gZmlsdGVyLT5kaW1zLT5kYXRhW2tEZXB0aHdpc2VDb252UXVhbnRpemVkRGltZW5zaW9uXQA/WyVkXQBbRklMRU5BTUVfVEFCTEVdAFtFUkFTRURdACBdAFxcAG5ldyAlcyhbACVkLSUwMmQtJTAyZFQlMDJkOiUwMmQ6JTAyZC4lMDNkWgB0d2lzdE1heFkATUVNT1JZX0JVU1kATE9XX01FTU9SWQBSRURVQ0VfQU5ZAERFTlNJRlkALmJvb3RYAFRYAFVuYWJsZSB0byBhbGxvY2F0ZSBkYXRhIGZvciBTZXJpYWwgUlgAVW5hYmxlIHRvIHdhdGNoIHBpbiAlcCwgbm8gU29mdHdhcmUgU2VyaWFsIFJYAFVORklOSVNIRUQgUkVHRVgAQVJHX01BWABSRURVQ0VfTUFYAExPR19TT0ZUTUFYAP9mblcAUE9XAFVBUlRfT1ZFUkZMT1cAU1BMSVRfVgBUUkFOU1BPU0VfQ09OVgBGTE9PUl9ESVYATEVBS1lfUkVMVQBQUkVMVQBDQVNUAFJTUVJUAFVTQVJUAFJPT1QATE9HSUNBTF9OT1QAT05FX0hPVABJTlQAVU5GSU5JU0hFRCBDT01NRU5UAEZBS0VfUVVBTlQAJXMsICVkICVzICVkICUwMmQ6JTAyZDolMDJkIEdNVABHSVRfQ09NTUlUAFNQTElUAEluc3VmZmljaWVudCBzdGFjayBmb3IgY29tcHV0aW5nIEZGVABTRUxFQ1QARkxPQVQAV0lER0VUUwBMRVNTAEdQUwBDT1MARVhQQU5EX0RJTVMAQ09OQ0FUX0VNQkVERElOR1MATU9EVUxFUwBBQlMARVhQVFIATE9HSUNBTF9PUgBGTE9PUgBSRVNJWkVfTkVBUkVTVF9ORUlHSEJPUgBHUkVBVEVSAEdBVEhFUgBSRVNJWkVfQklMSU5FQVIAJVEARVhQAEVNQkVERElOR19MT09LVVAASEFTSFRBQkxFX0xPT0tVUABJbnZhbGlkIEJQUABNSVNPAE5hTgBBRERfTgB0b0pTT04ATFNIX1BST0pFQ1RJT04ATE9DQUxfUkVTUE9OU0VfTk9STUFMSVpBVElPTgBMMl9OT1JNQUxJWkFUSU9OAENPTkNBVEVOQVRJT04ASFdWRVJTSU9OAFVOSURJUkVDVElPTkFMX1NFUVVFTkNFX1JOTgBCSURJUkVDVElPTkFMX1NFUVVFTkNFX1JOTgBTSU4AQVJHX01JTgBSRURVQ0VfTUlOAE1FQU4AU0VHTUVOVF9TVU0ATUFYSU1VTQBNSU5JTVVNAFVOSURJUkVDVElPTkFMX1NFUVVFTkNFX0xTVE0AQklESVJFQ1RJT05BTF9TRVFVRU5DRV9MU1RNAEhSTQBDVVNUT00AVElNAFNLSVBfR1JBTQBCQVRDSF9NQVRNVUwAQk9PTABCVUZGRVJfRlVMTABGSUZPX0ZVTEwARklMTABDQUxMAENFSUwAU0NMAE5PVF9FUVVBTABMRVNTX0VRVUFMAEdSRUFURVJfRVFVQUwAVU5GSU5JU0hFRCBURU1QTEFURSBMSVRFUkFMAFNFUklBTABSQU5LAFNDSwBVTlBBQ0sAQ0FMTEJBQ0sAG1tKAE1PU0kASW52YWxpZCBVUkkAU1BJLnNlbmQ4Yml0IG9ubHkgd29ya3Mgb24gaGFyZHdhcmUgU1BJAFNQSS5zZW5kNGJpdCBvbmx5IHdvcmtzIG9uIGhhcmR3YXJlIFNQSQD/Zm5IAGZnSABiZ0gAU1BBQ0VfVE9fREVQVEgASEFSRF9TV0lTSABTUElGTEFTSABUQU5IAExPRwBVTkZJTklTSEVEIFNUUklORwBORUcATUFUUklYX0RJQUcATUFUUklYX1NFVF9ESUFHAEVPRgBJRgBTVkRGAHNldEZvbnRQQkYAREVRVUFOVElaRQBTUVVFRVpFAFVOSVFVRQBERUxFR0FURQBFTUJFRERJTkdfTE9PS1VQX1NQQVJTRQBUUkFOU1BPU0UAU1BBUlNFX1RPX0RFTlNFAFdIRVJFAFNRVUFSRQBOT1RZUEUAUkVTSEFQRQBDT05TT0xFAFRJTEUAV0hJTEUAWkVST1NfTElLRQBSQU5HRQBTVE9SQUdFAFJFVkVSU0VfU0VRVUVOQ0UAU1FVQVJFRF9ESUZGRVJFTkNFAFNUUklERURfU0xJQ0UAREVQVEhfVE9fU1BBQ0UAG1tEAEJPQVJEAFJFRFVDRV9QUk9EAEZMT09SX01PRABTQ0FUVEVSX05EAEdBVEhFUl9ORABTUEFDRV9UT19CQVRDSF9ORABCQVRDSF9UT19TUEFDRV9ORABST1VORABMT0dJQ0FMX0FORABJRABGVUxMWV9DT05ORUNURUQAQUREAE1JUlJPUl9QQUQAREVQVEhXSVNFX0NPTlZfMkQATUFYX1BPT0xfMkQAQVZFUkFHRV9QT09MXzJEAEwyX1BPT0xfMkQAG1tDAExPR0lTVElDAERBQwBJMkMA/2ZuQgBMb29wYmFja0IAG1tCAFNVQgBVU0IATG9vcGJhY2tBABtbQQBTREEAT3AgYnVpbHRpbl9jb2RlIG91dCBvZiByYW5nZTogJWQuIEFyZSB5b3UgdXNpbmcgb2xkIFRGTGl0ZSBiaW5hcnkgd2l0aCBuZXdlciBtb2RlbD8AVW5hYmxlIHRvIGdldCBwb2ludGVyIHRvIHBhbGV0dGUuIEltYWdlIGluIGZsYXNoPwAKICBJbnZhbGlkIHBhc3N3b3JkCnBhc3N3b3JkPgA9AGVjaG8oMCk7AEJhbmdsZS5zZXRMQ0RPdmVybGF5KEdyYXBoaWNzLmNyZWF0ZUFycmF5QnVmZmVyKDE2MCw0NCwxLHttc2I6dHJ1ZX0pLmRyYXdSZWN0KDAsMCwxNTksNDMpLmRyYXdSZWN0KDEsMSwxNTgsNDIpLnNldEZvbnQoJzEyeDIwJykuc2V0Rm9udEFsaWduKDAsMCkuZHJhd1N0cmluZygnUGxlYXNlIFdhaXQnLDgwLDE0KS5zZXRDb2xvcignIzg4OCcpLnNldEZvbnQoJzZ4OCcpLmRyYXdTdHJpbmcoJ1NUT1JBR0UgQ09NUEFDVElPTlxuSU4gUFJPR1JFU1MuLi4nLDgwLDMyKSw4LDY2KTtnLmZsaXAoKTsAQmFuZ2xlLnNldExDRE92ZXJsYXkoKTtnLmZsaXAoKTsATmV3Q2hpbGQgUEFSRU5UOgAKOgA2eDgAaW5wdXQtPnR5cGUgPT0ga1RmTGl0ZUZsb2F0MzIgfHwgaW5wdXQtPnR5cGUgPT0ga1RmTGl0ZUludDE2IHx8IGlucHV0LT50eXBlID09IGtUZkxpdGVJbnQ4AGtUZkxpdGVVSW50OABVSU5UOAAtMzI3NjgAQ09NUExFWDEyOAAtMTI4ADR4NgBSRUxVNgBvdXRwdXQtPnBhcmFtcy5zY2FsZSA9PSAxLmYgLyAyNTYAb3V0cHV0LT50eXBlID09IGtUZkxpdGVVSW50OCB8fCBvdXRwdXQtPnR5cGUgPT0ga1RmTGl0ZUludDggfHwgb3V0cHV0LT50eXBlID09IGtUZkxpdGVJbnQxNgBpbnB1dC0+dHlwZSA9PSBrVGZMaXRlVUludDggfHwgaW5wdXQtPnR5cGUgPT0ga1RmTGl0ZUludDggfHwgaW5wdXQtPnR5cGUgPT0ga1RmTGl0ZUludDE2AElOVDE2AEZMT0FUMTYATk9OX01BWF9TVVBQUkVTU0lPTl9WNQBOT05fTUFYX1NVUFBSRVNTSU9OX1Y0AENPTVBMRVg2NABJTlQ2NABGTE9BVDY0ADJ2MjQASFNCdG9SR0IncyBmb3JtYXQgYXJnIGV4cGVjdHMgdW5kZWZpbmVkLzEvMTYvMjQAd2FrZU9uQlROMwB5MgB4MgBidWZmZXIyAGZnMgBiZzIAdG91Y2hZMgB0b3VjaFgyAFNFTEVDVF9WMgBUT1BLX1YyAFJFVkVSU0VfVjIAUEFEVjIAd2FrZU9uQlROMgBFTVNDUklQVEVOMgBDSDIAb3V0cHV0LT50eXBlID09IGtUZkxpdGVGbG9hdDMyIHx8IG91dHB1dC0+dHlwZSA9PSBrVGZMaXRlSW50MzIAa1RmTGl0ZUZsb2F0MzIASU5UMzIARkxPQVQzMgBzY2FsZV9kaWZmIC8gb3V0cHV0X3NjYWxlIDw9IDAuMDIAaGFzX2JpYXMgfHwgbm9kZS0+aW5wdXRzLT5zaXplID09IDIATnVtSW5wdXRzKG5vZGUpID09IDEgfHwgTnVtSW5wdXRzKG5vZGUpID09IDIAeTEAeDEA/2ZuMQBTZXJpYWwxAFJFTFVfTjFfVE9fMQB0b3VjaFkxAHRvdWNoWDEAd2FrZU9uQlROMQBTUEkxAENIMQBMRUQxAEkyQzEALTEATnVtRGltZW5zaW9ucyhpbnB1dCkgPj0gMQBhZmZpbmVfcXVhbnRpemF0aW9uLT5zY2FsZS0+c2l6ZSA9PSAxADliM2NjN2Y4MABTYW1wbGVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDAAY2h1bmtTaXplIG11c3QgYmUgYW4gaW50ZWdlciA+IDAAaW5wdXRfcHJvZHVjdF9zY2FsZSA+PSAwAEVycm9yIHByb2Nlc3NpbmcgU2VyaWFsIGRhdGEgaGFuZGxlciAtIHJlbW92aW5nIGl0LgBDdHJsLUMgd2hpbGUgcHJvY2Vzc2luZyBpbnRlcnZhbCAtIHJlbW92aW5nIGl0LgBDdHJsLUMgd2hpbGUgcHJvY2Vzc2luZyB3YXRjaCAtIHJlbW92aW5nIGl0LgBVbmhhbmRsZWQgZnVsbHktY29ubmVjdGVkIHdlaWdodHMgZm9ybWF0LgBGYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBub2RlX2FuZF9yZWdpc3RyYXRpb25zLgBJbnRlcm5hbCBlcnJvcjogQWxsb2NhdGVGcm9tVGFpbCBjYW4gbm90IGJlIGNhbGxlZCBiZXR3ZWVuIHR3byBSZXF1ZXN0U2NyYXRjaEJ1ZmZlckluQXJlbmEgY2FsbHMuAEh5YnJpZCBtb2RlbHMgYXJlIG5vdCBzdXBwb3J0ZWQgb24gVEZMaXRlIE1pY3JvLgBJbnZhbGlkIHBhcmFtZXRlciBCdWlsdGluT3BlcmF0b3JfQ1VTVE9NIHRvIHRoZSBBZGRCdWlsdGluIGZ1bmN0aW9uLgBSRVRVUk4gc3RhdGVtZW50LCBidXQgbm90IGluIGEgZnVuY3Rpb24uACVzIHdhcyBub3QgdHJ1ZS4AQnVmZmVyICVkIG5vdCBmb3VuZC4gJWQgYnVmZmVycyBhdmFpbGFibGUuAEFyZW5hIHNpemUgaXMgdG9vIHNtYWxsIGZvciBhY3RpdmF0aW9uIGJ1ZmZlcnMuIE5lZWRlZCAlZCBidXQgb25seSAlZCB3YXMgYXZhaWxhYmxlLgBFcmFzaW5nIHNhdmVkIGNvZGUuAFR5cGUgJXMgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQuAElucHV0ICVzLCBvdXRwdXQgJXMgbm90IHN1cHBvcnRlZC4AVHlwZSAlcyAoJWQpIG5vdCBzdXBwb3J0ZWQuACVkIGJ5dGVzIGxvc3QgZHVlIHRvIGFsaWdubWVudC4gVG8gYXZvaWQgdGhpcyBsb3NzLCBwbGVhc2UgbWFrZSBzdXJlIHRoZSB0ZW5zb3JfYXJlbmEgaXMgMTYgYnl0ZXMgYWxpZ25lZC4ATW9kZWwgcHJvdmlkZWQgaXMgc2NoZW1hIHZlcnNpb24gJWQgbm90IGVxdWFsIHRvIHN1cHBvcnRlZCB2ZXJzaW9uICVkLgBMb2FkaW5nLi4uAENvdWxkbid0IHJlZ2lzdGVyIGJ1aWx0aW4gb3AgIyVkLCByZXNvbHZlciBzaXplIGlzIHRvbyBzbWFsbCAoJWQpLgBDYWxsaW5nIEFkZEJ1aWx0aW4gd2l0aCB0aGUgc2FtZSBvcCBtb3JlIHRoYW4gb25jZSBpcyBub3Qgc3VwcG9ydGVkIChPcDogIyVkKS4ASW50ZXJuYWwgZXJyb3I6IEVuc3VyZUhlYWRTaXplKCkgbmVlZHMgdG8gYmUgY2FsbGVkIGFmdGVyUmVzZXRUZW1wQWxsb2NhdGlvbnMoKS4ALQBBcnJheSwAT2JqZWN0LAAlcSwATnVtYmVyICVqLABTdHJpbmcgJWosACVwPSVkLAAlZCwlZCwlZCwAZGF0YTppbWFnZS9ibXA7YmFzZTY0LAAoZnVuY3Rpb24ocyl7dmFyIHA9MDtyZXR1cm57cmVhZDpmdW5jdGlvbihsKXtyZXR1cm4gcy5zdWJzdHJpbmcocCxwKz1sKXx8dW5kZWZpbmVkO319fSkAKGZ1bmN0aW9uKCl7cmV0dXJue192OiExLHJlYWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdn0sc2V0OmZ1bmN0aW9uKCl7dGhpcy53cml0ZSgxKX0scmVzZXQ6ZnVuY3Rpb24oKXt0aGlzLndyaXRlKDApfSx3cml0ZTpmdW5jdGlvbihhKXtnLnNldENvbG9yKCh0aGlzLl92PSEhYSk/IiNmMDAiOmcudGhlbWUuYmcpLmZpbGxDaXJjbGUoKGcuZ2V0V2lkdGgoKS0yMCkvMiw1LDUpO0JhbmdsZS5zZXRMQ0RQb3dlcigxKX0sdG9nZ2xlOmZ1bmN0aW9uKCl7dGhpcy53cml0ZSghdGhpcy5fdil9fX0pAChmdW5jdGlvbigpe3JldHVybntfdjohMSxyZWFkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Z9LHNldDpmdW5jdGlvbigpe3RoaXMud3JpdGUoMSl9LHJlc2V0OmZ1bmN0aW9uKCl7dGhpcy53cml0ZSgwKX0sd3JpdGU6ZnVuY3Rpb24oYSl7Zy5zZXRDb2xvcigodGhpcy5fdj0hIWEpPyIjMGYwIjpnLnRoZW1lLmJnKS5maWxsQ2lyY2xlKChnLmdldFdpZHRoKCkrMjApLzIsNSw1KTtCYW5nbGUuc2V0TENEUG93ZXIoMSl9LHRvZ2dsZTpmdW5jdGlvbigpe3RoaXMud3JpdGUoIXRoaXMuX3YpfX19KQAoZnVuY3Rpb24oKXtpZihnbG9iYWwuV0lER0VUUyl7dmFyIGQ9Zy5nZXRXaWR0aCgpLGU9Zy5nZXRIZWlnaHQoKSxjPXt0bDp7eDowLHk6MCxyOjAsYzowfSx0cjp7eDpkLTEseTowLHI6MSxjOjB9LGJsOnt4OjAseTplLTI0LHI6MCxjOjB9LGJyOnt4OmQtMSx5OmUtMjQscjoxLGM6MH19LGIsYTtmb3IoYSBvZiBXSURHRVRTKShiPWNbYS5hcmVhXSkmJjAhPWEud2lkdGgmJihhLng9Yi54LWIuciphLndpZHRoLGEueT1iLnksYi54Kz1hLndpZHRoKigxLTIqYi5yKSxiLmMrKyk7Zy5yZXNldCgpOyhjLnRsLmN8fGMudHIuYykmJmcuY2xlYXJSZWN0KDAsMCxkLTEsMjMpOyhjLmJsLmN8fGMuYnIuYykmJmcuY2xlYXJSZWN0KDAsZS0yNCxkLTEsZS0xKTt0cnl7Zm9yKGEgb2YgV0lER0VUUylhLmRyYXcoYSl9Y2F0Y2goZil7cHJpbnQoZil9fX0pAChmdW5jdGlvbihjLGQpe2Z1bmN0aW9uIGsoKXt0cnl7QmFuZ2xlLmJ1enooMzApfWNhdGNoKGEpe319dmFyIGI9e307aWYoIm9iamVjdCI9PXR5cGVvZiBjJiYoYj1jLGM9Yi5tb2RlLCFjKSl0aHJvdyBFcnJvcigiTWlzc2luZyBtb2RlIGluIHNldFVJKHsuLi59KSIpO3ZhciBtPSEwO2dsb2JhbC5XSURHRVRTJiZXSURHRVRTLmJhY2smJihtPSExLFdJREdFVFMuYmFjay5yZW1vdmUoYyYmYi5iYWNrKSk7QmFuZ2xlLmJ0bldhdGNoZXMmJihCYW5nbGUuYnRuV2F0Y2hlcy5mb3JFYWNoKGNsZWFyV2F0Y2gpLGRlbGV0ZSBCYW5nbGUuYnRuV2F0Y2hlcyk7QmFuZ2xlLnN3aXBlSGFuZGxlciYmKEJhbmdsZS5yZW1vdmVMaXN0ZW5lcigic3dpcGUiLEJhbmdsZS5zd2lwZUhhbmRsZXIpLGRlbGV0ZSBCYW5nbGUuc3dpcGVIYW5kbGVyKTtCYW5nbGUuZHJhZ0hhbmRsZXImJihCYW5nbGUucmVtb3ZlTGlzdGVuZXIoImRyYWciLEJhbmdsZS5kcmFnSGFuZGxlciksCmRlbGV0ZSBCYW5nbGUuZHJhZ0hhbmRsZXIpO0JhbmdsZS50b3VjaEhhbmRsZXImJihCYW5nbGUucmVtb3ZlTGlzdGVuZXIoInRvdWNoIixCYW5nbGUudG91Y2hIYW5kbGVyKSxkZWxldGUgQmFuZ2xlLnRvdWNoSGFuZGxlcik7ZGVsZXRlIEJhbmdsZS51aVJlZHJhdztkZWxldGUgQmFuZ2xlLkNMT0NLO2lmKEJhbmdsZS51aVJlbW92ZSl7bGV0IGE9QmFuZ2xlLnVpUmVtb3ZlO2RlbGV0ZSBCYW5nbGUudWlSZW1vdmU7YSgpfWcucmVzZXQoKTtpZihjKXtpZigidXBkb3duIj09Yyl7dmFyIGY9MDtCYW5nbGUuZHJhZ0hhbmRsZXI9YT0+e2YrPWEuZHk7Zm9yKGEuYnx8KGY9MCk7MzI8TWF0aC5hYnMoZik7KTA8Zj8oZi09MzIsZCgxKSk6KGYrPTMyLGQoLTEpKSxCYW5nbGUuYnV6eigyMCl9O0JhbmdsZS5vbigiZHJhZyIsQmFuZ2xlLmRyYWdIYW5kbGVyKTtCYW5nbGUudG91Y2hIYW5kbGVyPWE9PntrKCk7ZCgpfTtCYW5nbGUuYnRuV2F0Y2hlcz1bc2V0V2F0Y2goZnVuY3Rpb24oKXtrKCk7CmQoKX0sQlROMSx7cmVwZWF0OjEsZWRnZToiZmFsbGluZyJ9KV19ZWxzZSBpZigibGVmdHJpZ2h0Ij09Yyl7dmFyIGg9MDtCYW5nbGUuZHJhZ0hhbmRsZXI9YT0+e2grPWEuZHg7Zm9yKGEuYnx8KGg9MCk7MzI8TWF0aC5hYnMoaCk7KTA8aD8oaC09MzIsZCgxKSk6KGgrPTMyLGQoLTEpKSxCYW5nbGUuYnV6eigyMCl9O0JhbmdsZS5vbigiZHJhZyIsQmFuZ2xlLmRyYWdIYW5kbGVyKTtCYW5nbGUudG91Y2hIYW5kbGVyPWE9PntrKCk7ZCgpfTtCYW5nbGUuYnRuV2F0Y2hlcz1bc2V0V2F0Y2goZnVuY3Rpb24oKXtrKCk7ZCgpfSxCVE4xLHtyZXBlYXQ6MSxlZGdlOiJmYWxsaW5nIn0pXX1lbHNlIGlmKCJjbG9jayI9PWMpQmFuZ2xlLkNMT0NLPTEsQmFuZ2xlLmJ0bldhdGNoZXM9W3NldFdhdGNoKEJhbmdsZS5zaG93TGF1bmNoZXIsQlROMSx7cmVwZWF0OjEsZWRnZToiZmFsbGluZyJ9KV07ZWxzZSBpZigiY2xvY2t1cGRvd24iPT1jKUJhbmdsZS5DTE9DSz0xLEJhbmdsZS50b3VjaEhhbmRsZXI9CihhLGUpPT57MTIwPmUueHx8KGsoKSxkKDg4PGUueT8xOi0xKSl9LEJhbmdsZS5idG5XYXRjaGVzPVtzZXRXYXRjaChCYW5nbGUuc2hvd0xhdW5jaGVyLEJUTjEse3JlcGVhdDoxLGVkZ2U6ImZhbGxpbmcifSldO2Vsc2UgaWYoImN1c3RvbSI9PWMpYi5jbG9jayYmKEJhbmdsZS5DTE9DSz0xKSxiLnRvdWNoJiYoQmFuZ2xlLnRvdWNoSGFuZGxlcj1iLnRvdWNoKSxiLmRyYWcmJihCYW5nbGUuZHJhZ0hhbmRsZXI9Yi5kcmFnLEJhbmdsZS5vbigiZHJhZyIsQmFuZ2xlLmRyYWdIYW5kbGVyKSksYi5zd2lwZSYmKEJhbmdsZS5zd2lwZUhhbmRsZXI9Yi5zd2lwZSxCYW5nbGUub24oInN3aXBlIixCYW5nbGUuc3dpcGVIYW5kbGVyKSksYi5idG4/QmFuZ2xlLmJ0bldhdGNoZXM9W3NldFdhdGNoKGZ1bmN0aW9uKCl7Yi5idG4oMSl9LEJUTjEse3JlcGVhdDoxLGVkZ2U6ImZhbGxpbmcifSldOmIuY2xvY2smJihCYW5nbGUuYnRuV2F0Y2hlcz1bc2V0V2F0Y2goQmFuZ2xlLnNob3dMYXVuY2hlciwKQlROMSx7cmVwZWF0OjEsZWRnZToiZmFsbGluZyJ9KV0pO2Vsc2UgdGhyb3cgRXJyb3IoIlVua25vd24gVUkgbW9kZSAiK0UudG9KUyhjKSk7Yi5yZW1vdmUmJihCYW5nbGUudWlSZW1vdmU9Yi5yZW1vdmUpO2IucmVkcmF3JiYoQmFuZ2xlLnVpUmVkcmF3PWIucmVkcmF3KTtpZihiLmJhY2spe3ZhciBuPShhLGUpPT57MzY+ZS55JiY0OD5lLngmJihlLmhhbmRsZWQ9ITAsRS5zdG9wRXZlbnRQcm9wYWdhdGlvbigpLGIuYmFjaygpKX07QmFuZ2xlLm9uKCJ0b3VjaCIsbik7aWYoQmFuZ2xlLnRvdWNoSGFuZGxlcil7dmFyIHA9QmFuZ2xlLnRvdWNoSGFuZGxlcjtCYW5nbGUudG91Y2hIYW5kbGVyPShhLGUpPT57ZS5oYW5kbGVkfHxwKGEsZSl9O0JhbmdsZS5vbigidG91Y2giLEJhbmdsZS50b3VjaEhhbmRsZXIpfXZhciBsO3ZvaWQgMD09PUJhbmdsZS5idG5XYXRjaGVzJiYobD1zZXRXYXRjaChmdW5jdGlvbigpe2w9dm9pZCAwO2IuYmFjaygpfSxCVE4xLHtlZGdlOiJmYWxsaW5nIn0pKTsKV0lER0VUUz1PYmplY3QuYXNzaWduKHtiYWNrOnthcmVhOiJ0bCIsd2lkdGg6MjQsZHJhdzphPT5nLnJlc2V0KCkuc2V0Q29sb3IoIiNmMDAiKS5kcmF3SW1hZ2UoYXRvYigiR0JpQkFBQVlBQUgvZ0FmLzRBLy84Qi8vK0QvLy9ELy8vSC9QL24rSC9uOFAvbjRmL3Z3QVAvd0FQMzRmL244UC9uK0gvbi9QL2ovLy9ELy8vQi8vK0EvLzhBZi80QUgvZ0FBWUFBPT0iKSxhLngsYS55KSxyZW1vdmU6YT0+e2wmJmNsZWFyV2F0Y2gobCk7QmFuZ2xlLnJlbW92ZUxpc3RlbmVyKCJ0b3VjaCIsbik7YXx8Zy5yZXNldCgpLmNsZWFyUmVjdCh7eDpXSURHRVRTLmJhY2sueCx5OldJREdFVFMuYmFjay55LHc6MjQsaDoyNH0pO2RlbGV0ZSBXSURHRVRTLmJhY2s7YXx8QmFuZ2xlLmRyYXdXaWRnZXRzKCl9fX0sZ2xvYmFsLldJREdFVFMpO20mJkJhbmdsZS5kcmF3V2lkZ2V0cygpfWVsc2UgaWYoQmFuZ2xlLnRvdWNoSGFuZGxlcilCYW5nbGUub24oInRvdWNoIixCYW5nbGUudG91Y2hIYW5kbGVyKX19KQAoZnVuY3Rpb24oKXtpZighZ2xvYmFsLldJREdFVFMpe2dsb2JhbC5XSURHRVRTPXt9O3JlcXVpcmUoIlN0b3JhZ2UiKS5saXN0KC9cLndpZFwuanMkLykuZm9yRWFjaChhPT57dHJ5e2V2YWwocmVxdWlyZSgiU3RvcmFnZSIpLnJlYWQoYSkpfWNhdGNoKGMpe3ByaW50KGEsYyl9fSk7dmFyIGI9V0lER0VUUztXSURHRVRTPXt9O09iamVjdC5rZXlzKGIpLnNvcnQoKGEsYyk9PigwfGJbY10uc29ydG9yZGVyKS0oMHxiW2FdLnNvcnRvcmRlcikpLmZvckVhY2goYT0+V0lER0VUU1thXT1iW2FdKX19KQAoZnVuY3Rpb24ocSl7ZnVuY3Rpb24geShhLGIpe3ZhciBsPWEuc3RlcHx8MTtpZighYS5ub0xpc3QmJnZvaWQgMCE9PWEubWluJiZ2b2lkIDAhPT1hLm1heCYmMjA+KGEubWF4LWEubWluKS9sKUUuc2hvd1Njcm9sbGVyKHtoOjQwLGM6KGEubWF4K2wtYS5taW4pL2wsYmFjazp0LHJlbW92ZTpuLnJlbW92ZSxzY3JvbGxNaW46LTI0LHNjcm9sbDotMjQsZHJhdzooaCxkKT0+e2lmKDA+aClyZXR1cm4gZy5zZXRGb250KCIxMngyMCIpLnNldEZvbnRBbGlnbigtMSwwKS5kcmF3U3RyaW5nKCJceDAwXGZcZlx4ODFceDAwXHhmZlx4ZmZceGZmXHgwMFx4MDBceDAwXHgwMFx4MGZceGZmXHhmZlx4ZjBceDAwXHgwMFx4MDBceDAwXHhmZlx4ZmZceGZmICIrYixkLngrMTIsZC55KzQwLTEyKTtnLnNldENvbG9yKGcudGhlbWUuYmcyKS5maWxsUmVjdCh7eDpkLngrNCx5OmQueSsyLHc6ZC53LTgsaDpkLmgtNCxyOjV9KTsKaD1oKmwrYS5taW47Zy5zZXRDb2xvcihnLnRoZW1lLmZnMikuc2V0Rm9udCgiMTJ4MjAiKS5zZXRGb250QWxpZ24oLTEsMCkuZHJhd1N0cmluZyhhLmZvcm1hdD9hLmZvcm1hdChoLDEpOmgsZC54KzEyLGQueSsyMCk7Zy5kcmF3SW1hZ2UoYXRvYihoPT1hLnZhbHVlPyJGQlNCQUFINEFIL2dIZ2VEZ0J3dzhNWS94bWYrYkgvanovODgvL1BQL3p6Lzg4ZitObi9tWS94akR3dzRBY0hnZUFmK0FCK0EiOiJGQlNCQUFINEFIL2dIZ2VEZ0J3d0FNWUFCbUFBYkFBRHdBQThBQVBBQUR3QUE4QUFOZ0FHWUFCakFBdzRBY0hnZUFmK0FCK0EiKSxkLngrZC53LTMyLGQueSsyMC0xMCl9LHNlbGVjdDpmdW5jdGlvbihoKXtpZighKDA+aCkpe0JhbmdsZS5idXp6KDIwKTthLnZhbHVlPWEubWluK2gqbDtpZihhLm9uY2hhbmdlKWEub25jaGFuZ2UoYS52YWx1ZSk7dS5zY3JvbGw9cC5zY3JvbGxlci5zY3JvbGw7dCgpfX19KTtlbHNle3ZhciBjPUJhbmdsZS5hcHBSZWN0LGU9YS52YWx1ZTtnLnJlc2V0KCkuY2xlYXJSZWN0KGMpOwpnLnNldEZvbnQoIjEyeDIwIikuc2V0Rm9udEFsaWduKDAsMCkuZHJhd1N0cmluZygiXHgwMFxmXGZceDgxXHgwMFx4ZmZceGZmXHhmZlx4MDBceDAwXHgwMFx4MDBceDBmXHhmZlx4ZmZceGYwXHgwMFx4MDBceDAwXHgwMFx4ZmZceGZmXHhmZiAiK2IsYy54K2Mudy8yLGMueSsxMik7ZnVuY3Rpb24gaCgpe3ZhciBmPWMueCtjLncvMixtPTEyK2MueStjLmgvMix3PWEuZm9ybWF0P2EuZm9ybWF0KGUsMik6ZTtnLnJlc2V0KCkuc2V0Q29sb3IoZy50aGVtZS5iZzIpLmZpbGxSZWN0KHt4OmMueCsyNCx5OmMueSszNix3OmMudy00OCxoOmMuaC00OCxyOjV9KTtnLnNldENvbG9yKGcudGhlbWUuZmcyKS5zZXRGb250VmVjdG9yKE1hdGgubWluKDMwLDEwMCooYy53LTUyKS9nLnNldEZvbnRWZWN0b3IoMTAwKS5zdHJpbmdXaWR0aCh3KSkpLnNldEZvbnRBbGlnbigwLDApLmRyYXdTdHJpbmcodyxmLG0pO2cuZmlsbFBvbHkoW2YsbS00NSxmKzE1LG0tMzAsCmYtMTUsbS0zMF0pLmZpbGxQb2x5KFtmLG0rNDUsZisxNSxtKzMwLGYtMTUsbSszMF0pfWZ1bmN0aW9uIGQoZil7aWYoZillLT0oZnx8MSkqKGEuc3RlcHx8MSksdm9pZCAwIT09YS5taW4mJmU8YS5taW4mJihlPWEud3JhcD9hLm1heDphLm1pbiksdm9pZCAwIT09YS5tYXgmJmU+YS5tYXgmJihlPWEud3JhcD9hLm1pbjphLm1heCksaCgpO2Vsc2V7YS52YWx1ZT1lO2lmKGEub25jaGFuZ2UpYS5vbmNoYW5nZShhLnZhbHVlKTt1LnNjcm9sbD1wLnNjcm9sbGVyLnNjcm9sbDt0KCl9fWgoKTt2YXIgaz0wO0JhbmdsZS5zZXRVSSh7bW9kZToiY3VzdG9tIixiYWNrOnQscmVtb3ZlOm4ucmVtb3ZlLHJlZHJhdzpoLGRyYWc6Zj0+e2srPWYuZHk7Zm9yKGYuYnx8KGs9MCk7MzI8TWF0aC5hYnMoayk7KTA8az8oay09MzIsZCgxKSk6KGsrPTMyLGQoLTEpKSxCYW5nbGUuYnV6eigyMCl9LHRvdWNoOihmLG0pPT57QmFuZ2xlLmJ1enooMjApOzgyPm0ueT9kKC0xKToxNDI8bS55P2QoMSk6ZCgpfX0pfX0KZnVuY3Rpb24gdCgpe3Auc2Nyb2xsZXI9RS5zaG93U2Nyb2xsZXIodSl9aWYodm9pZCAwPT09cSlyZXR1cm4gZy5jbGVhclJlY3QoQmFuZ2xlLmFwcFJlY3QpLEJhbmdsZS5zZXRVSSgpO3ZhciBuPXFbIiJdfHx7fTtuLnRpdGxlfHwobi50aXRsZT0iTWVudSIpO3ZhciB2PW4uYmFja3x8cVsiPCBCYWNrIl0scj1PYmplY3Qua2V5cyhxKS5maWx0ZXIoYT0+IiIhPT1hJiYiPCBCYWNrIiE9YSk7ci5mb3JFYWNoKGE9PnthPXFbYV07Im9iamVjdCIhPXR5cGVvZiBhfHwiYm9vbGVhbiIhPXR5cGVvZiBhLnZhbHVlfHxhLmZvcm1hdHx8KGEuZm9ybWF0PWI9PiJceDAwIithdG9iKGI/IkVoS0JBSC8vdi8vLy8vLy8vLy8vLy81Ly94Ly9qLy9IK2VQK01mL0EvL2gvL3ovLy8vLy8vLy8vMy8vZyI6IkVoS0JBSC8vdi8vOEFBOEFBOEFBOEFBOEFBOEFBOEFBOEFBOEFBOEFBOEFBOEFBOEFBOEFBLy8vMy8vZyIpKX0pO3ZhciBwPXtkcmF3OigpPT5wLnNjcm9sbGVyLmRyYXcoKSxzY3JvbGxlcjp2b2lkIDB9OwpsZXQgeDt2YXIgdT17aDo0MCxjOnIubGVuZ3RoLHNjcm9sbE1pbjotMjQsc2Nyb2xsOm51bGwhPSh4PW4uc2Nyb2xsKT94Oi0yNCxiYWNrOnYscmVtb3ZlOm4ucmVtb3ZlLGRyYXc6KGEsYik9PntpZigwPmEpcmV0dXJuIGcuc2V0Q29sb3IoZy50aGVtZS5mZykuc2V0Rm9udCgiMTJ4MjAiKS5zZXRGb250QWxpZ24oLTEsMCkuZHJhd1N0cmluZygiXHgwMFxmXGZceDgxXHgwMFx4ZmZceGZmXHhmZlx4MDBceDAwXHgwMFx4MDBceDBmXHhmZlx4ZmZceGYwXHgwMFx4MDBceDAwXHgwMFx4ZmZceGZmXHhmZiAiK24udGl0bGUsYi54KzEyLGIueSs0MC0xMik7Zy5zZXRDb2xvcihnLnRoZW1lLmJnMikuZmlsbFJlY3Qoe3g6Yi54KzQseTpiLnkrMix3OmIudy04LGg6Yi5oLTQscjo1fSk7Zy5zZXRDb2xvcihnLnRoZW1lLmZnMikuc2V0Rm9udCgiMTJ4MjAiKTt2YXIgbD0yNCxjPXFbclthXV07aWYoIm9iamVjdCI9PXR5cGVvZiBjKXt2YXIgZT1jLnZhbHVlOwpjLmZvcm1hdCYmKGU9Yy5mb3JtYXQoZSkpO2cuc3RyaW5nTWV0cmljcyhlKS53aWR0aD5iLncvMiYmKGU9Zy53cmFwU3RyaW5nKGUsYi53LzIpLmpvaW4oIlxuIikpO2cuc2V0Rm9udEFsaWduKDEsMCkuZHJhd1N0cmluZyhlLGIueCtiLnctOCxiLnkrMjApO2wrPWcuc3RyaW5nV2lkdGgoZSl9ZWxzZSJmdW5jdGlvbiI9PXR5cGVvZiBjJiYoZy5kcmF3SW1hZ2UoYXRvYigiQ1JLQkFHQTRIZzhEd1BCNEhnY0RnOFBCNGVIZzhIQXdBQT09IiksYi54K2Iudy0yMSxiLnkrMjAtOSksbCs9MTYpO3ZhciBrO2E9bnVsbCE9KGs9YyYmYy50aXRsZSk/azpyW2FdO2s9Zy53cmFwU3RyaW5nKGEsYi53LWwpOzE8ay5sZW5ndGgmJihrPWcuc2V0Rm9udCgiNngxNSIpLndyYXBTdHJpbmcoYSxiLnctbCkpO2cuc2V0Rm9udEFsaWduKC0xLDApLmRyYXdTdHJpbmcoay5qb2luKCJcbiIpLGIueCsxMixiLnkrMjApfSxzZWxlY3Q6ZnVuY3Rpb24oYSl7aWYoMD5hKXJldHVybiB2JiZ2KCk7dmFyIGI9cVtyW2FdXTsKQmFuZ2xlLmJ1enooMjApO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBiKWIocCk7ZWxzZSBpZigib2JqZWN0Ij09dHlwZW9mIGIpaWYoIm51bWJlciI9PXR5cGVvZiBiLnZhbHVlKXkoYixyW2FdKTtlbHNleyJib29sZWFuIj09dHlwZW9mIGIudmFsdWUmJihiLnZhbHVlPSFiLnZhbHVlKTtpZihiLm9uY2hhbmdlKWIub25jaGFuZ2UoYi52YWx1ZSk7cC5zY3JvbGxlci5pc0FjdGl2ZSgpJiZwLnNjcm9sbGVyLmRyYXdJdGVtKGEpfX19O3QoKTtyZXR1cm4gcH0pAChmdW5jdGlvbihkKXtmdW5jdGlvbiBmKGEpe3JldHVybiBhKmQuaCtiLnktaH1mdW5jdGlvbiBsKGEpe3JldHVybiBNYXRoLmZsb29yKChhK2gtYi55KS9kLmgpfWlmKCFkKXJldHVybiBCYW5nbGUuc2V0VUkoKTt2YXIgbj0oKT0+e2cucmVzZXQoKS5jbGVhclJlY3QoYikuc2V0Q2xpcFJlY3QoYi54LGIueSxiLngyLGIueTIpO2Zvcih2YXIgYT1sKGIueSksYz1NYXRoLm1pbihsKGIueTIpLGQuYy0xKTthPD1jO2ErKylkLmRyYXcoYSx7eDpiLngseTpmKGEpLHc6Yi53LGg6ZC5ofSk7Zy5zZXRDbGlwUmVjdCgwLDAsZy5nZXRXaWR0aCgpLTEsZy5nZXRIZWlnaHQoKS0xKX07QmFuZ2xlLnNldFVJKHttb2RlOiJjdXN0b20iLGJhY2s6ZC5iYWNrLHJlbW92ZTpkLnJlbW92ZSxyZWRyYXc6bixkcmFnOmE9Pnt2YXIgYz1hLmR5O2Uuc2Nyb2xsLWM+bSYmKGM9ZS5zY3JvbGwtbSk7ZS5zY3JvbGwtYzxrJiYoYz1lLnNjcm9sbC1rKTtlLnNjcm9sbC09CmM7Yz1oO2g9ZS5zY3JvbGwmLTI7aWYoYy09aCl7Zy5yZXNldCgpLnNldENsaXBSZWN0KGIueCxiLnksYi54MixiLnkyKS5zY3JvbGwoMCxjKTthPWEuZHk7aWYoMD5hKWZvcihhPU1hdGgubWF4KGIueTItKDEtYSksYi55KSxnLnNldENsaXBSZWN0KGIueCxhLGIueDIsYi55MiksYz1sKGEpLGE9ZihjKTthPGIueTI7KWQuZHJhdyhjLHt4OmIueCx5OmEsdzpiLncsaDpkLmh9KSxjKyssYSs9ZC5oO2Vsc2UgZm9yKGE9TWF0aC5taW4oYi55K2EsYi55MiksZy5zZXRDbGlwUmVjdChiLngsYi55LGIueDIsYSksYz1sKGEpLGE9ZihjKTthPmIueS1kLmg7KWQuZHJhdyhjLHt4OmIueCx5OmEsdzpiLncsaDpkLmh9KSxhLT1kLmgsYy0tO2cuc2V0Q2xpcFJlY3QoMCwwLGcuZ2V0V2lkdGgoKS0xLGcuZ2V0SGVpZ2h0KCktMSl9fSx0b3VjaDooYSxjKT0+e2lmKCEoYy55PGIueS00KSl7YT1sKGMueSk7dmFyIHA9Yy55K2gtYi55LWEqZC5oO3ByaW50KCIgICAgICIsZihhKSk7MTYzPGMueSYmMTYzPApmKGEpJiYoYS0tLHA9ZC5oLTEpOygwPmt8fDA8PWEpJiZhPGQuYyYmKGNvbnNvbGUubG9nKCJQcmVzcyAiLGMueSxhLHApLGQuc2VsZWN0KGEse3g6Yy54LHk6cH0pKX19fSk7dmFyIGI9QmFuZ2xlLmFwcFJlY3Qsaz0wfGQuc2Nyb2xsTWluLG09ZC5oKmQuYy1iLmg7bTxrJiYobT1rKTt2YXIgZT17c2Nyb2xsOkUuY2xpcCgwfGQuc2Nyb2xsLGssbSksZHJhdzpuLGRyYXdJdGVtOmE9Pnt2YXIgYz1mKGEpO2cucmVzZXQoKS5zZXRDbGlwUmVjdChiLngsTWF0aC5tYXgoYyxiLnkpLGIueDIsTWF0aC5taW4oYytkLmgsYi55MikpO2QuZHJhdyhhLHt4OmIueCx5OmMsdzpiLncsaDpkLmh9KTtnLnNldENsaXBSZWN0KDAsMCxnLmdldFdpZHRoKCktMSxnLmdldEhlaWdodCgpLTEpfSxpc0FjdGl2ZTooKT0+QmFuZ2xlLnVpUmVkcmF3PT1ufSxoPWUuc2Nyb2xsJi0yO2UuZHJhdygpO2cuZmxpcCgpO3JldHVybiBlfSkAKGZ1bmN0aW9uKCl7bGV0IGI9cmVxdWlyZSgiU3RvcmFnZSIpLnJlYWRKU09OKCJzZXR0aW5nLmpzb24iLDEpfHx7fSxjPXJlcXVpcmUoIlN0b3JhZ2UiKS5yZWFkKGIubGF1bmNoZXIpO2lmKCFjKXtjPXZvaWQgMDtsZXQgZD1yZXF1aXJlKCJTdG9yYWdlIikubGlzdCgvXC5pbmZvJC8pLm1hcChhPT57aWYoKGE9cmVxdWlyZSgiU3RvcmFnZSIpLnJlYWRKU09OKGEsMSkpJiYibGF1bmNoIj09YS50eXBlKXJldHVybiBhfSkuZmlsdGVyKGE9PmEpLnNvcnQoKGEsZSk9PmEuc29ydG9yZGVyLWUuc29ydG9yZGVyKVswXTtkJiYoYi5sYXVuY2hlcj1kLnNyYyxyZXF1aXJlKCJTdG9yYWdlIikud3JpdGVKU09OKCJzZXR0aW5nLmpzb24iLGIpLGM9cmVxdWlyZSgiU3RvcmFnZSIpLnJlYWQoZC5zcmMpKX1jP0JhbmdsZS5sb2FkKGIubGF1bmNoZXIpOmV2YWwoJ0Uuc2hvd01lc3NhZ2UoIk5vIExhdW5jaGVyIEZvdW5kIik7c2V0V2F0Y2goKCk9Pntsb2FkKCk7fSwgZ2xvYmFsLkJUTjJ8fEJUTiwge3JlcGVhdDpmYWxzZSxlZGdlOiJmYWxsaW5nIn0pOycpOwpkZWxldGUgYjtkZWxldGUgY30pAChmdW5jdGlvbihiYXNlLGopIHt2YXIgbz17fSxhZGRyO2ZvciAodmFyIHJlZyBpbiBqKSB7YWRkcj1iYXNlK2pbcmVnXTtPYmplY3QuZGVmaW5lUHJvcGVydHkobyxyZWcse2dldDpwZWVrMzIuYmluZCh1bmRlZmluZWQsYWRkciksc2V0OnBva2UzMi5iaW5kKHVuZGVmaW5lZCxhZGRyKX0pO31yZXR1cm4gbzt9KQAoZnVuY3Rpb24oYSkge3ZhciBtPTAsZztmb3IgKHZhciBpIGluIGEpIGlmIChhW2ldPm0pIHsgbT1hW2ldO2c9aTsgfWlmIChnIT09dW5kZWZpbmVkKSB7dmFyIG49cmVxdWlyZSgnU3RvcmFnZScpLnJlYWQoJy50Zm5hbWVzJyk7aWYgKG4pIGc9bi5zcGxpdCgnLCcpW2ddO31yZXR1cm4gZzt9KQAoZnVuY3Rpb24oeCxkKXtmdW5jdGlvbiByKG4pe2cucmVzZXQoKS5zZXRGb250KCI2eDg6MiIpLnNldEZvbnRBbGlnbigwLC0xKTt2YXIgaD1CYW5nbGUuYXBwUmVjdC55LGM9Zy5nZXRXaWR0aCgpLGY9Zy5nZXRIZWlnaHQoKS1oLGs9Zy5nZXRGb250SGVpZ2h0KCkscD1nLndyYXBTdHJpbmcoZC50aXRsZSxjLTIpLHQ9Zy53cmFwU3RyaW5nKHh8fCIiLGMtMiksYT1oKyhmKyhwLmxlbmd0aC10Lmxlbmd0aCkqaykvMi0yNDtkLmltZyYmKGY9Zy5pbWFnZU1ldHJpY3MoZC5pbWcpLGcuZHJhd0ltYWdlKGQuaW1nLChjLWYud2lkdGgpLzIsYS1mLmhlaWdodC8yKSxhKz00K2YuaGVpZ2h0LzIpO3AmJmcuc2V0Q29sb3IoZy50aGVtZS5mZ0gpLnNldEJnQ29sb3IoZy50aGVtZS5iZ0gpLmNsZWFyUmVjdCgwLGgsYy0xLGgrNCtwLmxlbmd0aCprKS5kcmF3U3RyaW5nKHAuam9pbigiXG4iKSxjLzIsaCsyKTtnLnNldENvbG9yKGcudGhlbWUuZmcpLnNldEJnQ29sb3IoZy50aGVtZS5iZykuZHJhd1N0cmluZyh0LmpvaW4oIlxuIiksCmMvMixhKTthKz10Lmxlbmd0aCprKzMyO3ZhciBtPTA7Zy5zZXRGb250QWxpZ24oMCwwKTtxLmZvckVhY2gobD0+bSs9MjQrZy5zdHJpbmdXaWR0aChsKSk7bT5jJiYoZy5zZXRGb250KCI2eDgiKSxtPTAscS5mb3JFYWNoKGw9Pm0rPTI0K2cuc3RyaW5nV2lkdGgobCkpKTt2YXIgYj0oYy1tKS8yO3U9W107cS5mb3JFYWNoKChsLHkpPT57dmFyIHY9Zy5zdHJpbmdXaWR0aChsKTtiKz0oMjQrdikvMjt2YXIgZT02K3YvMix3PVtiLWUsYS0xNixiK2UsYS0xNixiK2UrNCxhLTEyLGIrZSs0LGErMTIsYitlLGErMTYsYi1lLGErMTYsYi1lLTQsYSsxMixiLWUtNCxhLTEyLGItZSxhLTE2XTt1LnB1c2goe3gxOmItZS0xMix4MjpiK2UrMTIseTE6YS0zMCx5MjphKzMwLHBvbHk6d30pO2cuc2V0Q29sb3IoeT09PW4/Zy50aGVtZS5iZ0g6Zy50aGVtZS5iZzIpLmZpbGxQb2x5KHcpLnNldENvbG9yKHk9PT1uP2cudGhlbWUuZmdIOmcudGhlbWUuZmcyKS5kcmF3UG9seSh3KS5kcmF3U3RyaW5nKGwsCmIsYSsxKTtiKz0oMjQrdikvMn0pO0JhbmdsZS5zZXRMQ0RQb3dlcigxKX1kfHwoZD17fSk7ZC5idXR0b25zfHwoZC5idXR0b25zPXtZZXM6ITAsTm86ITF9KTt2YXIgcT1PYmplY3Qua2V5cyhkLmJ1dHRvbnMpLHU7Zy5yZXNldCgpLmNsZWFyUmVjdChCYW5nbGUuYXBwUmVjdCk7aWYoIXgpcmV0dXJuIEJhbmdsZS5zZXRVSSgpLFByb21pc2UucmVzb2x2ZSgpO3IoKTtyZXR1cm4gbmV3IFByb21pc2Uobj0+e0JhbmdsZS5zZXRVSSh7bW9kZToiY3VzdG9tIixyZW1vdmU6ZC5yZW1vdmUscmVkcmF3OnIsYmFjazpkLmJhY2ssdG91Y2g6KGgsYyk9Pnt1LmZvckVhY2goKGYsayk9PntjLng+Zi54MSYmYy54PGYueDImJmMueT5mLnkxJiZjLnk8Zi55MiYmKHIoayksZy5mbGlwKCksRS5zaG93UHJvbXB0KCksbihkLmJ1dHRvbnNbcVtrXV0pKX0pfX0pfSl9KQAoZnVuY3Rpb24oYixhKXsic3RyaW5nIj09dHlwZW9mIGEmJihhPXt0aXRsZTphfSk7YT1hfHx7fTthLmJ1dHRvbnM9e09rOjF9O2EuaW1nPXJlcXVpcmUoImhlYXRzaHJpbmsiKS5kZWNvbXByZXNzKGF0b2IoImxFbzRVQm92Ky8vL0JJTWdnRlZBQVFIQkFvWUlFQlExUUJJY0ZCSWRBQkljQkJBVlVIWXNWRGd3ZUVEZ2dlRUxRNEpLR0FjUCtBeURHQWNPMkF5REJKSTZEQklrQkJMcEtEQklnQUVCT0tCRUFCU3lHTVl3SlRHSWtCV2FiUkpkNmRWSXcwQkJJSXlER0FZSkJHUVl3RUR3d2NDRHd3Y0NBQVE1RkJRd0ZEQT0iKSk7cmV0dXJuIEUuc2hvd1Byb21wdChiLGEpfSkAKGZ1bmN0aW9uKGUsYSl7InN0cmluZyI9PXR5cGVvZiBhJiYoYT17dGl0bGU6YX0pO2E9YXx8e307Zy5yZXNldCgpLmNsZWFyUmVjdChCYW5nbGUuYXBwUmVjdCk7Zy5zZXRGb250KCI2eDgiLDEyODxnLmdldFdpZHRoKCk/MjoxKS5zZXRGb250QWxpZ24oMCwtMSk7dmFyIGM9QmFuZ2xlLmFwcFJlY3QueSxiPWcuZ2V0V2lkdGgoKSxkPWcuZ2V0SGVpZ2h0KCktYyxrPWcuZ2V0Rm9udEhlaWdodCgpLGY9Zy53cmFwU3RyaW5nKGEudGl0bGUsYi0yKTtlPWcud3JhcFN0cmluZyhlfHwiIixiLTIpO2Q9YysoZCsoZi5sZW5ndGgtZS5sZW5ndGgpKmspLzI7aWYoYS5pbWcpe3ZhciBoPWcuaW1hZ2VNZXRyaWNzKGEuaW1nKTtnLmRyYXdJbWFnZShhLmltZywoYi1oLndpZHRoKS8yLGQtaC5oZWlnaHQvMik7ZCs9NCtoLmhlaWdodC8yfWcuZHJhd1N0cmluZyhlLmpvaW4oIlxuIiksYi8yLGQpO2EudGl0bGUmJmcuc2V0Q29sb3IoZy50aGVtZS5mZ0gpLnNldEJnQ29sb3IoZy50aGVtZS5iZ0gpLmNsZWFyUmVjdCgwLApjLGItMSxjKzQrZi5sZW5ndGgqaykuZHJhd1N0cmluZyhmLmpvaW4oIlxuIiksYi8yLGMrMik7Zy5mbGlwKCk7QmFuZ2xlLnNldExDRFBvd2VyKDEpfSkAKGZ1bmN0aW9uKGEpe0JhbmdsZS51aVJlbW92ZT8oQmFuZ2xlLnNldFVJKCksKF9fRklMRV9fPWEpfHwoYT0iLmJvb3RjZGUiKSxzZXRUaW1lb3V0KGV2YWwsMCxyZXF1aXJlKCJTdG9yYWdlIikucmVhZChhKSkpOmxvYWQoIi5ib290Y2RlIiE9YT9hOnZvaWQgMCl9KQAoZnVuY3Rpb24oKXtCYW5nbGUubG9hZCgiLmJvb3RjZGUiKX0pAChmdW5jdGlvbigpIHsKICBCYW5nbGUuc2V0VUkoKTsKICBjbGVhclRpbWVvdXQoKTsKICBjbGVhckludGVydmFsKCk7CiAgY2xlYXJXYXRjaCgpOwogIEJhbmdsZS5yZW1vdmVBbGxMaXN0ZW5lcnMoKTsKICBFLnJlbW92ZUFsbExpc3RlbmVycygpOwogIE5SRi5yZW1vdmVBbGxMaXN0ZW5lcnMoKTsKICBCYW5nbGUuc2V0TENEQnJpZ2h0bmVzcygxKTsKICBsZXQgbWVudSA9IHsiIjp7dGl0bGU6IlJlY292ZXJ5In0sCiAgICAiQ2xlYW4gQm9vdCI6ICgpID0+IHsKICAgICAgcmVzZXQoKTsKICAgIH0sCiAgICAiUmVib290IjogKCkgPT4gewogICAgICBFLnJlYm9vdCgpOwogICAgfSwKICAgICJUdXJuIE9mZiI6ICgpID0+IHsKICAgICAgQmFuZ2xlLm9mZigpOwogICAgfQogIH07CiAgaWYgKHByb2Nlc3MuZW52LkJPQVJEPT0iQkFOR0xFSlMyIikKICAgIE9iamVjdC5hc3NpZ24obWVudSwgeyJUZXN0IjogQmFuZ2xlLnNob3dUZXN0U2NyZWVufSk7CiAgT2JqZWN0LmFzc2lnbihtZW51LCB7IkZhY3RvcnkgUmVzZXQiOiAoKSA9PiB7CiAgICAgIEUuc2hvd1Byb21wdCgiQXJlIHlvdSBzdXJlP1xuVGhpcyB3aWxsIHJlbW92ZSBhbGwgZGF0YS4iLHt0aXRsZToiRmFjdG9yeSBSZXNldCJ9KS50aGVuKG9rID0+IHsKICAgICAgICBpZiAoIW9rKSByZXR1cm4gQmFuZ2xlLnNob3dSZWNvdmVyeU1lbnUoKTsKICAgICAgICBFLnNob3dNZXNzYWdlKCJSZXNldHRpbmciKTsKICAgICAgICBCYW5nbGUuc2V0TENEVGltZW91dCgwKTsKICAgICAgICBpZighTlJGLmdldFNlY3VyaXR5U3RhdHVzKCkuY29ubmVjdGVkKQogICAgICAgICAgVGVybWluYWwuc2V0Q29uc29sZSgpOwogICAgICAgIEJhbmdsZS5mYWN0b3J5UmVzZXQoKTsKICAgICAgfSk7CiAgICB9LAogICAgIkV4aXQiOiAoKSA9PiB7CiAgICAgIGlmIChyZXF1aXJlKCJTdG9yYWdlIikubGlzdCgpLmxlbmd0aD4wKSB7CiAgICAgICAgRS5zaG93TWVzc2FnZSgiTG9hZGluZy4uLiIpOwogICAgICAgIGlmKCFOUkYuZ2V0U2VjdXJpdHlTdGF0dXMoKS5jb25uZWN0ZWQpCiAgICAgICAgICBUZXJtaW5hbC5zZXRDb25zb2xlKCk7CiAgICAgICAgbG9hZCgpOwogICAgICB9IGVsc2UgewogICAgICAgIEUucmVib290KCk7CiAgICAgIH0KICAgIH0sCiAgICAiQXR0ZW1wdCBDb21wYWN0IjogKCkgPT4gewogICAgICBFLnNob3dNZXNzYWdlKCJDb21wYWN0aW5nLi4uXG5NYXkgdGFrZVxuNSBtaW4uIik7CiAgICAgIGlmKCFOUkYuZ2V0U2VjdXJpdHlTdGF0dXMoKS5jb25uZWN0ZWQpCiAgICAgICAgVGVybWluYWwuc2V0Q29uc29sZSgpOwogICAgICByZXF1aXJlKCJTdG9yYWdlIikuY29tcGFjdCgpOwogICAgICBFLnJlYm9vdCgpOwogICAgfSwKICAgICJSZXdyaXRlIEJvb3Rsb2FkZXIiOiAoKSA9PiB7CiAgICAgIHNldFRpbWVvdXQobG9hZCwxMDAwKTsKICAgICAgZXZhbChyZXF1aXJlKCJTdG9yYWdlIikucmVhZCgiYm9vdHVwZGF0ZS5qcyIpKTsKICAgIH0sCiAgfSk7CiAgRS5zaG93TWVudShtZW51KTsKfSkAVGltZW91dCAoc3RhcnQpAEFyYml0cmF0aW9uIChzdGFydCkAJXYuYXBwbHkodGhpcyxhcmd1bWVudHMpAFNlYXJjaCBzdHJpbmcgaXMgdG9vIGxvbmcgKD49JWQgY2hhcnMpAE1vZHVsZSBuYW1lIHRvbyBsb25nIChtYXggMTI4IGNoYXJzKQBJbnRlcnZhbCBpcyB0b28gbG9uZyAoPjEwMCB5ZWFycykAJXMgIT0gJXMgKCVzICE9ICVzKQBUaW1lb3V0ICh3cikAVGltZW91dCAoc3RvcCkAQXJiaXRyYXRpb24gKHN0b3ApAGFyZ3MgbXVzdCBiZSBhZGRDYWNoZWQoc3RyaW5nLCBzdHJpbmd8ZnVuY3Rpb24pAGJ5dGVPZmZzZXQgdG9vIGxhcmdlIChvciBuZWdhdGl2ZSkATnVtT3V0cHV0cyhub2RlKQBOdW1JbnB1dHMobm9kZSkAUmVzaGFwZU91dHB1dChjb250ZXh0LCBub2RlKQBUaW1lb3V0IChyZCkAVG9vIG1hbnkgYXJndW1lbnRzICg+JWQpAG5ldyAlcyglZCkAVG9vIG1hbnkgYnVmZmVycyAobWF4IGlzICVkKQBPdXRwdXQgaW5kZXggJWQgb3V0IG9mIHJhbmdlIChsZW5ndGggaXMgJWQpAElucHV0IGluZGV4ICVkIG91dCBvZiByYW5nZSAobGVuZ3RoIGlzICVkKQAlcyAob2ZmcyAlZCwgbGVuICVkKQAlcyAhPSAlcyAoJWQgIT0gJWQpAF0pAHNldFRpbWVvdXQoQmFuZ2xlLnNob3dSZWNvdmVyeU1lbnUsMTAwKQBFZGl0IHNob3VsZCBiZSBjYWxsZWQgd2l0aCBlZGl0KGZ1bmNOYW1lKSBvciBlZGl0KCdmdW5jTmFtZScpAHNldFRpbWVvdXQoACVzLnNldHVwKABzZXRJbnRlcnZhbCgALnJlcGxhY2VXaXRoKABzZXRXYXRjaCgARnVuY3Rpb24gY29kZSBtdXN0IGJlIGEgU3RyaW5nLCBnb3QgJyV0JwBTdHJpbmc6JyVzJwAsICVqLCB7IHJlcGVhdDolcywgZWRnZTonJXMnACdlZGdlJyBpbiBzZXRXYXRjaCBzaG91bGQgYmUgMSwgLTEsIDAsICdyaXNpbmcnLCAnZmFsbGluZycgb3IgJ2JvdGgnAFNQSSBvcmRlciBzaG91bGQgYmUgJ21zYicgb3IgJ2xzYicASWYgQ29sb3IgaXMgYSBTdHJpbmcsIGl0IG11c3QgYmUgb2YgdGhlIGZvcm0gJyNycmdnYmInIG9yICcjcmdiJwAjAFwiAE91dHB1dCB0ZW5zb3JzIG5vdCBhdCBpbmRleCAwIGFyZSBhbGxvY2F0ZWQgZnJvbSB0aGUgcGVyc2lzdGVudCBtZW1vcnkgYXJlbmEuIFJlcGVhdCBjYWxscyB3aWxsIGNhdXNlIGV4Y2VzcyBhbGxvY2F0aW9uIQBJbnB1dCB0ZW5zb3JzIG5vdCBhdCBpbmRleCAwIGFyZSBhbGxvY2F0ZWQgZnJvbSB0aGUgcGVyc2lzdGVudCBtZW1vcnkgYXJlbmEuIFJlcGVhdCBjYWxscyB3aWxsIGNhdXNlIGV4Y2VzcyBhbGxvY2F0aW9uIQBGaWxlIHRvbyBiaWchAEZ1bmN0aW9uICVxIG5vdCBmb3VuZCEARnVuY3Rpb24gbm90IGZvdW5kIQBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBGdW5jdGlvbiBvciBTdHJpbmcgbm90IHN1cHBsaWVkIQBGYWlsZWQgdG8gcG9wdWxhdGUgYSBwZXJzaXN0ZW50IFRmTGl0ZVRlbnNvciBzdHJ1Y3QgZnJvbSBmbGF0YnVmZmVyIGRhdGEhAEZhaWxlZCB0byBwb3B1bGF0ZSBhIHRlbXAgVGZMaXRlVGVuc29yIHN0cnVjdCBmcm9tIGZsYXRidWZmZXIgZGF0YSEAT2JqZWN0IHsgAEdldHRlci9TZXR0ZXIgeyAARnVuY3Rpb24geyAATmF0aXZlRnVuY3Rpb24gMHgleCAoJWQpIHsgACBhdCAAUGFyYW0gJXEgAHJldHVybiAAZnVuY3Rpb24gAGluIGZ1bmN0aW9uICVxIGNhbGxlZCBmcm9tIABpbiBmdW5jdGlvbiBjYWxsZWQgZnJvbSAATmFtZSAAIyVkW3IlZCxsJWRdIABBcnJheUJ1ZmZlck5hbWVbJWRdIABBcnJheSglZCkgWyAAIENPTlNUIABTRVQgACV2LiV2ID0gAHZhciAldiA9IAAldjogAEVSUk9SOiAAV0FSTklORzogAENISUxEOiAAIDogAFdyaXRpbmcgaW5pdGlhbCBzdG9yYWdlIGNvbnRlbnRzLi4uIABDb21wYWN0aW5nLi4uIAAgLi4uIAAldi5vbiglcSwgACkgACAgICAAewogIABGYWlsZWQgdG8gZ2V0IHJlZ2lzdHJhdGlvbiBmcm9tIG9wIGNvZGUgJXMKIAAIIABmbG9vZEZpbGwgb3ZlcmZsb3cKAFVuY2F1Z2h0ICV2CgBsaW5lICVkIGNvbCAlZCBpbiAldgoATmV3IGludGVycHJldGVyIGVycm9yOiAldgoALCAlZik7IC8vICV2CgBMZXNzIHRoYW4gMTAgcGVyY2VudCBiYXR0ZXJ5IHJlbWFpbmluZyAtIGNhbm5vdCBjb21wYWN0CgAbWz83bAogX19fXyAgICAgICAgICAgICAgICAgXyAKfCAgX198X19fIF9fXyBfX18gXyBffF98X19fIF9fXyAKfCAgX198XyAtfCAuIHwgIF98IHwgfCB8ICAgfCAuIHwKfF9fX198X19ffCAgX3xffCB8X19ffF98X3xffF9fX3wKICAgICAgICAgfF98IGVzcHJ1aW5vLmNvbQogMnYyNCAoYykgMjAyNCBHLldpbGxpYW1zCgBVdGlsIFRpbWVyICVzCgAgPSBib29sICVzCgAtPiAlcwoAPC0gJXMKAFVuc3VwcG9ydGVkIGRhdGEgdHlwZSAlZCBpbiB0ZW5zb3IKAHN5c3RlbQoAVEYgZXJyb3IgLSBubyBtb2RlbAoALy8gQ29kZSBzYXZlZCB3aXRoIEUuc2V0Qm9vdENvZGUKAE5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGJ1aWxkCgBFeGVjdXRpb24gSW50ZXJydXB0ZWQKAEludm9rZSgpIGNhbGxlZCBhZnRlciBpbml0aWFsaXphdGlvbiBmYWlsZWQKAFNraXBwaW5nIG9wIGZvciBvcGNvZGVfaW5kZXggJWQKAE1pc3NpbmcgcmVnaXN0cmF0aW9uIGZvciBvcGNvZGVfaW5kZXggJWQKACA9IGludCAlZAoAQ291bGRuJ3QgY29udmVydCBwaW4gZnVuY3Rpb24gJWQKAGxpbmUgJWQgY29sICVkCgBVbmtub3duIHR5cGUgJWQKAEYgJWQKAF4KAFdSSVRFX1NIT1JUCgBSRUFEX1NIT1JUCgBXQUtFVVAKAFdSSVRFX0JZVEUKAFJFQURfQllURQoAIH0pOwoAT2JqZWN0LmNyZWF0ZSgldik7CgBwaW5Nb2RlKCVwLCAlcSVzKTsKAHNldEJ1c3lJbmRpY2F0b3IoJXApOwoAc2V0U2xlZXBJbmRpY2F0b3IoJXApOwoARS5zZXRGbGFncyglaik7CgBkaWdpdGFsV3JpdGUoJXAsICVkKTsKAFVuYWJsZSB0byBhbGxvY2F0ZSBxdWFudGl6YXRpb24tPnplcm9fcG9pbnQuCgBVbnN1cHBvcnRlZCBiZWhhdmlvcjogZm91bmQgYnVpbHRpbiBvcGVyYXRvciAlcyB3aXRoIGN1c3RvbSBvcHRpb25zLgoAVW5hYmxlIHRvIGFsbG9jYXRlIFRmTGl0ZUFmZmluZVF1YW50aXphdGlvbi4KAEZhaWxlZCBzdGFydGluZyBtb2RlbCBhbGxvY2F0aW9uLgoACiAgTG9nZ2VkIGluLgoARXhlY3V0aW9uIEludGVycnVwdGVkIGR1cmluZyBldmVudCBwcm9jZXNzaW5nLgoACldyaXRlIGNvbXBsZXRlLgoARXJhc2UgY29tcGxldGUuCgBPcGVyYXRvciB3aXRoIENVU1RPTSBidWlsdGluX2NvZGUgaGFzIG5vIGN1c3RvbV9jb2RlLgoATm8gVGltZXJzIGZvdW5kLgoAT25seSAxIHN1YmdyYXBoIGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQuCgByZWYsc2l6ZSxmbGFncyxuYW1lLGxpbmtzLi4uCgBFcmFzaW5nIFN0b3JhZ2UgQXJlYS4uLgoAUnVubmluZyBvbkluaXQoKS4uLgoASW5wdXQgYXJyYXkgbm90IHByb3ZpZGVkIGZvciBvcGVyYXRpb24gJyVzJy4KAEZvdW5kIHRvbyBtYW55IGRpbWVuc2lvbnMgaW4gdGhlIGlucHV0IGFycmF5IG9mIG9wZXJhdGlvbiAnJXMnLgoARVhFQ1VURSAleCgleCkKAE5iciBvZiBvZmZsaW5lIGJ1ZmZlciBvZmZzZXRzICglZCkgaW4gbWV0YWRhdGEgbm90IGVxdWFsIG5iciB0ZW5zb3JzICglZCkKAERpZG4ndCBmaW5kIG9wIGZvciBidWlsdGluIG9wY29kZSAnJXMnIHZlcnNpb24gJyVkJwoASW5pdGlhbCBzdG9yYWdlIGlzIHRvbyBsYXJnZSB0byBmaXQgaW4gaW50ZXJuYWwgU1BJIGZsYXNoIQoACkRvbmUhCgAKCg=="); + base64DecodeToExistingUint8Array(bufferView, 148768, "PT0APT09ACE9ACE9PQA8PQA8PAA8PD0APj0APj4APj4+AD4+PQA+Pj49ACs9AC09ACsrAC0tACo9AC89ACU9ACY9ACYmAHw9AHx8AF49AD0+AGlmAGVsc2UAZG8Ad2hpbGUAZm9yAGJyZWFrAGNvbnRpbnVlAGZ1bmN0aW9uAHJldHVybgB2YXIAbGV0AGNvbnN0AHRoaXMAdGhyb3cAdHJ5AGNhdGNoAGZpbmFsbHkAdHJ1ZQBmYWxzZQBudWxsAHVuZGVmaW5lZABuZXcAaW4AaW5zdGFuY2VvZgBzd2l0Y2gAY2FzZQBkZWZhdWx0AGRlbGV0ZQB0eXBlb2YAdm9pZABkZWJ1Z2dlcgBjbGFzcwBleHRlbmRzAHN1cGVyAHN0YXRpYwBvZg=="); + base64DecodeToExistingUint8Array(bufferView, 149076, "Pz8AADAAAAAAZGVlcFNsZWVwAHVuc2FmZUZsYXNoAHVuc3luY0ZpbGVzAHByZXRva2VuaXNlAGppdERlYnVn"); + base64DecodeToExistingUint8Array(bufferView, 149154, "B4AyAAAABwABgDMAAAAPAAGANAAAABcACIA1AAAAHABYgDYAAAAiAHiANwAAACYAA4A4AAAAKwAAgDkAAAAxAACAOgAAADUAA4A7AAAAPAAYgDwAAABCANiBPQAAAGFuYWxvZwBnZXRJbmZvAGdldE1vZGUAbW9kZQBwdWxzZQBwd20AcmVhZAByZXNldABzZXQAdG9nZ2xlAHdyaXRlAHdyaXRlQXRUaW1lAAAAAAARACAAAAAGACEALwAAABIAAQAwAAAAIgAFcD4AAAAmAAVwPwAAACsAAQAcAAAAMgABAB8AAAA8AAsAQAAAAEQACQkLAAAATQARAAwAAABSAAEAHQAAAFQACQANAAAAWgAJCUEAAABnAAkJQgAAAHQAEQAxAAAAfQABAAoAAACGAARwQwAAAIsAAQAYAAAAjwABcEQAAACUAAdwRQAAAJ0ACQlGAAAAqAAJCUcAAACzAAkJSAAAAL0ACQAQAAAAywABACIAAADQAAFwSQAAANQAAXBJAAAA2QABcEoAAADeAARwSwAAAOIAAXBMAAAA7AABcE0AAAD2AAEAJwAAAPsAAQAmAAAAAwEBAB4AAAAHAQdwTgAAAAsBEQAjAAAAEgEJACQAAAAZASkAEwAAACEBCQAbAAAAJQEJABQAAAAtAQkAEQAAADwBSQASAAAAQwEBABcAAABHAQFwTwAAAEwBAQAVAAAAUwEBcFAAAABbAQEAFgAAAGcBEQAlAAAAbgEJAA4AAAB6AQEAGgAAAI0BAXBRAAAAlgEJAA8AAACgAQFwUgAAAKQBCQlTAAAAsAEJCVQAAAC8AQkJVQAAAMgBCQlWAAAA0wEJCVcAAADlAQVwWAAAAO0BYQAZAAAA9gEvAFkAAAABAugDWgAAAA0CAXBbAAAAFwIJAFwAAAAcAgkAXQAAACECyAFeAAAAMAIQAF8AAAA+AhAAYAAAAEsCEABhAAAAVgIBACEAAABeAgkAYgAAAHEC6AJjAAAAfgIMAGQAAACKAkgAZQAAAJcCAABmAAAAnAIYAGcAAAChAggAaAAAAKYCCQBpAAAAuQIJAAkAAAC+AgEAKQAAAMECKQBqAAAAzAIBAGsAAADWAgcAbAAAAN4CAXBtAAAA5QIBcG0AAADwAgsAbgAAAPkCCwBvAAAA/wIIAHAAAAAEAw8AcQAAAA8DSQByAAAAGAMhAXMAAAAfAyEBdAAAACYDIQF1AAAALANoBnYAAAA0A2AAdwAAADsDYAB4AAAAQgNgAHkAAABIAxAAegAAAE4DAQAqAAAAVgMJAHsAAABeAxgAfAAAAGQDCAB9AAAAdQPJBX4AAACBAwgAfwAAAJMDOACAAAAAmwPJBYEAAACmA0kDggAAAK8DSAKDAAAAuAMIAIQ="); + base64DecodeToExistingUint8Array(bufferView, 150208, "QXJyYXkAQXJyYXlCdWZmZXIAQXJyYXlCdWZmZXJWaWV3AEJUTgBCVE4xAEJhbmdsZQBCbHVldG9vdGgAQm9vbGVhbgBEYXRhVmlldwBEYXRlAEUARXJyb3IARmxvYXQzMkFycmF5AEZsb2F0NjRBcnJheQBGdW5jdGlvbgBHcmFwaGljcwBISUdIAEkyQwBJMkMxAEluZmluaXR5AEludDE2QXJyYXkASW50MzJBcnJheQBJbnQ4QXJyYXkASW50ZXJuYWxFcnJvcgBKU09OAExFRABMRUQxAExFRDIATE9XAExvb3BiYWNrQQBMb29wYmFja0IATWF0aABNb2R1bGVzAE5SRgBOYU4ATnVtYmVyAE9iamVjdABPbmVXaXJlAFBpbgBQcm9taXNlAFJlZmVyZW5jZUVycm9yAFJlZ0V4cABTUEkAU1BJMQBTZXJpYWwAU2VyaWFsMQBTdG9yYWdlRmlsZQBTdHJpbmcAU3ludGF4RXJyb3IAVEZNaWNyb0ludGVycHJldGVyAFRlcm1pbmFsAFR5cGVFcnJvcgBVU0IAVWludDE2QXJyYXkAVWludDI0QXJyYXkAVWludDMyQXJyYXkAVWludDhBcnJheQBVaW50OENsYW1wZWRBcnJheQBWSUJSQVRFAFdhdmVmb3JtAGFuYWxvZ1JlYWQAYW5hbG9nV3JpdGUAYXJndW1lbnRzAGF0b2IAYnRvYQBjaGFuZ2VJbnRlcnZhbABjbGVhckludGVydmFsAGNsZWFyVGltZW91dABjbGVhcldhdGNoAGNvbnNvbGUAZGVjb2RlVVJJQ29tcG9uZW50AGRpZ2l0YWxQdWxzZQBkaWdpdGFsUmVhZABkaWdpdGFsV3JpdGUAZHVtcABlY2hvAGVkaXQAZW5jb2RlVVJJQ29tcG9uZW50AGV2YWwAZnMAZ2V0UGluTW9kZQBnZXRTZXJpYWwAZ2V0VGltZQBnbG9iYWwAZ2xvYmFsVGhpcwBpc0Zpbml0ZQBpc05hTgBsb2FkAHBhcnNlRmxvYXQAcGFyc2VJbnQAcGVlazE2AHBlZWszMgBwZWVrOABwaW5Nb2RlAHBva2UxNgBwb2tlMzIAcG9rZTgAcHJpbnQAcHJvY2VzcwByZXF1aXJlAHJlc2V0AHNldEJ1c3lJbmRpY2F0b3IAc2V0SW50ZXJ2YWwAc2V0U2xlZXBJbmRpY2F0b3IAc2V0VGltZQBzZXRUaW1lb3V0AHNldFdhdGNoAHNoaWZ0T3V0AHRyYWNlAAAAAAAhAYUAAAAIAAFwhgAAABAAIQGHAAAAHAAgAYgAAAAoACEBiQAAAC0A4QGKAAAAMgAhAYsAAAA8ACABjAAAAEYAAQCNAAAASgAAAI4AAABWABgAjwAAAGMAAQCQAAAAbAABAJEAAAB3AAEAkgAAAIEACQCTAAAAkQABAJQAAACcAAEAlQAAAKQAAQCWAAAArwABAJcAAAC7AAQAmAAAAMgAIQGZAAAAzgAgAZoAAADUAAMAmwAAAOIAAwCcAAAA8AADAJ0AAAD7AAMAngAAAAcBAwCfAAAADwEDAKAAAAAXAQMAoQAAAB8BAwCiAAAAKAFgAKMAAAAuAQgApAAAADMBAAClAAAAPwEAAKYAAABDAQkApwAAAEsBAACoAAAAWAEYAKkAAABlAVsAqgAAAHcBWwCrAAAAhwFbAKwAAACTAVsArQAAAJ8BOACuAAAAsAEIAK8AAAC7ASAAsAAAAMgBSBixAAAA1gEYALIAAADiATgAswAAAPABGAC0AAAA+gEIALUAAAAFAjgAtgAAABUCIAC3AAAAIgJIALgAAAAoAgAAuQAAADICAAC6AAAAPwIAALsAAABQAgAAvAAAAFgCIAG9"); + base64DecodeToExistingUint8Array(bufferView, 151632, "YWNjZWxSZABhcHBSZWN0AGJhcm9tZXRlclJkAGJhcm9tZXRlcldyAGJlZXAAYnV6egBjb21wYXNzUmQAY29tcGFzc1dyAGRiZwBkcmF3V2lkZ2V0cwBmYWN0b3J5UmVzZXQAZ2V0QWNjZWwAZ2V0Q29tcGFzcwBnZXRHUFNGaXgAZ2V0SGVhbHRoU3RhdHVzAGdldExDRE1vZGUAZ2V0TG9nbwBnZXRPcHRpb25zAGdldFByZXNzdXJlAGdldFN0ZXBDb3VudABocm1SZABocm1XcgBpc0JhY2tsaWdodE9uAGlzQmFyb21ldGVyT24AaXNDaGFyZ2luZwBpc0NvbXBhc3NPbgBpc0dQU09uAGlzSFJNT24AaXNMQ0RPbgBpc0xvY2tlZABsY2RXcgBsb2FkAGxvYWRXaWRnZXRzAG9mZgBwcm9qZWN0AHJlc2V0Q29tcGFzcwBzZXRCYWNrbGlnaHQAc2V0QmFyb21ldGVyUG93ZXIAc2V0Q29tcGFzc1Bvd2VyAHNldEdQU1Bvd2VyAHNldEhSTVBvd2VyAHNldExDREJyaWdodG5lc3MAc2V0TENETW9kZQBzZXRMQ0RPZmZzZXQAc2V0TENET3ZlcmxheQBzZXRMQ0RQb3dlcgBzZXRMQ0RUaW1lb3V0AHNldExvY2tlZABzZXRPcHRpb25zAHNldFBvbGxJbnRlcnZhbABzZXRTdGVwQ291bnQAc2V0VUkAc2hvd0Nsb2NrAHNob3dMYXVuY2hlcgBzaG93UmVjb3ZlcnlNZW51AHNvZnRPZmYAdG91Y2hXcg=="); + base64DecodeToExistingUint8Array(bufferView, 152258, "CQC+AAAABgBIBr8AAAAKAPlPwAAAABMACQDBAAAAGgCIAMIAAAAeAP8PwwAAACMACADEAAAALQBPCMUAAAA2AEkCxgAAAEEAAADHAAAASAAAAMgAAABaAAEAyQAAAGIAAADKAAAAbQAAAMsAAAB7AHgAzAAAAIoACQDNAAAAkwDMAM4AAACgAAcAzwAAAK4ABADQAAAAuQABANEAAADEAAEA0gAAANIAAQDTAAAA2wABANQAAADpAAkB1QAAAPMABwDWAAAAAgEEANcAAAAJAQsA2AAAABABAADZAAAAHQEAANoAAAApAUkG2wAAADYBSELcAAAAQQEhAd0AAABMAUkA3gAAAFYBYQLfAAAAYQFIAuAAAABmAQAA4QAAAG0BJADiAAAAeQHIAOMAAACFAQwA5AAAAI4BSADlAAAAmQEQAOYAAACgAQgA5wAAAKkBCADoAAAAtQE4AOkAAADBAUkA6gAAAMsBCQDrAAAA1AFIAOwAAADgAUkA7QAAAOsBCQDuAAAA+AEgAO8AAAD+AQAA8AAAABMCDwDxAAAAFwIJAPIAAAAlAhEA8wAAADICCQD0AAAANwIRAPUAAABAAhEA9gAAAE0CzwH3AAAAQ1JDMzIARkZUAEhTQnRvUkdCAGFzVVRGOABhc20AY2xpcABjb21waWxlZEMAY29udm9sdmUAZGVjb2RlVVRGOABkZWZyYWcAZHVtcEZyYWdtZW50YXRpb24AZHVtcFN0cgBkdW1wVGltZXJzAGR1bXBWYXJpYWJsZXMAZW5hYmxlV2F0Y2hkb2cAZnJvbVVURjgAZ2V0QWRkcmVzc09mAGdldEFuYWxvZ1ZSZWYAZ2V0QmF0dGVyeQBnZXRDb25zb2xlAGdldEVycm9yRmxhZ3MAZ2V0RmxhZ3MAZ2V0UG93ZXJVc2FnZQBnZXRTaXplT2YAZ2V0VGVtcGVyYXR1cmUAaHdSYW5kAGlzVVRGOABraWNrV2F0Y2hkb2cAbG9ja0NvbnNvbGUAbG9va3VwTm9DYXNlAG1hcEluUGxhY2UAbWVtb3J5QXJlYQBtZW1vcnlNYXAAbmF0aXZlQ2FsbABwaXBlAHJlYm9vdAByZXZlcnNlQnl0ZQBzZXRCb290Q29kZQBzZXRDbG9jawBzZXRDb25zb2xlAHNldERTVABzZXRGbGFncwBzZXRQYXNzd29yZABzZXRUaW1lWm9uZQBzaG93QWxlcnQAc2hvd01lbnUAc2hvd01lc3NhZ2UAc2hvd1Byb21wdABzaG93U2Nyb2xsZXIAc3JhbmQAc3RvcEV2ZW50UHJvcGFnYXRpb24Ac3VtAHRvQXJyYXlCdWZmZXIAdG9GbGF0U3RyaW5nAHRvSlMAdG9TdHJpbmcAdG9VaW50OEFycmF5AHZhcmlhbmNl"); + base64DecodeToExistingUint8Array(bufferView, 153330, "AYD4AAAABgAJgPkAAAAOAAGA+gAAABQATIL7AAAAHwAJgPwAAAAkABmA/QAAACoACcn+AAAANAAhif8AAAA/ACGJAAEAAEwAIckBAQAAWAAJmQIBAABiAEmAAwEAAG0AIckEAQAAdgD5/wUBAACBAMmABgEAAIoAyYAHAQAAlQAJyQgBAACeAAm5CQEAAKkAAIAKAQAArgAhiQsBAAC5ACHJDAEAAMUACYANAQAAzgAJgA4BAADZAAnJDwEAAOIAIYMQAQAA7AAEgBEBAADzAASAEgEAAP4ABIATAQAABwEBgBQBAAAPAQSAFQEAAB0BAYAWAQAAJgEEgBcBAAAwARmAGAEAADwBJIEZAQAARQFJgBoBAABYAQSAGwEAAGEBCYAcAQAAbgEhgR0BAAB1ASGBHgEAAHwBSYAfAQAAjAEBgCABAACSASGBIQEAAJkBSYIiAQAApAEhySMBAACwAUmCJAEAALkBCYElAQAAwQEhgCYBAADOASGAJwEAANoBIYkoAQAA5wEBgCkBAAD1AQnDKgEAAAMCCYErAQAADgIhgCwBAAAcAiGDLQEAACUC4YAuAQAAMQIJgC8BAAA6AgmAMAEAAEgCDIAxAQAAVAIB8DIBAABaAkyCMwEAAGICSYA0AQAAdAIJgTUBAABhc0JNUABhc0ltYWdlAGFzVVJMAGJsZW5kQ29sb3IAYmxpdABjbGVhcgBjbGVhclJlY3QAZHJhd0NpcmNsZQBkcmF3Q2lyY2xlQUEAZHJhd0VsbGlwc2UAZHJhd0ltYWdlAGRyYXdJbWFnZXMAZHJhd0xpbmUAZHJhd0xpbmVBQQBkcmF3UG9seQBkcmF3UG9seUFBAGRyYXdSZWN0AGRyYXdTdHJpbmcAZHVtcABmaWxsQ2lyY2xlAGZpbGxFbGxpcHNlAGZpbGxQb2x5AGZpbGxQb2x5QUEAZmlsbFJlY3QAZmxvb2RGaWxsAGdldEJQUABnZXRCZ0NvbG9yAGdldENvbG9yAGdldEZvbnQAZ2V0Rm9udEhlaWdodABnZXRGb250cwBnZXRIZWlnaHQAZ2V0TW9kaWZpZWQAZ2V0UGl4ZWwAZ2V0VmVjdG9yRm9udFBvbHlzAGdldFdpZHRoAGltYWdlTWV0cmljcwBsaW5lVG8AbW92ZVRvAHF1YWRyYXRpY0JlemllcgByZXNldABzY3JvbGwAc2V0QmdDb2xvcgBzZXRDbGlwUmVjdABzZXRDb2xvcgBzZXRGb250AHNldEZvbnQxMngyMABzZXRGb250NngxNQBzZXRGb250QWxpZ24Ac2V0Rm9udEJpdG1hcABzZXRGb250Q3VzdG9tAHNldEZvbnRQQkYAc2V0Rm9udFZlY3RvcgBzZXRQaXhlbABzZXRSb3RhdGlvbgBzZXRUaGVtZQBzdHJpbmdNZXRyaWNzAHN0cmluZ1dpZHRoAHRoZW1lAHRvQ29sb3IAdHJhbnNmb3JtVmVydGljZXMAd3JhcFN0cmluZwAAAAABADYBAAALAAEANwEAAB0ASAA4AQAALABIADkBAABnZXRBZGRyZXNzAGdldFNlY3VyaXR5U3RhdHVzAHNldEFkdmVydGlzaW5nAHNldFNlcnZpY2Vz"); + base64DecodeToExistingUint8Array(bufferView, 154560, "OgEAAHNldENvbnNvbGUAAAAAEYA7AQAABwBJgDwBAAANAAmDPQEAABIASYA+AQAAGQAJgD8BAAAeAAmAQAEAACgASIBBAQAAMAALgUIBAAA5AAmBQwEAAEEACYBEAQAARgAB8EUBAABNAEmARgEAAFEAAYBHAQAAVQAUgEgBAABaAEmASQEAAGEAAYBKAQAAaQABgEsBAABvAGGATAEAAHUASYBNAQAAegAJgE4BAAB/AGGETwEAAIYACYABAAAAjwAUgFAB"); + base64DecodeToExistingUint8Array(bufferView, 154768, "Y29uY2F0AGV2ZXJ5AGZpbGwAZmlsdGVyAGZpbmQAZmluZEluZGV4AGZvckVhY2gAaW5jbHVkZXMAaW5kZXhPZgBqb2luAGxlbmd0aABtYXAAcG9wAHB1c2gAcmVkdWNlAHJldmVyc2UAc2hpZnQAc2xpY2UAc29tZQBzb3J0AHNwbGljZQB0b1N0cmluZwB1bnNoaWZ0AAAAAAsAUQEAAGlzQXJyYXkAAAAAAAAABPBSAQAAYnl0ZUxlbmd0aAAAAAAB8FMBAAAHAATwVAEAABIABPBVAQAAHQAJgz0BAAAiAEmAPgEAACkACYA/AQAALgAJgEABAAA4AEiAQQEAAEAAC4FCAQAASQAJgUMBAABRAAmARAEAAFYASYBWAQAAWgBJgEkBAABhAAGASgEAAGkACIFXAQAAbQBhgEwBAABzAAmAWAEAAHgAYYBZAQAAYnVmZmVyAGJ5dGVMZW5ndGgAYnl0ZU9mZnNldABmaWxsAGZpbHRlcgBmaW5kAGZpbmRJbmRleABmb3JFYWNoAGluY2x1ZGVzAGluZGV4T2YAam9pbgBtYXAAcmVkdWNlAHJldmVyc2UAc2V0AHNsaWNlAHNvcnQAc3ViYXJyYXk="); + base64DecodeToExistingUint8Array(bufferView, 155250, "4YBaAQAACwDhgFsBAAAWAOGAXAEAAB8A4YBdAQAAKADhgF4BAAAwAOGAXwEAADoA4YBgAQAARADhgGEBAABNAGCGYgEAAFgAYIZjAQAAYwBghmQBAABsAGCGZQEAAHUAYIZmAQAAfQBghmcBAACHAGCGaAEAAJEAYIZpAQAAZ2V0RmxvYXQzMgBnZXRGbG9hdDY0AGdldEludDE2AGdldEludDMyAGdldEludDgAZ2V0VWludDE2AGdldFVpbnQzMgBnZXRVaW50OABzZXRGbG9hdDMyAHNldEZsb2F0NjQAc2V0SW50MTYAc2V0SW50MzIAc2V0SW50OABzZXRVaW50MTYAc2V0VWludDMyAHNldFVpbnQ4"); + base64DecodeToExistingUint8Array(bufferView, 155538, "BwBqAQAABAAPAGsBAABub3cAcGFyc2U="); + base64DecodeToExistingUint8Array(bufferView, 155570, "BIBsAQAACAAEgG0BAAAPAASAbgEAABsABIBvAQAAJAAEgHABAAAtAASAcQEAAD0ABIByAQAASAAEgHMBAABRAASAdAEAAFwAB4B1AQAAZAAEgHYBAAB2ACeAdwEAAH4AZ4J4AQAAigBnknkBAACTACeAegEAAKMAZ4J7AQAArgBngHwBAAC3AGeAfQEAAMIAP4B+AQAAygABgH8BAADWAAGAfwEAAN0AAYCAAQAA7gABgIEBAAD3AAGAggEAAAMBB4B1AQ=="); + base64DecodeToExistingUint8Array(bufferView, 155776, "Z2V0RGF0ZQBnZXREYXkAZ2V0RnVsbFllYXIAZ2V0SG91cnMAZ2V0SXNEU1QAZ2V0TWlsbGlzZWNvbmRzAGdldE1pbnV0ZXMAZ2V0TW9udGgAZ2V0U2Vjb25kcwBnZXRUaW1lAGdldFRpbWV6b25lT2Zmc2V0AHNldERhdGUAc2V0RnVsbFllYXIAc2V0SG91cnMAc2V0TWlsbGlzZWNvbmRzAHNldE1pbnV0ZXMAc2V0TW9udGgAc2V0U2Vjb25kcwBzZXRUaW1lAHRvSVNPU3RyaW5nAHRvSlNPTgB0b0xvY2FsSVNPU3RyaW5nAHRvU3RyaW5nAHRvVVRDU3RyaW5nAHZhbHVlT2YAAAAAAYCDAQAAdG9TdHJpbmcAAAAAAAABgIMBAAB0b1N0cmluZwAAAAAAAAGAgwEAAHRvU3RyaW5nAAAAAAAAAYCDAQAAdG9TdHJpbmcAAAAAAAABgIMBAAB0b1N0cmluZwAAAAAAABAAegAAAAYAEAB6AAAADAAQAHoAAAARABAAegAAABUAEAB6"); + base64DecodeToExistingUint8Array(bufferView, 156192, "ZGVidWcAZXJyb3IAaW5mbwBsb2cAd2Fybg=="); + base64DecodeToExistingUint8Array(bufferView, 156226, "CQCEAQAABgBJAoUBAABwYXJzZQBzdHJpbmdpZnk="); + base64DecodeToExistingUint8Array(bufferView, 156274, "B3CGAQAACgAHcIcBAAAUAAdwiAEAACYAB3CJAQAAKgAHcIoB"); + base64DecodeToExistingUint8Array(bufferView, 156320, "TUFYX1ZBTFVFAE1JTl9WQUxVRQBORUdBVElWRV9JTkZJTklUWQBOYU4AUE9TSVRJVkVfSU5GSU5JVFkAAAAAAAAAIYCLAQAAdG9GaXhlZA=="); + base64DecodeToExistingUint8Array(bufferView, 156418, "SICMAQAADAABgI0BAAASAIiAjgEAABcAC4CPAQAAJgAB8EUBAAAtAEiAjAEAADAASICQAQAAQAAIgJEBAABTAEiAkgEAAGIACYABAAAAawABgJMB"); + base64DecodeToExistingUint8Array(bufferView, 156512, "YWRkTGlzdGVuZXIAY2xvbmUAZW1pdABoYXNPd25Qcm9wZXJ0eQBsZW5ndGgAb24AcHJlcGVuZExpc3RlbmVyAHJlbW92ZUFsbExpc3RlbmVycwByZW1vdmVMaXN0ZW5lcgB0b1N0cmluZwB2YWx1ZU9m"); + base64DecodeToExistingUint8Array(bufferView, 156642, "EQCUAQAABwBJAJUBAAAOAEkAlgEAAB8ASQKXAQAALgAJAJgBAAA2AAkAmQEAAEIASQCaAQAAWwAJAJsBAAB1AAkAnAEAAIkACQCdAQAAmAAJAJ4BAACdAEkAnwEAAKwACQCgAQ=="); + base64DecodeToExistingUint8Array(bufferView, 156752, "YXNzaWduAGNyZWF0ZQBkZWZpbmVQcm9wZXJ0aWVzAGRlZmluZVByb3BlcnR5AGVudHJpZXMAZnJvbUVudHJpZXMAZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yAGdldE93blByb3BlcnR5RGVzY3JpcHRvcnMAZ2V0T3duUHJvcGVydHlOYW1lcwBnZXRQcm90b3R5cGVPZgBrZXlzAHNldFByb3RvdHlwZU9mAHZhbHVlcw=="); + base64DecodeToExistingUint8Array(bufferView, 156946, "SYChAQAABgCJgKIBAAALAImAoQEAABAACICjAQAAYXBwbHkAYmluZABjYWxsAHJlcGxhY2VXaXRoAAAAAAAAAAmApAEAAAUAC4ClAQAAZXhlYwB0ZXN0"); + base64DecodeToExistingUint8Array(bufferView, 157042, "IYCmAQAABwAhgKcBAAASABGAqAEAABkAS4CpAQAAIgBLgKoBAAArAEyAqwEAADMATICsAQAAPwAB8EUBAABGAAmArQEAAEwAYYCuAQAAUwBhgK8BAABcAAGAsAEAAGoAIYCxAQAAcQBJgLIBAAB5AEmAswEAAIQAYYC0AQAAigAJgLUBAACQAAuBtgEAAJsAYYC3AQAAogBhgLgBAACsAAGAuQEAALgAAYC6AQAAxAABgLsB"); + base64DecodeToExistingUint8Array(bufferView, 157232, "Y2hhckF0AGNoYXJDb2RlQXQAY29uY2F0AGVuZHNXaXRoAGluY2x1ZGVzAGluZGV4T2YAbGFzdEluZGV4T2YAbGVuZ3RoAG1hdGNoAHBhZEVuZABwYWRTdGFydAByZW1vdmVBY2NlbnRzAHJlcGVhdAByZXBsYWNlAHJlcGxhY2VBbGwAc2xpY2UAc3BsaXQAc3RhcnRzV2l0aABzdWJzdHIAc3Vic3RyaW5nAHRvTG93ZXJDYXNlAHRvVXBwZXJDYXNlAHRyaW0AAAAAAAARALwBAABmcm9tQ2hhckNvZGU="); + base64DecodeToExistingUint8Array(bufferView, 157474, "SAC9AQAACgABAL4BAAAUAAAAvwEAACQACADAAQAAYWRkQ2FjaGVkAGdldENhY2hlZAByZW1vdmVBbGxDYWNoZWQAcmVtb3ZlQ2FjaGVk"); + base64DecodeToExistingUint8Array(bufferView, 157570, "B3DBAQAAAgAHcMIBAAAHAAdwwwEAAAsAB3DEAQAAEgAHcMUBAAAYAAdwxgEAABsAB3DHAQAAIwAHcMgBAAApAD8AyQEAAC0APwDKAQAAMgA/AMsBAAA3AD8AzAEAADwA/wHNAQAAQgA/AM4BAABHAP8PzwEAAEwAPwDQAQAAUAA/ANEBAABUAD8A0gEAAFoAPwDTAQAAXgAXANQBAABiABcA1QEAAGYA/wHWAQAAagAHANcBAABxADkA2AEAAHcAPADZAQAAfAA/ANoBAACAAD8A2wEAAIUAPwDcAQAAiQD/Ad0B"); + base64DecodeToExistingUint8Array(bufferView, 157808, "RQBMTjEwAExOMgBMT0cxMEUATE9HMkUAUEkAU1FSVDFfMgBTUVJUMgBhYnMAYWNvcwBhc2luAGF0YW4AYXRhbjIAY2VpbABjbGlwAGNvcwBleHAAZmxvb3IAbG9nAG1heABtaW4AcG93AHJhbmRvbQByb3VuZABzaWduAHNpbgBzcXJ0AHRhbgB3cmFwAAAAAAAIAN4BAAAKAAEA3wEAABIAIQDgAQAAGgAhAeEBAAAfAAgB4gE="); + base64DecodeToExistingUint8Array(bufferView, 158000, "ZXJhc2VQYWdlAGdldEZyZWUAZ2V0UGFnZQByZWFkAHdyaXRlAAAAAAAASALgAAAAcGlwZQ=="); + base64DecodeToExistingUint8Array(bufferView, 158066, "AXDjAQAABAAJAOQBAAALAAFw5QE="); + base64DecodeToExistingUint8Array(bufferView, 158096, "ZW52AG1lbW9yeQB2ZXJzaW9u"); + base64DecodeToExistingUint8Array(bufferView, 158130, "CYDmAQAABQADgOcBAAALACGA6AEAABIACIDpAQAAGQAAgOoBAAAeAMiA6wEAAHJlYWQAcmVzZXQAc2VhcmNoAHNlbGVjdABza2lwAHdyaXRl"); + base64DecodeToExistingUint8Array(bufferView, 158226, "CQDsAQAABAAJAO0BAAALAAkA7gE="); + base64DecodeToExistingUint8Array(bufferView, 158256, "YWxsAHJlamVjdAByZXNvbHZl"); + base64DecodeToExistingUint8Array(bufferView, 158290, "CYDvAQAABgBJgPABAABjYXRjaAB0aGVuAAAAACkA8QEAAGZpbmQ="); + base64DecodeToExistingUint8Array(bufferView, 158338, "BIDyAQAACgAAgPMBAAAQABCA9AEAABcASIDgAAAAHAAIgPUBAAAiAAiA9gEAACoAIYD3AQAALwAYgPgBAAA6AEiA+QEAAEAAAID6AQAASAAQgPsB"); + base64DecodeToExistingUint8Array(bufferView, 158432, "YXZhaWxhYmxlAGZsdXNoAGluamVjdABwaXBlAHByaW50AHByaW50bG4AcmVhZABzZXRDb25zb2xlAHNldHVwAHVuc2V0dXAAd3JpdGUAAAAAABgA/AEAAAgACAD9AQAADgAAAP4BAAAXABwA/wEAAB8AGQAAAgAAKAAMAAECAAAtAEkAAgIAADIASQADAgAANwAAAAQCAABAAAkJBQIAAEUACQAGAgAAVQDJAAcCAABeAEtICAIAAGQASwAJAgAAY29tcGFjdABlcmFzZQBlcmFzZUFsbABnZXRGcmVlAGdldFN0YXRzAGhhc2gAbGlzdABvcGVuAG9wdGltaXNlAHJlYWQAcmVhZEFycmF5QnVmZmVyAHJlYWRKU09OAHdyaXRlAHdyaXRlSlNPTgAAAAAAAIAKAgAABgAEgAsCAAAQAEiA4AAAABUAIYAMAgAAGgABgA0CAAAjAAiADgIAAGVyYXNlAGdldExlbmd0aABwaXBlAHJlYWQAcmVhZExpbmUAd3JpdGUAAAAAAAApAA8CAABmaW5k"); + base64DecodeToExistingUint8Array(bufferView, 158850, "SYEQAgAABQAI2RECAAAOAAjZEgIAABcACIATAgAAHQAQgBQC"); + base64DecodeToExistingUint8Array(bufferView, 158896, "c2VuZABzZW5kNGJpdABzZW5kOGJpdABzZXR1cAB3cml0ZQAAAAApABUCAABmaW5k"); + base64DecodeToExistingUint8Array(bufferView, 158962, "CYEWAgAACQAhiRcCAAARAAiAGAIAABcAiIAZAgAAcmVhZEZyb20AcmVhZFJlZwBzZXR1cAB3cml0ZVRvAAAAAOiDGgIAAAsA6IMbAgAAFwAAgBwC"); + base64DecodeToExistingUint8Array(bufferView, 159056, "c3RhcnRJbnB1dABzdGFydE91dHB1dABzdG9wAAAAAAAAAAkAHQIAAAkACQAeAgAAY29tcHJlc3MAZGVjb21wcmVzcw=="); + base64DecodeToExistingUint8Array(bufferView, 159138, "IRkfAgAAEgAhGSACAAAhAAkAIQIAAC0AAQAiAgAAY3JlYXRlQXJyYXlCdWZmZXIAY3JlYXRlQ2FsbGJhY2sAY3JlYXRlSW1hZ2UAZ2V0SW5zdGFuY2U="); + base64DecodeToExistingUint8Array(bufferView, 159234, "CQAjAgAABQAJACQCAAAMAAkAJQIAABMACQAmAgAAGgAJACcC"); + base64DecodeToExistingUint8Array(bufferView, 159280, "U0hBMQBTSEEyMjQAU0hBMjU2AFNIQTM4NABTSEE1MTIAAAAAAABhACgCAABjcmVhdGU="); + base64DecodeToExistingUint8Array(bufferView, 159346, "AYApAgAACQABgCoCAAATAACAKwI="); + base64DecodeToExistingUint8Array(bufferView, 159376, "Z2V0SW5wdXQAZ2V0T3V0cHV0AGludm9rZQAAAAAAAACYRgIAmEYCAACgRgIAAEcCAAxQRwIAwEoCAG2ATgIAUFACADnAUgIAkFQCADrwVgIA4FgCAD5gWwIAgFsCAAS8WwIAxFsCAAHQWwIAkFwCABcoXQIAMF0CAAE8XQIARF0CAAFQXQIA4F0CABJwXgIA8F4CABCQXwIAoF8CAAKwXwIAgGACABmMYQIAlGECAAGgYQIAqGECAAG0YQIAvGECAAHIYQIA0GECAAHcYQIA5GECAAHwYQIAIGICAAVAYgIAUGICAAJwYgIAoGICAAXgYgIA6GICAAEAYwIAYGMCAAvgYwIAUGQCAA0QZQIAMGUCAARQZQIAYGUCAAJwZQIAMGYCABf8ZgIABGcCAAEgZwIAQGcCAASAZwIAcGgCAB0AaQIAMGkCAAVYaQIAYGkCAAFwaQIAkGkCAAOwaQIA4GkCAAYQagIAMGoCAANQagIAYGoCAAJsagIAdGoCAAGAagIA4GoCAAswawIAoGsCAA4QbAIAQGwCAAZsbAIAdGwCAAGAbAIAsGwCAAXUbAIA3GwCAAHwbAIAEG0CAAQwbQIAUG0CAANwbQIAgG0CAAKgbQIAwG0CAAQAbgIAMG4CAAVUbgIAXG4CAAFwbgIAkG4CAANQaW4AQmFuZ2xlAEUAR3JhcGhpY3MATlJGAEJsdWV0b290aABBcnJheQBBcnJheUJ1ZmZlcgBBcnJheUJ1ZmZlclZpZXcAVWludDhBcnJheQBVaW50OENsYW1wZWRBcnJheQBJbnQ4QXJyYXkAVWludDE2QXJyYXkASW50MTZBcnJheQBVaW50MjRBcnJheQBVaW50MzJBcnJheQBJbnQzMkFycmF5AEZsb2F0MzJBcnJheQBGbG9hdDY0QXJyYXkARGF0YVZpZXcARGF0ZQBFcnJvcgBTeW50YXhFcnJvcgBUeXBlRXJyb3IASW50ZXJuYWxFcnJvcgBSZWZlcmVuY2VFcnJvcgBGdW5jdGlvbgBjb25zb2xlAEpTT04ATnVtYmVyAE9iamVjdABCb29sZWFuAFJlZ0V4cABTdHJpbmcATW9kdWxlcwBNYXRoAGZzAHByb2Nlc3MAT25lV2lyZQBQcm9taXNlAFNlcmlhbABTdG9yYWdlRmlsZQBTUEkASTJDAFdhdmVmb3JtAFRGTWljcm9JbnRlcnByZXRlcgAAZw=="); + base64DecodeToExistingUint8Array(bufferView, 160304, "alXqH0ItwEdCXwAEliQWcwNTBgOHBAAAABAAEAIgx0ESRCAAkj11UpVUFXP6HQAA3yVkWnY0qRqWJAAAAAAAAJIuABGSLiAAlixpW3pN4FtaLQAA/lclWbV7JVs+VwAAT1mKeYp5anlXfwAAlWVvW29br28VVwAAe1tUW1J7UX/WVQAA7U9tSLooFRnVHwAAFwgpZAEQAXDHcQAARBDeJGV/ZSneJgAAoEQzUK1tq1TpVQYIBgCyZXpbelt/ZQBAAATrXrVVZVSjMwEAAABte70qf0d6cwAMk3eSfNZwknCTcQBwAwAEAAYABgAEAAMAQAGSCUQppxVEfSoIBChHGgSogiQA/LokBCg3GwAAAgBEIAAAhBAAAAQJRQAACUIAAIn/AQAJQgiAEEUIQCAAEAAEAAAACEccAIjJIgCQSgMfkEocgKBMIIAg9z8AQAAAAAAAAE588x3RQBQiRnkvHEGGSCLxx4giTjiHHAAAAAAAAAAADgABIJEQAhCREPQJDwAIBIEQ9AmOEAIQACABIMABAAAuEu84cZIYJaIqDyOkuggjYMYYJQRG7zjgAQAAAAAAAP+76A4QwkgCnMNPAhDeSCIQxkgiH7roHAAAAAAAAAAAEcboPBLuHCMU1hojHMYZPRLGGCHxx+ggAAAAAAAAAADOux8jMUISI9E7EiMxBhIVMkYSFS064ggBAAAAAADgIDHGjxBRRYEQlSiCCFURhAguEogEKpKPBAAA4AKOAAQgggACIEIB4DxCARAiIgLwIgIAECMCAPA8DnwAACCAAyAgAAQg7jn/PDBGFCMwfhQjMEL0Iu89FCIAAOAAREAGAABAAgDMRaI9REhSI0RwUiNESFIjTkRTI4ADAAAAAAAQAAAAEM4/6zwxxgwRMUboENE/GBAOBugPAAY="); + base64DecodeToExistingUint8Array(bufferView, 161000, "McYYPzFGFQVRVRIJUVX1EI+oGD4AAOAAg2AADIQQABKEEAA4mIwEEJiMCjiEEAkShBAADINgAAAADAAAABAACAAQAAgAOAA+ABAACICRDQiAkFQJAGEJCARkAgCEaAceXxEoKAQgRywEwIAoH+xIKARsJx4EAAAAgABAGOADgAhPAMAQlAAAABYBAAAUAgAA7wMAAAAAAABpAwAAMgEAGlsSACwAOAAAAHz3AQA4AAAAEAAAAAAAAIAAAAgfAAAAy0EFPguiCgTAEQsIICAKEMDDBT4AAAAAAAACABEAYgAREIciCgDKHQQQihQEkIccBBByIwAQAgCROOUYkUAQBYowUB0fSJAlBCSQHZ8YUAGEBBABgHjgAAAA9xkAgAgkBYAOJAqADRjUgw4ASoANAEWACAAAAAcAgDEBAEQIkh6EEJA6HwmQGsQx0AoEAKAKHwCACgAAAAsAEAYkADAJJAAQSSkMEKkIDDhWEgABoBaAAEAvAAMAIhICZhxSAQAAVBJCCIQBpRSLEuccKaEYI3LFGCMzOgAAVhEAGISA4z6EEBYhSikLOc45DiExRhohMcbrPgAAQABGAWYc/3/nHBBCQgicc0IIEEJCCBBCQgj/f+ccAAAAAApYZhSOReccROUYI6TXGCMkzRgjRMUYI45F5xwAAAAAVoHADM4BFyMxghkjMaoaIzGSGiMxqhwjzgHnHAAACABKEQAYMUbIADFGLx0xqkgDMZI4HzESHyPOEWgfAAAAAMRZpQAAAEAAzjnnPCGEEArvvfc+McYYKe+99xYAAAAAgBmlGAAAAADOOecYMMYYCdB77wkQQggJ7733HAQAAABGKWUZAAAGAIwx4R2EEBcjhJAYI4SQGCPOORcdAAAAAEZZBQAAAAACzjlHHDHGCCYxxvgrMcYIMs45RxwAAAAgzChFIAAAACAxxhgtMcYYMzHGGDMxxvgs770XIAAA4CAKAAAAAAAAABEAAAARAAAAEQAAAA8AAAABAAAADgAAAAQEBAQEBAQEBB4EFRUeDAwEBAQEBAYEBAoKBAQLDg0KBgwHGBAEBAYEBAYLBCsMGxgUDAoGDAwQDAYOCh8QBAQOCAQHEAQECQoIBAgGBAQEFgQUBBUJBAwLBAQJBAwLBAQJHAkQBw8EBAkEChsEGxIWBAQEBBQEEQQeBAQEBAQeFAYGBhIOEAQEBAQEBAQLBgYECwsMEhMEBAQHCAQEFRQLBAQHBAQEBAwHBAQUBAQEBAQSGwQEBwgEBBUmCwQEBAQHCAQEBAQEBAAAAAAAAACpq8XDJymRjycpXVsqLGBeKy3HxS8xy8mCjaecT1p0aR0e1NMqKzpVU0VEUF1rbHuWo7zHxrecnqytoZSGhXZbTjUuMMXDKCo4Ul5dQVBFXUQpRTZBKUJdXE40lZelv8vKrr2yyrGWsqOulq/KybuhLDdQa8vNbVJGVGB2j5y3xsi9sX99lq6snpGFb1Y7HR9Eap7G7+3EnGhCGhxFbaHH7OrFn2tDKiyUkjVOiXA7VoNoaHCKgkRGrqyqrMbf3cRobYeCISPS0CosO1ZURkRQTjWcnqyuoqS9yMa3TlCenFRWpKIqLK6xy8OprERbQVRWY3yfuKuxy8OpkG1hVFZjfJekopWHhWttYSwuyshThIqknIInL0lDaoJeYG+KpKKIeniEgmknL0nHxUdBTlBda21hVFZjiG6XpKKVh4WRnpyPaoRbTlBqeHpuVFakooiJlJKDaFtdd3VcXnh2SWN5l7F1TlZwaIKKpJxBW3mPqX1UVmN8h5SSeGxtYayuyMZFSVhmgajAv6KWiJSisbytknlufZimpZmMcWJga4SeucjN2uXh0sSpdVxQKy3Ny1OknoWJU8XDJyw7VmN8bn2Ypb7Jxauvo5aIhGptYVRGQ8XDKy49S1ZHRlFqhJ+ur6Szv8rHuKqPW0I2Jyw7SWSYsb3IxautoolvVEVDxcMnL0lDam6IhKuxy8MnL0lDam6IhMXDe3+zsZeVJylqby4wzMqJhMXDJytFRKytx8OpqkJBLjClvsnGt5yRrJ6trqOvlicpdy4weczKhZHFwycpq7HLwycplZQwMs7MZK+uXcXDJymWLjDMyl3FwysuPUtmmrO/ysiur6SLcVZHRlFqhJ+uyMe4qo9bQjYnLDtWcImUkXd6blRGQ8XDsbzm24aIzMpOUF1rbXyXpKKVh4V2WycxS0fJx0VBJymenCcpoS8xyccnKcjGLC7MyjEzzMosLsjGJynNyy8xxcMnKW0vMYjJx4YnL0mrscvDqUdBGh85NtLV7+oaHNnXGh/v6tDTNzQrdXdSe33Q2PLqJylSUGBiysheX26Jo7zHraGHeXiEnqytx8a3nIJpJynFw15fbomHeXiEnqytoaO8x8a3nIJpLC7KyF5fbomjnoSHeXiEnqyuvMfGt5yCaSssRkVRxsRPNltgenVgYsrj7u3e0MTT1MheX26JysiHeXiEaVtdxcMnKUNBXV/H4Ovq0NHFKStFQycpkWBik8rIn6vFw2Nkc47PzYx+fYluW13s6mBi8e9eX258h3l4hGleX258iHl4hHeFhpWjvMfGt6mdrK2hrqCfkIJpKCqfra7Ix7idW12erK2hYGLKyLu8x8a3nFtdoGFjyMZbXcjGYGLMymVnzMqVyMZbXcvJYWPFw2JkyOHs69HSxltdrsdbYnyssMrDqXl1HyA6OUVfeISSrcfV1vDv4MWrkJ6PdWp2XUMqGhzs6hobKkVfemx7laCUrcfg6+rQ0cWrkoZ4XUM1NFFcdYKEd2t5lKOYf3JwfYl7YCwvPldIR1JrhaCvsKXAy8i5q5BcQzdocH11goqXj0FDXVt1d9/dUVJhfHpsa3eRn6CUlq+6uaqPdVxERcfGKyw7SVRGRVGSq7HLw6mQTzZoboiCQk5cdZCcqp6tlJKEal5gboiUraKwpJZ9YlZIVEVQdn6Lg5CYpZ2PkezqGhx3dSstR0UrLz5MZ5u0wMu+s5pmSzw4Q1yQq7q+y8e4qo9bQjZGSFdycGJgbIaUloqMpbCun4RqUV5shKCsgmFvh6OvhWhwsa+IgisvPDhDXJCrur7Lx7iqj1tCNi88S2aas77LwLSbZ0w+REhkfoqysIiWlHp8YmCurCcvSUE3OaGfqbHLw1tjfXUpK1BOnLjs6oKEnpzExdPg7Ord3tLf0V9rh5+tiVxohJyqhi8xxsQpKl5fbGlcXTZCNYqLzMuKi7CzwLyviYuZpr7Azcq9pZiWKCo4RVFEUl9raVxeUVBDRDc1eHqUoJ+ruMbIvL7X4uDRtqmQhURGYF4DBSAfBQcfHgQGIiASHhwEDxwRIBUIEwIEHhwGCCIgBAYULjo5HSwhOSAFIRIdBR45OCoQLDNNSXBzjYqxtc/Jop+GiEcuxcPIydfk8O7h4tbj1QIEHx4EBh4dAwUhHxEdGwEDHRsFByEfAAIdHAIEHBsoLEZFra7IxKqrQ0ICBCAeEBwaAAIcGgQGIB4oLTxKZZmyvsnGrK6jinBVRkTGxAQGISBCTrCkSFaqnDAyxcMnKZGcJylDRlVwiqOuq5GUiG5gXcXDKis6VWJue5exvcjGrK6ilXlsYFNFRFDFw041KStGRSosREMqLEhGOERCKjVCN0Y7LjkoKkRCLC5IRh0fLUdTUjZFOlI5HjorNh43UlFDKV5fbmNkc46oo4mMfn2Jo7GzwczLvMfFqZyEh6Gfq56sraGHeXdpxsfV4u7s3+DU4dNcXsbEJylEQygqQkFdX8fFKStHRTdDQSk1RF+JfFQ4LDpdT5KUrqxgYsXDKy1FRCcp7OotL0lHAAAAAAABAgMEBQYHCAkKCwwNAg4PEBESExQVFgAXGBkaGxwdGB4YGR8gGSEhGRgaIiMYGSQZGCUAFSYnKCkqKywYLS4vMDEyMzQwNTY3ODk6Ozw9Pjw/PUAYGUFCN0NERUZHSElKS0xNTk9QUFFSUFNUVVZXUFhRWVpbXF1RWFleWFlQUF9QYGFZYmNWZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7R3x9Wn5/gIGCg4SFhocLiImKi4xkjY6PkJGSk5GUkpGTlZaXmC6ZLpoumy6cnS6eLp8woDKhMqIyozKkpTamNqeoqaiqq6wWO5utPJk8mjybPJydPK6vsDyYsTeisTeasTecnbE3R5mys7RPULVPULZPULdPULi5T1BPULq7UrxUtFS1VLZUuLm9vlm/wMHAWn5QwsO3WFlQtFC1ULZQt1C4uROXxFDFZLRktWS2ZLi5aWrGx1BpalzIAAAAAAACAgQCAwEBAQEDAgEBAQEEAQIDAQMEAQMDAgIBAgEDAQEBAQEBAQIBAQEBAQEBAQECAgMBAgEBAgEBAQEBAQEBAgIBAgECAgICAgEBAwIBAgICAQIBAQECAgEBAQEBAAM="); + base64DecodeToExistingUint8Array(bufferView, 164352, "AgICAQMCAAICAAIBAAMBAQMAAAECAAEBAAACAwMDAgICAgIDAgECAgICAwICAgMCAgICAgIDAgIDAwMEAgEBAwMDAwQDAQICAgIDAgICAwMDAgICAgMDAgICAgMDAgQABCEUpRznDGMAAAAAAAAAAJgvikKRRDdxz/vAtaXbtelbwlY58RHxWaSCP5LVXhyrmKoH2AFbgxK+hTEkw30MVXRdvnL+sd6Apwbcm3Txm8HBaZvkhke+78adwQ/MoQwkbyzpLaqEdErcqbBc2oj5dlJRPphtxjGoyCcDsMd/Wb/zC+DGR5Gn1VFjygZnKSkUhQq3JzghGy78bSxNEw04U1RzCmW7Cmp2LsnCgYUscpKh6L+iS2YaqHCLS8KjUWzHGeiS0SQGmdaFNQ70cKBqEBbBpBkIbDceTHdIJ7W8sDSzDBw5SqrYTk/KnFvzby5o7oKPdG9jpXgUeMiECALHjPr/vpDrbFCk96P5vvJ4ccaA"); + base64DecodeToExistingUint8Array(bufferView, 164784, "Iq4o15gvikLNZe8jkUQ3cS87TezP+8C1vNuJgaXbtek4tUjzW8JWORnQBbbxEfFZm08Zr6SCP5IYgW3a1V4cq0ICA6OYqgfYvm9wRQFbgxKMsuROvoUxJOK0/9XDfQxVb4l78nRdvnKxlhY7/rHegDUSxyWnBtyblCZpz3Txm8HSSvGewWmb5OMlTziGR77vtdWMi8adwQ9lnKx3zKEMJHUCK1lvLOktg+SmbqqEdErU+0G93KmwXLVTEYPaiPl2q99m7lJRPpgQMrQtbcYxqD8h+5jIJwOw5A7vvsd/Wb/Cj6g98wvgxiWnCpNHkafVb4ID4FFjygZwbg4KZykpFPwv0kaFCrcnJskmXDghGy7tKsRa/G0sTd+zlZ0TDThT3mOvi1RzCmWosnc8uwpqduau7UcuycKBOzWCFIUscpJkA/FMoei/ogEwQrxLZhqokZf40HCLS8IwvlQGo1FsxxhS79YZ6JLREKllVSQGmdYqIHFXhTUO9LjRuzJwoGoQyNDSuBbBpBlTq0FRCGw3Hpnrjt9Md0gnqEib4bW8sDRjWsnFswwcOcuKQeNKqthOc+Njd0/KnFujuLLW828uaPyy713ugo90YC8XQ29jpXhyq/ChFHjIhOw5ZBoIAseMKB5jI/r/vpDpvYLe62xQpBV5xrL3o/m+K1Ny4/J4ccacYSbqzj4nygfCwCHHuIbRHuvgzdZ92up40W7uf0999bpvF3KqZ/AGppjIosV9YwquDfm+BJg/ERtHHBM1C3EbhH0EI/V32yiTJMdAe6vKMry+yRUKvp48TA0QnMRnHUO2Qj7LvtTFTCp+ZfycKX9Z7PrWOqtvy18XWEdKjBlEbIA="); + base64DecodeToExistingUint8Array(bufferView, 165552, "BAAABAEABAIgBAMhBAQiBAUjBAYABAcABAgABAkABAoABAsABAwABA0ABA4ABA8ABBAAFBEABBIABBMABBQABBUABBYABBcABBgABBkABBoABBsABBwkBB0lBB4mBB8nBCAABCEABCIABCMABCQABCUABCYABCcABCgABCkABCoABCsABCwABC0ABC4ABC8Au84gINKgP/+AcLg//8AOLh4ONj//4AOLn//wAOLv//M5n//wNLM4P8M5v4M5qFMM4J2MM4IOMM4KFLgP4j4OIRwUPwEH8F/CArmDnkAgfgwFABwkCAYRlBgPhEoYACgggCE4MB4QOGhCTCAQNB4g0DAAUQAQMcDgOBxA0DAAUgAQMwIAMDyAlCAAZQCSIMIgcgEoR2FgICBmEHoBnFIIUDEQUOUoMf5F/gF+oUD/EOCYUNCINAqHBgcCwkIjBYBg0AjxqBgFhgMMgcIkEYLAJVBUwNEgFCgUQAIOAiFgNgU4gGIgGEgkggkhBYKiBKoNwgMQgMIhGAhFD//BM4MIgPggUgFAMRUQOEM4OAgMogfAglAFQIpBkJFBYAMCwEGEwIBBoFCJoKbBMoME8EdIIOAmGAw0BwkQhkMHQNgnSrBwGhgMGgsIiEwQoMUoFn/0A/x2Bg/yiEf4EYgEngJrBAAkEAYSBBoDECAAjzDBwOAYgLrFToIOCZ4IRBdYrzDvACB+AOFwIFDBwMHJI38Agd8gE/JIwAEn8D/AOM//gBxd//46GAAv//4NLgP/V4IAKgf/L4gOJLBkH/6TFAA0PM5sfM5qFBwCFNBpaFBM5gOBM4I="); + base64DecodeToExistingUint8Array(bufferView, 166183, "D+YAACQAcAAAASADgAAAABABPAPAPPAPAPIAIAAAA4gIiBEQf/BEQIiAjgAABgYSECTAMmAZIEJDAwAAADwOhCIIRhBzIAGAHoAACQAcAAAAB8AwYIAiACAACACIAgwYB8AAACQAMAH4AMACQAAAAgAEAAgA/gAgAEAAgAAAAEgA4AAAEAAgAEAAgAEAAAAAYADAAAABAAwAYAMAGADAAAAA/gICCGIRhBAQH8AAAEABAAQAD/4AABA4QZCEIRBBwIAABAQQBCEIQhB7wAAADABoARAMID/4AIAAAfCCIIRBCIIQ+AAAP+CIIRBCIII+AAAQACB4QwCYAcAAAAPeCEIQhCEIPeAAAPCCEIQhCEIP+AAAGGAwwAAAwoGGAAAAgAKACIAggICAAACIARACIARACIARAAABAQEEARABQAEAAABAAQACCYQgCIAOAAAAP+CAIRxCRISJB/AAAAf4MQCCAMQAf4AAD/4QhCEIQhB7wAAB/wQBCAIQBBAQAAD/4QBCAIICA/gAAD/4QhCEIQhCAIAAD/4RACIARACAAAAB/wQBCAIQhBHwAAD/4AgAEAAgD/4AACAIf/CAIAACAwQBCAIQBD/wAAD/4AgAKAGMDAYAAD/4ABAAIABAAIAAD/4MAAYAMAD/4AAD/4MAAYAAwD/4AAB/wQBCAIQBB/wAAD/4QgCEAQgB4AAAB/wQBCAoQCB/oAAD/4QgCEAQ4B44AABwQRBCEIQRBBwAACAAQAD/4QACAAAAD/wABAAIABD/wAAD4AA8AAYA8D4AAAD/gADABgAwABgADD/gAADA4GYAMAGYDA4AADgADAAH4DADgAAACAYQNCOIWBDAIAAD/8QAiAEAADAAGAAMAAYAAwABAAAQAiAEf/gAACABgAQABgACAAAAABAAIABAAIABAAIAACAAIAAgAAAAJwCRASICSAP4AAD/4BCAQICBAPwAAAPwCBAQICBAIQAAAPwCBAQIBCD/4AAAPwCRASICRAOQAAAQAP/CQASACQAAAAOsCKQRSCKQeSCBgAAf/AIACAAQAB/AAAABAQIT/AAIABAAAAAgACAAQQCT/gAAf/ABAAYAMgCDAAAABCAIf/AAIABAAAD/AQAD/AQAB/AAAD/AIACAAQAB/AAAB+AQICBAQIB+AAAD/wIQCBAQIB+AAAB+AQICBAIQD/wAAD/AIACAAQABAAAABiASICRARIBGAAACAD/wCBAQICBAAAD+AAIABAAQD/AAADgADgADADgDgAAAD8AAYAcAAYD8AAADDAEgAYAEgDDAAADwYBsACABgDwAAACDAQoCZAUIDBAAAOTiNiQAQAAf/AAAQASNiOTgAAAgAIABAAEAAQACAAgAAABBB/4RBCAIQBBA4AADigD0AD8D0DigAABgASACQAMAAAAXACoAJAAAAVACoAKAAAAIACAAAAAf+ABAAIACAf4AAAMABgAAAJAD4ABAAAAOACIAOAAAAAf6MQKCAMQAf4AAAf4MQKCCMQAf4AAAf5MQSCBMQAf4AAIf6MQKCCMQAf4AAA/yYgEECYgA/wAAAf5MQWCBMQAf4AAP/CCAQQD/4QhCEIAAB/wQBKANQBRAQAAAf/SEJQhCEIQBAAAf/CEJQhSEIQBAAAf/KEKQhKEIQBAAA/+UIQhCUIQgCAACQBL/4QBAAAQBL/6QBAABQBT/5QBAACgCH/ygCAAD/4QhCEIICA/gAABf/RgBDAQGAf/AAAP+SAJQBCAIP+AAAP+CAJQBSAIP+AAAP+KAKQBKAIP+AAAP+KAKQBKAKP+AAAf8UAQgCUAQf8AABCAEgAYADAAkAIQAAAH/BBwJyBwQf8AAAD/xABUAJABD/wAAD/wABIAKABD/wAAD/xABQAJABT/wAAH/iACAASACH/gAADgADAIH6DADgAAAf/wgQECAgQD8AAAP/CAARBCIIOhADwAAAJwSRBSICSAP4AAAJwCRBSISSAP4AAAJwKRCSIKSAP4AABJwSRBSISSAP4AAAJwKRASIKSAP4AAAE4JIipEJJAH8AAAJwCRASIB+ASICRAOQAAAPwCBIQOCBAIQAAAPwSRBSICRAOQAAAPwCRBSISRAOQAAAPwKRCSIKRAOQAAAPwKRASIKRAOQAAAAISBBf4ABAAIAAAAICBBf4QBAAIAAAAIKBCf4IBAAIAAAAIKBAf4IBAAIAAAH4VAioENAhf4AABf4RABQASAAP4AAAPwSBCQIKBAPwAAAPwCBBQISBAPwAAAPwKBCQIKBAPwAAAPwKBCQIKBCPwAAAPwKBAQIKBAPwAAAEAAgA1gGsAEAAgAAAABAHwBFAJIBRAHwBAAAAD+CAIIBAAQD/AAAD+AAIIBCAQD/AAAD+BAIQBBAQD/AAAD+BAIABBAQD/AAADwYBsICCBgDwAAAf/ARACIAOAAAAeDINgAQIMAeA="); + base64DecodeToExistingUint8Array(bufferView, 168032, "AwIGCAgICAMFBQYIAwYDBwcFBgYHBgYGBgYDAwYHBgcHBgYGBgYGBgYEBgYGBgYGBgYGBgYGBggGBgYEBwQGBwQGBgYGBgYHBgYGBgYGBgYGBgYGBgYGBgYGBgQCBAg="); + base64DecodeToExistingUint8Array(bufferView, 168163, "BwAG"); + base64DecodeToExistingUint8Array(bufferView, 168176, "BQAEBAMGAAMABAQAAAAAAAYGBgYGBgcGBgYGBgQEBAQGBgYGBgYGBwYGBgYGBgYHBgYGBgYGCAYGBgYGBgYGBgYGBgYGBgYHCAYGBgYGBQY="); + base64DecodeToExistingUint8Array(bufferView, 168271, "f+cH/nAAAA+AAPgAAAAAAAAPgAD4AAAAAAQQAEEAf/8H//AEEABBAH//B//wBBAAQQAAAADggB8MAxhgIIIP//j//4IIIDDGAYfACDgAAAAYAAPAMCQPA8PAGPAAPGAPDwPAkDAPAABgAAAAA8AcfgPsMGOBBBgQY8MD5mAcPAAP8ADDAAAA+AAPgAAAAAB/AB/8A4DgYAMEABAAAAQAEGADA4DgH/wAfwAAAAAIAAiIAMmABrAAPgABwAA+AAawAMmACIgACAAAAAAIAACAAAgAAIAA/4AP+AAIAACAAAgAAIAAAAAAAIAA+AAPAAAAAIAACAAAgAAIAACAAAgAAIAACAAAgAAIAAAAAABwAAcAAAAAAwAA8AA8AA8AA8AA8AA8AAMAAAAAAf/AP/4GAzBAYQQMEEGBBDAQZgMD/+Af/AAAAAgBAYAQMAEH//B//wAAEAABAAAQAAABwDA8BwYA0EAZBAMQQGEEDBBhgQPwEB4BAAAAEAQDAGBgAwQIEECBBAgQQIEGHDA/fgHjwAAAAAeAAPgAGIADCABggAwIAYCAMAgH//B//wAAAH8EB/BgQQMEEBBBAQQQEEEBBBgwQP4EB8AAAAH/wD/+BhAwQQEEEBBBAQQQEEGDBA/gAHwAAABwAAcAAEAABAAAQB8EB/BB4AR4AH4AB4AAAAAB48A/fgYcMECBBAgQQIEECBBhwwP34B48AAAAHwAD+BBgwQQEEEBBBAQQQEEGBDA//gH/wAAAAHDgBw4AAAAAAIBw+AcPAAAAAIAAHAADYABjAAwYAYDAMAYGADBAAQAAAAIQACEAAhAAIQACEAAhAAIQACEAAhAAIQAAAAQAEGADAwBgGAwAwYAGMAA2AAHAAAgAAAABwAA8AAYAAEAABAZwQOcEGABjAAPgABwAAAAAH/wD/+BgAwQAEEPhBH8QTBkEgJBoCQP/kB/5AAAAH/8D//BgQAQEAEBABAQAQEAGBAA//wH/8AAAB//wf/8EEBBBAQQQEEEBBBAQY4MD7+AcfAAAAB/8A//gYAMEABBAAQQAEEABBgAwOA4BgMAAAAf/8H//BAAQQAEEABBAAQQAEGADA//gH/wAAAB//wf/8ECBBAgQQIEECBBAgQQIEEABBAAQAAAH//B//wQIAECABAgAQIAECABAgAQAAEAAAAAAH/wD/+BgAwQAEEABBAgQQIEGCDA4/gGPwAAAB//wf/8ACAAAgAAIAACAAAgAAIAH//B//wAAAEABBAAQf/8H//BAAQQAEAAAAAHAAB4AADAAAQAAEEABBAAwf/4H/8BAAAQAAAAAB//wf/8AHAADYABjAAwYAYDAMAYGADBAAQAAAH//B//wAAEAABAAAQAAEAABAAAQAAEAABAAAAf/8D//AYAADAAAYAADAABgAAwAAYAAP/8H//AAAAf/8H//AGAAAwAAGAAAwAAGAAAwB//wf/8AAAAf/AP/4GADBAAQQAEEABBAAQYAMD/+Af/AAAAH//B//wQIAECABAgAQIAECABhgAPwAB4AAAAAH/wD/+BgAwQAEEAFBABwQAMGADg//sH/xAAAB//wf/8EDABA4AQLAECYBAjAYYYD8DAeAQAAAB4EA/BgYYMECBBAgQQIEECBBgwwMH4BA8AAAAQAAEAABAAAQAAH//B//wQAAEAABAAAQAAAAAB//Af/4AADAAAQAAEAABAAAQAAMH/+B//AAAAHgAB/gAB/AAB8AADwAA8AB8AH8Af4AHgAAAAAf/8H/+AADAABgAAwAAYAADAAAYAADAf/4H//AAAAYAMHgPAePAB3AAHAABwAB3AB48B4DwYAMAAABgAAeAAB4AAHgAAf8AH/AHgAHgAHgABgAAAAAEAPBAHwQDEEBhBAwQQYEEMBBGAQfAEHgBAAAAf/8H//BAAQQAEEABAAAAMAADwAAPAAA8AADwAAPAAA8AADAAAAQAEEABBAAQf/8H//AAAACAABgAAwAAYAAMAADAAAYAADAAAYAACAAAAAAAAEAABAAAQAAEAABAAAQAAEAABAAAQAAEAAAIAADAAAYAACAAAAAAABwAQ+AEYwBEEARBAEQQBEEAZBAD/wAf8AAAB//wf/8AQBAEAQBAEAQBAEAQBgMAP+AB/AAAAAH8AD/gBgMAQBAEAQBAEAQBAGAwAwYAEEAAAAAfwAP+AGAwBAEAQBAEAQBAEAQBB//wf/8AAAAB/AA/4AYjAEIQBCEAQhAEIQBiEAPjAB4gAAAAQAAEAABAAD//B//wRAAEQABEAAQAAAAAAB/AA/4QYDEEARBAEQQBEEARBAMwf/4H/8AAAH//B//wBAAAQAAEAABAAAQAAGAAA/8AH/AAAABAEAQBB3/wd/8AABAAAQAAAAAAwAAOAAAwAAEEABBAA3f/53/8AAAH//B//wACAABwAA2AAYwAMGAGAwBAEAAABAAQQAEH//B//wAAEAABAAAAB/8Af/AEAABAAAf/AH/wBAAAYAAD/wAf8AAAAH/wB/8AQAAEAABAAAQAAEAABgAAP/AB/wAAAAH8AD/gBgMAQBAEAQBAEAQBAGAwA/4AH8AAAAB//wf/8EAQBAEAQBAEAQBAEAYDAD/gAfwAAAAB/AA/4AYDAEAQBAEAQBAEAQBAEAf/8H//AAAAf/AH/wAYAAMAAGAABAAAQAAEAABAAAQAAAAAA8IAfjAEIQBCEAQhAEIQBCEAQhAGPwAh4AAAAEAABAAAQAB//gf/8AQBAEAQBAEAABAAAAB/wAf+AAAwAAEAABAAAQAAEAABAH/wB/8AAAAHAAB8AADwAAPAAA8AAPAAPAAPAAfAAHAAAAAAf+AH/wAAEAABAAfwAH8AABAAAQB/8Af+AAAABgMAcHABjAANgABwAAcAANgAGMAHBwBgMAAAAH/AB/4QADEAARAAEQABEAARAAMwf/4H/8AAAAQDAEBwBA0AQZAEMQBGEATBAFgQBwEAYBAAAAAIAACAAf/AP34GADBAAQQAEAAAB//wf/8AAABAAQQAEGADA/fgH/wACAAAgAAAAHAADwAAgAAIAADgAAcAABAAAQAA8AAOAAAAAAc/8HP/AAAAAfwAP+AGAwBAEB//wf/8BAEAYDADBgAQQAAAAAgQH/8D//BggQQIEECBBggQMAEBAHAABwAAABACAb9gD/wAQIAECABAgAQIAECAD/wBv2AQAgAAAGAAB4JAHiQAckAB/wAf8AckAeJAeCQGAAAAAAfj8H4/AAAAd8IP/jCIMQiBEIwRDH/wQ+4AAADgAA4AAAAAAAAA4AAOAAAAAAB/gAgEAT8gF/oBQKAUCgFAoBc6ATMgCAQAf4AAAADyAJ+gCQoAkKAJCgCQoAkKAP+gB/oAAAAAAgAAcAANgAGMADJgBnMATZABjAAwYAYDAEAQAAAAIAACAAAgAAIAACAAAgAAIAACAAA/AAPwAAAAAIAACAAAgAAIAACAAAgAAIAACAAAAAB/gAgEAX+gF/oBRCAUYgFHIBfaATigCAQAf4"); + base64DecodeToExistingUint8Array(bufferView, 170933, "B4AA/AAIQACEAAhAAPwAB4AAAAAACBAAgQAIEACBAP+QD/kACBAAgQAIEACBAAAAYgAOYACOAAmgAPIABiAAAAAEQADGAAkgAJIAD+AAbAAAAAAgAAYAAMAACAAAAAAAf/8H//AAEAABAAAQAAEAADAABgB/8Af/AAAAPwAH+ABAgAQIAH//B//wQAAEAAB//wf/8AAAABwAAcAAAAAAABAADwAA4AAAIAAGIAD+AA/gAAIAAAAAPiAH8gDBoAgKAICgCAoAwaAH8gA+IAAAAAQBAGAwAwYAGMAE2QBnMAMmABjAANgABwAAIAAAAAAGAgDAYBgP4wD+ZgAM4AGaADMgBn+Ax/gAAAAAwCAYBgMA/mAP7YgBuYAyOAYmgMPIGBiAAABEBgxgwJIYCSMA/mYGzOABmgAzIAZ/gMf4AAAAAcAAPgAGMADBBzgQcwEAABAAAwAB4AAcAAAAA//gf/6MCAyAgGgIAoCACAgAwIAH/+A//gAAAD/+B//gwIAICAKAgGgIDICAjAgAf/4D/+AAAAP/4H/+LAgGgIDICAyAgGgIAsCAB//gP/4AAAA//mf/7sCAiAgMgIBoCAKAgOwIDH/+A//gAAAD/+B//uwIDoCACAgAgIDoCA7AgAf/4D/+AAAAP/4H/+bAgPgICYCAmAgPgIBsCAB//gP/4AAAH/8D//BggAQIAECABAgAf/8H//BAgQQIEECBBAgQAAAB/8A//gYAMEABFAAfQAHkABBgAwOA4BgMAAAAD//g//6IECyBAmgQIoECCBAggQIIACCAAgAAAP/+D//ggQIIECKBAmgQLIECiBAggAIIACAAAA//4P/+KBAmgQLIECyBAmgQIoECCAAggAIAAAD//g//7oEC6BAggQIIEC6BAugQIIACCAAgAACIACyAAm//4v/+CAAggAIAAACAAggAIv/+b//sgAKIACAAACgAJoACz//s//5oACKAAgAADoAC6AAg//4P/+6AAugAIAAAAIAH//B//wQIEECBBAgQQIEEABBgAwP/4B/8AAAAD//m//7gwAgGAMAwBgGAIAwOAGDP/+D//gAAAD/4B//IwAbIACaAAigAIIACDABgf/wD/4AAAAP/gH/8DABggAIoACaAAsgAKMAGB//AP/gAAAA/+Af/wsAGaAAsgALIACaAAiwAYH/8A/+AAAAD/4Z//OwAaIACyAAmgAIoAC7ABsf/wD/4AAAAP/gH/87ABugAIIACCAAugALsAGB//AP/gAAACAgAwYAGMAA2AAHAABwAA2AAYwAMGACAgAAAAABAH/wD/+BgMwQGEEDBBBgQQwEGYDA//gH/wBAAAAAAD/+A//yAAGwAAmAAIgACAAAgAAYP/8D/+AAAAP/4D//AAAYAACIAAmAALAACgABg//wP/4AAAA//gP/8IABmAALAACwAAmAAIgAGD//A//gAAAD/+A//zgAG4AAgAAIAAC4AAuAAYP/8D/+AAAAMAADwAAPAAA8AID/mA/7A8Ag8AA8AAMAAAAAH//B//wCBAAgQAIEACBAAgQAMMAB+AAPAAAAAP/8H//BBBAQQMEEBBBAQYwED+DAc/gAHwAAAAAHABD4ERjBkQQNEEBRBAEQQBkEAP/AB/wAAAAAcAEPgBGMARBAUQQNEEGRBBGQQA/8AH/AAAAABwAQ+AUYwNEEGRBBkQQNEEBZBAD/wAf8AAAAAHAND4HRjBEQQZEEDRBAUQQdkEGP/AB/wAAAAAcAEPgdGMHRBAEQQBEEHRBB2QQA/8AH/AAAAABwAQ+A0YwfEEExBBMQQfEEDZBAD/wAf8AAAAAPgBH8ARBAEQQBkEAP/AH/gBCMAQhAEIQB+MAPiAAAAAfwAP+AGAwBAEQQB8EAeBAEAYDADBgAQQAAAAB/AA/4EYjBkIQNCEBQhAEIQBiEAPjAB4gAAAAH8AD/gBiMAQhAUIQNCEGQhBGIQA+MAHiAAAAAfwAP+AWIwNCEGQhBkIQNCEBYhAD4wAeIAAAAB/AA/4HYjB0IQBCEAQhB0IQdiEAPjAB4gAAAEQBBkAQN/8Bf/AAAQAAEAAAAEAQBAEBf/A3/wYAEEABAAAAFAEDQBBn/wZ/8DABAQAQAAAHQBB0AQB/8Af/BwAQcAEAAAAB/AU/4HYDAkAQdAEFwBAMAQBgMAP+AB/AAAAAf/A3/wdAAEQABkAANAABQAB2AAY/8AH/AAAAAfwAP+BGAwZAEDQBAUAQBAEAYDAD/gAfwAAAAB/AA/4AYDAEAQFAEDQBBkAQRgMAP+AB/AAAAAH8AD/gFgMDQBBkAQZAEDQBAWAwA/4AH8AAAAAfwDP+B2AwRAEGQBA0AQFAEHYDBj/gAfwAAAAB/AA/4HYDB0AQBAEAQBB0AQdgMAP+AB/AAAAACAAAgAAIAACAAcnAHJwACAAAgAAIAACAAAAAAf0AP+AGDwBBkAQxAEYQBMEAeDAD/gBfwAAAAH/AB/4EADBgAQMAEBABAAAQAAEAf/AH/wAAAAf8AH/gAAMAABAQAQMAEGABBAAQB/8Af/AAAAB/wAf+AQAwMAEGABBgAQMAEBABAH/wB/8AAAAH/AB/4HADBwAQAAEAABBwAQcAEAf/AH/wAAAAf8AH/hAAMQABEQARMAEWABFAAzB//gf/wAAAf//3//8EAQBAEAQBAEAQBAEAYDAD/gAfwAAAAH/AB/4XADFwARAAEQABFwARcAMwf/4H/8"); + base64DecodeToExistingUint8Array(bufferView, 172992, "BgMHCwsLCwMGBgwLBAsDCQsJCwsLCwsLCwsDBAoLCgsMCwsLCwsLCwsHDAsLDAsLCwsLCwsLCwwLCwsGCQYLCwULCwsLCwoLCwcJCgcLCwsLCwsLCgsLCwsLCwgDCAs="); + base64DecodeToExistingUint8Array(bufferView, 173121, "AwsLDAsDCAcMCgwLCQwJCAsHBwULCwMEBgoMCwsLCwsLCwsLCw0LCwsLCwcHBwcMCwsLCwsLCw0LCwsLCwsLCwsLCwsLDQsLCwsLBwcHBwsLCwsLCwsLCwsLCwsLCwtKYW4ARmViAE1hcgBBcHIATWF5AEp1bgBKdWwAQXVnAFNlcABPY3QATm92AERlYwBTdW4ATW9uAFR1ZQBXZWQAVGh1AEZyaQBTYXQAAAAAAGACAABhAgAAYgIAAGMCAABkAgAAZQIAAGYCAABnAgAAaAIAAGkCAABqAgAAawIAAGwCAABtAgAAbgIAAG8CAABwAg=="); + base64DecodeToExistingUint8Array(bufferView, 173378, "HwDgB/8HAPgf+OD///8="); + base64DecodeToExistingUint8Array(bufferView, 173410, "KEJRjNe9QMwgiiAD4Af/Bx8AEYgf+AD4QPzg////AAAGAAwAEwAZAB8AgAGGAYwBkwGZAZ8BIAMmAywDMwM5Az8DwATGBMwE0wTZBN8EYAZmBmwGcwZ5Bn8G4AfmB+wH8wf5B/8HADAGMAwwEzAZMB8wgDGGMYwxkzGZMZ8xIDMmMywzMzM5Mz8zwDTGNMw00zTZNN80YDZmNmw2czZ5Nn824DfmN+w38zf5N/83AGAGYAxgE2AZYB9ggGGGYYxhk2GZYZ9hIGMmYyxjM2M5Yz9jwGTGZMxk02TZZN9kYGZmZmxmc2Z5Zn9m4GfmZ+xn82f5Z/9nAJgGmAyYE5gZmB+YgJmGmYyZk5mZmZ+ZIJsmmyybM5s5mz+bwJzGnMyc05zZnN+cYJ5mnmyec555nn+e4J/mn+yf85/5n/+fAMgGyAzIE8gZyB/IgMmGyYzJk8mZyZ/JIMsmyyzLM8s5yz/LwMzGzMzM08zZzN/MYM5mzmzOc855zn/O4M/mz+zP88/5z//PAPgG+Az4E/gZ+B/4gPmG+Yz5k/mZ+Z/5IPsm+yz7M/s5+z/7wPzG/Mz80/zZ/N/8YP5m/mz+c/55/n/+4P/m/+z/8//5////"); + base64DecodeToExistingUint8Array(bufferView, 173950, "//8AACsAgQCsAHkATgAMABIAFwAEACcAtwCQAMAA0gDXAAAABQAeACMAtAC5ANIA1wAAAAkABwAIAAwACwAOAA8="); + base64DecodeToExistingUint8Array(bufferView, 174024, "hAIAAIUCAACGAgAAhwIAAIgCAACJAgAAgPIBAK3yAQDK7gEAmfIBAI/yAQDz8QEAJPEBAEnuAQAF7gEAcPIBAFruAQC57gEAvfIBAJzuAQDM8gEAje4BAIXvAQCh8gEArO8BAAHtAQBL+AEAlPUBAI3xAQAy7gEAFe8BALXsAQCv8AEAFPEBANLwAQDW7QEAme8BANDvAQCO7wEAR/EBAIvyAQDi7gEAK+4BAEnyAQA38gEAX/EBADDvAQDw8gEA8ewBAC/xAQBR7wEA5fEBAP7uAQBF7gEANfcBAH3tAQCx7AEAPvEBAG7vAQAG7QEAAO0BAEHvAQCe7AEASe8BAL3tAQDt8AEASPcBACPuAQDz7wEA6O8BAKjtAQDt8QEAGe8BANzsAQBp8QEAnfEBAMrtAQD77wEA3u8BANfwAQA97wEADO0BAAvtAQCP8QEAwuwBAB3vAQBH7QEADPIBAKbsAQAv8AEA+u0BACjtAQBh8gEAHO0BAC3wAQAl7wEA6+wBABzsAQB/8QEAqPEBAMvvAQAY8gEAs/EBAAvuAQD17AEA0vEBAITyAQDw7QEA1OwBADfxAQDV7wEAPfcBAIDuAQAt8gEAxu0BAHnxAQAk8AEAAu0BAMHxAQDx8AEAJvEBAP3wAQBb8gEAvvABABHxAQCi8QEAlvYBAH/2AQAi8gEAK/cBACfsAQA17wEAo+8B"); + base64DecodeToExistingUint8Array(bufferView, 174572, "kwIAAJQCAACVAgAAkQIAAJYCAACXAgAAmAIAAJkCAACaAgAAmwIAAJwCAACdAg=="); + base64DecodeToExistingUint8Array(bufferView, 174628, "ngIAAJ8CAACgAgAAoQI="); + base64DecodeToExistingUint8Array(bufferView, 174652, "ogIAAKICAACjAgAApAIAAAAAAABPZmZsaW5lTWVtb3J5QWxsb2NhdGlvbgCA////fwAAAAAAAAD/AAAAAID///9/AACA////fwAAAACA////fwAAgP///38AAAAAAACA////fwAAAID///9/AAAAAAAAAAC9AgAAvgIAAKICAACiAgAAogIAAKIC"); + base64DecodeToExistingUint8Array(bufferView, 174800, "vwIAAMACAADBAgAAwgIAAMMCAADEAg=="); + base64DecodeToExistingUint8Array(bufferView, 174832, "zQIAAM4CAADPAg=="); + base64DecodeToExistingUint8Array(bufferView, 174852, "0AIAANECAACiAg=="); + base64DecodeToExistingUint8Array(bufferView, 174872, "0gIAANMCAADUAgAA1QIAANYCAADXAgAA2AIAANkC"); + base64DecodeToExistingUint8Array(bufferView, 174912, "0gIAANMCAADUAgAA2gIAANsCAACiAgAAogIAAKIC"); + base64DecodeToExistingUint8Array(bufferView, 174952, "ogIAAKICAADUAgAA3AIAAN0CAAAAAAAAT7thBWes3T8YLURU+yHpP5v2gdILc+8/GC1EVPsh+T/iZS8ifyt6PAdcFDMmpoE8vcvweogHcDwHXBQzJqaRPBgtRFT7Iek/GC1EVPsh6b/SITN/fNkCQNIhM3982QLA"); + base64DecodeToExistingUint8Array(bufferView, 175087, "gBgtRFT7IQlAGC1EVPshCcD+gitlRxVnQAAAAAAAADhDAAD6/kIudr86O568mvcMvb39/////98/PFRVVVVVxT+RKxfPVVWlPxfQpGcREYE/AAAAAAAAyELvOfr+Qi7mPyTEgv+9v84/tfQM1whrrD/MUEbSq7KDP4Q6Tpvg11U/"); + base64DecodeToExistingUint8Array(bufferView, 175230, "8D9uv4gaTzubPDUz+6k99u8/XdzYnBNgcbxhgHc+muzvP9FmhxB6XpC8hX9u6BXj7z8T9mc1UtKMPHSFFdOw2e8/+o75I4DOi7ze9t0pa9DvP2HI5mFO92A8yJt1GEXH7z+Z0zNb5KOQPIPzxso+vu8/bXuDXaaalzwPiflsWLXvP/zv/ZIatY4890dyK5Ks7z/RnC9wPb4+PKLR0zLso+8/C26QiTQDarwb0/6vZpvvPw69LypSVpW8UVsS0AGT7z9V6k6M74BQvMwxbMC9iu8/FvTVuSPJkbzgLamumoLvP69VXOnj04A8UY6lyJh67z9Ik6XqFRuAvHtRfTy4cu8/PTLeVfAfj7zqjYw4+WrvP79TEz+MiYs8dctv61tj7z8m6xF2nNmWvNRcBITgW+8/YC86PvfsmjyquWgxh1TvP504hsuC54+8Hdn8IlBN7z+Nw6ZEQW+KPNaMYog7Ru8/fQTksAV6gDyW3H2RST/vP5SoqOP9jpY8OGJ1bno47z99SHTyGF6HPD+msk/OMe8/8ucfmCtHgDzdfOJlRSvvP14IcT97uJa8gWP14d8k7z8xqwlt4feCPOHeH/WdHu8/+r9vGpshPbyQ2drQfxjvP7QKDHKCN4s8CwPkpoUS7z+Py86JkhRuPFYvPqmvDO8/tquwTXVNgzwVtzEK/gbvP0x0rOIBQoY8MdhM/HAB7z9K+NNdOd2PPP8WZLII/O4/BFuOO4Cjhrzxn5JfxfbuP2hQS8ztSpK8y6k6N6fx7j+OLVEb+AeZvGbYBW2u7O4/0jaUPujRcbz3n+U02+fuPxUbzrMZGZm85agTwy3j7j9tTCqnSJ+FPCI0Ekym3u4/imkoemASk7wcgKwERdruP1uJF0iPp1i8Ki73IQrW7j8bmklnmyx8vJeoUNn10e4/EazCYO1jQzwtiWFgCM7uP+9kBjsJZpY8VwAd7UHK7j95A6Ha4cxuPNA8wbWixu4/MBIPP47/kzze09fwKsPuP7CvervOkHY8Jyo21dq/7j934FTrvR2TPA3d/ZmyvO4/jqNxADSUj7ynLJ12srnuP0mjk9zM3oe8QmbPotq27j9fOA+9xt54vIJPnVYrtO4/9lx77EYShrwPkl3KpLHuP47X/RgFNZM82ie1Nkev7j8Fm4ovt5h7PP3Hl9QSre4/CVQc4uFjkDwpVEjdB6vuP+rGGVCFxzQ8t0ZZiiap7j81wGQr5jKUPEghrRVvp+4/n3aZYUrkjLwJ3Ha54aXuP6hN7zvFM4y8hVU6sH6k7j+u6SuJeFOEvCDDzDRGo+4/WFhWeN3Ok7wlIlWCOKLuP2QZfoCqEFc8c6lM1FWh7j8oIl6/77OTvM07f2aeoO4/grk0h60Sary/2gt1EqDuP+6pbbjvZ2O8LxplPLKf7j9RiOBUPdyAvISUUfl9n+4/zz5afmQfeLx0X+zodZ/uP7B9i8BK7oa8dIGlSJqf7j+K5lUeMhmGvMlnQlbrn+4/09QJXsuckDw/Xd5PaaDuPx2lTbncMnu8hwHrcxSh7j9rwGdU/eyUPDLBMAHtoe4/VWzWq+HrZTxiTs8286LuP0LPsy/FoYi8Eho+VCek7j80NzvxtmmTvBPOTJmJpe4/Hv8ZOoRegLytxyNGGqfuP25XcthQ1JS87ZJEm9mo7j8Aig5bZ62QPJlmitnHqu4/tOrwwS+3jTzboCpC5azuP//nxZxgtmW8jES1FjKv7j9EX/NZg/Z7PDZ3FZmuse4/gz0epx8Jk7zG/5ELW7TuPykebIu4qV285cXNsDe37j9ZuZB8+SNsvA9SyMtEuu4/qvn0IkNDkrxQTt6fgr3uP0uOZtdsyoW8ugfKcPHA7j8nzpEr/K9xPJDwo4KRxO4/u3MK4TXSbTwjI+MZY8juP2MiYiIExYe8ZeVde2bM7j/VMeLjhhyLPDMtSuyb0O4/Fbu809G7kbxdJT6yA9XuP9Ix7pwxzJA8WLMwE57Z7j+zWnNuhGmEPL/9eVVr3u4/tJ2Ol83fgrx689O/a+PuP4czy5J3Gow8rdNamZ/o7j/62dFKj3uQvGa2jSkH7u4/uq7cVtnDVbz7FU+4ovPuP0D2pj0OpJC8OlnljXL57j80k6049NZovEde+/J2/+4/NYpYa+LukbxKBqEwsAXvP83dXwrX/3Q80sFLkB4M7z+smJL6+72RvAke11vCEu8/swyvMK5uczycUoXdmxnvP5T9n1wy4448etD/X6sg7z+sWQnRj+CEPEvRVy7xJ+8/ZxpOOK/NYzy15waUbS/vP2gZkmwsa2c8aZDv3CA37z/StcyDGIqAvPrDXVULP+8/b/r/P12tj7x8iQdKLUfvP0mpdTiuDZC88okNCIdP7z+nBz2mhaN0PIek+9wYWO8/DyJAIJ6RgryYg8kW42DvP6ySwdVQWo48hTLbA+Zp7z9LawGsWTqEPGC0AfMhc+8/Hz60ByHVgrxfm3szl3zvP8kNRzu5Kom8KaH1FEaG7z/TiDpgBLZ0PPY/i+cukO8/cXKdUezFgzyDTMf7UZrvP/CR048S94+82pCkoq+k7z99dCPimK6NvPFnji1Ir+8/CCCqQbzDjjwnWmHuG7rvPzLrqcOUK4Q8l7prNyvF7z/uhdExqWSKPEBFblt20O8/7eM75Lo3jrwUvpyt/dvvP53NkU07iXc82JCegcHn7z+JzGBBwQVTPPFxjyvC8+8/AAAAAAAA8D90hRXTsNnvPw+J+WxYte8/UVsS0AGT7z97UX08uHLvP6q5aDGHVO8/OGJ1bno47z/h3h/1nR7vPxW3MQr+Bu8/y6k6N6fx7j8iNBJMpt7uPy2JYWAIzu4/Jyo21dq/7j+CT51WK7TuPylUSN0Hq+4/hVU6sH6k7j/NO39mnqDuP3Rf7Oh1n+4/hwHrcxSh7j8TzkyZiaXuP9ugKkLlrO4/5cXNsDe37j+Q8KOCkcTuP10lPrID1e4/rdNamZ/o7j9HXvvydv/uP5xShd2bGe8/aZDv3CA37z+HpPvcGFjvP1+bezOXfO8/2pCkoq+k7z9ARW5bdtDvPwAAAAAAAOhClCORS/hqrD/zxPpQzr/OP9ZSDP9CLuY/AAAAAAAAOEP+gitlRxVHQJQjkUv4arw+88T6UM6/Lj/WUgz/Qi6WPwAAAAAAAAAAAwAAAAQAAAAEAAAABgAAAIP5ogBETm4A/CkVANFXJwDdNPUAYtvAADyZlQBBkEMAY1H+ALveqwC3YcUAOm4kANJNQgBJBuAACeouAByS0QDrHf4AKbEcAOg+pwD1NYIARLsuAJzphAC0JnAAQX5fANaROQBTgzkAnPQ5AItfhAAo+b0A+B87AN7/lwAPmAUAES/vAApaiwBtH20Az342AAnLJwBGT7cAnmY/AC3qXwC6J3UA5evHAD178QD3OQcAklKKAPtr6gAfsV8ACF2NADADVgB7/EYA8KtrACC8zwA29JoA46kdAF5hkQAIG+YAhZllAKAUXwCNQGgAgNj/ACdzTQAGBjEAylYVAMmocwB74mAAa4zAABnERwDNZ8MACejcAFmDKgCLdsQAphyWAESv3QAZV9EApT4FAAUH/wAzfj8AwjLoAJhP3gC7fTIAJj3DAB5r7wCf+F4ANR86AH/yygDxhx0AfJAhAGokfADVbvoAMC13ABU7QwC1FMYAwxmdAK3EwgAsTUEADABdAIZ9RgDjcS0Am8aaADNiAAC00nwAtKeXADdV1QDXPvYAoxAYAE12/ABknSoAcNerAGN8+AB6sFcAFxXnAMBJVgA71tkAp4Q4ACQjywDWincAWlQjAAAfuQDxChsAGc7fAJ8x/wBmHmoAmVdhAKz7RwB+f9gAImW3ADLoiQDmv2AA78TNAGw2CQBdP9QAFt7XAFg73gDem5IA0iIoACiG6ADiWE0AxsoyAAjjFgDgfcsAF8BQAPMdpwAY4FsALhM0AIMSYgCDSAEA9Y5bAK2wfwAe6fIASEpDABBn0wCq3dgArl9CAGphzgAKKKQA05m0AAam8gBcd38Ao8KDAGE8iACKc3gAr4xaAG/XvQAtpmMA9L/LAI2B7wAmwWcAVcpFAMrZNgAoqNIAwmGNABLJdwAEJhQAEkabAMRZxADIxUQATbKRAAAX8wDUQ60AKUnlAP3VEAAAvvwAHpTMAHDO7gATPvUA7PGAALPnwwDH+CgAkwWUAMFxPgAuCbMAC0XzAIgSnACrIHsALrWfAEeSwgB7Mi8ADFVtAHKnkABr5x8AMcuWAHkWSgBBeeIA9N+JAOiUlwDi5oQAmTGXAIjtawBfXzYAu/0OAEiatABnpGwAcXJCAI1dMgCfFbgAvOUJAI0xJQD3dDkAMAUcAA0MAQBLCGgALO5YAEeqkAB05wIAvdYkAPd9pgBuSHIAnxbvAI6UpgC0kfYA0VNRAM8K8gAgmDMA9Ut+ALJjaADdPl8AQF0DAIWJfwBVUikAN2TAAG3YEAAySDIAW0x1AE5x1ABFVG4ACwnBACr1aQAUZtUAJwedAF0EUAC0O9sA6nbFAIf5FwBJa30AHSe6AJZpKQDGzKwArRRUAJDiagCI2YkALHJQAASkvgB3B5QA8zBwAAD8JwDqcagAZsJJAGTgPQCX3YMAoz+XAEOU/QANhowAMUHeAJI5nQDdcIwAF7fnAAjfOwAVNysAXICgAFqAkwAQEZIAD+jYAGyArwDb/0sAOJAPAFkYdgBipRUAYcu7AMeJuQAQQL0A0vIEAEl1JwDrtvYA2yK7AAoUqgCJJi8AZIN2AAk7MwAOlBoAUTqqAB2jwgCv7a4AXCYSAG3CTQAtepwAwFaXAAM/gwAJ8PYAK0CMAG0xmQA5tAcADCAVANjDWwD1ksQAxq1LAE7KpQCnN80A5qk2AKuSlADdQmgAGWPeAHaM7wBoi1IA/Ns3AK6hqwDfFTEAAK6hAAz72gBkTWYA7QW3ACllMABXVr8AR/86AGr5uQB1vvMAKJPfAKuAMABmjPYABMsVAPoiBgDZ5B0APbOkAFcbjwA2zQkATkLpABO+pAAzI7UA8KoaAE9lqADSwaUACz8PAFt4zQAj+XYAe4sEAIkXcgDGplMAb27iAO/rAACbSlgAxNq3AKpmugB2z88A0QIdALHxLQCMmcEAw613AIZI2gD3XaAAxoD0AKzwLwDd7JoAP1y8ANDebQCQxx8AKtu2AKMlOgAAr5oArVOTALZXBAApLbQAS4B+ANoHpwB2qg4Ae1mhABYSKgDcty0A+uX9AInb/gCJvv0A5HZsAAap/AA+gHAAhW4VAP2H/wAoPgcAYWczACoYhgBNveoAs+evAI9tbgCVZzkAMb9bAITXSAAw3xYAxy1DACVhNQDJcM4AMMu4AL9s/QCkAKIABWzkAFrdoAAhb0cAYhLSALlchABwYUkAa1bgAJlSAQBQVTcAHtW3ADPxxAATbl8AXTDkAIUuqQAdssMAoTI2AAi3pADqsdQAFvchAI9p5AAn/3cADAOAAI1ALQBPzaAAIKWZALOi0wAvXQoAtPlCABHaywB9vtAAm9vBAKsXvQDKooEACGpcAC5VFwAnAFUAfxTwAOEHhgAUC2QAlkGNAIe+3gDa/SoAayW2AHuJNAAF8/4Aub+eAGhqTwBKKqgAT8RaAC34vADXWpgA9MeVAA1NjQAgOqYApFdfABQ/sQCAOJUAzCABAHHdhgDJ3rYAv2D1AE1lEQABB2sAjLCsALLA0ABRVUgAHvsOAJVywwCjBjsAwEA1AAbcewDgRcwATin6ANbKyADo80EAfGTeAJtk2ADZvjEApJfDAHdY1ABp48UA8NoTALo6PABGGEYAVXVfANK99QBuksYArC5dAA5E7QAcPkIAYcSHACn96QDn1vMAInzKAG+RNQAI4MUA/9eNAG5q4gCw/cYAkwjBAHxddABrrbIAzW6dAD5yewDGEWoA98+pAClz3wC1yboAtwBRAOKyDQB0uiQA5X1gAHTYigANFSwAgRgMAH5mlAABKRYAn3p2AP39vgBWRe8A2X42AOzZEwCLurkAxJf8ADGoJwDxbsMAlMU2ANioVgC0qLUAz8wOABKJLQBvVzQALFaJAJnO4wDWILkAa16qAD4qnAARX8wA/QtKAOH0+wCOO20A4oYsAOnUhAD8tKkA7+7RAC41yQAvOWEAOCFEABvZyACB/AoA+0pqAC8c2ABTtIQATpmMAFQizAAqVdwAwMbWAAsZlgAacLgAaZVkACZaYAA/Uu4AfxEPAPS1EQD8y/UANLwtADS87gDoXcwA3V5gAGeOmwCSM+8AyRe4AGFYmwDhV7wAUYPGANg+EADdcUgALRzdAK8YoQAhLEYAWfPXANl6mACeVMAAT4b6AFYG/ADlea4AiSI2ADitIgBnk9wAVeiqAIImOADK55sAUQ2kAJkzsQCp1w4AaQVIAGWy8AB/iKcAiEyXAPnRNgAhkrMAe4JKAJjPIQBAn9wA3EdVAOF0OgBn60IA/p3fAF7UXwB7Z6QAuqx6AFX2ogAriCMAQbpVAFluCAAhKoYAOUeDAInj5gDlntQASftAAP9W6QAcD8oAxVmKAJT6KwDTwcUAD8XPANtargBHxYYAhUNiACGGOwAseZQAEGGHACpMewCALBoAQ78SAIgmkAB4PIkAqMTkAOXbewDEOsIAJvTqAPdnigANkr8AZaMrAD2TsQC9fAsApFHcACfdYwBp4d0AmpQZAKgplQBozigACe20AESfIABOmMoAcIJjAH58IwAPuTIAp/WOABRW5wAh8QgAtZ0qAG9+TQClGVEAtfmrAILf1gCW3WEAFjYCAMQ6nwCDoqEAcu1tADmNegCCuKkAazJcAEYnWwAANO0A0gB3APz0VQABWU0A4HGA"); + base64DecodeToExistingUint8Array(bufferView, 180387, "QPsh+T8AAAAALUR0PgAAAICYRvg8AAAAYFHMeDsAAACAgxvwOQAAAEAgJXo4AAAAgCKC4zYAAAAAHfNpNQ=="); + base64DecodeToExistingUint8Array(bufferView, 180449, "gAEAXUYCAO++rd6+uv7KFf//AP//////////AQCgAKAAIAPQBwAABAAAAAoAAAAgAwAA4Pz//+gDAACgpAIA0KQCAPo9AgAVAAAAAAAAAAU="); + base64DecodeToExistingUint8Array(bufferView, 180540, "3gI="); + base64DecodeToExistingUint8Array(bufferView, 180564, "3wIAAOACAABIvQU="); + base64DecodeToExistingUint8Array(bufferView, 180588, "Ag=="); + base64DecodeToExistingUint8Array(bufferView, 180604, "//////////8="); + base64DecodeToExistingUint8Array(bufferView, 180672, "MMEC"); } var scratchBuffer = new ArrayBuffer(16); @@ -870,7 +871,7 @@ function asmFunc(env) { var __wasi_fd_write = env.fd_write; var setTempRet0 = env.setTempRet0; var legalimport$__wasi_fd_seek = env.fd_seek; - var __stack_pointer = 5618928; + var __stack_pointer = 5619040; var __stack_end = 0; var __stack_base = 0; var i64toi32_i32$HIGH_BITS = 0; @@ -3654,7 +3655,7 @@ function mbedtls_sha512_process($0, $1) { $13 = $1; $0 = HEAP32[$3 + 4 >> 2]; $14 = $0; - $3 = (HEAP32[$4 + 724 >> 2] << 3) + 164672 | 0; + $3 = (HEAP32[$4 + 724 >> 2] << 3) + 164784 | 0; $0 = HEAP32[$3 >> 2]; $15 = $0; $1 = HEAP32[$3 + 4 >> 2]; @@ -3915,7 +3916,7 @@ function mbedtls_sha512_process($0, $1) { $16 = $0; $3 = HEAP32[$2 + 4 >> 2]; $13 = $3; - $2 = (HEAP32[$4 + 724 >> 2] << 3) + 164672 | 0; + $2 = (HEAP32[$4 + 724 >> 2] << 3) + 164784 | 0; $3 = HEAP32[$2 >> 2]; $14 = $3; $0 = HEAP32[$2 + 4 >> 2]; @@ -4176,7 +4177,7 @@ function mbedtls_sha512_process($0, $1) { $13 = $3; $2 = HEAP32[$5 + 4 >> 2]; $14 = $2; - $5 = (HEAP32[$4 + 724 >> 2] << 3) + 164672 | 0; + $5 = (HEAP32[$4 + 724 >> 2] << 3) + 164784 | 0; $2 = HEAP32[$5 >> 2]; $15 = $2; $3 = HEAP32[$5 + 4 >> 2]; @@ -4435,7 +4436,7 @@ function mbedtls_sha512_process($0, $1) { $13 = $2; $5 = HEAP32[$1 + 4 >> 2]; $14 = $5; - $1 = (HEAP32[$4 + 724 >> 2] << 3) + 164672 | 0; + $1 = (HEAP32[$4 + 724 >> 2] << 3) + 164784 | 0; $5 = HEAP32[$1 >> 2]; $15 = $5; $2 = HEAP32[$1 + 4 >> 2]; @@ -4698,7 +4699,7 @@ function mbedtls_sha512_process($0, $1) { $13 = $5; $1 = HEAP32[$0 + 4 >> 2]; $14 = $1; - $0 = (HEAP32[$4 + 724 >> 2] << 3) + 164672 | 0; + $0 = (HEAP32[$4 + 724 >> 2] << 3) + 164784 | 0; $1 = HEAP32[$0 >> 2]; $15 = $1; $5 = HEAP32[$0 + 4 >> 2]; @@ -4961,7 +4962,7 @@ function mbedtls_sha512_process($0, $1) { $13 = $1; $0 = HEAP32[$3 + 4 >> 2]; $14 = $0; - $3 = (HEAP32[$4 + 724 >> 2] << 3) + 164672 | 0; + $3 = (HEAP32[$4 + 724 >> 2] << 3) + 164784 | 0; $0 = HEAP32[$3 >> 2]; $15 = $0; $1 = HEAP32[$3 + 4 >> 2]; @@ -5222,7 +5223,7 @@ function mbedtls_sha512_process($0, $1) { $16 = $0; $3 = HEAP32[$2 + 4 >> 2]; $13 = $3; - $2 = (HEAP32[$4 + 724 >> 2] << 3) + 164672 | 0; + $2 = (HEAP32[$4 + 724 >> 2] << 3) + 164784 | 0; $3 = HEAP32[$2 >> 2]; $14 = $3; $0 = HEAP32[$2 + 4 >> 2]; @@ -5483,7 +5484,7 @@ function mbedtls_sha512_process($0, $1) { $13 = $3; $2 = HEAP32[$5 + 4 >> 2]; $14 = $2; - $5 = (HEAP32[$4 + 724 >> 2] << 3) + 164672 | 0; + $5 = (HEAP32[$4 + 724 >> 2] << 3) + 164784 | 0; $2 = HEAP32[$5 >> 2]; $15 = $2; $3 = HEAP32[$5 + 4 >> 2]; @@ -5893,8 +5894,8 @@ function jsiIdle() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0; $0 = __stack_pointer - 320 | 0; __stack_pointer = $0; - if (HEAPU8[349118] < 255) { - HEAP8[349118] = HEAPU8[349118] + 1; + if (HEAPU8[349230] < 255) { + HEAP8[349230] = HEAPU8[349230] + 1; } HEAP8[$0 + 319 | 0] = 0; HEAP32[$0 + 308 >> 2] = jshGetEventsUsed(); @@ -5909,9 +5910,9 @@ function jsiIdle() { jsiSetBusy(1, 1); HEAP8[$0 + 319 | 0] = 1; HEAP8[$0 + 307 | 0] = HEAPU8[$0 + 312 | 0] & 31; - HEAP8[349118] = 0; + HEAP8[349230] = 0; label$5: { - if (HEAPU8[$0 + 307 | 0] == HEAPU8[180352]) { + if (HEAPU8[$0 + 307 | 0] == HEAPU8[180464]) { jsiHandleIOEventForConsole($0 + 312 | 0); break label$5; } @@ -5945,7 +5946,7 @@ function jsiIdle() { break label$15; } if (!(!HEAPU8[$0 + 307 | 0] | HEAPU8[$0 + 307 | 0] > 16)) { - HEAP32[$0 + 292 >> 2] = jsvLock(HEAPU16[174549]); + HEAP32[$0 + 292 >> 2] = jsvLock(HEAPU16[174605]); jsvObjectIteratorNew($0 + 288 | 0, HEAP32[$0 + 292 >> 2]); while (1) { if (jsvObjectIteratorHasValue_3($0 + 288 | 0) & 1) { @@ -5981,19 +5982,22 @@ function jsiIdle() { HEAP32[$0 + 260 >> 2] = $2; HEAP8[$0 + 255 | 0] = (HEAPU8[$0 + 312 | 0] & 32) != 0; HEAP8[$0 + 254 | 0] = 0; + HEAP8[$0 + 254 | 0] = (HEAPU8[$0 + 312 | 0] & 64) != 0; + HEAP8[$0 + 253 | 0] = 0; HEAP32[$0 + 248 >> 2] = jsvObjectGetIntegerChild(HEAP32[$0 + 280 >> 2], 123025); label$22: { if (HEAP32[$0 + 248 >> 2] <= 0) { - HEAP8[$0 + 254 | 0] = 1; + HEAP8[$0 + 253 | 0] = (HEAPU8[$0 + 254 | 0] ^ -1) & 1; + jsvObjectSetChildAndUnLock(HEAP32[$0 + 280 >> 2], 122186, jsvNewFromBool(HEAP8[$0 + 255 | 0] & 1)); break label$22; } HEAP8[$0 + 247 | 0] = jsvObjectGetBoolChild(HEAP32[$0 + 280 >> 2], 122186) & 1; HEAP32[$0 + 240 >> 2] = jsvObjectGetChildIfExists(HEAP32[$0 + 280 >> 2], 114963); label$24: { if (HEAP32[$0 + 240 >> 2]) { - $2 = HEAP32[87292]; + $2 = HEAP32[87320]; $5 = $2; - $1 = HEAP32[87293]; + $1 = HEAP32[87321]; $3 = $1; $1 = jsvGetLongIntegerAndUnLock(jsvObjectGetChildIfExists(HEAP32[$0 + 240 >> 2], 122565)); $6 = $1; @@ -6013,9 +6017,9 @@ function jsiIdle() { $2 = $5; $3 = HEAP32[$0 + 260 >> 2]; $4 = $3; - $5 = HEAP32[87293]; + $5 = HEAP32[87321]; $9 = $5; - $3 = HEAP32[87292]; + $3 = HEAP32[87320]; $6 = $3; $1 = $2 - $3 | 0; $10 = $1; @@ -6032,17 +6036,22 @@ function jsiIdle() { $1 = $3 >>> 0 < $6 >>> 0 ? $1 + 1 | 0 : $1; jsvUnLock(jsvObjectSetChild(HEAP32[$0 + 240 >> 2], 122565, jsvNewFromLongInteger($3, $1))); jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 122186, jsvNewFromBool(HEAP8[$0 + 255 | 0] & 1)); - $5 = HEAP32[$0 + 260 >> 2]; - $2 = $5; - $1 = HEAP32[$0 + 256 >> 2]; - $4 = $1; - $5 = HEAP32[$0 + 232 >> 2]; - $6 = $5; - $1 = HEAP32[$0 + 236 >> 2]; - $5 = $1; - $1 = $2; - if (!($4 >>> 0 <= $6 >>> 0 & ($5 | 0) >= ($1 | 0) | ($1 | 0) < ($5 | 0) | (HEAP8[$0 + 255 | 0] & 1) == (HEAP8[$0 + 247 | 0] & 1))) { - HEAP8[$0 + 254 | 0] = 1; + label$26: { + if (!(HEAP8[$0 + 254 | 0] & 1)) { + $5 = HEAP32[$0 + 260 >> 2]; + $2 = $5; + $1 = HEAP32[$0 + 256 >> 2]; + $4 = $1; + $5 = HEAP32[$0 + 232 >> 2]; + $6 = $5; + $1 = HEAP32[$0 + 236 >> 2]; + $5 = $1; + $1 = $2; + if ($4 >>> 0 <= $6 >>> 0 & ($5 | 0) >= ($1 | 0) | ($1 | 0) < ($5 | 0) | (HEAP8[$0 + 255 | 0] & 1) == (HEAP8[$0 + 247 | 0] & 1)) { + break label$26; + } + } + HEAP8[$0 + 253 | 0] = (HEAPU8[$0 + 254 | 0] ^ -1) & 1; $4 = HEAP32[$0 + 232 >> 2]; $6 = $4; $1 = HEAP32[$0 + 236 >> 2]; @@ -6066,48 +6075,54 @@ function jsiIdle() { } break label$24; } - if ((HEAP8[$0 + 255 | 0] & 1) != (HEAP8[$0 + 247 | 0] & 1)) { - HEAP32[$0 + 240 >> 2] = jsvNewObject(); - if (HEAP32[$0 + 240 >> 2]) { - jsvObjectSetChild(HEAP32[$0 + 240 >> 2], 121183, HEAP32[$0 + 280 >> 2]); - $3 = HEAP32[$0 + 248 >> 2]; - $6 = $3 >> 31; - $7 = $3; - $8 = $6; - $6 = HEAP32[$0 + 256 >> 2]; - $4 = $6; - $3 = HEAP32[$0 + 260 >> 2]; - $2 = $3; - $6 = HEAP32[87293]; - $9 = $6; - $3 = HEAP32[87292]; - $5 = $3; - $1 = $4 - $3 | 0; - $10 = $1; - $6 = $2; - $3 = $9; - $2 = $3 + ($5 >>> 0 > $4 >>> 0) | 0; - $2 = $6 - $2 | 0; - $4 = $2; - $2 = $8; - $1 = $4 + $2 | 0; - $5 = $10; - $6 = $7; - $3 = $5 + $6 | 0; - $1 = $5 >>> 0 > $3 >>> 0 ? $1 + 1 | 0 : $1; - jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 122565, jsvNewFromLongInteger($3, $1)); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 125380, jsvObjectGetChildIfExists(HEAP32[$0 + 280 >> 2], 125380)); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 122570, jsvObjectGetChildIfExists(HEAP32[$0 + 280 >> 2], 122570)); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 120018, jsvNewFromPin(HEAPU8[$0 + 279 | 0])); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 122186, jsvNewFromBool(HEAP8[$0 + 255 | 0] & 1)); - jsiTimerAdd(HEAP32[$0 + 240 >> 2]); - jsvObjectSetChild(HEAP32[$0 + 280 >> 2], 114963, HEAP32[$0 + 240 >> 2]); + label$28: { + if (!(HEAP8[$0 + 254 | 0] & 1 | (HEAP8[$0 + 255 | 0] & 1) == (HEAP8[$0 + 247 | 0] & 1))) { + HEAP32[$0 + 240 >> 2] = jsvNewObject(); + if (HEAP32[$0 + 240 >> 2]) { + jsvObjectSetChild(HEAP32[$0 + 240 >> 2], 121183, HEAP32[$0 + 280 >> 2]); + $3 = HEAP32[$0 + 248 >> 2]; + $6 = $3 >> 31; + $7 = $3; + $8 = $6; + $6 = HEAP32[$0 + 256 >> 2]; + $4 = $6; + $3 = HEAP32[$0 + 260 >> 2]; + $2 = $3; + $6 = HEAP32[87321]; + $9 = $6; + $3 = HEAP32[87320]; + $5 = $3; + $1 = $4 - $3 | 0; + $10 = $1; + $6 = $2; + $3 = $9; + $2 = $3 + ($5 >>> 0 > $4 >>> 0) | 0; + $2 = $6 - $2 | 0; + $4 = $2; + $2 = $8; + $1 = $4 + $2 | 0; + $5 = $10; + $6 = $7; + $3 = $5 + $6 | 0; + $1 = $5 >>> 0 > $3 >>> 0 ? $1 + 1 | 0 : $1; + jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 122565, jsvNewFromLongInteger($3, $1)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 125380, jsvObjectGetChildIfExists(HEAP32[$0 + 280 >> 2], 125380)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 122570, jsvObjectGetChildIfExists(HEAP32[$0 + 280 >> 2], 122570)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 120018, jsvNewFromPin(HEAPU8[$0 + 279 | 0])); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 240 >> 2], 122186, jsvNewFromBool(HEAP8[$0 + 255 | 0] & 1)); + jsiTimerAdd(HEAP32[$0 + 240 >> 2]); + jsvObjectSetChild(HEAP32[$0 + 280 >> 2], 114963, HEAP32[$0 + 240 >> 2]); + } + break label$28; + } + if (HEAP8[$0 + 254 | 0] & 1) { + jsvObjectSetChildAndUnLock(HEAP32[$0 + 280 >> 2], 122186, jsvNewFromBool(HEAP8[$0 + 255 | 0] & 1)); } } } jsvUnLock(HEAP32[$0 + 240 >> 2]); } - if (HEAP8[$0 + 254 | 0] & 1) { + if (HEAP8[$0 + 253 | 0] & 1) { $1 = HEAP32[$0 + 256 >> 2]; $6 = HEAP32[$0 + 260 >> 2]; HEAP32[$0 + 224 >> 2] = jsvNewFromFloat(jshGetMillisecondsFromTime($1, $6) / 1e3); @@ -6127,7 +6142,7 @@ function jsiIdle() { } if (!(jsiExecuteEventCallback(0, HEAP32[$0 + 220 >> 2], 1, $0 + 212 | 0) & 1 | !(HEAP8[$0 + 219 | 0] & 1))) { jsError(129424, 0); - HEAP8[349030] = HEAPU8[349030] | 4; + HEAP8[349142] = HEAPU8[349142] | 4; HEAP8[$0 + 219 | 0] = 0; } jsvUnLock(HEAP32[$0 + 212 >> 2]); @@ -6175,9 +6190,9 @@ function jsiIdle() { $2 = $1; $6 = HEAP32[$0 + 196 >> 2]; $3 = $6; - $1 = HEAP32[87293]; + $1 = HEAP32[87321]; $7 = $1; - $6 = HEAP32[87292]; + $6 = HEAP32[87320]; $5 = $6; $4 = $2 - $5 | 0; HEAP32[$0 + 184 >> 2] = $4; @@ -6188,9 +6203,9 @@ function jsiIdle() { HEAP32[$0 + 188 >> 2] = $3; $2 = HEAP32[$0 + 196 >> 2]; $3 = HEAP32[$0 + 192 >> 2]; - HEAP32[87292] = $3; - HEAP32[87293] = $2; - HEAP32[$0 + 180 >> 2] = jsvLock(HEAPU16[174548]); + HEAP32[87320] = $3; + HEAP32[87321] = $2; + HEAP32[$0 + 180 >> 2] = jsvLock(HEAPU16[174604]); jsvObjectIteratorNew($0 + 176 | 0, HEAP32[$0 + 180 >> 2]); while (1) { if (jsvObjectIteratorHasValue_3($0 + 176 | 0) & 1) { @@ -6225,12 +6240,12 @@ function jsiIdle() { } jsvObjectIteratorFree_3($0 + 176 | 0); while (1) { - HEAP16[174550] = HEAPU16[174550] & -5; + HEAP16[174606] = HEAPU16[174606] & -5; jsvObjectIteratorNew($0 + 176 | 0, HEAP32[$0 + 180 >> 2]); while (1) { $5 = 0; if (jsvObjectIteratorHasValue_3($0 + 176 | 0) & 1) { - $5 = (HEAPU16[174550] & 4) != 0 ^ -1; + $5 = (HEAPU16[174606] & 4) != 0 ^ -1; } if ($5 & 1) { HEAP8[$0 + 151 | 0] = 0; @@ -6256,9 +6271,9 @@ function jsiIdle() { HEAP8[$0 + 127 | 0] = 0; if ((HEAP8[$0 + 119 | 0] & 1) != (HEAP8[$0 + 118 | 0] & 1)) { HEAP32[$0 + 112 >> 2] = jsvObjectGetIntegerChild(HEAP32[$0 + 128 >> 2], 123025); - $3 = HEAP32[87292]; + $3 = HEAP32[87320]; $5 = $3; - $1 = HEAP32[87293]; + $1 = HEAP32[87321]; $6 = $1; $3 = HEAP32[$0 + 140 >> 2]; $7 = $3; @@ -6295,10 +6310,10 @@ function jsiIdle() { } HEAP8[$0 + 107 | 0] = 0; if (HEAP8[$0 + 127 | 0] & 1) { - label$50: { + label$53: { if (HEAP32[$0 + 120 >> 2]) { HEAP8[$0 + 106 | 0] = jsiExecuteEventCallback(0, HEAP32[$0 + 132 >> 2], 1, $0 + 120 | 0) & 1; - break label$50; + break label$53; } HEAP32[$0 + 100 >> 2] = jsvObjectGetChildIfExists(HEAP32[$0 + 144 >> 2], 117870); HEAP8[$0 + 106 | 0] = jsiExecuteEventCallbackArgsArray(0, HEAP32[$0 + 132 >> 2], HEAP32[$0 + 100 >> 2]) & 1; @@ -6309,7 +6324,7 @@ function jsiIdle() { if (HEAP32[$0 + 96 >> 2]) { jsvUnLock(HEAP32[$0 + 96 >> 2]); jsError(129376, 0); - HEAP8[349030] = HEAPU8[349030] | 4; + HEAP8[349142] = HEAPU8[349142] | 4; HEAP8[$0 + 107 | 0] = 1; } } @@ -6320,7 +6335,7 @@ function jsiIdle() { if (HEAP8[$0 + 127 | 0] & 1) { HEAP8[$0 + 95 | 0] = jsvObjectGetBoolChild(HEAP32[$0 + 128 >> 2], 118399) & 1; if (!(HEAP8[$0 + 95 | 0] & 1)) { - HEAP32[$0 + 88 >> 2] = jsvLock(HEAPU16[174549]); + HEAP32[$0 + 88 >> 2] = jsvLock(HEAPU16[174605]); HEAP32[$0 + 84 >> 2] = jsvGetIndexOf(HEAP32[$0 + 88 >> 2], HEAP32[$0 + 128 >> 2], 1); if (HEAP32[$0 + 84 >> 2]) { jsvRemoveChildAndUnLock(HEAP32[$0 + 88 >> 2], HEAP32[$0 + 84 >> 2]); @@ -6335,7 +6350,7 @@ function jsiIdle() { jsvUnLock(HEAP32[$0 + 128 >> 2]); } HEAP32[$0 + 76 >> 2] = jsvObjectGetChildIfExists(HEAP32[$0 + 144 >> 2], 118448); - label$59: { + label$62: { if (!(!HEAP32[$0 + 76 >> 2] | HEAP8[$0 + 107 | 0] & 1)) { $2 = HEAP32[$0 + 136 >> 2]; $5 = $2; @@ -6354,7 +6369,7 @@ function jsiIdle() { $1 = HEAP32[$0 + 136 >> 2]; $5 = HEAP32[$0 + 140 >> 2]; jsvObjectSetChildAndUnLock(HEAP32[$0 + 144 >> 2], 122565, jsvNewFromLongInteger($1, $5)); - break label$59; + break label$62; } jsvObjectIteratorRemoveAndGotoNext($0 + 176 | 0, HEAP32[$0 + 180 >> 2]); HEAP8[$0 + 151 | 0] = 1; @@ -6365,9 +6380,9 @@ function jsiIdle() { } $5 = HEAP32[$0 + 136 >> 2]; $1 = HEAP32[$0 + 140 >> 2]; - label$61: { + label$64: { if (($1 | 0) < 0) { - break label$61; + break label$64; } $2 = HEAP32[$0 + 136 >> 2]; $4 = $2; @@ -6380,7 +6395,7 @@ function jsiIdle() { $2 = $3; $1 = $6; if ($5 >>> 0 <= $4 >>> 0 & ($2 | 0) >= ($1 | 0) | ($1 | 0) < ($2 | 0)) { - break label$61; + break label$64; } $2 = HEAP32[$0 + 140 >> 2]; $4 = HEAP32[$0 + 136 >> 2]; @@ -6396,7 +6411,7 @@ function jsiIdle() { break; } jsvObjectIteratorFree_3($0 + 176 | 0); - if (HEAPU16[174550] & 4) { + if (HEAPU16[174606] & 4) { continue; } break; @@ -6405,13 +6420,13 @@ function jsiIdle() { if (jswIdle() & 1) { HEAP8[$0 + 319 | 0] = 1; } - label$64: { + label$67: { if (!(HEAP8[$0 + 319 | 0] & 1)) { - if (jsvArrayIsEmpty(HEAP32[87273]) & 1) { - break label$64; + if (jsvArrayIsEmpty(HEAP32[87301]) & 1) { + break label$67; } } - HEAP8[349118] = 0; + HEAP8[349230] = 0; } if (HEAP8[$0 + 319 | 0] & 1) { jsiSetBusy(1, 0); @@ -6419,15 +6434,15 @@ function jsiIdle() { if (!(jspIsInterrupted() & 1)) { jsiExecuteEvents(); } - if (HEAPU16[174550] & 224) { + if (HEAPU16[174606] & 224) { jsiSetBusy(1, 1); - HEAP16[$0 + 74 >> 1] = HEAPU16[174550]; + HEAP16[$0 + 74 >> 1] = HEAPU16[174606]; if ((HEAPU16[$0 + 74 >> 1] & 128) == 128) { jsiKill(); jsvReset(); jshReset(); jsiSemiInit(0, 0); - HEAP16[174550] = HEAPU16[174550] & 65407; + HEAP16[174606] = HEAPU16[174606] & 65407; } if ((HEAPU16[$0 + 74 >> 1] & 32) == 32) { jsvGarbageCollect(); @@ -6439,11 +6454,11 @@ function jsiIdle() { jsvSoftInit(); jspSoftInit(); jsiSoftInit(0); - HEAP16[174550] = HEAPU16[174550] & 65503; + HEAP16[174606] = HEAPU16[174606] & 65503; } if ((HEAPU16[$0 + 74 >> 1] & 64) == 64) { - HEAP32[$0 + 68 >> 2] = jsvObjectGetChildIfExists(HEAP32[87259], 124482); - label$72: { + HEAP32[$0 + 68 >> 2] = jsvObjectGetChildIfExists(HEAP32[87287], 124482); + label$75: { if (HEAP32[$0 + 68 >> 2]) { jsfNameFromVarAndUnLock($0 + 40 | 0, HEAP32[$0 + 68 >> 2]); jsiKill(); @@ -6467,7 +6482,7 @@ function jsiIdle() { if (HEAP32[$0 + 36 >> 2]) { jsvUnLock2(jspEvaluateVar(HEAP32[$0 + 36 >> 2], 0, 0), HEAP32[$0 + 36 >> 2]); } - break label$72; + break label$75; } jsiSoftKill(); jspSoftKill(); @@ -6479,17 +6494,17 @@ function jsiIdle() { jspSoftInit(); jsiSoftInit(0); } - HEAP16[174550] = HEAPU16[174550] & 65471; + HEAP16[174606] = HEAPU16[174606] & 65471; } jsiSetBusy(1, 0); } - if (HEAPU16[174550] & 512) { + if (HEAPU16[174606] & 512) { jshKickWatchDog(); } - label$76: { - label$77: { - if (HEAPU8[349118] != 1) { - break label$77; + label$79: { + label$80: { + if (HEAPU8[349230] != 1) { + break label$80; } $4 = HEAP32[$0 + 200 >> 2]; $5 = $4; @@ -6502,21 +6517,21 @@ function jsiIdle() { $4 = $1; $1 = $3; if (($4 | 0) <= ($2 | 0) & $5 >>> 0 <= $1 >>> 0 | ($2 | 0) > ($4 | 0)) { - break label$77; + break label$80; } if (jsvMoreFreeVariablesThan(600) & 1) { - break label$77; + break label$80; } jsiSetBusy(1, 1); jsvGarbageCollect(); jsiSetBusy(1, 0); - break label$76; + break label$79; } - if (!HEAPU8[349118]) { - break label$76; + if (!HEAPU8[349230]) { + break label$79; } if (jshHasEvents() & 1) { - break label$76; + break label$79; } $5 = HEAP32[$0 + 200 >> 2]; $4 = HEAP32[$0 + 204 >> 2]; @@ -6529,15 +6544,15 @@ function jslGetNextToken() { var $0 = 0, $1 = 0; $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; - HEAP32[$0 + 12 >> 2] = HEAP16[HEAP32[45251] + 2 >> 1]; - HEAP16[HEAP32[45251] + 2 >> 1] = 0; - HEAP8[HEAP32[45251] + 80 | 0] = 0; - if (HEAP32[HEAP32[45251] + 76 >> 2]) { - jsvUnLock(HEAP32[HEAP32[45251] + 76 >> 2]); - HEAP32[HEAP32[45251] + 76 >> 2] = 0; - } - HEAP32[HEAP32[45251] + 8 >> 2] = HEAP32[HEAP32[45251] + 4 >> 2]; - HEAP8[$0 + 11 | 0] = HEAPU8[HEAP32[45251]]; + HEAP32[$0 + 12 >> 2] = HEAP16[HEAP32[45279] + 2 >> 1]; + HEAP16[HEAP32[45279] + 2 >> 1] = 0; + HEAP8[HEAP32[45279] + 80 | 0] = 0; + if (HEAP32[HEAP32[45279] + 76 >> 2]) { + jsvUnLock(HEAP32[HEAP32[45279] + 76 >> 2]); + HEAP32[HEAP32[45279] + 76 >> 2] = 0; + } + HEAP32[HEAP32[45279] + 8 >> 2] = HEAP32[HEAP32[45279] + 4 >> 2]; + HEAP8[$0 + 11 | 0] = HEAPU8[HEAP32[45279]]; if (HEAPU8[$0 + 11 | 0] > 124) { HEAP8[$0 + 11 | 0] = 0; } @@ -6560,8 +6575,8 @@ function jslGetNextToken() { label$19: { while (1) { label$21: { - $1 = jsvStringIteratorGetIndex(HEAP32[45251] + 88 | 0); - HEAP32[HEAP32[45251] + 4 >> 2] = $1 - 1; + $1 = jsvStringIteratorGetIndex(HEAP32[45279] + 88 | 0); + HEAP32[HEAP32[45279] + 4 >> 2] = $1 - 1; label$22: { switch (HEAPU8[HEAPU8[$0 + 11 | 0] + 112416 | 0]) { case 12: @@ -6623,7 +6638,7 @@ function jslGetNextToken() { } } jslSkipWhiteSpace(); - HEAP8[$0 + 11 | 0] = HEAPU8[HEAP32[45251]]; + HEAP8[$0 + 11 | 0] = HEAPU8[HEAP32[45279]]; if (HEAPU8[$0 + 11 | 0] > 124) { HEAP8[$0 + 11 | 0] = 0; } @@ -6636,11 +6651,11 @@ function jslGetNextToken() { } jslSingleChar(); label$25: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 175) { - HEAP8[HEAP32[45251] + 81 | 0] = 1; + if (HEAP16[HEAP32[45279] + 2 >> 1] == 175) { + HEAP8[HEAP32[45279] + 81 | 0] = 1; break label$25; } - if (!(HEAP16[HEAP32[45251] + 2 >> 1] != 209 & HEAP16[HEAP32[45251] + 2 >> 1] != 210)) { + if (!(HEAP16[HEAP32[45279] + 2 >> 1] != 209 & HEAP16[HEAP32[45279] + 2 >> 1] != 210)) { jslGetRawString(); } } @@ -6649,29 +6664,29 @@ function jslGetNextToken() { while (1) { $1 = 1; label$30: { - if (isAlphaInline(HEAP8[HEAP32[45251]]) & 1) { + if (isAlphaInline(HEAP8[HEAP32[45279]]) & 1) { break label$30; } $1 = 1; - if (isNumericInline(HEAP8[HEAP32[45251]]) & 1) { + if (isNumericInline(HEAP8[HEAP32[45279]]) & 1) { break label$30; } - $1 = HEAP8[HEAP32[45251]] == 36; + $1 = HEAP8[HEAP32[45279]] == 36; } if ($1) { - jslTokenAppendChar(HEAP8[HEAP32[45251]]); + jslTokenAppendChar(HEAP8[HEAP32[45279]]); jslGetNextCh(); continue; } break; } - HEAP16[HEAP32[45251] + 2 >> 1] = 128; - if (!HEAPU8[HEAP32[45251] + 13 | 0]) { + HEAP16[HEAP32[45279] + 2 >> 1] = 128; + if (!HEAPU8[HEAP32[45279] + 13 | 0]) { break label$3; } label$32: { label$33: { - switch (HEAP8[HEAP32[45251] + 12 | 0] - 98 | 0) { + switch (HEAP8[HEAP32[45279] + 12 | 0] - 98 | 0) { case 0: jslCheckToken(120663, 168); break label$32; @@ -6751,7 +6766,7 @@ function jslGetNextToken() { case 18: label$64: { if (jslCheckToken(117861, 175) & 1) { - HEAP8[HEAP32[45251] + 81 | 0] = 1; + HEAP8[HEAP32[45279] + 81 | 0] = 1; break label$64; } if (!(jslCheckToken(114321, 176) & 1)) { @@ -6787,78 +6802,78 @@ function jslGetNextToken() { } HEAP8[$0 + 10 | 0] = 1; label$70: { - if (HEAP8[HEAP32[45251]] == 46) { + if (HEAP8[HEAP32[45279]] == 46) { jslGetNextCh(); label$72: { - if (isNumericInline(HEAP8[HEAP32[45251]]) & 1) { - HEAP16[HEAP32[45251] + 2 >> 1] = 130; + if (isNumericInline(HEAP8[HEAP32[45279]]) & 1) { + HEAP16[HEAP32[45279] + 2 >> 1] = 130; jslTokenAppendChar(46); break label$72; } - HEAP16[HEAP32[45251] + 2 >> 1] = 46; + HEAP16[HEAP32[45279] + 2 >> 1] = 46; break label$3; } break label$70; } - if (HEAP8[HEAP32[45251]] == 48) { - jslTokenAppendChar(HEAP8[HEAP32[45251]]); + if (HEAP8[HEAP32[45279]] == 48) { + jslTokenAppendChar(HEAP8[HEAP32[45279]]); jslGetNextCh(); label$75: { label$76: { - if (HEAP8[HEAP32[45251]] == 120 | HEAP8[HEAP32[45251]] == 88 | (HEAP8[HEAP32[45251]] == 98 | HEAP8[HEAP32[45251]] == 66)) { + if (HEAP8[HEAP32[45279]] == 120 | HEAP8[HEAP32[45279]] == 88 | (HEAP8[HEAP32[45279]] == 98 | HEAP8[HEAP32[45279]] == 66)) { break label$76; } - if (HEAP8[HEAP32[45251]] == 111) { + if (HEAP8[HEAP32[45279]] == 111) { break label$76; } - if (HEAP8[HEAP32[45251]] != 79) { + if (HEAP8[HEAP32[45279]] != 79) { break label$75; } } HEAP8[$0 + 10 | 0] = 0; - jslTokenAppendChar(HEAP8[HEAP32[45251]]); + jslTokenAppendChar(HEAP8[HEAP32[45279]]); jslGetNextCh(); } } - HEAP16[HEAP32[45251] + 2 >> 1] = 129; + HEAP16[HEAP32[45279] + 2 >> 1] = 129; while (1) { $1 = 1; label$78: { - if (isNumericInline(HEAP8[HEAP32[45251]]) & 1) { + if (isNumericInline(HEAP8[HEAP32[45279]]) & 1) { break label$78; } if (!(HEAP8[$0 + 10 | 0] & 1)) { $1 = 1; - if (isHexadecimal(HEAP8[HEAP32[45251]]) & 1) { + if (isHexadecimal(HEAP8[HEAP32[45279]]) & 1) { break label$78; } } - $1 = HEAP8[HEAP32[45251]] == 95; + $1 = HEAP8[HEAP32[45279]] == 95; } if ($1) { - if (HEAP8[HEAP32[45251]] != 95) { - jslTokenAppendChar(HEAP8[HEAP32[45251]]); + if (HEAP8[HEAP32[45279]] != 95) { + jslTokenAppendChar(HEAP8[HEAP32[45279]]); } jslGetNextCh(); continue; } break; } - if (!(!(HEAP8[$0 + 10 | 0] & 1) | HEAP8[HEAP32[45251]] != 46)) { - HEAP16[HEAP32[45251] + 2 >> 1] = 130; + if (!(!(HEAP8[$0 + 10 | 0] & 1) | HEAP8[HEAP32[45279]] != 46)) { + HEAP16[HEAP32[45279] + 2 >> 1] = 130; jslTokenAppendChar(46); jslGetNextCh(); } } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 130) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 130) { while (1) { $1 = 1; - if (!(isNumeric(HEAP8[HEAP32[45251]]) & 1)) { - $1 = HEAP8[HEAP32[45251]] == 95; + if (!(isNumeric(HEAP8[HEAP32[45279]]) & 1)) { + $1 = HEAP8[HEAP32[45279]] == 95; } if ($1) { - if (HEAP8[HEAP32[45251]] != 95) { - jslTokenAppendChar(HEAP8[HEAP32[45251]]); + if (HEAP8[HEAP32[45279]] != 95) { + jslTokenAppendChar(HEAP8[HEAP32[45279]]); } jslGetNextCh(); continue; @@ -6866,22 +6881,22 @@ function jslGetNextToken() { break; } } - if (!(!(HEAP8[$0 + 10 | 0] & 1) | HEAP8[HEAP32[45251]] != 101 & HEAP8[HEAP32[45251]] != 69)) { - HEAP16[HEAP32[45251] + 2 >> 1] = 130; - jslTokenAppendChar(HEAP8[HEAP32[45251]]); + if (!(!(HEAP8[$0 + 10 | 0] & 1) | HEAP8[HEAP32[45279]] != 101 & HEAP8[HEAP32[45279]] != 69)) { + HEAP16[HEAP32[45279] + 2 >> 1] = 130; + jslTokenAppendChar(HEAP8[HEAP32[45279]]); jslGetNextCh(); - if (!(HEAP8[HEAP32[45251]] != 45 & HEAP8[HEAP32[45251]] != 43)) { - jslTokenAppendChar(HEAP8[HEAP32[45251]]); + if (!(HEAP8[HEAP32[45279]] != 45 & HEAP8[HEAP32[45279]] != 43)) { + jslTokenAppendChar(HEAP8[HEAP32[45279]]); jslGetNextCh(); } while (1) { $1 = 1; - if (!(isNumeric(HEAP8[HEAP32[45251]]) & 1)) { - $1 = HEAP8[HEAP32[45251]] == 95; + if (!(isNumeric(HEAP8[HEAP32[45279]]) & 1)) { + $1 = HEAP8[HEAP32[45279]] == 95; } if ($1) { - if (HEAP8[HEAP32[45251]] != 95) { - jslTokenAppendChar(HEAP8[HEAP32[45251]]); + if (HEAP8[HEAP32[45279]] != 95) { + jslTokenAppendChar(HEAP8[HEAP32[45279]]); } jslGetNextCh(); continue; @@ -6895,11 +6910,11 @@ function jslGetNextToken() { break label$3; } jslSingleChar(); - if (HEAP8[HEAP32[45251]] == 61) { - HEAP16[HEAP32[45251] + 2 >> 1] = 140; + if (HEAP8[HEAP32[45279]] == 61) { + HEAP16[HEAP32[45279] + 2 >> 1] = 140; jslGetNextCh(); - if (HEAP8[HEAP32[45251]] == 61) { - HEAP16[HEAP32[45251] + 2 >> 1] = 141; + if (HEAP8[HEAP32[45279]] == 61) { + HEAP16[HEAP32[45279] + 2 >> 1] = 141; jslGetNextCh(); } } @@ -6907,13 +6922,13 @@ function jslGetNextToken() { } jslSingleChar(); label$98: { - if (HEAP8[HEAP32[45251]] == 61) { - HEAP16[HEAP32[45251] + 2 >> 1] = 150; + if (HEAP8[HEAP32[45279]] == 61) { + HEAP16[HEAP32[45279] + 2 >> 1] = 150; jslGetNextCh(); break label$98; } - if (HEAP8[HEAP32[45251]] == 43) { - HEAP16[HEAP32[45251] + 2 >> 1] = 152; + if (HEAP8[HEAP32[45279]] == 43) { + HEAP16[HEAP32[45279] + 2 >> 1] = 152; jslGetNextCh(); } } @@ -6921,13 +6936,13 @@ function jslGetNextToken() { } jslSingleChar(); label$101: { - if (HEAP8[HEAP32[45251]] == 61) { - HEAP16[HEAP32[45251] + 2 >> 1] = 151; + if (HEAP8[HEAP32[45279]] == 61) { + HEAP16[HEAP32[45279] + 2 >> 1] = 151; jslGetNextCh(); break label$101; } - if (HEAP8[HEAP32[45251]] == 45) { - HEAP16[HEAP32[45251] + 2 >> 1] = 153; + if (HEAP8[HEAP32[45279]] == 45) { + HEAP16[HEAP32[45279] + 2 >> 1] = 153; jslGetNextCh(); } } @@ -6935,13 +6950,13 @@ function jslGetNextToken() { } jslSingleChar(); label$104: { - if (HEAP8[HEAP32[45251]] == 61) { - HEAP16[HEAP32[45251] + 2 >> 1] = 157; + if (HEAP8[HEAP32[45279]] == 61) { + HEAP16[HEAP32[45279] + 2 >> 1] = 157; jslGetNextCh(); break label$104; } - if (HEAP8[HEAP32[45251]] == 38) { - HEAP16[HEAP32[45251] + 2 >> 1] = 158; + if (HEAP8[HEAP32[45279]] == 38) { + HEAP16[HEAP32[45279] + 2 >> 1] = 158; jslGetNextCh(); } } @@ -6949,35 +6964,35 @@ function jslGetNextToken() { } jslSingleChar(); label$107: { - if (HEAP8[HEAP32[45251]] == 61) { - HEAP16[HEAP32[45251] + 2 >> 1] = 159; + if (HEAP8[HEAP32[45279]] == 61) { + HEAP16[HEAP32[45279] + 2 >> 1] = 159; jslGetNextCh(); break label$107; } - if (HEAP8[HEAP32[45251]] == 124) { - HEAP16[HEAP32[45251] + 2 >> 1] = 160; + if (HEAP8[HEAP32[45279]] == 124) { + HEAP16[HEAP32[45279] + 2 >> 1] = 160; jslGetNextCh(); } } break label$3; } jslSingleChar(); - if (HEAP8[HEAP32[45251]] == 61) { - HEAP16[HEAP32[45251] + 2 >> 1] = 161; + if (HEAP8[HEAP32[45279]] == 61) { + HEAP16[HEAP32[45279] + 2 >> 1] = 161; jslGetNextCh(); } break label$3; } jslSingleChar(); - if (HEAP8[HEAP32[45251]] == 61) { - HEAP16[HEAP32[45251] + 2 >> 1] = 154; + if (HEAP8[HEAP32[45279]] == 61) { + HEAP16[HEAP32[45279] + 2 >> 1] = 154; jslGetNextCh(); } break label$3; } jslSingleChar(); - if (HEAP8[HEAP32[45251]] == 63) { - HEAP16[HEAP32[45251] + 2 >> 1] = 208; + if (HEAP8[HEAP32[45279]] == 63) { + HEAP16[HEAP32[45279] + 2 >> 1] = 208; jslGetNextCh(); } break label$3; @@ -7022,33 +7037,33 @@ function jslGetNextToken() { break label$113; } jslSingleChar(); - if (HEAP8[HEAP32[45251]] == 61) { - HEAP16[HEAP32[45251] + 2 >> 1] = 155; + if (HEAP8[HEAP32[45279]] == 61) { + HEAP16[HEAP32[45279] + 2 >> 1] = 155; jslGetNextCh(); } } break label$3; } jslSingleChar(); - if (HEAP8[HEAP32[45251]] == 61) { - HEAP16[HEAP32[45251] + 2 >> 1] = 156; + if (HEAP8[HEAP32[45279]] == 61) { + HEAP16[HEAP32[45279] + 2 >> 1] = 156; jslGetNextCh(); } break label$3; } jslSingleChar(); label$119: { - if (HEAP8[HEAP32[45251]] == 61) { - HEAP16[HEAP32[45251] + 2 >> 1] = 138; + if (HEAP8[HEAP32[45279]] == 61) { + HEAP16[HEAP32[45279] + 2 >> 1] = 138; jslGetNextCh(); - if (HEAP8[HEAP32[45251]] == 61) { - HEAP16[HEAP32[45251] + 2 >> 1] = 139; + if (HEAP8[HEAP32[45279]] == 61) { + HEAP16[HEAP32[45279] + 2 >> 1] = 139; jslGetNextCh(); } break label$119; } - if (HEAP8[HEAP32[45251]] == 62) { - HEAP16[HEAP32[45251] + 2 >> 1] = 162; + if (HEAP8[HEAP32[45279]] == 62) { + HEAP16[HEAP32[45279] + 2 >> 1] = 162; jslGetNextCh(); } } @@ -7056,16 +7071,16 @@ function jslGetNextToken() { } jslSingleChar(); label$123: { - if (HEAP8[HEAP32[45251]] == 61) { - HEAP16[HEAP32[45251] + 2 >> 1] = 142; + if (HEAP8[HEAP32[45279]] == 61) { + HEAP16[HEAP32[45279] + 2 >> 1] = 142; jslGetNextCh(); break label$123; } - if (HEAP8[HEAP32[45251]] == 60) { - HEAP16[HEAP32[45251] + 2 >> 1] = 143; + if (HEAP8[HEAP32[45279]] == 60) { + HEAP16[HEAP32[45279] + 2 >> 1] = 143; jslGetNextCh(); - if (HEAP8[HEAP32[45251]] == 61) { - HEAP16[HEAP32[45251] + 2 >> 1] = 144; + if (HEAP8[HEAP32[45279]] == 61) { + HEAP16[HEAP32[45279] + 2 >> 1] = 144; jslGetNextCh(); } } @@ -7074,29 +7089,29 @@ function jslGetNextToken() { } jslSingleChar(); label$127: { - if (HEAP8[HEAP32[45251]] == 61) { - HEAP16[HEAP32[45251] + 2 >> 1] = 145; + if (HEAP8[HEAP32[45279]] == 61) { + HEAP16[HEAP32[45279] + 2 >> 1] = 145; jslGetNextCh(); break label$127; } - if (HEAP8[HEAP32[45251]] == 62) { - HEAP16[HEAP32[45251] + 2 >> 1] = 146; + if (HEAP8[HEAP32[45279]] == 62) { + HEAP16[HEAP32[45279] + 2 >> 1] = 146; jslGetNextCh(); label$130: { - if (HEAP8[HEAP32[45251]] == 61) { - HEAP16[HEAP32[45251] + 2 >> 1] = 148; + if (HEAP8[HEAP32[45279]] == 61) { + HEAP16[HEAP32[45279] + 2 >> 1] = 148; jslGetNextCh(); break label$130; } - if (HEAP8[HEAP32[45251]] == 62) { + if (HEAP8[HEAP32[45279]] == 62) { jslGetNextCh(); label$133: { - if (HEAP8[HEAP32[45251]] == 61) { - HEAP16[HEAP32[45251] + 2 >> 1] = 149; + if (HEAP8[HEAP32[45279]] == 61) { + HEAP16[HEAP32[45279] + 2 >> 1] = 149; jslGetNextCh(); break label$133; } - HEAP16[HEAP32[45251] + 2 >> 1] = 147; + HEAP16[HEAP32[45279] + 2 >> 1] = 147; } } } @@ -7118,7 +7133,7 @@ function jsfGetJSONWithCallback($0, $1, $2, $3, $4, $5) { HEAP32[$6 + 328 >> 2] = $5; HEAP32[$6 + 324 >> 2] = HEAP32[$6 + 340 >> 2] + 16384; if (!HEAP32[$6 + 336 >> 2]) { - HEAP32[$6 + 336 >> 2] = 146867; + HEAP32[$6 + 336 >> 2] = 146965; } label$2: { if (jsvIsUndefined(HEAP32[$6 + 348 >> 2]) & 1) { @@ -7138,7 +7153,7 @@ function jsfGetJSONWithCallback($0, $1, $2, $3, $4, $5) { break label$4; } } - cbprintf(HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], 146840, 0); + cbprintf(HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], 146938, 0); break label$2; } $0 = HEAP32[$6 + 348 >> 2]; @@ -7151,7 +7166,7 @@ function jsfGetJSONWithCallback($0, $1, $2, $3, $4, $5) { $7 = HEAP32[$6 + 340 >> 2] & 8 ? HEAP32[$6 + 320 >> 2] > 15 : $7; HEAP8[$6 + 319 | 0] = $7; HEAP8[$6 + 318 | 0] = 0; - cbprintf(HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], HEAP32[$6 + 340 >> 2] & 4 ? 146718 : 125911, 0); + cbprintf(HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], HEAP32[$6 + 340 >> 2] & 4 ? 146816 : 125911, 0); HEAP32[$6 + 312 >> 2] = -1; HEAP8[$6 + 311 | 0] = 1; HEAP8[$6 + 310 | 0] = 1; @@ -7191,11 +7206,11 @@ function jsfGetJSONWithCallback($0, $1, $2, $3, $4, $5) { HEAP32[$6 + 312 >> 2] = HEAP32[$6 + 312 >> 2] + 1; if (!(!(!(HEAP8[$6 + 319 | 0] & 1) | HEAP32[$6 + 312 >> 2] < 5) & HEAP32[$6 + 312 >> 2] < (HEAP32[$6 + 320 >> 2] - 5 | 0))) { if (!(HEAP8[$6 + 310 | 0] & 1)) { - cbprintf(HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], HEAP32[$6 + 340 >> 2] & 4 ? 146854 : 130580, 0); + cbprintf(HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], HEAP32[$6 + 340 >> 2] & 4 ? 146952 : 130580, 0); } HEAP8[$6 + 310 | 0] = 0; if (!(!(HEAP8[$6 + 319 | 0] & 1) | HEAP32[$6 + 312 >> 2] != (HEAP32[$6 + 320 >> 2] - 5 | 0))) { - cbprintf(HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], HEAP32[45101], 0); + cbprintf(HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], HEAP32[45129], 0); } $0 = 0; if (HEAP32[$6 + 340 >> 2] & 1) { @@ -7269,7 +7284,7 @@ function jsfGetJSONWithCallback($0, $1, $2, $3, $4, $5) { $2 = jswGetBasicObjectName(HEAP32[$6 + 348 >> 2]); HEAP32[$6 + 20 >> 2] = jsvGetArrayBufferLength(HEAP32[$6 + 348 >> 2]); HEAP32[$6 + 16 >> 2] = $2; - cbprintf($0, $1, 145423, $6 + 16 | 0); + cbprintf($0, $1, 145521, $6 + 16 | 0); break label$36; } HEAP32[$6 + 216 >> 2] = jswGetBasicObjectName(HEAP32[$6 + 348 >> 2]); @@ -7297,13 +7312,13 @@ function jsfGetJSONWithCallback($0, $1, $2, $3, $4, $5) { if ($0 & 1) { if (!(!(!(HEAP8[$6 + 207 | 0] & 1) | HEAPU32[$6 + 272 >> 2] < 5) & HEAPU32[$6 + 272 >> 2] < HEAP32[$6 + 208 >> 2] - 5 >>> 0)) { if (HEAP32[$6 + 272 >> 2]) { - cbprintf(HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], HEAP32[$6 + 340 >> 2] & 4 ? 146854 : 130580, 0); + cbprintf(HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], HEAP32[$6 + 340 >> 2] & 4 ? 146952 : 130580, 0); } if (HEAP32[$6 + 340 >> 2] & 2) { jsonNewLine(HEAP32[$6 + 324 >> 2], HEAP32[$6 + 336 >> 2], HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2]); } if (!(!(HEAP8[$6 + 207 | 0] & 1) | HEAP32[$6 + 272 >> 2] != (HEAP32[$6 + 208 >> 2] - 5 | 0))) { - cbprintf(HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], HEAP32[45101], 0); + cbprintf(HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], HEAP32[45129], 0); } HEAP32[$6 + 200 >> 2] = jsvArrayBufferIteratorGetValue($6 + 224 | 0, 0); jsfGetJSONWithCallback(HEAP32[$6 + 200 >> 2], 0, HEAP32[$6 + 324 >> 2], HEAP32[$6 + 336 >> 2], HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2]); @@ -7318,7 +7333,7 @@ function jsfGetJSONWithCallback($0, $1, $2, $3, $4, $5) { jsonNewLine(HEAP32[$6 + 340 >> 2], HEAP32[$6 + 336 >> 2], HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2]); } jsvArrayBufferIteratorFree($6 + 224 | 0); - cbprintf(HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], HEAP8[$6 + 222 | 0] & 1 ? 125899 : 145591, 0); + cbprintf(HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], HEAP8[$6 + 222 | 0] & 1 ? 125899 : 145689, 0); if (!(!(HEAP8[$6 + 215 | 0] & 1) | HEAP8[$6 + 222 | 0] & 1)) { cbprintf(HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], 118889, 0); } @@ -7349,12 +7364,12 @@ function jsfGetJSONWithCallback($0, $1, $2, $3, $4, $5) { if (jsvHasChildren(HEAP32[$6 + 192 >> 2]) & 1) { HEAP32[$6 + 188 >> 2] = jsvObjectGetChildIfExists(HEAP32[$6 + 192 >> 2], 118558); if (HEAP32[$6 + 188 >> 2]) { - HEAP32[$6 + 184 >> 2] = jsvGetIndexOf(HEAP32[87258], HEAP32[$6 + 188 >> 2], 1); + HEAP32[$6 + 184 >> 2] = jsvGetIndexOf(HEAP32[87286], HEAP32[$6 + 188 >> 2], 1); if (HEAP32[$6 + 184 >> 2]) { $0 = HEAP32[$6 + 332 >> 2]; $1 = HEAP32[$6 + 328 >> 2]; HEAP32[$6 + 64 >> 2] = HEAP32[$6 + 184 >> 2]; - cbprintf($0, $1, 146753, $6 - -64 | 0); + cbprintf($0, $1, 146851, $6 - -64 | 0); } jsvUnLock2(HEAP32[$6 + 184 >> 2], HEAP32[$6 + 188 >> 2]); HEAP32[$6 + 180 >> 2] = jspGetNamedField(HEAP32[$6 + 348 >> 2], 121272, 0); @@ -7407,7 +7422,7 @@ function jsfGetJSONWithCallback($0, $1, $2, $3, $4, $5) { break label$64; } jsvObjectIteratorNew($6 + 160 | 0, HEAP32[$6 + 348 >> 2]); - cbprintf(HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], HEAP32[$6 + 340 >> 2] & 4 ? 146578 : 113907, 0); + cbprintf(HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], HEAP32[$6 + 340 >> 2] & 4 ? 146676 : 113907, 0); HEAP8[$6 + 159 | 0] = jsfGetJSONForObjectItWithCallback($6 + 160 | 0, HEAP32[$6 + 340 >> 2], HEAP32[$6 + 336 >> 2], HEAP32[$6 + 324 >> 2], HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], 1) & 1; jsvObjectIteratorFree_8($6 + 160 | 0); if (HEAP8[$6 + 159 | 0] & 1) { @@ -7426,7 +7441,7 @@ function jsfGetJSONWithCallback($0, $1, $2, $3, $4, $5) { cbprintf(HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], 124160, 0); break label$70; } - cbprintf(HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], 146604, 0); + cbprintf(HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2], 146702, 0); jsfGetJSONForFunctionWithCallback(HEAP32[$6 + 348 >> 2], HEAP32[$6 + 324 >> 2], HEAP32[$6 + 332 >> 2], HEAP32[$6 + 328 >> 2]); break label$70; } @@ -7458,7 +7473,7 @@ function jsfGetJSONWithCallback($0, $1, $2, $3, $4, $5) { $0 = HEAP32[$6 + 332 >> 2]; $1 = HEAP32[$6 + 328 >> 2]; $2 = HEAP32[$6 + 152 >> 2]; - $3 = HEAP32[45101]; + $3 = HEAP32[45129]; HEAP32[$6 + 88 >> 2] = HEAP32[$6 + 148 >> 2]; HEAP32[$6 + 84 >> 2] = $3; HEAP32[$6 + 80 >> 2] = $2; @@ -7525,26 +7540,26 @@ function jspeFunctionCall($0, $1, $2, $3, $4, $5) { HEAP32[$6 + 360 >> 2] = $4; HEAP32[$6 + 356 >> 2] = $5; label$1: { - if (!(HEAP32[$6 + 376 >> 2] | (HEAP32[87266] & 63) != 1)) { + if (!(HEAP32[$6 + 376 >> 2] | (HEAP32[87294] & 63) != 1)) { label$3: { if (HEAP32[$6 + 372 >> 2]) { HEAP32[$6 + 32 >> 2] = HEAP32[$6 + 372 >> 2]; - jsExceptionHere(1, 146266, $6 + 32 | 0); + jsExceptionHere(1, 146364, $6 + 32 | 0); break label$3; } HEAP32[$6 + 48 >> 2] = HEAP32[$6 + 372 >> 2]; - jsExceptionHere(1, 146289, $6 + 48 | 0); + jsExceptionHere(1, 146387, $6 + 48 | 0); } HEAP32[$6 + 380 >> 2] = 0; break label$1; } - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { if (!(jspCheckStackPosition() & 1)) { HEAP32[$6 + 380 >> 2] = 0; break label$1; } } - if (!(!HEAP32[$6 + 376 >> 2] | (HEAP32[87266] & 63) != 1)) { + if (!(!HEAP32[$6 + 376 >> 2] | (HEAP32[87294] & 63) != 1)) { HEAP32[$6 + 352 >> 2] = 0; if (!(jsvIsFunction(HEAP32[$6 + 376 >> 2]) & 1)) { HEAP32[$6 + 16 >> 2] = HEAP32[$6 + 376 >> 2]; @@ -7629,14 +7644,14 @@ function jspeFunctionCall($0, $1, $2, $3, $4, $5) { while (1) { $0 = 0; label$27: { - if (HEAP32[87266] & 112) { + if (HEAP32[87294] & 112) { break label$27; } $0 = 0; - if (HEAP16[HEAP32[45251] + 2 >> 1] == 41) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 41) { break label$27; } - $0 = HEAP16[HEAP32[45251] + 2 >> 1]; + $0 = HEAP16[HEAP32[45279] + 2 >> 1]; } if ($0) { if (HEAPU32[$6 + 360 >> 2] >= HEAPU32[$6 + 344 >> 2]) { @@ -7658,7 +7673,7 @@ function jspeFunctionCall($0, $1, $2, $3, $4, $5) { $0 = HEAP32[$6 + 360 >> 2]; HEAP32[$6 + 360 >> 2] = $0 + 1; HEAP32[($0 << 2) + $2 >> 2] = $1; - if (HEAP16[HEAP32[45251] + 2 >> 1] != 41) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 41) { if (!(jslMatch(44) & 1)) { jsvUnLockMany(HEAP32[$6 + 360 >> 2], HEAP32[$6 + 356 >> 2]); jsvUnLock(HEAP32[$6 + 348 >> 2]); @@ -7679,24 +7694,24 @@ function jspeFunctionCall($0, $1, $2, $3, $4, $5) { HEAP32[$6 + 312 >> 2] = HEAP32[$6 + 360 >> 2]; } HEAP32[$6 + 300 >> 2] = jsvGetNativeFunctionPtr(HEAP32[$6 + 376 >> 2]); - HEAP32[$6 + 296 >> 2] = HEAP32[87264]; + HEAP32[$6 + 296 >> 2] = HEAP32[87292]; label$35: { if (HEAP32[$6 + 348 >> 2]) { - HEAP32[87264] = jsvRef(HEAP32[$6 + 348 >> 2]); + HEAP32[87292] = jsvRef(HEAP32[$6 + 348 >> 2]); break label$35; } label$37: { if (HEAP32[$6 + 300 >> 2] == 9) { - if (HEAP32[87264]) { - HEAP32[87264] = jsvRef(HEAP32[87264]); + if (HEAP32[87292]) { + HEAP32[87292] = jsvRef(HEAP32[87292]); } break label$37; } - HEAP32[87264] = jsvRef(HEAP32[87258]); + HEAP32[87292] = jsvRef(HEAP32[87286]); } } label$40: { - if (!(!HEAP32[$6 + 300 >> 2] | HEAP32[87266] & 112)) { + if (!(!HEAP32[$6 + 300 >> 2] | HEAP32[87294] & 112)) { $0 = HEAP32[$6 + 376 >> 2]; HEAP32[$6 + 352 >> 2] = jsnCallFunction(HEAP32[$6 + 300 >> 2], HEAPU8[$0 + 4 | 0] | HEAPU8[$0 + 5 | 0] << 8, HEAP32[$6 + 348 >> 2], HEAP32[$6 + 356 >> 2], HEAP32[$6 + 360 >> 2]); break label$40; @@ -7704,10 +7719,10 @@ function jspeFunctionCall($0, $1, $2, $3, $4, $5) { HEAP32[$6 + 352 >> 2] = 0; } jsvUnLockMany(HEAP32[$6 + 312 >> 2], HEAP32[$6 + 356 >> 2]); - if (HEAP32[87264]) { - jsvUnRef(HEAP32[87264]); + if (HEAP32[87292]) { + jsvUnRef(HEAP32[87292]); } - HEAP32[87264] = HEAP32[$6 + 296 >> 2]; + HEAP32[87292] = HEAP32[$6 + 296 >> 2]; break label$11; } HEAP32[$6 + 292 >> 2] = jsvNewWithFlags(7); @@ -7744,14 +7759,14 @@ function jspeFunctionCall($0, $1, $2, $3, $4, $5) { HEAP32[$6 + 260 >> 2] = 0; while (1) { $0 = 0; - $0 = HEAP32[87266] & 80 ? $0 : HEAP16[HEAP32[45251] + 2 >> 1] != 41; + $0 = HEAP32[87294] & 80 ? $0 : HEAP16[HEAP32[45279] + 2 >> 1] != 41; if ($0) { HEAP32[$6 + 256 >> 2] = jsvObjectIteratorGetKey_2($6 + 272 | 0); HEAP8[$6 + 255 | 0] = jsvIsFunctionParameter(HEAP32[$6 + 256 >> 2]) & 1; - if (!(HEAP8[$6 + 255 | 0] & 1 ? 0 : HEAP16[HEAP32[45251] + 2 >> 1] == 41)) { + if (!(HEAP8[$6 + 255 | 0] & 1 ? 0 : HEAP16[HEAP32[45279] + 2 >> 1] == 41)) { HEAP32[$6 + 260 >> 2] = HEAP32[$6 + 260 >> 2] + 1; HEAP32[$6 + 248 >> 2] = 0; - if (HEAP16[HEAP32[45251] + 2 >> 1] != 41) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 41) { HEAP32[$6 + 248 >> 2] = jspeAssignmentExpression(); } HEAP32[$6 + 248 >> 2] = jsvSkipNameAndUnLock(HEAP32[$6 + 248 >> 2]); @@ -7765,7 +7780,7 @@ function jspeFunctionCall($0, $1, $2, $3, $4, $5) { } jsvAddFunctionParameter($1, $0, HEAP32[$6 + 248 >> 2]); jsvUnLock(HEAP32[$6 + 248 >> 2]); - if (HEAP16[HEAP32[45251] + 2 >> 1] != 41) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 41) { if (!(jslMatch(44) & 1)) { HEAP32[$6 + 380 >> 2] = 0; break label$1; @@ -7857,87 +7872,87 @@ function jspeFunctionCall($0, $1, $2, $3, $4, $5) { jsvAddName(HEAP32[$6 + 292 >> 2], HEAP32[$6 + 224 >> 2]); jsvUnLock2(HEAP32[$6 + 224 >> 2], HEAP32[$6 + 280 >> 2]); } - if (!(HEAP32[87266] & 112)) { - HEAP32[$6 + 220 >> 2] = HEAP32[87260]; - HEAP32[87260] = 0; + if (!(HEAP32[87294] & 112)) { + HEAP32[$6 + 220 >> 2] = HEAP32[87288]; + HEAP32[87288] = 0; if (HEAP32[$6 + 288 >> 2]) { jspeiLoadScopesFromVar(HEAP32[$6 + 288 >> 2]); jsvUnLock(HEAP32[$6 + 288 >> 2]); } if (jspeiAddScope(HEAP32[$6 + 292 >> 2]) & 1) { - HEAP32[$6 + 216 >> 2] = HEAP32[87261]; - HEAP8[$6 + 215 | 0] = HEAPU8[349052]; - HEAP32[87261] = HEAP32[$6 + 292 >> 2]; - HEAP8[349052] = 0; - HEAP32[$6 + 208 >> 2] = HEAP32[87264]; + HEAP32[$6 + 216 >> 2] = HEAP32[87289]; + HEAP8[$6 + 215 | 0] = HEAPU8[349164]; + HEAP32[87289] = HEAP32[$6 + 292 >> 2]; + HEAP8[349164] = 0; + HEAP32[$6 + 208 >> 2] = HEAP32[87292]; label$82: { if (HEAP32[$6 + 348 >> 2]) { - HEAP32[87264] = jsvRef(HEAP32[$6 + 348 >> 2]); + HEAP32[87292] = jsvRef(HEAP32[$6 + 348 >> 2]); break label$82; } - HEAP32[87264] = jsvRef(HEAP32[87258]); + HEAP32[87292] = jsvRef(HEAP32[87286]); } if (HEAP32[$6 + 284 >> 2]) { HEAP32[$6 + 76 >> 2] = jslSetLex($6 + 80 | 0); jslInit(HEAP32[$6 + 284 >> 2]); - HEAP32[$6 + 72 >> 2] = HEAP32[87266]; - HEAP32[87266] = HEAP32[87266] & 6256 | 1; + HEAP32[$6 + 72 >> 2] = HEAP32[87294]; + HEAP32[87294] = HEAP32[87294] & 6256 | 1; label$85: { if (jsvIsFunctionReturn(HEAP32[$6 + 376 >> 2]) & 1) { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 59 | HEAP16[HEAP32[45251] + 2 >> 1] == 125) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 59 | HEAP16[HEAP32[45279] + 2 >> 1] == 125) { break label$85; } HEAP32[$6 + 352 >> 2] = jsvSkipNameAndUnLock(jspeExpression()); break label$85; } HEAP32[$6 + 68 >> 2] = jsvAddNamedChild(HEAP32[$6 + 292 >> 2], 0, 119611); - HEAP8[349052] = HEAPU8[349052] - 1; + HEAP8[349164] = HEAPU8[349164] - 1; jspeBlockNoBrackets(); - HEAP8[349052] = HEAPU8[349052] + 1; + HEAP8[349164] = HEAPU8[349164] + 1; HEAP32[$6 + 352 >> 2] = jsvSkipName(HEAP32[$6 + 68 >> 2]); if (HEAP32[$6 + 68 >> 2]) { jsvRemoveChildAndUnLock(HEAP32[$6 + 292 >> 2], HEAP32[$6 + 68 >> 2]); } } - HEAP32[$6 + 64 >> 2] = HEAP32[87266] & 112; - HEAP32[87266] = HEAP32[87266] & -1664 | HEAP32[$6 + 72 >> 2] & 1663; + HEAP32[$6 + 64 >> 2] = HEAP32[87294] & 112; + HEAP32[87294] = HEAP32[87294] & -1664 | HEAP32[$6 + 72 >> 2] & 1663; jslKill(); jslSetLex(HEAP32[$6 + 76 >> 2]); if (HEAP32[$6 + 64 >> 2]) { - HEAP32[87266] = HEAP32[$6 + 64 >> 2] | HEAP32[87266]; - HEAP32[$6 + 60 >> 2] = jsvObjectGetChild(HEAP32[87259], 123099, 28); + HEAP32[87294] = HEAP32[$6 + 64 >> 2] | HEAP32[87294]; + HEAP32[$6 + 60 >> 2] = jsvObjectGetChild(HEAP32[87287], 123099, 28); if (HEAP32[$6 + 60 >> 2]) { $0 = HEAP32[$6 + 60 >> 2]; $1 = jsvIsString(HEAP32[$6 + 372 >> 2]) & 1; HEAP32[$6 >> 2] = HEAP32[$6 + 372 >> 2]; - jsvAppendPrintf($0, $1 ? 146614 : 146642, $6); + jsvAppendPrintf($0, $1 ? 146712 : 146740, $6); label$90: { - if (HEAP32[45251]) { + if (HEAP32[45279]) { jspAppendStackTrace(HEAP32[$6 + 60 >> 2]); break label$90; } - jsvAppendPrintf(HEAP32[$6 + 60 >> 2], 147331, 0); + jsvAppendPrintf(HEAP32[$6 + 60 >> 2], 147429, 0); } jsvUnLock(HEAP32[$6 + 60 >> 2]); } } } - if (HEAP32[87264]) { - jsvUnRef(HEAP32[87264]); + if (HEAP32[87292]) { + jsvUnRef(HEAP32[87292]); } - HEAP32[87264] = HEAP32[$6 + 208 >> 2]; + HEAP32[87292] = HEAP32[$6 + 208 >> 2]; jspeiRemoveScope(); - HEAP32[87261] = HEAP32[$6 + 216 >> 2]; - HEAP8[349052] = HEAPU8[$6 + 215 | 0]; + HEAP32[87289] = HEAP32[$6 + 216 >> 2]; + HEAP8[349164] = HEAPU8[$6 + 215 | 0]; } - jsvUnLock(HEAP32[87260]); - HEAP32[87260] = HEAP32[$6 + 220 >> 2]; + jsvUnLock(HEAP32[87288]); + HEAP32[87288] = HEAP32[$6 + 220 >> 2]; } jsvUnLock2(HEAP32[$6 + 284 >> 2], HEAP32[$6 + 292 >> 2]); } jsvUnLock(HEAP32[$6 + 348 >> 2]); - if (HEAP32[45251]) { - jsvStringIteratorUpdatePtr(HEAP32[45251] + 88 | 0); + if (HEAP32[45279]) { + jsvStringIteratorUpdatePtr(HEAP32[45279] + 88 | 0); } HEAP32[$6 + 380 >> 2] = HEAP32[$6 + 352 >> 2]; break label$1; @@ -9358,84 +9373,84 @@ function jswrap_banglejs_idle() { $2 = __stack_pointer - 352 | 0; $0 = $2; __stack_pointer = $0; - HEAP32[$0 + 348 >> 2] = jsvObjectGetChildIfExists(HEAP32[87258], 122680); + HEAP32[$0 + 348 >> 2] = jsvObjectGetChildIfExists(HEAP32[87286], 122680); label$1: { if (jsiObjectHasCallbacks(HEAP32[$0 + 348 >> 2], 120514) & 1) { - HEAP32[93921] = HEAP32[93921] | 1024; + HEAP32[93949] = HEAP32[93949] | 1024; break label$1; } - HEAP32[93921] = HEAP32[93921] & -1025; + HEAP32[93949] = HEAP32[93949] & -1025; } if (!HEAP32[$0 + 348 >> 2]) { - HEAP32[93924] = 0; + HEAP32[93952] = 0; } - if (HEAP32[93924]) { - if (HEAP32[93924] & 4) { + if (HEAP32[93952]) { + if (HEAP32[93952] & 4) { jswrap_banglejs_setLCDPower(0); } - if (HEAP32[93924] & 2) { + if (HEAP32[93952] & 2) { jswrap_banglejs_setLCDPower(1); } - if (HEAP32[93924] & 16) { + if (HEAP32[93952] & 16) { jswrap_banglejs_setLCDPowerBacklight(0); } - if (HEAP32[93924] & 8) { + if (HEAP32[93952] & 8) { jswrap_banglejs_setLCDPowerBacklight(1); } - if (HEAP32[93924] & 32) { - _jswrap_banglejs_setLocked(1, HEAP32[93922]); - HEAP32[93922] = 0; + if (HEAP32[93952] & 32) { + _jswrap_banglejs_setLocked(1, HEAP32[93950]); + HEAP32[93950] = 0; } - if (HEAP32[93924] & 64) { - _jswrap_banglejs_setLocked(0, HEAP32[93922]); - HEAP32[93922] = 0; + if (HEAP32[93952] & 64) { + _jswrap_banglejs_setLocked(0, HEAP32[93950]); + HEAP32[93950] = 0; } - if (HEAP32[93924] & 1) { - HEAP16[174550] = HEAPU16[174550] | 64; + if (HEAP32[93952] & 1) { + HEAP16[174606] = HEAPU16[174606] | 64; } - if (HEAP32[93924] & 67108864) { + if (HEAP32[93952] & 67108864) { jswrap_banglejs_setPollInterval_internal(80); } - if (HEAP32[93924] & 134217728) { + if (HEAP32[93952] & 134217728) { jswrap_banglejs_setPollInterval_internal(800); } - if (HEAP32[93924] & 128) { + if (HEAP32[93952] & 128) { HEAP32[$0 + 344 >> 2] = jswrap_banglejs_getAccel(); if (HEAP32[$0 + 344 >> 2]) { jsiQueueObjectCallbacks(HEAP32[$0 + 348 >> 2], 120514, $0 + 344 | 0, 1); jsvUnLock(HEAP32[$0 + 344 >> 2]); } } - if (HEAP32[93924] & 256) { + if (HEAP32[93952] & 256) { HEAP32[$0 + 340 >> 2] = jsvNewObject(); if (HEAP32[$0 + 340 >> 2]) { - HEAP32[$0 + 336 >> 2] = 148654; - if (HEAPU8[375852] & 2) { + HEAP32[$0 + 336 >> 2] = 148752; + if (HEAPU8[375964] & 2) { HEAP32[$0 + 336 >> 2] = 115188; } - if (HEAP8[375852] & 1) { + if (HEAP8[375964] & 1) { HEAP32[$0 + 336 >> 2] = 120658; } - if (HEAPU8[375852] & 8) { + if (HEAPU8[375964] & 8) { HEAP32[$0 + 336 >> 2] = 120192; } - if (HEAPU8[375852] & 4) { + if (HEAPU8[375964] & 4) { HEAP32[$0 + 336 >> 2] = 119377; } - if (HEAPU8[375852] & 16) { + if (HEAPU8[375964] & 16) { HEAP32[$0 + 336 >> 2] = 115440; } - if (HEAPU8[375852] & 32) { + if (HEAPU8[375964] & 32) { HEAP32[$0 + 336 >> 2] = 115522; } - HEAP32[$0 + 332 >> 2] = HEAPU8[375852] & 128 ? 2 : 1; + HEAP32[$0 + 332 >> 2] = HEAPU8[375964] & 128 ? 2 : 1; jsvObjectSetChildAndUnLock(HEAP32[$0 + 340 >> 2], 118682, jsvNewFromString(HEAP32[$0 + 336 >> 2])); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 340 >> 2], 122687, jsvNewFromBool((HEAPU8[375852] & 128) != 0)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 340 >> 2], 122687, jsvNewFromBool((HEAPU8[375964] & 128) != 0)); $3 = HEAP32[$0 + 340 >> 2]; - if (HEAPU8[375852] & 16) { + if (HEAPU8[375964] & 16) { $1 = 0 - HEAP32[$0 + 332 >> 2] | 0; } else { - if (HEAPU8[375852] & 32) { + if (HEAPU8[375964] & 32) { $1 = HEAP32[$0 + 332 >> 2]; } else { $1 = 0; @@ -9443,10 +9458,10 @@ function jswrap_banglejs_idle() { } jsvObjectSetChildAndUnLock($3, 114319, jsvNewFromInteger($1)); $3 = HEAP32[$0 + 340 >> 2]; - if (HEAPU8[375852] & 4) { + if (HEAPU8[375964] & 4) { $1 = 0 - HEAP32[$0 + 332 >> 2] | 0; } else { - if (HEAPU8[375852] & 8) { + if (HEAPU8[375964] & 8) { $1 = HEAP32[$0 + 332 >> 2]; } else { $1 = 0; @@ -9454,10 +9469,10 @@ function jswrap_banglejs_idle() { } jsvObjectSetChildAndUnLock($3, 114215, jsvNewFromInteger($1)); $3 = HEAP32[$0 + 340 >> 2]; - if (HEAP8[375852] & 1) { + if (HEAP8[375964] & 1) { $1 = 0 - HEAP32[$0 + 332 >> 2] | 0; } else { - if (HEAPU8[375852] & 2) { + if (HEAPU8[375964] & 2) { $1 = HEAP32[$0 + 332 >> 2]; } else { $1 = 0; @@ -9468,7 +9483,7 @@ function jswrap_banglejs_idle() { jsvUnLock(HEAP32[$0 + 340 >> 2]); } } - if (HEAP32[93924] & 16384) { + if (HEAP32[93952] & 16384) { label$37: { if (!HEAP32[$0 + 348 >> 2]) { break label$37; @@ -9483,21 +9498,21 @@ function jswrap_banglejs_idle() { } } } - if (HEAP32[93924] & 536870912) { - HEAP32[$0 + 324 >> 2] = _jswrap_banglejs_getHealthStatusObject(375792); + if (HEAP32[93952] & 536870912) { + HEAP32[$0 + 324 >> 2] = _jswrap_banglejs_getHealthStatusObject(375904); if (HEAP32[$0 + 324 >> 2]) { jsiQueueObjectCallbacks(HEAP32[$0 + 348 >> 2], 120850, $0 + 324 | 0, 1); jsvUnLock(HEAP32[$0 + 324 >> 2]); } } - if (HEAP32[93924] & 1073741824) { + if (HEAP32[93952] & 1073741824) { jsiQueueObjectCallbacks(HEAP32[$0 + 348 >> 2], 115446, 0, 0); } - if (HEAP32[93924] & 32768) { + if (HEAP32[93952] & 32768) { if (jsiObjectHasCallbacks(HEAP32[$0 + 348 >> 2], 122296) & 1) { - HEAP32[$0 + 320 >> 2] = jsvNewTypedArray(17, Math_imul(HEAPU8[375853], 3)); + HEAP32[$0 + 320 >> 2] = jsvNewTypedArray(17, Math_imul(HEAPU8[375965], 3)); if (HEAP32[$0 + 320 >> 2]) { - HEAP32[$0 + 316 >> 2] = HEAPU8[375854] - Math_imul(HEAPU8[375853], 3); + HEAP32[$0 + 316 >> 2] = HEAPU8[375966] - Math_imul(HEAPU8[375965], 3); while (1) { if (HEAP32[$0 + 316 >> 2] < 0) { HEAP32[$0 + 316 >> 2] = HEAP32[$0 + 316 >> 2] + 150; @@ -9508,10 +9523,10 @@ function jswrap_banglejs_idle() { jsvArrayBufferIteratorNew($0 + 256 | 0, HEAP32[$0 + 320 >> 2], 0); HEAP32[$0 + 252 >> 2] = 0; while (1) { - if (HEAP32[$0 + 252 >> 2] < (Math_imul(HEAPU8[375853], 3) | 0)) { + if (HEAP32[$0 + 252 >> 2] < (Math_imul(HEAPU8[375965], 3) | 0)) { $1 = HEAP32[$0 + 316 >> 2]; HEAP32[$0 + 316 >> 2] = $1 + 1; - jsvArrayBufferIteratorSetByteValue($0 + 256 | 0, HEAP8[$1 + 375856 | 0]); + jsvArrayBufferIteratorSetByteValue($0 + 256 | 0, HEAP8[$1 + 375968 | 0]); jsvArrayBufferIteratorNext($0 + 256 | 0); if (HEAP32[$0 + 316 >> 2] >= 150) { HEAP32[$0 + 316 >> 2] = HEAP32[$0 + 316 >> 2] - 150; @@ -9544,7 +9559,7 @@ function jswrap_banglejs_idle() { HEAP32[$0 + 212 >> 2] = jsfFindFile($0 + 8 | 0, $0 + 216 | 0); label$51: { if (!HEAP32[$0 + 212 >> 2]) { - jsiConsolePrintf(147339, 0); + jsiConsolePrintf(147437, 0); break label$51; } HEAP32[$0 + 180 >> 2] = jsfGetFileSize($0 + 216 | 0); @@ -9565,7 +9580,7 @@ function jswrap_banglejs_idle() { if (HEAP32[$0 + 168 >> 2]) { HEAP32[$0 + 164 >> 2] = jswrap_tfmicrointerpreter_getInput(HEAP32[$0 + 168 >> 2]); jsvArrayBufferIteratorNew($0 + 104 | 0, HEAP32[$0 + 164 >> 2], 0); - HEAP32[$0 + 100 >> 2] = HEAPU8[375854] - Math_imul(HEAPU8[375853], 3); + HEAP32[$0 + 100 >> 2] = HEAPU8[375966] - Math_imul(HEAPU8[375965], 3); while (1) { if (HEAP32[$0 + 100 >> 2] < 0) { HEAP32[$0 + 100 >> 2] = HEAP32[$0 + 100 >> 2] + 150; @@ -9575,10 +9590,10 @@ function jswrap_banglejs_idle() { } HEAP32[$0 + 96 >> 2] = 0; while (1) { - if (HEAP32[$0 + 96 >> 2] < (Math_imul(HEAPU8[375853], 3) | 0)) { + if (HEAP32[$0 + 96 >> 2] < (Math_imul(HEAPU8[375965], 3) | 0)) { $1 = HEAP32[$0 + 100 >> 2]; HEAP32[$0 + 100 >> 2] = $1 + 1; - jsvArrayBufferIteratorSetIntegerValue($0 + 104 | 0, HEAP8[$1 + 375856 | 0]); + jsvArrayBufferIteratorSetIntegerValue($0 + 104 | 0, HEAP8[$1 + 375968 | 0]); jsvArrayBufferIteratorNext($0 + 104 | 0); if (HEAP32[$0 + 100 >> 2] >= 150) { HEAP32[$0 + 100 >> 2] = HEAP32[$0 + 100 >> 2] - 150; @@ -9594,7 +9609,7 @@ function jswrap_banglejs_idle() { HEAP32[$0 + 164 >> 2] = jswrap_tfmicrointerpreter_getOutput(HEAP32[$0 + 168 >> 2]); HEAP32[$0 + 92 >> 2] = jswrap_array_slice(HEAP32[$0 + 164 >> 2], 0, 0); jsvUnLock2(HEAP32[$0 + 164 >> 2], HEAP32[$0 + 168 >> 2]); - HEAP32[$0 + 88 >> 2] = jspExecuteJSFunction(140756, 0, 1, $0 + 92 | 0); + HEAP32[$0 + 88 >> 2] = jspExecuteJSFunction(140854, 0, 1, $0 + 92 | 0); HEAP32[$0 + 80 >> 2] = HEAP32[$0 + 88 >> 2]; HEAP32[$0 + 84 >> 2] = HEAP32[$0 + 92 >> 2]; jsiQueueObjectCallbacks(HEAP32[$0 + 348 >> 2], 122307, $0 + 80 | 0, 2); @@ -9603,37 +9618,37 @@ function jswrap_banglejs_idle() { } } } - if (HEAP32[93924] & 131072) { - HEAP32[$0 + 76 >> 2] = jsvNewFromBool(HEAP8[376006] & 1); + if (HEAP32[93952] & 131072) { + HEAP32[$0 + 76 >> 2] = jsvNewFromBool(HEAP8[376118] & 1); jsiQueueObjectCallbacks(HEAP32[$0 + 348 >> 2], 121515, $0 + 76 | 0, 1); jsvUnLock(HEAP32[$0 + 76 >> 2]); } - if (HEAP32[93924] & 262144) { - HEAP32[$0 + 72 >> 2] = jsvNewFromInteger(HEAP32[93939]); + if (HEAP32[93952] & 262144) { + HEAP32[$0 + 72 >> 2] = jsvNewFromInteger(HEAP32[93967]); jsiQueueObjectCallbacks(HEAP32[$0 + 348 >> 2], 119487, $0 + 72 | 0, 1); jsvUnLock(HEAP32[$0 + 72 >> 2]); } - if (HEAP32[93924] & 16777216) { + if (HEAP32[93952] & 16777216) { jsiQueueObjectCallbacks(HEAP32[$0 + 348 >> 2], 115058, 0, 0); } - if (HEAP32[93924] & 33554432) { - HEAP32[$0 + 68 >> 2] = jsvNewFromBool(HEAP8[376007] & 1); + if (HEAP32[93952] & 33554432) { + HEAP32[$0 + 68 >> 2] = jsvNewFromBool(HEAP8[376119] & 1); jsiQueueObjectCallbacks(HEAP32[$0 + 348 >> 2], 119537, $0 + 68 | 0, 1); jsvUnLock(HEAP32[$0 + 68 >> 2]); } - if (HEAP32[93924] & 524288) { + if (HEAP32[93952] & 524288) { $1 = $0 + 60 | 0; - HEAP32[$1 >> 2] = jsvNewFromInteger(HEAP32[93935] == 1 ? -1 : HEAP32[93935] == 2); - HEAP32[$1 + 4 >> 2] = jsvNewFromInteger(HEAP32[93935] == 3 ? -1 : HEAP32[93935] == 4); - HEAP32[93935] = 0; + HEAP32[$1 >> 2] = jsvNewFromInteger(HEAP32[93963] == 1 ? -1 : HEAP32[93963] == 2); + HEAP32[$1 + 4 >> 2] = jsvNewFromInteger(HEAP32[93963] == 3 ? -1 : HEAP32[93963] == 4); + HEAP32[93963] = 0; jsiQueueObjectCallbacks(HEAP32[$0 + 348 >> 2], 122536, $0 + 60 | 0, 2); jsvUnLockMany(2, $0 + 60 | 0); } - if (HEAP32[93924] & 3145728) { - HEAP32[$0 + 52 >> 2] = jsvNewFromInteger(!!(HEAP32[93924] & 1048576) | (HEAP32[93924] & 2097152 ? 2 : 0)); + if (HEAP32[93952] & 3145728) { + HEAP32[$0 + 52 >> 2] = jsvNewFromInteger(!!(HEAP32[93952] & 1048576) | (HEAP32[93952] & 2097152 ? 2 : 0)); HEAP32[$0 + 56 >> 2] = jsvNewObject(); - HEAP32[$0 + 48 >> 2] = HEAP16[187865]; - HEAP32[$0 + 44 >> 2] = HEAP16[187866]; + HEAP32[$0 + 48 >> 2] = HEAP16[187921]; + HEAP32[$0 + 44 >> 2] = HEAP16[187922]; if (HEAP32[$0 + 48 >> 2] < 0) { HEAP32[$0 + 48 >> 2] = 0; } @@ -9648,50 +9663,50 @@ function jswrap_banglejs_idle() { } jsvObjectSetChildAndUnLock(HEAP32[$0 + 56 >> 2], 114319, jsvNewFromInteger(HEAP32[$0 + 48 >> 2])); jsvObjectSetChildAndUnLock(HEAP32[$0 + 56 >> 2], 114215, jsvNewFromInteger(HEAP32[$0 + 44 >> 2])); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 56 >> 2], 122531, jsvNewFromInteger(HEAPU8[375744])); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 56 >> 2], 122531, jsvNewFromInteger(HEAPU8[375856])); jsiQueueObjectCallbacks(HEAP32[$0 + 348 >> 2], 121017, $0 + 52 | 0, 2); jsvUnLockMany(2, $0 + 52 | 0); } } - if (HEAP32[93924] & 4194304) { + if (HEAP32[93952] & 4194304) { HEAP32[$0 + 40 >> 2] = jsvNewObject(); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 114319, jsvNewFromInteger(HEAP16[187865])); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 114215, jsvNewFromInteger(HEAP16[187866])); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 125411, jsvNewFromInteger(HEAP8[375734] & 1)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 114319, jsvNewFromInteger(HEAP16[187921])); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 114215, jsvNewFromInteger(HEAP16[187922])); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 125411, jsvNewFromInteger(HEAP8[375846] & 1)); $1 = HEAP32[$0 + 40 >> 2]; - if (HEAP8[375745] & 1) { - $2 = HEAP16[187865] - HEAP16[187873] | 0; + if (HEAP8[375857] & 1) { + $2 = HEAP16[187921] - HEAP16[187929] | 0; } else { $2 = 0; } jsvObjectSetChildAndUnLock($1, 114284, jsvNewFromInteger($2)); $1 = HEAP32[$0 + 40 >> 2]; - if (HEAP8[375745] & 1) { - $2 = HEAP16[187866] - HEAP16[187874] | 0; + if (HEAP8[375857] & 1) { + $2 = HEAP16[187922] - HEAP16[187930] | 0; } else { $2 = 0; } jsvObjectSetChildAndUnLock($1, 114042, jsvNewFromInteger($2)); jsiQueueObjectCallbacks(HEAP32[$0 + 348 >> 2], 121550, $0 + 40 | 0, 1); jsvUnLock(HEAP32[$0 + 40 >> 2]); - HEAP16[187873] = HEAPU16[187865]; - HEAP16[187874] = HEAPU16[187866]; - HEAP8[375745] = HEAP8[375734] & 1; + HEAP16[187929] = HEAPU16[187921]; + HEAP16[187930] = HEAPU16[187922]; + HEAP8[375857] = HEAP8[375846] & 1; } jsvUnLock(HEAP32[$0 + 348 >> 2]); - HEAP32[93924] = 0; - if ((HEAPU8[351536] | HEAPU8[351537] << 8) << 16 >> 16 >= (HEAPU8[351532] | HEAPU8[351533] << 8) << 16 >> 16) { + HEAP32[93952] = 0; + if ((HEAPU8[351648] | HEAPU8[351649] << 8) << 16 >> 16 >= (HEAPU8[351644] | HEAPU8[351645] << 8) << 16 >> 16) { graphicsInternalFlip(); } - if (!(HEAPU8[375824] | !HEAP32[93962])) { - jspromise_resolve(HEAP32[93962], 0); - jsvUnLock(HEAP32[93962]); - HEAP32[93962] = 0; + if (!(HEAPU8[375936] | !HEAP32[93990])) { + jspromise_resolve(HEAP32[93990], 0); + jsvUnLock(HEAP32[93990]); + HEAP32[93990] = 0; } - if (!(HEAPU16[187913] | !HEAP32[93961])) { - jspromise_resolve(HEAP32[93961], 0); - jsvUnLock(HEAP32[93961]); - HEAP32[93961] = 0; + if (!(HEAPU16[187969] | !HEAP32[93989])) { + jspromise_resolve(HEAP32[93989], 0); + jsvUnLock(HEAP32[93989]); + HEAP32[93989] = 0; } __stack_pointer = $0 + 352 | 0; return 0; @@ -9791,7 +9806,7 @@ function mbedtls_sha512_finish($0, $1) { $0 = 240 - HEAP32[$3 + 36 >> 2] | 0; } HEAP32[$3 + 32 >> 2] = $0; - mbedtls_sha512_update(HEAP32[$3 + 44 >> 2], 165312, HEAP32[$3 + 32 >> 2]); + mbedtls_sha512_update(HEAP32[$3 + 44 >> 2], 165424, HEAP32[$3 + 32 >> 2]); mbedtls_sha512_update(HEAP32[$3 + 44 >> 2], $3, 16); $1 = HEAP32[$3 + 44 >> 2]; $0 = HEAP32[$1 + 16 >> 2]; @@ -10254,36 +10269,36 @@ function _jswrap_graphics_parseImage($0, $1, $2, $3) { } label$33: { if (!(HEAPU8[HEAP32[$4 + 168 >> 2] + 16 | 0] != 16 | HEAP32[HEAP32[$4 + 156 >> 2] + 8 >> 2] != 3)) { - HEAP32[HEAP32[$4 + 156 >> 2] + 28 >> 2] = 173264; + HEAP32[HEAP32[$4 + 156 >> 2] + 28 >> 2] = 173376; HEAP32[HEAP32[$4 + 156 >> 2] + 32 >> 2] = 7; break label$33; } label$35: { if (!(HEAPU8[HEAP32[$4 + 168 >> 2] + 16 | 0] != 16 | HEAP32[HEAP32[$4 + 156 >> 2] + 8 >> 2] != 4)) { - HEAP32[HEAP32[$4 + 156 >> 2] + 28 >> 2] = 173296; + HEAP32[HEAP32[$4 + 156 >> 2] + 28 >> 2] = 173408; HEAP32[HEAP32[$4 + 156 >> 2] + 32 >> 2] = 15; break label$35; } label$37: { if (!(HEAPU8[HEAP32[$4 + 168 >> 2] + 16 | 0] != 16 | HEAP32[HEAP32[$4 + 156 >> 2] + 8 >> 2] != 8)) { - HEAP32[HEAP32[$4 + 156 >> 2] + 28 >> 2] = 173328; + HEAP32[HEAP32[$4 + 156 >> 2] + 28 >> 2] = 173440; HEAP32[HEAP32[$4 + 156 >> 2] + 32 >> 2] = 255; break label$37; } label$39: { if (!(HEAPU8[HEAP32[$4 + 168 >> 2] + 16 | 0] != 8 | HEAP32[HEAP32[$4 + 156 >> 2] + 8 >> 2] != 4)) { - HEAP32[HEAP32[$4 + 156 >> 2] + 28 >> 2] = 173840; + HEAP32[HEAP32[$4 + 156 >> 2] + 28 >> 2] = 173952; HEAP32[HEAP32[$4 + 156 >> 2] + 32 >> 2] = 15; break label$39; } label$41: { if (!(HEAPU8[HEAP32[$4 + 168 >> 2] + 16 | 0] != 8 | HEAP32[HEAP32[$4 + 156 >> 2] + 8 >> 2] != 3)) { - HEAP32[HEAP32[$4 + 156 >> 2] + 28 >> 2] = 173872; + HEAP32[HEAP32[$4 + 156 >> 2] + 28 >> 2] = 173984; HEAP32[HEAP32[$4 + 156 >> 2] + 32 >> 2] = 7; break label$41; } if (!(HEAPU8[HEAP32[$4 + 168 >> 2] + 16 | 0] != 4 | HEAP32[HEAP32[$4 + 156 >> 2] + 8 >> 2] != 3)) { - HEAP32[HEAP32[$4 + 156 >> 2] + 28 >> 2] = 173888; + HEAP32[HEAP32[$4 + 156 >> 2] + 28 >> 2] = 174e3; HEAP32[HEAP32[$4 + 156 >> 2] + 32 >> 2] = 7; } } @@ -10416,15 +10431,15 @@ function jsiHandleChar($0) { label$1: { if (jsiPasswordProtected() & 1) { if (!(HEAP8[$1 + 31 | 0] != 13 & HEAP8[$1 + 31 | 0] != 10)) { - HEAP32[$1 + 24 >> 2] = jsvObjectGetChildIfExists(HEAP32[87259], 123106); + HEAP32[$1 + 24 >> 2] = jsvObjectGetChildIfExists(HEAP32[87287], 123106); label$5: { if (!HEAP32[$1 + 24 >> 2]) { break label$5; } - if (jsvCompareString(HEAP32[87276], HEAP32[$1 + 24 >> 2], 0, 0, 0)) { + if (jsvCompareString(HEAP32[87304], HEAP32[$1 + 24 >> 2], 0, 0, 0)) { break label$5; } - HEAP16[174550] = HEAPU16[174550] & -1025; + HEAP16[174606] = HEAPU16[174606] & -1025; } jsvUnLock(HEAP32[$1 + 24 >> 2]); jsiClearInputLine(0); @@ -10433,21 +10448,21 @@ function jsiHandleChar($0) { jsiConsolePrintString(127888); break label$6; } - jsiConsolePrintString(148041); - HEAP8[349108] = 1; + jsiConsolePrintString(148139); + HEAP8[349220] = 1; jsiConsoleReturnInputLine(); } break label$1; } HEAP8[$1 + 22 | 0] = HEAPU8[$1 + 31 | 0]; HEAP8[$1 + 23 | 0] = 0; - if (jsvGetStringLength(HEAP32[87276]) >>> 0 < 20) { + if (jsvGetStringLength(HEAP32[87304]) >>> 0 < 20) { jsiAppendToInputLine($1 + 22 | 0); } break label$1; } if (!HEAP8[$1 + 31 | 0]) { - HEAP8[349116] = 0; + HEAP8[349228] = 0; break label$1; } label$10: { @@ -10472,20 +10487,20 @@ function jsiHandleChar($0) { } label$19: { if (HEAP8[$1 + 31 | 0] == 27) { - HEAP8[349116] = 2; + HEAP8[349228] = 2; break label$19; } label$21: { - if (HEAPU8[349116] == 2) { - HEAP8[349116] = 0; + if (HEAPU8[349228] == 2) { + HEAP8[349228] = 0; label$23: { if (HEAP8[$1 + 31 | 0] == 79) { - HEAP8[349116] = 3; + HEAP8[349228] = 3; break label$23; } label$25: { if (HEAP8[$1 + 31 | 0] == 91) { - HEAP8[349116] = 4; + HEAP8[349228] = 4; break label$25; } if (HEAP8[$1 + 31 | 0] == 10) { @@ -10496,8 +10511,8 @@ function jsiHandleChar($0) { break label$21; } label$28: { - if (HEAPU8[349116] == 3) { - HEAP8[349116] = 0; + if (HEAPU8[349228] == 3) { + HEAP8[349228] = 0; label$30: { if (HEAP8[$1 + 31 | 0] == 70) { jsiHandleEnd(); @@ -10540,23 +10555,23 @@ function jsiHandleChar($0) { break label$28; } label$43: { - if (HEAPU8[349116] == 4) { - HEAP8[349116] = 0; + if (HEAPU8[349228] == 4) { + HEAP8[349228] = 0; label$45: { if (!(HEAP8[$1 + 31 | 0] < 48 | HEAP8[$1 + 31 | 0] > 57)) { - HEAP16[174588] = HEAP8[$1 + 31 | 0] - 48; - HEAP8[349116] = 5; + HEAP16[174644] = HEAP8[$1 + 31 | 0] - 48; + HEAP8[349228] = 5; break label$45; } label$47: { if (HEAP8[$1 + 31 | 0] == 68) { - if (!HEAP32[87278]) { + if (!HEAP32[87306]) { break label$47; } - if ((jsvGetCharInString(HEAP32[87276], HEAP32[87278] - 1 | 0) | 0) == 10) { + if ((jsvGetCharInString(HEAP32[87304], HEAP32[87306] - 1 | 0) | 0) == 10) { break label$47; } - HEAP32[87278] = HEAP32[87278] - 1; + HEAP32[87306] = HEAP32[87306] - 1; if (jsiShowInputLine() & 1) { jsiConsolePrintString(127490); } @@ -10564,13 +10579,13 @@ function jsiHandleChar($0) { } label$50: { if (HEAP8[$1 + 31 | 0] == 67) { - if (HEAPU32[87278] >= jsvGetStringLength(HEAP32[87276]) >>> 0) { + if (HEAPU32[87306] >= jsvGetStringLength(HEAP32[87304]) >>> 0) { break label$50; } - if ((jsvGetCharInString(HEAP32[87276], HEAP32[87278]) | 0) == 10) { + if ((jsvGetCharInString(HEAP32[87304], HEAP32[87306]) | 0) == 10) { break label$50; } - HEAP32[87278] = HEAP32[87278] + 1; + HEAP32[87306] = HEAP32[87306] + 1; if (jsiShowInputLine() & 1) { jsiConsolePrintString(127688); } @@ -10578,15 +10593,15 @@ function jsiHandleChar($0) { } label$53: { if (HEAP8[$1 + 31 | 0] == 65) { - HEAP32[$1 + 16 >> 2] = jsvGetStringLength(HEAP32[87276]); + HEAP32[$1 + 16 >> 2] = jsvGetStringLength(HEAP32[87304]); label$55: { label$56: { if (HEAP32[$1 + 16 >> 2]) { - if (!(jsiIsInHistory(HEAP32[87276]) & 1)) { + if (!(jsiIsInHistory(HEAP32[87304]) & 1)) { break label$56; } } - if (HEAP32[87278] != HEAP32[$1 + 16 >> 2]) { + if (HEAP32[87306] != HEAP32[$1 + 16 >> 2]) { break label$56; } jsiChangeToHistory(1); @@ -10598,15 +10613,15 @@ function jsiHandleChar($0) { } label$58: { if (HEAP8[$1 + 31 | 0] == 66) { - HEAP32[$1 + 12 >> 2] = jsvGetStringLength(HEAP32[87276]); + HEAP32[$1 + 12 >> 2] = jsvGetStringLength(HEAP32[87304]); label$60: { label$61: { if (HEAP32[$1 + 12 >> 2]) { - if (!(jsiIsInHistory(HEAP32[87276]) & 1)) { + if (!(jsiIsInHistory(HEAP32[87304]) & 1)) { break label$61; } } - if (HEAP32[87278] != HEAP32[$1 + 12 >> 2]) { + if (HEAP32[87306] != HEAP32[$1 + 12 >> 2]) { break label$61; } jsiChangeToHistory(0); @@ -10633,45 +10648,45 @@ function jsiHandleChar($0) { break label$43; } label$66: { - if (HEAPU8[349116] == 5) { + if (HEAPU8[349228] == 5) { if (!(HEAP8[$1 + 31 | 0] < 48 | HEAP8[$1 + 31 | 0] > 57)) { - HEAP16[174588] = (HEAP8[$1 + 31 | 0] + Math_imul(HEAPU16[174588], 10) | 0) - 48; + HEAP16[174644] = (HEAP8[$1 + 31 | 0] + Math_imul(HEAPU16[174644], 10) | 0) - 48; break label$66; } label$69: { if (HEAP8[$1 + 31 | 0] == 100) { - HEAP16[174562] = HEAPU16[174588]; + HEAP16[174618] = HEAPU16[174644]; break label$69; } label$71: { if (HEAP8[$1 + 31 | 0] == 72) { - if (HEAPU16[174588] == 2) { + if (HEAPU16[174644] == 2) { jsiClearInputLine(1); } break label$71; } if (HEAP8[$1 + 31 | 0] == 126) { label$75: { - if (HEAPU16[174588] == 1) { + if (HEAPU16[174644] == 1) { jsiHandleHome(); break label$75; } label$77: { - if (HEAPU16[174588] == 3) { + if (HEAPU16[174644] == 3) { jsiHandleDelete(0); break label$77; } label$79: { - if (HEAPU16[174588] == 4) { + if (HEAPU16[174644] == 4) { jsiHandleEnd(); break label$79; } label$81: { - if (HEAPU16[174588] == 5) { + if (HEAPU16[174644] == 5) { jsiHandlePageUpDown(0); break label$81; } - if (HEAPU16[174588] == 6) { + if (HEAPU16[174644] == 6) { jsiHandlePageUpDown(1); } } @@ -10681,7 +10696,7 @@ function jsiHandleChar($0) { } } } - HEAP8[349116] = 0; + HEAP8[349228] = 0; break label$66; } label$84: { @@ -10689,27 +10704,27 @@ function jsiHandleChar($0) { if (HEAP8[$1 + 31 | 0] != 16) { break label$85; } - if (jsvGetStringLength(HEAP32[87276])) { + if (jsvGetStringLength(HEAP32[87304])) { break label$85; } - HEAP16[174550] = HEAPU16[174550] | 2; + HEAP16[174606] = HEAPU16[174606] | 2; break label$84; } - HEAP8[349116] = 0; + HEAP8[349228] = 0; label$86: { if (!(HEAP8[$1 + 31 | 0] != 8 & HEAP8[$1 + 31 | 0] != 127)) { jsiHandleDelete(1); break label$86; } label$89: { - if (!(HEAP8[$1 + 31 | 0] != 10 | HEAPU8[349116] != 1)) { - HEAP8[349116] = 0; + if (!(HEAP8[$1 + 31 | 0] != 10 | HEAPU8[349228] != 1)) { + HEAP8[349228] = 0; break label$89; } label$91: { if (!(HEAP8[$1 + 31 | 0] != 13 & HEAP8[$1 + 31 | 0] != 10)) { if (HEAP8[$1 + 31 | 0] == 13) { - HEAP8[349116] = 1; + HEAP8[349228] = 1; } jsiHandleNewLine(1); break label$91; @@ -10728,7 +10743,7 @@ function jsiHandleChar($0) { if (!(HEAP8[$1 + 31 | 0] != 9 & HEAPU8[$1 + 31 | 0] < 32)) { HEAP8[$1 + 10 | 0] = HEAPU8[$1 + 31 | 0]; HEAP8[$1 + 11 | 0] = 0; - HEAP32[$1 + 4 >> 2] = HEAP8[$1 + 31 | 0] == 9 ? 146860 : $1 + 10 | 0; + HEAP32[$1 + 4 >> 2] = HEAP8[$1 + 31 | 0] == 9 ? 146958 : $1 + 10 | 0; jsiAppendStringToInputLine(HEAP32[$1 + 4 >> 2]); } } @@ -10756,14 +10771,14 @@ function __rem_pio2_large($0, $1, $2, $3, $4) { $7 = ($2 - 3 | 0) / 24 | 0; $18 = ($7 | 0) > 0 ? $7 : 0; $13 = Math_imul($18, -24) + $2 | 0; - $12 = HEAP32[($4 << 2) + 177488 >> 2]; + $12 = HEAP32[($4 << 2) + 177600 >> 2]; $15 = $3 - 1 | 0; if (($12 + $15 | 0) >= 0) { $6 = $3 + $12 | 0; $2 = $18 - $15 | 0; $7 = 0; while (1) { - $5 = ($2 | 0) < 0 ? 0 : +HEAP32[($2 << 2) + 177504 >> 2]; + $5 = ($2 | 0) < 0 ? 0 : +HEAP32[($2 << 2) + 177616 >> 2]; HEAPF64[($8 + 320 | 0) + ($7 << 3) >> 3] = $5; $2 = $2 + 1 | 0; $7 = $7 + 1 | 0; @@ -10993,7 +11008,7 @@ function __rem_pio2_large($0, $1, $2, $3, $4) { while (1) { $7 = $3 + $6 | 0; $6 = $6 + 1 | 0; - HEAPF64[($8 + 320 | 0) + ($7 << 3) >> 3] = HEAP32[($18 + $6 << 2) + 177504 >> 2]; + HEAPF64[($8 + 320 | 0) + ($7 << 3) >> 3] = HEAP32[($18 + $6 << 2) + 177616 >> 2]; $2 = 0; $5 = 0; if (($3 | 0) > 0) { @@ -11079,7 +11094,7 @@ function __rem_pio2_large($0, $1, $2, $3, $4) { $2 = 0; $5 = 0; while (1) { - $5 = HEAPF64[($2 << 3) + 180272 >> 3] * HEAPF64[($2 + $7 << 3) + $8 >> 3] + $5; + $5 = HEAPF64[($2 << 3) + 180384 >> 3] * HEAPF64[($2 + $7 << 3) + $8 >> 3] + $5; $3 = ($0 | 0) != ($2 | 0); $2 = $2 + 1 | 0; if ($3) { @@ -11240,12 +11255,12 @@ function jspeStatementFor() { if (!(jslMatch(40) & 1)) { break label$1; } - HEAP8[$0 + 427 | 0] = (HEAP32[87266] & 512) != 0; - HEAP32[87266] = HEAP32[87266] | 256; + HEAP8[$0 + 427 | 0] = (HEAP32[87294] & 512) != 0; + HEAP32[87294] = HEAP32[87294] | 256; HEAP32[$0 + 420 >> 2] = jspeBlockStart(); HEAP32[$0 + 416 >> 2] = 0; - HEAP8[$0 + 415 | 0] = HEAP16[HEAP32[45251] + 2 >> 1] == 174; - if (HEAP16[HEAP32[45251] + 2 >> 1] != 59) { + HEAP8[$0 + 415 | 0] = HEAP16[HEAP32[45279] + 2 >> 1] == 174; + if (HEAP16[HEAP32[45279] + 2 >> 1] != 59) { HEAP32[$0 + 416 >> 2] = jspeStatement(); } if (jspIsInterrupted() & 1) { @@ -11253,12 +11268,12 @@ function jspeStatementFor() { jspeBlockEnd(HEAP32[$0 + 420 >> 2]); break label$1; } - HEAP32[87266] = HEAP32[87266] & -257; + HEAP32[87294] = HEAP32[87294] & -257; label$5: { - if (!(HEAP16[HEAP32[45251] + 2 >> 1] != 185 & HEAP16[HEAP32[45251] + 2 >> 1] != 198)) { - HEAP8[$0 + 414 | 0] = HEAP16[HEAP32[45251] + 2 >> 1] == 198; + if (!(HEAP16[HEAP32[45279] + 2 >> 1] != 185 & HEAP16[HEAP32[45279] + 2 >> 1] != 198)) { + HEAP8[$0 + 414 | 0] = HEAP16[HEAP32[45279] + 2 >> 1] == 198; label$8: { - if ((HEAP32[87266] & 63) != 1) { + if ((HEAP32[87294] & 63) != 1) { break label$8; } if (jsvIsName(HEAP32[$0 + 416 >> 2]) & 1) { @@ -11281,16 +11296,16 @@ function jspeStatementFor() { jspeBlockEnd(HEAP32[$0 + 420 >> 2]); break label$1; } - HEAP32[$0 + 364 >> 2] = HEAP32[87266]; + HEAP32[$0 + 364 >> 2] = HEAP32[87294]; jspSetNoExecute(); - HEAP32[87266] = HEAP32[87266] | 512; + HEAP32[87294] = HEAP32[87294] | 512; jsvUnLock(jspeBlockOrStatement()); - jslCharPosNew($0 + 320 | 0, HEAP32[HEAP32[45251] + 84 >> 2], HEAP32[HEAP32[45251] + 4 >> 2]); + jslCharPosNew($0 + 320 | 0, HEAP32[HEAP32[45279] + 84 >> 2], HEAP32[HEAP32[45279] + 4 >> 2]); if (!(HEAP8[$0 + 427 | 0] & 1)) { - HEAP32[87266] = HEAP32[87266] & -513; + HEAP32[87294] = HEAP32[87294] & -513; } - HEAP32[87266] = HEAP32[87266] & -1664 | HEAP32[$0 + 364 >> 2] & 1663; - if ((HEAP32[87266] & 63) == 1) { + HEAP32[87294] = HEAP32[87294] & -1664 | HEAP32[$0 + 364 >> 2] & 1663; + if ((HEAP32[87294] & 63) == 1) { label$12: { if (jsvIsIterable(HEAP32[$0 + 408 >> 2]) & 1) { HEAP32[$0 + 316 >> 2] = jsvGetInternalFunctionCheckerFor(HEAP32[$0 + 408 >> 2]); @@ -11303,7 +11318,7 @@ function jspeStatementFor() { while (1) { $1 = 0; label$16: { - if ((HEAP32[87266] & 63) != 1) { + if ((HEAP32[87294] & 63) != 1) { break label$16; } $1 = 0; @@ -11360,11 +11375,11 @@ function jspeStatementFor() { } jsvUnLock(HEAP32[$0 + 232 >> 2]); jslSeekToP($0 + 368 | 0); - HEAP32[87266] = HEAP32[87266] | 512; + HEAP32[87294] = HEAP32[87294] | 512; jspDebuggerLoopIfCtrlC(); jsvUnLock(jspeBlockOrStatement()); if (!(HEAP8[$0 + 427 | 0] & 1)) { - HEAP32[87266] = HEAP32[87266] & -513; + HEAP32[87294] = HEAP32[87294] & -513; } HEAP8[$0 + 247 | 0] = jspeCheckBreakContinue() & 1 | HEAP8[$0 + 247 | 0] & 1; } @@ -11409,9 +11424,9 @@ function jspeStatementFor() { jspeBlockEnd(HEAP32[$0 + 420 >> 2]); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] != 59) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 59) { HEAP32[$0 + 180 >> 2] = jspeExpression(); - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { $1 = jsvGetBoolAndUnLock(jsvSkipName(HEAP32[$0 + 180 >> 2])); } HEAP8[$0 + 227 | 0] = $1 & 1; @@ -11424,11 +11439,11 @@ function jspeStatementFor() { jspeBlockEnd(HEAP32[$0 + 420 >> 2]); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] != 41) { - HEAP32[$0 + 132 >> 2] = HEAP32[87266]; + if (HEAP16[HEAP32[45279] + 2 >> 1] != 41) { + HEAP32[$0 + 132 >> 2] = HEAP32[87294]; jspSetNoExecute(); jsvUnLock(jspeExpression()); - HEAP32[87266] = HEAP32[87266] & -1664 | HEAP32[$0 + 132 >> 2] & 1663; + HEAP32[87294] = HEAP32[87294] & -1664 | HEAP32[$0 + 132 >> 2] & 1663; } jslSkipWhiteSpace(); jslCharPosFromLex($0 + 88 | 0); @@ -11439,29 +11454,29 @@ function jspeStatementFor() { jspeBlockEnd(HEAP32[$0 + 420 >> 2]); break label$1; } - HEAP32[$0 + 84 >> 2] = HEAP32[87266]; + HEAP32[$0 + 84 >> 2] = HEAP32[87294]; if (!(HEAP8[$0 + 227 | 0] & 1)) { jspSetNoExecute(); } - HEAP32[87266] = HEAP32[87266] | 512; + HEAP32[87294] = HEAP32[87294] | 512; jsvUnLock(jspeBlockOrStatement()); jslSkipWhiteSpace(); - jslCharPosNew($0 + 40 | 0, HEAP32[HEAP32[45251] + 84 >> 2], HEAP32[HEAP32[45251] + 4 >> 2]); + jslCharPosNew($0 + 40 | 0, HEAP32[HEAP32[45279] + 84 >> 2], HEAP32[HEAP32[45279] + 4 >> 2]); if (!(HEAP8[$0 + 427 | 0] & 1)) { - HEAP32[87266] = HEAP32[87266] & -513; + HEAP32[87294] = HEAP32[87294] & -513; } - if (!(!(HEAP8[$0 + 227 | 0] & 1) & (HEAP32[87266] & 63) == 1)) { + if (!(!(HEAP8[$0 + 227 | 0] & 1) & (HEAP32[87294] & 63) == 1)) { HEAP8[$0 + 226 | 0] = jspeCheckBreakContinue() & 1 | HEAP8[$0 + 226 | 0] & 1; if (HEAP8[$0 + 226 | 0] & 1) { HEAP8[$0 + 227 | 0] = 0; } } if (!(HEAP8[$0 + 227 | 0] & 1)) { - HEAP32[87266] = HEAP32[87266] & -1664 | HEAP32[$0 + 84 >> 2] & 1663; + HEAP32[87294] = HEAP32[87294] & -1664 | HEAP32[$0 + 84 >> 2] & 1663; } if (HEAP8[$0 + 227 | 0] & 1) { jslSeekToP($0 + 136 | 0); - if (HEAP16[HEAP32[45251] + 2 >> 1] != 41) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 41) { jsvUnLock(jspeExpression()); } } @@ -11472,7 +11487,7 @@ function jspeStatementFor() { break label$45; } $1 = 0; - if ((HEAP32[87266] & 63) != 1) { + if ((HEAP32[87294] & 63) != 1) { break label$45; } $1 = HEAPU8[$0 + 227 | 0]; @@ -11480,7 +11495,7 @@ function jspeStatementFor() { if ($1 & 1) { jslSeekToP($0 + 184 | 0); label$47: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 59) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 59) { HEAP8[$0 + 227 | 0] = 1; break label$47; } @@ -11488,19 +11503,19 @@ function jspeStatementFor() { HEAP8[$0 + 227 | 0] = jsvGetBoolAndUnLock(jsvSkipName(HEAP32[$0 + 36 >> 2])) & 1; jsvUnLock(HEAP32[$0 + 36 >> 2]); } - if (!(!(HEAP8[$0 + 227 | 0] & 1) | (HEAP32[87266] & 63) != 1)) { + if (!(!(HEAP8[$0 + 227 | 0] & 1) | (HEAP32[87294] & 63) != 1)) { jslSeekToP($0 + 88 | 0); - HEAP32[87266] = HEAP32[87266] | 512; + HEAP32[87294] = HEAP32[87294] | 512; jspDebuggerLoopIfCtrlC(); jsvUnLock(jspeBlockOrStatement()); if (!(HEAP8[$0 + 427 | 0] & 1)) { - HEAP32[87266] = HEAP32[87266] & -513; + HEAP32[87294] = HEAP32[87294] & -513; } HEAP8[$0 + 226 | 0] = jspeCheckBreakContinue() & 1 | HEAP8[$0 + 226 | 0] & 1; } - if (!(HEAP8[$0 + 226 | 0] & 1 | (!(HEAP8[$0 + 227 | 0] & 1) | (HEAP32[87266] & 63) != 1))) { + if (!(HEAP8[$0 + 226 | 0] & 1 | (!(HEAP8[$0 + 227 | 0] & 1) | (HEAP32[87294] & 63) != 1))) { jslSeekToP($0 + 136 | 0); - if (HEAP16[HEAP32[45251] + 2 >> 1] != 41) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 41) { jsvUnLock(jspeExpression()); } } @@ -11610,7 +11625,7 @@ function jswrap_graphics_asBMP_X($0, $1) { HEAP32[$2 + 96 >> 2] = 0; while (1) { if (HEAP32[$2 + 96 >> 2] < 16) { - HEAP32[$2 + 92 >> 2] = HEAPU16[(HEAP32[$2 + 96 >> 2] << 1) + 173296 >> 1]; + HEAP32[$2 + 92 >> 2] = HEAPU16[(HEAP32[$2 + 96 >> 2] << 1) + 173408 >> 1]; HEAP8[HEAP32[$2 + 104 >> 2] + (Math_imul(HEAP32[$2 + 96 >> 2], 3) + 26 | 0) | 0] = HEAP32[$2 + 92 >> 2] << 3 & 248; HEAP8[HEAP32[$2 + 104 >> 2] + (Math_imul(HEAP32[$2 + 96 >> 2], 3) + 27 | 0) | 0] = HEAP32[$2 + 92 >> 2] >> 3 & 252; HEAP8[HEAP32[$2 + 104 >> 2] + (Math_imul(HEAP32[$2 + 96 >> 2], 3) + 28 | 0) | 0] = HEAP32[$2 + 92 >> 2] >> 8 & 248; @@ -11626,7 +11641,7 @@ function jswrap_graphics_asBMP_X($0, $1) { HEAP32[$2 + 88 >> 2] = 0; while (1) { if (HEAP32[$2 + 88 >> 2] < 255) { - HEAP32[$2 + 84 >> 2] = HEAPU16[(HEAP32[$2 + 88 >> 2] << 1) + 173328 >> 1]; + HEAP32[$2 + 84 >> 2] = HEAPU16[(HEAP32[$2 + 88 >> 2] << 1) + 173440 >> 1]; HEAP8[HEAP32[$2 + 104 >> 2] + (Math_imul(HEAP32[$2 + 88 >> 2], 3) + 26 | 0) | 0] = HEAP32[$2 + 84 >> 2] << 3 & 248; HEAP8[HEAP32[$2 + 104 >> 2] + (Math_imul(HEAP32[$2 + 88 >> 2], 3) + 27 | 0) | 0] = HEAP32[$2 + 84 >> 2] >> 3 & 252; HEAP8[HEAP32[$2 + 104 >> 2] + (Math_imul(HEAP32[$2 + 88 >> 2], 3) + 28 | 0) | 0] = HEAP32[$2 + 84 >> 2] >> 8 & 248; @@ -11752,7 +11767,7 @@ function jswrap_graphics_asBMP_X($0, $1) { break; } if (HEAP8[$2 + 231 | 0] & 1) { - jsiConsolePrintf(148653, 0); + jsiConsolePrintf(148751, 0); jsvUnLock(HEAP32[$2 + 108 >> 2]); HEAP32[$2 + 236 >> 2] = 0; break label$1; @@ -11767,31 +11782,31 @@ function jswrap_banglejs_init() { var $0 = 0, $1 = 0, $2 = 0; $0 = __stack_pointer - 272 | 0; __stack_pointer = $0; - HEAP8[$0 + 270 | 0] = (HEAPU16[174550] & 4096) != 0; + HEAP8[$0 + 270 | 0] = (HEAPU16[174606] & 4096) != 0; HEAP8[$0 + 269 | 0] = 0; if (HEAP8[$0 + 270 | 0] & 1) { - HEAP32[93921] = 196686; - HEAP8[375750] = 255; - HEAP32[93943] = 0; - healthStateClear(375776); - healthStateClear(375792); - healthStateClear(375808); + HEAP32[93949] = 196686; + HEAP8[375862] = 255; + HEAP32[93971] = 0; + healthStateClear(375888); + healthStateClear(375904); + healthStateClear(375920); if (jshPinGetValue(17) & 1) { HEAP8[$0 + 269 | 0] = 1; } } - HEAP32[93921] = HEAP32[93921] | 2048; - HEAP16[187854] = 0; - HEAP32[93938] = 1500; - HEAP32[93923] = 0; - HEAP32[93925] = 3e3; - HEAP32[93926] = 5e3; - HEAP8[375714] = 0; + HEAP32[93949] = HEAP32[93949] | 2048; + HEAP16[187910] = 0; + HEAP32[93966] = 1500; + HEAP32[93951] = 0; + HEAP32[93953] = 3e3; + HEAP32[93954] = 5e3; + HEAP8[375826] = 0; if (jshPinGetValue(17) & 1) { - HEAP8[375714] = 1; + HEAP8[375826] = 1; } - HEAP8[375824] = 0; - HEAP16[187913] = 0; + HEAP8[375936] = 0; + HEAP16[187969] = 0; if (!(HEAP8[$0 + 269 | 0] & 1)) { HEAP32[$0 + 264 >> 2] = jsvNewFromString(119633); HEAP32[$0 + 260 >> 2] = jswrap_storage_readJSON(HEAP32[$0 + 264 >> 2], 1); @@ -11812,11 +11827,11 @@ function jswrap_banglejs_init() { if (jsvGetBool(HEAP32[$0 + 256 >> 2]) & 1) { break label$8; } - HEAP32[93921] = HEAP32[93921] & -257; + HEAP32[93949] = HEAP32[93949] & -257; break label$7; } - HEAP32[93921] = HEAP32[93921] | 256; - HEAP32[93921] = HEAP32[93921] | 128; + HEAP32[93949] = HEAP32[93949] | 256; + HEAP32[93949] = HEAP32[93949] | 128; } jsvUnLock(HEAP32[$0 + 256 >> 2]); label$9: { @@ -11835,10 +11850,10 @@ function jswrap_banglejs_init() { if (jsvGetBool(HEAP32[$0 + 256 >> 2]) & 1) { break label$12; } - HEAP32[93921] = HEAP32[93921] & -513; + HEAP32[93949] = HEAP32[93949] & -513; break label$11; } - HEAP32[93921] = HEAP32[93921] | 512; + HEAP32[93949] = HEAP32[93949] | 512; } jsvUnLock(HEAP32[$0 + 256 >> 2]); jswrap_banglejs_setTheme(); @@ -11852,24 +11867,24 @@ function jswrap_banglejs_init() { HEAP32[$0 + 256 >> 2] = $1; if (jsvIsObject(HEAP32[$0 + 256 >> 2]) & 1) { $1 = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 121536); - HEAP8[351476] = $1; - HEAP8[351477] = $1 >>> 8; + HEAP8[351588] = $1; + HEAP8[351589] = $1 >>> 8; $1 = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 121540); - HEAP8[351478] = $1; - HEAP8[351479] = $1 >>> 8; - $1 = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 128797); - HEAP8[351480] = $1; - HEAP8[351481] = $1 >>> 8; - $1 = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 128801); - HEAP8[351482] = $1; - HEAP8[351483] = $1 >>> 8; + HEAP8[351590] = $1; + HEAP8[351591] = $1 >>> 8; + $1 = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 128787); + HEAP8[351592] = $1; + HEAP8[351593] = $1 >>> 8; + $1 = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 128791); + HEAP8[351594] = $1; + HEAP8[351595] = $1 >>> 8; $1 = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 127143); - HEAP8[351484] = $1; - HEAP8[351485] = $1 >>> 8; + HEAP8[351596] = $1; + HEAP8[351597] = $1 >>> 8; $1 = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 127147); - HEAP8[351486] = $1; - HEAP8[351487] = $1 >>> 8; - HEAP8[351488] = jsvObjectGetBoolChild(HEAP32[$0 + 256 >> 2], 120610) & 1; + HEAP8[351598] = $1; + HEAP8[351599] = $1 >>> 8; + HEAP8[351600] = jsvObjectGetBoolChild(HEAP32[$0 + 256 >> 2], 120610) & 1; } jsvUnLock(HEAP32[$0 + 256 >> 2]); label$16: { @@ -11881,28 +11896,28 @@ function jswrap_banglejs_init() { } HEAP32[$0 + 256 >> 2] = $1; if (jsvIsObject(HEAP32[$0 + 256 >> 2]) & 1) { - HEAP16[187840] = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 129093); - HEAP16[187841] = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 129090); - HEAP16[90183] = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 128786); - HEAP16[90184] = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 128783); + HEAP16[187896] = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 129083); + HEAP16[187897] = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 129080); + HEAP16[90239] = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 128776); + HEAP16[90240] = jsvObjectGetIntegerChild(HEAP32[$0 + 256 >> 2], 128773); } jsvUnLock(HEAP32[$0 + 256 >> 2]); jsvUnLock(HEAP32[$0 + 260 >> 2]); } jswrap_banglejs_setLCDOffset(0); - graphicsStructResetState(351492); + graphicsStructResetState(351604); HEAP32[$0 + 252 >> 2] = jspNewObject(0, 118180); label$19: { if (!HEAP32[$0 + 252 >> 2]) { break label$19; } - jsvObjectSetChild(HEAP32[87258], 121576, HEAP32[$0 + 252 >> 2]); - jsvObjectSetChild(HEAP32[87259], 114241, HEAP32[$0 + 252 >> 2]); + jsvObjectSetChild(HEAP32[87286], 121576, HEAP32[$0 + 252 >> 2]); + jsvObjectSetChild(HEAP32[87287], 114241, HEAP32[$0 + 252 >> 2]); $1 = HEAP32[$0 + 252 >> 2]; - HEAP8[351492] = $1; - HEAP8[351493] = $1 >>> 8; - HEAP8[351494] = $1 >>> 16; - HEAP8[351495] = $1 >>> 24; + HEAP8[351604] = $1; + HEAP8[351605] = $1 >>> 8; + HEAP8[351606] = $1 >>> 16; + HEAP8[351607] = $1 >>> 24; HEAP32[$0 + 248 >> 2] = jsvNewNativeFunction(592, 32792); jsvObjectSetChildAndUnLock(HEAP32[$0 + 252 >> 2], 119482, HEAP32[$0 + 248 >> 2]); label$20: { @@ -11911,7 +11926,7 @@ function jswrap_banglejs_init() { } } HEAP8[$0 + 247 | 0] = 1; - if (HEAPU16[174550] & 64) { + if (HEAPU16[174606] & 64) { HEAP8[$0 + 247 | 0] = 0; if (!(HEAP8[$0 + 270 | 0] & 1 | HEAP8[$0 + 269 | 0] & 1)) { jsfNameFromString($0 + 208 | 0, 121527); @@ -11941,19 +11956,19 @@ function jswrap_banglejs_init() { } HEAP32[$0 + 196 >> 2] = 88; HEAP32[$0 + 192 >> 2] = 88; - graphicsFillRect(351492, HEAP32[$0 + 196 >> 2] - 49 | 0, HEAP32[$0 + 192 >> 2] - 19 | 0, HEAP32[$0 + 196 >> 2] + 49 | 0, HEAP32[$0 + 192 >> 2] + 19 | 0, HEAPU8[351478] | HEAPU8[351479] << 8); - $1 = HEAPU8[351476] | HEAPU8[351477] << 8; - HEAP8[351509] = $1; - HEAP8[351510] = $1 >>> 8; - HEAP8[351511] = $1 >>> 16; - HEAP8[351512] = $1 >>> 24; - graphicsDrawRect(351492, HEAP32[$0 + 196 >> 2] - 50 | 0, HEAP32[$0 + 192 >> 2] - 20 | 0, HEAP32[$0 + 196 >> 2] + 50 | 0, HEAP32[$0 + 192 >> 2] + 20 | 0); + graphicsFillRect(351604, HEAP32[$0 + 196 >> 2] - 49 | 0, HEAP32[$0 + 192 >> 2] - 19 | 0, HEAP32[$0 + 196 >> 2] + 49 | 0, HEAP32[$0 + 192 >> 2] + 19 | 0, HEAPU8[351590] | HEAPU8[351591] << 8); + $1 = HEAPU8[351588] | HEAPU8[351589] << 8; + HEAP8[351621] = $1; + HEAP8[351622] = $1 >>> 8; + HEAP8[351623] = $1 >>> 16; + HEAP8[351624] = $1 >>> 24; + graphicsDrawRect(351604, HEAP32[$0 + 196 >> 2] - 50 | 0, HEAP32[$0 + 192 >> 2] - 20 | 0, HEAP32[$0 + 196 >> 2] + 50 | 0, HEAP32[$0 + 192 >> 2] + 20 | 0); HEAP32[$0 + 192 >> 2] = HEAP32[$0 + 192 >> 2] - 4; HEAP32[$0 + 196 >> 2] = HEAP32[$0 + 196 >> 2] - 24; HEAP32[$0 + 188 >> 2] = 130261; while (1) { if (HEAPU8[HEAP32[$0 + 188 >> 2]]) { - graphicsDrawChar6x8(351492, HEAP32[$0 + 196 >> 2], HEAP32[$0 + 192 >> 2], HEAP8[HEAP32[$0 + 188 >> 2]], 1, 1, 0); + graphicsDrawChar6x8(351604, HEAP32[$0 + 196 >> 2], HEAP32[$0 + 192 >> 2], HEAP8[HEAP32[$0 + 188 >> 2]], 1, 1, 0); HEAP32[$0 + 196 >> 2] = HEAP32[$0 + 196 >> 2] + 6; HEAP32[$0 + 188 >> 2] = HEAP32[$0 + 188 >> 2] + 1; continue; @@ -11968,9 +11983,9 @@ function jswrap_banglejs_init() { HEAP8[$0 + 247 | 0] = 0; } if (HEAP8[$0 + 247 | 0] & 1) { - HEAP8[351517] = 1; - HEAP8[351518] = 64; - graphicsClear(351492); + HEAP8[351629] = 1; + HEAP8[351630] = 64; + graphicsClear(351604); HEAP8[$0 + 187 | 0] = 0; jsfNameFromString($0 + 152 | 0, 120978); HEAP32[$0 + 32 >> 2] = HEAP32[$0 + 176 >> 2]; @@ -12015,22 +12030,22 @@ function jswrap_banglejs_init() { HEAP32[$0 + 76 >> 2] = jsvNewFromString(123827); jsvGetString(HEAP32[$0 + 76 >> 2], $0 + 80 | 0, 20); jsvUnLock(HEAP32[$0 + 76 >> 2]); - jswrap_graphics_drawCString(351492, 8, HEAP32[$0 + 104 >> 2], 128778); - jswrap_graphics_drawCString(351492, 8, HEAP32[$0 + 104 >> 2] + 10 | 0, $0 + 80 | 0); - jswrap_graphics_drawCString(351492, 8, HEAP32[$0 + 104 >> 2] + 20 | 0, 117818); + jswrap_graphics_drawCString(351604, 8, HEAP32[$0 + 104 >> 2], 128709); + jswrap_graphics_drawCString(351604, 8, HEAP32[$0 + 104 >> 2] + 10 | 0, $0 + 80 | 0); + jswrap_graphics_drawCString(351604, 8, HEAP32[$0 + 104 >> 2] + 20 | 0, 117818); } } graphicsInternalFlip(); - graphicsStructResetState(351492); + graphicsStructResetState(351604); if (HEAP8[$0 + 270 | 0] & 1) { stepcount_init(); - HEAP32[93939] = 0; + HEAP32[93967] = 0; } - HEAP8[375828] = 0; + HEAP8[375940] = 0; jshPinSetState(23, 5); - HEAP32[93958] = 0; - HEAP32[93959] = 0; - HEAP32[93960] = 0; + HEAP32[93986] = 0; + HEAP32[93987] = 0; + HEAP32[93988] = 0; jshSetPinShouldStayWatched(17, 1); HEAP8[$0 + 271 | 0] = jshPinWatch(17, 1, 0); if (HEAPU8[$0 + 271 | 0]) { @@ -12042,7 +12057,7 @@ function jswrap_banglejs_init() { if (!(HEAP8[$0 + 269 | 0] & 1)) { break label$19; } - jsvUnLock(jspEvaluate(145594, 1)); + jsvUnLock(jspEvaluate(145692, 1)); } __stack_pointer = $0 + 272 | 0; } @@ -12095,7 +12110,7 @@ function jswrap_graphics_toColor($0, $1, $2, $3) { break label$7; } } - jsExceptionHere(1, 145941, 0); + jsExceptionHere(1, 146039, 0); HEAP32[$4 + 300 >> 2] = 0; break label$1; } @@ -12243,7 +12258,7 @@ function jswrap_graphics_toColor($0, $1, $2, $3) { HEAP32[$4 + 128 >> 2] = 0; while (1) { if (HEAPU32[$4 + 128 >> 2] < 16) { - HEAP32[$4 + 124 >> 2] = HEAPU16[(HEAP32[$4 + 128 >> 2] << 1) + 173296 >> 1]; + HEAP32[$4 + 124 >> 2] = HEAPU16[(HEAP32[$4 + 128 >> 2] << 1) + 173408 >> 1]; HEAP32[$4 + 120 >> 2] = HEAP32[$4 + 124 >> 2] >> 8 & 248; HEAP32[$4 + 116 >> 2] = HEAP32[$4 + 124 >> 2] >> 3 & 252; HEAP32[$4 + 112 >> 2] = HEAP32[$4 + 124 >> 2] << 3 & 248; @@ -12272,7 +12287,7 @@ function jswrap_graphics_toColor($0, $1, $2, $3) { HEAP32[$4 + 88 >> 2] = 0; while (1) { if (HEAP32[$4 + 88 >> 2] < 255) { - HEAP32[$4 + 84 >> 2] = HEAPU16[(HEAP32[$4 + 88 >> 2] << 1) + 173328 >> 1]; + HEAP32[$4 + 84 >> 2] = HEAPU16[(HEAP32[$4 + 88 >> 2] << 1) + 173440 >> 1]; HEAP32[$4 + 80 >> 2] = HEAP32[$4 + 84 >> 2] >> 8 & 248; HEAP32[$4 + 76 >> 2] = HEAP32[$4 + 84 >> 2] >> 3 & 252; HEAP32[$4 + 72 >> 2] = HEAP32[$4 + 84 >> 2] << 3 & 248; @@ -12321,7 +12336,7 @@ function _jsvTrace($0, $1, $2, $3) { HEAP32[$4 + 316 >> 2] = 0; while (1) { if (HEAP32[$4 + 316 >> 2] < HEAP32[$4 + 328 >> 2]) { - jsiConsolePrintString(146916); + jsiConsolePrintString(147014); HEAP32[$4 + 316 >> 2] = HEAP32[$4 + 316 >> 2] + 1; continue; } @@ -12332,14 +12347,14 @@ function _jsvTrace($0, $1, $2, $3) { jsiConsolePrintString(124160); break label$3; } - if (!(HEAP32[$4 + 332 >> 2] != HEAP32[87258] | HEAP32[$4 + 320 >> 2] <= 0)) { + if (!(HEAP32[$4 + 332 >> 2] != HEAP32[87286] | HEAP32[$4 + 320 >> 2] <= 0)) { jsiConsolePrintString(126231); break label$3; } jsvTraceLockInfo(HEAP32[$4 + 332 >> 2]); HEAP32[$4 + 312 >> 2] = _jsvTraceGetLowestLevel(HEAP32[$4 + 324 >> 2], HEAP32[$4 + 332 >> 2]); if (!((HEAP32[$4 + 312 >> 2] < 0 | HEAP32[$4 + 312 >> 2] >= HEAP32[$4 + 320 >> 2]) & HEAP32[$4 + 320 >> 2] <= 16)) { - jsiConsolePrintString(148324); + jsiConsolePrintString(148422); break label$3; } label$8: { @@ -12347,23 +12362,23 @@ function _jsvTrace($0, $1, $2, $3) { jsiConsolePrintString(128243); HEAP32[$4 + 308 >> 2] = jsvGetAddressOf(jsvGetNextSibling(HEAP32[$4 + 332 >> 2]) & 65535); _jsvTrace(HEAP32[$4 + 308 >> 2], HEAP32[$4 + 328 >> 2] + 2 | 0, HEAP32[$4 + 324 >> 2], HEAP32[$4 + 320 >> 2] + 1 | 0); - jsiConsolePrintString(146776); + jsiConsolePrintString(146874); break label$8; } if (jsvIsName(HEAP32[$4 + 332 >> 2]) & 1) { - jsiConsolePrintString(146667); + jsiConsolePrintString(146765); } } HEAP8[$4 + 307 | 0] = 32; label$11: { if (jsvIsObject(HEAP32[$4 + 332 >> 2]) & 1) { - jsiConsolePrintString(146514); + jsiConsolePrintString(146612); HEAP8[$4 + 307 | 0] = 125; break label$11; } label$13: { if (jsvIsGetterOrSetter(HEAP32[$4 + 332 >> 2]) & 1) { - jsiConsolePrintString(146524); + jsiConsolePrintString(146622); HEAP8[$4 + 307 | 0] = 125; break label$13; } @@ -12371,7 +12386,7 @@ function _jsvTrace($0, $1, $2, $3) { if (jsvIsArray(HEAP32[$4 + 332 >> 2]) & 1) { $0 = HEAP32[$4 + 332 >> 2]; HEAP32[$4 + 48 >> 2] = HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24); - jsiConsolePrintf(146708, $4 + 48 | 0); + jsiConsolePrintf(146806, $4 + 48 | 0); HEAP8[$4 + 307 | 0] = 93; break label$15; } @@ -12382,15 +12397,15 @@ function _jsvTrace($0, $1, $2, $3) { $0 = HEAP32[$4 + 332 >> 2]; HEAP32[$4 + 68 >> 2] = HEAPU8[$0 + 4 | 0] | HEAPU8[$0 + 5 | 0] << 8; HEAP32[$4 + 64 >> 2] = $1; - jsiConsolePrintf(146553, $4 - -64 | 0); + jsiConsolePrintf(146651, $4 - -64 | 0); HEAP8[$4 + 307 | 0] = 125; break label$17; } label$19: { if (jsvIsFunction(HEAP32[$4 + 332 >> 2]) & 1) { - jsiConsolePrintString(146541); + jsiConsolePrintString(146639); if (jsvIsFunctionReturn(HEAP32[$4 + 332 >> 2]) & 1) { - jsiConsolePrintString(146596); + jsiConsolePrintString(146694); } HEAP8[$4 + 307 | 0] = 125; break label$19; @@ -12422,13 +12437,13 @@ function _jsvTrace($0, $1, $2, $3) { label$30: { if (jsvIsFunctionParameter(HEAP32[$4 + 332 >> 2]) & 1) { HEAP32[$4 + 144 >> 2] = HEAP32[$4 + 332 >> 2]; - jsiConsolePrintf(146586, $4 + 144 | 0); + jsiConsolePrintf(146684, $4 + 144 | 0); break label$30; } label$32: { if (jsvIsArrayBufferName(HEAP32[$4 + 332 >> 2]) & 1) { HEAP32[$4 + 160 >> 2] = jsvGetInteger(HEAP32[$4 + 332 >> 2]); - jsiConsolePrintf(146687, $4 + 160 | 0); + jsiConsolePrintf(146785, $4 + 160 | 0); break label$32; } label$34: { @@ -12445,7 +12460,7 @@ function _jsvTrace($0, $1, $2, $3) { HEAP32[$4 + 184 >> 2] = HEAPU8[$0 + 2 | 0] | HEAPU8[$0 + 3 | 0] << 8 | HEAPU8[$0 + 4 | 0] << 16; HEAP32[$4 + 180 >> 2] = $2; HEAP32[$4 + 176 >> 2] = $1; - jsiConsolePrintf(145550, $4 + 176 | 0); + jsiConsolePrintf(145648, $4 + 176 | 0); break label$34; } label$38: { @@ -12458,7 +12473,7 @@ function _jsvTrace($0, $1, $2, $3) { if (jsvIsFlatString(HEAP32[$4 + 332 >> 2]) & 1) { HEAP32[$4 + 300 >> 2] = jsvGetFlatStringBlocks(HEAP32[$4 + 332 >> 2]) + HEAP32[$4 + 300 >> 2]; } - HEAP32[$4 + 292 >> 2] = 148654; + HEAP32[$4 + 292 >> 2] = 148752; if (jsvIsFlatString(HEAP32[$4 + 332 >> 2]) & 1) { HEAP32[$4 + 292 >> 2] = 115665; } @@ -12493,16 +12508,16 @@ function _jsvTrace($0, $1, $2, $3) { } } if (jsvIsConstant(HEAP32[$4 + 332 >> 2]) & 1) { - jsiConsolePrintf(146721, 0); + jsiConsolePrintf(146819, 0); } if (jsvIsNameInt(HEAP32[$4 + 332 >> 2]) & 1) { HEAP32[$4 >> 2] = jsvGetFirstChildSigned(HEAP32[$4 + 332 >> 2]) << 16 >> 16; - jsiConsolePrintf(147568, $4); + jsiConsolePrintf(147666, $4); break label$3; } if (jsvIsNameIntBool(HEAP32[$4 + 332 >> 2]) & 1) { HEAP32[$4 + 16 >> 2] = jsvGetFirstChild(HEAP32[$4 + 332 >> 2]) & 65535 ? 121954 : 122278; - jsiConsolePrintf(147269, $4 + 16 | 0); + jsiConsolePrintf(147367, $4 + 16 | 0); break label$3; } label$48: { @@ -12528,13 +12543,13 @@ function _jsvTrace($0, $1, $2, $3) { } if ($0 & 1) { if (HEAP8[$4 + 223 | 0] & 1) { - jsiConsolePrintf(148653, 0); + jsiConsolePrintf(148751, 0); } HEAP8[$4 + 223 | 0] = 0; HEAP32[$4 + 216 >> 2] = jsvIteratorGetKey($4 + 224 | 0); _jsvTrace(HEAP32[$4 + 216 >> 2], HEAP32[$4 + 328 >> 2] + 2 | 0, HEAP32[$4 + 324 >> 2], HEAP32[$4 + 320 >> 2] + 1 | 0); jsvUnLock(HEAP32[$4 + 216 >> 2]); - jsiConsolePrintf(148653, 0); + jsiConsolePrintf(148751, 0); jsvIteratorNext($4 + 224 | 0); continue; } @@ -12545,7 +12560,7 @@ function _jsvTrace($0, $1, $2, $3) { HEAP32[$4 + 316 >> 2] = 0; while (1) { if (HEAP32[$4 + 316 >> 2] < HEAP32[$4 + 328 >> 2]) { - jsiConsolePrintString(146916); + jsiConsolePrintString(147014); HEAP32[$4 + 316 >> 2] = HEAP32[$4 + 316 >> 2] + 1; continue; } @@ -13060,7 +13075,7 @@ function tflite__internal__InitializeTfLiteTensorFromFlatbuffer_28tflite__Simple } label$7: { if (!tflite__Tensor__shape_28_29_20const(HEAP32[$6 + 112 >> 2])) { - HEAP32[HEAP32[$6 + 100 >> 2] + 20 >> 2] = 174448; + HEAP32[HEAP32[$6 + 100 >> 2] + 20 >> 2] = 174560; break label$7; } HEAP32[$6 + 40 >> 2] = TfLiteStatus_20tflite__internal__FlatBufferVectorToTfLiteTypeArray_int_2c_20TfLiteIntArray__28tflite__SimpleMemoryAllocator__2c_20tflite__ErrorReporter__2c_20flatbuffers__Vector_int__20const__2c_20TfLiteIntArray___29(HEAP32[$6 + 120 >> 2], HEAP32[$6 + 104 >> 2], tflite__Tensor__shape_28_29_20const(HEAP32[$6 + 112 >> 2]), HEAP32[$6 + 100 >> 2] + 20 | 0); @@ -13102,7 +13117,7 @@ function tflite__internal__InitializeTfLiteTensorFromFlatbuffer_28tflite__Simple } HEAP32[$6 + 28 >> 2] = $0; if (!HEAP32[$6 + 28 >> 2]) { - tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$6 + 104 >> 2], 147960, 0); + tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$6 + 104 >> 2], 148058, 0); HEAP32[$6 + 124 >> 2] = 1; break label$2; } @@ -13119,7 +13134,7 @@ function tflite__internal__InitializeTfLiteTensorFromFlatbuffer_28tflite__Simple } HEAP32[HEAP32[$6 + 28 >> 2] + 4 >> 2] = $0; if (!HEAP32[HEAP32[$6 + 28 >> 2] + 4 >> 2]) { - tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$6 + 104 >> 2], 147844, 0); + tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$6 + 104 >> 2], 147942, 0); HEAP32[$6 + 124 >> 2] = 1; break label$2; } @@ -13321,7 +13336,7 @@ function vcbprintf($0, $1, $2, $3) { case 23: case 24: case 25: - HEAP32[$4 + 88 >> 2] = 146916; + HEAP32[$4 + 88 >> 2] = 147014; if (!HEAPU8[HEAP32[$4 + 132 >> 2]]) { break label$5; } @@ -13416,7 +13431,7 @@ function vcbprintf($0, $1, $2, $3) { HEAP8[$4 + 70 | 0] = HEAP8[$4 + 95 | 0] != 118; HEAP8[$4 + 69 | 0] = HEAP8[$4 + 95 | 0] == 81; if (HEAP8[$4 + 70 | 0] & 1) { - FUNCTION_TABLE[HEAP32[$4 + 140 >> 2]](146009, HEAP32[$4 + 136 >> 2]); + FUNCTION_TABLE[HEAP32[$4 + 140 >> 2]](146107, HEAP32[$4 + 136 >> 2]); } $0 = HEAP32[$4 + 128 >> 2]; HEAP32[$4 + 128 >> 2] = $0 + 4; @@ -13465,7 +13480,7 @@ function vcbprintf($0, $1, $2, $3) { jsvUnLock(HEAP32[$4 + 64 >> 2]); } if (HEAP8[$4 + 70 | 0] & 1) { - FUNCTION_TABLE[HEAP32[$4 + 140 >> 2]](146009, HEAP32[$4 + 136 >> 2]); + FUNCTION_TABLE[HEAP32[$4 + 140 >> 2]](146107, HEAP32[$4 + 136 >> 2]); } break label$5; @@ -14039,7 +14054,7 @@ function tflite__MicroAllocator__PrepareNodeAndRegistrationDataFromFlatbuffer_28 if (HEAPU32[$4 + 156 >> 2] >= flatbuffers__Vector_flatbuffers__Offset_tflite__OperatorCode____size_28_29_20const(HEAP32[$4 + 176 >> 2]) >>> 0) { $0 = HEAP32[$5 + 8 >> 2]; HEAP32[$4 >> 2] = HEAP32[$4 + 156 >> 2]; - tflite__ErrorReporter__Report_28char_20const__2c_20____29($0, 147526, $4); + tflite__ErrorReporter__Report_28char_20const__2c_20____29($0, 147624, $4); HEAP32[$4 + 204 >> 2] = 1; break label$4; } @@ -14048,7 +14063,7 @@ function tflite__MicroAllocator__PrepareNodeAndRegistrationDataFromFlatbuffer_28 if (HEAP32[$4 + 180 >> 2]) { $0 = HEAP32[$5 + 8 >> 2]; HEAP32[$4 + 16 >> 2] = tflite__EnumNameBuiltinOperator_28tflite__BuiltinOperator_29(tflite__OperatorCode__builtin_code_28_29_20const(HEAP32[$4 + 148 >> 2])); - tflite__ErrorReporter__Report_28char_20const__2c_20____29($0, 146870, $4 + 16 | 0); + tflite__ErrorReporter__Report_28char_20const__2c_20____29($0, 146968, $4 + 16 | 0); HEAP32[$4 + 204 >> 2] = HEAP32[$4 + 180 >> 2]; break label$4; } @@ -14056,7 +14071,7 @@ function tflite__MicroAllocator__PrepareNodeAndRegistrationDataFromFlatbuffer_28 if (!HEAP32[$4 + 144 >> 2]) { $0 = HEAP32[$5 + 8 >> 2]; HEAP32[$4 + 32 >> 2] = HEAP32[$4 + 156 >> 2]; - tflite__ErrorReporter__Report_28char_20const__2c_20____29($0, 147493, $4 + 32 | 0); + tflite__ErrorReporter__Report_28char_20const__2c_20____29($0, 147591, $4 + 32 | 0); HEAP32[$4 + 204 >> 2] = 1; break label$4; } @@ -14075,7 +14090,7 @@ function tflite__MicroAllocator__PrepareNodeAndRegistrationDataFromFlatbuffer_28 if (tflite__Operator__custom_options_28_29_20const(HEAP32[$4 + 160 >> 2])) { $0 = HEAP32[$5 + 8 >> 2]; HEAP32[$4 + 48 >> 2] = tflite__EnumNameBuiltinOperator_28tflite__BuiltinOperator_29(HEAP32[$4 + 140 >> 2]); - tflite__ErrorReporter__Report_28char_20const__2c_20____29($0, 147890, $4 + 48 | 0); + tflite__ErrorReporter__Report_28char_20const__2c_20____29($0, 147988, $4 + 48 | 0); HEAP32[$4 + 204 >> 2] = 1; break label$4; } @@ -14155,12 +14170,12 @@ function __jspeBinaryExpression($0, $1) { __stack_pointer = $2; HEAP32[$2 + 204 >> 2] = $0; HEAP32[$2 + 200 >> 2] = $1; - HEAP32[$2 + 196 >> 2] = jspeGetBinaryExpressionPrecedence(HEAP16[HEAP32[45251] + 2 >> 1]); + HEAP32[$2 + 196 >> 2] = jspeGetBinaryExpressionPrecedence(HEAP16[HEAP32[45279] + 2 >> 1]); while (1) { $0 = 0; $0 = HEAP32[$2 + 196 >> 2] ? HEAPU32[$2 + 196 >> 2] > HEAPU32[$2 + 200 >> 2] : $0; if ($0) { - HEAP32[$2 + 192 >> 2] = HEAP16[HEAP32[45251] + 2 >> 1]; + HEAP32[$2 + 192 >> 2] = HEAP16[HEAP32[45279] + 2 >> 1]; jslGetNextToken(); label$4: { if (!(HEAP32[$2 + 192 >> 2] != 158 & HEAP32[$2 + 192 >> 2] != 160)) { @@ -14169,10 +14184,10 @@ function __jspeBinaryExpression($0, $1) { label$7: { if (!(!(!(HEAP8[$2 + 187 | 0] & 1) & HEAP32[$2 + 192 >> 2] == 158) & (!(HEAP8[$2 + 187 | 0] & 1) | HEAP32[$2 + 192 >> 2] != 160))) { HEAP32[$2 + 204 >> 2] = HEAP32[$2 + 188 >> 2]; - HEAP32[$2 + 180 >> 2] = HEAP32[87266]; + HEAP32[$2 + 180 >> 2] = HEAP32[87294]; jspSetNoExecute(); jsvUnLock(__jspeBinaryExpression(jspeUnaryExpression(), HEAP32[$2 + 196 >> 2])); - HEAP32[87266] = HEAP32[87266] & -1664 | HEAP32[$2 + 180 >> 2] & 1663; + HEAP32[87294] = HEAP32[87294] & -1664 | HEAP32[$2 + 180 >> 2] & 1663; break label$7; } jsvUnLock(HEAP32[$2 + 188 >> 2]); @@ -14192,15 +14207,15 @@ function __jspeBinaryExpression($0, $1) { break label$13; } HEAP32[$2 + 204 >> 2] = HEAP32[$2 + 176 >> 2]; - HEAP32[$2 + 172 >> 2] = HEAP32[87266]; + HEAP32[$2 + 172 >> 2] = HEAP32[87294]; jspSetNoExecute(); jsvUnLock(__jspeBinaryExpression(jspeUnaryExpression(), HEAP32[$2 + 196 >> 2])); - HEAP32[87266] = HEAP32[87266] & -1664 | HEAP32[$2 + 172 >> 2] & 1663; + HEAP32[87294] = HEAP32[87294] & -1664 | HEAP32[$2 + 172 >> 2] & 1663; } break label$11; } HEAP32[$2 + 168 >> 2] = __jspeBinaryExpression(jspeUnaryExpression(), HEAP32[$2 + 196 >> 2]); - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { label$17: { if (HEAP32[$2 + 192 >> 2] == 185) { HEAP32[$2 + 164 >> 2] = jsvSkipName(HEAP32[$2 + 204 >> 2]); @@ -14322,7 +14337,7 @@ function __jspeBinaryExpression($0, $1) { jsvUnLock(HEAP32[$2 + 168 >> 2]); } } - HEAP32[$2 + 196 >> 2] = jspeGetBinaryExpressionPrecedence(HEAP16[HEAP32[45251] + 2 >> 1]); + HEAP32[$2 + 196 >> 2] = jspeGetBinaryExpressionPrecedence(HEAP16[HEAP32[45279] + 2 >> 1]); continue; } break; @@ -14337,14 +14352,14 @@ function jsiDumpState($0, $1) { __stack_pointer = $2; HEAP32[$2 + 268 >> 2] = $0; HEAP32[$2 + 264 >> 2] = $1; - jsvObjectIteratorNew($2 + 256 | 0, HEAP32[87258]); + jsvObjectIteratorNew($2 + 256 | 0, HEAP32[87286]); while (1) { if (jsvObjectIteratorHasValue_3($2 + 256 | 0) & 1) { HEAP32[$2 + 252 >> 2] = jsvObjectIteratorGetKey_3($2 + 256 | 0); HEAP32[$2 + 248 >> 2] = jsvObjectIteratorGetValue_3($2 + 256 | 0); jsvGetString(HEAP32[$2 + 252 >> 2], $2 + 176 | 0, 64); HEAP8[$2 + 175 | 0] = 0; - HEAP32[$2 + 168 >> 2] = 160182; + HEAP32[$2 + 168 >> 2] = 160294; while (1) { if (HEAPU8[HEAP32[$2 + 168 >> 2]]) { if (!strcmp(HEAP32[$2 + 168 >> 2], $2 + 176 | 0)) { @@ -14379,24 +14394,24 @@ function jsiDumpState($0, $1) { HEAP32[$2 >> 2] = HEAP32[$2 + 252 >> 2]; cbprintf($0, $1, 114635, $2); jsfGetJSONForFunctionWithCallback(HEAP32[$2 + 248 >> 2], 32, HEAP32[$2 + 268 >> 2], HEAP32[$2 + 264 >> 2]); - FUNCTION_TABLE[HEAP32[$2 + 268 >> 2]](148653, HEAP32[$2 + 264 >> 2]); + FUNCTION_TABLE[HEAP32[$2 + 268 >> 2]](148751, HEAP32[$2 + 264 >> 2]); jsiDumpObjectState(HEAP32[$2 + 268 >> 2], HEAP32[$2 + 264 >> 2], HEAP32[$2 + 252 >> 2], HEAP32[$2 + 248 >> 2]); break label$15; } $0 = HEAP32[$2 + 268 >> 2]; $1 = HEAP32[$2 + 264 >> 2]; HEAP32[$2 + 32 >> 2] = HEAP32[$2 + 252 >> 2]; - cbprintf($0, $1, 146743, $2 + 32 | 0); + cbprintf($0, $1, 146841, $2 + 32 | 0); HEAP8[$2 + 167 | 0] = 0; if (jsvIsObject(HEAP32[$2 + 248 >> 2]) & 1) { HEAP32[$2 + 160 >> 2] = jsvObjectGetChildIfExists(HEAP32[$2 + 248 >> 2], 125512); if (HEAP32[$2 + 160 >> 2]) { - HEAP32[$2 + 156 >> 2] = jsvGetPathTo(HEAP32[87258], HEAP32[$2 + 160 >> 2], 4, HEAP32[$2 + 248 >> 2]); + HEAP32[$2 + 156 >> 2] = jsvGetPathTo(HEAP32[87286], HEAP32[$2 + 160 >> 2], 4, HEAP32[$2 + 248 >> 2]); if (HEAP32[$2 + 156 >> 2]) { $0 = HEAP32[$2 + 268 >> 2]; $1 = HEAP32[$2 + 264 >> 2]; HEAP32[$2 + 16 >> 2] = HEAP32[$2 + 156 >> 2]; - cbprintf($0, $1, 147717, $2 + 16 | 0); + cbprintf($0, $1, 147815, $2 + 16 | 0); jsiDumpObjectState(HEAP32[$2 + 268 >> 2], HEAP32[$2 + 264 >> 2], HEAP32[$2 + 252 >> 2], HEAP32[$2 + 248 >> 2]); HEAP8[$2 + 167 | 0] = 1; } @@ -14404,7 +14419,7 @@ function jsiDumpState($0, $1) { } if (!(HEAP8[$2 + 167 | 0] & 1)) { jsiDumpJSON(HEAP32[$2 + 268 >> 2], HEAP32[$2 + 264 >> 2], HEAP32[$2 + 248 >> 2], HEAP32[$2 + 252 >> 2]); - FUNCTION_TABLE[HEAP32[$2 + 268 >> 2]](147841, HEAP32[$2 + 264 >> 2]); + FUNCTION_TABLE[HEAP32[$2 + 268 >> 2]](147939, HEAP32[$2 + 264 >> 2]); } } } @@ -14421,7 +14436,7 @@ function jsiDumpState($0, $1) { break; } jsvObjectIteratorFree_3($2 + 256 | 0); - HEAP32[$2 + 152 >> 2] = jsvLock(HEAPU16[174548]); + HEAP32[$2 + 152 >> 2] = jsvLock(HEAPU16[174604]); jsvObjectIteratorNew($2 + 256 | 0, HEAP32[$2 + 152 >> 2]); jsvUnLock(HEAP32[$2 + 152 >> 2]); while (1) { @@ -14430,7 +14445,7 @@ function jsiDumpState($0, $1) { HEAP32[$2 + 144 >> 2] = jsvObjectIteratorGetKey_3($2 + 256 | 0); HEAP32[$2 + 140 >> 2] = jsvSkipOneNameAndUnLock(jsvFindChildFromString(HEAP32[$2 + 148 >> 2], 125380)); HEAP32[$2 + 136 >> 2] = jsvObjectGetChildIfExists(HEAP32[$2 + 148 >> 2], 118448); - FUNCTION_TABLE[HEAP32[$2 + 268 >> 2]](HEAP32[$2 + 136 >> 2] ? 145718 : 145696, HEAP32[$2 + 264 >> 2]); + FUNCTION_TABLE[HEAP32[$2 + 268 >> 2]](HEAP32[$2 + 136 >> 2] ? 145816 : 145794, HEAP32[$2 + 264 >> 2]); jsiDumpJSON(HEAP32[$2 + 268 >> 2], HEAP32[$2 + 264 >> 2], HEAP32[$2 + 140 >> 2], 0); $4 = HEAP32[$2 + 268 >> 2]; $5 = HEAP32[$2 + 264 >> 2]; @@ -14449,7 +14464,7 @@ function jsiDumpState($0, $1) { $6 = jshGetMillisecondsFromTime($3, $0); HEAP32[$2 + 56 >> 2] = HEAP32[$2 + 144 >> 2]; HEAPF64[$2 + 48 >> 3] = $6; - cbprintf($4, $5, 147e3, $2 + 48 | 0); + cbprintf($4, $5, 147098, $2 + 48 | 0); jsvUnLock3(HEAP32[$2 + 136 >> 2], HEAP32[$2 + 140 >> 2], HEAP32[$2 + 144 >> 2]); jsvUnLock(HEAP32[$2 + 148 >> 2]); jsvObjectIteratorNext($2 + 256 | 0); @@ -14458,7 +14473,7 @@ function jsiDumpState($0, $1) { break; } jsvObjectIteratorFree_3($2 + 256 | 0); - HEAP32[$2 + 132 >> 2] = jsvLock(HEAPU16[174549]); + HEAP32[$2 + 132 >> 2] = jsvLock(HEAPU16[174605]); jsvObjectIteratorNew($2 + 256 | 0, HEAP32[$2 + 132 >> 2]); jsvUnLock(HEAP32[$2 + 132 >> 2]); while (1) { @@ -14469,7 +14484,7 @@ function jsiDumpState($0, $1) { HEAP32[$2 + 116 >> 2] = jsvObjectGetIntegerChild(HEAP32[$2 + 128 >> 2], 122877); HEAP32[$2 + 112 >> 2] = jsvObjectGetChildIfExists(HEAP32[$2 + 128 >> 2], 120018); HEAP32[$2 + 108 >> 2] = jsvObjectGetIntegerChild(HEAP32[$2 + 128 >> 2], 123025); - FUNCTION_TABLE[HEAP32[$2 + 268 >> 2]](145745, HEAP32[$2 + 264 >> 2]); + FUNCTION_TABLE[HEAP32[$2 + 268 >> 2]](145843, HEAP32[$2 + 264 >> 2]); jsiDumpJSON(HEAP32[$2 + 268 >> 2], HEAP32[$2 + 264 >> 2], HEAP32[$2 + 124 >> 2], 0); $0 = HEAP32[$2 + 268 >> 2]; $1 = HEAP32[$2 + 264 >> 2]; @@ -14478,7 +14493,7 @@ function jsiDumpState($0, $1) { HEAP32[$2 + 88 >> 2] = HEAP32[$2 + 116 >> 2] < 0 ? 121507 : HEAP32[$2 + 116 >> 2] > 0 ? 121221 : 120845; HEAP32[$2 + 84 >> 2] = $4; HEAP32[$2 + 80 >> 2] = $3; - cbprintf($0, $1, 145808, $2 + 80 | 0); + cbprintf($0, $1, 145906, $2 + 80 | 0); if (HEAP32[$2 + 108 >> 2] > 0) { $3 = HEAP32[$2 + 268 >> 2]; $4 = HEAP32[$2 + 264 >> 2]; @@ -14487,7 +14502,7 @@ function jsiDumpState($0, $1) { HEAPF64[$2 + 64 >> 3] = jshGetMillisecondsFromTime($0, $1); cbprintf($3, $4, 121681, $2 - -64 | 0); } - FUNCTION_TABLE[HEAP32[$2 + 268 >> 2]](147711, HEAP32[$2 + 264 >> 2]); + FUNCTION_TABLE[HEAP32[$2 + 268 >> 2]](147809, HEAP32[$2 + 264 >> 2]); jsvUnLock2(HEAP32[$2 + 112 >> 2], HEAP32[$2 + 124 >> 2]); jsvUnLock(HEAP32[$2 + 128 >> 2]); jsvObjectIteratorNext($2 + 256 | 0); @@ -14499,7 +14514,7 @@ function jsiDumpState($0, $1) { jsiDumpHardwareInitialisation(HEAP32[$2 + 268 >> 2], HEAP32[$2 + 264 >> 2], 1); HEAP32[$2 + 104 >> 2] = jsfGetBootCodeFromFlash(0); if (HEAP32[$2 + 104 >> 2]) { - cbprintf(HEAP32[$2 + 268 >> 2], HEAP32[$2 + 264 >> 2], 147360, 0); + cbprintf(HEAP32[$2 + 268 >> 2], HEAP32[$2 + 264 >> 2], 147458, 0); jslPrintTokenisedString(HEAP32[$2 + 104 >> 2], HEAP32[$2 + 268 >> 2], HEAP32[$2 + 264 >> 2]); jsvUnLock(HEAP32[$2 + 104 >> 2]); } @@ -15006,7 +15021,7 @@ function tflite__PopulateConvolutionQuantizationParams_28TfLiteContext__2c_20TfL HEAP32[$13 + 8 >> 2] = $2; HEAP32[$13 + 4 >> 2] = 119918; HEAP32[$13 >> 2] = 122472; - FUNCTION_TABLE[$0 | 0]($1, 145571, $13); + FUNCTION_TABLE[$0 | 0]($1, 145669, $13); HEAP32[$13 + 252 >> 2] = 1; break label$1; } @@ -15018,7 +15033,7 @@ function tflite__PopulateConvolutionQuantizationParams_28TfLiteContext__2c_20TfL HEAP32[$13 + 24 >> 2] = $2; HEAP32[$13 + 20 >> 2] = 119918; HEAP32[$13 + 16 >> 2] = 122497; - FUNCTION_TABLE[$0 | 0]($1, 145571, $13 + 16 | 0); + FUNCTION_TABLE[$0 | 0]($1, 145669, $13 + 16 | 0); HEAP32[$13 + 252 >> 2] = 1; break label$1; } @@ -15057,7 +15072,7 @@ function tflite__PopulateConvolutionQuantizationParams_28TfLiteContext__2c_20TfL HEAP32[$13 + 40 >> 2] = $2; HEAP32[$13 + 36 >> 2] = 128346; HEAP32[$13 + 32 >> 2] = 122433; - FUNCTION_TABLE[$0 | 0]($1, 145571, $13 + 32 | 0); + FUNCTION_TABLE[$0 | 0]($1, 145669, $13 + 32 | 0); HEAP32[$13 + 252 >> 2] = 1; break label$1; } @@ -15069,7 +15084,7 @@ function tflite__PopulateConvolutionQuantizationParams_28TfLiteContext__2c_20TfL HEAP32[$13 + 56 >> 2] = $2; HEAP32[$13 + 52 >> 2] = 117844; HEAP32[$13 + 48 >> 2] = 121785; - FUNCTION_TABLE[$0 | 0]($1, 145571, $13 + 48 | 0); + FUNCTION_TABLE[$0 | 0]($1, 145669, $13 + 48 | 0); HEAP32[$13 + 252 >> 2] = 1; break label$1; } @@ -15081,7 +15096,7 @@ function tflite__PopulateConvolutionQuantizationParams_28TfLiteContext__2c_20TfL HEAP32[$13 + 72 >> 2] = $2; HEAP32[$13 + 68 >> 2] = 125554; HEAP32[$13 + 64 >> 2] = 117844; - FUNCTION_TABLE[$0 | 0]($1, 145571, $13 - -64 | 0); + FUNCTION_TABLE[$0 | 0]($1, 145669, $13 - -64 | 0); HEAP32[$13 + 252 >> 2] = 1; break label$1; } @@ -15523,19 +15538,19 @@ function jspeFactor() { $0 = __stack_pointer - 96 | 0; __stack_pointer = $0; label$1: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 128) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 128) { HEAP32[$0 + 88 >> 2] = jspGetNamedVariable(jslGetTokenValueAsString()); jslGetNextToken(); label$3: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 133) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 133) { jsExceptionHere(2, 123647, 0); break label$3; } label$5: { - if (HEAP16[HEAP32[45251] + 2 >> 1] != 162) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 162) { break label$5; } - if (!(wasm2js_i32$0 = jsvIsName(HEAP32[$0 + 88 >> 2]) & 1, wasm2js_i32$1 = 1, wasm2js_i32$2 = HEAP32[$0 + 88 >> 2] | (HEAP32[87266] & 63) == 1, + if (!(wasm2js_i32$0 = jsvIsName(HEAP32[$0 + 88 >> 2]) & 1, wasm2js_i32$1 = 1, wasm2js_i32$2 = HEAP32[$0 + 88 >> 2] | (HEAP32[87294] & 63) == 1, wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1)) { break label$5; } @@ -15547,25 +15562,25 @@ function jspeFactor() { HEAP32[$0 + 92 >> 2] = HEAP32[$0 + 88 >> 2]; break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 129) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 129) { HEAP32[$0 + 80 >> 2] = 0; - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { HEAP32[$0 + 80 >> 2] = jsvNewFromLongInteger(stringToInt(jslGetTokenValueAsString()), i64toi32_i32$HIGH_BITS); } jslGetNextToken(); HEAP32[$0 + 92 >> 2] = HEAP32[$0 + 80 >> 2]; break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 130) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 130) { HEAP32[$0 + 76 >> 2] = 0; - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { HEAP32[$0 + 76 >> 2] = jsvNewFromFloat(stringToFloat(jslGetTokenValueAsString())); } jslGetNextToken(); HEAP32[$0 + 92 >> 2] = HEAP32[$0 + 76 >> 2]; break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 40) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 40) { jslGetNextToken(); if (!(jspCheckStackPosition() & 1)) { HEAP32[$0 + 92 >> 2] = 0; @@ -15574,10 +15589,10 @@ function jspeFactor() { HEAP32[$0 + 92 >> 2] = jspeExpressionOrArrowFunction(); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 180) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 180) { jslGetNextToken(); label$14: { - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { $1 = jsvNewFromBool(1); break label$14; } @@ -15586,10 +15601,10 @@ function jspeFactor() { HEAP32[$0 + 92 >> 2] = $1; break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 181) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 181) { jslGetNextToken(); label$17: { - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { $1 = jsvNewFromBool(0); break label$17; } @@ -15598,10 +15613,10 @@ function jspeFactor() { HEAP32[$0 + 92 >> 2] = $1; break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 182) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 182) { jslGetNextToken(); label$20: { - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { $1 = jsvNewWithFlags(2); break label$20; } @@ -15610,27 +15625,27 @@ function jspeFactor() { HEAP32[$0 + 92 >> 2] = $1; break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 183) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 183) { jslGetNextToken(); HEAP32[$0 + 92 >> 2] = 0; break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 131) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 131) { HEAP32[$0 + 72 >> 2] = 0; - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { HEAP32[$0 + 72 >> 2] = jslGetTokenValueAsVar(); } jslGetNextToken(); HEAP32[$0 + 92 >> 2] = HEAP32[$0 + 72 >> 2]; break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 133) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 133) { HEAP32[$0 + 92 >> 2] = jspeTemplateLiteral(); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 135) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 135) { HEAP32[$0 + 68 >> 2] = 0; - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { HEAP32[$0 + 64 >> 2] = jslGetTokenValueAsVar(); HEAP32[$0 + 60 >> 2] = 0; HEAP32[$0 + 56 >> 2] = 0; @@ -15658,7 +15673,7 @@ function jspeFactor() { HEAP32[$0 + 92 >> 2] = HEAP32[$0 + 68 >> 2]; break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 123) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 123) { if (!(jspCheckStackPosition() & 1)) { HEAP32[$0 + 92 >> 2] = 0; break label$1; @@ -15666,7 +15681,7 @@ function jspeFactor() { HEAP32[$0 + 92 >> 2] = jspeFactorObject(); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 91) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 91) { if (!(jspCheckStackPosition() & 1)) { HEAP32[$0 + 92 >> 2] = 0; break label$1; @@ -15674,7 +15689,7 @@ function jspeFactor() { HEAP32[$0 + 92 >> 2] = jspeFactorArray(); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 170) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 170) { if (!(jspCheckStackPosition() & 1)) { HEAP32[$0 + 92 >> 2] = 0; break label$1; @@ -15683,7 +15698,7 @@ function jspeFactor() { HEAP32[$0 + 92 >> 2] = jspeFunctionDefinition(1); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 194) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 194) { if (!(jspCheckStackPosition() & 1)) { HEAP32[$0 + 92 >> 2] = 0; break label$1; @@ -15692,17 +15707,17 @@ function jspeFactor() { HEAP32[$0 + 92 >> 2] = jspeClassDefinition(1); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 175) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 175) { jslGetNextToken(); - if (HEAP32[87264]) { - $1 = HEAP32[87264]; + if (HEAP32[87292]) { + $1 = HEAP32[87292]; } else { - $1 = HEAP32[87258]; + $1 = HEAP32[87286]; } HEAP32[$0 + 92 >> 2] = jsvLockAgain($1); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 190) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 190) { if (!(jspCheckStackPosition() & 1)) { HEAP32[$0 + 92 >> 2] = 0; break label$1; @@ -15710,7 +15725,7 @@ function jspeFactor() { HEAP32[$0 + 92 >> 2] = jspeFactorDelete(); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 191) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 191) { if (!(jspCheckStackPosition() & 1)) { HEAP32[$0 + 92 >> 2] = 0; break label$1; @@ -15718,7 +15733,7 @@ function jspeFactor() { HEAP32[$0 + 92 >> 2] = jspeFactorTypeOf(); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 192) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 192) { if (!(jspCheckStackPosition() & 1)) { HEAP32[$0 + 92 >> 2] = 0; break label$1; @@ -15974,10 +15989,10 @@ function jsfBankFindFile($0, $1, $2, $3) { HEAP32[$4 + 460 >> 2] = HEAP32[$4 + 472 >> 2]; label$1: { label$2: { - if (!(!HEAP32[87267] | HEAP32[$4 + 460 >> 2] != 134217728)) { + if (!(!HEAP32[87295] | HEAP32[$4 + 460 >> 2] != 134217728)) { HEAP32[$4 + 156 >> 2] = HEAP32[$4 + 460 >> 2]; - HEAP32[$4 + 152 >> 2] = HEAP32[87267]; - HEAP32[$4 + 148 >> 2] = HEAP32[$4 + 152 >> 2] + HEAP32[87268]; + HEAP32[$4 + 152 >> 2] = HEAP32[87295]; + HEAP32[$4 + 148 >> 2] = HEAP32[$4 + 152 >> 2] + HEAP32[87296]; HEAP32[$4 + 144 >> 2] = HEAP32[$4 + 148 >> 2] - HEAP32[$4 + 152 >> 2] >>> 5; while (1) { if (HEAP32[$4 + 144 >> 2]) { @@ -16063,9 +16078,9 @@ function jsfBankFindFile($0, $1, $2, $3) { } break; } - HEAP32[$4 + 460 >> 2] = HEAP32[87267] - 32; + HEAP32[$4 + 460 >> 2] = HEAP32[87295] - 32; HEAP32[$4 + 428 >> 2] = 0; - HEAP32[$4 + 424 >> 2] = HEAP32[87268]; + HEAP32[$4 + 424 >> 2] = HEAP32[87296]; break label$2; } if (!(jsfGetFileHeader(HEAP32[$4 + 460 >> 2], $4 + 424 | 0, 0) & 1)) { @@ -16979,7 +16994,7 @@ function jstDumpUtilityTimers() { HEAP32[$0 + 540 >> 2] = 0; while (1) { if (HEAP32[$0 + 540 >> 2] < 16) { - $1 = Math_imul(HEAP32[$0 + 540 >> 2], 25) + 351072 | 0; + $1 = Math_imul(HEAP32[$0 + 540 >> 2], 25) + 351184 | 0; $2 = HEAPU8[$1 | 0] | HEAPU8[$1 + 1 | 0] << 8 | (HEAPU8[$1 + 2 | 0] << 16 | HEAPU8[$1 + 3 | 0] << 24); $3 = HEAPU8[$1 + 4 | 0] | HEAPU8[$1 + 5 | 0] << 8 | (HEAPU8[$1 + 6 | 0] << 16 | HEAPU8[$1 + 7 | 0] << 24); $4 = $2; @@ -17023,11 +17038,11 @@ function jstDumpUtilityTimers() { } break; } - HEAP8[$0 + 127 | 0] = HEAPU8[351057]; - HEAP8[$0 + 126 | 0] = HEAPU8[351058]; + HEAP8[$0 + 127 | 0] = HEAPU8[351169]; + HEAP8[$0 + 126 | 0] = HEAPU8[351170]; jshInterruptOn(); - HEAP32[$0 + 80 >> 2] = HEAP8[351059] & 1 ? 120007 : 121628; - jsiConsolePrintf(147254, $0 + 80 | 0); + HEAP32[$0 + 80 >> 2] = HEAP8[351171] & 1 ? 120007 : 121628; + jsiConsolePrintf(147352, $0 + 80 | 0); HEAP8[$0 + 125 | 0] = HEAPU8[$0 + 126 | 0]; HEAP8[$0 + 124 | 0] = 0; while (1) { @@ -17070,16 +17085,16 @@ function jstDumpUtilityTimers() { } HEAP32[$0 + 48 >> 2] = $2; jsiConsolePrintf(117270, $0 + 48 | 0); - jsiConsolePrintf(146784, 0); + jsiConsolePrintf(146882, 0); label$9: { label$10: { switch (HEAPU8[$0 + 120 | 0] - 1 | 0) { case 0: - jsiConsolePrintf(147680, 0); + jsiConsolePrintf(147778, 0); break label$9; case 1: - jsiConsolePrintf(146729, 0); + jsiConsolePrintf(146827, 0); HEAP32[$0 + 540 >> 2] = 0; while (1) { if (HEAP32[$0 + 540 >> 2] < 4) { @@ -17095,30 +17110,30 @@ function jstDumpUtilityTimers() { break; } ; - jsiConsolePrintf(148653, 0); + jsiConsolePrintf(148751, 0); break label$9; case 3: - jsiConsolePrintf(147688, 0); + jsiConsolePrintf(147786, 0); break label$9; case 4: - jsiConsolePrintf(147700, 0); + jsiConsolePrintf(147798, 0); break label$9; case 5: - jsiConsolePrintf(147655, 0); + jsiConsolePrintf(147753, 0); break label$9; case 6: - jsiConsolePrintf(147668, 0); + jsiConsolePrintf(147766, 0); break label$9; case 2: $2 = HEAPU8[$0 + 104 | 0] | HEAPU8[$0 + 105 | 0] << 8 | (HEAPU8[$0 + 106 | 0] << 16 | HEAPU8[$0 + 107 | 0] << 24); HEAP32[$0 + 36 >> 2] = HEAPU8[$0 + 108 | 0] | HEAPU8[$0 + 109 | 0] << 8 | (HEAPU8[$0 + 110 | 0] << 16 | HEAPU8[$0 + 111 | 0] << 24); HEAP32[$0 + 32 >> 2] = $2; - jsiConsolePrintf(148440, $0 + 32 | 0); + jsiConsolePrintf(148538, $0 + 32 | 0); break label$9; default: @@ -17126,7 +17141,7 @@ function jstDumpUtilityTimers() { } } HEAP32[$0 >> 2] = HEAPU8[$0 + 120 | 0]; - jsiConsolePrintf(147629, $0); + jsiConsolePrintf(147727, $0); } HEAP8[$0 + 125 | 0] = HEAPU8[$0 + 125 | 0] + 1 & 15; continue; @@ -17134,7 +17149,7 @@ function jstDumpUtilityTimers() { break; } if (!(HEAP8[$0 + 124 | 0] & 1)) { - jsiConsolePrintf(148194, 0); + jsiConsolePrintf(148292, 0); } __stack_pointer = $0 + 544 | 0; } @@ -17337,7 +17352,7 @@ function jswrap_interface_setWatch($0, $1, $2) { } jsvUnLock(HEAP32[$3 + 36 >> 2]); if (!(HEAP32[$3 + 44 >> 2] <= 1 & HEAP32[$3 + 44 >> 2] >= -1)) { - jsExceptionHere(3, 145837, 0); + jsExceptionHere(3, 145935, 0); HEAP32[$3 + 76 >> 2] = 0; break label$1; } @@ -17357,7 +17372,7 @@ function jswrap_interface_setWatch($0, $1, $2) { if (jsvIsString(HEAP32[$3 + 72 >> 2]) & 1) { break label$25; } - jsExceptionHere(1, 146339, 0); + jsExceptionHere(1, 146437, 0); break label$24; } HEAP32[$3 + 24 >> 2] = jsvNewObject(); @@ -17411,7 +17426,7 @@ function jswrap_interface_setWatch($0, $1, $2) { jsExceptionHere(1, 123836, 0); } } - HEAP32[$3 + 16 >> 2] = jsvLock(HEAPU16[174549]); + HEAP32[$3 + 16 >> 2] = jsvLock(HEAPU16[174605]); HEAP32[$3 + 28 >> 2] = jsvArrayAddToEnd(HEAP32[$3 + 16 >> 2], HEAP32[$3 + 24 >> 2], 1) - 1; jsvUnLock2(HEAP32[$3 + 16 >> 2], HEAP32[$3 + 24 >> 2]); } @@ -17551,7 +17566,7 @@ function tflite__ops__micro__activations___28anonymous_20namespace_29__Calculate HEAP32[$5 + 8 >> 2] = $2; HEAP32[$5 + 4 >> 2] = 128358; HEAP32[$5 >> 2] = 122408; - FUNCTION_TABLE[$0 | 0]($1, 145173, $5); + FUNCTION_TABLE[$0 | 0]($1, 145271, $5); HEAP32[$5 + 172 >> 2] = 1; break label$1; } @@ -17563,7 +17578,7 @@ function tflite__ops__micro__activations___28anonymous_20namespace_29__Calculate HEAP32[$5 + 24 >> 2] = $2; HEAP32[$5 + 20 >> 2] = 129322; HEAP32[$5 + 16 >> 2] = 115234; - FUNCTION_TABLE[$0 | 0]($1, 145571, $5 + 16 | 0); + FUNCTION_TABLE[$0 | 0]($1, 145669, $5 + 16 | 0); HEAP32[$5 + 172 >> 2] = 1; break label$1; } @@ -17577,7 +17592,7 @@ function tflite__ops__micro__activations___28anonymous_20namespace_29__Calculate HEAP32[$5 + 40 >> 2] = $2; HEAP32[$5 + 36 >> 2] = 128346; HEAP32[$5 + 32 >> 2] = 122421; - FUNCTION_TABLE[$0 | 0]($1, 145173, $5 + 32 | 0); + FUNCTION_TABLE[$0 | 0]($1, 145271, $5 + 32 | 0); HEAP32[$5 + 172 >> 2] = 1; break label$1; } @@ -17591,7 +17606,7 @@ function tflite__ops__micro__activations___28anonymous_20namespace_29__Calculate HEAP32[$5 + 56 >> 2] = $2; HEAP32[$5 + 52 >> 2] = 128377; HEAP32[$5 + 48 >> 2] = 115234; - FUNCTION_TABLE[$0 | 0]($1, 145571, $5 + 48 | 0); + FUNCTION_TABLE[$0 | 0]($1, 145669, $5 + 48 | 0); HEAP32[$5 + 172 >> 2] = 1; break label$1; } @@ -17605,7 +17620,7 @@ function tflite__ops__micro__activations___28anonymous_20namespace_29__Calculate HEAP32[$5 + 72 >> 2] = $2; HEAP32[$5 + 68 >> 2] = 128346; HEAP32[$5 + 64 >> 2] = 122408; - FUNCTION_TABLE[$0 | 0]($1, 145173, $5 - -64 | 0); + FUNCTION_TABLE[$0 | 0]($1, 145271, $5 - -64 | 0); HEAP32[$5 + 172 >> 2] = 1; break label$1; } @@ -17617,7 +17632,7 @@ function tflite__ops__micro__activations___28anonymous_20namespace_29__Calculate HEAP32[$5 + 88 >> 2] = $2; HEAP32[$5 + 84 >> 2] = 128395; HEAP32[$5 + 80 >> 2] = 115234; - FUNCTION_TABLE[$0 | 0]($1, 145571, $5 + 80 | 0); + FUNCTION_TABLE[$0 | 0]($1, 145669, $5 + 80 | 0); HEAP32[$5 + 172 >> 2] = 1; break label$1; } @@ -17650,9 +17665,9 @@ function tflite__ops__micro__activations___28anonymous_20namespace_29__Calculate $2 = TfLiteTypeGetName(HEAP32[HEAP32[$5 + 164 >> 2] + 28 >> 2]); HEAP32[$5 + 124 >> 2] = TfLiteTypeGetName(1); HEAP32[$5 + 120 >> 2] = $2; - HEAP32[$5 + 116 >> 2] = 128946; + HEAP32[$5 + 116 >> 2] = 128936; HEAP32[$5 + 112 >> 2] = 122421; - FUNCTION_TABLE[$0 | 0]($1, 145173, $5 + 112 | 0); + FUNCTION_TABLE[$0 | 0]($1, 145271, $5 + 112 | 0); HEAP32[$5 + 172 >> 2] = 1; break label$1; } @@ -17662,9 +17677,9 @@ function tflite__ops__micro__activations___28anonymous_20namespace_29__Calculate $2 = TfLiteTypeGetName(HEAP32[HEAP32[$5 + 160 >> 2] + 28 >> 2]); HEAP32[$5 + 140 >> 2] = TfLiteTypeGetName(1); HEAP32[$5 + 136 >> 2] = $2; - HEAP32[$5 + 132 >> 2] = 128946; + HEAP32[$5 + 132 >> 2] = 128936; HEAP32[$5 + 128 >> 2] = 122408; - FUNCTION_TABLE[$0 | 0]($1, 145173, $5 + 128 | 0); + FUNCTION_TABLE[$0 | 0]($1, 145271, $5 + 128 | 0); HEAP32[$5 + 172 >> 2] = 1; break label$1; } @@ -17684,137 +17699,137 @@ function jswGetSymbolListForObject($0) { if (jsvIsNativeFunction(HEAP32[$1 + 8 >> 2]) & 1) { $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 27) { - HEAP32[$1 + 12 >> 2] = 159296; + HEAP32[$1 + 12 >> 2] = 159408; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 28) { - HEAP32[$1 + 12 >> 2] = 159323; + HEAP32[$1 + 12 >> 2] = 159435; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 29) { - HEAP32[$1 + 12 >> 2] = 159332; + HEAP32[$1 + 12 >> 2] = 159444; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 30) { - HEAP32[$1 + 12 >> 2] = 159350; + HEAP32[$1 + 12 >> 2] = 159462; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 31) { - HEAP32[$1 + 12 >> 2] = 159359; + HEAP32[$1 + 12 >> 2] = 159471; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 32) { - HEAP32[$1 + 12 >> 2] = 159377; + HEAP32[$1 + 12 >> 2] = 159489; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 12) { - HEAP32[$1 + 12 >> 2] = 159413; + HEAP32[$1 + 12 >> 2] = 159525; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 33) { - HEAP32[$1 + 12 >> 2] = 159476; + HEAP32[$1 + 12 >> 2] = 159588; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 34) { - HEAP32[$1 + 12 >> 2] = 159485; + HEAP32[$1 + 12 >> 2] = 159597; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 35) { - HEAP32[$1 + 12 >> 2] = 159494; + HEAP32[$1 + 12 >> 2] = 159606; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 36) { - HEAP32[$1 + 12 >> 2] = 159521; + HEAP32[$1 + 12 >> 2] = 159633; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 37) { - HEAP32[$1 + 12 >> 2] = 159557; + HEAP32[$1 + 12 >> 2] = 159669; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 38) { - HEAP32[$1 + 12 >> 2] = 159566; + HEAP32[$1 + 12 >> 2] = 159678; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 39) { - HEAP32[$1 + 12 >> 2] = 159575; + HEAP32[$1 + 12 >> 2] = 159687; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 40) { - HEAP32[$1 + 12 >> 2] = 159584; + HEAP32[$1 + 12 >> 2] = 159696; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 41) { - HEAP32[$1 + 12 >> 2] = 159593; + HEAP32[$1 + 12 >> 2] = 159705; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 42) { - HEAP32[$1 + 12 >> 2] = 159602; + HEAP32[$1 + 12 >> 2] = 159714; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 20) { - HEAP32[$1 + 12 >> 2] = 159620; + HEAP32[$1 + 12 >> 2] = 159732; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 21) { - HEAP32[$1 + 12 >> 2] = 159638; + HEAP32[$1 + 12 >> 2] = 159750; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 43) { - HEAP32[$1 + 12 >> 2] = 159656; + HEAP32[$1 + 12 >> 2] = 159768; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 23) { - HEAP32[$1 + 12 >> 2] = 159674; + HEAP32[$1 + 12 >> 2] = 159786; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 24) { - HEAP32[$1 + 12 >> 2] = 159692; + HEAP32[$1 + 12 >> 2] = 159804; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 44) { - HEAP32[$1 + 12 >> 2] = 159719; + HEAP32[$1 + 12 >> 2] = 159831; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 10) { - HEAP32[$1 + 12 >> 2] = 159728; + HEAP32[$1 + 12 >> 2] = 159840; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 45) { - HEAP32[$1 + 12 >> 2] = 159737; + HEAP32[$1 + 12 >> 2] = 159849; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 46) { - HEAP32[$1 + 12 >> 2] = 159746; + HEAP32[$1 + 12 >> 2] = 159858; break label$1; } } - if (HEAP32[$1 + 8 >> 2] == HEAP32[87258]) { - HEAP32[$1 + 12 >> 2] = 159314; + if (HEAP32[$1 + 8 >> 2] == HEAP32[87286]) { + HEAP32[$1 + 12 >> 2] = 159426; break label$1; } HEAP32[$1 + 12 >> 2] = 0; @@ -18358,7 +18373,7 @@ function jswrap_storagefile_write($0, $1) { jsvObjectSetChildAndUnLock(HEAP32[$2 + 236 >> 2], 115604, jsvNewFromInteger(HEAP32[$2 + 216 >> 2])); jsvUnLock(HEAP32[$2 + 128 >> 2]); if (HEAP32[$2 + 212 >> 2] == 255) { - jsExceptionHere(1, 146252, 0); + jsExceptionHere(1, 146350, 0); jsvUnLock(HEAP32[$2 + 224 >> 2]); break label$1; } @@ -18407,7 +18422,7 @@ function jswrap_json_parse_internal($0) { label$5: { label$6: { label$7: { - $0 = HEAP16[HEAP32[45251] + 2 >> 1]; + $0 = HEAP16[HEAP32[45279] + 2 >> 1]; if (($0 | 0) != 45) { if (($0 | 0) == 91) { break label$4; @@ -18448,7 +18463,7 @@ function jswrap_json_parse_internal($0) { break label$1; } jslGetNextToken(); - if (!(HEAP16[HEAP32[45251] + 2 >> 1] == 129 | HEAP16[HEAP32[45251] + 2 >> 1] == 130)) { + if (!(HEAP16[HEAP32[45279] + 2 >> 1] == 129 | HEAP16[HEAP32[45279] + 2 >> 1] == 130)) { HEAP32[$1 + 108 >> 2] = 0; break label$1; } @@ -18483,14 +18498,14 @@ function jswrap_json_parse_internal($0) { jslGetNextToken(); while (1) { $0 = 0; - if (HEAP16[HEAP32[45251] + 2 >> 1] != 93) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 93) { $0 = jspHasError() ^ -1; } if ($0 & 1) { HEAP32[$1 + 60 >> 2] = jswrap_json_parse_internal(HEAP32[$1 + 104 >> 2]); label$17: { if (HEAP32[$1 + 60 >> 2]) { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 93) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 93) { break label$17; } if (jslMatch(44) & 1) { @@ -18523,7 +18538,7 @@ function jswrap_json_parse_internal($0) { jslGetNextToken(); while (1) { label$22: { - if (!(HEAP16[HEAP32[45251] + 2 >> 1] == 131 | HEAP16[HEAP32[45251] + 2 >> 1] == 129)) { + if (!(HEAP16[HEAP32[45279] + 2 >> 1] == 131 | HEAP16[HEAP32[45279] + 2 >> 1] == 129)) { $0 = 0; if (!(jslIsIDOrReservedWord() & 1)) { break label$22; @@ -18536,7 +18551,7 @@ function jswrap_json_parse_internal($0) { if (HEAP32[$1 + 104 >> 2] & 512) { break label$25; } - if (!(jslIsIDOrReservedWord() & 1) & HEAP16[HEAP32[45251] + 2 >> 1] != 129) { + if (!(jslIsIDOrReservedWord() & 1) & HEAP16[HEAP32[45279] + 2 >> 1] != 129) { break label$25; } jslMatch(131); @@ -18556,7 +18571,7 @@ function jswrap_json_parse_internal($0) { if (!$0) { break label$28; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 125) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 125) { break label$27; } if (jslMatch(44) & 1) { @@ -18581,7 +18596,7 @@ function jswrap_json_parse_internal($0) { HEAP32[$1 + 108 >> 2] = HEAP32[$1 + 56 >> 2]; break label$1; } - jslTokenAsString(HEAP16[HEAP32[45251] + 2 >> 1], $1 + 16 | 0, 32); + jslTokenAsString(HEAP16[HEAP32[45279] + 2 >> 1], $1 + 16 | 0, 32); HEAP32[$1 >> 2] = $1 + 16; jsExceptionHere(2, 118215, $1); HEAP32[$1 + 108 >> 2] = 0; @@ -18724,7 +18739,7 @@ function jspeClassDefinition($0) { HEAP32[$1 + 84 >> 2] = 0; HEAP32[$1 + 80 >> 2] = 0; HEAP32[$1 + 76 >> 2] = 0; - HEAP8[$1 + 75 | 0] = (HEAP32[87266] & 63) == 1; + HEAP8[$1 + 75 | 0] = (HEAP32[87294] & 63) == 1; if (HEAP8[$1 + 75 | 0] & 1) { HEAP32[$1 + 84 >> 2] = jsvNewWithFlags(7); HEAP32[$1 + 76 >> 2] = jsvNewObject(); @@ -18733,7 +18748,7 @@ function jspeClassDefinition($0) { jsvAddNamedChildAndUnLock(HEAP32[$1 + 84 >> 2], HEAP32[$1 + 68 >> 2], 119582); } } - if (!(!(HEAP8[$1 + 91 | 0] & 1) | HEAP16[HEAP32[45251] + 2 >> 1] != 128)) { + if (!(!(HEAP8[$1 + 91 | 0] & 1) | HEAP16[HEAP32[45279] + 2 >> 1] != 128)) { if (HEAP32[$1 + 76 >> 2]) { jsvObjectSetChildAndUnLock(HEAP32[$1 + 76 >> 2], 120234, jslGetTokenValueAsVar()); } @@ -18746,7 +18761,7 @@ function jspeClassDefinition($0) { jsvUnLock(HEAP32[$1 + 64 >> 2]); } label$6: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 195) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 195) { jslGetNextToken(); HEAP32[$1 + 60 >> 2] = 0; HEAP32[$1 + 56 >> 2] = 0; @@ -18767,7 +18782,7 @@ function jspeClassDefinition($0) { jsvObjectSetChild(HEAP32[$1 + 80 >> 2], 125512, HEAP32[$1 + 52 >> 2]); $0 = HEAP32[$1 + 84 >> 2]; HEAP32[$1 >> 2] = HEAP32[$1 + 60 >> 2]; - jsvObjectSetChildAndUnLock($0, 123416, jsvVarPrintf(145038, $1)); + jsvObjectSetChildAndUnLock($0, 123416, jsvVarPrintf(145136, $1)); jsvUnLock(HEAP32[$1 + 52 >> 2]); } break label$11; @@ -18787,16 +18802,16 @@ function jspeClassDefinition($0) { } while (1) { label$16: { - if (HEAP16[HEAP32[45251] + 2 >> 1] != 128) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 128) { $0 = 0; - if (HEAP16[HEAP32[45251] + 2 >> 1] != 197) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 197) { break label$16; } } $0 = jspIsInterrupted() ^ -1; } if ($0 & 1) { - HEAP8[$1 + 51 | 0] = HEAP16[HEAP32[45251] + 2 >> 1] == 197; + HEAP8[$1 + 51 | 0] = HEAP16[HEAP32[45279] + 2 >> 1] == 197; if (HEAP8[$1 + 51 | 0] & 1) { jslGetNextToken(); } @@ -18809,7 +18824,7 @@ function jspeClassDefinition($0) { } HEAP8[$1 + 42 | 0] = 0; HEAP8[$1 + 41 | 0] = 0; - if (HEAP16[HEAP32[45251] + 2 >> 1] == 128) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 128) { HEAP8[$1 + 42 | 0] = jsvIsStringEqual(HEAP32[$1 + 44 >> 2], 115622) & 1; HEAP8[$1 + 41 | 0] = jsvIsStringEqual(HEAP32[$1 + 44 >> 2], 115618) & 1; if (HEAP8[$1 + 41 | 0] & 1 ? 1 : HEAP8[$1 + 42 | 0] & 1) { @@ -18828,7 +18843,7 @@ function jspeClassDefinition($0) { label$27: { label$28: { if (!(HEAP8[$1 + 43 | 0] & 1 | (HEAP8[$1 + 42 | 0] & 1 | HEAP8[$1 + 41 | 0] & 1))) { - if (HEAP16[HEAP32[45251] + 2 >> 1] != 40) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 40) { break label$28; } } @@ -19494,19 +19509,19 @@ function terminalSendChar($0) { __stack_pointer = $1; HEAP8[$1 + 175 | 0] = $0; label$1: { - if (!HEAP8[376012]) { + if (!HEAP8[376124]) { if (HEAP8[$1 + 175 | 0] == 8) { - if (HEAPU8[376010]) { - HEAP8[376010] = HEAPU8[376010] - 1; + if (HEAPU8[376122]) { + HEAP8[376122] = HEAPU8[376122] - 1; } break label$1; } label$5: { if (HEAP8[$1 + 175 | 0] == 10) { - HEAP8[376010] = 0; - HEAP8[180408] = HEAPU8[180408] + 1; + HEAP8[376122] = 0; + HEAP8[180520] = HEAPU8[180520] + 1; while (1) { - if (HEAPU8[180408] >= 22) { + if (HEAPU8[180520] >= 22) { terminalScroll(); continue; } @@ -19516,26 +19531,26 @@ function terminalSendChar($0) { } label$9: { if (HEAP8[$1 + 175 | 0] == 13) { - HEAP8[376010] = 0; + HEAP8[376122] = 0; break label$9; } label$11: { if (HEAP8[$1 + 175 | 0] == 27) { - HEAP8[376012] = 27; + HEAP8[376124] = 27; break label$11; } if (!(HEAP8[$1 + 175 | 0] == 19 | HEAP8[$1 + 175 | 0] == 17)) { if (terminalGetGFX($1 + 96 | 0) & 1) { - HEAP16[$1 + 94 >> 1] = Math_imul(HEAPU8[376010], 6); - HEAP16[$1 + 92 >> 1] = ((HEAPU8[$1 + 110 | 0] | HEAPU8[$1 + 111 | 0] << 8) + (HEAPU8[180408] << 3) | 0) - 176; + HEAP16[$1 + 94 >> 1] = Math_imul(HEAPU8[376122], 6); + HEAP16[$1 + 92 >> 1] = ((HEAPU8[$1 + 110 | 0] | HEAPU8[$1 + 111 | 0] << 8) + (HEAPU8[180520] << 3) | 0) - 176; HEAP32[$1 + 88 >> 2] = HEAPU8[$1 + 113 | 0] | HEAPU8[$1 + 114 | 0] << 8 | (HEAPU8[$1 + 115 | 0] << 16 | HEAPU8[$1 + 116 | 0] << 24); HEAP32[$1 + 84 >> 2] = HEAPU8[$1 + 117 | 0] | HEAPU8[$1 + 118 | 0] << 8 | (HEAPU8[$1 + 119 | 0] << 16 | HEAPU8[$1 + 120 | 0] << 24); - $0 = HEAPU8[351476] | HEAPU8[351477] << 8; + $0 = HEAPU8[351588] | HEAPU8[351589] << 8; HEAP8[$1 + 113 | 0] = $0; HEAP8[$1 + 114 | 0] = $0 >>> 8; HEAP8[$1 + 115 | 0] = $0 >>> 16; HEAP8[$1 + 116 | 0] = $0 >>> 24; - $0 = HEAPU8[351478] | HEAPU8[351479] << 8; + $0 = HEAPU8[351590] | HEAPU8[351591] << 8; HEAP8[$1 + 117 | 0] = $0; HEAP8[$1 + 118 | 0] = $0 >>> 8; HEAP8[$1 + 119 | 0] = $0 >>> 16; @@ -19553,8 +19568,8 @@ function terminalSendChar($0) { HEAP8[$1 + 120 | 0] = $0 >>> 24; terminalSetGFX($1 + 96 | 0); } - if (HEAPU8[376010] < 255) { - HEAP8[376010] = HEAPU8[376010] + 1; + if (HEAPU8[376122] < 255) { + HEAP8[376122] = HEAPU8[376122] + 1; } } } @@ -19563,16 +19578,16 @@ function terminalSendChar($0) { break label$1; } label$17: { - if (HEAP8[376012] == 27) { - if (HEAP8[376013] == 91) { - if (HEAP8[376014] == 63) { - if (HEAP8[376015] == 55) { + if (HEAP8[376124] == 27) { + if (HEAP8[376125] == 91) { + if (HEAP8[376126] == 63) { + if (HEAP8[376127] == 55) { terminalControlCharsReset(); break label$17; } label$22: { if (HEAP8[$1 + 175 | 0] == 55) { - HEAP8[376015] = 55; + HEAP8[376127] = 55; break label$22; } terminalControlCharsReset(); @@ -19581,7 +19596,7 @@ function terminalSendChar($0) { } label$24: { if (HEAP8[$1 + 175 | 0] == 63) { - HEAP8[376014] = 63; + HEAP8[376126] = 63; break label$24; } terminalControlCharsReset(); @@ -19589,15 +19604,15 @@ function terminalSendChar($0) { label$27: { switch (HEAP8[$1 + 175 | 0] - 65 | 0) { case 0: - if (HEAPU8[180408]) { - HEAP8[180408] = HEAPU8[180408] - 1; + if (HEAPU8[180520]) { + HEAP8[180520] = HEAPU8[180520] - 1; } break label$26; case 1: - HEAP8[180408] = HEAPU8[180408] + 1; + HEAP8[180520] = HEAPU8[180520] + 1; while (1) { - if (HEAPU8[180408] >= 22) { + if (HEAPU8[180520] >= 22) { terminalScroll(); continue; } @@ -19607,14 +19622,14 @@ function terminalSendChar($0) { break label$26; case 2: - if (HEAPU8[376010] < 255) { - HEAP8[376010] = HEAPU8[376010] + 1; + if (HEAPU8[376122] < 255) { + HEAP8[376122] = HEAPU8[376122] + 1; } break label$26; case 3: - if (HEAPU8[376010]) { - HEAP8[376010] = HEAPU8[376010] - 1; + if (HEAPU8[376122]) { + HEAP8[376122] = HEAPU8[376122] - 1; } break label$26; @@ -19626,8 +19641,8 @@ function terminalSendChar($0) { } } if (terminalGetGFX($1 + 8 | 0) & 1) { - HEAP16[$1 + 6 >> 1] = Math_imul(HEAPU8[376010], 6); - HEAP16[$1 + 4 >> 1] = ((HEAPU8[$1 + 22 | 0] | HEAPU8[$1 + 23 | 0] << 8) + (HEAPU8[180408] << 3) | 0) - 176; + HEAP16[$1 + 6 >> 1] = Math_imul(HEAPU8[376122], 6); + HEAP16[$1 + 4 >> 1] = ((HEAPU8[$1 + 22 | 0] | HEAPU8[$1 + 23 | 0] << 8) + (HEAPU8[180520] << 3) | 0) - 176; if ((HEAPU8[$1 + 16 | 0] | HEAPU8[$1 + 17 | 0] << 8 | (HEAPU8[$1 + 18 | 0] << 16 | HEAPU8[$1 + 19 | 0] << 24)) & 16) { $0 = HEAPU8[$1 + 22 | 0] | HEAPU8[$1 + 23 | 0] << 8; } else { @@ -19650,7 +19665,7 @@ function terminalSendChar($0) { } label$42: { if (HEAP8[$1 + 175 | 0] == 91) { - HEAP8[376013] = 91; + HEAP8[376125] = 91; break label$42; } terminalControlCharsReset(); @@ -19942,10 +19957,10 @@ function jspeFactorFunctionCall() { __stack_pointer = $0; HEAP8[$0 + 75 | 0] = 0; label$1: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 184) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 184) { jslGetNextToken(); HEAP8[$0 + 75 | 0] = 1; - if (HEAP16[HEAP32[45251] + 2 >> 1] == 184) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 184) { jsExceptionHere(1, 123536, 0); jspSetError(0); HEAP32[$0 + 76 >> 2] = 0; @@ -19956,16 +19971,16 @@ function jspeFactorFunctionCall() { HEAP32[$0 + 64 >> 2] = 0; HEAP8[$0 + 63 | 0] = 0; label$4: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 196) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 196) { jslGetNextToken(); label$6: { - if (jsvIsObject(HEAP32[87264]) & 1) { + if (jsvIsObject(HEAP32[87292]) & 1) { label$8: { - if (!(!HEAP32[87265] | HEAP16[HEAP32[45251] + 2 >> 1] != 40)) { - HEAP32[$0 + 56 >> 2] = jsvObjectGetChildIfExists(HEAP32[87265], 122352); + if (!(!HEAP32[87293] | HEAP16[HEAP32[45279] + 2 >> 1] != 40)) { + HEAP32[$0 + 56 >> 2] = jsvObjectGetChildIfExists(HEAP32[87293], 122352); break label$8; } - HEAP32[$0 + 56 >> 2] = jsvObjectGetChildIfExists(HEAP32[87264], 125512); + HEAP32[$0 + 56 >> 2] = jsvObjectGetChildIfExists(HEAP32[87292], 125512); } label$10: { if (jsvIsObject(HEAP32[$0 + 56 >> 2]) & 1) { @@ -19982,10 +19997,10 @@ function jspeFactorFunctionCall() { break label$1; } label$13: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 40) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 40) { HEAP32[$0 + 48 >> 2] = jsvObjectGetChildIfExists(HEAP32[$0 + 52 >> 2], 118558); jsvUnLock(HEAP32[$0 + 52 >> 2]); - HEAP32[87265] = HEAP32[$0 + 48 >> 2]; + HEAP32[87293] = HEAP32[$0 + 48 >> 2]; HEAP8[$0 + 63 | 0] = 1; HEAP32[$0 + 64 >> 2] = HEAP32[$0 + 48 >> 2]; break label$13; @@ -19995,8 +20010,8 @@ function jspeFactorFunctionCall() { break label$6; } label$15: { - if (jsvIsFunction(HEAP32[87264]) & 1) { - HEAP32[$0 + 44 >> 2] = jsvObjectGetChildIfExists(HEAP32[87264], 122352); + if (jsvIsFunction(HEAP32[87292]) & 1) { + HEAP32[$0 + 44 >> 2] = jsvObjectGetChildIfExists(HEAP32[87292], 122352); label$17: { if (jsvIsObject(HEAP32[$0 + 44 >> 2]) & 1) { $1 = jsvObjectGetChildIfExists(HEAP32[$0 + 44 >> 2], 125512); @@ -20025,13 +20040,13 @@ function jspeFactorFunctionCall() { HEAP32[$0 + 64 >> 2] = jspeFactorMember(HEAP32[$0 + 64 >> 2], $0 + 68 | 0); if (!(HEAP32[$0 + 68 >> 2] != HEAP32[$0 + 32 >> 2] ? HEAP32[$0 + 68 >> 2] : 0)) { jsvUnLock(HEAP32[$0 + 68 >> 2]); - HEAP32[$0 + 68 >> 2] = jsvLockAgain(HEAP32[87264]); + HEAP32[$0 + 68 >> 2] = jsvLockAgain(HEAP32[87292]); } break label$4; } HEAP32[$0 + 64 >> 2] = jspeFactorMember(jspeFactor(), $0 + 68 | 0); } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 133) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 133) { jsExceptionHere(2, 123715, 0); jsvUnLock2(HEAP32[$0 + 64 >> 2], HEAP32[$0 + 68 >> 2]); HEAP32[$0 + 76 >> 2] = 0; @@ -20039,13 +20054,13 @@ function jspeFactorFunctionCall() { } while (1) { label$24: { - if (HEAP16[HEAP32[45251] + 2 >> 1] != 40) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 40) { $1 = 0; if (!(HEAP8[$0 + 75 | 0] & 1)) { break label$24; } $1 = 0; - if ((HEAP32[87266] & 63) != 1) { + if ((HEAP32[87294] & 63) != 1) { break label$24; } } @@ -20055,8 +20070,8 @@ function jspeFactorFunctionCall() { HEAP32[$0 + 28 >> 2] = HEAP32[$0 + 64 >> 2]; HEAP32[$0 + 24 >> 2] = jsvSkipName(HEAP32[$0 + 28 >> 2]); label$27: { - if (!(!(HEAP8[$0 + 75 | 0] & 1) | (HEAP32[87266] & 63) != 1)) { - HEAP8[$0 + 23 | 0] = HEAP16[HEAP32[45251] + 2 >> 1] == 40; + if (!(!(HEAP8[$0 + 75 | 0] & 1) | (HEAP32[87294] & 63) != 1)) { + HEAP8[$0 + 23 | 0] = HEAP16[HEAP32[45279] + 2 >> 1] == 40; HEAP32[$0 + 64 >> 2] = jspeConstruct(HEAP32[$0 + 24 >> 2], HEAP32[$0 + 28 >> 2], HEAP8[$0 + 23 | 0] & 1); HEAP8[$0 + 75 | 0] = 0; break label$27; @@ -20071,7 +20086,7 @@ function jspeFactorFunctionCall() { break; } if (HEAP8[$0 + 63 | 0] & 1) { - HEAP32[87265] = 0; + HEAP32[87293] = 0; } label$30: { if (!HEAP32[$0 + 68 >> 2]) { @@ -20104,11 +20119,11 @@ function jsvGarbageCollect() { $0 = __stack_pointer - 48 | 0; __stack_pointer = $0; label$1: { - if (HEAPU8[181010]) { + if (HEAPU8[181122]) { HEAP32[$0 + 44 >> 2] = 0; break label$1; } - HEAP8[181010] = 2; + HEAP8[181122] = 2; HEAP16[$0 + 42 >> 1] = 1; while (1) { if (HEAPU16[$0 + 42 >> 1] <= 12e3) { @@ -20141,7 +20156,7 @@ function jsvGarbageCollect() { break label$9; } if (!(jsvGarbageCollectMarkUsed(HEAP32[$0 + 32 >> 2]) & 1)) { - HEAP8[181010] = 0; + HEAP8[181122] = 0; HEAP32[$0 + 44 >> 2] = 0; break label$1; } @@ -20155,7 +20170,7 @@ function jsvGarbageCollect() { break; } HEAP32[$0 + 28 >> 2] = 0; - HEAP16[90506] = 0; + HEAP16[90562] = 0; HEAP32[$0 + 24 >> 2] = 0; HEAP16[$0 + 42 >> 1] = 1; while (1) { @@ -20175,7 +20190,7 @@ function jsvGarbageCollect() { jsvSetNextSibling(HEAP32[$0 + 24 >> 2], HEAPU16[$0 + 42 >> 1]); break label$17; } - HEAP16[90506] = HEAPU16[$0 + 42 >> 1]; + HEAP16[90562] = HEAPU16[$0 + 42 >> 1]; } HEAP32[$0 + 24 >> 2] = HEAP32[$0 + 20 >> 2]; while (1) { @@ -20192,7 +20207,7 @@ function jsvGarbageCollect() { jsvSetNextSibling(HEAP32[$0 + 24 >> 2], HEAPU16[$0 + 42 >> 1]); break label$21; } - HEAP16[90506] = HEAPU16[$0 + 42 >> 1]; + HEAP16[90562] = HEAPU16[$0 + 42 >> 1]; } HEAP32[$0 + 24 >> 2] = HEAP32[$0 + 20 >> 2]; continue; @@ -20226,7 +20241,7 @@ function jsvGarbageCollect() { jsvSetNextSibling(HEAP32[$0 + 24 >> 2], HEAPU16[$0 + 42 >> 1]); break label$26; } - HEAP16[90506] = HEAPU16[$0 + 42 >> 1]; + HEAP16[90562] = HEAPU16[$0 + 42 >> 1]; } HEAP32[$0 + 24 >> 2] = HEAP32[$0 + 20 >> 2]; HEAP32[$0 + 28 >> 2] = HEAP32[$0 + 28 >> 2] + 1; @@ -20244,7 +20259,7 @@ function jsvGarbageCollect() { jsvSetNextSibling(HEAP32[$0 + 24 >> 2], HEAPU16[$0 + 42 >> 1]); break label$31; } - HEAP16[90506] = HEAPU16[$0 + 42 >> 1]; + HEAP16[90562] = HEAPU16[$0 + 42 >> 1]; } HEAP32[$0 + 24 >> 2] = HEAP32[$0 + 20 >> 2]; } @@ -20258,7 +20273,7 @@ function jsvGarbageCollect() { if (HEAP32[$0 + 24 >> 2]) { jsvSetNextSibling(HEAP32[$0 + 24 >> 2], 0); } - HEAP8[181010] = 0; + HEAP8[181122] = 0; HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 28 >> 2]; } __stack_pointer = $0 + 48 | 0; @@ -20308,7 +20323,7 @@ function tflite__ops__micro__depthwise_conv__Prepare_28TfLiteContext__2c_20TfLit HEAP32[$2 + 8 >> 2] = $3; HEAP32[$2 + 4 >> 2] = 119918; HEAP32[$2 >> 2] = 122497; - FUNCTION_TABLE[$0 | 0]($1, 145571, $2); + FUNCTION_TABLE[$0 | 0]($1, 145669, $2); HEAP32[$2 + 156 >> 2] = 1; break label$3; } @@ -20353,7 +20368,7 @@ function tflite__ops__micro__depthwise_conv__Prepare_28TfLiteContext__2c_20TfLit HEAP32[$2 + 24 >> 2] = $3; HEAP32[$2 + 20 >> 2] = 121727; HEAP32[$2 + 16 >> 2] = 121785; - FUNCTION_TABLE[$0 | 0]($1, 145571, $2 + 16 | 0); + FUNCTION_TABLE[$0 | 0]($1, 145669, $2 + 16 | 0); HEAP32[$2 + 156 >> 2] = 1; break label$3; } @@ -20378,23 +20393,23 @@ function _jswrap_banglejs_setOptions($0, $1) { __stack_pointer = $2; HEAP32[$2 + 392 >> 2] = $0; HEAP8[$2 + 391 | 0] = $1; - HEAP8[$2 + 390 | 0] = (HEAP32[93921] & 2) != 0; - HEAP8[$2 + 389 | 0] = (HEAP32[93921] & 4) != 0; - HEAP8[$2 + 388 | 0] = (HEAP32[93921] & 8) != 0; - HEAP8[$2 + 387 | 0] = HEAP32[93921] & 1; - HEAP8[$2 + 386 | 0] = (HEAP32[93921] & 16) != 0; - HEAP8[$2 + 385 | 0] = (HEAP32[93921] & 32) != 0; - HEAP8[$2 + 384 | 0] = (HEAP32[93921] & 64) != 0; - HEAP8[$2 + 383 | 0] = (HEAP32[93921] & 2048) != 0; - HEAP8[$2 + 382 | 0] = (HEAP32[93921] & 2097152) != 0; - HEAP32[$2 + 368 >> 2] = Math_imul(HEAPU16[90185], HEAPU16[90185]); - HEAP32[$2 + 364 >> 2] = Math_imul(HEAPU16[90186], HEAPU16[90186]); - HEAP32[$2 + 360 >> 2] = HEAP16[187840]; - HEAP32[$2 + 356 >> 2] = HEAP16[187841]; - HEAP32[$2 + 352 >> 2] = HEAP16[90183]; - HEAP32[$2 + 348 >> 2] = HEAP16[90184]; + HEAP8[$2 + 390 | 0] = (HEAP32[93949] & 2) != 0; + HEAP8[$2 + 389 | 0] = (HEAP32[93949] & 4) != 0; + HEAP8[$2 + 388 | 0] = (HEAP32[93949] & 8) != 0; + HEAP8[$2 + 387 | 0] = HEAP32[93949] & 1; + HEAP8[$2 + 386 | 0] = (HEAP32[93949] & 16) != 0; + HEAP8[$2 + 385 | 0] = (HEAP32[93949] & 32) != 0; + HEAP8[$2 + 384 | 0] = (HEAP32[93949] & 64) != 0; + HEAP8[$2 + 383 | 0] = (HEAP32[93949] & 2048) != 0; + HEAP8[$2 + 382 | 0] = (HEAP32[93949] & 2097152) != 0; + HEAP32[$2 + 368 >> 2] = Math_imul(HEAPU16[90241], HEAPU16[90241]); + HEAP32[$2 + 364 >> 2] = Math_imul(HEAPU16[90242], HEAPU16[90242]); + HEAP32[$2 + 360 >> 2] = HEAP16[187896]; + HEAP32[$2 + 356 >> 2] = HEAP16[187897]; + HEAP32[$2 + 352 >> 2] = HEAP16[90239]; + HEAP32[$2 + 348 >> 2] = HEAP16[90240]; HEAP32[$2 + 344 >> 2] = lcdMemLCD_getRowPtr(0); - HEAP8[$2 + 343 | 0] = (HEAP32[93921] & 1048576) != 0; + HEAP8[$2 + 343 | 0] = (HEAP32[93949] & 1048576) != 0; HEAP32[$2 >> 2] = 120925; HEAP16[$2 + 4 >> 1] = 10; HEAP32[$2 + 8 >> 2] = $2 + 368; @@ -20403,10 +20418,10 @@ function _jswrap_banglejs_setOptions($0, $1) { HEAP32[$2 + 20 >> 2] = $2 + 364; HEAP32[$2 + 24 >> 2] = 115117; HEAP16[$2 + 28 >> 1] = 10; - HEAP32[$2 + 32 >> 2] = 180376; + HEAP32[$2 + 32 >> 2] = 180488; HEAP32[$2 + 36 >> 2] = 120881; HEAP16[$2 + 40 >> 1] = 10; - HEAP32[$2 + 44 >> 2] = 180380; + HEAP32[$2 + 44 >> 2] = 180492; HEAP32[$2 + 48 >> 2] = 114434; HEAP16[$2 + 52 >> 1] = 10; HEAP32[$2 + 56 >> 2] = $2 + 376; @@ -20415,20 +20430,20 @@ function _jswrap_banglejs_setOptions($0, $1) { HEAP32[$2 + 68 >> 2] = $2 + 372; HEAP32[$2 + 72 >> 2] = 123445; HEAP16[$2 + 76 >> 1] = 10; - HEAP32[$2 + 80 >> 2] = 180384; + HEAP32[$2 + 80 >> 2] = 180496; HEAP32[$2 + 84 >> 2] = 114971; HEAP16[$2 + 88 >> 1] = 10; - HEAP32[$2 + 92 >> 2] = 180392; + HEAP32[$2 + 92 >> 2] = 180504; HEAP32[$2 + 96 >> 2] = 125947; HEAP16[$2 + 100 >> 1] = 10; - HEAP32[$2 + 104 >> 2] = 180388; - HEAP32[$2 + 108 >> 2] = 129138; + HEAP32[$2 + 104 >> 2] = 180500; + HEAP32[$2 + 108 >> 2] = 129128; HEAP16[$2 + 112 >> 1] = 12; HEAP32[$2 + 116 >> 2] = $2 + 390; - HEAP32[$2 + 120 >> 2] = 128856; + HEAP32[$2 + 120 >> 2] = 128846; HEAP16[$2 + 124 >> 1] = 12; HEAP32[$2 + 128 >> 2] = $2 + 389; - HEAP32[$2 + 132 >> 2] = 128767; + HEAP32[$2 + 132 >> 2] = 128762; HEAP16[$2 + 136 >> 1] = 12; HEAP32[$2 + 140 >> 2] = $2 + 388; HEAP32[$2 + 144 >> 2] = 119547; @@ -20451,26 +20466,26 @@ function _jswrap_banglejs_setOptions($0, $1) { HEAP32[$2 + 212 >> 2] = $2 + 382; HEAP32[$2 + 216 >> 2] = 115017; HEAP16[$2 + 220 >> 1] = 10; - HEAP32[$2 + 224 >> 2] = 375704; + HEAP32[$2 + 224 >> 2] = 375816; HEAP32[$2 + 228 >> 2] = 115001; HEAP16[$2 + 232 >> 1] = 10; - HEAP32[$2 + 236 >> 2] = 375692; + HEAP32[$2 + 236 >> 2] = 375804; HEAP32[$2 + 240 >> 2] = 114984; HEAP16[$2 + 244 >> 1] = 10; - HEAP32[$2 + 248 >> 2] = 375700; + HEAP32[$2 + 248 >> 2] = 375812; HEAP32[$2 + 252 >> 2] = 115029; HEAP16[$2 + 256 >> 1] = 10; - HEAP32[$2 + 260 >> 2] = 375752; - HEAP32[$2 + 264 >> 2] = 129130; + HEAP32[$2 + 260 >> 2] = 375864; + HEAP32[$2 + 264 >> 2] = 129120; HEAP16[$2 + 268 >> 1] = 10; HEAP32[$2 + 272 >> 2] = $2 + 360; - HEAP32[$2 + 276 >> 2] = 129122; + HEAP32[$2 + 276 >> 2] = 129112; HEAP16[$2 + 280 >> 1] = 10; HEAP32[$2 + 284 >> 2] = $2 + 356; - HEAP32[$2 + 288 >> 2] = 128813; + HEAP32[$2 + 288 >> 2] = 128803; HEAP16[$2 + 292 >> 1] = 10; HEAP32[$2 + 296 >> 2] = $2 + 352; - HEAP32[$2 + 300 >> 2] = 128805; + HEAP32[$2 + 300 >> 2] = 128795; HEAP16[$2 + 304 >> 1] = 10; HEAP32[$2 + 308 >> 2] = $2 + 348; HEAP32[$2 + 312 >> 2] = 118453; @@ -20485,31 +20500,31 @@ function _jswrap_banglejs_setOptions($0, $1) { break label$1; } if (jsvReadConfigObject(HEAP32[$2 + 392 >> 2], $2, 28) & 1) { - HEAP32[93921] = HEAP32[93921] & -3 | (HEAP8[$2 + 390 | 0] & 1 ? 2 : 0); - HEAP32[93921] = HEAP32[93921] & -5 | (HEAP8[$2 + 389 | 0] & 1 ? 4 : 0); - HEAP32[93921] = HEAP32[93921] & -9 | (HEAP8[$2 + 388 | 0] & 1 ? 8 : 0); - HEAP32[93921] = HEAP32[93921] & -2 | HEAP8[$2 + 387 | 0] & 1; - HEAP32[93921] = HEAP32[93921] & -17 | (HEAP8[$2 + 386 | 0] & 1 ? 16 : 0); - HEAP32[93921] = HEAP32[93921] & -33 | (HEAP8[$2 + 385 | 0] & 1 ? 32 : 0); - HEAP32[93921] = HEAP32[93921] & -65 | (HEAP8[$2 + 384 | 0] & 1 ? 64 : 0); - HEAP32[93921] = HEAP32[93921] & -2049 | (HEAP8[$2 + 383 | 0] & 1 ? 2048 : 0); - HEAP32[93921] = HEAP32[93921] & -2097153 | (HEAP8[$2 + 382 | 0] & 1 ? 2097152 : 0); - if (HEAP32[93926] < 0) { - HEAP32[93926] = 0; - } - if (HEAP32[93923] < 0) { - HEAP32[93923] = 0; - } - if (HEAP32[93925] < 0) { - HEAP32[93925] = 0; - } - HEAP16[90185] = int_sqrt32(HEAP32[$2 + 368 >> 2]); - HEAP16[90186] = int_sqrt32(HEAP32[$2 + 364 >> 2]); - HEAP16[187840] = HEAP32[$2 + 360 >> 2]; - HEAP16[187841] = HEAP32[$2 + 356 >> 2]; - HEAP16[90183] = HEAP32[$2 + 352 >> 2]; - HEAP16[90184] = HEAP32[$2 + 348 >> 2]; - HEAP32[93921] = HEAP32[93921] & -1048577 | (HEAP8[$2 + 343 | 0] & 1 ? 1048576 : 0); + HEAP32[93949] = HEAP32[93949] & -3 | (HEAP8[$2 + 390 | 0] & 1 ? 2 : 0); + HEAP32[93949] = HEAP32[93949] & -5 | (HEAP8[$2 + 389 | 0] & 1 ? 4 : 0); + HEAP32[93949] = HEAP32[93949] & -9 | (HEAP8[$2 + 388 | 0] & 1 ? 8 : 0); + HEAP32[93949] = HEAP32[93949] & -2 | HEAP8[$2 + 387 | 0] & 1; + HEAP32[93949] = HEAP32[93949] & -17 | (HEAP8[$2 + 386 | 0] & 1 ? 16 : 0); + HEAP32[93949] = HEAP32[93949] & -33 | (HEAP8[$2 + 385 | 0] & 1 ? 32 : 0); + HEAP32[93949] = HEAP32[93949] & -65 | (HEAP8[$2 + 384 | 0] & 1 ? 64 : 0); + HEAP32[93949] = HEAP32[93949] & -2049 | (HEAP8[$2 + 383 | 0] & 1 ? 2048 : 0); + HEAP32[93949] = HEAP32[93949] & -2097153 | (HEAP8[$2 + 382 | 0] & 1 ? 2097152 : 0); + if (HEAP32[93954] < 0) { + HEAP32[93954] = 0; + } + if (HEAP32[93951] < 0) { + HEAP32[93951] = 0; + } + if (HEAP32[93953] < 0) { + HEAP32[93953] = 0; + } + HEAP16[90241] = int_sqrt32(HEAP32[$2 + 368 >> 2]); + HEAP16[90242] = int_sqrt32(HEAP32[$2 + 364 >> 2]); + HEAP16[187896] = HEAP32[$2 + 360 >> 2]; + HEAP16[187897] = HEAP32[$2 + 356 >> 2]; + HEAP16[90239] = HEAP32[$2 + 352 >> 2]; + HEAP16[90240] = HEAP32[$2 + 348 >> 2]; + HEAP32[93949] = HEAP32[93949] & -1048577 | (HEAP8[$2 + 343 | 0] & 1 ? 1048576 : 0); } HEAP32[$2 + 396 >> 2] = 0; } @@ -20660,7 +20675,7 @@ function tflite__ops__micro__conv__Prepare_28TfLiteContext__2c_20TfLiteNode__29( HEAP32[$2 + 8 >> 2] = $3; HEAP32[$2 + 4 >> 2] = 119918; HEAP32[$2 >> 2] = 122497; - FUNCTION_TABLE[$0 | 0]($1, 145571, $2); + FUNCTION_TABLE[$0 | 0]($1, 145669, $2); HEAP32[$2 + 156 >> 2] = 1; break label$3; } @@ -20705,7 +20720,7 @@ function tflite__ops__micro__conv__Prepare_28TfLiteContext__2c_20TfLiteNode__29( HEAP32[$2 + 24 >> 2] = $3; HEAP32[$2 + 20 >> 2] = 121727; HEAP32[$2 + 16 >> 2] = 121785; - FUNCTION_TABLE[$0 | 0]($1, 145571, $2 + 16 | 0); + FUNCTION_TABLE[$0 | 0]($1, 145669, $2 + 16 | 0); HEAP32[$2 + 156 >> 2] = 1; break label$3; } @@ -20735,22 +20750,22 @@ function utilTimerInsertTask($0, $1) { HEAP8[$3 + 31 | 0] = 0; break label$1; } - if (!(HEAP8[351060] & 1)) { + if (!(HEAP8[351172] & 1)) { jshInterruptOff(); } if (HEAP32[$3 + 20 >> 2]) { $0 = HEAP32[$3 + 24 >> 2]; - $1 = (HEAP32[HEAP32[$3 + 20 >> 2] >> 2] - HEAP32[87868] | 0) + (HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) | 0; + $1 = (HEAP32[HEAP32[$3 + 20 >> 2] >> 2] - HEAP32[87896] | 0) + (HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) | 0; HEAP8[$0 | 0] = $1; HEAP8[$0 + 1 | 0] = $1 >>> 8; HEAP8[$0 + 2 | 0] = $1 >>> 16; HEAP8[$0 + 3 | 0] = $1 >>> 24; } - HEAP8[$3 + 19 | 0] = HEAPU8[351058]; + HEAP8[$3 + 19 | 0] = HEAPU8[351170]; while (1) { $0 = 0; - if (HEAPU8[$3 + 19 | 0] != HEAPU8[351057]) { - $0 = Math_imul(HEAPU8[$3 + 19 | 0], 25) + 351072 | 0; + if (HEAPU8[$3 + 19 | 0] != HEAPU8[351169]) { + $0 = Math_imul(HEAPU8[$3 + 19 | 0], 25) + 351184 | 0; $1 = HEAP32[$3 + 24 >> 2]; $0 = (HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) < (HEAPU8[$1 | 0] | HEAPU8[$1 + 1 | 0] << 8 | (HEAPU8[$1 + 2 | 0] << 16 | HEAPU8[$1 + 3 | 0] << 24)); } @@ -20760,16 +20775,16 @@ function utilTimerInsertTask($0, $1) { } break; } - HEAP8[$3 + 18 | 0] = HEAPU8[$3 + 19 | 0] == HEAPU8[351058]; - HEAP32[$3 + 12 >> 2] = HEAPU8[351057]; + HEAP8[$3 + 18 | 0] = HEAPU8[$3 + 19 | 0] == HEAPU8[351170]; + HEAP32[$3 + 12 >> 2] = HEAPU8[351169]; while (1) { if (HEAP32[$3 + 12 >> 2] != HEAPU8[$3 + 19 | 0]) { HEAP8[$3 + 11 | 0] = HEAP32[$3 + 12 >> 2] + 15 & 15; - $2 = Math_imul(HEAPU8[$3 + 11 | 0], 25) + 351072 | 0; + $2 = Math_imul(HEAPU8[$3 + 11 | 0], 25) + 351184 | 0; $0 = HEAPU8[$2 | 0] | HEAPU8[$2 + 1 | 0] << 8 | (HEAPU8[$2 + 2 | 0] << 16 | HEAPU8[$2 + 3 | 0] << 24); $1 = HEAPU8[$2 + 4 | 0] | HEAPU8[$2 + 5 | 0] << 8 | (HEAPU8[$2 + 6 | 0] << 16 | HEAPU8[$2 + 7 | 0] << 24); $4 = $0; - $5 = Math_imul(HEAP32[$3 + 12 >> 2], 25) + 351072 | 0; + $5 = Math_imul(HEAP32[$3 + 12 >> 2], 25) + 351184 | 0; $0 = $5; HEAP8[$0 | 0] = $4; HEAP8[$0 + 1 | 0] = $4 >>> 8; @@ -20813,7 +20828,7 @@ function utilTimerInsertTask($0, $1) { $1 = HEAPU8[$2 | 0] | HEAPU8[$2 + 1 | 0] << 8 | (HEAPU8[$2 + 2 | 0] << 16 | HEAPU8[$2 + 3 | 0] << 24); $0 = HEAPU8[$2 + 4 | 0] | HEAPU8[$2 + 5 | 0] << 8 | (HEAPU8[$2 + 6 | 0] << 16 | HEAPU8[$2 + 7 | 0] << 24); $4 = $1; - $5 = Math_imul(HEAPU8[$3 + 19 | 0], 25) + 351072 | 0; + $5 = Math_imul(HEAPU8[$3 + 19 | 0], 25) + 351184 | 0; $1 = $5; HEAP8[$1 | 0] = $4; HEAP8[$1 + 1 | 0] = $4 >>> 8; @@ -20848,12 +20863,12 @@ function utilTimerInsertTask($0, $1) { HEAP8[$1 + 13 | 0] = $0 >>> 8; HEAP8[$1 + 14 | 0] = $0 >>> 16; HEAP8[$1 + 15 | 0] = $0 >>> 24; - HEAP8[351057] = HEAPU8[351057] + 1 & 15; - if (!(HEAP8[$3 + 18 | 0] & 1 ? 0 : HEAP8[351059] & 1)) { - HEAP8[351059] = 1; + HEAP8[351169] = HEAPU8[351169] + 1 & 15; + if (!(HEAP8[$3 + 18 | 0] & 1 ? 0 : HEAP8[351171] & 1)) { + HEAP8[351171] = 1; jstRestartUtilTimer(); } - if (!(HEAP8[351060] & 1)) { + if (!(HEAP8[351172] & 1)) { jshInterruptOn(); } HEAP8[$3 + 31 | 0] = 1; @@ -20880,11 +20895,11 @@ function _jslNewTokenisedStringFromLexer($0, $1, $2, $3) { HEAP32[$4 + 56 >> 2] = 0; while (1) { $0 = 0; - if (HEAP16[HEAP32[45251] + 2 >> 1]) { - $0 = jsvStringIteratorGetIndex(HEAP32[45251] + 88 | 0) >>> 0 <= HEAP32[$4 + 112 >> 2] + 1 >>> 0; + if (HEAP16[HEAP32[45279] + 2 >> 1]) { + $0 = jsvStringIteratorGetIndex(HEAP32[45279] + 88 | 0) >>> 0 <= HEAP32[$4 + 112 >> 2] + 1 >>> 0; } if ($0) { - if (jslPreserveSpaceBetweenTokens(HEAP32[$4 + 60 >> 2], HEAP16[HEAP32[45251] + 2 >> 1]) & 1) { + if (jslPreserveSpaceBetweenTokens(HEAP32[$4 + 60 >> 2], HEAP16[HEAP32[45279] + 2 >> 1]) & 1) { HEAP32[$4 + 64 >> 2] = HEAP32[$4 + 64 >> 2] + 1; if (HEAP32[$4 + 124 >> 2]) { jsvStringIteratorSetCharAndNext(HEAP32[$4 + 124 >> 2], 32); @@ -20892,7 +20907,7 @@ function _jslNewTokenisedStringFromLexer($0, $1, $2, $3) { } label$7: { label$8: { - if (HEAP16[HEAP32[45251] + 2 >> 1] != 131) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 131) { break label$8; } $0 = jslGetTokenLength(); @@ -20902,7 +20917,7 @@ function _jslNewTokenisedStringFromLexer($0, $1, $2, $3) { } HEAP32[$4 + 48 >> 2] = 0; jslSkipWhiteSpace(); - if (!(HEAP32[$4 + 56 >> 2] != 2 | HEAP8[HEAP32[45251]] != 41)) { + if (!(HEAP32[$4 + 56 >> 2] != 2 | HEAP8[HEAP32[45279]] != 41)) { HEAP32[$4 + 44 >> 2] = jslGetTokenValueAsVar(); HEAP32[$4 + 48 >> 2] = jswrap_atob(HEAP32[$4 + 44 >> 2]); jsvUnLock(HEAP32[$4 + 44 >> 2]); @@ -20911,7 +20926,7 @@ function _jslNewTokenisedStringFromLexer($0, $1, $2, $3) { if (HEAP32[$4 + 124 >> 2]) { jsvStringIteratorGoto(HEAP32[$4 + 124 >> 2], HEAP32[$4 + 120 >> 2], HEAP32[$4 + 64 >> 2]); } - HEAP8[$4 + 71 | 0] = HEAPU8[HEAP32[45251]]; + HEAP8[$4 + 71 | 0] = HEAPU8[HEAP32[45279]]; jslGetNextToken(); } HEAP32[$4 + 56 >> 2] = 0; @@ -20941,19 +20956,19 @@ function _jslNewTokenisedStringFromLexer($0, $1, $2, $3) { label$16: { label$17: { label$18: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 128 | HEAP16[HEAP32[45251] + 2 >> 1] == 129 | (HEAP16[HEAP32[45251] + 2 >> 1] == 130 | HEAP16[HEAP32[45251] + 2 >> 1] == 131)) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 128 | HEAP16[HEAP32[45279] + 2 >> 1] == 129 | (HEAP16[HEAP32[45279] + 2 >> 1] == 130 | HEAP16[HEAP32[45279] + 2 >> 1] == 131)) { break label$18; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 133) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 133) { break label$18; } - if (HEAP16[HEAP32[45251] + 2 >> 1] != 135) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 135) { break label$17; } } label$19: { label$20: { - if (HEAP16[HEAP32[45251] + 2 >> 1] != 128) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 128) { break label$20; } if (strcmp(jslGetTokenValueAsString(), 125371)) { @@ -20964,11 +20979,11 @@ function _jslNewTokenisedStringFromLexer($0, $1, $2, $3) { } HEAP32[$4 + 56 >> 2] = 0; } - HEAP32[$4 + 64 >> 2] = (jsvStringIteratorGetIndex(HEAP32[45251] + 88 | 0) - (HEAP32[HEAP32[45251] + 4 >> 2] + 1 | 0) | 0) + HEAP32[$4 + 64 >> 2]; + HEAP32[$4 + 64 >> 2] = (jsvStringIteratorGetIndex(HEAP32[45279] + 88 | 0) - (HEAP32[HEAP32[45279] + 4 >> 2] + 1 | 0) | 0) + HEAP32[$4 + 64 >> 2]; if (HEAP32[$4 + 124 >> 2]) { jsvStringIteratorSetCharAndNext(HEAP32[$4 + 124 >> 2], HEAP8[$4 + 71 | 0]); while (1) { - if (jsvStringIteratorGetIndex($4 + 72 | 0) + 1 >>> 0 < jsvStringIteratorGetIndex(HEAP32[45251] + 88 | 0) >>> 0) { + if (jsvStringIteratorGetIndex($4 + 72 | 0) + 1 >>> 0 < jsvStringIteratorGetIndex(HEAP32[45279] + 88 | 0) >>> 0) { jsvStringIteratorSetCharAndNext(HEAP32[$4 + 124 >> 2], jsvStringIteratorGetCharAndNext($4 + 72 | 0) << 24 >> 24); continue; } @@ -20978,25 +20993,25 @@ function _jslNewTokenisedStringFromLexer($0, $1, $2, $3) { break label$16; } label$24: { - if (!(HEAP32[$4 + 56 >> 2] != 1 | HEAP16[HEAP32[45251] + 2 >> 1] != 40)) { + if (!(HEAP32[$4 + 56 >> 2] != 1 | HEAP16[HEAP32[45279] + 2 >> 1] != 40)) { HEAP32[$4 + 56 >> 2] = 2; break label$24; } HEAP32[$4 + 56 >> 2] = 0; } if (HEAP32[$4 + 124 >> 2]) { - jsvStringIteratorSetCharAndNext(HEAP32[$4 + 124 >> 2], HEAPU16[HEAP32[45251] + 2 >> 1] << 24 >> 24); + jsvStringIteratorSetCharAndNext(HEAP32[$4 + 124 >> 2], HEAPU16[HEAP32[45279] + 2 >> 1] << 24 >> 24); } HEAP32[$4 + 64 >> 2] = HEAP32[$4 + 64 >> 2] + 1; } } - HEAP32[$4 + 60 >> 2] = HEAP16[HEAP32[45251] + 2 >> 1]; + HEAP32[$4 + 60 >> 2] = HEAP16[HEAP32[45279] + 2 >> 1]; jslSkipWhiteSpace(); if (HEAP32[$4 + 124 >> 2]) { jsvStringIteratorFree($4 + 72 | 0); - jsvStringIteratorClone($4 + 72 | 0, HEAP32[45251] + 88 | 0); + jsvStringIteratorClone($4 + 72 | 0, HEAP32[45279] + 88 | 0); } - HEAP8[$4 + 71 | 0] = HEAPU8[HEAP32[45251]]; + HEAP8[$4 + 71 | 0] = HEAPU8[HEAP32[45279]]; jslGetNextToken(); continue; } @@ -21052,13 +21067,13 @@ function jsvDefragment() { break label$9; } HEAP16[$0 + 534 >> 1] = HEAPU16[(HEAP32[$0 + 548 >> 2] << 1) + $0 >> 1]; - HEAP16[$0 + 532 >> 1] = HEAPU16[90506]; + HEAP16[$0 + 532 >> 1] = HEAPU16[90562]; if (!HEAPU16[$0 + 532 >> 1] | HEAPU16[$0 + 534 >> 1] < HEAPU16[$0 + 532 >> 1]) { break label$9; } HEAP32[$0 + 528 >> 2] = _jsvGetAddressOf(HEAPU16[$0 + 534 >> 1]); HEAP32[$0 + 524 >> 2] = _jsvGetAddressOf(HEAPU16[$0 + 532 >> 1]); - HEAP16[90506] = jsvGetNextSibling(HEAP32[$0 + 524 >> 2]); + HEAP16[90562] = jsvGetNextSibling(HEAP32[$0 + 524 >> 2]); $2 = HEAP32[$0 + 528 >> 2]; $1 = HEAPU8[$2 + 4 | 0] | HEAPU8[$2 + 5 | 0] << 8 | (HEAPU8[$2 + 6 | 0] << 16 | HEAPU8[$2 + 7 | 0] << 24); $3 = HEAP32[$0 + 524 >> 2]; @@ -21148,46 +21163,46 @@ function jslLexString() { var $0 = 0, $1 = 0, $2 = 0; $0 = __stack_pointer - 80 | 0; __stack_pointer = $0; - HEAP8[$0 + 79 | 0] = HEAPU8[HEAP32[45251]]; + HEAP8[$0 + 79 | 0] = HEAPU8[HEAP32[45279]]; HEAP32[$0 + 52 >> 2] = 0; label$1: { - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { $1 = jsvNewFromEmptyString(); - HEAP32[HEAP32[45251] + 76 >> 2] = $1; - if (!HEAP32[HEAP32[45251] + 76 >> 2]) { - HEAP16[HEAP32[45251] + 2 >> 1] = 0; + HEAP32[HEAP32[45279] + 76 >> 2] = $1; + if (!HEAP32[HEAP32[45279] + 76 >> 2]) { + HEAP16[HEAP32[45279] + 2 >> 1] = 0; break label$1; } - jsvStringIteratorNew($0 + 40 | 0, HEAP32[HEAP32[45251] + 76 >> 2], 0); + jsvStringIteratorNew($0 + 40 | 0, HEAP32[HEAP32[45279] + 76 >> 2], 0); } jslGetNextCh(); HEAP8[$0 + 39 | 0] = HEAPU8[$0 + 79 | 0]; HEAP32[$0 + 32 >> 2] = 0; while (1) { $1 = 0; - if (HEAP8[HEAP32[45251]]) { + if (HEAP8[HEAP32[45279]]) { $1 = 1; - $1 = HEAP8[HEAP32[45251]] == HEAP8[$0 + 79 | 0] ? HEAP32[$0 + 32 >> 2] != 0 : $1; + $1 = HEAP8[HEAP32[45279]] == HEAP8[$0 + 79 | 0] ? HEAP32[$0 + 32 >> 2] != 0 : $1; } label$7: { if (!($1 & 1)) { break label$7; } if (HEAP8[$0 + 79 | 0] == 96) { - if (!(HEAP8[HEAP32[45251]] != 123 | (HEAP32[$0 + 32 >> 2] ? 0 : HEAP8[$0 + 39 | 0] != 36))) { + if (!(HEAP8[HEAP32[45279]] != 123 | (HEAP32[$0 + 32 >> 2] ? 0 : HEAP8[$0 + 39 | 0] != 36))) { HEAP32[$0 + 32 >> 2] = HEAP32[$0 + 32 >> 2] + 1; } - if (!(!HEAP32[$0 + 32 >> 2] | HEAP8[HEAP32[45251]] != 125)) { + if (!(!HEAP32[$0 + 32 >> 2] | HEAP8[HEAP32[45279]] != 125)) { HEAP32[$0 + 32 >> 2] = HEAP32[$0 + 32 >> 2] - 1; } } label$12: { - if (HEAP8[HEAP32[45251]] == 92) { + if (HEAP8[HEAP32[45279]] == 92) { jslGetNextCh(); - HEAP8[$0 + 31 | 0] = HEAPU8[HEAP32[45251]]; + HEAP8[$0 + 31 | 0] = HEAPU8[HEAP32[45279]]; label$14: { label$15: { - switch (HEAP8[HEAP32[45251]] - 98 | 0) { + switch (HEAP8[HEAP32[45279]] - 98 | 0) { case 12: HEAP8[$0 + 31 | 0] = 10; jslGetNextCh(); @@ -21220,7 +21235,7 @@ function jslLexString() { case 19: case 22: - HEAP8[$0 + 25 | 0] = HEAP8[HEAP32[45251]] == 117; + HEAP8[$0 + 25 | 0] = HEAP8[HEAP32[45279]] == 117; jslGetNextCh(); HEAP32[$0 + 20 >> 2] = HEAP8[$0 + 25 | 0] & 1 ? 4 : 2; HEAP32[$0 + 16 >> 2] = 0; @@ -21232,15 +21247,15 @@ function jslLexString() { break label$24; } label$25: { - if (HEAPU8[HEAP32[45251]]) { - if (isHexadecimal(HEAP8[HEAP32[45251]]) & 1) { + if (HEAPU8[HEAP32[45279]]) { + if (isHexadecimal(HEAP8[HEAP32[45279]]) & 1) { break label$25; } } jsExceptionHere(1, 123034, 0); break label$24; } - $2 = HEAPU8[HEAP32[45251]]; + $2 = HEAPU8[HEAP32[45279]]; $1 = HEAP32[$0 + 16 >> 2]; HEAP32[$0 + 16 >> 2] = $1 + 1; HEAP8[($0 + 26 | 0) + $1 | 0] = $2; @@ -21261,20 +21276,20 @@ function jslLexString() { } } label$27: { - if (!(HEAP8[HEAP32[45251]] < 48 | HEAP8[HEAP32[45251]] > 55)) { - HEAP8[$0 + 8 | 0] = HEAPU8[148972]; - HEAP32[$0 + 4 >> 2] = HEAPU8[148968] | HEAPU8[148969] << 8 | (HEAPU8[148970] << 16 | HEAPU8[148971] << 24); - HEAP8[$0 + 5 | 0] = HEAPU8[HEAP32[45251]]; + if (!(HEAP8[HEAP32[45279]] < 48 | HEAP8[HEAP32[45279]] > 55)) { + HEAP8[$0 + 8 | 0] = HEAPU8[149084]; + HEAP32[$0 + 4 >> 2] = HEAPU8[149080] | HEAPU8[149081] << 8 | (HEAPU8[149082] << 16 | HEAPU8[149083] << 24); + HEAP8[$0 + 5 | 0] = HEAPU8[HEAP32[45279]]; HEAP32[$0 >> 2] = 2; jslGetNextCh(); - if (!(HEAP8[HEAP32[45251]] < 48 | HEAP8[HEAP32[45251]] > 55)) { - $2 = HEAPU8[HEAP32[45251]]; + if (!(HEAP8[HEAP32[45279]] < 48 | HEAP8[HEAP32[45279]] > 55)) { + $2 = HEAPU8[HEAP32[45279]]; $1 = HEAP32[$0 >> 2]; HEAP32[$0 >> 2] = $1 + 1; HEAP8[($0 + 4 | 0) + $1 | 0] = $2; jslGetNextCh(); - if (!(HEAP8[HEAP32[45251]] < 48 | HEAP8[HEAP32[45251]] > 55)) { - $2 = HEAPU8[HEAP32[45251]]; + if (!(HEAP8[HEAP32[45279]] < 48 | HEAP8[HEAP32[45279]] > 55)) { + $2 = HEAPU8[HEAP32[45279]]; $1 = HEAP32[$0 >> 2]; HEAP32[$0 >> 2] = $1 + 1; HEAP8[($0 + 4 | 0) + $1 | 0] = $2; @@ -21293,11 +21308,11 @@ function jslLexString() { jsvStringIteratorAppend($0 + 40 | 0, HEAP8[$0 + 31 | 0]); break label$12; } - if (!(HEAP8[$0 + 79 | 0] == 96 | HEAP8[HEAP32[45251]] != 10)) { + if (!(HEAP8[$0 + 79 | 0] == 96 | HEAP8[HEAP32[45279]] != 10)) { break label$7; } - jsvStringIteratorAppend($0 + 40 | 0, HEAP8[HEAP32[45251]]); - HEAP8[$0 + 39 | 0] = HEAPU8[HEAP32[45251]]; + jsvStringIteratorAppend($0 + 40 | 0, HEAP8[HEAP32[45279]]); + HEAP8[$0 + 39 | 0] = HEAPU8[HEAP32[45279]]; jslGetNextCh(); } continue; @@ -21307,13 +21322,13 @@ function jslLexString() { jsvStringIteratorFree($0 + 40 | 0); label$32: { if (HEAP8[$0 + 79 | 0] == 96) { - HEAP16[HEAP32[45251] + 2 >> 1] = 133; + HEAP16[HEAP32[45279] + 2 >> 1] = 133; break label$32; } - HEAP16[HEAP32[45251] + 2 >> 1] = 131; + HEAP16[HEAP32[45279] + 2 >> 1] = 131; } - if (HEAP8[HEAP32[45251]] != HEAP8[$0 + 79 | 0]) { - $1 = HEAP32[45251]; + if (HEAP8[HEAP32[45279]] != HEAP8[$0 + 79 | 0]) { + $1 = HEAP32[45279]; HEAP16[$1 + 2 >> 1] = HEAPU16[$1 + 2 >> 1] + 1; } jslGetNextCh(); @@ -21773,14 +21788,14 @@ function jspeFunctionDefinitionInternal($0, $1) { } break label$2; } - HEAP32[$2 + 48 >> 2] = HEAP32[87266]; - HEAP32[87266] = 1; + HEAP32[$2 + 48 >> 2] = HEAP32[87294]; + HEAP32[87294] = 1; if (!(jslMatch(123) & 1)) { HEAP8[$2 + 111 | 0] = 0; break label$1; } - HEAP32[87266] = HEAP32[$2 + 48 >> 2]; - if (HEAP16[HEAP32[45251] + 2 >> 1] == 131) { + HEAP32[87294] = HEAP32[$2 + 48 >> 2]; + if (HEAP16[HEAP32[45279] + 2 >> 1] == 131) { HEAP32[$2 + 44 >> 2] = jslGetTokenValueAsVar(); label$7: { if (jsvIsStringEqual(HEAP32[$2 + 44 >> 2], 124208) & 1) { @@ -21789,7 +21804,7 @@ function jspeFunctionDefinitionInternal($0, $1) { } if (jsvIsStringEqual(HEAP32[$2 + 44 >> 2], 120230) & 1) { jslGetNextToken(); - if (HEAP16[HEAP32[45251] + 2 >> 1] == 59) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 59) { jslGetNextToken(); } HEAP8[$2 + 55 | 0] = 1; @@ -21797,7 +21812,7 @@ function jspeFunctionDefinitionInternal($0, $1) { } jsvUnLock(HEAP32[$2 + 44 >> 2]); } - if (!(!HEAP32[$2 + 104 >> 2] | HEAP16[HEAP32[45251] + 2 >> 1] != 171)) { + if (!(!HEAP32[$2 + 104 >> 2] | HEAP16[HEAP32[45279] + 2 >> 1] != 171)) { $0 = HEAP32[$2 + 104 >> 2]; $1 = HEAP32[$2 + 104 >> 2]; $1 = (HEAPU8[$1 + 12 | 0] | HEAPU8[$1 + 13 | 0] << 8) & -64 | 9; @@ -21807,54 +21822,54 @@ function jspeFunctionDefinitionInternal($0, $1) { } } jslSkipWhiteSpace(); - jslCharPosNew($2 + 56 | 0, HEAP32[HEAP32[45251] + 84 >> 2], HEAP32[HEAP32[45251] + 4 >> 2]); + jslCharPosNew($2 + 56 | 0, HEAP32[HEAP32[45279] + 84 >> 2], HEAP32[HEAP32[45279] + 4 >> 2]); HEAP32[$2 + 40 >> 2] = -1; - HEAP8[HEAP32[45251] + 81 | 0] = HEAP16[HEAP32[45251] + 2 >> 1] == 175; + HEAP8[HEAP32[45279] + 81 | 0] = HEAP16[HEAP32[45279] + 2 >> 1] == 175; label$12: { if (!(HEAP8[$2 + 103 | 0] & 1)) { HEAP32[$2 + 36 >> 2] = 0; - HEAP32[$2 + 32 >> 2] = HEAP32[87266]; - HEAP32[87266] = 0; + HEAP32[$2 + 32 >> 2] = HEAP32[87294]; + HEAP32[87294] = 0; while (1) { $0 = 0; - if (HEAP16[HEAP32[45251] + 2 >> 1]) { + if (HEAP16[HEAP32[45279] + 2 >> 1]) { $0 = 1; - $0 = HEAP32[$2 + 36 >> 2] ? $0 : HEAP16[HEAP32[45251] + 2 >> 1] != 125; + $0 = HEAP32[$2 + 36 >> 2] ? $0 : HEAP16[HEAP32[45279] + 2 >> 1] != 125; } if ($0 & 1) { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 123) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 123) { HEAP32[$2 + 36 >> 2] = HEAP32[$2 + 36 >> 2] + 1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 125) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 125) { HEAP32[$2 + 36 >> 2] = HEAP32[$2 + 36 >> 2] - 1; } - HEAP32[$2 + 40 >> 2] = jsvStringIteratorGetIndex_3(HEAP32[45251] + 88 | 0) - 1; + HEAP32[$2 + 40 >> 2] = jsvStringIteratorGetIndex_3(HEAP32[45279] + 88 | 0) - 1; jslGetNextToken(); continue; } break; } - HEAP32[87266] = HEAP32[$2 + 32 >> 2]; + HEAP32[87294] = HEAP32[$2 + 32 >> 2]; break label$12; } - HEAP32[$2 + 28 >> 2] = HEAP32[87266]; - HEAP32[87266] = 0; + HEAP32[$2 + 28 >> 2] = HEAP32[87294]; + HEAP32[87294] = 0; jsvUnLock(jspeAssignmentExpression()); - HEAP32[87266] = HEAP32[$2 + 28 >> 2]; - HEAP32[$2 + 40 >> 2] = HEAP32[HEAP32[45251] + 4 >> 2]; + HEAP32[87294] = HEAP32[$2 + 28 >> 2]; + HEAP32[$2 + 40 >> 2] = HEAP32[HEAP32[45279] + 4 >> 2]; } - HEAP8[$2 + 27 | 0] = HEAP8[HEAP32[45251] + 81 | 0] & 1; + HEAP8[$2 + 27 | 0] = HEAP8[HEAP32[45279] + 81 | 0] & 1; if (!(!HEAP32[$2 + 104 >> 2] | HEAP32[$2 + 40 >> 2] <= 0)) { label$21: { label$22: { if (HEAP8[$2 + 55 | 0] & 1) { break label$22; } - if (!(jsvIsNativeString(HEAP32[HEAP32[45251] + 84 >> 2]) & 1)) { + if (!(jsvIsNativeString(HEAP32[HEAP32[45279] + 84 >> 2]) & 1)) { break label$22; } HEAP32[$2 + 16 >> 2] = jsvStringIteratorGetIndex_3($2 + 56 | 0) - 1; - $0 = HEAP32[HEAP32[45251] + 84 >> 2]; + $0 = HEAP32[HEAP32[45279] + 84 >> 2]; HEAP32[$2 + 20 >> 2] = jsvNewNativeString(HEAP32[$2 + 16 >> 2] + (HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) | 0, HEAP32[$2 + 40 >> 2] - HEAP32[$2 + 16 >> 2] | 0); break label$21; } @@ -21863,11 +21878,11 @@ function jspeFunctionDefinitionInternal($0, $1) { if (HEAP8[$2 + 55 | 0] & 1) { break label$24; } - if (!(jsvIsFlashString(HEAP32[HEAP32[45251] + 84 >> 2]) & 1)) { + if (!(jsvIsFlashString(HEAP32[HEAP32[45279] + 84 >> 2]) & 1)) { break label$24; } HEAP32[$2 + 12 >> 2] = jsvStringIteratorGetIndex_3($2 + 56 | 0) - 1; - $0 = HEAP32[HEAP32[45251] + 84 >> 2]; + $0 = HEAP32[HEAP32[45279] + 84 >> 2]; HEAP32[$2 + 20 >> 2] = jsvNewFlashString(HEAP32[$2 + 12 >> 2] + (HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) | 0, HEAP32[$2 + 40 >> 2] - HEAP32[$2 + 12 >> 2] | 0); break label$23; } @@ -22118,7 +22133,7 @@ function jswrap_graphics_floodFill($0, $1, $2, $3) { break; } if (HEAP32[$4 + 12 >> 2]) { - jsiConsolePrintf(146918, 0); + jsiConsolePrintf(147016, 0); } graphicsSetVar($4 + 32 | 0); HEAP32[$4 + 124 >> 2] = jsvLockAgain(HEAP32[$4 + 120 >> 2]); @@ -22247,7 +22262,7 @@ function lcdMemLCD_flip($0) { $0 = HEAP32[$1 + 332 >> 2]; $2 = HEAP32[$1 + 332 >> 2]; if ((HEAPU8[$0 + 42 | 0] | HEAPU8[$0 + 43 | 0] << 8) << 16 >> 16 <= (HEAPU8[$2 + 46 | 0] | HEAPU8[$2 + 47 | 0] << 8) << 16 >> 16) { - HEAP8[351564] = 1; + HEAP8[351676] = 1; lcdMemLCD_waitForSendComplete(); $0 = HEAP32[$1 + 332 >> 2]; HEAP32[$1 + 328 >> 2] = (HEAPU8[$0 + 42 | 0] | HEAPU8[$0 + 43 | 0] << 8) << 16 >> 16; @@ -22255,17 +22270,17 @@ function lcdMemLCD_flip($0) { HEAP32[$1 + 324 >> 2] = (HEAPU8[$0 + 46 | 0] | HEAPU8[$0 + 47 | 0] << 8) << 16 >> 16; HEAP32[$1 + 320 >> 2] = (HEAP32[$1 + 324 >> 2] + 1 | 0) - HEAP32[$1 + 328 >> 2]; HEAP8[$1 + 319 | 0] = 0; - if (HEAP32[93911]) { - HEAP8[$1 + 319 | 0] = _jswrap_graphics_parseImage(HEAP32[$1 + 332 >> 2], HEAP32[93911], 0, $1 + 232 | 0) & 1; + if (HEAP32[93939]) { + HEAP8[$1 + 319 | 0] = _jswrap_graphics_parseImage(HEAP32[$1 + 332 >> 2], HEAP32[93939], 0, $1 + 232 | 0) & 1; } jshPinSetValue(5, 1); label$3: { if (HEAP8[$1 + 319 | 0] & 1) { - HEAP8[$1 + 231 | 0] = ((HEAPU8[351500] | HEAPU8[351501] << 8 | (HEAPU8[351502] << 16 | HEAPU8[351503] << 24)) & 112) == 96; + HEAP8[$1 + 231 | 0] = ((HEAPU8[351612] | HEAPU8[351613] << 8 | (HEAPU8[351614] << 16 | HEAPU8[351615] << 24)) & 112) == 96; if (HEAP8[$1 + 231 | 0] & 1) { - $0 = 176 - (HEAP16[187824] + HEAP32[$1 + 236 >> 2] | 0) | 0; + $0 = 176 - (HEAP16[187880] + HEAP32[$1 + 236 >> 2] | 0) | 0; } else { - $0 = HEAP16[187824]; + $0 = HEAP16[187880]; } HEAP32[$1 + 224 >> 2] = $0; $0 = HEAP32[$1 + 332 >> 2]; @@ -22273,13 +22288,13 @@ function lcdMemLCD_flip($0) { $0 = HEAP32[$1 + 332 >> 2]; HEAP32[$1 + 216 >> 2] = HEAPU8[$0 + 21 | 0] | HEAPU8[$0 + 22 | 0] << 8 | (HEAPU8[$0 + 23 | 0] << 16 | HEAPU8[$0 + 24 | 0] << 24); $0 = HEAP32[$1 + 332 >> 2]; - $2 = HEAPU8[351476] | HEAPU8[351477] << 8; + $2 = HEAPU8[351588] | HEAPU8[351589] << 8; HEAP8[$0 + 17 | 0] = $2; HEAP8[$0 + 18 | 0] = $2 >>> 8; HEAP8[$0 + 19 | 0] = $2 >>> 16; HEAP8[$0 + 20 | 0] = $2 >>> 24; $0 = HEAP32[$1 + 332 >> 2]; - $2 = HEAPU8[351478] | HEAPU8[351479] << 8; + $2 = HEAPU8[351590] | HEAPU8[351591] << 8; HEAP8[$0 + 21 | 0] = $2; HEAP8[$0 + 22 | 0] = $2 >>> 8; HEAP8[$0 + 23 | 0] = $2 >>> 16; @@ -22298,14 +22313,14 @@ function lcdMemLCD_flip($0) { while (1) { if (HEAP32[$1 + 20 >> 2] <= HEAP32[$1 + 324 >> 2]) { HEAP32[$1 + 16 >> 2] = (HEAP32[$1 + 20 >> 2] & 1) + 176; - HEAP32[$1 + 12 >> 2] = Math_imul(HEAP32[$1 + 16 >> 2], 68) + 363536; - __memcpy(HEAP32[$1 + 12 >> 2], Math_imul(HEAP32[$1 + 20 >> 2], 68) + 363536 | 0, 68); + HEAP32[$1 + 12 >> 2] = Math_imul(HEAP32[$1 + 16 >> 2], 68) + 363648; + __memcpy(HEAP32[$1 + 12 >> 2], Math_imul(HEAP32[$1 + 20 >> 2], 68) + 363648 | 0, 68); if (!(HEAP32[$1 + 20 >> 2] < HEAP32[$1 + 224 >> 2] | HEAP32[$1 + 20 >> 2] >= (HEAP32[$1 + 224 >> 2] + HEAP32[$1 + 236 >> 2] | 0))) { _jswrap_drawImageLayerStartX($1 + 24 | 0); HEAP32[$1 + 8 >> 2] = 0; while (1) { if (HEAP32[$1 + 8 >> 2] < HEAP32[$1 + 232 >> 2]) { - HEAP32[$1 >> 2] = HEAP32[$1 + 8 >> 2] + HEAP16[187825]; + HEAP32[$1 >> 2] = HEAP32[$1 + 8 >> 2] + HEAP16[187881]; if (!(!(_jswrap_drawImageLayerGetPixel($1 + 24 | 0, $1 + 4 | 0) & 1) | HEAP32[$1 >> 2] >= 176 | HEAP32[$1 >> 2] < 0)) { lcdMemLCD_setPixel(0, HEAP32[$1 >> 2], HEAP32[$1 + 16 >> 2], HEAP32[$1 + 4 >> 2]); } @@ -22317,7 +22332,7 @@ function lcdMemLCD_flip($0) { } } _jswrap_drawImageLayerNextY($1 + 24 | 0); - __memcpy(Math_imul(HEAP32[$1 + 20 >> 2], 68) + 351568 | 0, HEAP32[$1 + 12 >> 2], 68); + __memcpy(Math_imul(HEAP32[$1 + 20 >> 2], 68) + 351680 | 0, HEAP32[$1 + 12 >> 2], 68); HEAP32[$1 + 20 >> 2] = HEAP32[$1 + 20 >> 2] + 1; continue; } @@ -22339,7 +22354,7 @@ function lcdMemLCD_flip($0) { HEAP8[$0 + 24 | 0] = $2 >>> 24; break label$3; } - __memcpy(351568, 363536, 11968); + __memcpy(351680, 363648, 11968); } $0 = HEAP32[$1 + 332 >> 2]; HEAP8[$0 + 44 | 0] = 0; @@ -22495,9 +22510,9 @@ function tflite__ops__micro__quantize__Prepare_28TfLiteContext__2c_20TfLiteNode_ $3 = tflite__NumInputs_28TfLiteNode_20const__29(HEAP32[$2 + 148 >> 2]); HEAP32[$2 + 12 >> 2] = 1; HEAP32[$2 + 8 >> 2] = $3; - HEAP32[$2 + 4 >> 2] = 129233; - HEAP32[$2 >> 2] = 145340; - FUNCTION_TABLE[$0 | 0]($1, 145571, $2); + HEAP32[$2 + 4 >> 2] = 129223; + HEAP32[$2 >> 2] = 145438; + FUNCTION_TABLE[$0 | 0]($1, 145669, $2); HEAP32[$2 + 156 >> 2] = 1; break label$2; } @@ -22507,9 +22522,9 @@ function tflite__ops__micro__quantize__Prepare_28TfLiteContext__2c_20TfLiteNode_ $3 = tflite__NumOutputs_28TfLiteNode_20const__29(HEAP32[$2 + 148 >> 2]); HEAP32[$2 + 28 >> 2] = 1; HEAP32[$2 + 24 >> 2] = $3; - HEAP32[$2 + 20 >> 2] = 129233; - HEAP32[$2 + 16 >> 2] = 145323; - FUNCTION_TABLE[$0 | 0]($1, 145571, $2 + 16 | 0); + HEAP32[$2 + 20 >> 2] = 129223; + HEAP32[$2 + 16 >> 2] = 145421; + FUNCTION_TABLE[$0 | 0]($1, 145669, $2 + 16 | 0); HEAP32[$2 + 156 >> 2] = 1; break label$2; } @@ -22523,7 +22538,7 @@ function tflite__ops__micro__quantize__Prepare_28TfLiteContext__2c_20TfLiteNode_ HEAP32[$2 + 40 >> 2] = $3; HEAP32[$2 + 36 >> 2] = 119918; HEAP32[$2 + 32 >> 2] = 122446; - FUNCTION_TABLE[$0 | 0]($1, 145571, $2 + 32 | 0); + FUNCTION_TABLE[$0 | 0]($1, 145669, $2 + 32 | 0); HEAP32[$2 + 156 >> 2] = 1; break label$2; } @@ -22547,7 +22562,7 @@ function tflite__ops__micro__quantize__Prepare_28TfLiteContext__2c_20TfLiteNode_ if (HEAP32[HEAP32[HEAP32[$2 + 132 >> 2] >> 2] >> 2] != 1) { $0 = HEAP32[HEAP32[$2 + 152 >> 2] + 20 >> 2]; $1 = HEAP32[$2 + 152 >> 2]; - HEAP32[$2 + 80 >> 2] = 129197; + HEAP32[$2 + 80 >> 2] = 129187; FUNCTION_TABLE[$0 | 0]($1, 129822, $2 + 80 | 0); HEAP32[$2 + 156 >> 2] = 1; break label$2; @@ -22591,7 +22606,7 @@ function jspeFactorObject() { $0 = __stack_pointer - 112 | 0; __stack_pointer = $0; label$1: { - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { HEAP32[$0 + 104 >> 2] = jsvNewObject(); if (!HEAP32[$0 + 104 >> 2]) { jspSetError(0); @@ -22604,21 +22619,21 @@ function jspeFactorObject() { } while (1) { $1 = 0; - $1 = HEAP32[87266] & 80 ? $1 : HEAP16[HEAP32[45251] + 2 >> 1] != 125; + $1 = HEAP32[87294] & 80 ? $1 : HEAP16[HEAP32[45279] + 2 >> 1] != 125; if ($1) { HEAP32[$0 + 100 >> 2] = 0; HEAP8[$0 + 99 | 0] = 0; label$8: { if (jslIsIDOrReservedWord() & 1) { - HEAP8[$0 + 99 | 0] = HEAP16[HEAP32[45251] + 2 >> 1] == 128; - if ((HEAP32[87266] & 63) == 1) { + HEAP8[$0 + 99 | 0] = HEAP16[HEAP32[45279] + 2 >> 1] == 128; + if ((HEAP32[87294] & 63) == 1) { HEAP32[$0 + 100 >> 2] = jslGetTokenValueAsVar(); } jslGetNextToken(); break label$8; } label$11: { - if (!(!(HEAP16[HEAP32[45251] + 2 >> 1] == 131 | HEAP16[HEAP32[45251] + 2 >> 1] == 130) & HEAP16[HEAP32[45251] + 2 >> 1] != 129)) { + if (!(!(HEAP16[HEAP32[45279] + 2 >> 1] == 131 | HEAP16[HEAP32[45279] + 2 >> 1] == 130) & HEAP16[HEAP32[45279] + 2 >> 1] != 129)) { HEAP32[$0 + 100 >> 2] = jspeFactor(); break label$11; } @@ -22630,7 +22645,7 @@ function jspeFactorObject() { } label$15: { label$16: { - if (HEAP16[HEAP32[45251] + 2 >> 1] != 128) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 128) { break label$16; } if (!(jsvIsString(HEAP32[$0 + 100 >> 2]) & 1)) { @@ -22649,7 +22664,7 @@ function jspeFactorObject() { break label$15; } label$19: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 40) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 40) { HEAP32[$0 + 88 >> 2] = jsvFindChildFromVar(HEAP32[$0 + 104 >> 2], HEAP32[$0 + 100 >> 2], 1); if (HEAP32[$0 + 88 >> 2]) { HEAP32[$0 + 84 >> 2] = jspeFunctionDefinition(0); @@ -22659,13 +22674,13 @@ function jspeFactorObject() { } label$22: { label$23: { - if (!(HEAP8[$0 + 99 | 0] & 1) | HEAP16[HEAP32[45251] + 2 >> 1] != 44 & HEAP16[HEAP32[45251] + 2 >> 1] != 125) { + if (!(HEAP8[$0 + 99 | 0] & 1) | HEAP16[HEAP32[45279] + 2 >> 1] != 44 & HEAP16[HEAP32[45279] + 2 >> 1] != 125) { break label$23; } if (!(jsvIsString(HEAP32[$0 + 100 >> 2]) & 1)) { break label$23; } - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { HEAP32[$0 + 100 >> 2] = jsvAsArrayIndexAndUnLock(HEAP32[$0 + 100 >> 2]); HEAP32[$0 + 80 >> 2] = jsvFindChildFromVar(HEAP32[$0 + 104 >> 2], HEAP32[$0 + 100 >> 2], 1); if (HEAP32[$0 + 80 >> 2]) { @@ -22681,7 +22696,7 @@ function jspeFactorObject() { HEAP32[$0 + 108 >> 2] = HEAP32[$0 + 104 >> 2]; break label$1; } - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { HEAP32[$0 + 100 >> 2] = jsvAsArrayIndexAndUnLock(HEAP32[$0 + 100 >> 2]); HEAP32[$0 + 8 >> 2] = jsvFindChildFromVar(HEAP32[$0 + 104 >> 2], HEAP32[$0 + 100 >> 2], 1); if (HEAP32[$0 + 8 >> 2]) { @@ -22693,7 +22708,7 @@ function jspeFactorObject() { } } jsvUnLock(HEAP32[$0 + 100 >> 2]); - if (HEAP16[HEAP32[45251] + 2 >> 1] != 125) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 125) { if (!(jslMatch(44) & 1)) { HEAP32[$0 + 108 >> 2] = HEAP32[$0 + 104 >> 2]; break label$1; @@ -22916,49 +22931,49 @@ function jswFindBuiltInFunction($0, $1) { } } if (jsvIsPin(HEAP32[$2 + 40 >> 2]) & 1) { - HEAP32[$2 + 32 >> 2] = jswBinarySearch(159305, HEAP32[$2 + 40 >> 2], HEAP32[$2 + 36 >> 2]); + HEAP32[$2 + 32 >> 2] = jswBinarySearch(159417, HEAP32[$2 + 40 >> 2], HEAP32[$2 + 36 >> 2]); if (HEAP32[$2 + 32 >> 2]) { HEAP32[$2 + 44 >> 2] = HEAP32[$2 + 32 >> 2]; break label$1; } } if (jsvIsArray(HEAP32[$2 + 40 >> 2]) & 1) { - HEAP32[$2 + 32 >> 2] = jswBinarySearch(159368, HEAP32[$2 + 40 >> 2], HEAP32[$2 + 36 >> 2]); + HEAP32[$2 + 32 >> 2] = jswBinarySearch(159480, HEAP32[$2 + 40 >> 2], HEAP32[$2 + 36 >> 2]); if (HEAP32[$2 + 32 >> 2]) { HEAP32[$2 + 44 >> 2] = HEAP32[$2 + 32 >> 2]; break label$1; } } if (!(!(jsvIsArrayBuffer(HEAP32[$2 + 40 >> 2]) & 1) | HEAPU8[HEAP32[$2 + 40 >> 2] + 5 | 0] != 129)) { - HEAP32[$2 + 32 >> 2] = jswBinarySearch(159386, HEAP32[$2 + 40 >> 2], HEAP32[$2 + 36 >> 2]); + HEAP32[$2 + 32 >> 2] = jswBinarySearch(159498, HEAP32[$2 + 40 >> 2], HEAP32[$2 + 36 >> 2]); if (HEAP32[$2 + 32 >> 2]) { HEAP32[$2 + 44 >> 2] = HEAP32[$2 + 32 >> 2]; break label$1; } } if (!(!(jsvIsArrayBuffer(HEAP32[$2 + 40 >> 2]) & 1) | HEAPU8[HEAP32[$2 + 40 >> 2] + 5 | 0] == 129)) { - HEAP32[$2 + 32 >> 2] = jswBinarySearch(159395, HEAP32[$2 + 40 >> 2], HEAP32[$2 + 36 >> 2]); + HEAP32[$2 + 32 >> 2] = jswBinarySearch(159507, HEAP32[$2 + 40 >> 2], HEAP32[$2 + 36 >> 2]); if (HEAP32[$2 + 32 >> 2]) { HEAP32[$2 + 44 >> 2] = HEAP32[$2 + 32 >> 2]; break label$1; } } if (jsvIsNumeric(HEAP32[$2 + 40 >> 2]) & 1) { - HEAP32[$2 + 32 >> 2] = jswBinarySearch(159503, HEAP32[$2 + 40 >> 2], HEAP32[$2 + 36 >> 2]); + HEAP32[$2 + 32 >> 2] = jswBinarySearch(159615, HEAP32[$2 + 40 >> 2], HEAP32[$2 + 36 >> 2]); if (HEAP32[$2 + 32 >> 2]) { HEAP32[$2 + 44 >> 2] = HEAP32[$2 + 32 >> 2]; break label$1; } } if (jsvIsFunction(HEAP32[$2 + 40 >> 2]) & 1) { - HEAP32[$2 + 32 >> 2] = jswBinarySearch(159530, HEAP32[$2 + 40 >> 2], HEAP32[$2 + 36 >> 2]); + HEAP32[$2 + 32 >> 2] = jswBinarySearch(159642, HEAP32[$2 + 40 >> 2], HEAP32[$2 + 36 >> 2]); if (HEAP32[$2 + 32 >> 2]) { HEAP32[$2 + 44 >> 2] = HEAP32[$2 + 32 >> 2]; break label$1; } } if (jsvIsString(HEAP32[$2 + 40 >> 2]) & 1) { - HEAP32[$2 + 32 >> 2] = jswBinarySearch(159548, HEAP32[$2 + 40 >> 2], HEAP32[$2 + 36 >> 2]); + HEAP32[$2 + 32 >> 2] = jswBinarySearch(159660, HEAP32[$2 + 40 >> 2], HEAP32[$2 + 36 >> 2]); if (HEAP32[$2 + 32 >> 2]) { HEAP32[$2 + 44 >> 2] = HEAP32[$2 + 32 >> 2]; break label$1; @@ -23002,7 +23017,7 @@ function jswFindBuiltInFunction($0, $1) { } jsvUnLock(HEAP32[$2 + 20 >> 2]); } - HEAP32[$2 + 32 >> 2] = jswBinarySearch(159512, HEAP32[$2 + 40 >> 2], HEAP32[$2 + 36 >> 2]); + HEAP32[$2 + 32 >> 2] = jswBinarySearch(159624, HEAP32[$2 + 40 >> 2], HEAP32[$2 + 36 >> 2]); if (HEAP32[$2 + 32 >> 2]) { HEAP32[$2 + 44 >> 2] = HEAP32[$2 + 32 >> 2]; break label$1; @@ -23014,7 +23029,7 @@ function jswFindBuiltInFunction($0, $1) { HEAP32[$2 + 44 >> 2] = jsvNewFromPin(HEAPU8[$2 + 15 | 0]); break label$1; } - HEAP32[$2 + 44 >> 2] = jswBinarySearch(159314, HEAP32[$2 + 40 >> 2], HEAP32[$2 + 36 >> 2]); + HEAP32[$2 + 44 >> 2] = jswBinarySearch(159426, HEAP32[$2 + 40 >> 2], HEAP32[$2 + 36 >> 2]); break label$1; } HEAP32[$2 + 44 >> 2] = 0; @@ -23234,7 +23249,7 @@ function tflite__MicroInterpreter__AllocateTensors_28_29($0) { $0 = HEAP32[$1 + 56 >> 2]; label$1: { if (tflite__MicroAllocator__StartModelAllocation_28tflite__Model_20const__2c_20tflite__MicroOpResolver_20const__2c_20tflite__NodeAndRegistration___2c_20TfLiteEvalTensor___29(HEAP32[$0 + 104 >> 2], HEAP32[$0 + 4 >> 2], HEAP32[$0 + 8 >> 2], $0, $0 + 120 | 0)) { - tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$0 + 12 >> 2], 148006, 0); + tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$0 + 12 >> 2], 148104, 0); HEAP32[$0 + 112 >> 2] = 1; HEAP32[$1 + 60 >> 2] = 1; break label$1; @@ -23708,32 +23723,32 @@ function jspeStatement() { label$1: { label$2: { label$3: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 128 | HEAP16[HEAP32[45251] + 2 >> 1] == 129 | (HEAP16[HEAP32[45251] + 2 >> 1] == 130 | HEAP16[HEAP32[45251] + 2 >> 1] == 131)) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 128 | HEAP16[HEAP32[45279] + 2 >> 1] == 129 | (HEAP16[HEAP32[45279] + 2 >> 1] == 130 | HEAP16[HEAP32[45279] + 2 >> 1] == 131)) { break label$3; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 133 | HEAP16[HEAP32[45251] + 2 >> 1] == 135 | (HEAP16[HEAP32[45251] + 2 >> 1] == 184 | HEAP16[HEAP32[45251] + 2 >> 1] == 182)) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 133 | HEAP16[HEAP32[45279] + 2 >> 1] == 135 | (HEAP16[HEAP32[45279] + 2 >> 1] == 184 | HEAP16[HEAP32[45279] + 2 >> 1] == 182)) { break label$3; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 183 | HEAP16[HEAP32[45251] + 2 >> 1] == 180 | (HEAP16[HEAP32[45251] + 2 >> 1] == 181 | HEAP16[HEAP32[45251] + 2 >> 1] == 175)) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 183 | HEAP16[HEAP32[45279] + 2 >> 1] == 180 | (HEAP16[HEAP32[45279] + 2 >> 1] == 181 | HEAP16[HEAP32[45279] + 2 >> 1] == 175)) { break label$3; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 190 | HEAP16[HEAP32[45251] + 2 >> 1] == 191 | (HEAP16[HEAP32[45251] + 2 >> 1] == 192 | HEAP16[HEAP32[45251] + 2 >> 1] == 196)) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 190 | HEAP16[HEAP32[45279] + 2 >> 1] == 191 | (HEAP16[HEAP32[45279] + 2 >> 1] == 192 | HEAP16[HEAP32[45279] + 2 >> 1] == 196)) { break label$3; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 152 | HEAP16[HEAP32[45251] + 2 >> 1] == 153 | (HEAP16[HEAP32[45251] + 2 >> 1] == 33 | HEAP16[HEAP32[45251] + 2 >> 1] == 45)) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 152 | HEAP16[HEAP32[45279] + 2 >> 1] == 153 | (HEAP16[HEAP32[45279] + 2 >> 1] == 33 | HEAP16[HEAP32[45279] + 2 >> 1] == 45)) { break label$3; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 43 | HEAP16[HEAP32[45251] + 2 >> 1] == 126 | HEAP16[HEAP32[45251] + 2 >> 1] == 91) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 43 | HEAP16[HEAP32[45279] + 2 >> 1] == 126 | HEAP16[HEAP32[45279] + 2 >> 1] == 91) { break label$3; } - if (HEAP16[HEAP32[45251] + 2 >> 1] != 40) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 40) { break label$2; } } HEAP32[$0 + 12 >> 2] = jspeExpression(); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 123) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 123) { if (!(jspCheckStackPosition() & 1)) { HEAP32[$0 + 12 >> 2] = 0; break label$1; @@ -23742,85 +23757,85 @@ function jspeStatement() { HEAP32[$0 + 12 >> 2] = 0; break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 59) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 59) { jslGetNextToken(); HEAP32[$0 + 12 >> 2] = 0; break label$1; } - if (!(!(HEAP16[HEAP32[45251] + 2 >> 1] == 172 | HEAP16[HEAP32[45251] + 2 >> 1] == 173) & HEAP16[HEAP32[45251] + 2 >> 1] != 174)) { + if (!(!(HEAP16[HEAP32[45279] + 2 >> 1] == 172 | HEAP16[HEAP32[45279] + 2 >> 1] == 173) & HEAP16[HEAP32[45279] + 2 >> 1] != 174)) { HEAP32[$0 + 12 >> 2] = jspeStatementVar(); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 163) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 163) { HEAP32[$0 + 12 >> 2] = jspeStatementIf(); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 165) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 165) { HEAP32[$0 + 12 >> 2] = jspeStatementDoOrWhile(0); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 166) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 166) { HEAP32[$0 + 12 >> 2] = jspeStatementDoOrWhile(1); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 167) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 167) { HEAP32[$0 + 12 >> 2] = jspeStatementFor(); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 177) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 177) { HEAP32[$0 + 12 >> 2] = jspeStatementTry(); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 171) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 171) { HEAP32[$0 + 12 >> 2] = jspeStatementReturn(); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 176) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 176) { HEAP32[$0 + 12 >> 2] = jspeStatementThrow(); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 170) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 170) { HEAP32[$0 + 12 >> 2] = jspeStatementFunctionDecl(0); break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 194) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 194) { HEAP32[$0 + 12 >> 2] = jspeStatementFunctionDecl(1); break label$1; } label$18: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 169) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 169) { jslGetNextToken(); - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { label$21: { - if (!(HEAP32[87266] & 512)) { + if (!(HEAP32[87294] & 512)) { jsExceptionHere(2, 119381, 0); break label$21; } - HEAP32[87266] = HEAP32[87266] & -64 | 4; + HEAP32[87294] = HEAP32[87294] & -64 | 4; } } break label$18; } label$23: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 168) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 168) { jslGetNextToken(); - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { label$26: { - if (!(HEAP32[87266] & 1536)) { + if (!(HEAP32[87294] & 1536)) { jsExceptionHere(2, 119429, 0); break label$26; } - HEAP32[87266] = HEAP32[87266] & -64 | 2; + HEAP32[87294] = HEAP32[87294] & -64 | 2; } } break label$23; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 187) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 187) { HEAP32[$0 + 12 >> 2] = jspeStatementSwitch(); break label$1; } label$29: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 193) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 193) { jslGetNextToken(); break label$29; } @@ -24113,27 +24128,27 @@ function jsiDumpHardwareInitialisation($0, $1, $2) { HEAP32[$3 + 92 >> 2] = $0; HEAP32[$3 + 88 >> 2] = $1; HEAP8[$3 + 87 | 0] = $2; - if (HEAP16[174550] & 1) { + if (HEAP16[174606] & 1) { FUNCTION_TABLE[HEAP32[$3 + 92 >> 2]](127920, HEAP32[$3 + 88 >> 2]); } - if (HEAPU8[180353] != 255) { + if (HEAPU8[180465] != 255) { $0 = HEAP32[$3 + 92 >> 2]; $1 = HEAP32[$3 + 88 >> 2]; - HEAP32[$3 + 64 >> 2] = HEAPU8[180353]; - cbprintf($0, $1, 147757, $3 - -64 | 0); + HEAP32[$3 + 64 >> 2] = HEAPU8[180465]; + cbprintf($0, $1, 147855, $3 - -64 | 0); } - if (HEAPU8[180354] != 255) { + if (HEAPU8[180466] != 255) { $0 = HEAP32[$3 + 92 >> 2]; $1 = HEAP32[$3 + 88 >> 2]; - HEAP32[$3 + 48 >> 2] = HEAPU8[180354]; - cbprintf($0, $1, 147780, $3 + 48 | 0); + HEAP32[$3 + 48 >> 2] = HEAPU8[180466]; + cbprintf($0, $1, 147878, $3 + 48 | 0); } - if (!(!(HEAP8[$3 + 87 | 0] & 1) | !HEAPU8[181008])) { + if (!(!(HEAP8[$3 + 87 | 0] & 1) | !HEAPU8[181120])) { HEAP32[$3 + 80 >> 2] = jsfGetFlags(); $0 = HEAP32[$3 + 92 >> 2]; $1 = HEAP32[$3 + 88 >> 2]; HEAP32[$3 + 32 >> 2] = HEAP32[$3 + 80 >> 2]; - cbprintf($0, $1, 147804, $3 + 32 | 0); + cbprintf($0, $1, 147902, $3 + 32 | 0); jsvUnLock(HEAP32[$3 + 80 >> 2]); } jsiDumpSerialInitialisation(HEAP32[$3 + 92 >> 2], HEAP32[$3 + 88 >> 2], 127732, HEAP8[$3 + 87 | 0] & 1); @@ -24203,7 +24218,7 @@ function jsiDumpHardwareInitialisation($0, $1, $2) { $2 = HEAPU8[$3 + 75 | 0]; HEAP32[$3 + 20 >> 2] = HEAP8[$3 + 72 | 0] & 1; HEAP32[$3 + 16 >> 2] = $2; - cbprintf($0, $1, 147821, $3 + 16 | 0); + cbprintf($0, $1, 147919, $3 + 16 | 0); break label$16; } if (!(HEAPU8[$3 + 75 | 0] != 17 | HEAPU8[$3 + 73 | 0] != 6)) { @@ -24216,10 +24231,10 @@ function jsiDumpHardwareInitialisation($0, $1, $2) { $1 = HEAP32[$3 + 88 >> 2]; $2 = HEAPU8[$3 + 75 | 0]; $4 = HEAP32[$3 + 68 >> 2]; - HEAP32[$3 + 8 >> 2] = jshGetPinStateIsManual(HEAPU8[$3 + 75 | 0]) & 1 ? 148654 : 121952; + HEAP32[$3 + 8 >> 2] = jshGetPinStateIsManual(HEAPU8[$3 + 75 | 0]) & 1 ? 148752 : 121952; HEAP32[$3 + 4 >> 2] = $4; HEAP32[$3 >> 2] = $2; - cbprintf($0, $1, 147737, $3); + cbprintf($0, $1, 147835, $3); } jsvUnLock(HEAP32[$3 + 68 >> 2]); } @@ -24469,10 +24484,10 @@ function jswrap_graphics_blit($0, $1) { HEAP32[$2 + 108 >> 2] = 0; HEAP32[$2 + 104 >> 2] = 0; HEAP8[$2 + 103 | 0] = 0; - HEAP32[$2 + 16 >> 2] = 129093; + HEAP32[$2 + 16 >> 2] = 129083; HEAP16[$2 + 20 >> 1] = 10; HEAP32[$2 + 24 >> 2] = $2 + 124; - HEAP32[$2 + 28 >> 2] = 129090; + HEAP32[$2 + 28 >> 2] = 129080; HEAP16[$2 + 32 >> 1] = 10; HEAP32[$2 + 36 >> 2] = $2 + 120; HEAP32[$2 + 40 >> 2] = 114572; @@ -24481,10 +24496,10 @@ function jswrap_graphics_blit($0, $1) { HEAP32[$2 + 52 >> 2] = 121187; HEAP16[$2 + 56 >> 1] = 10; HEAP32[$2 + 60 >> 2] = $2 + 112; - HEAP32[$2 + 64 >> 2] = 128786; + HEAP32[$2 + 64 >> 2] = 128776; HEAP16[$2 + 68 >> 1] = 10; HEAP32[$2 + 72 >> 2] = $2 + 108; - HEAP32[$2 + 76 >> 2] = 128783; + HEAP32[$2 + 76 >> 2] = 128773; HEAP16[$2 + 80 >> 1] = 10; HEAP32[$2 + 84 >> 2] = $2 + 104; HEAP32[$2 + 88 >> 2] = 124297; @@ -24651,7 +24666,7 @@ function jswrap_e_dumpVariables() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0; $0 = __stack_pointer - 128 | 0; __stack_pointer = $0; - jsiConsolePrintf(148253, 0); + jsiConsolePrintf(148351, 0); HEAP32[$0 + 124 >> 2] = 0; while (1) { if (HEAPU32[$0 + 124 >> 2] < jsvGetMemoryTotal() >>> 0) { @@ -24762,7 +24777,7 @@ function jswrap_e_dumpVariables() { break; } } - jsiConsolePrintString(148653); + jsiConsolePrintString(148751); } HEAP32[$0 + 124 >> 2] = HEAP32[$0 + 124 >> 2] + 1; continue; @@ -24792,7 +24807,7 @@ function tflite__ops__micro__conv__CalculateOpData_28TfLiteContext__2c_20TfLiteN if (!(HEAP8[$11 + 79 | 0] & 1 | HEAP32[HEAP32[HEAP32[$11 + 116 >> 2] >> 2] >> 2] == 2)) { $0 = HEAP32[HEAP32[$11 + 120 >> 2] + 20 >> 2]; $1 = HEAP32[$11 + 120 >> 2]; - HEAP32[$11 + 16 >> 2] = 129009; + HEAP32[$11 + 16 >> 2] = 128999; FUNCTION_TABLE[$0 | 0]($1, 129822, $11 + 16 | 0); HEAP32[$11 + 124 >> 2] = 1; break label$1; @@ -24803,9 +24818,9 @@ function tflite__ops__micro__conv__CalculateOpData_28TfLiteContext__2c_20TfLiteN $2 = HEAP32[HEAP32[HEAP32[$11 + 116 >> 2] + 4 >> 2] >> 2]; HEAP32[$11 + 12 >> 2] = 1; HEAP32[$11 + 8 >> 2] = $2; - HEAP32[$11 + 4 >> 2] = 129233; + HEAP32[$11 + 4 >> 2] = 129223; HEAP32[$11 >> 2] = 121765; - FUNCTION_TABLE[$0 | 0]($1, 145571, $11); + FUNCTION_TABLE[$0 | 0]($1, 145669, $11); HEAP32[$11 + 124 >> 2] = 1; break label$1; } @@ -24849,24 +24864,24 @@ function __jspeAssignmentExpression($0) { HEAP32[$1 + 28 >> 2] = $0; label$1: { label$2: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 61 | HEAP16[HEAP32[45251] + 2 >> 1] == 150 | (HEAP16[HEAP32[45251] + 2 >> 1] == 151 | HEAP16[HEAP32[45251] + 2 >> 1] == 154)) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 61 | HEAP16[HEAP32[45279] + 2 >> 1] == 150 | (HEAP16[HEAP32[45279] + 2 >> 1] == 151 | HEAP16[HEAP32[45279] + 2 >> 1] == 154)) { break label$2; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 155 | HEAP16[HEAP32[45251] + 2 >> 1] == 156 | (HEAP16[HEAP32[45251] + 2 >> 1] == 157 | HEAP16[HEAP32[45251] + 2 >> 1] == 159)) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 155 | HEAP16[HEAP32[45279] + 2 >> 1] == 156 | (HEAP16[HEAP32[45279] + 2 >> 1] == 157 | HEAP16[HEAP32[45279] + 2 >> 1] == 159)) { break label$2; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 161 | HEAP16[HEAP32[45251] + 2 >> 1] == 148 | HEAP16[HEAP32[45251] + 2 >> 1] == 144) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 161 | HEAP16[HEAP32[45279] + 2 >> 1] == 148 | HEAP16[HEAP32[45279] + 2 >> 1] == 144) { break label$2; } - if (HEAP16[HEAP32[45251] + 2 >> 1] != 149) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 149) { break label$1; } } - HEAP32[$1 + 20 >> 2] = HEAP16[HEAP32[45251] + 2 >> 1]; + HEAP32[$1 + 20 >> 2] = HEAP16[HEAP32[45279] + 2 >> 1]; jslGetNextToken(); HEAP32[$1 + 24 >> 2] = jspeAssignmentExpression(); HEAP32[$1 + 24 >> 2] = jsvSkipNameAndUnLock(HEAP32[$1 + 24 >> 2]); - if (!(!HEAP32[$1 + 28 >> 2] | (HEAP32[87266] & 63) != 1)) { + if (!(!HEAP32[$1 + 28 >> 2] | (HEAP32[87294] & 63) != 1)) { label$4: { if (HEAP32[$1 + 20 >> 2] == 61) { jsvReplaceWithOrAddToRoot(HEAP32[$1 + 28 >> 2], HEAP32[$1 + 24 >> 2]); @@ -25944,7 +25959,7 @@ function jsfCompactInternal($0, $1, $2) { HEAP32[$3 + 84 >> 2] = $1; HEAP32[$3 + 80 >> 2] = $2; HEAP32[$3 + 76 >> 2] = HEAP32[$3 + 88 >> 2]; - jsiConsolePrintf(146825, 0); + jsiConsolePrintf(146923, 0); HEAP32[$3 + 72 >> 2] = 0; HEAP32[$3 + 68 >> 2] = 0; HEAP32[$3 + 64 >> 2] = 0; @@ -26022,7 +26037,7 @@ function jsfCompactInternal($0, $1, $2) { } jshFlashErasePages(HEAP32[$3 + 76 >> 2], HEAP32[$3 + 28 >> 2] - HEAP32[$3 + 76 >> 2] | 0); } - jsiConsolePrintf(148653, 0); + jsiConsolePrintf(148751, 0); HEAP8[$3 + 95 | 0] = 1; } __stack_pointer = $3 + 96 | 0; @@ -26343,7 +26358,7 @@ function mbedtls_sha256_finish($0, $1) { $0 = 120 - HEAP32[$2 + 20 >> 2] | 0; } HEAP32[$2 + 16 >> 2] = $0; - mbedtls_sha256_update(HEAP32[$2 + 28 >> 2], 164608, HEAP32[$2 + 16 >> 2]); + mbedtls_sha256_update(HEAP32[$2 + 28 >> 2], 164720, HEAP32[$2 + 16 >> 2]); mbedtls_sha256_update(HEAP32[$2 + 28 >> 2], $2, 8); HEAP8[HEAP32[$2 + 24 >> 2]] = HEAP32[HEAP32[$2 + 28 >> 2] + 8 >> 2] >>> 24; HEAP8[HEAP32[$2 + 24 >> 2] + 1 | 0] = HEAP32[HEAP32[$2 + 28 >> 2] + 8 >> 2] >>> 16; @@ -26659,7 +26674,7 @@ function jshPinFunctionToString($0, $1, $2, $3) { HEAP32[$4 + 40 >> 2] = $1; HEAP32[$4 + 36 >> 2] = $2; HEAP32[$4 + 32 >> 2] = $3; - HEAP32[$4 + 28 >> 2] = 148654; + HEAP32[$4 + 28 >> 2] = 148752; HEAP16[$4 + 26 >> 1] = HEAPU16[$4 + 46 >> 1] & 61440; HEAP16[$4 + 24 >> 1] = 0; HEAP32[$4 + 20 >> 2] = 0; @@ -26727,11 +26742,11 @@ function jshPinFunctionToString($0, $1, $2, $3) { HEAP16[$4 + 24 >> 1] = 384; label$22: { if (!HEAPU16[$4 + 26 >> 1]) { - HEAP32[$4 + 20 >> 2] = 129154; + HEAP32[$4 + 20 >> 2] = 129144; break label$22; } if (HEAPU16[$4 + 26 >> 1] == 4096) { - HEAP32[$4 + 20 >> 2] = 128879; + HEAP32[$4 + 20 >> 2] = 128869; } } break label$20; @@ -26760,7 +26775,7 @@ function jshPinFunctionToString($0, $1, $2, $3) { label$28: { if (!HEAP32[$4 + 28 >> 2]) { HEAP32[$4 >> 2] = HEAPU16[$4 + 46 >> 1]; - jsiConsolePrintf(147579, $4); + jsiConsolePrintf(147677, $4); break label$28; } if (HEAP32[$4 + 40 >> 2] & 1) { @@ -26770,7 +26785,7 @@ function jshPinFunctionToString($0, $1, $2, $3) { itostr_2(HEAP32[$4 + 8 >> 2], HEAP32[$4 + 36 >> 2] + strlen(HEAP32[$4 + 36 >> 2]) | 0, 10); } if (HEAP32[$4 + 40 >> 2] & 4) { - strncat(HEAP32[$4 + 36 >> 2], 146916, HEAP32[$4 + 32 >> 2] - (strlen(HEAP32[$4 + 36 >> 2]) + 1 | 0) | 0); + strncat(HEAP32[$4 + 36 >> 2], 147014, HEAP32[$4 + 32 >> 2] - (strlen(HEAP32[$4 + 36 >> 2]) + 1 | 0) | 0); } if (!HEAP32[$4 + 20 >> 2] | !(HEAP32[$4 + 40 >> 2] & 8)) { break label$28; @@ -26898,9 +26913,9 @@ function jspeStatementSwitch() { break label$1; } HEAP32[$0 + 40 >> 2] = jspeExpression(); - HEAP32[$0 + 36 >> 2] = HEAP32[87266] & 512; - HEAP32[$0 + 32 >> 2] = HEAP32[87266]; - HEAP8[$0 + 31 | 0] = (HEAP32[87266] & 63) == 1; + HEAP32[$0 + 36 >> 2] = HEAP32[87294] & 512; + HEAP32[$0 + 32 >> 2] = HEAP32[87294]; + HEAP8[$0 + 31 | 0] = (HEAP32[87294] & 63) == 1; if (!(jslMatch(41) & 1)) { jsvUnLock(HEAP32[$0 + 40 >> 2]); break label$1; @@ -26916,20 +26931,20 @@ function jspeStatementSwitch() { } HEAP8[$0 + 30 | 0] = 1; if (HEAP8[$0 + 31 | 0] & 1) { - HEAP32[87266] = HEAP32[$0 + 36 >> 2] | 1024; + HEAP32[87294] = HEAP32[$0 + 36 >> 2] | 1024; } while (1) { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 188) { - HEAP32[$0 + 24 >> 2] = HEAP32[87266]; + if (HEAP16[HEAP32[45279] + 2 >> 1] == 188) { + HEAP32[$0 + 24 >> 2] = HEAP32[87294]; if (HEAP8[$0 + 31 | 0] & 1) { - HEAP32[87266] = HEAP32[$0 + 36 >> 2] | 1025; + HEAP32[87294] = HEAP32[$0 + 36 >> 2] | 1025; } if (!(jslMatch(188) & 1)) { jsvUnLock(HEAP32[$0 + 40 >> 2]); break label$1; } HEAP32[$0 + 20 >> 2] = jspeAssignmentExpression(); - HEAP32[87266] = HEAP32[$0 + 24 >> 2] | 1024; + HEAP32[87294] = HEAP32[$0 + 24 >> 2] | 1024; if (!(jslMatch(58) & 1)) { jsvUnLock2(HEAP32[$0 + 40 >> 2], HEAP32[$0 + 20 >> 2]); break label$1; @@ -26942,28 +26957,28 @@ function jspeStatementSwitch() { HEAP8[$0 + 30 | 0] = 0; } jsvUnLock(HEAP32[$0 + 20 >> 2]); - if (!(!(HEAP8[$0 + 19 | 0] & 1) | HEAP32[87266] & 63)) { - HEAP32[87266] = HEAP32[$0 + 36 >> 2] | 1025; + if (!(!(HEAP8[$0 + 19 | 0] & 1) | HEAP32[87294] & 63)) { + HEAP32[87294] = HEAP32[$0 + 36 >> 2] | 1025; } while (1) { $1 = 0; label$16: { - if (HEAP32[87266] & 80) { + if (HEAP32[87294] & 80) { break label$16; } $1 = 0; - if (!HEAP16[HEAP32[45251] + 2 >> 1]) { + if (!HEAP16[HEAP32[45279] + 2 >> 1]) { break label$16; } $1 = 0; - if (HEAP16[HEAP32[45251] + 2 >> 1] == 188) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 188) { break label$16; } $1 = 0; - if (HEAP16[HEAP32[45251] + 2 >> 1] == 189) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 189) { break label$16; } - $1 = HEAP16[HEAP32[45251] + 2 >> 1] != 125; + $1 = HEAP16[HEAP32[45279] + 2 >> 1] != 125; } if ($1) { jsvUnLock(jspeBlockOrStatement()); @@ -26971,48 +26986,48 @@ function jspeStatementSwitch() { } break; } - HEAP32[$0 + 32 >> 2] = HEAP32[$0 + 32 >> 2] | HEAP32[87266] & 124; + HEAP32[$0 + 32 >> 2] = HEAP32[$0 + 32 >> 2] | HEAP32[87294] & 124; continue; } break; } jsvUnLock(HEAP32[$0 + 40 >> 2]); label$18: { - if (!(!(HEAP8[$0 + 31 | 0] & 1) | (HEAP32[87266] & 63) != 2)) { - HEAP32[87266] = HEAP32[$0 + 36 >> 2] | 1025; + if (!(!(HEAP8[$0 + 31 | 0] & 1) | (HEAP32[87294] & 63) != 2)) { + HEAP32[87294] = HEAP32[$0 + 36 >> 2] | 1025; break label$18; } HEAP8[$0 + 30 | 0] = 1; } - HEAP32[87266] = HEAP32[87266] & -1664 | HEAP32[$0 + 32 >> 2] & 1663; - if (HEAP16[HEAP32[45251] + 2 >> 1] == 189) { + HEAP32[87294] = HEAP32[87294] & -1664 | HEAP32[$0 + 32 >> 2] & 1663; + if (HEAP16[HEAP32[45279] + 2 >> 1] == 189) { jslGetNextToken(); if (!(jslMatch(58) & 1)) { break label$1; } - HEAP32[$0 + 12 >> 2] = HEAP32[87266]; + HEAP32[$0 + 12 >> 2] = HEAP32[87294]; label$22: { if (!(HEAP8[$0 + 30 | 0] & 1)) { jspSetNoExecute(); break label$22; } - HEAP32[87266] = HEAP32[87266] | 1024; + HEAP32[87294] = HEAP32[87294] | 1024; } while (1) { $1 = 0; label$25: { - if (HEAP32[87266] & 80) { + if (HEAP32[87294] & 80) { break label$25; } $1 = 0; - if (!HEAP16[HEAP32[45251] + 2 >> 1]) { + if (!HEAP16[HEAP32[45279] + 2 >> 1]) { break label$25; } $1 = 0; - if (HEAP16[HEAP32[45251] + 2 >> 1] == 125) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 125) { break label$25; } - $1 = HEAP16[HEAP32[45251] + 2 >> 1] != 188; + $1 = HEAP16[HEAP32[45279] + 2 >> 1] != 188; } if ($1) { jsvUnLock(jspeBlockOrStatement()); @@ -27020,11 +27035,11 @@ function jspeStatementSwitch() { } break; } - HEAP32[$0 + 12 >> 2] = HEAP32[$0 + 12 >> 2] | HEAP32[87266] & 124; - HEAP32[87266] = HEAP32[87266] & -3; - HEAP32[87266] = HEAP32[87266] & -1664 | HEAP32[$0 + 12 >> 2] & 1663; + HEAP32[$0 + 12 >> 2] = HEAP32[$0 + 12 >> 2] | HEAP32[87294] & 124; + HEAP32[87294] = HEAP32[87294] & -3; + HEAP32[87294] = HEAP32[87294] & -1664 | HEAP32[$0 + 12 >> 2] & 1663; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 188) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 188) { jsExceptionHere(2, 123575, 0); break label$1; } @@ -27240,13 +27255,13 @@ function jspeFactorMember($0, $1) { label$1: { while (1) { $0 = 1; - $0 = HEAP16[HEAP32[45251] + 2 >> 1] != 46 ? HEAP16[HEAP32[45251] + 2 >> 1] == 91 : $0; + $0 = HEAP16[HEAP32[45279] + 2 >> 1] != 46 ? HEAP16[HEAP32[45279] + 2 >> 1] == 91 : $0; if ($0) { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 46) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 46) { jslGetNextToken(); label$6: { if (jslIsIDOrReservedWord() & 1) { - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { HEAP32[$2 + 60 >> 2] = jslGetTokenValueAsString(); HEAP32[$2 + 56 >> 2] = jsvSkipNameWithParent(HEAP32[$2 + 72 >> 2], 1, HEAP32[$2 + 64 >> 2]); HEAP32[$2 + 52 >> 2] = 0; @@ -27282,7 +27297,7 @@ function jspeFactorMember($0, $1) { } continue; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 91) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 91) { jslGetNextToken(); if (!(jspCheckStackPosition() & 1)) { HEAP32[$2 + 76 >> 2] = HEAP32[$2 + 64 >> 2]; @@ -27294,7 +27309,7 @@ function jspeFactorMember($0, $1) { HEAP32[$2 + 76 >> 2] = HEAP32[$2 + 72 >> 2]; break label$1; } - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { HEAP32[$2 + 44 >> 2] = jsvAsArrayIndexAndUnLock(HEAP32[$2 + 44 >> 2]); HEAP32[$2 + 40 >> 2] = jsvSkipNameWithParent(HEAP32[$2 + 72 >> 2], 1, HEAP32[$2 + 64 >> 2]); HEAP32[$2 + 36 >> 2] = 0; @@ -27356,7 +27371,7 @@ function tflite__ops__micro__depthwise_conv___28anonymous_20namespace_29__Calcul if (!(HEAP8[$9 + 71 | 0] & 1 | HEAP32[HEAP32[HEAP32[$9 + 100 >> 2] >> 2] >> 2] == 2)) { $0 = HEAP32[HEAP32[$9 + 104 >> 2] + 20 >> 2]; $1 = HEAP32[$9 + 104 >> 2]; - HEAP32[$9 + 16 >> 2] = 129009; + HEAP32[$9 + 16 >> 2] = 128999; FUNCTION_TABLE[$0 | 0]($1, 129822, $9 + 16 | 0); HEAP32[$9 + 108 >> 2] = 1; break label$1; @@ -27367,9 +27382,9 @@ function tflite__ops__micro__depthwise_conv___28anonymous_20namespace_29__Calcul $2 = HEAP32[HEAP32[HEAP32[$9 + 100 >> 2] + 4 >> 2] >> 2]; HEAP32[$9 + 12 >> 2] = 1; HEAP32[$9 + 8 >> 2] = $2; - HEAP32[$9 + 4 >> 2] = 129233; + HEAP32[$9 + 4 >> 2] = 129223; HEAP32[$9 >> 2] = 121765; - FUNCTION_TABLE[$0 | 0]($1, 145571, $9); + FUNCTION_TABLE[$0 | 0]($1, 145669, $9); HEAP32[$9 + 108 >> 2] = 1; break label$1; } @@ -27470,7 +27485,7 @@ function mbedtls_sha256_process($0, $1) { } HEAP32[($2 + 48 | 0) + (HEAP32[$2 + 12 >> 2] << 2) >> 2] = HEAP32[((HEAP32[$2 + 12 >> 2] << 2) + $2 | 0) - 16 >> 2] + ((HEAP32[((HEAP32[$2 + 12 >> 2] << 2) + $2 | 0) + 20 >> 2] + ((HEAP32[((HEAP32[$2 + 12 >> 2] << 2) + $2 | 0) + 40 >> 2] << 15 | HEAP32[((HEAP32[$2 + 12 >> 2] << 2) + $2 | 0) + 40 >> 2] >>> 17) ^ (HEAP32[((HEAP32[$2 + 12 >> 2] << 2) + $2 | 0) + 40 >> 2] << 13 | HEAP32[((HEAP32[$2 + 12 >> 2] << 2) + $2 | 0) + 40 >> 2] >>> 19) ^ HEAP32[((HEAP32[$2 + 12 >> 2] << 2) + $2 | 0) + 40 >> 2] >>> 10) | 0) + ((HEAP32[((HEAP32[$2 + 12 >> 2] << 2) + $2 | 0) - 12 >> 2] << 25 | HEAP32[((HEAP32[$2 + 12 >> 2] << 2) + $2 | 0) - 12 >> 2] >>> 7) ^ (HEAP32[((HEAP32[$2 + 12 >> 2] << 2) + $2 | 0) - 12 >> 2] << 14 | HEAP32[((HEAP32[$2 + 12 >> 2] << 2) + $2 | 0) - 12 >> 2] >>> 18) ^ HEAP32[((HEAP32[$2 + 12 >> 2] << 2) + $2 | 0) - 12 >> 2] >>> 3) | 0); } - HEAP32[$2 + 308 >> 2] = HEAP32[($2 + 48 | 0) + (HEAP32[$2 + 12 >> 2] << 2) >> 2] + (HEAP32[(HEAP32[$2 + 12 >> 2] << 2) + 164352 >> 2] + ((HEAP32[$2 + 44 >> 2] + ((HEAP32[$2 + 32 >> 2] << 7 | HEAP32[$2 + 32 >> 2] >>> 25) ^ ((HEAP32[$2 + 32 >> 2] << 26 | HEAP32[$2 + 32 >> 2] >>> 6) ^ (HEAP32[$2 + 32 >> 2] << 21 | HEAP32[$2 + 32 >> 2] >>> 11))) | 0) + (HEAP32[$2 + 40 >> 2] ^ HEAP32[$2 + 32 >> 2] & (HEAP32[$2 + 36 >> 2] ^ HEAP32[$2 + 40 >> 2])) | 0) | 0); + HEAP32[$2 + 308 >> 2] = HEAP32[($2 + 48 | 0) + (HEAP32[$2 + 12 >> 2] << 2) >> 2] + (HEAP32[(HEAP32[$2 + 12 >> 2] << 2) + 164464 >> 2] + ((HEAP32[$2 + 44 >> 2] + ((HEAP32[$2 + 32 >> 2] << 7 | HEAP32[$2 + 32 >> 2] >>> 25) ^ ((HEAP32[$2 + 32 >> 2] << 26 | HEAP32[$2 + 32 >> 2] >>> 6) ^ (HEAP32[$2 + 32 >> 2] << 21 | HEAP32[$2 + 32 >> 2] >>> 11))) | 0) + (HEAP32[$2 + 40 >> 2] ^ HEAP32[$2 + 32 >> 2] & (HEAP32[$2 + 36 >> 2] ^ HEAP32[$2 + 40 >> 2])) | 0) | 0); HEAP32[$2 + 304 >> 2] = (HEAP32[$2 + 16 >> 2] & HEAP32[$2 + 20 >> 2] | HEAP32[$2 + 24 >> 2] & (HEAP32[$2 + 16 >> 2] | HEAP32[$2 + 20 >> 2])) + ((HEAP32[$2 + 16 >> 2] << 10 | HEAP32[$2 + 16 >> 2] >>> 22) ^ ((HEAP32[$2 + 16 >> 2] << 30 | HEAP32[$2 + 16 >> 2] >>> 2) ^ (HEAP32[$2 + 16 >> 2] << 19 | HEAP32[$2 + 16 >> 2] >>> 13))); HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 308 >> 2] + HEAP32[$2 + 28 >> 2]; HEAP32[$2 + 44 >> 2] = HEAP32[$2 + 308 >> 2] + HEAP32[$2 + 304 >> 2]; @@ -27760,17 +27775,17 @@ function jsiTabComplete() { $0 = __stack_pointer - 320 | 0; __stack_pointer = $0; label$1: { - if (!(jsvIsString(HEAP32[87276]) & 1)) { + if (!(jsvIsString(HEAP32[87304]) & 1)) { break label$1; } HEAP32[$0 + 316 >> 2] = 0; HEAP32[$0 + 300 >> 2] = 0; HEAP32[$0 + 292 >> 2] = 0; HEAP32[$0 + 164 >> 2] = jslSetLex($0 + 168 | 0); - jslInit(HEAP32[87276]); + jslInit(HEAP32[87304]); while (1) { $1 = 0; - $1 = HEAP16[$0 + 170 >> 1] ? HEAPU32[87278] >= HEAP32[$0 + 172 >> 2] + 1 >>> 0 : $1; + $1 = HEAP16[$0 + 170 >> 1] ? HEAPU32[87306] >= HEAP32[$0 + 172 >> 2] + 1 >>> 0 : $1; if ($1) { label$5: { if (HEAP16[$0 + 170 >> 1] == 46) { @@ -27805,7 +27820,7 @@ function jsiTabComplete() { label$10: { if (HEAP32[$0 + 300 >> 2]) { HEAP32[$0 + 296 >> 2] = jsvGetStringLength(HEAP32[$0 + 300 >> 2]); - HEAP32[$0 + 160 >> 2] = (HEAP32[87278] + 1 | 0) - HEAP32[$0 + 292 >> 2]; + HEAP32[$0 + 160 >> 2] = (HEAP32[87306] + 1 | 0) - HEAP32[$0 + 292 >> 2]; if (HEAPU32[$0 + 160 >> 2] > HEAPU32[$0 + 296 >> 2]) { jsvUnLock2(HEAP32[$0 + 316 >> 2], HEAP32[$0 + 300 >> 2]); break label$1; @@ -27840,21 +27855,21 @@ function jsiTabComplete() { } } if (!HEAP32[$0 + 316 >> 2]) { - HEAP32[$0 + 316 >> 2] = jsvLockAgain(HEAP32[87258]); + HEAP32[$0 + 316 >> 2] = jsvLockAgain(HEAP32[87286]); } HEAP32[$0 + 304 >> 2] = 0; HEAP32[$0 + 308 >> 2] = 0; jswrap_object_keys_or_property_names_cb(HEAP32[$0 + 316 >> 2], 7, 557, $0 + 296 | 0); if (HEAP32[$0 + 308 >> 2] > 1) { - jsiMoveCursorChar(HEAP32[87276], HEAP32[87278], HEAP32[45089]); - HEAP8[349108] = 1; - jsiConsolePrintString(148652); + jsiMoveCursorChar(HEAP32[87304], HEAP32[87306], HEAP32[45117]); + HEAP8[349220] = 1; + jsiConsolePrintString(148750); HEAP32[$0 + 312 >> 2] = 0; jswrap_object_keys_or_property_names_cb(HEAP32[$0 + 316 >> 2], 7, 558, $0 + 296 | 0); if (HEAP32[$0 + 312 >> 2]) { - jsiConsolePrintString(148653); + jsiConsolePrintString(148751); } - jsiConsolePrintString(148653); + jsiConsolePrintString(148751); jsiConsoleReturnInputLine(); } jsvUnLock2(HEAP32[$0 + 316 >> 2], HEAP32[$0 + 300 >> 2]); @@ -28460,7 +28475,7 @@ function jsfGetJSONForObjectItWithCallback($0, $1, $2, $3, $4, $5, $6) { if (!(HEAP8[$7 + 87 | 0] & 1)) { HEAP32[$7 + 96 >> 2] = HEAP32[$7 + 96 >> 2] + 1; if (!(HEAP8[$7 + 103 | 0] & 1)) { - cbprintf(HEAP32[$7 + 108 >> 2], HEAP32[$7 + 104 >> 2], HEAP32[$7 + 120 >> 2] & 4 ? 146854 : 130580, 0); + cbprintf(HEAP32[$7 + 108 >> 2], HEAP32[$7 + 104 >> 2], HEAP32[$7 + 120 >> 2] & 4 ? 146952 : 130580, 0); } $0 = 0; if (HEAP32[$7 + 120 >> 2] & 1) { @@ -28508,7 +28523,7 @@ function jsfGetJSONForObjectItWithCallback($0, $1, $2, $3, $4, $5, $6) { $0 = 118194; } $3 = HEAP32[$7 + 92 >> 2]; - HEAP32[$7 + 4 >> 2] = HEAP32[$7 + 120 >> 2] & 4 ? 146785 : 128261; + HEAP32[$7 + 4 >> 2] = HEAP32[$7 + 120 >> 2] & 4 ? 146883 : 128261; HEAP32[$7 >> 2] = $3; cbprintf($1, $2, $0, $7); if (HEAP8[$7 + 103 | 0] & 1) { @@ -28797,8 +28812,8 @@ function jsfBankCreateFileTable($0) { } } if (HEAP32[$1 + 184 >> 2] == 134217728) { - HEAP32[87267] = HEAP32[$1 + 108 >> 2]; - HEAP32[87268] = HEAP32[$1 + 104 >> 2]; + HEAP32[87295] = HEAP32[$1 + 108 >> 2]; + HEAP32[87296] = HEAP32[$1 + 104 >> 2]; } HEAP32[$1 + 188 >> 2] = HEAP32[$1 + 108 >> 2]; } @@ -28815,8 +28830,8 @@ function jsvNewFlatStringOfLength($0) { HEAP32[$1 + 32 >> 2] = ((HEAP32[$1 + 40 >> 2] + 13 >>> 0) / 14 | 0) + 1; HEAP32[$1 + 28 >> 2] = 0; label$1: { - if (HEAPU8[181010]) { - HEAP8[349030] = HEAPU8[349030] | 32; + if (HEAPU8[181122]) { + HEAP8[349142] = HEAPU8[349142] | 32; HEAP32[$1 + 44 >> 2] = 0; break label$1; } @@ -28825,15 +28840,15 @@ function jsvNewFlatStringOfLength($0) { while (1) { if (HEAP8[$1 + 27 | 0] & 1) { HEAP8[$1 + 27 | 0] = 0; - HEAP8[181009] = 0; + HEAP8[181121] = 0; HEAP16[$1 + 24 >> 1] = 0; - HEAP16[$1 + 22 >> 1] = HEAPU16[90506]; + HEAP16[$1 + 22 >> 1] = HEAPU16[90562]; HEAP16[$1 + 20 >> 1] = HEAPU16[$1 + 22 >> 1]; HEAP32[$1 + 16 >> 2] = 0; while (1) { $0 = 0; label$8: { - $0 = HEAPU16[$1 + 22 >> 1] ? HEAPU8[181009] ^ -1 : $0; + $0 = HEAPU16[$1 + 22 >> 1] ? HEAPU8[181121] ^ -1 : $0; if (!($0 & 1)) { break label$8; } @@ -28846,13 +28861,13 @@ function jsvNewFlatStringOfLength($0) { HEAP32[$1 + 4 >> 2] = jsvGetAddressOf(HEAPU16[$1 + 10 >> 1]); HEAP16[$1 + 2 >> 1] = jsvGetNextSibling(HEAP32[$1 + 4 >> 2]); jshInterruptOff(); - if (!(HEAP8[181009] & 1)) { + if (!(HEAP8[181121] & 1)) { label$13: { if (HEAPU16[$1 + 24 >> 1]) { jsvSetNextSibling(jsvGetAddressOf(HEAPU16[$1 + 24 >> 1]), HEAPU16[$1 + 2 >> 1]); break label$13; } - HEAP16[90506] = HEAPU16[$1 + 2 >> 1]; + HEAP16[90562] = HEAPU16[$1 + 2 >> 1]; } HEAP32[$1 + 28 >> 2] = jsvGetAddressOf(HEAPU16[$1 + 20 >> 1]); jsvResetVariable(HEAP32[$1 + 28 >> 2], 38); @@ -28890,7 +28905,7 @@ function jsvNewFlatStringOfLength($0) { } break; } - if (HEAP8[181009] & 1) { + if (HEAP8[181121] & 1) { HEAP8[$1 + 27 | 0] = 1; } continue; @@ -28909,7 +28924,7 @@ function jsvNewFlatStringOfLength($0) { break label$1; } memset(HEAP32[$1 + 28 >> 2] + 14 | 0, 0, Math_imul(HEAP32[$1 + 32 >> 2] - 1 | 0, 14)); - HEAP8[181009] = 1; + HEAP8[181121] = 1; HEAP32[$1 + 44 >> 2] = HEAP32[$1 + 28 >> 2]; } __stack_pointer = $1 + 48 | 0; @@ -29013,7 +29028,7 @@ function jswrap_waveform_start($0, $1, $2, $3, $4) { jsvUnLock2(HEAP32[$5 + 56 >> 2], HEAP32[$5 + 52 >> 2]); jsvObjectSetChildAndUnLock(HEAP32[$5 + 108 >> 2], 121488, jsvNewFromBool(1)); jsvObjectSetChildAndUnLock(HEAP32[$5 + 108 >> 2], 119133, jsvNewFromFloat(HEAPF64[$5 + 96 >> 3])); - HEAP32[$5 + 44 >> 2] = jsvObjectGetChild(HEAP32[87259], 121902, 3); + HEAP32[$5 + 44 >> 2] = jsvObjectGetChild(HEAP32[87287], 121902, 3); if (!HEAP32[$5 + 44 >> 2]) { break label$1; } @@ -29216,7 +29231,7 @@ function jspeStatementDoOrWhile($0) { HEAP8[$1 + 155 | 0] = $0; HEAP8[$1 + 147 | 0] = 1; HEAP8[$1 + 146 | 0] = 0; - HEAP8[$1 + 103 | 0] = (HEAP32[87266] & 512) != 0; + HEAP8[$1 + 103 | 0] = (HEAP32[87294] & 512) != 0; label$1: { label$2: { if (HEAP8[$1 + 155 | 0] & 1) { @@ -29227,7 +29242,7 @@ function jspeStatementDoOrWhile($0) { break label$1; } HEAP32[$1 + 148 >> 2] = jspeExpression(); - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { $2 = jsvGetBoolAndUnLock(jsvSkipName(HEAP32[$1 + 148 >> 2])); } HEAP8[$1 + 147 | 0] = $2 & 1; @@ -29246,18 +29261,18 @@ function jspeStatementDoOrWhile($0) { break label$1; } } - HEAP32[$1 + 52 >> 2] = HEAP32[87266]; + HEAP32[$1 + 52 >> 2] = HEAP32[87294]; if (!(HEAP8[$1 + 147 | 0] & 1)) { jspSetNoExecute(); } - HEAP32[87266] = HEAP32[87266] | 512; + HEAP32[87294] = HEAP32[87294] | 512; jsvUnLock(jspeBlockOrStatement()); if (!(HEAP8[$1 + 103 | 0] & 1)) { - HEAP32[87266] = HEAP32[87266] & -513; + HEAP32[87294] = HEAP32[87294] & -513; } HEAP8[$1 + 146 | 0] = jspeCheckBreakContinue() & 1 | HEAP8[$1 + 146 | 0] & 1; if (!(HEAP8[$1 + 147 | 0] & 1)) { - HEAP32[87266] = HEAP32[87266] & -1664 | HEAP32[$1 + 52 >> 2] & 1663; + HEAP32[87294] = HEAP32[87294] & -1664 | HEAP32[$1 + 52 >> 2] & 1663; } if (!(HEAP8[$1 + 155 | 0] & 1)) { if (!(jslMatch(166) & 1)) { @@ -29271,7 +29286,7 @@ function jspeStatementDoOrWhile($0) { break label$1; } HEAP32[$1 + 148 >> 2] = jspeExpression(); - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { $3 = jsvGetBoolAndUnLock(jsvSkipName(HEAP32[$1 + 148 >> 2])); } HEAP8[$1 + 147 | 0] = $3 & 1; @@ -29282,7 +29297,7 @@ function jspeStatementDoOrWhile($0) { break label$1; } } - jslCharPosNew($1 + 8 | 0, HEAP32[HEAP32[45251] + 84 >> 2], HEAP32[HEAP32[45251] + 4 >> 2]); + jslCharPosNew($1 + 8 | 0, HEAP32[HEAP32[45279] + 84 >> 2], HEAP32[HEAP32[45279] + 4 >> 2]); HEAP32[$1 + 4 >> 2] = 0; while (1) { $0 = 0; @@ -29292,7 +29307,7 @@ function jspeStatementDoOrWhile($0) { jslSeekToP($1 + 104 | 0); HEAP32[$1 + 148 >> 2] = jspeExpression(); $0 = 0; - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { $0 = jsvGetBoolAndUnLock(jsvSkipName(HEAP32[$1 + 148 >> 2])); } HEAP8[$1 + 147 | 0] = $0 & 1; @@ -29300,11 +29315,11 @@ function jspeStatementDoOrWhile($0) { } if (HEAP8[$1 + 147 | 0] & 1) { jslSeekToP($1 + 56 | 0); - HEAP32[87266] = HEAP32[87266] | 512; + HEAP32[87294] = HEAP32[87294] | 512; jspDebuggerLoopIfCtrlC(); jsvUnLock(jspeBlockOrStatement()); if (!(HEAP8[$1 + 103 | 0] & 1)) { - HEAP32[87266] = HEAP32[87266] & -513; + HEAP32[87294] = HEAP32[87294] & -513; } HEAP8[$1 + 146 | 0] = jspeCheckBreakContinue() & 1 | HEAP8[$1 + 146 | 0] & 1; } @@ -29920,9 +29935,9 @@ function tflite__ops__micro__reshape__ReshapeOutput_28TfLiteContext__2c_20TfLite $3 = HEAP32[$2 + 60 >> 2]; HEAP32[$2 + 12 >> 2] = -1; HEAP32[$2 + 8 >> 2] = $3; - HEAP32[$2 + 4 >> 2] = 129168; + HEAP32[$2 + 4 >> 2] = 129158; HEAP32[$2 >> 2] = 120218; - FUNCTION_TABLE[$0 | 0]($1, 145571, $2); + FUNCTION_TABLE[$0 | 0]($1, 145669, $2); HEAP32[$2 + 92 >> 2] = 1; break label$2; } @@ -29948,7 +29963,7 @@ function tflite__ops__micro__reshape__ReshapeOutput_28TfLiteContext__2c_20TfLite HEAP32[$2 + 24 >> 2] = $3; HEAP32[$2 + 20 >> 2] = 122408; HEAP32[$2 + 16 >> 2] = 122421; - FUNCTION_TABLE[$0 | 0]($1, 145173, $2 + 16 | 0); + FUNCTION_TABLE[$0 | 0]($1, 145271, $2 + 16 | 0); HEAP32[$2 + 92 >> 2] = 1; break label$2; } @@ -29960,7 +29975,7 @@ function tflite__ops__micro__reshape__ReshapeOutput_28TfLiteContext__2c_20TfLite HEAP32[$2 + 40 >> 2] = $3; HEAP32[$2 + 36 >> 2] = 117416; HEAP32[$2 + 32 >> 2] = 117436; - FUNCTION_TABLE[$0 | 0]($1, 145571, $2 + 32 | 0); + FUNCTION_TABLE[$0 | 0]($1, 145669, $2 + 32 | 0); HEAP32[$2 + 92 >> 2] = 1; break label$2; } @@ -30020,6 +30035,83 @@ function tflite___28anonymous_20namespace_29__CalculateActivationRangeQuantizedI __stack_pointer = $6 - -64 | 0; } +function jswrap_pin_getInfo($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = __stack_pointer + -64 | 0; + __stack_pointer = $1; + HEAP32[$1 + 56 >> 2] = $0; + HEAP8[$1 + 55 | 0] = jshGetPinFromVar(HEAP32[$1 + 56 >> 2]); + label$1: { + if (!(jshIsPinValid(HEAPU8[$1 + 55 | 0]) & 1)) { + HEAP32[$1 + 60 >> 2] = 0; + break label$1; + } + HEAP32[$1 + 48 >> 2] = Math_imul(HEAPU8[$1 + 55 | 0], 3) + 165552; + HEAP32[$1 + 44 >> 2] = jsvNewObject(); + if (!HEAP32[$1 + 44 >> 2]) { + HEAP32[$1 + 60 >> 2] = 0; + break label$1; + } + HEAP8[$1 + 42 | 0] = HEAPU8[HEAP32[$1 + 48 >> 2]] - -64; + HEAP8[$1 + 43 | 0] = 0; + jsvObjectSetChildAndUnLock(HEAP32[$1 + 44 >> 2], 115088, jsvNewFromString($1 + 42 | 0)); + jsvObjectSetChildAndUnLock(HEAP32[$1 + 44 >> 2], 120097, jsvNewFromInteger(HEAPU8[HEAP32[$1 + 48 >> 2] + 1 | 0])); + if (HEAPU8[HEAP32[$1 + 48 >> 2] + 2 | 0]) { + HEAP32[$1 + 36 >> 2] = jsvNewObject(); + if (HEAP32[$1 + 36 >> 2]) { + HEAP32[$1 + 32 >> 2] = jsvNewEmptyArray(); + if (HEAP32[$1 + 32 >> 2]) { + HEAP32[$1 + 28 >> 2] = 0; + while (1) { + if (HEAP32[$1 + 28 >> 2] < 0) { + if (HEAPU8[HEAP32[$1 + 48 >> 2] + 2 | 0] & 32 << HEAP32[$1 + 28 >> 2]) { + jsvArrayPushAndUnLock(HEAP32[$1 + 32 >> 2], jsvNewFromInteger(HEAP32[$1 + 28 >> 2] + 1 | 0)); + } + HEAP32[$1 + 28 >> 2] = HEAP32[$1 + 28 >> 2] + 1; + continue; + } + break; + } + jsvObjectSetChildAndUnLock(HEAP32[$1 + 36 >> 2], 118189, HEAP32[$1 + 32 >> 2]); + } + jsvObjectSetChildAndUnLock(HEAP32[$1 + 36 >> 2], 120337, jsvNewFromInteger(HEAPU8[HEAP32[$1 + 48 >> 2] + 2 | 0] & 31)); + jsvObjectSetChildAndUnLock(HEAP32[$1 + 44 >> 2], 120337, jsvNewFromInteger(HEAPU8[HEAP32[$1 + 48 >> 2] + 2 | 0] & 31)); + jsvObjectSetChildAndUnLock(HEAP32[$1 + 44 >> 2], 121193, HEAP32[$1 + 36 >> 2]); + } + } + HEAP32[$1 + 24 >> 2] = jsvNewObject(); + if (HEAP32[$1 + 24 >> 2]) { + HEAP32[$1 + 20 >> 2] = 0; + while (1) { + if (HEAP32[$1 + 20 >> 2] < 0) { + $0 = (HEAP32[$1 + 48 >> 2] + 3 | 0) + (HEAP32[$1 + 20 >> 2] << 1) | 0; + if (HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8) { + HEAP32[$1 + 16 >> 2] = jsvNewObject(); + if (HEAP32[$1 + 16 >> 2]) { + $0 = (HEAP32[$1 + 48 >> 2] + 3 | 0) + (HEAP32[$1 + 20 >> 2] << 1) | 0; + jshPinFunctionToString(HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8, 8, $1, 16); + jsvObjectSetChildAndUnLock(HEAP32[$1 + 16 >> 2], 122531, jsvNewFromString($1)); + $0 = (HEAP32[$1 + 48 >> 2] + 3 | 0) + (HEAP32[$1 + 20 >> 2] << 1) | 0; + jsvObjectSetChildAndUnLock(HEAP32[$1 + 16 >> 2], 121637, jsvNewFromInteger((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8) & 15)); + $0 = (HEAP32[$1 + 48 >> 2] + 3 | 0) + (HEAP32[$1 + 20 >> 2] << 1) | 0; + jshPinFunctionToString(HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8, 3, $1, 16); + jsvObjectSetChildAndUnLock(HEAP32[$1 + 24 >> 2], $1, HEAP32[$1 + 16 >> 2]); + } + } + HEAP32[$1 + 20 >> 2] = HEAP32[$1 + 20 >> 2] + 1; + continue; + } + break; + } + jsvObjectSetChildAndUnLock(HEAP32[$1 + 44 >> 2], 117808, HEAP32[$1 + 24 >> 2]); + } + HEAP32[$1 + 60 >> 2] = HEAP32[$1 + 44 >> 2]; + } + __stack_pointer = $1 - -64 | 0; + return HEAP32[$1 + 60 >> 2]; +} + function graphicsDrawLine($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; @@ -30485,37 +30577,37 @@ function jswGetSymbolListForObjectProto($0) { if (jsvIsNativeFunction(HEAP32[$1 + 8 >> 2]) & 1) { $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 27) { - HEAP32[$1 + 12 >> 2] = 159305; + HEAP32[$1 + 12 >> 2] = 159417; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 32) { - HEAP32[$1 + 12 >> 2] = 159368; + HEAP32[$1 + 12 >> 2] = 159480; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 47) { - HEAP32[$1 + 12 >> 2] = 159386; + HEAP32[$1 + 12 >> 2] = 159498; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 48) { - HEAP32[$1 + 12 >> 2] = 159395; + HEAP32[$1 + 12 >> 2] = 159507; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 35) { - HEAP32[$1 + 12 >> 2] = 159503; + HEAP32[$1 + 12 >> 2] = 159615; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 49) { - HEAP32[$1 + 12 >> 2] = 159530; + HEAP32[$1 + 12 >> 2] = 159642; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; if ((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24)) == 37) { - HEAP32[$1 + 12 >> 2] = 159548; + HEAP32[$1 + 12 >> 2] = 159660; break label$1; } } @@ -30542,34 +30634,34 @@ function jswGetSymbolListForObjectProto($0) { } } if (jsvIsPin(HEAP32[$1 + 8 >> 2]) & 1) { - HEAP32[$1 + 12 >> 2] = 159305; + HEAP32[$1 + 12 >> 2] = 159417; break label$1; } if (jsvIsArray(HEAP32[$1 + 8 >> 2]) & 1) { - HEAP32[$1 + 12 >> 2] = 159368; + HEAP32[$1 + 12 >> 2] = 159480; break label$1; } if (!(!(jsvIsArrayBuffer(HEAP32[$1 + 8 >> 2]) & 1) | HEAPU8[HEAP32[$1 + 8 >> 2] + 5 | 0] != 129)) { - HEAP32[$1 + 12 >> 2] = 159386; + HEAP32[$1 + 12 >> 2] = 159498; break label$1; } if (!(!(jsvIsArrayBuffer(HEAP32[$1 + 8 >> 2]) & 1) | HEAPU8[HEAP32[$1 + 8 >> 2] + 5 | 0] == 129)) { - HEAP32[$1 + 12 >> 2] = 159395; + HEAP32[$1 + 12 >> 2] = 159507; break label$1; } if (jsvIsNumeric(HEAP32[$1 + 8 >> 2]) & 1) { - HEAP32[$1 + 12 >> 2] = 159503; + HEAP32[$1 + 12 >> 2] = 159615; break label$1; } if (jsvIsFunction(HEAP32[$1 + 8 >> 2]) & 1) { - HEAP32[$1 + 12 >> 2] = 159530; + HEAP32[$1 + 12 >> 2] = 159642; break label$1; } if (jsvIsString(HEAP32[$1 + 8 >> 2]) & 1) { - HEAP32[$1 + 12 >> 2] = 159548; + HEAP32[$1 + 12 >> 2] = 159660; break label$1; } - HEAP32[$1 + 12 >> 2] = 159512; + HEAP32[$1 + 12 >> 2] = 159624; } __stack_pointer = $1 + 16 | 0; return HEAP32[$1 + 12 >> 2]; @@ -30767,22 +30859,22 @@ function utilTimerRemoveTask($0, $1) { HEAP32[$2 + 8 >> 2] = $0; HEAP32[$2 + 4 >> 2] = $1; jshInterruptOff(); - HEAP8[$2 + 3 | 0] = HEAPU8[351057]; + HEAP8[$2 + 3 | 0] = HEAPU8[351169]; label$1: { - if (HEAPU8[$2 + 3 | 0] != HEAPU8[351058]) { - HEAP8[$2 + 2 | 0] = HEAPU8[351058] + 15 & 15; + if (HEAPU8[$2 + 3 | 0] != HEAPU8[351170]) { + HEAP8[$2 + 2 | 0] = HEAPU8[351170] + 15 & 15; HEAP8[$2 + 3 | 0] = HEAPU8[$2 + 3 | 0] + 15 & 15; while (1) { if (HEAPU8[$2 + 3 | 0] != HEAPU8[$2 + 2 | 0]) { - if (FUNCTION_TABLE[HEAP32[$2 + 8 >> 2]](Math_imul(HEAPU8[$2 + 3 | 0], 25) + 351072 | 0, HEAP32[$2 + 4 >> 2]) & 1) { + if (FUNCTION_TABLE[HEAP32[$2 + 8 >> 2]](Math_imul(HEAPU8[$2 + 3 | 0], 25) + 351184 | 0, HEAP32[$2 + 4 >> 2]) & 1) { HEAP8[$2 + 1 | 0] = HEAPU8[$2 + 3 | 0] + 15 & 15; while (1) { if (HEAPU8[$2 + 1 | 0] != HEAPU8[$2 + 2 | 0]) { - $3 = Math_imul(HEAPU8[$2 + 1 | 0], 25) + 351072 | 0; + $3 = Math_imul(HEAPU8[$2 + 1 | 0], 25) + 351184 | 0; $0 = HEAPU8[$3 | 0] | HEAPU8[$3 + 1 | 0] << 8 | (HEAPU8[$3 + 2 | 0] << 16 | HEAPU8[$3 + 3 | 0] << 24); $4 = HEAPU8[$3 + 4 | 0] | HEAPU8[$3 + 5 | 0] << 8 | (HEAPU8[$3 + 6 | 0] << 16 | HEAPU8[$3 + 7 | 0] << 24); $5 = $0; - $1 = Math_imul(HEAPU8[$2 + 3 | 0], 25) + 351072 | 0; + $1 = Math_imul(HEAPU8[$2 + 3 | 0], 25) + 351184 | 0; $0 = $1; HEAP8[$0 | 0] = $5; HEAP8[$0 + 1 | 0] = $5 >>> 8; @@ -30823,7 +30915,7 @@ function utilTimerRemoveTask($0, $1) { } break; } - HEAP8[351058] = HEAPU8[351058] + 1 & 15; + HEAP8[351170] = HEAPU8[351170] + 1 & 15; jshInterruptOn(); HEAP8[$2 + 15 | 0] = 1; break label$1; @@ -30854,7 +30946,7 @@ function jswrap_typedarray_constructor($0, $1, $2, $3) { HEAP8[$4 + 87 | 0] = 0; label$1: { if (!(HEAP32[$4 + 96 >> 2] <= 65535 & HEAP32[$4 + 96 >> 2] >= 0)) { - jsExceptionHere(1, 145288, 0); + jsExceptionHere(1, 145386, 0); HEAP32[$4 + 108 >> 2] = 0; break label$1; } @@ -31263,7 +31355,7 @@ function jsvFreePtr($0) { HEAP32[$1 + 20 >> 2] = jsvGetFlatStringBlocks(HEAP32[$1 + 28 >> 2]); HEAP16[$1 + 18 >> 1] = (jsvGetRef(HEAP32[$1 + 28 >> 2]) & 65535) + HEAP32[$1 + 20 >> 2]; jshInterruptOff(); - HEAP16[$1 + 16 >> 1] = HEAPU16[90506]; + HEAP16[$1 + 16 >> 1] = HEAPU16[90562]; HEAP16[$1 + 14 >> 1] = 0; while (1) { $0 = 0; @@ -31296,9 +31388,9 @@ function jsvFreePtr($0) { jsvSetNextSibling(jsvGetAddressOf(HEAPU16[$1 + 14 >> 1]), HEAPU16[$1 + 16 >> 1]); break label$15; } - HEAP16[90506] = HEAPU16[$1 + 16 >> 1]; + HEAP16[90562] = HEAPU16[$1 + 16 >> 1]; } - HEAP8[181009] = 1; + HEAP8[181121] = 1; jshInterruptOn(); } } @@ -31356,7 +31448,7 @@ function graphicsDrawChar4x6($0, $1, $2, $3, $4, $5, $6) { HEAP32[$7 + 16 >> 2] = 0; while (1) { if (HEAP32[$7 + 16 >> 2] < 6) { - HEAP32[$7 + 12 >> 2] = HEAPU16[(HEAP32[$7 + 24 >> 2] + HEAP32[$7 + 16 >> 2] << 1) + 160192 >> 1] >> Math_imul(HEAP32[$7 + 20 >> 2], 3); + HEAP32[$7 + 12 >> 2] = HEAPU16[(HEAP32[$7 + 24 >> 2] + HEAP32[$7 + 16 >> 2] << 1) + 160304 >> 1] >> Math_imul(HEAP32[$7 + 20 >> 2], 3); HEAP32[$7 + 8 >> 2] = HEAP32[$7 + 36 >> 2] + Math_imul(HEAP32[$7 + 16 >> 2], HEAPU16[$7 + 30 >> 1]); HEAP32[$7 + 4 >> 2] = 0; while (1) { @@ -31424,7 +31516,7 @@ function graphicsDrawChar6x8($0, $1, $2, $3, $4, $5, $6) { HEAP32[$7 + 16 >> 2] = 0; while (1) { if (HEAP32[$7 + 16 >> 2] < 8) { - HEAP32[$7 + 12 >> 2] = HEAP32[(HEAP32[$7 + 24 >> 2] + HEAP32[$7 + 16 >> 2] << 2) + 160432 >> 2] >>> Math_imul(HEAP32[$7 + 20 >> 2], 5); + HEAP32[$7 + 12 >> 2] = HEAP32[(HEAP32[$7 + 24 >> 2] + HEAP32[$7 + 16 >> 2] << 2) + 160544 >> 2] >>> Math_imul(HEAP32[$7 + 20 >> 2], 5); HEAP32[$7 + 8 >> 2] = HEAP32[$7 + 36 >> 2] + Math_imul(HEAP32[$7 + 16 >> 2], HEAPU16[$7 + 30 >> 1]); HEAP32[$7 + 4 >> 2] = 0; while (1) { @@ -31565,81 +31657,6 @@ function _jsvCountJsVarsUsedRecursive($0, $1) { return HEAP32[$2 + 44 >> 2]; } -function jswrap_pin_getInfo($0) { - $0 = $0 | 0; - var $1 = 0; - $1 = __stack_pointer + -64 | 0; - __stack_pointer = $1; - HEAP32[$1 + 56 >> 2] = $0; - HEAP8[$1 + 55 | 0] = jshGetPinFromVar(HEAP32[$1 + 56 >> 2]); - label$1: { - if (!(jshIsPinValid(HEAPU8[$1 + 55 | 0]) & 1)) { - HEAP32[$1 + 60 >> 2] = 0; - break label$1; - } - HEAP32[$1 + 48 >> 2] = Math_imul(HEAPU8[$1 + 55 | 0], 3) + 165440; - HEAP32[$1 + 44 >> 2] = jsvNewObject(); - if (!HEAP32[$1 + 44 >> 2]) { - HEAP32[$1 + 60 >> 2] = 0; - break label$1; - } - HEAP8[$1 + 42 | 0] = HEAPU8[HEAP32[$1 + 48 >> 2]] - -64; - HEAP8[$1 + 43 | 0] = 0; - jsvObjectSetChildAndUnLock(HEAP32[$1 + 44 >> 2], 115088, jsvNewFromString($1 + 42 | 0)); - jsvObjectSetChildAndUnLock(HEAP32[$1 + 44 >> 2], 120097, jsvNewFromInteger(HEAPU8[HEAP32[$1 + 48 >> 2] + 1 | 0])); - if (HEAPU8[HEAP32[$1 + 48 >> 2] + 2 | 0]) { - HEAP32[$1 + 36 >> 2] = jsvNewObject(); - if (HEAP32[$1 + 36 >> 2]) { - HEAP32[$1 + 32 >> 2] = jsvNewEmptyArray(); - if (HEAP32[$1 + 32 >> 2]) { - HEAP32[$1 + 28 >> 2] = 0; - while (1) { - if (HEAP32[$1 + 28 >> 2] < 0) { - if (HEAPU8[HEAP32[$1 + 48 >> 2] + 2 | 0] & 32 << HEAP32[$1 + 28 >> 2]) { - jsvArrayPushAndUnLock(HEAP32[$1 + 32 >> 2], jsvNewFromInteger(HEAP32[$1 + 28 >> 2] + 1 | 0)); - } - HEAP32[$1 + 28 >> 2] = HEAP32[$1 + 28 >> 2] + 1; - continue; - } - break; - } - jsvObjectSetChildAndUnLock(HEAP32[$1 + 36 >> 2], 118189, HEAP32[$1 + 32 >> 2]); - } - jsvObjectSetChildAndUnLock(HEAP32[$1 + 44 >> 2], 120337, jsvNewFromInteger(HEAPU8[HEAP32[$1 + 48 >> 2] + 2 | 0] & 31)); - } - } - HEAP32[$1 + 24 >> 2] = jsvNewObject(); - if (HEAP32[$1 + 24 >> 2]) { - HEAP32[$1 + 20 >> 2] = 0; - while (1) { - if (HEAP32[$1 + 20 >> 2] < 0) { - $0 = (HEAP32[$1 + 48 >> 2] + 3 | 0) + (HEAP32[$1 + 20 >> 2] << 1) | 0; - if (HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8) { - HEAP32[$1 + 16 >> 2] = jsvNewObject(); - if (HEAP32[$1 + 16 >> 2]) { - $0 = (HEAP32[$1 + 48 >> 2] + 3 | 0) + (HEAP32[$1 + 20 >> 2] << 1) | 0; - jshPinFunctionToString(HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8, 8, $1, 16); - jsvObjectSetChildAndUnLock(HEAP32[$1 + 16 >> 2], 122531, jsvNewFromString($1)); - $0 = (HEAP32[$1 + 48 >> 2] + 3 | 0) + (HEAP32[$1 + 20 >> 2] << 1) | 0; - jsvObjectSetChildAndUnLock(HEAP32[$1 + 16 >> 2], 121637, jsvNewFromInteger((HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8) & 15)); - $0 = (HEAP32[$1 + 48 >> 2] + 3 | 0) + (HEAP32[$1 + 20 >> 2] << 1) | 0; - jshPinFunctionToString(HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8, 3, $1, 16); - jsvObjectSetChildAndUnLock(HEAP32[$1 + 24 >> 2], $1, HEAP32[$1 + 16 >> 2]); - } - } - HEAP32[$1 + 20 >> 2] = HEAP32[$1 + 20 >> 2] + 1; - continue; - } - break; - } - jsvObjectSetChildAndUnLock(HEAP32[$1 + 44 >> 2], 117808, HEAP32[$1 + 24 >> 2]); - } - HEAP32[$1 + 60 >> 2] = HEAP32[$1 + 44 >> 2]; - } - __stack_pointer = $1 - -64 | 0; - return HEAP32[$1 + 60 >> 2]; -} - function tflite__reference_ops__FullyConnected_28tflite__FullyConnectedParams_20const__2c_20tflite__RuntimeShape_20const__2c_20float_20const__2c_20tflite__RuntimeShape_20const__2c_20float_20const__2c_20tflite__RuntimeShape_20const__2c_20float_20const__2c_20tflite__RuntimeShape_20const__2c_20float__29($0, $1, $2, $3, $4, $5, $6, $7, $8) { var $9 = 0, $10 = Math_fround(0); $9 = __stack_pointer - 96 | 0; @@ -31756,9 +31773,9 @@ function tflite__ops__micro__dequantize__Prepare_28TfLiteContext__2c_20TfLiteNod $3 = tflite__NumInputs_28TfLiteNode_20const__29(HEAP32[$2 + 84 >> 2]); HEAP32[$2 + 12 >> 2] = 1; HEAP32[$2 + 8 >> 2] = $3; - HEAP32[$2 + 4 >> 2] = 129233; - HEAP32[$2 >> 2] = 145340; - FUNCTION_TABLE[$0 | 0]($1, 145571, $2); + HEAP32[$2 + 4 >> 2] = 129223; + HEAP32[$2 >> 2] = 145438; + FUNCTION_TABLE[$0 | 0]($1, 145669, $2); HEAP32[$2 + 92 >> 2] = 1; break label$2; } @@ -31768,9 +31785,9 @@ function tflite__ops__micro__dequantize__Prepare_28TfLiteContext__2c_20TfLiteNod $3 = tflite__NumOutputs_28TfLiteNode_20const__29(HEAP32[$2 + 84 >> 2]); HEAP32[$2 + 28 >> 2] = 1; HEAP32[$2 + 24 >> 2] = $3; - HEAP32[$2 + 20 >> 2] = 129233; - HEAP32[$2 + 16 >> 2] = 145323; - FUNCTION_TABLE[$0 | 0]($1, 145571, $2 + 16 | 0); + HEAP32[$2 + 20 >> 2] = 129223; + HEAP32[$2 + 16 >> 2] = 145421; + FUNCTION_TABLE[$0 | 0]($1, 145669, $2 + 16 | 0); HEAP32[$2 + 92 >> 2] = 1; break label$2; } @@ -31787,7 +31804,7 @@ function tflite__ops__micro__dequantize__Prepare_28TfLiteContext__2c_20TfLiteNod if (!(HEAP32[HEAP32[$2 + 72 >> 2] + 28 >> 2] == 1 | HEAP32[HEAP32[$2 + 72 >> 2] + 28 >> 2] == 2)) { $0 = HEAP32[HEAP32[$2 + 88 >> 2] + 20 >> 2]; $1 = HEAP32[$2 + 88 >> 2]; - HEAP32[$2 + 32 >> 2] = 128883; + HEAP32[$2 + 32 >> 2] = 128873; FUNCTION_TABLE[$0 | 0]($1, 129822, $2 + 32 | 0); HEAP32[$2 + 92 >> 2] = 1; break label$2; @@ -31885,7 +31902,7 @@ function atan2($0, $1) { if (($4 | 0) != 2146435072) { break label$9; } - return HEAPF64[($7 << 3) + 174928 >> 3]; + return HEAPF64[($7 << 3) + 175040 >> 3]; } if (!(($4 | 0) != 2146435072 & $6 + 67108864 >>> 0 >= $4 >>> 0)) { wasm2js_scratch_store_f64(1.5707963267948966); @@ -31934,7 +31951,7 @@ function atan2($0, $1) { } return $0 + -12246467991473532e-32 + -3.141592653589793; } - $0 = HEAPF64[($7 << 3) + 174960 >> 3]; + $0 = HEAPF64[($7 << 3) + 175072 >> 3]; } return $0; } @@ -32037,7 +32054,7 @@ function jsdGetEffectiveTimeZone($0, $1, $2) { HEAPF64[$3 + 160 >> 3] = $0; HEAP8[$3 + 159 | 0] = $1; HEAP32[$3 + 152 >> 2] = $2; - HEAP32[$3 + 148 >> 2] = jsvObjectGetChildIfExists(HEAP32[87259], 115079); + HEAP32[$3 + 148 >> 2] = jsvObjectGetChildIfExists(HEAP32[87287], 115079); label$1: { label$2: { label$3: { @@ -32106,7 +32123,7 @@ function jsdGetEffectiveTimeZone($0, $1, $2) { if (HEAP32[$3 + 152 >> 2]) { HEAP8[HEAP32[$3 + 152 >> 2]] = 0; } - HEAP32[$3 + 172 >> 2] = jsvObjectGetIntegerChild(HEAP32[87259], 113909); + HEAP32[$3 + 172 >> 2] = jsvObjectGetIntegerChild(HEAP32[87287], 113909); } __stack_pointer = $3 + 176 | 0; return HEAP32[$3 + 172 >> 2]; @@ -32252,15 +32269,15 @@ function _parse_time($0, $1) { HEAP32[HEAP32[$2 + 40 >> 2] + 16 >> 2] = $0; jslGetNextToken(); label$1: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 58) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 58) { jslGetNextToken(); - if (HEAP16[HEAP32[45251] + 2 >> 1] == 129) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 129) { $0 = _parse_int(); HEAP32[HEAP32[$2 + 40 >> 2] + 12 >> 2] = $0; jslGetNextToken(); - if (HEAP16[HEAP32[45251] + 2 >> 1] == 58) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 58) { jslGetNextToken(); - if (!(HEAP16[HEAP32[45251] + 2 >> 1] != 129 & HEAP16[HEAP32[45251] + 2 >> 1] != 130)) { + if (!(HEAP16[HEAP32[45279] + 2 >> 1] != 129 & HEAP16[HEAP32[45279] + 2 >> 1] != 130)) { HEAPF64[$2 + 24 >> 3] = stringToFloat(jslGetTokenValueAsString()); $1 = HEAP32[$2 + 40 >> 2]; $3 = HEAPF64[$2 + 24 >> 3]; @@ -32283,7 +32300,7 @@ function _parse_time($0, $1) { } HEAP32[$1 + 4 >> 2] = ($0 | 0) % 1e3; jslGetNextToken(); - if (HEAP16[HEAP32[45251] + 2 >> 1] == 128) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 128) { HEAP32[$2 + 20 >> 2] = jslGetTokenValueAsString(); label$12: { label$13: { @@ -32294,7 +32311,7 @@ function _parse_time($0, $1) { } HEAP32[HEAP32[$2 + 40 >> 2] + 20 >> 2] = 0; jslGetNextToken(); - if (!HEAP16[HEAP32[45251] + 2 >> 1]) { + if (!HEAP16[HEAP32[45279] + 2 >> 1]) { HEAP8[$2 + 47 | 0] = 1; break label$1; } @@ -32304,11 +32321,11 @@ function _parse_time($0, $1) { } } label$16: { - if (!(HEAP16[HEAP32[45251] + 2 >> 1] != 43 & HEAP16[HEAP32[45251] + 2 >> 1] != 45)) { - HEAP32[$2 + 16 >> 2] = HEAP16[HEAP32[45251] + 2 >> 1] == 43 ? 1 : -1; + if (!(HEAP16[HEAP32[45279] + 2 >> 1] != 43 & HEAP16[HEAP32[45279] + 2 >> 1] != 45)) { + HEAP32[$2 + 16 >> 2] = HEAP16[HEAP32[45279] + 2 >> 1] == 43 ? 1 : -1; jslGetNextToken(); label$19: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 129) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 129) { HEAP32[$2 + 12 >> 2] = _parse_int(); HEAP32[$2 + 12 >> 2] = Math_imul(HEAP32[$2 + 12 >> 2] / 100 | 0, 60) + (HEAP32[$2 + 12 >> 2] % 100 | 0); HEAP32[HEAP32[$2 + 40 >> 2] + 20 >> 2] = Math_imul(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 16 >> 2]); @@ -32673,9 +32690,9 @@ function _jswrap_prombox_resolve_or_reject($0, $1, $2) { if (HEAP8[$3 + 46 | 0] & 1) { HEAP32[$3 + 20 >> 2] = HEAP32[$3 + 32 >> 2]; HEAP32[$3 + 24 >> 2] = HEAP32[$3 + 28 >> 2]; - HEAP32[$3 + 16 >> 2] = HEAP32[87266]; + HEAP32[$3 + 16 >> 2] = HEAP32[87294]; jsvUnLock(jspeFunctionCall(HEAP32[$3 + 40 >> 2], 0, HEAP32[$3 + 56 >> 2], 0, 2, $3 + 20 | 0)); - HEAP32[87266] = HEAP32[$3 + 16 >> 2]; + HEAP32[87294] = HEAP32[$3 + 16 >> 2]; HEAP32[$3 + 12 >> 2] = jspGetException(); if (HEAP32[$3 + 12 >> 2]) { _jswrap_prombox_reject(HEAP32[$3 + 36 >> 2], HEAP32[$3 + 12 >> 2]); @@ -33032,7 +33049,7 @@ function jswrap_require($0) { break label$1; } if (jsvGetString(HEAP32[$1 + 248 >> 2], $1 + 112 | 0, 128) >>> 0 >= 128) { - jsExceptionHere(3, 145102, 0); + jsExceptionHere(3, 145200, 0); HEAP32[$1 + 252 >> 2] = 0; break label$1; } @@ -33345,9 +33362,9 @@ function jsiDumpObjectState($0, $1, $2, $3) { $2 = HEAP32[$4 + 52 >> 2]; HEAP32[$4 + 4 >> 2] = HEAP32[$4 + 36 >> 2]; HEAP32[$4 >> 2] = $2; - cbprintf($0, $1, 146734, $4); + cbprintf($0, $1, 146832, $4); jsiDumpJSON(HEAP32[$4 + 60 >> 2], HEAP32[$4 + 56 >> 2], HEAP32[$4 + 32 >> 2], 0); - FUNCTION_TABLE[HEAP32[$4 + 60 >> 2]](147841, HEAP32[$4 + 56 >> 2]); + FUNCTION_TABLE[HEAP32[$4 + 60 >> 2]](147939, HEAP32[$4 + 56 >> 2]); } } } @@ -33524,7 +33541,7 @@ function jsfGetJSONForFunctionWithCallback($0, $1, $2, $3) { HEAP32[$4 + 44 >> 2] = 0; jsvObjectIteratorNew($4 + 40 | 0, HEAP32[$4 + 60 >> 2]); HEAP8[$4 + 39 | 0] = 1; - cbprintf(HEAP32[$4 + 52 >> 2], HEAP32[$4 + 48 >> 2], 145753, 0); + cbprintf(HEAP32[$4 + 52 >> 2], HEAP32[$4 + 48 >> 2], 145851, 0); while (1) { if (jsvObjectIteratorHasValue_8($4 + 40 | 0) & 1) { HEAP32[$4 + 32 >> 2] = jsvObjectIteratorGetKey_5($4 + 40 | 0); @@ -33562,7 +33579,7 @@ function jsfGetJSONForFunctionWithCallback($0, $1, $2, $3) { break; } jsvObjectIteratorFree_8($4 + 40 | 0); - cbprintf(HEAP32[$4 + 52 >> 2], HEAP32[$4 + 48 >> 2], 146857, 0); + cbprintf(HEAP32[$4 + 52 >> 2], HEAP32[$4 + 48 >> 2], 146955, 0); label$8: { if (jsvIsNativeFunction(HEAP32[$4 + 60 >> 2]) & 1) { cbprintf(HEAP32[$4 + 52 >> 2], HEAP32[$4 + 48 >> 2], 113881, 0); @@ -33573,14 +33590,14 @@ function jsfGetJSONForFunctionWithCallback($0, $1, $2, $3) { if (HEAP32[$4 + 56 >> 2] & 8) { $0 = HEAP32[$4 + 52 >> 2]; $1 = HEAP32[$4 + 48 >> 2]; - HEAP32[$4 + 16 >> 2] = HEAP32[45101]; + HEAP32[$4 + 16 >> 2] = HEAP32[45129]; cbprintf($0, $1, 112547, $4 + 16 | 0); break label$10; } HEAP8[$4 + 27 | 0] = (jsvGetStringIndexOf(HEAP32[$4 + 44 >> 2], 10) | 0) >= 0; - FUNCTION_TABLE[HEAP32[$4 + 52 >> 2]](HEAP8[$4 + 27 | 0] & 1 ? 146865 : 113907, HEAP32[$4 + 48 >> 2]); + FUNCTION_TABLE[HEAP32[$4 + 52 >> 2]](HEAP8[$4 + 27 | 0] & 1 ? 146963 : 113907, HEAP32[$4 + 48 >> 2]); if (jsvIsFunctionReturn(HEAP32[$4 + 60 >> 2]) & 1) { - FUNCTION_TABLE[HEAP32[$4 + 52 >> 2]](146596, HEAP32[$4 + 48 >> 2]); + FUNCTION_TABLE[HEAP32[$4 + 52 >> 2]](146694, HEAP32[$4 + 48 >> 2]); } jslPrintTokenisedString(HEAP32[$4 + 44 >> 2], HEAP32[$4 + 52 >> 2], HEAP32[$4 + 48 >> 2]); FUNCTION_TABLE[HEAP32[$4 + 52 >> 2]](HEAP8[$4 + 27 | 0] & 1 ? 113899 : 113900, HEAP32[$4 + 48 >> 2]); @@ -33598,7 +33615,7 @@ function jsfLoadBootCodeFromFlash($0) { $1 = __stack_pointer - 160 | 0; __stack_pointer = $1; HEAP8[$1 + 158 | 0] = $0; - if (!(wasm2js_i32$0 = jshPinGetValue(17) & 1, wasm2js_i32$1 = 1, wasm2js_i32$2 = HEAPU16[174550] & 4096, + if (!(wasm2js_i32$0 = jshPinGetValue(17) & 1, wasm2js_i32$1 = 1, wasm2js_i32$2 = HEAPU16[174606] & 4096, wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1)) { jsfNameFromString($1 + 120 | 0, 120084); HEAP32[$1 + 64 >> 2] = HEAP32[$1 + 144 >> 2]; @@ -33619,7 +33636,7 @@ function jsfLoadBootCodeFromFlash($0) { jsvUnLock2(jspEvaluateVar(HEAP32[$1 + 152 >> 2], 0, 0), HEAP32[$1 + 152 >> 2]); } } - if (!(wasm2js_i32$0 = jshPinGetValue(17) & 1, wasm2js_i32$1 = 0, wasm2js_i32$2 = HEAPU16[174550] & 4096, + if (!(wasm2js_i32$0 = jshPinGetValue(17) & 1, wasm2js_i32$1 = 0, wasm2js_i32$2 = HEAPU16[174606] & 4096, wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1)) { $0 = HEAPU8[126002] | HEAPU8[126003] << 8 | (HEAPU8[126004] << 16 | HEAPU8[126005] << 24); HEAP8[$1 + 115 | 0] = $0; @@ -33797,14 +33814,14 @@ function utilTimerGetLastTask($0, $1, $2) { HEAP32[$4 + 20 >> 2] = $1; HEAP32[$4 + 16 >> 2] = $2; jshInterruptOff(); - HEAP8[$4 + 15 | 0] = HEAPU8[351057]; + HEAP8[$4 + 15 | 0] = HEAPU8[351169]; label$1: { - if (HEAPU8[$4 + 15 | 0] != HEAPU8[351058]) { + if (HEAPU8[$4 + 15 | 0] != HEAPU8[351170]) { HEAP8[$4 + 15 | 0] = HEAPU8[$4 + 15 | 0] + 15 & 15; while (1) { - if (HEAPU8[$4 + 15 | 0] != (HEAPU8[351058] + 15 & 15)) { - if (FUNCTION_TABLE[HEAP32[$4 + 24 >> 2]](Math_imul(HEAPU8[$4 + 15 | 0], 25) + 351072 | 0, HEAP32[$4 + 20 >> 2]) & 1) { - $3 = Math_imul(HEAPU8[$4 + 15 | 0], 25) + 351072 | 0; + if (HEAPU8[$4 + 15 | 0] != (HEAPU8[351170] + 15 & 15)) { + if (FUNCTION_TABLE[HEAP32[$4 + 24 >> 2]](Math_imul(HEAPU8[$4 + 15 | 0], 25) + 351184 | 0, HEAP32[$4 + 20 >> 2]) & 1) { + $3 = Math_imul(HEAPU8[$4 + 15 | 0], 25) + 351184 | 0; $0 = HEAPU8[$3 | 0] | HEAPU8[$3 + 1 | 0] << 8 | (HEAPU8[$3 + 2 | 0] << 16 | HEAPU8[$3 + 3 | 0] << 24); $2 = HEAPU8[$3 + 4 | 0] | HEAPU8[$3 + 5 | 0] << 8 | (HEAPU8[$3 + 6 | 0] << 16 | HEAPU8[$3 + 7 | 0] << 24); $5 = $0; @@ -33871,9 +33888,9 @@ function jslPrintTokenLineMarker($0, $1, $2, $3) { HEAP32[$4 + 80 >> 2] = $3; HEAP32[$4 + 76 >> 2] = 1; HEAP32[$4 + 72 >> 2] = 1; - jsvGetLineAndCol(HEAP32[HEAP32[45251] + 84 >> 2], HEAP32[$4 + 84 >> 2], $4 + 76 | 0, $4 + 72 | 0); - HEAP32[$4 + 68 >> 2] = jsvGetIndexFromLineAndCol(HEAP32[HEAP32[45251] + 84 >> 2], HEAP32[$4 + 76 >> 2], 1); - HEAP32[$4 + 64 >> 2] = jsvGetCharsOnLine(HEAP32[HEAP32[45251] + 84 >> 2], HEAP32[$4 + 76 >> 2]); + jsvGetLineAndCol(HEAP32[HEAP32[45279] + 84 >> 2], HEAP32[$4 + 84 >> 2], $4 + 76 | 0, $4 + 72 | 0); + HEAP32[$4 + 68 >> 2] = jsvGetIndexFromLineAndCol(HEAP32[HEAP32[45279] + 84 >> 2], HEAP32[$4 + 76 >> 2], 1); + HEAP32[$4 + 64 >> 2] = jsvGetCharsOnLine(HEAP32[HEAP32[45279] + 84 >> 2], HEAP32[$4 + 76 >> 2]); HEAP32[$4 + 60 >> 2] = 0; if (HEAP32[$4 + 80 >> 2]) { FUNCTION_TABLE[HEAP32[$4 + 92 >> 2]](HEAP32[$4 + 80 >> 2], HEAP32[$4 + 88 >> 2]); @@ -33893,7 +33910,7 @@ function jslPrintTokenLineMarker($0, $1, $2, $3) { HEAP32[$4 + 64 >> 2] = HEAP32[$4 + 64 >> 2] - HEAP32[$4 + 56 >> 2]; } HEAP32[$4 + 52 >> 2] = 0; - jsvStringIteratorNew($4 + 16 | 0, HEAP32[HEAP32[45251] + 84 >> 2], HEAP32[$4 + 68 >> 2]); + jsvStringIteratorNew($4 + 16 | 0, HEAP32[HEAP32[45279] + 84 >> 2], HEAP32[$4 + 68 >> 2]); HEAP8[$4 + 15 | 0] = 0; while (1) { label$6: { @@ -33923,18 +33940,18 @@ function jslPrintTokenLineMarker($0, $1, $2, $3) { if (HEAPU32[$4 + 64 >> 2] > 60) { FUNCTION_TABLE[HEAP32[$4 + 92 >> 2]](130268, HEAP32[$4 + 88 >> 2]); } - FUNCTION_TABLE[HEAP32[$4 + 92 >> 2]](148653, HEAP32[$4 + 88 >> 2]); + FUNCTION_TABLE[HEAP32[$4 + 92 >> 2]](148751, HEAP32[$4 + 88 >> 2]); HEAP32[$4 + 72 >> 2] = HEAP32[$4 + 60 >> 2] + HEAP32[$4 + 72 >> 2]; while (1) { $0 = HEAP32[$4 + 72 >> 2]; HEAP32[$4 + 72 >> 2] = $0 - 1; if ($0 >>> 0 > 1) { - FUNCTION_TABLE[HEAP32[$4 + 92 >> 2]](146916, HEAP32[$4 + 88 >> 2]); + FUNCTION_TABLE[HEAP32[$4 + 92 >> 2]](147014, HEAP32[$4 + 88 >> 2]); continue; } break; } - FUNCTION_TABLE[HEAP32[$4 + 92 >> 2]](147652, HEAP32[$4 + 88 >> 2]); + FUNCTION_TABLE[HEAP32[$4 + 92 >> 2]](147750, HEAP32[$4 + 88 >> 2]); __stack_pointer = $4 + 96 | 0; } @@ -34133,7 +34150,7 @@ function jspeTemplateLiteral() { $0 = __stack_pointer - 144 | 0; __stack_pointer = $0; HEAP32[$0 + 140 >> 2] = 0; - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { HEAP32[$0 + 136 >> 2] = jslGetTokenValueAsVar(); HEAP32[$0 + 140 >> 2] = jsvNewFromEmptyString_3(); if (!(!HEAP32[$0 + 140 >> 2] | !HEAP32[$0 + 136 >> 2])) { @@ -34289,13 +34306,13 @@ function jspeStatementTry() { $0 = __stack_pointer - 32 | 0; __stack_pointer = $0; jslGetNextToken(); - HEAP8[$0 + 27 | 0] = (HEAP32[87266] & 63) == 1; + HEAP8[$0 + 27 | 0] = (HEAP32[87294] & 63) == 1; jspeBlock(); - $1 = HEAP8[$0 + 27 | 0] & 1 ? (HEAP32[87266] & 32) != 0 : $1; + $1 = HEAP8[$0 + 27 | 0] & 1 ? (HEAP32[87294] & 32) != 0 : $1; HEAP8[$0 + 26 | 0] = $1; HEAP8[$0 + 25 | 0] = 0; label$2: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 178) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 178) { jslGetNextToken(); HEAP8[$0 + 25 | 0] = 1; HEAP32[$0 + 20 >> 2] = 0; @@ -34308,7 +34325,7 @@ function jspeStatementTry() { $1 = 0; } HEAP32[$0 + 12 >> 2] = $1; - if (HEAP16[HEAP32[45251] + 2 >> 1] == 40) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 40) { if (!(jslMatch(40) & 1)) { break label$2; } @@ -34334,15 +34351,15 @@ function jspeStatementTry() { } } if (HEAP8[$0 + 27 | 0] & 1) { - HEAP32[87266] = HEAP32[87266] & -161; + HEAP32[87294] = HEAP32[87294] & -161; jsvUnLock(HEAP32[$0 + 12 >> 2]); } label$15: { if (!(!(HEAP8[$0 + 27 | 0] & 1) | HEAP8[$0 + 26 | 0] & 1)) { - HEAP32[$0 + 8 >> 2] = HEAP32[87266]; + HEAP32[$0 + 8 >> 2] = HEAP32[87294]; jspSetNoExecute(); jspeBlock(); - HEAP32[87266] = HEAP32[87266] & -1664 | HEAP32[$0 + 8 >> 2] & 1663; + HEAP32[87294] = HEAP32[87294] & -1664 | HEAP32[$0 + 8 >> 2] & 1663; break label$15; } label$17: { @@ -34359,18 +34376,18 @@ function jspeStatementTry() { } jsvUnLock(HEAP32[$0 + 16 >> 2]); } - if (!(HEAP8[$0 + 25 | 0] & 1 | HEAP32[87266] & 80 ? HEAP16[HEAP32[45251] + 2 >> 1] != 179 : 0)) { + if (!(HEAP8[$0 + 25 | 0] & 1 | HEAP32[87294] & 80 ? HEAP16[HEAP32[45279] + 2 >> 1] != 179 : 0)) { if (!(jslMatch(179) & 1)) { break label$2; } - HEAP32[$0 + 4 >> 2] = HEAP32[87266]; + HEAP32[$0 + 4 >> 2] = HEAP32[87294]; if (HEAP8[$0 + 27 | 0] & 1) { - HEAP32[87266] = HEAP32[87266] & -47 | 1; + HEAP32[87294] = HEAP32[87294] & -47 | 1; } jspeBlock(); - HEAP32[87266] = HEAP32[$0 + 4 >> 2]; + HEAP32[87294] = HEAP32[$0 + 4 >> 2]; if (!(!(HEAP8[$0 + 26 | 0] & 1) | HEAP8[$0 + 25 | 0] & 1)) { - HEAP32[87266] = HEAP32[87266] | 32; + HEAP32[87294] = HEAP32[87294] | 32; } } } @@ -34529,7 +34546,7 @@ function tflite__ops__micro__fully_connected__Prepare_28TfLiteContext__2c_20TfLi HEAP32[$2 + 8 >> 2] = $3; HEAP32[$2 + 4 >> 2] = 122408; HEAP32[$2 >> 2] = 122421; - FUNCTION_TABLE[$0 | 0]($1, 145173, $2); + FUNCTION_TABLE[$0 | 0]($1, 145271, $2); HEAP32[$2 + 60 >> 2] = 1; break label$3; } @@ -35285,7 +35302,7 @@ function lcdMemLCD_fillRect($0, $1, $2, $3, $4, $5) { HEAP32[$6 + 48 >> 2] = HEAP32[$6 + 68 >> 2]; while (1) { if (HEAP32[$6 + 48 >> 2] <= HEAP32[$6 + 60 >> 2]) { - memset(HEAP32[$6 + 52 >> 2] + 363536 | 0, HEAP32[$6 + 56 >> 2] ? 255 : 0, 66); + memset(HEAP32[$6 + 52 >> 2] + 363648 | 0, HEAP32[$6 + 56 >> 2] ? 255 : 0, 66); HEAP32[$6 + 52 >> 2] = HEAP32[$6 + 52 >> 2] + 68; HEAP32[$6 + 48 >> 2] = HEAP32[$6 + 48 >> 2] + 1; continue; @@ -35308,11 +35325,11 @@ function lcdMemLCD_fillRect($0, $1, $2, $3, $4, $5) { if (HEAP32[$6 + 16 >> 2] <= HEAP32[$6 + 64 >> 2]) { HEAP32[$6 + 12 >> 2] = HEAP32[$6 + 20 >> 2] & 7; $0 = HEAP32[$6 + 20 >> 2] >> 3; - HEAP16[$6 + 10 >> 1] = HEAPU8[$0 + 363536 | 0] | HEAPU8[$0 + 363537 | 0] << 8; + HEAP16[$6 + 10 >> 1] = HEAPU8[$0 + 363648 | 0] | HEAPU8[$0 + 363649 | 0] << 8; $0 = HEAP32[$6 + 20 >> 2] >> 3; $1 = HEAPU16[$6 + 10 >> 1] & (7 << HEAP32[$6 + 12 >> 2] ^ -1) | HEAP32[HEAP32[$6 + 24 >> 2] + ((HEAP32[$6 + 16 >> 2] & 1) << 2) >> 2] << HEAP32[$6 + 12 >> 2]; - HEAP8[$0 + 363536 | 0] = $1; - HEAP8[$0 + 363537 | 0] = $1 >>> 8; + HEAP8[$0 + 363648 | 0] = $1; + HEAP8[$0 + 363649 | 0] = $1 >>> 8; HEAP32[$6 + 20 >> 2] = HEAP32[$6 + 20 >> 2] + 3; HEAP32[$6 + 16 >> 2] = HEAP32[$6 + 16 >> 2] + 1; continue; @@ -35431,7 +35448,7 @@ function jswrap_banglejs_appRect() { HEAP32[$0 + 44 >> 2] = 0; break label$1; } - HEAP32[$0 + 36 >> 2] = jsvObjectGetChildIfExists(HEAP32[87258], 126389); + HEAP32[$0 + 36 >> 2] = jsvObjectGetChildIfExists(HEAP32[87286], 126389); HEAP32[$0 + 32 >> 2] = 0; HEAP32[$0 + 28 >> 2] = 0; if (jsvIsObject(HEAP32[$0 + 36 >> 2]) & 1) { @@ -35468,10 +35485,10 @@ function jswrap_banglejs_appRect() { jsvUnLock(HEAP32[$0 + 36 >> 2]); jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 114319, jsvNewFromInteger(0)); jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 114215, jsvNewFromInteger(HEAP32[$0 + 32 >> 2])); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 114572, jsvNewFromInteger(HEAPU8[351504] | HEAPU8[351505] << 8)); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 121187, jsvNewFromInteger((HEAPU8[351506] | HEAPU8[351507] << 8) - (HEAP32[$0 + 32 >> 2] + HEAP32[$0 + 28 >> 2] | 0) | 0)); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 128786, jsvNewFromInteger((HEAPU8[351504] | HEAPU8[351505] << 8) - 1 | 0)); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 128783, jsvNewFromInteger((HEAPU8[351506] | HEAPU8[351507] << 8) - (HEAP32[$0 + 28 >> 2] + 1 | 0) | 0)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 114572, jsvNewFromInteger(HEAPU8[351616] | HEAPU8[351617] << 8)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 121187, jsvNewFromInteger((HEAPU8[351618] | HEAPU8[351619] << 8) - (HEAP32[$0 + 32 >> 2] + HEAP32[$0 + 28 >> 2] | 0) | 0)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 128776, jsvNewFromInteger((HEAPU8[351616] | HEAPU8[351617] << 8) - 1 | 0)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 40 >> 2], 128773, jsvNewFromInteger((HEAPU8[351618] | HEAPU8[351619] << 8) - (HEAP32[$0 + 28 >> 2] + 1 | 0) | 0)); HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 40 >> 2]; } __stack_pointer = $0 + 48 | 0; @@ -35494,9 +35511,9 @@ function tflite__ops__micro__activations__SoftmaxPrepare_28TfLiteContext__2c_20T $3 = tflite__NumInputs_28TfLiteNode_20const__29(HEAP32[$2 + 52 >> 2]); HEAP32[$2 + 12 >> 2] = 1; HEAP32[$2 + 8 >> 2] = $3; - HEAP32[$2 + 4 >> 2] = 129233; - HEAP32[$2 >> 2] = 145340; - FUNCTION_TABLE[$0 | 0]($1, 145571, $2); + HEAP32[$2 + 4 >> 2] = 129223; + HEAP32[$2 >> 2] = 145438; + FUNCTION_TABLE[$0 | 0]($1, 145669, $2); HEAP32[$2 + 60 >> 2] = 1; break label$1; } @@ -35506,9 +35523,9 @@ function tflite__ops__micro__activations__SoftmaxPrepare_28TfLiteContext__2c_20T $3 = tflite__NumOutputs_28TfLiteNode_20const__29(HEAP32[$2 + 52 >> 2]); HEAP32[$2 + 28 >> 2] = 1; HEAP32[$2 + 24 >> 2] = $3; - HEAP32[$2 + 20 >> 2] = 129233; - HEAP32[$2 + 16 >> 2] = 145323; - FUNCTION_TABLE[$0 | 0]($1, 145571, $2 + 16 | 0); + HEAP32[$2 + 20 >> 2] = 129223; + HEAP32[$2 + 16 >> 2] = 145421; + FUNCTION_TABLE[$0 | 0]($1, 145669, $2 + 16 | 0); HEAP32[$2 + 60 >> 2] = 1; break label$1; } @@ -35516,7 +35533,7 @@ function tflite__ops__micro__activations__SoftmaxPrepare_28TfLiteContext__2c_20T if ((tflite__NumDimensions_28TfLiteTensor_20const__29(HEAP32[$2 + 44 >> 2]) | 0) <= 0) { $0 = HEAP32[HEAP32[$2 + 56 >> 2] + 20 >> 2]; $1 = HEAP32[$2 + 56 >> 2]; - HEAP32[$2 + 32 >> 2] = 129171; + HEAP32[$2 + 32 >> 2] = 129161; FUNCTION_TABLE[$0 | 0]($1, 129822, $2 + 32 | 0); HEAP32[$2 + 60 >> 2] = 1; break label$1; @@ -36014,16 +36031,16 @@ function jspeStatementVar() { __stack_pointer = $0; HEAP32[$0 + 24 >> 2] = 0; label$1: { - if (HEAP16[HEAP32[45251] + 2 >> 1] != 173) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 173) { $1 = 0; - if (HEAP16[HEAP32[45251] + 2 >> 1] != 174) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 174) { break label$1; } } - $1 = HEAPU8[349052] != 0; + $1 = HEAPU8[349164] != 0; } HEAP8[$0 + 23 | 0] = $1; - HEAP8[$0 + 22 | 0] = HEAP16[HEAP32[45251] + 2 >> 1] == 174; + HEAP8[$0 + 22 | 0] = HEAP16[HEAP32[45279] + 2 >> 1] == 174; jslGetNextToken(); HEAP8[$0 + 21 | 0] = 1; while (1) { @@ -36033,7 +36050,7 @@ function jspeStatementVar() { break label$4; } $1 = 0; - if (HEAP16[HEAP32[45251] + 2 >> 1] != 128) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 128) { break label$4; } $1 = jspIsInterrupted() ^ -1; @@ -36041,18 +36058,18 @@ function jspeStatementVar() { if ($1 & 1) { label$6: { HEAP32[$0 + 16 >> 2] = 0; - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { HEAP32[$0 + 12 >> 2] = jslGetTokenValueAsString(); label$8: { if (HEAP8[$0 + 23 | 0] & 1) { - if (!HEAP32[87262]) { - HEAP32[87262] = jsvNewObject(); - jspeiAddScope(HEAP32[87262]); + if (!HEAP32[87290]) { + HEAP32[87290] = jsvNewObject(); + jspeiAddScope(HEAP32[87290]); } - HEAP32[$0 + 16 >> 2] = jsvFindOrAddChildFromString(HEAP32[87262], HEAP32[$0 + 12 >> 2]); + HEAP32[$0 + 16 >> 2] = jsvFindOrAddChildFromString(HEAP32[87290], HEAP32[$0 + 12 >> 2]); break label$8; } - HEAP32[$0 + 16 >> 2] = jsvFindOrAddChildFromString(HEAP32[87261], HEAP32[$0 + 12 >> 2]); + HEAP32[$0 + 16 >> 2] = jsvFindOrAddChildFromString(HEAP32[87289], HEAP32[$0 + 12 >> 2]); } if (!HEAP32[$0 + 16 >> 2]) { jspSetError(0); @@ -36063,18 +36080,18 @@ function jspeStatementVar() { jsvUnLock(HEAP32[$0 + 16 >> 2]); break label$6; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 61) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 61) { if (!(jslMatch(61) & 1)) { jsvUnLock(HEAP32[$0 + 16 >> 2]); break label$6; } HEAP32[$0 + 8 >> 2] = jsvSkipNameAndUnLock(jspeAssignmentExpression()); - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { jsvReplaceWith(HEAP32[$0 + 16 >> 2], HEAP32[$0 + 8 >> 2]); } jsvUnLock(HEAP32[$0 + 8 >> 2]); } - if (HEAP8[$0 + 22 | 0] & 1 & (HEAP32[87266] & 63) == 1) { + if (HEAP8[$0 + 22 | 0] & 1 & (HEAP32[87294] & 63) == 1) { $2 = HEAP32[$0 + 16 >> 2]; $1 = HEAPU8[$2 + 12 | 0] | HEAPU8[$2 + 13 | 0] << 8 | 64; HEAP8[$2 + 12 | 0] = $1; @@ -36082,7 +36099,7 @@ function jspeStatementVar() { } jsvUnLock(HEAP32[$0 + 24 >> 2]); HEAP32[$0 + 24 >> 2] = HEAP32[$0 + 16 >> 2]; - HEAP8[$0 + 21 | 0] = HEAP16[HEAP32[45251] + 2 >> 1] == 44; + HEAP8[$0 + 21 | 0] = HEAP16[HEAP32[45279] + 2 >> 1] == 44; if (HEAP8[$0 + 21 | 0] & 1) { if (!(jslMatch(44) & 1)) { break label$6; @@ -36114,7 +36131,7 @@ function _jswrap_interface_setTimeoutOrInterval($0, $1, $2, $3) { if (jsvIsString(HEAP32[$4 + 56 >> 2]) & 1) { break label$2; } - jsExceptionHere(1, 146339, 0); + jsExceptionHere(1, 146437, 0); HEAP32[$4 + 60 >> 2] = 0; break label$1; } @@ -36127,7 +36144,7 @@ function _jswrap_interface_setTimeoutOrInterval($0, $1, $2, $3) { HEAPF64[$4 + 48 >> 3] = .1; } if (HEAPF64[$4 + 48 >> 3] > 31536000001e3) { - jsExceptionHere(1, 145139, 0); + jsExceptionHere(1, 145237, 0); HEAP32[$4 + 60 >> 2] = 0; break label$1; } @@ -36145,9 +36162,9 @@ function _jswrap_interface_setTimeoutOrInterval($0, $1, $2, $3) { $3 = $0; $2 = i64toi32_i32$HIGH_BITS; $8 = $2; - $0 = HEAP32[87293]; + $0 = HEAP32[87321]; $9 = $0; - $2 = HEAP32[87292]; + $2 = HEAP32[87320]; $6 = $2; $5 = $3 - $2 | 0; $10 = $5; @@ -36331,7 +36348,7 @@ function jswrap_graphics_setFontCustom($0, $1, $2, $3, $4) { jsvObjectSetChild(HEAP32[$5 + 104 >> 2], 127709, HEAP32[$5 + 100 >> 2]); jsvObjectSetChild(HEAP32[$5 + 104 >> 2], 126141, HEAP32[$5 + 92 >> 2]); jsvObjectSetChildAndUnLock(HEAP32[$5 + 104 >> 2], 127138, jsvNewFromInteger(HEAP32[$5 + 88 >> 2])); - jsvObjectSetChildAndUnLock(HEAP32[$5 + 104 >> 2], 129096, jsvNewFromInteger(HEAP32[$5 + 96 >> 2])); + jsvObjectSetChildAndUnLock(HEAP32[$5 + 104 >> 2], 129086, jsvNewFromInteger(HEAP32[$5 + 96 >> 2])); $0 = HEAP32[$5 + 12 >> 2] + HEAP32[$5 + 4 >> 2] | 0; HEAP8[$5 + 41 | 0] = $0; HEAP8[$5 + 42 | 0] = $0 >>> 8; @@ -36369,47 +36386,47 @@ function jspEvaluateModule($0) { } HEAP32[$1 + 44 >> 2] = jsvAddNamedChild(HEAP32[$1 + 52 >> 2], HEAP32[$1 + 48 >> 2], 117287); jsvUnLock2(HEAP32[$1 + 48 >> 2], jsvAddNamedChild(HEAP32[$1 + 52 >> 2], HEAP32[$1 + 52 >> 2], 122596)); - HEAP32[$1 + 40 >> 2] = HEAP32[87266]; - $0 = HEAP32[87265]; - $2 = HEAP32[87264]; + HEAP32[$1 + 40 >> 2] = HEAP32[87294]; + $0 = HEAP32[87293]; + $2 = HEAP32[87292]; HEAP32[$1 + 32 >> 2] = $2; HEAP32[$1 + 36 >> 2] = $0; - $2 = HEAP32[87263]; - $0 = HEAP32[87262]; + $2 = HEAP32[87291]; + $0 = HEAP32[87290]; HEAP32[$1 + 24 >> 2] = $0; HEAP32[$1 + 28 >> 2] = $2; - $0 = HEAP32[87261]; - $2 = HEAP32[87260]; + $0 = HEAP32[87289]; + $2 = HEAP32[87288]; HEAP32[$1 + 16 >> 2] = $2; HEAP32[$1 + 20 >> 2] = $0; - $2 = HEAP32[87259]; - $0 = HEAP32[87258]; + $2 = HEAP32[87287]; + $0 = HEAP32[87286]; HEAP32[$1 + 8 >> 2] = $0; HEAP32[$1 + 12 >> 2] = $2; - HEAP32[87261] = HEAP32[$1 + 48 >> 2]; - HEAP32[87262] = 0; - HEAP8[349052] = 0; - HEAP32[87264] = HEAP32[$1 + 48 >> 2]; + HEAP32[87289] = HEAP32[$1 + 48 >> 2]; + HEAP32[87290] = 0; + HEAP8[349164] = 0; + HEAP32[87292] = HEAP32[$1 + 48 >> 2]; jsvUnLock(jspEvaluateVar(HEAP32[$1 + 56 >> 2], HEAP32[$1 + 52 >> 2], 0)); - HEAP32[$1 + 4 >> 2] = HEAP32[87266] & 112; + HEAP32[$1 + 4 >> 2] = HEAP32[87294] & 112; $0 = HEAP32[$1 + 12 >> 2]; $2 = HEAP32[$1 + 8 >> 2]; - HEAP32[87258] = $2; - HEAP32[87259] = $0; - HEAP32[87266] = HEAP32[$1 + 40 >> 2]; + HEAP32[87286] = $2; + HEAP32[87287] = $0; + HEAP32[87294] = HEAP32[$1 + 40 >> 2]; $2 = HEAP32[$1 + 36 >> 2]; $0 = HEAP32[$1 + 32 >> 2]; - HEAP32[87264] = $0; - HEAP32[87265] = $2; + HEAP32[87292] = $0; + HEAP32[87293] = $2; $0 = HEAP32[$1 + 28 >> 2]; $2 = HEAP32[$1 + 24 >> 2]; - HEAP32[87262] = $2; - HEAP32[87263] = $0; + HEAP32[87290] = $2; + HEAP32[87291] = $0; $2 = HEAP32[$1 + 20 >> 2]; $0 = HEAP32[$1 + 16 >> 2]; - HEAP32[87260] = $0; - HEAP32[87261] = $2; - HEAP32[87266] = HEAP32[$1 + 4 >> 2] | HEAP32[87266]; + HEAP32[87288] = $0; + HEAP32[87289] = $2; + HEAP32[87294] = HEAP32[$1 + 4 >> 2] | HEAP32[87294]; jsvUnLock2(HEAP32[$1 + 56 >> 2], HEAP32[$1 + 52 >> 2]); HEAP32[$1 + 60 >> 2] = jsvSkipNameAndUnLock(HEAP32[$1 + 44 >> 2]); } @@ -36425,58 +36442,58 @@ function touchHandlerInternal($0, $1, $2, $3) { HEAP32[$4 + 24 >> 2] = $1; HEAP32[$4 + 20 >> 2] = $2; HEAP32[$4 + 16 >> 2] = $3; - if (!(HEAP32[93921] & 262144)) { - deviceToGraphicsCoordinates(351492, $4 + 28 | 0, $4 + 24 | 0); - HEAP32[$4 + 12 >> 2] = HEAP32[$4 + 28 >> 2] - HEAP16[187865]; - HEAP32[$4 + 8 >> 2] = HEAP32[$4 + 24 >> 2] - HEAP16[187866]; - HEAP16[187865] = HEAP32[$4 + 28 >> 2]; - HEAP16[187866] = HEAP32[$4 + 24 >> 2]; - HEAP8[375734] = HEAP32[$4 + 20 >> 2] != 0; - HEAP32[$4 + 4 >> 2] = HEAP32[93924]; - if (HEAP32[$4 + 16 >> 2] != HEAP32[93934]) { + if (!(HEAP32[93949] & 262144)) { + deviceToGraphicsCoordinates(351604, $4 + 28 | 0, $4 + 24 | 0); + HEAP32[$4 + 12 >> 2] = HEAP32[$4 + 28 >> 2] - HEAP16[187921]; + HEAP32[$4 + 8 >> 2] = HEAP32[$4 + 24 >> 2] - HEAP16[187922]; + HEAP16[187921] = HEAP32[$4 + 28 >> 2]; + HEAP16[187922] = HEAP32[$4 + 24 >> 2]; + HEAP8[375846] = HEAP32[$4 + 20 >> 2] != 0; + HEAP32[$4 + 4 >> 2] = HEAP32[93952]; + if (HEAP32[$4 + 16 >> 2] != HEAP32[93962]) { label$3: { label$4: { switch (HEAP32[$4 + 16 >> 2] - 1 | 0) { case 0: - HEAP32[93935] = touchSwipeRotate(4); - HEAP32[93924] = HEAP32[93924] | 524288; + HEAP32[93963] = touchSwipeRotate(4); + HEAP32[93952] = HEAP32[93952] | 524288; break label$3; case 1: - HEAP32[93935] = touchSwipeRotate(3); - HEAP32[93924] = HEAP32[93924] | 524288; + HEAP32[93963] = touchSwipeRotate(3); + HEAP32[93952] = HEAP32[93952] | 524288; break label$3; case 2: - HEAP32[93935] = touchSwipeRotate(1); - HEAP32[93924] = HEAP32[93924] | 524288; + HEAP32[93963] = touchSwipeRotate(1); + HEAP32[93952] = HEAP32[93952] | 524288; break label$3; case 3: - HEAP32[93935] = touchSwipeRotate(2); - HEAP32[93924] = HEAP32[93924] | 524288; + HEAP32[93963] = touchSwipeRotate(2); + HEAP32[93952] = HEAP32[93952] | 524288; break label$3; case 4: label$11: { - if (HEAP16[187865] < 80) { - HEAP32[93924] = HEAP32[93924] | 1048576; + if (HEAP16[187921] < 80) { + HEAP32[93952] = HEAP32[93952] | 1048576; break label$11; } - HEAP32[93924] = HEAP32[93924] | 2097152; + HEAP32[93952] = HEAP32[93952] | 2097152; } - HEAP8[375744] = 0; + HEAP8[375856] = 0; break label$3; case 10: label$13: { - if (HEAP16[187865] < 80) { - HEAP32[93924] = HEAP32[93924] | 1048576; + if (HEAP16[187921] < 80) { + HEAP32[93952] = HEAP32[93952] | 1048576; break label$13; } - HEAP32[93924] = HEAP32[93924] | 2097152; + HEAP32[93952] = HEAP32[93952] | 2097152; } - HEAP8[375744] = 1; + HEAP8[375856] = 1; break label$3; case 11: @@ -36487,22 +36504,22 @@ function touchHandlerInternal($0, $1, $2, $3) { } } label$15: { - if (HEAP16[187865] < 80) { - HEAP32[93924] = HEAP32[93924] | 1048576; + if (HEAP16[187921] < 80) { + HEAP32[93952] = HEAP32[93952] | 1048576; break label$15; } - HEAP32[93924] = HEAP32[93924] | 2097152; + HEAP32[93952] = HEAP32[93952] | 2097152; } - HEAP8[375744] = 2; + HEAP8[375856] = 2; } } - if (!(!((HEAP8[375734] & 1) != (HEAP8[375745] & 1) | HEAP16[187873] != HEAP16[187865]) & HEAP16[187874] == HEAP16[187866])) { - HEAP32[93924] = HEAP32[93924] | 4194304; + if (!(!((HEAP8[375846] & 1) != (HEAP8[375857] & 1) | HEAP16[187929] != HEAP16[187921]) & HEAP16[187930] == HEAP16[187922])) { + HEAP32[93952] = HEAP32[93952] | 4194304; } - if (HEAP32[$4 + 4 >> 2] != HEAP32[93924]) { - HEAP16[187854] = 0; + if (HEAP32[$4 + 4 >> 2] != HEAP32[93952]) { + HEAP16[187910] = 0; } - HEAP32[93934] = HEAP32[$4 + 16 >> 2]; + HEAP32[93962] = HEAP32[$4 + 16 >> 2]; } __stack_pointer = $4 + 32 | 0; } @@ -36642,14 +36659,14 @@ function jsiHandleNewLine($0) { break label$3; } if (jsiShowInputLine() & 1) { - jsiConsolePrintString(148653); + jsiConsolePrintString(148751); } - if (!(HEAPU16[174550] & 2)) { - HEAP8[349108] = 1; + if (!(HEAPU16[174606] & 2)) { + HEAP8[349220] = 1; } - HEAP32[$1 + 24 >> 2] = jsvStringTrimRight(HEAP32[87276]); + HEAP32[$1 + 24 >> 2] = jsvStringTrimRight(HEAP32[87304]); jsiClearInputLine(0); - HEAP32[$1 + 20 >> 2] = jspEvaluateVar(HEAP32[$1 + 24 >> 2], 0, HEAPU16[174562]); + HEAP32[$1 + 20 >> 2] = jspEvaluateVar(HEAP32[$1 + 24 >> 2], 0, HEAPU16[174618]); HEAP8[$1 + 19 | 0] = jsvIsEmptyString(HEAP32[$1 + 24 >> 2]) & 1; label$6: { if (HEAP8[$1 + 19 | 0] & 1) { @@ -36661,7 +36678,7 @@ function jsiHandleNewLine($0) { jsiHistoryAddLine(HEAP32[$1 + 24 >> 2]); } jsvUnLock(HEAP32[$1 + 24 >> 2]); - HEAP16[174562] = 0; + HEAP16[174618] = 0; label$7: { if (!(jsiEcho() & 1)) { break label$7; @@ -36671,19 +36688,19 @@ function jsiHandleNewLine($0) { } jsiConsolePrintChar(61); jsfPrintJSON(HEAP32[$1 + 20 >> 2], 813); - jsiConsolePrintString(148653); + jsiConsolePrintString(148751); } jsvUnLock(HEAP32[$1 + 20 >> 2]); jsiCheckErrors(); - HEAP16[174550] = HEAPU16[174550] & -3; + HEAP16[174606] = HEAPU16[174606] & -3; break label$1; } if (jsiShowInputLine() & 1) { jsiConsolePrintString(128260); } jsiIsAboutToEditInputLine(); - jsiAppendToInputLine(148653); - HEAP32[87278] = HEAP32[87278] + 1; + jsiAppendToInputLine(148751); + HEAP32[87306] = HEAP32[87306] + 1; break label$1; } jsiIsAboutToEditInputLine(); @@ -36691,19 +36708,19 @@ function jsiHandleNewLine($0) { jsiConsoleEraseAfterCursor(); } HEAP32[$1 + 12 >> 2] = jsvNewFromEmptyString_5(); - if (HEAP32[87278]) { - jsvAppendStringVar(HEAP32[$1 + 12 >> 2], HEAP32[87276], 0, HEAP32[87278]); + if (HEAP32[87306]) { + jsvAppendStringVar(HEAP32[$1 + 12 >> 2], HEAP32[87304], 0, HEAP32[87306]); } jsvAppendCharacter_1(HEAP32[$1 + 12 >> 2], 10); - jsvAppendStringVar(HEAP32[$1 + 12 >> 2], HEAP32[87276], HEAP32[87278], 2147483647); + jsvAppendStringVar(HEAP32[$1 + 12 >> 2], HEAP32[87304], HEAP32[87306], 2147483647); jsiInputLineCursorMoved(); - jsvUnLock(HEAP32[87276]); - HEAP32[87276] = HEAP32[$1 + 12 >> 2]; + jsvUnLock(HEAP32[87304]); + HEAP32[87304] = HEAP32[$1 + 12 >> 2]; if (jsiShowInputLine() & 1) { - jsiConsolePrintStringVarWithNewLineChar(HEAP32[87276], HEAP32[87278], 58); - jsiMoveCursorChar(HEAP32[87276], jsvGetStringLength(HEAP32[87276]), HEAP32[87278] + 1 | 0); + jsiConsolePrintStringVarWithNewLineChar(HEAP32[87304], HEAP32[87306], 58); + jsiMoveCursorChar(HEAP32[87304], jsvGetStringLength(HEAP32[87304]), HEAP32[87306] + 1 | 0); } - HEAP32[87278] = HEAP32[87278] + 1; + HEAP32[87306] = HEAP32[87306] + 1; } __stack_pointer = $1 + 32 | 0; } @@ -36712,7 +36729,7 @@ function jswrap_waveform_idle() { var $0 = 0; $0 = __stack_pointer + -64 | 0; __stack_pointer = $0; - HEAP32[$0 + 60 >> 2] = jsvObjectGetChildIfExists(HEAP32[87259], 121902); + HEAP32[$0 + 60 >> 2] = jsvObjectGetChildIfExists(HEAP32[87287], 121902); if (HEAP32[$0 + 60 >> 2]) { jsvObjectIteratorNew($0 + 56 | 0, HEAP32[$0 + 60 >> 2]); while (1) { @@ -36735,7 +36752,7 @@ function jswrap_waveform_idle() { HEAP32[$0 + 4 >> 2] = jsvGetIntegerAndUnLock(jsvObjectGetChild(HEAP32[$0 + 52 >> 2], 118987, 10)); if (HEAP32[$0 + 4 >> 2] != HEAP32[$0 + 8 >> 2]) { jsvObjectSetChildAndUnLock(HEAP32[$0 + 52 >> 2], 118987, jsvNewFromInteger(HEAP32[$0 + 8 >> 2])); - HEAP32[$0 >> 2] = jsvObjectGetChildIfExists(HEAP32[$0 + 52 >> 2], HEAP32[$0 + 8 >> 2] ? 118890 : 128789); + HEAP32[$0 >> 2] = jsvObjectGetChildIfExists(HEAP32[$0 + 52 >> 2], HEAP32[$0 + 8 >> 2] ? 118890 : 128779); jsiQueueObjectCallbacks(HEAP32[$0 + 52 >> 2], 118879, $0, 1); jsvUnLock(HEAP32[$0 >> 2]); } @@ -36777,13 +36794,13 @@ function graphicsStructResetState($0) { break label$2; } $0 = HEAP32[$2 + 12 >> 2]; - $1 = HEAPU8[351476] | HEAPU8[351477] << 8; + $1 = HEAPU8[351588] | HEAPU8[351589] << 8; HEAP8[$0 + 17 | 0] = $1; HEAP8[$0 + 18 | 0] = $1 >>> 8; HEAP8[$0 + 19 | 0] = $1 >>> 16; HEAP8[$0 + 20 | 0] = $1 >>> 24; $0 = HEAP32[$2 + 12 >> 2]; - $1 = HEAPU8[351478] | HEAPU8[351479] << 8; + $1 = HEAPU8[351590] | HEAPU8[351591] << 8; HEAP8[$0 + 21 | 0] = $1; HEAP8[$0 + 22 | 0] = $1 >>> 8; HEAP8[$0 + 23 | 0] = $1 >>> 16; @@ -37164,6 +37181,87 @@ function jsvGetArrayIndex($0, $1) { return HEAP32[$2 + 28 >> 2]; } +function btnHandlerCommon($0, $1, $2) { + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[$3 + 12 >> 2] = $0; + HEAP8[$3 + 11 | 0] = $1; + HEAP8[$3 + 10 | 0] = $2; + label$1: { + if (HEAP32[93954] ? 1 : HEAP32[93951] | HEAP32[93953]) { + if (!(!((HEAP32[$3 + 12 >> 2] == 1 ? HEAP32[93949] & 2 : 0) | (HEAP32[$3 + 12 >> 2] == 2 ? HEAP32[93949] & 4 : 0)) & (!(HEAP32[93949] & 8) | HEAP32[$3 + 12 >> 2] != 3))) { + if (HEAP8[$3 + 11 | 0] & 1) { + HEAP8[$3 + 9 | 0] = wakeUpBangle(119626) & 1; + if (HEAP8[$3 + 9 | 0] & 1) { + HEAP16[187910] = 0; + HEAP8[375826] = HEAP32[$3 + 12 >> 2]; + $4 = jshGetSystemTime(); + $2 = i64toi32_i32$HIGH_BITS; + $0 = $2; + $2 = jshGetTimeFromMilliseconds(100); + $1 = $2; + $4 = $2 + $4 | 0; + $2 = i64toi32_i32$HIGH_BITS; + $0 = $2 + $0 | 0; + HEAP32[93958] = $4; + $0 = $4 >>> 0 < $1 >>> 0 ? $0 + 1 | 0 : $0; + HEAP32[93959] = $0; + break label$1; + } + } + } + } + HEAP8[$3 + 8 | 0] = 1; + label$10: { + if (HEAP32[93949] & 262144) { + HEAP8[$3 + 8 | 0] = 0; + break label$10; + } + HEAP16[187910] = 0; + } + if (HEAP32[$3 + 12 >> 2] == 1) { + HEAP16[187920] = 0; + } + $0 = jshGetSystemTime(); + HEAP32[$3 >> 2] = $0; + HEAP32[$3 + 4 >> 2] = i64toi32_i32$HIGH_BITS; + if (HEAP32[$3 + 12 >> 2] == HEAP8[375826]) { + $0 = HEAP32[$3 + 4 >> 2]; + $2 = $0; + $0 = HEAP32[93958]; + $1 = $0; + $0 = HEAP32[93959]; + label$14: { + if (!(HEAP8[$3 + 11 | 0] & 1 & (($0 | 0) <= ($2 | 0) & $1 >>> 0 <= HEAPU32[$3 >> 2] | ($0 | 0) < ($2 | 0)))) { + $1 = HEAP32[$3 >> 2]; + $2 = HEAP32[$3 + 4 >> 2]; + $0 = jshGetTimeFromMilliseconds(100); + $4 = i64toi32_i32$HIGH_BITS + $2 | 0; + $2 = $1 + $0 | 0; + $4 = $2 >>> 0 < $0 >>> 0 ? $4 + 1 | 0 : $4; + HEAP32[93958] = $2; + HEAP32[93959] = $4; + HEAP8[$3 + 10 | 0] = HEAPU8[$3 + 10 | 0] | 64; + $1 = 375832; + break label$14; + } + HEAP8[375826] = 0; + HEAP32[93958] = 0; + HEAP32[93959] = 0; + $1 = 375832; + } + } + if (!(HEAP8[$3 + 8 | 0] & 1)) { + break label$1; + } + $4 = HEAP32[$3 >> 2]; + $1 = HEAP32[$3 + 4 >> 2]; + jshPushIOEvent((HEAPU8[$3 + 10 | 0] | (HEAP8[$3 + 11 | 0] & 1 ? 32 : 0)) & 255, $4, $1); + } + __stack_pointer = $3 + 16 | 0; +} + function tflite__GetRegistrationFromOpCode_28tflite__OperatorCode_20const__2c_20tflite__OpResolver_20const__2c_20tflite__ErrorReporter__2c_20TfLiteRegistration_20const___29($0, $1, $2, $3) { var $4 = 0; $4 = __stack_pointer + -64 | 0; @@ -37194,14 +37292,14 @@ function tflite__GetRegistrationFromOpCode_28tflite__OperatorCode_20const__2c_20 $1 = tflite__EnumNameBuiltinOperator_28tflite__BuiltinOperator_29(HEAP32[$4 + 40 >> 2]); HEAP32[$4 + 20 >> 2] = HEAP32[$4 + 36 >> 2]; HEAP32[$4 + 16 >> 2] = $1; - tflite__ErrorReporter__Report_28char_20const__2c_20____29($0, 148531, $4 + 16 | 0); + tflite__ErrorReporter__Report_28char_20const__2c_20____29($0, 148629, $4 + 16 | 0); HEAP32[$4 + 44 >> 2] = 1; } break label$4; } label$7: { if (!tflite__OperatorCode__custom_code_28_29_20const(HEAP32[$4 + 60 >> 2])) { - tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$4 + 52 >> 2], 148139, 0); + tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$4 + 52 >> 2], 148237, 0); HEAP32[$4 + 44 >> 2] = 1; break label$7; } @@ -37969,48 +38067,48 @@ function jswrap_graphics_setTheme($0, $1) { HEAP32[$2 + 4 >> 2] = jsvObjectGetChildIfExists(HEAP32[$2 + 8 >> 2], 121536); if (HEAP32[$2 + 4 >> 2]) { $0 = jswrap_graphics_toColor(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 4 >> 2], 0, 0); - HEAP8[351476] = $0; - HEAP8[351477] = $0 >>> 8; + HEAP8[351588] = $0; + HEAP8[351589] = $0 >>> 8; jsvUnLock(HEAP32[$2 + 4 >> 2]); } HEAP32[$2 + 4 >> 2] = jsvObjectGetChildIfExists(HEAP32[$2 + 8 >> 2], 121540); if (HEAP32[$2 + 4 >> 2]) { $0 = jswrap_graphics_toColor(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 4 >> 2], 0, 0); - HEAP8[351478] = $0; - HEAP8[351479] = $0 >>> 8; + HEAP8[351590] = $0; + HEAP8[351591] = $0 >>> 8; jsvUnLock(HEAP32[$2 + 4 >> 2]); } - HEAP32[$2 + 4 >> 2] = jsvObjectGetChildIfExists(HEAP32[$2 + 8 >> 2], 128797); + HEAP32[$2 + 4 >> 2] = jsvObjectGetChildIfExists(HEAP32[$2 + 8 >> 2], 128787); if (HEAP32[$2 + 4 >> 2]) { $0 = jswrap_graphics_toColor(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 4 >> 2], 0, 0); - HEAP8[351480] = $0; - HEAP8[351481] = $0 >>> 8; + HEAP8[351592] = $0; + HEAP8[351593] = $0 >>> 8; jsvUnLock(HEAP32[$2 + 4 >> 2]); } - HEAP32[$2 + 4 >> 2] = jsvObjectGetChildIfExists(HEAP32[$2 + 8 >> 2], 128801); + HEAP32[$2 + 4 >> 2] = jsvObjectGetChildIfExists(HEAP32[$2 + 8 >> 2], 128791); if (HEAP32[$2 + 4 >> 2]) { $0 = jswrap_graphics_toColor(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 4 >> 2], 0, 0); - HEAP8[351482] = $0; - HEAP8[351483] = $0 >>> 8; + HEAP8[351594] = $0; + HEAP8[351595] = $0 >>> 8; jsvUnLock(HEAP32[$2 + 4 >> 2]); } HEAP32[$2 + 4 >> 2] = jsvObjectGetChildIfExists(HEAP32[$2 + 8 >> 2], 127143); if (HEAP32[$2 + 4 >> 2]) { $0 = jswrap_graphics_toColor(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 4 >> 2], 0, 0); - HEAP8[351484] = $0; - HEAP8[351485] = $0 >>> 8; + HEAP8[351596] = $0; + HEAP8[351597] = $0 >>> 8; jsvUnLock(HEAP32[$2 + 4 >> 2]); } HEAP32[$2 + 4 >> 2] = jsvObjectGetChildIfExists(HEAP32[$2 + 8 >> 2], 127147); if (HEAP32[$2 + 4 >> 2]) { $0 = jswrap_graphics_toColor(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 4 >> 2], 0, 0); - HEAP8[351486] = $0; - HEAP8[351487] = $0 >>> 8; + HEAP8[351598] = $0; + HEAP8[351599] = $0 >>> 8; jsvUnLock(HEAP32[$2 + 4 >> 2]); } HEAP32[$2 + 4 >> 2] = jsvObjectGetChildIfExists(HEAP32[$2 + 8 >> 2], 120610); if (HEAP32[$2 + 4 >> 2]) { - HEAP8[351488] = jsvGetBoolAndUnLock(HEAP32[$2 + 4 >> 2]) & 1; + HEAP8[351600] = jsvGetBoolAndUnLock(HEAP32[$2 + 4 >> 2]) & 1; } } $0 = jsvLockAgain(HEAP32[$2 + 12 >> 2]); @@ -38211,7 +38309,7 @@ function jsspiPopulateSPIInfo($0, $1) { break label$4; } if (!(jsvIsUndefined(HEAP32[$2 + 116 >> 2]) & 1)) { - jsExceptionHere(1, 145906, 0); + jsExceptionHere(1, 146004, 0); HEAP8[$2 + 15 | 0] = 0; } } @@ -38326,7 +38424,7 @@ function jspeiFindChildFromStringInParents($0, $1) { HEAP32[$2 + 24 >> 2] = jswGetBasicObjectName(HEAP32[$2 + 40 >> 2]); while (1) { if (HEAP32[$2 + 24 >> 2]) { - HEAP32[$2 + 20 >> 2] = jsvFindChildFromString(HEAP32[87258], HEAP32[$2 + 24 >> 2]); + HEAP32[$2 + 20 >> 2] = jsvFindChildFromString(HEAP32[87286], HEAP32[$2 + 24 >> 2]); if (!HEAP32[$2 + 20 >> 2]) { HEAP32[$2 + 20 >> 2] = jspNewPrototype(HEAP32[$2 + 24 >> 2], 1); } @@ -38511,7 +38609,7 @@ function jswrap_interface_clearWatch($0) { break label$2; } } - HEAP32[$1 + 56 >> 2] = jsvLock(HEAPU16[174549]); + HEAP32[$1 + 56 >> 2] = jsvLock(HEAPU16[174605]); jsvObjectIteratorNew($1 + 48 | 0, HEAP32[$1 + 56 >> 2]); while (1) { if (jsvObjectIteratorHasValue_15($1 + 48 | 0) & 1) { @@ -38537,7 +38635,7 @@ function jswrap_interface_clearWatch($0) { jsExceptionHere(1, 124541, 0); break label$1; } - HEAP32[$1 + 28 >> 2] = jsvLock(HEAPU16[174549]); + HEAP32[$1 + 28 >> 2] = jsvLock(HEAPU16[174605]); HEAP32[$1 + 24 >> 2] = jsvFindChildFromVar(HEAP32[$1 + 28 >> 2], HEAP32[$1 + 32 >> 2], 0); jsvUnLock(HEAP32[$1 + 28 >> 2]); label$8: { @@ -38545,7 +38643,7 @@ function jswrap_interface_clearWatch($0) { HEAP32[$1 + 20 >> 2] = jsvSkipName(HEAP32[$1 + 24 >> 2]); HEAP8[$1 + 19 | 0] = jshGetPinFromVarAndUnLock(jsvObjectGetChildIfExists(HEAP32[$1 + 20 >> 2], 120018)); jsvUnLock(HEAP32[$1 + 20 >> 2]); - HEAP32[$1 + 12 >> 2] = jsvLock(HEAPU16[174549]); + HEAP32[$1 + 12 >> 2] = jsvLock(HEAPU16[174605]); jsvRemoveChildAndUnLock(HEAP32[$1 + 12 >> 2], HEAP32[$1 + 24 >> 2]); jsvUnLock(HEAP32[$1 + 12 >> 2]); if (!(jsiIsWatchingPin(HEAPU8[$1 + 19 | 0]) & 1)) { @@ -38645,7 +38743,7 @@ function jslPrintTokenisedChar($0, $1, $2, $3, $4, $5) { } $0 = HEAP32[$6 + 80 >> 2]; HEAP32[$0 >> 2] = HEAP32[$0 >> 2] + 2; - FUNCTION_TABLE[HEAP32[$6 + 76 >> 2]](146009, HEAP32[$6 + 72 >> 2]); + FUNCTION_TABLE[HEAP32[$6 + 76 >> 2]](146107, HEAP32[$6 + 72 >> 2]); while (1) { $0 = HEAP32[$6 + 64 >> 2]; HEAP32[$6 + 64 >> 2] = $0 - 1; @@ -38659,13 +38757,13 @@ function jslPrintTokenisedChar($0, $1, $2, $3, $4, $5) { } break; } - FUNCTION_TABLE[HEAP32[$6 + 76 >> 2]](146009, HEAP32[$6 + 72 >> 2]); + FUNCTION_TABLE[HEAP32[$6 + 76 >> 2]](146107, HEAP32[$6 + 72 >> 2]); break label$1; } if (jslNeedSpaceBetween(HEAPU8[HEAP32[$6 + 88 >> 2]], HEAPU8[$6 + 71 | 0]) & 1) { $0 = HEAP32[$6 + 84 >> 2]; HEAP32[$0 >> 2] = HEAP32[$0 >> 2] + 1; - FUNCTION_TABLE[HEAP32[$6 + 76 >> 2]](146916, HEAP32[$6 + 72 >> 2]); + FUNCTION_TABLE[HEAP32[$6 + 76 >> 2]](147014, HEAP32[$6 + 72 >> 2]); } jslFunctionCharAsString(HEAPU8[$6 + 71 | 0], $6 + 16 | 0, 32); HEAP32[$6 + 12 >> 2] = strlen($6 + 16 | 0); @@ -38761,7 +38859,7 @@ function tflite___28anonymous_20namespace_29__AllocationInfoBuilder__GetOfflineP while (1) { if (HEAPU32[$3 + 44 >> 2] < flatbuffers__Vector_flatbuffers__Offset_tflite__Metadata____size_28_29_20const(tflite__Model__metadata_28_29_20const(HEAP32[$3 + 52 >> 2])) >>> 0) { HEAP32[$3 + 40 >> 2] = flatbuffers__Vector_flatbuffers__Offset_tflite__Metadata____Get_28unsigned_20int_29_20const(tflite__Model__metadata_28_29_20const(HEAP32[$3 + 52 >> 2]), HEAP32[$3 + 44 >> 2]); - if (!strncmp(flatbuffers__String__c_str_28_29_20const(tflite__Metadata__name_28_29_20const(HEAP32[$3 + 40 >> 2])), 174560, 23)) { + if (!strncmp(flatbuffers__String__c_str_28_29_20const(tflite__Metadata__name_28_29_20const(HEAP32[$3 + 40 >> 2])), 174672, 23)) { HEAP32[$3 + 36 >> 2] = tflite__Model__buffers_28_29_20const(HEAP32[$3 + 52 >> 2]); HEAP32[$3 + 32 >> 2] = flatbuffers__Vector_flatbuffers__Offset_tflite__Buffer____operator_5b_5d_28unsigned_20int_29_20const(HEAP32[$3 + 36 >> 2], tflite__Metadata__buffer_28_29_20const(HEAP32[$3 + 40 >> 2])); HEAP32[$3 + 28 >> 2] = tflite__Buffer__data_28_29_20const(HEAP32[$3 + 32 >> 2]); @@ -38773,7 +38871,7 @@ function tflite___28anonymous_20namespace_29__AllocationInfoBuilder__GetOfflineP $2 = HEAP32[$3 + 20 >> 2]; HEAP32[$3 + 4 >> 2] = HEAP32[$0 + 8 >> 2]; HEAP32[$3 >> 2] = $2; - tflite__ErrorReporter__Report_28char_20const__2c_20____29($1, 148456, $3); + tflite__ErrorReporter__Report_28char_20const__2c_20____29($1, 148554, $3); HEAP32[$3 + 60 >> 2] = 1; break label$1; } @@ -38790,116 +38888,40 @@ function tflite___28anonymous_20namespace_29__AllocationInfoBuilder__GetOfflineP return HEAP32[$3 + 60 >> 2]; } -function btnHandlerCommon($0, $1, $2) { - var $3 = 0, $4 = 0; - $3 = __stack_pointer - 16 | 0; - __stack_pointer = $3; - HEAP32[$3 + 12 >> 2] = $0; - HEAP8[$3 + 11 | 0] = $1; - HEAP8[$3 + 10 | 0] = $2; - label$1: { - if (HEAP32[93926] ? 1 : HEAP32[93923] | HEAP32[93925]) { - if (!(!((HEAP32[$3 + 12 >> 2] == 1 ? HEAP32[93921] & 2 : 0) | (HEAP32[$3 + 12 >> 2] == 2 ? HEAP32[93921] & 4 : 0)) & (!(HEAP32[93921] & 8) | HEAP32[$3 + 12 >> 2] != 3))) { - if (HEAP8[$3 + 11 | 0] & 1) { - HEAP8[$3 + 9 | 0] = wakeUpBangle(119626) & 1; - if (HEAP8[$3 + 9 | 0] & 1) { - HEAP16[187854] = 0; - HEAP8[375714] = HEAP32[$3 + 12 >> 2]; - $4 = jshGetSystemTime(); - $2 = i64toi32_i32$HIGH_BITS; - $0 = $2; - $2 = jshGetTimeFromMilliseconds(100); - $1 = $2; - $4 = $2 + $4 | 0; - $2 = i64toi32_i32$HIGH_BITS; - $0 = $2 + $0 | 0; - HEAP32[93930] = $4; - $0 = $4 >>> 0 < $1 >>> 0 ? $0 + 1 | 0 : $0; - HEAP32[93931] = $0; - break label$1; - } - } - } - } - HEAP8[$3 + 8 | 0] = 1; - label$10: { - if (HEAP32[93921] & 262144) { - HEAP8[$3 + 8 | 0] = 0; - break label$10; - } - HEAP16[187854] = 0; - } - if (HEAP32[$3 + 12 >> 2] == 1) { - HEAP16[187864] = 0; - } - $0 = jshGetSystemTime(); - HEAP32[$3 >> 2] = $0; - HEAP32[$3 + 4 >> 2] = i64toi32_i32$HIGH_BITS; - if (HEAP32[$3 + 12 >> 2] == HEAP8[375714]) { - $0 = HEAP32[$3 + 4 >> 2]; - $2 = $0; - $0 = HEAP32[93930]; - $1 = $0; - $0 = HEAP32[93931]; - if (!(HEAP8[$3 + 11 | 0] & 1 & (($0 | 0) <= ($2 | 0) & $1 >>> 0 <= HEAPU32[$3 >> 2] | ($0 | 0) < ($2 | 0)))) { - $1 = HEAP32[$3 >> 2]; - $2 = HEAP32[$3 + 4 >> 2]; - $0 = jshGetTimeFromMilliseconds(100); - $4 = i64toi32_i32$HIGH_BITS + $2 | 0; - $2 = $1 + $0 | 0; - $4 = $2 >>> 0 < $0 >>> 0 ? $4 + 1 | 0 : $4; - HEAP32[93930] = $2; - HEAP32[93931] = $4; - break label$1; - } - HEAP8[375714] = 0; - HEAP32[93930] = 0; - HEAP32[93931] = 0; - } - if (!(HEAP8[$3 + 8 | 0] & 1)) { - break label$1; - } - $4 = HEAP32[$3 >> 2]; - $1 = HEAP32[$3 + 4 >> 2]; - jshPushIOEvent((HEAPU8[$3 + 10 | 0] | (HEAP8[$3 + 11 | 0] & 1 ? 32 : 0)) & 255, $4, $1); - } - __stack_pointer = $3 + 16 | 0; -} - function jsiSoftInit($0) { var $1 = 0; $1 = __stack_pointer - 48 | 0; __stack_pointer = $1; HEAP8[$1 + 47 | 0] = $0; - HEAP8[349030] = 0; - HEAP8[349119] = 0; - HEAP32[87273] = jsvNewEmptyArray(); - HEAP32[87276] = jsvNewFromEmptyString_5(); - HEAP32[87278] = 0; - HEAP16[174562] = 0; + HEAP8[349142] = 0; + HEAP8[349231] = 0; + HEAP32[87301] = jsvNewEmptyArray(); + HEAP32[87304] = jsvNewFromEmptyString_5(); + HEAP32[87306] = 0; + HEAP16[174618] = 0; jsiInputLineCursorMoved(); - HEAP32[87285] = 0; + HEAP32[87313] = 0; jsfSetFlag(1, 0); - HEAP8[180353] = 255; - HEAP8[180354] = 255; - HEAP16[174548] = _jsiInitNamedArray(117663); - HEAP16[174549] = _jsiInitNamedArray(118001); - HEAP32[87292] = jshGetSystemTime(); - HEAP32[87293] = i64toi32_i32$HIGH_BITS; - HEAP32[$1 + 40 >> 2] = jsvObjectGetChildIfExists(HEAP32[87259], 117875); + HEAP8[180465] = 255; + HEAP8[180466] = 255; + HEAP16[174604] = _jsiInitNamedArray(117663); + HEAP16[174605] = _jsiInitNamedArray(118001); + HEAP32[87320] = jshGetSystemTime(); + HEAP32[87321] = i64toi32_i32$HIGH_BITS; + HEAP32[$1 + 40 >> 2] = jsvObjectGetChildIfExists(HEAP32[87287], 117875); if (HEAP32[$1 + 40 >> 2]) { - HEAP8[181008] = jsvGetIntegerAndUnLock(HEAP32[$1 + 40 >> 2]); - jsvObjectRemoveChild(HEAP32[87259], 117875); + HEAP8[181120] = jsvGetIntegerAndUnLock(HEAP32[$1 + 40 >> 2]); + jsvObjectRemoveChild(HEAP32[87287], 117875); } jswInit(); jsfLoadBootCodeFromFlash(HEAP8[$1 + 47 | 0] & 1); - HEAP32[$1 + 36 >> 2] = jsvObjectGetChildIfExists(HEAP32[87259], 115418); + HEAP32[$1 + 36 >> 2] = jsvObjectGetChildIfExists(HEAP32[87287], 115418); if (HEAP32[$1 + 36 >> 2]) { jsvUnLock2(jspEvaluateVar(HEAP32[$1 + 36 >> 2], 0, 0), HEAP32[$1 + 36 >> 2]); - jsvObjectRemoveChild(HEAP32[87259], 115418); + jsvObjectRemoveChild(HEAP32[87287], 115418); } - if (HEAPU16[174549]) { - HEAP32[$1 + 32 >> 2] = jsvLock(HEAPU16[174549]); + if (HEAPU16[174605]) { + HEAP32[$1 + 32 >> 2] = jsvLock(HEAPU16[174605]); jsvObjectIteratorNew($1 + 24 | 0, HEAP32[$1 + 32 >> 2]); while (1) { if (jsvObjectIteratorHasValue_3($1 + 24 | 0) & 1) { @@ -38917,10 +38939,10 @@ function jsiSoftInit($0) { jsvUnLock(HEAP32[$1 + 32 >> 2]); } jsiExecuteEventCallbackOn(127488, 115415, 0, 0); - HEAP32[$1 + 8 >> 2] = jsvObjectGetChildIfExists(HEAP32[87258], 115423); + HEAP32[$1 + 8 >> 2] = jsvObjectGetChildIfExists(HEAP32[87286], 115423); if (HEAP32[$1 + 8 >> 2]) { if (jsiEcho() & 1) { - jsiConsolePrintString(148308); + jsiConsolePrintString(148406); } jsiExecuteEventCallback(0, HEAP32[$1 + 8 >> 2], 0, 0); jsvUnLock(HEAP32[$1 + 8 >> 2]); @@ -38949,7 +38971,7 @@ function jswrap_banglejs_setLCDOverlay($0, $1, $2, $3) { if (jsvIsObject(HEAP32[$4 + 32 >> 2]) & 1) { HEAP32[$4 + 20 >> 2] = jsvObjectGetChildIfExists(HEAP32[$4 + 32 >> 2], 123533); } - HEAP32[$4 + 16 >> 2] = jsvObjectGetChildIfExists(HEAP32[87259], 124606); + HEAP32[$4 + 16 >> 2] = jsvObjectGetChildIfExists(HEAP32[87287], 124606); HEAP8[$4 + 15 | 0] = (jsvIsEqual(HEAP32[$4 + 20 >> 2], HEAP32[$4 + 16 >> 2]) ^ -1) & 1; jsvUnLock(HEAP32[$4 + 16 >> 2]); label$3: { @@ -38958,7 +38980,7 @@ function jswrap_banglejs_setLCDOverlay($0, $1, $2, $3) { break label$3; } if (HEAP8[$4 + 15 | 0] & 1) { - HEAP32[$4 + 8 >> 2] = jsvObjectGetChildIfExists(HEAP32[87259], 125404); + HEAP32[$4 + 8 >> 2] = jsvObjectGetChildIfExists(HEAP32[87287], 125404); if (HEAP32[$4 + 8 >> 2]) { jsiQueueEvents(0, HEAP32[$4 + 8 >> 2], 0, 0); jsvUnLock(HEAP32[$4 + 8 >> 2]); @@ -38966,7 +38988,7 @@ function jswrap_banglejs_setLCDOverlay($0, $1, $2, $3) { } label$7: { if (HEAP32[$4 + 44 >> 2]) { - jsvObjectSetOrRemoveChild(HEAP32[87259], 124606, HEAP32[$4 + 20 >> 2]); + jsvObjectSetOrRemoveChild(HEAP32[87287], 124606, HEAP32[$4 + 20 >> 2]); label$9: { if (jsvIsObject(HEAP32[$4 + 32 >> 2]) & 1) { $0 = jsvObjectGetChildIfExists(HEAP32[$4 + 32 >> 2], 121888); @@ -38975,23 +38997,23 @@ function jswrap_banglejs_setLCDOverlay($0, $1, $2, $3) { $0 = 0; } HEAP32[$4 + 4 >> 2] = $0; - jsvObjectSetOrRemoveChild(HEAP32[87259], 125404, HEAP32[$4 + 4 >> 2]); + jsvObjectSetOrRemoveChild(HEAP32[87287], 125404, HEAP32[$4 + 4 >> 2]); jsvUnLock(HEAP32[$4 + 4 >> 2]); break label$7; } - jsvObjectRemoveChild(HEAP32[87259], 124606); - jsvObjectRemoveChild(HEAP32[87259], 125404); + jsvObjectRemoveChild(HEAP32[87287], 124606); + jsvObjectRemoveChild(HEAP32[87287], 125404); } jsvUnLock(HEAP32[$4 + 20 >> 2]); lcdMemLCD_setOverlay(HEAP32[$4 + 44 >> 2], HEAP32[$4 + 24 >> 2], HEAP32[$4 + 36 >> 2]); - HEAP8[351532] = 0; - HEAP8[351533] = 0; - HEAP8[351534] = 0; - HEAP8[351535] = 0; - HEAP8[351536] = 175; - HEAP8[351537] = 0; - HEAP8[351538] = 175; - HEAP8[351539] = 0; + HEAP8[351644] = 0; + HEAP8[351645] = 0; + HEAP8[351646] = 0; + HEAP8[351647] = 0; + HEAP8[351648] = 175; + HEAP8[351649] = 0; + HEAP8[351650] = 175; + HEAP8[351651] = 0; } __stack_pointer = $4 + 48 | 0; } @@ -39001,20 +39023,20 @@ function jsiHandleDelete($0) { $1 = __stack_pointer - 32 | 0; __stack_pointer = $1; HEAP8[$1 + 31 | 0] = $0; - HEAP32[$1 + 24 >> 2] = jsvGetStringLength(HEAP32[87276]); + HEAP32[$1 + 24 >> 2] = jsvGetStringLength(HEAP32[87304]); label$1: { - if (!(HEAP32[87278] | !(HEAP8[$1 + 31 | 0] & 1)) | !(HEAP8[$1 + 31 | 0] & 1 | HEAPU32[87278] < HEAPU32[$1 + 24 >> 2])) { + if (!(HEAP32[87306] | !(HEAP8[$1 + 31 | 0] & 1)) | !(HEAP8[$1 + 31 | 0] & 1 | HEAPU32[87306] < HEAPU32[$1 + 24 >> 2])) { break label$1; } label$4: { if (HEAP8[$1 + 31 | 0] & 1) { $0 = 1; - if ((jsvGetCharInString(HEAP32[87276], HEAP32[87278] - 1 | 0) | 0) == 10) { + if ((jsvGetCharInString(HEAP32[87304], HEAP32[87306] - 1 | 0) | 0) == 10) { break label$4; } } if (!(HEAP8[$1 + 31 | 0] & 1)) { - $2 = (jsvGetCharInString(HEAP32[87276], HEAP32[87278]) | 0) == 10; + $2 = (jsvGetCharInString(HEAP32[87304], HEAP32[87306]) | 0) == 10; } $0 = $2; } @@ -39028,41 +39050,41 @@ function jsiHandleDelete($0) { } jsiConsoleEraseAfterCursor(); if (HEAP8[$1 + 31 | 0] & 1) { - jsiConsolePrintString(146915); - jsiMoveCursorChar(HEAP32[87276], HEAP32[87278], HEAP32[87278] - 1 | 0); + jsiConsolePrintString(147013); + jsiMoveCursorChar(HEAP32[87304], HEAP32[87306], HEAP32[87306] - 1 | 0); jsiInputLineCursorMoved(); } } HEAP32[$1 + 16 >> 2] = jsvNewFromEmptyString_5(); - HEAP32[$1 + 12 >> 2] = HEAP32[87278]; + HEAP32[$1 + 12 >> 2] = HEAP32[87306]; if (HEAP8[$1 + 31 | 0] & 1) { HEAP32[$1 + 12 >> 2] = HEAP32[$1 + 12 >> 2] - 1; } if (HEAP32[$1 + 12 >> 2]) { - jsvAppendStringVar(HEAP32[$1 + 16 >> 2], HEAP32[87276], 0, HEAP32[$1 + 12 >> 2]); + jsvAppendStringVar(HEAP32[$1 + 16 >> 2], HEAP32[87304], 0, HEAP32[$1 + 12 >> 2]); } if (HEAPU32[$1 + 24 >> 2] > HEAP32[$1 + 12 >> 2] + 1 >>> 0) { - jsvAppendStringVar(HEAP32[$1 + 16 >> 2], HEAP32[87276], HEAP32[$1 + 12 >> 2] + 1 | 0, 2147483647); + jsvAppendStringVar(HEAP32[$1 + 16 >> 2], HEAP32[87304], HEAP32[$1 + 12 >> 2] + 1 | 0, 2147483647); } jsiInputLineCursorMoved(); - jsvUnLock(HEAP32[87276]); - HEAP32[87276] = HEAP32[$1 + 16 >> 2]; + jsvUnLock(HEAP32[87304]); + HEAP32[87304] = HEAP32[$1 + 16 >> 2]; if (HEAP8[$1 + 31 | 0] & 1) { - HEAP32[87278] = HEAP32[87278] - 1; + HEAP32[87306] = HEAP32[87306] - 1; } if (!(jsiShowInputLine() & 1)) { break label$1; } label$13: { if (HEAP8[$1 + 23 | 0] & 1) { - jsiConsolePrintStringVarWithNewLineChar(HEAP32[87276], HEAP32[87278], 58); - jsiMoveCursorChar(HEAP32[87276], jsvGetStringLength(HEAP32[87276]), HEAP32[87278]); + jsiConsolePrintStringVarWithNewLineChar(HEAP32[87304], HEAP32[87306], 58); + jsiMoveCursorChar(HEAP32[87304], jsvGetStringLength(HEAP32[87304]), HEAP32[87306]); break label$13; } if (HEAP8[$1 + 31 | 0] & 1) { jsiConsolePrintChar(8); } - jsiConsolePrintStringVarUntilEOL(HEAP32[87276], HEAP32[87278], -1, 1); + jsiConsolePrintStringVarUntilEOL(HEAP32[87304], HEAP32[87306], -1, 1); } } __stack_pointer = $1 + 32 | 0; @@ -39303,12 +39325,12 @@ function jslPrintPosition($0, $1, $2) { HEAP32[$3 + 116 >> 2] = $2; label$1: { label$2: { - if (!(jsvIsNativeString(HEAP32[HEAP32[45251] + 84 >> 2]) & 1)) { - if (!(jsvIsFlashString(HEAP32[HEAP32[45251] + 84 >> 2]) & 1)) { + if (!(jsvIsNativeString(HEAP32[HEAP32[45279] + 84 >> 2]) & 1)) { + if (!(jsvIsFlashString(HEAP32[HEAP32[45279] + 84 >> 2]) & 1)) { break label$2; } } - $0 = HEAP32[HEAP32[45251] + 84 >> 2]; + $0 = HEAP32[HEAP32[45279] + 84 >> 2]; HEAP32[$3 + 104 >> 2] = HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24); HEAP32[$3 + 68 >> 2] = jsfFindFileFromAddr(HEAP32[$3 + 104 >> 2], $3 + 72 | 0); if (HEAP32[$3 + 68 >> 2]) { @@ -39336,18 +39358,18 @@ function jslPrintPosition($0, $1, $2) { HEAP32[$3 + 40 >> 2] = HEAP32[$3 + 60 >> 2]; HEAP32[$3 + 36 >> 2] = $4; HEAP32[$3 + 32 >> 2] = $2; - cbprintf($0, $1, 146951, $3 + 32 | 0); + cbprintf($0, $1, 147049, $3 + 32 | 0); jsvUnLock2(HEAP32[$3 + 64 >> 2], HEAP32[$3 + 60 >> 2]); break label$1; } } - jsvGetLineAndCol(HEAP32[HEAP32[45251] + 84 >> 2], HEAP32[$3 + 116 >> 2], $3 + 112 | 0, $3 + 108 | 0); + jsvGetLineAndCol(HEAP32[HEAP32[45279] + 84 >> 2], HEAP32[$3 + 116 >> 2], $3 + 112 | 0, $3 + 108 | 0); $0 = HEAP32[$3 + 124 >> 2]; $1 = HEAP32[$3 + 120 >> 2]; $2 = HEAP32[$3 + 112 >> 2]; HEAP32[$3 + 52 >> 2] = HEAP32[$3 + 108 >> 2]; HEAP32[$3 + 48 >> 2] = $2; - cbprintf($0, $1, 147613, $3 + 48 | 0); + cbprintf($0, $1, 147711, $3 + 48 | 0); } __stack_pointer = $3 + 128 | 0; } @@ -39446,7 +39468,7 @@ function jspeStatementIf() { break label$1; } HEAP32[$0 + 36 >> 2] = jspeExpression(); - if (HEAP32[87266] & 80) { + if (HEAP32[87294] & 80) { HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 36 >> 2]; break label$1; } @@ -39454,49 +39476,49 @@ function jspeStatementIf() { HEAP32[$0 + 44 >> 2] = 0; break label$1; } - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { $1 = jsvGetBoolAndUnLock(jsvSkipName(HEAP32[$0 + 36 >> 2])); } HEAP8[$0 + 43 | 0] = $1 & 1; jsvUnLock(HEAP32[$0 + 36 >> 2]); - HEAP32[$0 + 28 >> 2] = HEAP32[87266]; + HEAP32[$0 + 28 >> 2] = HEAP32[87294]; if (!(HEAP8[$0 + 43 | 0] & 1)) { jspSetNoExecute(); } HEAP32[$0 + 24 >> 2] = 0; HEAP32[$0 + 20 >> 2] = 0; - if (HEAP16[HEAP32[45251] + 2 >> 1] != 59) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 59) { HEAP32[$0 + 20 >> 2] = jspeBlockOrStatement(); } - HEAP32[$0 + 24 >> 2] = HEAP32[$0 + 24 >> 2] | HEAP32[87266] & 112; + HEAP32[$0 + 24 >> 2] = HEAP32[$0 + 24 >> 2] | HEAP32[87294] & 112; label$8: { if (!(HEAP8[$0 + 43 | 0] & 1)) { jsvUnLock(HEAP32[$0 + 20 >> 2]); - HEAP32[87266] = HEAP32[87266] & -1664 | HEAP32[$0 + 28 >> 2] & 1663; - HEAP32[87266] = HEAP32[$0 + 24 >> 2] | HEAP32[87266]; + HEAP32[87294] = HEAP32[87294] & -1664 | HEAP32[$0 + 28 >> 2] & 1663; + HEAP32[87294] = HEAP32[$0 + 24 >> 2] | HEAP32[87294]; break label$8; } HEAP32[$0 + 32 >> 2] = HEAP32[$0 + 20 >> 2]; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 59) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 59) { jslGetNextToken(); } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 164) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 164) { jslGetNextToken(); - HEAP32[$0 + 16 >> 2] = HEAP32[87266]; + HEAP32[$0 + 16 >> 2] = HEAP32[87294]; if (HEAP8[$0 + 43 | 0] & 1) { jspSetNoExecute(); } HEAP32[$0 + 12 >> 2] = 0; - if (HEAP16[HEAP32[45251] + 2 >> 1] != 59) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 59) { HEAP32[$0 + 12 >> 2] = jspeBlockOrStatement(); } - HEAP32[$0 + 24 >> 2] = HEAP32[$0 + 24 >> 2] | HEAP32[87266] & 112; + HEAP32[$0 + 24 >> 2] = HEAP32[$0 + 24 >> 2] | HEAP32[87294] & 112; label$14: { if (HEAP8[$0 + 43 | 0] & 1) { jsvUnLock(HEAP32[$0 + 12 >> 2]); - HEAP32[87266] = HEAP32[87266] & -1664 | HEAP32[$0 + 16 >> 2] & 1663; - HEAP32[87266] = HEAP32[$0 + 24 >> 2] | HEAP32[87266]; + HEAP32[87294] = HEAP32[87294] & -1664 | HEAP32[$0 + 16 >> 2] & 1663; + HEAP32[87294] = HEAP32[$0 + 24 >> 2] | HEAP32[87294]; break label$14; } HEAP32[$0 + 32 >> 2] = HEAP32[$0 + 12 >> 2]; @@ -40129,7 +40151,7 @@ function jstStartSignal($0, $1, $2, $3, $4, $5, $6, $7) { } label$7: { if (!(HEAPU8[$8 + 27 | 0] != 5 & HEAPU8[$8 + 27 | 0] != 7)) { - if (!HEAPU8[(Math_imul(HEAPU8[$8 + 39 | 0], 3) + 165440 | 0) + 2 | 0]) { + if (!HEAPU8[(Math_imul(HEAPU8[$8 + 39 | 0], 3) + 165552 | 0) + 2 | 0]) { HEAP8[$8 + 63 | 0] = 0; break label$1; } @@ -40288,14 +40310,14 @@ function jsiCheckErrors() { var $0 = 0; $0 = __stack_pointer - 48 | 0; __stack_pointer = $0; - if (HEAPU16[174550] & 32768) { + if (HEAPU16[174606] & 32768) { jspSetInterrupted(0); - HEAP16[174550] = HEAPU16[174550] & -32769; + HEAP16[174606] = HEAPU16[174606] & -32769; jsiConsoleRemoveInputLine(); - jsiConsolePrintString(148056); + jsiConsolePrintString(148154); } HEAP8[$0 + 47 | 0] = 0; - HEAP8[$0 + 46 | 0] = (HEAP32[87266] & 32) != 0; + HEAP8[$0 + 46 | 0] = (HEAP32[87294] & 32) != 0; HEAP32[$0 + 40 >> 2] = jspGetException(); if (HEAP8[$0 + 46 | 0] & 1) { if (jsiExecuteEventCallbackOn(117574, 119650, 1, $0 + 40 | 0) & 1) { @@ -40309,7 +40331,7 @@ function jsiCheckErrors() { if (HEAP8[$0 + 46 | 0] & 1) { jsiConsoleRemoveInputLine(); HEAP32[$0 + 16 >> 2] = HEAP32[$0 + 40 >> 2]; - jsiConsolePrintf(146938, $0 + 16 | 0); + jsiConsolePrintf(147036, $0 + 16 | 0); HEAP8[$0 + 47 | 0] = 1; if (jsvIsObject(HEAP32[$0 + 40 >> 2]) & 1) { HEAP32[$0 + 36 >> 2] = jsvObjectGetChildIfExists(HEAP32[$0 + 40 >> 2], 120648); @@ -40322,7 +40344,7 @@ function jsiCheckErrors() { jsvUnLock(HEAP32[$0 + 40 >> 2]); if (jspIsInterrupted() & 1) { jsiConsoleRemoveInputLine(); - jsiConsolePrintString(147425); + jsiConsolePrintString(147523); jspSetInterrupted(0); HEAP8[$0 + 47 | 0] = 1; } @@ -40334,21 +40356,21 @@ function jsiCheckErrors() { jsvUnLock(HEAP32[$0 + 32 >> 2]); } if (jspHasError() & 1) { - HEAP32[87266] = HEAP32[87266] & -113; + HEAP32[87294] = HEAP32[87294] & -113; } - if (HEAPU8[349119] != HEAPU8[349030]) { - HEAP8[$0 + 31 | 0] = HEAPU8[349030] & (HEAPU8[349119] ^ -1); + if (HEAPU8[349231] != HEAPU8[349142]) { + HEAP8[$0 + 31 | 0] = HEAPU8[349142] & (HEAPU8[349231] ^ -1); if (HEAPU8[$0 + 31 | 0] & -9) { HEAP32[$0 + 24 >> 2] = jswrap_espruino_getErrorFlagArray(HEAPU8[$0 + 31 | 0]); jsiExecuteEventCallbackOn(127488, 121565, 1, $0 + 24 | 0); if (HEAP32[$0 + 24 >> 2]) { jsiConsoleRemoveInputLine(); HEAP32[$0 >> 2] = HEAP32[$0 + 24 >> 2]; - jsiConsolePrintf(146973, $0); + jsiConsolePrintf(147071, $0); jsvUnLock(HEAP32[$0 + 24 >> 2]); } } - HEAP8[349119] = HEAPU8[349030]; + HEAP8[349231] = HEAPU8[349142]; } __stack_pointer = $0 + 48 | 0; } @@ -40420,7 +40442,7 @@ function tflite__MicroInterpreter__Invoke_28_29($0) { $0 = HEAP32[$1 + 40 >> 2]; label$1: { if (HEAP32[$0 + 112 >> 2]) { - tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$0 + 12 >> 2], 147448, 0); + tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$0 + 12 >> 2], 147546, 0); HEAP32[$1 + 44 >> 2] = 1; break label$1; } @@ -40487,10 +40509,10 @@ function jsfBankListFiles($0, $1, $2, $3, $4, $5) { HEAP32[$6 + 28 >> 2] = 0; label$1: { label$2: { - if (!(!HEAP32[87267] | HEAP32[$6 + 72 >> 2] != 134217728)) { + if (!(!HEAP32[87295] | HEAP32[$6 + 72 >> 2] != 134217728)) { HEAP32[$6 + 20 >> 2] = HEAP32[$6 + 72 >> 2]; - HEAP32[$6 + 16 >> 2] = HEAP32[87267]; - HEAP32[$6 + 12 >> 2] = HEAP32[$6 + 16 >> 2] + HEAP32[87268]; + HEAP32[$6 + 16 >> 2] = HEAP32[87295]; + HEAP32[$6 + 12 >> 2] = HEAP32[$6 + 16 >> 2] + HEAP32[87296]; while (1) { if (HEAPU32[$6 + 16 >> 2] < HEAPU32[$6 + 12 >> 2]) { jshFlashRead($6 + 24 | 0, HEAP32[$6 + 16 >> 2], 4); @@ -40509,9 +40531,9 @@ function jsfBankListFiles($0, $1, $2, $3, $4, $5) { } break; } - HEAP32[$6 + 72 >> 2] = HEAP32[87267] - 32; + HEAP32[$6 + 72 >> 2] = HEAP32[87295] - 32; HEAP32[$6 + 28 >> 2] = 0; - HEAP32[$6 + 24 >> 2] = HEAP32[87268]; + HEAP32[$6 + 24 >> 2] = HEAP32[87296]; break label$2; } if (!(jsfGetFileHeader(HEAP32[$6 + 72 >> 2], $6 + 24 | 0, 1) & 1)) { @@ -40560,7 +40582,7 @@ function tflite__internal__InitializeTfLiteEvalTensorFromFlatbuffer_28tflite__Si HEAP32[HEAP32[$5 + 24 >> 2] >> 2] = $0; label$3: { if (!tflite__Tensor__shape_28_29_20const(HEAP32[$5 + 36 >> 2])) { - HEAP32[HEAP32[$5 + 24 >> 2] + 4 >> 2] = 174448; + HEAP32[HEAP32[$5 + 24 >> 2] + 4 >> 2] = 174560; break label$3; } HEAP32[$5 >> 2] = TfLiteStatus_20tflite__internal__FlatBufferVectorToTfLiteTypeArray_int_2c_20TfLiteIntArray__28tflite__SimpleMemoryAllocator__2c_20tflite__ErrorReporter__2c_20flatbuffers__Vector_int__20const__2c_20TfLiteIntArray___29(HEAP32[$5 + 40 >> 2], HEAP32[$5 + 28 >> 2], tflite__Tensor__shape_28_29_20const(HEAP32[$5 + 36 >> 2]), HEAP32[$5 + 24 >> 2] + 4 | 0); @@ -40635,17 +40657,17 @@ function jswrap_interface_edit($0) { label$1: { if (jsvIsString(HEAP32[$1 + 28 >> 2]) & 1) { HEAP32[$1 + 28 >> 2] = jsvLockAgain(HEAP32[$1 + 28 >> 2]); - HEAP32[$1 + 24 >> 2] = jsvSkipNameAndUnLock(jsvFindChildFromVar(HEAP32[87258], HEAP32[$1 + 28 >> 2], 0)); + HEAP32[$1 + 24 >> 2] = jsvSkipNameAndUnLock(jsvFindChildFromVar(HEAP32[87286], HEAP32[$1 + 28 >> 2], 0)); break label$1; } HEAP32[$1 + 24 >> 2] = HEAP32[$1 + 28 >> 2]; - HEAP32[$1 + 28 >> 2] = jsvGetPathTo(HEAP32[87258], HEAP32[$1 + 24 >> 2], 4, 0); + HEAP32[$1 + 28 >> 2] = jsvGetPathTo(HEAP32[87286], HEAP32[$1 + 24 >> 2], 4, 0); } label$3: { if (jsvIsString(HEAP32[$1 + 28 >> 2]) & 1) { if (jsvIsFunction(HEAP32[$1 + 24 >> 2]) & 1) { HEAP32[$1 + 20 >> 2] = jsvFindChildFromString(HEAP32[$1 + 24 >> 2], 119582); - HEAP32[$1 + 16 >> 2] = jsvGetIndexOf(HEAP32[87258], HEAP32[$1 + 24 >> 2], 1); + HEAP32[$1 + 16 >> 2] = jsvGetIndexOf(HEAP32[87286], HEAP32[$1 + 24 >> 2], 1); $2 = HEAP32[$1 + 20 >> 2] ? $2 : HEAP32[$1 + 16 >> 2] != 0; HEAP8[$1 + 15 | 0] = $2; jsvUnLock2(HEAP32[$1 + 16 >> 2], HEAP32[$1 + 20 >> 2]); @@ -40654,13 +40676,13 @@ function jswrap_interface_edit($0) { HEAP32[$1 + 4 >> 2] = jsvAsString(HEAP32[$1 + 24 >> 2]); label$8: { if (HEAP8[$1 + 15 | 0] & 1) { - jsvAppendString(HEAP32[$1 + 8 >> 2], 146604); + jsvAppendString(HEAP32[$1 + 8 >> 2], 146702); jsvAppendStringVarComplete(HEAP32[$1 + 8 >> 2], HEAP32[$1 + 28 >> 2]); jsvAppendStringVar(HEAP32[$1 + 8 >> 2], HEAP32[$1 + 4 >> 2], 9, 2147483647); break label$8; } jsvAppendStringVarComplete(HEAP32[$1 + 8 >> 2], HEAP32[$1 + 28 >> 2]); - jsvAppendString(HEAP32[$1 + 8 >> 2], 145731); + jsvAppendString(HEAP32[$1 + 8 >> 2], 145829); jsvAppendStringVarComplete(HEAP32[$1 + 8 >> 2], HEAP32[$1 + 4 >> 2]); jsvAppendString(HEAP32[$1 + 8 >> 2], 128240); } @@ -40673,7 +40695,7 @@ function jswrap_interface_edit($0) { jsExceptionHere(1, 119723, 0); break label$3; } - jsExceptionHere(1, 145634, 0); + jsExceptionHere(1, 145732, 0); } jsvUnLock2(HEAP32[$1 + 24 >> 2], HEAP32[$1 + 28 >> 2]); __stack_pointer = $1 + 32 | 0; @@ -40746,7 +40768,7 @@ function atan($0) { return $0 - $0 * ($5 + $3); } $1 = $2 << 3; - $0 = HEAPF64[$1 + 174864 >> 3] - ($0 * ($5 + $3) - HEAPF64[$1 + 174896 >> 3] - $0); + $0 = HEAPF64[$1 + 174976 >> 3] - ($0 * ($5 + $3) - HEAPF64[$1 + 175008 >> 3] - $0); $2 = $4; $0 = ($2 | 0) < 0 ? -$0 : $0; } @@ -41099,7 +41121,7 @@ function jswrap_process_memory($0) { HEAP32[$1 + 16 >> 2] = jsvNewObject(); if (HEAP32[$1 + 16 >> 2]) { HEAP32[$1 + 12 >> 2] = 0; - HEAP32[$1 + 8 >> 2] = jsvObjectGetChildIfExists(HEAP32[87259], 113964); + HEAP32[$1 + 8 >> 2] = jsvObjectGetChildIfExists(HEAP32[87287], 113964); if (HEAP32[$1 + 8 >> 2]) { HEAP32[$1 + 12 >> 2] = jsvCountJsVarsUsed(HEAP32[$1 + 8 >> 2]); jsvUnLock(HEAP32[$1 + 8 >> 2]); @@ -41203,12 +41225,12 @@ function tflite__MicroInterpreter__output_28unsigned_20long_29($0, $1) { $1 = HEAP32[$2 + 20 >> 2]; HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 16 >> 2]; HEAP32[$2 >> 2] = $1; - tflite__ErrorReporter__Report_28char_20const__2c_20____29($0, 145463, $2); + tflite__ErrorReporter__Report_28char_20const__2c_20____29($0, 145561, $2); HEAP32[$2 + 28 >> 2] = 0; break label$1; } if (HEAP32[$2 + 20 >> 2]) { - tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$0 + 12 >> 2], 146011, 0); + tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$0 + 12 >> 2], 146109, 0); $1 = HEAP32[$0 + 104 >> 2]; HEAP32[$2 + 28 >> 2] = (wasm2js_i32$1 = $1, wasm2js_i32$2 = HEAP32[$0 + 4 >> 2], wasm2js_i32$3 = HEAP32[$0 + 120 >> 2], wasm2js_i32$4 = flatbuffers__Vector_int___Get_28unsigned_20int_29_20const(tflite__MicroInterpreter__outputs_28_29_20const($0), HEAP32[$2 + 20 >> 2]), @@ -41241,12 +41263,12 @@ function tflite__MicroInterpreter__input_28unsigned_20long_29($0, $1) { $1 = HEAP32[$2 + 20 >> 2]; HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 16 >> 2]; HEAP32[$2 >> 2] = $1; - tflite__ErrorReporter__Report_28char_20const__2c_20____29($0, 145507, $2); + tflite__ErrorReporter__Report_28char_20const__2c_20____29($0, 145605, $2); HEAP32[$2 + 28 >> 2] = 0; break label$1; } if (HEAP32[$2 + 20 >> 2]) { - tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$0 + 12 >> 2], 146132, 0); + tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$0 + 12 >> 2], 146230, 0); $1 = HEAP32[$0 + 104 >> 2]; HEAP32[$2 + 28 >> 2] = (wasm2js_i32$1 = $1, wasm2js_i32$2 = HEAP32[$0 + 4 >> 2], wasm2js_i32$3 = HEAP32[$0 + 120 >> 2], wasm2js_i32$4 = flatbuffers__Vector_int___Get_28unsigned_20int_29_20const(tflite__MicroInterpreter__inputs_28_29_20const($0), HEAP32[$2 + 20 >> 2]), @@ -41356,16 +41378,16 @@ function _jswrap_graphics_getRect($0, $1, $2, $3, $4, $5) { HEAP32[$6 + 12 >> 2] = 114215; HEAP16[$6 + 16 >> 1] = 10; HEAP32[$6 + 20 >> 2] = HEAP32[$6 + 132 >> 2]; - HEAP32[$6 + 24 >> 2] = 129093; + HEAP32[$6 + 24 >> 2] = 129083; HEAP16[$6 + 28 >> 1] = 10; HEAP32[$6 + 32 >> 2] = HEAP32[$6 + 136 >> 2]; - HEAP32[$6 + 36 >> 2] = 129090; + HEAP32[$6 + 36 >> 2] = 129080; HEAP16[$6 + 40 >> 1] = 10; HEAP32[$6 + 44 >> 2] = HEAP32[$6 + 132 >> 2]; - HEAP32[$6 + 48 >> 2] = 128786; + HEAP32[$6 + 48 >> 2] = 128776; HEAP16[$6 + 52 >> 1] = 10; HEAP32[$6 + 56 >> 2] = HEAP32[$6 + 128 >> 2]; - HEAP32[$6 + 60 >> 2] = 128783; + HEAP32[$6 + 60 >> 2] = 128773; HEAP16[$6 + 64 >> 1] = 10; HEAP32[$6 + 68 >> 2] = HEAP32[$6 + 124 >> 2]; HEAP32[$6 + 72 >> 2] = 114572; @@ -41488,7 +41510,7 @@ function jswrap_waveform_constructor($0, $1) { } jsvObjectSetChildAndUnLock(HEAP32[$2 + 12 >> 2], 118890, HEAP32[$2 + 20 >> 2]); if (HEAP32[$2 + 16 >> 2]) { - jsvObjectSetChildAndUnLock(HEAP32[$2 + 12 >> 2], 128789, HEAP32[$2 + 16 >> 2]); + jsvObjectSetChildAndUnLock(HEAP32[$2 + 12 >> 2], 128779, HEAP32[$2 + 16 >> 2]); } HEAP32[$2 + 44 >> 2] = HEAP32[$2 + 12 >> 2]; } @@ -41594,21 +41616,21 @@ function jswrap_banglejs_buzz($0, $1) { HEAP32[$2 + 40 >> 2] = 5e3; } label$7: { - if (HEAP32[93962]) { - HEAP32[$2 + 28 >> 2] = jsvNewNativeFunction(139, 481); + if (HEAP32[93990]) { + HEAP32[$2 + 28 >> 2] = jsvNewNativeFunction(138, 481); HEAP32[$2 + 24 >> 2] = jsvNewFromInteger(HEAP32[$2 + 40 >> 2]); jsvAddFunctionParameter(HEAP32[$2 + 28 >> 2], 0, HEAP32[$2 + 24 >> 2]); jsvUnLock(HEAP32[$2 + 24 >> 2]); HEAP32[$2 + 24 >> 2] = jsvNewFromFloat(HEAPF64[$2 + 32 >> 3]); jsvAddFunctionParameter(HEAP32[$2 + 28 >> 2], 0, HEAP32[$2 + 24 >> 2]); jsvUnLock(HEAP32[$2 + 24 >> 2]); - HEAP32[$2 + 20 >> 2] = jswrap_promise_then(HEAP32[93962], HEAP32[$2 + 28 >> 2], 0); + HEAP32[$2 + 20 >> 2] = jswrap_promise_then(HEAP32[93990], HEAP32[$2 + 28 >> 2], 0); jsvUnLock(HEAP32[$2 + 28 >> 2]); HEAP32[$2 + 44 >> 2] = HEAP32[$2 + 20 >> 2]; break label$7; } - HEAP32[93962] = jspromise_create(); - if (!HEAP32[93962]) { + HEAP32[93990] = jspromise_create(); + if (!HEAP32[93990]) { HEAP32[$2 + 44 >> 2] = 0; break label$7; } @@ -41620,19 +41642,19 @@ function jswrap_banglejs_buzz($0, $1) { } $0 = 0; } - HEAP8[375824] = $0; + HEAP8[375936] = $0; $3 = jshGetTimeFromMilliseconds(+HEAP32[$2 + 40 >> 2]); $0 = i64toi32_i32$HIGH_BITS; label$12: { if (jstExecuteFn(596, 0, $3, $0, 0, 0) & 1) { - if (HEAP32[93921] & 512) { + if (HEAP32[93949] & 512) { _jswrap_banglejs_setVibration(); } break label$12; } - HEAP8[375824] = 0; + HEAP8[375936] = 0; } - HEAP32[$2 + 44 >> 2] = jsvLockAgain(HEAP32[93962]); + HEAP32[$2 + 44 >> 2] = jsvLockAgain(HEAP32[93990]); } __stack_pointer = $2 + 48 | 0; return HEAP32[$2 + 44 >> 2]; @@ -41667,8 +41689,8 @@ function lcdMemLCD_scroll($0, $1, $2, $3, $4, $5, $6) { while (1) { if (HEAP32[$7 + 12 >> 2] <= (HEAP32[$7 + 100 >> 2] + HEAP32[$7 + 116 >> 2] | 0)) { HEAP32[$7 + 8 >> 2] = HEAP32[$7 + 12 >> 2] - HEAP32[$7 + 116 >> 2]; - lcdMemLCD_scrollX(HEAP32[$7 + 124 >> 2], $7 + 16 | 0, Math_imul(HEAP32[$7 + 8 >> 2], 68) + 363536 | 0, HEAP32[$7 + 120 >> 2]); - __memcpy(Math_imul(HEAP32[$7 + 12 >> 2], 68) + 363538 | 0, $7 + 18 | 0, 66); + lcdMemLCD_scrollX(HEAP32[$7 + 124 >> 2], $7 + 16 | 0, Math_imul(HEAP32[$7 + 8 >> 2], 68) + 363648 | 0, HEAP32[$7 + 120 >> 2]); + __memcpy(Math_imul(HEAP32[$7 + 12 >> 2], 68) + 363650 | 0, $7 + 18 | 0, 66); HEAP32[$7 + 12 >> 2] = HEAP32[$7 + 12 >> 2] + 1; continue; } @@ -41681,8 +41703,8 @@ function lcdMemLCD_scroll($0, $1, $2, $3, $4, $5, $6) { while (1) { if (HEAP32[$7 + 4 >> 2] >= HEAP32[$7 + 108 >> 2]) { HEAP32[$7 >> 2] = HEAP32[$7 + 4 >> 2] + HEAP32[$7 + 116 >> 2]; - lcdMemLCD_scrollX(HEAP32[$7 + 124 >> 2], $7 + 16 | 0, Math_imul(HEAP32[$7 + 4 >> 2], 68) + 363536 | 0, HEAP32[$7 + 120 >> 2]); - __memcpy(Math_imul(HEAP32[$7 >> 2], 68) + 363538 | 0, $7 + 18 | 0, 66); + lcdMemLCD_scrollX(HEAP32[$7 + 124 >> 2], $7 + 16 | 0, Math_imul(HEAP32[$7 + 4 >> 2], 68) + 363648 | 0, HEAP32[$7 + 120 >> 2]); + __memcpy(Math_imul(HEAP32[$7 >> 2], 68) + 363650 | 0, $7 + 18 | 0, 66); HEAP32[$7 + 4 >> 2] = HEAP32[$7 + 4 >> 2] - 1; continue; } @@ -41859,7 +41881,7 @@ function tflite__ConvertTensorType_28tflite__TensorType_2c_20TfLiteType__2c_20tf HEAP32[HEAP32[$3 + 20 >> 2] >> 2] = 0; $0 = HEAP32[$3 + 16 >> 2]; HEAP32[$3 >> 2] = HEAP32[$3 + 24 >> 2]; - tflite__ErrorReporter__Report_28char_20const__2c_20____29($0, 147295, $3); + tflite__ErrorReporter__Report_28char_20const__2c_20____29($0, 147393, $3); HEAP32[$3 + 28 >> 2] = 1; } __stack_pointer = $3 + 32 | 0; @@ -42067,71 +42089,71 @@ function jswGetSymbolListForConstructorProto($0) { HEAP32[$1 + 4 >> 2] = HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24); label$1: { if (HEAP32[$1 + 4 >> 2] == 10) { - HEAP32[$1 + 12 >> 2] = 159341; + HEAP32[$1 + 12 >> 2] = 159453; break label$1; } if (HEAP32[$1 + 4 >> 2] == 11) { - HEAP32[$1 + 12 >> 2] = 159404; + HEAP32[$1 + 12 >> 2] = 159516; break label$1; } if (HEAP32[$1 + 4 >> 2] == 12) { - HEAP32[$1 + 12 >> 2] = 159422; + HEAP32[$1 + 12 >> 2] = 159534; break label$1; } if (HEAP32[$1 + 4 >> 2] == 13) { - HEAP32[$1 + 12 >> 2] = 159431; + HEAP32[$1 + 12 >> 2] = 159543; break label$1; } if (HEAP32[$1 + 4 >> 2] == 14) { - HEAP32[$1 + 12 >> 2] = 159440; + HEAP32[$1 + 12 >> 2] = 159552; break label$1; } if (HEAP32[$1 + 4 >> 2] == 15) { - HEAP32[$1 + 12 >> 2] = 159449; + HEAP32[$1 + 12 >> 2] = 159561; break label$1; } if (HEAP32[$1 + 4 >> 2] == 16) { - HEAP32[$1 + 12 >> 2] = 159458; + HEAP32[$1 + 12 >> 2] = 159570; break label$1; } if (HEAP32[$1 + 4 >> 2] == 17) { - HEAP32[$1 + 12 >> 2] = 159467; + HEAP32[$1 + 12 >> 2] = 159579; break label$1; } if (HEAP32[$1 + 4 >> 2] == 18) { - HEAP32[$1 + 12 >> 2] = 159539; + HEAP32[$1 + 12 >> 2] = 159651; break label$1; } if (HEAP32[$1 + 4 >> 2] == 19) { - HEAP32[$1 + 12 >> 2] = 159611; + HEAP32[$1 + 12 >> 2] = 159723; break label$1; } if (HEAP32[$1 + 4 >> 2] == 20) { - HEAP32[$1 + 12 >> 2] = 159629; + HEAP32[$1 + 12 >> 2] = 159741; break label$1; } if (HEAP32[$1 + 4 >> 2] == 21) { - HEAP32[$1 + 12 >> 2] = 159647; + HEAP32[$1 + 12 >> 2] = 159759; break label$1; } if (HEAP32[$1 + 4 >> 2] == 22) { - HEAP32[$1 + 12 >> 2] = 159665; + HEAP32[$1 + 12 >> 2] = 159777; break label$1; } if (HEAP32[$1 + 4 >> 2] == 23) { - HEAP32[$1 + 12 >> 2] = 159683; + HEAP32[$1 + 12 >> 2] = 159795; break label$1; } if (HEAP32[$1 + 4 >> 2] == 24) { - HEAP32[$1 + 12 >> 2] = 159701; + HEAP32[$1 + 12 >> 2] = 159813; break label$1; } if (HEAP32[$1 + 4 >> 2] == 25) { - HEAP32[$1 + 12 >> 2] = 159710; + HEAP32[$1 + 12 >> 2] = 159822; break label$1; } if (HEAP32[$1 + 4 >> 2] == 26) { - HEAP32[$1 + 12 >> 2] = 159755; + HEAP32[$1 + 12 >> 2] = 159867; break label$1; } HEAP32[$1 + 12 >> 2] = 0; @@ -42239,7 +42261,7 @@ function _jswrap_interface_clearTimeoutOrInterval($0, $1) { __stack_pointer = $2; HEAP32[$2 + 44 >> 2] = $0; HEAP8[$2 + 43 | 0] = $1; - HEAP32[$2 + 36 >> 2] = jsvLock(HEAPU16[174548]); + HEAP32[$2 + 36 >> 2] = jsvLock(HEAPU16[174604]); label$1: { label$2: { if (!(jsvIsUndefined(HEAP32[$2 + 44 >> 2]) & 1)) { @@ -42348,44 +42370,44 @@ function jslLexRegex() { __stack_pointer = $1; HEAP32[$1 + 20 >> 2] = 0; label$1: { - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { $0 = jsvNewFromEmptyString(); - HEAP32[HEAP32[45251] + 76 >> 2] = $0; - if (!HEAP32[HEAP32[45251] + 76 >> 2]) { - HEAP16[HEAP32[45251] + 2 >> 1] = 0; + HEAP32[HEAP32[45279] + 76 >> 2] = $0; + if (!HEAP32[HEAP32[45279] + 76 >> 2]) { + HEAP16[HEAP32[45279] + 2 >> 1] = 0; break label$1; } - jsvStringIteratorNew($1 + 8 | 0, HEAP32[HEAP32[45251] + 76 >> 2], 0); + jsvStringIteratorNew($1 + 8 | 0, HEAP32[HEAP32[45279] + 76 >> 2], 0); jsvStringIteratorAppend($1 + 8 | 0, 47); } jslGetNextCh(); while (1) { $0 = 0; label$6: { - $0 = HEAP8[HEAP32[45251]] ? HEAP8[HEAP32[45251]] != 47 : $0; + $0 = HEAP8[HEAP32[45279]] ? HEAP8[HEAP32[45279]] != 47 : $0; if (!$0) { break label$6; } label$7: { - if (HEAP8[HEAP32[45251]] == 92) { - jsvStringIteratorAppend($1 + 8 | 0, HEAP8[HEAP32[45251]]); + if (HEAP8[HEAP32[45279]] == 92) { + jsvStringIteratorAppend($1 + 8 | 0, HEAP8[HEAP32[45279]]); jslGetNextCh(); break label$7; } - if (HEAP8[HEAP32[45251]] == 10) { + if (HEAP8[HEAP32[45279]] == 10) { break label$6; } } - jsvStringIteratorAppend($1 + 8 | 0, HEAP8[HEAP32[45251]]); + jsvStringIteratorAppend($1 + 8 | 0, HEAP8[HEAP32[45279]]); jslGetNextCh(); continue; } break; } - HEAP16[HEAP32[45251] + 2 >> 1] = 135; + HEAP16[HEAP32[45279] + 2 >> 1] = 135; label$9: { - if (HEAP8[HEAP32[45251]] != 47) { - $0 = HEAP32[45251]; + if (HEAP8[HEAP32[45279]] != 47) { + $0 = HEAP32[45279]; HEAP16[$0 + 2 >> 1] = HEAPU16[$0 + 2 >> 1] + 1; break label$9; } @@ -42394,25 +42416,25 @@ function jslLexRegex() { while (1) { $0 = 1; label$12: { - if (HEAP8[HEAP32[45251]] == 103) { + if (HEAP8[HEAP32[45279]] == 103) { break label$12; } $0 = 1; - if (HEAP8[HEAP32[45251]] == 105) { + if (HEAP8[HEAP32[45279]] == 105) { break label$12; } $0 = 1; - if (HEAP8[HEAP32[45251]] == 109) { + if (HEAP8[HEAP32[45279]] == 109) { break label$12; } $0 = 1; - if (HEAP8[HEAP32[45251]] == 121) { + if (HEAP8[HEAP32[45279]] == 121) { break label$12; } - $0 = HEAP8[HEAP32[45251]] == 117; + $0 = HEAP8[HEAP32[45279]] == 117; } if ($0) { - jsvStringIteratorAppend($1 + 8 | 0, HEAP8[HEAP32[45251]]); + jsvStringIteratorAppend($1 + 8 | 0, HEAP8[HEAP32[45279]]); jslGetNextCh(); continue; } @@ -42983,7 +43005,7 @@ function tflite__ops__micro__reshape__Prepare_28TfLiteContext__2c_20TfLiteNode__ } $0 = HEAP32[HEAP32[$2 + 40 >> 2] + 20 >> 2]; $1 = HEAP32[$2 + 40 >> 2]; - HEAP32[$2 + 32 >> 2] = 129045; + HEAP32[$2 + 32 >> 2] = 129035; FUNCTION_TABLE[$0 | 0]($1, 129822, $2 + 32 | 0); HEAP32[$2 + 44 >> 2] = 1; break label$1; @@ -42994,9 +43016,9 @@ function tflite__ops__micro__reshape__Prepare_28TfLiteContext__2c_20TfLiteNode__ $3 = tflite__NumOutputs_28TfLiteNode_20const__29(HEAP32[$2 + 36 >> 2]); HEAP32[$2 + 12 >> 2] = 1; HEAP32[$2 + 8 >> 2] = $3; - HEAP32[$2 + 4 >> 2] = 129233; - HEAP32[$2 >> 2] = 145323; - FUNCTION_TABLE[$0 | 0]($1, 145571, $2); + HEAP32[$2 + 4 >> 2] = 129223; + HEAP32[$2 >> 2] = 145421; + FUNCTION_TABLE[$0 | 0]($1, 145669, $2); HEAP32[$2 + 44 >> 2] = 1; break label$1; } @@ -43007,8 +43029,8 @@ function tflite__ops__micro__reshape__Prepare_28TfLiteContext__2c_20TfLiteNode__ HEAP32[$2 + 28 >> 2] = 0; HEAP32[$2 + 24 >> 2] = $3; HEAP32[$2 + 20 >> 2] = 120668; - HEAP32[$2 + 16 >> 2] = 145356; - FUNCTION_TABLE[$0 | 0]($1, 145571, $2 + 16 | 0); + HEAP32[$2 + 16 >> 2] = 145454; + FUNCTION_TABLE[$0 | 0]($1, 145669, $2 + 16 | 0); HEAP32[$2 + 44 >> 2] = 1; break label$1; } @@ -43473,7 +43495,7 @@ function jspeFactorArray() { HEAP32[$0 + 24 >> 2] = 0; HEAP32[$0 + 20 >> 2] = 0; label$1: { - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { HEAP32[$0 + 20 >> 2] = jsvNewEmptyArray(); if (!HEAP32[$0 + 20 >> 2]) { jspSetError(0); @@ -43487,11 +43509,11 @@ function jspeFactorArray() { } while (1) { $1 = 0; - $1 = HEAP32[87266] & 80 ? $1 : HEAP16[HEAP32[45251] + 2 >> 1] != 93; + $1 = HEAP32[87294] & 80 ? $1 : HEAP16[HEAP32[45279] + 2 >> 1] != 93; if ($1) { label$8: { - if ((HEAP32[87266] & 63) == 1) { - if (HEAP16[HEAP32[45251] + 2 >> 1] != 44) { + if ((HEAP32[87294] & 63) == 1) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 44) { $1 = jsvSkipNameAndUnLock(jspeAssignmentExpression()); HEAP32[$0 + 16 >> 2] = $1; HEAP32[$0 + 16 >> 2] = $1; @@ -43506,7 +43528,7 @@ function jspeFactorArray() { } jsvUnLock(jspeAssignmentExpression()); } - if (HEAP16[HEAP32[45251] + 2 >> 1] != 93) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 93) { if (!(jslMatch(44) & 1)) { HEAP32[$0 + 28 >> 2] = HEAP32[$0 + 20 >> 2]; break label$1; @@ -43621,28 +43643,28 @@ function escapeCharacter($0, $1, $2) { break label$1; } if (HEAP32[$3 + 24 >> 2] == 34) { - HEAP32[$3 + 28 >> 2] = 146008; + HEAP32[$3 + 28 >> 2] = 146106; break label$1; } if (!(HEAP32[$3 + 20 >> 2] <= 55 & HEAP32[$3 + 20 >> 2] >= 48 | (HEAP8[$3 + 19 | 0] & 1 | HEAP32[$3 + 24 >> 2] >= 8))) { - HEAP8[349016] = 92; - HEAP8[349017] = HEAP32[$3 + 24 >> 2] + 48; - HEAP8[349018] = 0; - HEAP32[$3 + 28 >> 2] = 349016; + HEAP8[349128] = 92; + HEAP8[349129] = HEAP32[$3 + 24 >> 2] + 48; + HEAP8[349130] = 0; + HEAP32[$3 + 28 >> 2] = 349128; break label$1; } if (!(HEAP32[$3 + 24 >> 2] < 127 & HEAP32[$3 + 24 >> 2] >= 32)) { - HEAP32[$3 + 12 >> 2] = 349016; + HEAP32[$3 + 12 >> 2] = 349128; $0 = 1; $0 = HEAP8[$3 + 19 | 0] & 1 ? $0 : HEAP32[$3 + 24 >> 2] > 255; HEAP32[$3 + 12 >> 2] = numericEscapeChar(HEAP32[$3 + 12 >> 2], HEAP32[$3 + 24 >> 2], $0); HEAP8[HEAP32[$3 + 12 >> 2]] = 0; - HEAP32[$3 + 28 >> 2] = 349016; + HEAP32[$3 + 28 >> 2] = 349128; break label$1; } - HEAP8[349017] = 0; - HEAP8[349016] = HEAP32[$3 + 24 >> 2]; - HEAP32[$3 + 28 >> 2] = 349016; + HEAP8[349129] = 0; + HEAP8[349128] = HEAP32[$3 + 24 >> 2]; + HEAP32[$3 + 28 >> 2] = 349128; } __stack_pointer = $3 + 32 | 0; return HEAP32[$3 + 28 >> 2]; @@ -43961,7 +43983,7 @@ function jswrap_string_padX($0, $1, $2, $3) { $0 = jsvAsString(HEAP32[$4 + 16 >> 2]); break label$7; } - $0 = jsvNewFromString(146916); + $0 = jsvNewFromString(147014); } HEAP32[$4 + 16 >> 2] = $0; HEAP32[$4 >> 2] = jsvGetStringLength(HEAP32[$4 + 16 >> 2]); @@ -44017,7 +44039,7 @@ function jsiExecuteEventCallbackInner($0, $1, $2, $3) { if (!(jsvObjectIteratorHasValue_3($4 + 16 | 0) & 1)) { break label$6; } - $0 = (HEAPU16[174550] & 16384) != 0 ^ -1; + $0 = (HEAPU16[174606] & 16384) != 0 ^ -1; } if ($0 & 1) { HEAP32[$4 + 12 >> 2] = jsvObjectIteratorGetValue_3($4 + 16 | 0); @@ -44079,17 +44101,17 @@ function jshTransmit($0, $1) { if (!HEAPU8[$2 + 15 | 0]) { break label$1; } - HEAP8[$2 + 13 | 0] = HEAPU8[349178] + 1; - if (HEAPU8[$2 + 13 | 0] == HEAPU8[349179]) { + HEAP8[$2 + 13 | 0] = HEAPU8[349290] + 1; + if (HEAPU8[$2 + 13 | 0] == HEAPU8[349291]) { jsiSetBusy(2, 1); if (HEAPU8[$2 + 15 | 0] == 19) { $3 = (jsiGetConsoleDevice() & 255) == 19; } HEAP8[$2 + 12 | 0] = $3; while (1) { - if (HEAPU8[$2 + 13 | 0] == HEAPU8[349179]) { + if (HEAPU8[$2 + 13 | 0] == HEAPU8[349291]) { if (jshIsInInterrupt() & 1) { - HEAP8[349030] = HEAPU8[349030] | 2; + HEAP8[349142] = HEAPU8[349142] | 2; break label$1; } jshBusyIdle(); @@ -44111,9 +44133,9 @@ function jshTransmit($0, $1) { } jsiSetBusy(2, 0); } - HEAP8[(HEAPU8[349178] << 1) + 349264 | 0] = HEAPU8[$2 + 15 | 0]; - HEAP8[((HEAPU8[349178] << 1) + 349264 | 0) + 1 | 0] = HEAPU8[$2 + 14 | 0]; - HEAP8[349178] = HEAPU8[$2 + 13 | 0]; + HEAP8[(HEAPU8[349290] << 1) + 349376 | 0] = HEAPU8[$2 + 15 | 0]; + HEAP8[((HEAPU8[349290] << 1) + 349376 | 0) + 1 | 0] = HEAPU8[$2 + 14 | 0]; + HEAP8[349290] = HEAPU8[$2 + 13 | 0]; jshUSARTKick(HEAPU8[$2 + 15 | 0]); } __stack_pointer = $2 + 16 | 0; @@ -44267,22 +44289,22 @@ function jsiSoftKill() { __stack_pointer = $0; jsiExecuteEventCallbackOn(127488, 120261, 0, 0); jsiCheckErrors(); - HEAP32[87278] = 0; + HEAP32[87306] = 0; jsiInputLineCursorMoved(); - jsvUnLock(HEAP32[87276]); - HEAP32[87276] = 0; + jsvUnLock(HEAP32[87304]); + HEAP32[87304] = 0; jswKill(); jstReset(); - if (HEAP32[87273]) { - jsvUnLock(HEAP32[87273]); - HEAP32[87273] = 0; + if (HEAP32[87301]) { + jsvUnLock(HEAP32[87301]); + HEAP32[87301] = 0; } - if (HEAPU16[174548]) { - jsvUnRefRef(HEAPU16[174548]); - HEAP16[174548] = 0; + if (HEAPU16[174604]) { + jsvUnRefRef(HEAPU16[174604]); + HEAP16[174604] = 0; } - if (HEAPU16[174549]) { - HEAP32[$0 + 60 >> 2] = jsvLock(HEAPU16[174549]); + if (HEAPU16[174605]) { + HEAP32[$0 + 60 >> 2] = jsvLock(HEAPU16[174605]); jsvObjectIteratorNew($0 + 56 | 0, HEAP32[$0 + 60 >> 2]); while (1) { if (jsvObjectIteratorHasValue_3($0 + 56 | 0) & 1) { @@ -44298,21 +44320,21 @@ function jsiSoftKill() { jsvObjectIteratorFree_3($0 + 56 | 0); jsvUnRef(HEAP32[$0 + 60 >> 2]); jsvUnLock(HEAP32[$0 + 60 >> 2]); - HEAP16[174549] = 0; + HEAP16[174605] = 0; } - if (HEAPU8[181008]) { - jsvObjectSetChildAndUnLock(HEAP32[87259], 117875, jsvNewFromInteger(HEAPU8[181008])); + if (HEAPU8[181120]) { + jsvObjectSetChildAndUnLock(HEAP32[87287], 117875, jsvNewFromInteger(HEAPU8[181120])); } HEAP32[$0 + 44 >> 2] = jsvNewFromEmptyString_5(); if (HEAP32[$0 + 44 >> 2]) { jsvStringIteratorNew($0 + 8 | 0, HEAP32[$0 + 44 >> 2], 0); jsiDumpHardwareInitialisation(2, $0 + 8 | 0, 0); jsvStringIteratorFree_5($0 + 8 | 0); - jsvObjectSetChild(HEAP32[87259], 115418, HEAP32[$0 + 44 >> 2]); + jsvObjectSetChild(HEAP32[87287], 115418, HEAP32[$0 + 44 >> 2]); jsvUnLock(HEAP32[$0 + 44 >> 2]); } - HEAP16[174550] = HEAPU16[174550] & -2049; - HEAP16[174550] = HEAPU16[174550] & -4097; + HEAP16[174606] = HEAPU16[174606] & -2049; + HEAP16[174606] = HEAPU16[174606] & -4097; __stack_pointer = $0 - -64 | 0; } @@ -44455,7 +44477,7 @@ function void_20tflite__reference_ops__AffineQuantize_float_2c_20unsigned_20char $0 = -2147483648; } HEAP32[$5 + 16 >> 2] = $0 + HEAP32[$5 + 40 >> 2]; - HEAP32[$5 + 12 >> 2] = HEAP32[int_20const__20std____2__min_int__28int_20const__2c_20int_20const__29(int_20const__20std____2__max_int__28int_20const__2c_20int_20const__29($5 + 16 | 0, 174592), 174596) >> 2]; + HEAP32[$5 + 12 >> 2] = HEAP32[int_20const__20std____2__min_int__28int_20const__2c_20int_20const__29(int_20const__20std____2__max_int__28int_20const__2c_20int_20const__29($5 + 16 | 0, 174704), 174708) >> 2]; HEAP8[HEAP32[$5 + 44 >> 2] + HEAP32[$5 + 24 >> 2] | 0] = HEAP32[$5 + 12 >> 2]; HEAP32[$5 + 24 >> 2] = HEAP32[$5 + 24 >> 2] + 1; continue; @@ -44477,11 +44499,11 @@ function jswrap_e_dumpFragmentation() { $1 = HEAP32[$0 + 4 >> 2]; label$3: { if (!((HEAPU8[$1 + 12 | 0] | HEAPU8[$1 + 13 | 0] << 8) & 63)) { - jsiConsolePrintString(146916); + jsiConsolePrintString(147014); $1 = HEAP32[$0 + 12 >> 2]; HEAP32[$0 + 12 >> 2] = $1 + 1; if (($1 | 0) > 80) { - jsiConsolePrintString(148653); + jsiConsolePrintString(148751); HEAP32[$0 + 12 >> 2] = 0; } break label$3; @@ -44491,12 +44513,12 @@ function jswrap_e_dumpFragmentation() { jsiConsolePrintString(127010); break label$6; } - jsiConsolePrintString(146006); + jsiConsolePrintString(146104); } $1 = HEAP32[$0 + 12 >> 2]; HEAP32[$0 + 12 >> 2] = $1 + 1; if (($1 | 0) > 80) { - jsiConsolePrintString(148653); + jsiConsolePrintString(148751); HEAP32[$0 + 12 >> 2] = 0; } if (jsvIsFlatString(HEAP32[$0 + 4 >> 2]) & 1) { @@ -44510,7 +44532,7 @@ function jswrap_e_dumpFragmentation() { $1 = HEAP32[$0 + 12 >> 2]; HEAP32[$0 + 12 >> 2] = $1 + 1; if (($1 | 0) > 80) { - jsiConsolePrintString(148653); + jsiConsolePrintString(148751); HEAP32[$0 + 12 >> 2] = 0; } continue; @@ -44524,7 +44546,7 @@ function jswrap_e_dumpFragmentation() { } break; } - jsiConsolePrintString(148653); + jsiConsolePrintString(148751); __stack_pointer = $0 + 16 | 0; } @@ -44553,7 +44575,7 @@ function void_20tflite__reference_ops__AffineQuantize_float_2c_20signed_20char__ $0 = -2147483648; } HEAP32[$5 + 16 >> 2] = $0 + HEAP32[$5 + 40 >> 2]; - HEAP32[$5 + 12 >> 2] = HEAP32[int_20const__20std____2__min_int__28int_20const__2c_20int_20const__29(int_20const__20std____2__max_int__28int_20const__2c_20int_20const__29($5 + 16 | 0, 174584), 174588) >> 2]; + HEAP32[$5 + 12 >> 2] = HEAP32[int_20const__20std____2__min_int__28int_20const__2c_20int_20const__29(int_20const__20std____2__max_int__28int_20const__2c_20int_20const__29($5 + 16 | 0, 174696), 174700) >> 2]; HEAP8[HEAP32[$5 + 44 >> 2] + HEAP32[$5 + 24 >> 2] | 0] = HEAP32[$5 + 12 >> 2]; HEAP32[$5 + 24 >> 2] = HEAP32[$5 + 24 >> 2] + 1; continue; @@ -44588,7 +44610,7 @@ function void_20tflite__reference_ops__AffineQuantize_float_2c_20short__28tflite $0 = -2147483648; } HEAP32[$5 + 16 >> 2] = $0 + HEAP32[$5 + 40 >> 2]; - HEAP32[$5 + 12 >> 2] = HEAP32[int_20const__20std____2__min_int__28int_20const__2c_20int_20const__29(int_20const__20std____2__max_int__28int_20const__2c_20int_20const__29($5 + 16 | 0, 174600), 174604) >> 2]; + HEAP32[$5 + 12 >> 2] = HEAP32[int_20const__20std____2__min_int__28int_20const__2c_20int_20const__29(int_20const__20std____2__max_int__28int_20const__2c_20int_20const__29($5 + 16 | 0, 174712), 174716) >> 2]; HEAP16[HEAP32[$5 + 44 >> 2] + (HEAP32[$5 + 24 >> 2] << 1) >> 1] = HEAP32[$5 + 12 >> 2]; HEAP32[$5 + 24 >> 2] = HEAP32[$5 + 24 >> 2] + 1; continue; @@ -44633,7 +44655,7 @@ function jswrap_object_emit($0, $1, $2) { if (jsvObjectIteratorHasValue_9($3 + 32 | 0) & 1) { if (HEAPU32[$3 + 36 >> 2] >= 4) { HEAP32[$3 >> 2] = 4; - jsExceptionHere(3, 145398, $3); + jsExceptionHere(3, 145496, $3); } else { $0 = jsvObjectIteratorGetValue_9($3 + 32 | 0); $1 = HEAP32[$3 + 36 >> 2]; @@ -44785,7 +44807,7 @@ function void_20tflite__reference_ops__Requantize_signed_20char_2c_20signed_20ch if (HEAP32[$7 + 20 >> 2] < HEAP32[$7 + 56 >> 2]) { HEAP32[$7 + 16 >> 2] = HEAP8[HEAP32[$7 + 60 >> 2] + HEAP32[$7 + 20 >> 2] | 0] - HEAP32[$7 + 44 >> 2]; HEAP32[$7 + 12 >> 2] = tflite__MultiplyByQuantizedMultiplier_28int_2c_20int_2c_20int_29(HEAP32[$7 + 16 >> 2], HEAP32[$7 + 52 >> 2], HEAP32[$7 + 48 >> 2]) + HEAP32[$7 + 40 >> 2]; - HEAP32[$7 + 8 >> 2] = HEAP32[int_20const__20std____2__max_int__28int_20const__2c_20int_20const__29(int_20const__20std____2__min_int__28int_20const__2c_20int_20const__29($7 + 12 | 0, 174628), 174624) >> 2]; + HEAP32[$7 + 8 >> 2] = HEAP32[int_20const__20std____2__max_int__28int_20const__2c_20int_20const__29(int_20const__20std____2__min_int__28int_20const__2c_20int_20const__29($7 + 12 | 0, 174740), 174736) >> 2]; HEAP8[HEAP32[$7 + 36 >> 2] + HEAP32[$7 + 20 >> 2] | 0] = HEAP32[$7 + 8 >> 2]; HEAP32[$7 + 20 >> 2] = HEAP32[$7 + 20 >> 2] + 1; continue; @@ -44858,7 +44880,7 @@ function void_20tflite__reference_ops__Requantize_short_2c_20signed_20char__28sh if (HEAP32[$7 + 20 >> 2] < HEAP32[$7 + 56 >> 2]) { HEAP32[$7 + 16 >> 2] = HEAP16[HEAP32[$7 + 60 >> 2] + (HEAP32[$7 + 20 >> 2] << 1) >> 1] - HEAP32[$7 + 44 >> 2]; HEAP32[$7 + 12 >> 2] = tflite__MultiplyByQuantizedMultiplier_28int_2c_20int_2c_20int_29(HEAP32[$7 + 16 >> 2], HEAP32[$7 + 52 >> 2], HEAP32[$7 + 48 >> 2]) + HEAP32[$7 + 40 >> 2]; - HEAP32[$7 + 8 >> 2] = HEAP32[int_20const__20std____2__max_int__28int_20const__2c_20int_20const__29(int_20const__20std____2__min_int__28int_20const__2c_20int_20const__29($7 + 12 | 0, 174612), 174608) >> 2]; + HEAP32[$7 + 8 >> 2] = HEAP32[int_20const__20std____2__max_int__28int_20const__2c_20int_20const__29(int_20const__20std____2__min_int__28int_20const__2c_20int_20const__29($7 + 12 | 0, 174724), 174720) >> 2]; HEAP8[HEAP32[$7 + 36 >> 2] + HEAP32[$7 + 20 >> 2] | 0] = HEAP32[$7 + 8 >> 2]; HEAP32[$7 + 20 >> 2] = HEAP32[$7 + 20 >> 2] + 1; continue; @@ -44927,7 +44949,7 @@ function void_20tflite__reference_ops__Requantize_signed_20char_2c_20int__28sign if (HEAP32[$7 + 20 >> 2] < HEAP32[$7 + 56 >> 2]) { HEAP32[$7 + 16 >> 2] = HEAP8[HEAP32[$7 + 60 >> 2] + HEAP32[$7 + 20 >> 2] | 0] - HEAP32[$7 + 44 >> 2]; HEAP32[$7 + 12 >> 2] = tflite__MultiplyByQuantizedMultiplier_28int_2c_20int_2c_20int_29(HEAP32[$7 + 16 >> 2], HEAP32[$7 + 52 >> 2], HEAP32[$7 + 48 >> 2]) + HEAP32[$7 + 40 >> 2]; - HEAP32[$7 + 8 >> 2] = HEAP32[int_20const__20std____2__max_int__28int_20const__2c_20int_20const__29(int_20const__20std____2__min_int__28int_20const__2c_20int_20const__29($7 + 12 | 0, 174644), 174640) >> 2]; + HEAP32[$7 + 8 >> 2] = HEAP32[int_20const__20std____2__max_int__28int_20const__2c_20int_20const__29(int_20const__20std____2__min_int__28int_20const__2c_20int_20const__29($7 + 12 | 0, 174756), 174752) >> 2]; HEAP32[HEAP32[$7 + 36 >> 2] + (HEAP32[$7 + 20 >> 2] << 2) >> 2] = HEAP32[$7 + 8 >> 2]; HEAP32[$7 + 20 >> 2] = HEAP32[$7 + 20 >> 2] + 1; continue; @@ -45000,7 +45022,7 @@ function void_20tflite__reference_ops__Requantize_short_2c_20short__28short_20co if (HEAP32[$7 + 20 >> 2] < HEAP32[$7 + 56 >> 2]) { HEAP32[$7 + 16 >> 2] = HEAP16[HEAP32[$7 + 60 >> 2] + (HEAP32[$7 + 20 >> 2] << 1) >> 1] - HEAP32[$7 + 44 >> 2]; HEAP32[$7 + 12 >> 2] = tflite__MultiplyByQuantizedMultiplier_28int_2c_20int_2c_20int_29(HEAP32[$7 + 16 >> 2], HEAP32[$7 + 52 >> 2], HEAP32[$7 + 48 >> 2]) + HEAP32[$7 + 40 >> 2]; - HEAP32[$7 + 8 >> 2] = HEAP32[int_20const__20std____2__max_int__28int_20const__2c_20int_20const__29(int_20const__20std____2__min_int__28int_20const__2c_20int_20const__29($7 + 12 | 0, 174620), 174616) >> 2]; + HEAP32[$7 + 8 >> 2] = HEAP32[int_20const__20std____2__max_int__28int_20const__2c_20int_20const__29(int_20const__20std____2__min_int__28int_20const__2c_20int_20const__29($7 + 12 | 0, 174732), 174728) >> 2]; HEAP16[HEAP32[$7 + 36 >> 2] + (HEAP32[$7 + 20 >> 2] << 1) >> 1] = HEAP32[$7 + 8 >> 2]; HEAP32[$7 + 20 >> 2] = HEAP32[$7 + 20 >> 2] + 1; continue; @@ -45137,7 +45159,7 @@ function void_20tflite__reference_ops__Requantize_short_2c_20int__28short_20cons if (HEAP32[$7 + 20 >> 2] < HEAP32[$7 + 56 >> 2]) { HEAP32[$7 + 16 >> 2] = HEAP16[HEAP32[$7 + 60 >> 2] + (HEAP32[$7 + 20 >> 2] << 1) >> 1] - HEAP32[$7 + 44 >> 2]; HEAP32[$7 + 12 >> 2] = tflite__MultiplyByQuantizedMultiplier_28int_2c_20int_2c_20int_29(HEAP32[$7 + 16 >> 2], HEAP32[$7 + 52 >> 2], HEAP32[$7 + 48 >> 2]) + HEAP32[$7 + 40 >> 2]; - HEAP32[$7 + 8 >> 2] = HEAP32[int_20const__20std____2__max_int__28int_20const__2c_20int_20const__29(int_20const__20std____2__min_int__28int_20const__2c_20int_20const__29($7 + 12 | 0, 174636), 174632) >> 2]; + HEAP32[$7 + 8 >> 2] = HEAP32[int_20const__20std____2__max_int__28int_20const__2c_20int_20const__29(int_20const__20std____2__min_int__28int_20const__2c_20int_20const__29($7 + 12 | 0, 174748), 174744) >> 2]; HEAP32[HEAP32[$7 + 36 >> 2] + (HEAP32[$7 + 20 >> 2] << 2) >> 2] = HEAP32[$7 + 8 >> 2]; HEAP32[$7 + 20 >> 2] = HEAP32[$7 + 20 >> 2] + 1; continue; @@ -45268,7 +45290,7 @@ function _jswrap_graphics_getFontInfo($0, $1) { label$2: { if (HEAP32[HEAP32[$2 + 8 >> 2] >> 2] & 32768) { $0 = HEAP32[$2 + 12 >> 2]; - $0 = jsvGetIntegerAndUnLock(jsvObjectGetChildIfExists(HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24), 129096)); + $0 = jsvGetIntegerAndUnLock(jsvObjectGetChildIfExists(HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24), 129086)); HEAP8[HEAP32[$2 + 8 >> 2] + 10 | 0] = $0; $0 = HEAP32[$2 + 12 >> 2]; $0 = jsvObjectGetChildIfExists(HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24), 126141); @@ -45352,29 +45374,29 @@ function jspEvaluateVar($0, $1, $2) { HEAP16[$3 + 182 >> 1] = $2; HEAP32[$3 + 52 >> 2] = jslSetLex($3 + 56 | 0); jslInit(HEAP32[$3 + 188 >> 2]); - HEAP32[$3 + 48 >> 2] = HEAP32[87266]; - $0 = HEAP32[87265]; - $1 = HEAP32[87264]; + HEAP32[$3 + 48 >> 2] = HEAP32[87294]; + $0 = HEAP32[87293]; + $1 = HEAP32[87292]; HEAP32[$3 + 40 >> 2] = $1; HEAP32[$3 + 44 >> 2] = $0; - $1 = HEAP32[87263]; - $0 = HEAP32[87262]; + $1 = HEAP32[87291]; + $0 = HEAP32[87290]; HEAP32[$3 + 32 >> 2] = $0; HEAP32[$3 + 36 >> 2] = $1; - $0 = HEAP32[87261]; - $1 = HEAP32[87260]; + $0 = HEAP32[87289]; + $1 = HEAP32[87288]; HEAP32[$3 + 24 >> 2] = $1; HEAP32[$3 + 28 >> 2] = $0; - $1 = HEAP32[87259]; - $0 = HEAP32[87258]; + $1 = HEAP32[87287]; + $0 = HEAP32[87286]; HEAP32[$3 + 16 >> 2] = $0; HEAP32[$3 + 20 >> 2] = $1; - HEAP32[87266] = 1; + HEAP32[87294] = 1; if (HEAP32[$3 + 184 >> 2]) { - HEAP32[87260] = 0; - if (HEAP32[$3 + 184 >> 2] != HEAP32[87258]) { + HEAP32[87288] = 0; + if (HEAP32[$3 + 184 >> 2] != HEAP32[87286]) { jspeiAddScope(HEAP32[$3 + 184 >> 2]); - HEAP32[87261] = HEAP32[$3 + 184 >> 2]; + HEAP32[87289] = HEAP32[$3 + 184 >> 2]; } } HEAP32[$3 + 12 >> 2] = jspParse(); @@ -45383,24 +45405,24 @@ function jspEvaluateVar($0, $1, $2) { } jslKill(); jslSetLex(HEAP32[$3 + 52 >> 2]); - HEAP32[$3 + 48 >> 2] = HEAP32[$3 + 48 >> 2] | HEAP32[87266] & 6256; + HEAP32[$3 + 48 >> 2] = HEAP32[$3 + 48 >> 2] | HEAP32[87294] & 6256; $0 = HEAP32[$3 + 20 >> 2]; $1 = HEAP32[$3 + 16 >> 2]; - HEAP32[87258] = $1; - HEAP32[87259] = $0; - HEAP32[87266] = HEAP32[$3 + 48 >> 2]; + HEAP32[87286] = $1; + HEAP32[87287] = $0; + HEAP32[87294] = HEAP32[$3 + 48 >> 2]; $1 = HEAP32[$3 + 44 >> 2]; $0 = HEAP32[$3 + 40 >> 2]; - HEAP32[87264] = $0; - HEAP32[87265] = $1; + HEAP32[87292] = $0; + HEAP32[87293] = $1; $0 = HEAP32[$3 + 36 >> 2]; $1 = HEAP32[$3 + 32 >> 2]; - HEAP32[87262] = $1; - HEAP32[87263] = $0; + HEAP32[87290] = $1; + HEAP32[87291] = $0; $1 = HEAP32[$3 + 28 >> 2]; $0 = HEAP32[$3 + 24 >> 2]; - HEAP32[87260] = $0; - HEAP32[87261] = $1; + HEAP32[87288] = $0; + HEAP32[87289] = $1; $0 = jsvSkipNameAndUnLock(HEAP32[$3 + 12 >> 2]); __stack_pointer = $3 + 192 | 0; return $0; @@ -45480,7 +45502,7 @@ function jspeExpressionOrArrowFunction() { label$1: { while (1) { $1 = 0; - $1 = HEAP16[HEAP32[45251] + 2 >> 1] != 41 ? (HEAP32[87266] & 80) != 0 ^ -1 : $1; + $1 = HEAP16[HEAP32[45279] + 2 >> 1] != 41 ? (HEAP32[87294] & 80) != 0 ^ -1 : $1; if ($1 & 1) { if (!(!(HEAP8[$0 + 3 | 0] & 1) | !HEAP32[$0 + 8 >> 2])) { HEAP32[$0 + 4 >> 2] = jspeAddNamedFunctionParameter(HEAP32[$0 + 4 >> 2], HEAP32[$0 + 8 >> 2]); @@ -45488,7 +45510,7 @@ function jspeExpressionOrArrowFunction() { jsvUnLock(HEAP32[$0 + 8 >> 2]); HEAP32[$0 + 8 >> 2] = jspeAssignmentExpression(); label$6: { - if ((HEAP32[87266] & 63) != 1) { + if ((HEAP32[87294] & 63) != 1) { break label$6; } if (jsvIsName(HEAP32[$0 + 8 >> 2]) & 1) { @@ -45498,7 +45520,7 @@ function jspeExpressionOrArrowFunction() { } HEAP8[$0 + 3 | 0] = 0; } - if (HEAP16[HEAP32[45251] + 2 >> 1] != 41) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 41) { if (!(jslMatch(44) & 1)) { jsvUnLock2(HEAP32[$0 + 8 >> 2], HEAP32[$0 + 4 >> 2]); HEAP32[$0 + 12 >> 2] = 0; @@ -45514,7 +45536,7 @@ function jspeExpressionOrArrowFunction() { HEAP32[$0 + 12 >> 2] = 0; break label$1; } - if (!(!(HEAP8[$0 + 3 | 0] & 1) | HEAP16[HEAP32[45251] + 2 >> 1] != 162)) { + if (!(!(HEAP8[$0 + 3 | 0] & 1) | HEAP16[HEAP32[45279] + 2 >> 1] != 162)) { HEAP32[$0 + 4 >> 2] = jspeArrowFunction(HEAP32[$0 + 4 >> 2], HEAP32[$0 + 8 >> 2]); jsvUnLock(HEAP32[$0 + 8 >> 2]); HEAP32[$0 + 12 >> 2] = HEAP32[$0 + 4 >> 2]; @@ -45561,20 +45583,20 @@ function exp($0) { } return +__math_oflow(0); } - $2 = HEAPF64[21875]; - $7 = HEAPF64[21874] * $0 + $2; + $2 = HEAPF64[21889]; + $7 = HEAPF64[21888] * $0 + $2; $2 = $7 - $2; - $0 = $2 * HEAPF64[21877] + ($2 * HEAPF64[21876] + $0); + $0 = $2 * HEAPF64[21891] + ($2 * HEAPF64[21890] + $0); $2 = $0 * $0; - $9 = $2 * $2 * ($0 * HEAPF64[21881] + HEAPF64[21880]); - $2 = $2 * ($0 * HEAPF64[21879] + HEAPF64[21878]); + $9 = $2 * $2 * ($0 * HEAPF64[21895] + HEAPF64[21894]); + $2 = $2 * ($0 * HEAPF64[21893] + HEAPF64[21892]); wasm2js_scratch_store_f64(+$7); $1 = wasm2js_scratch_load_i32(1) | 0; $4 = wasm2js_scratch_load_i32(0) | 0; $6 = $1; $1 = $4 << 4 & 2032; - $0 = $9 + ($2 + (HEAPF64[$1 + 175104 >> 3] + $0)); - $5 = $1 + 175112 | 0; + $0 = $9 + ($2 + (HEAPF64[$1 + 175216 >> 3] + $0)); + $5 = $1 + 175224 | 0; $1 = HEAP32[$5 >> 2]; $10 = $1; $3 = HEAP32[$5 + 4 >> 2]; @@ -45605,11 +45627,11 @@ function jsiSemiInit($0, $1) { HEAP8[$2 + 47 | 0] = $0; HEAP32[$2 + 40 >> 2] = $1; jspInit(); - HEAP16[174550] = HEAPU16[174550] & 7904; - HEAP8[180353] = 255; + HEAP16[174606] = HEAPU16[174606] & 7904; + HEAP8[180465] = 255; HEAP8[$2 + 39 | 0] = 0; if (HEAP32[$2 + 40 >> 2]) { - $4 = HEAP32[87258]; + $4 = HEAP32[87286]; $0 = HEAP32[$2 + 40 >> 2]; HEAP32[$2 + 24 >> 2] = HEAP32[$0 + 24 >> 2]; $1 = HEAP32[$0 + 16 >> 2]; @@ -45631,30 +45653,30 @@ function jsiSemiInit($0, $1) { } HEAP8[$2 + 38 | 0] = $5 & 1; if (HEAP8[$2 + 38 | 0] & 1) { - HEAP16[174550] = HEAPU16[174550] & -2049; + HEAP16[174606] = HEAPU16[174606] & -2049; jspSoftKill(); jsvSoftKill(); jsfLoadStateFromFlash(); jsvSoftInit(); jspSoftInit(); } - HEAP32[$2 + 32 >> 2] = jsvObjectGetChildIfExists(HEAP32[87259], 123106); + HEAP32[$2 + 32 >> 2] = jsvObjectGetChildIfExists(HEAP32[87287], 123106); if (HEAP32[$2 + 32 >> 2]) { - HEAP16[174550] = HEAPU16[174550] | 1024; + HEAP16[174606] = HEAPU16[174606] | 1024; } jsvUnLock(HEAP32[$2 + 32 >> 2]); jsiSoftInit((HEAPU8[$2 + 47 | 0] ^ -1) & 1); if (jsiEcho() & 1) { - if (!(HEAP8[$2 + 38 | 0] & 1) & HEAPU8[180352] != 20) { - jsiConsolePrintString(147071); + if (!(HEAP8[$2 + 38 | 0] & 1) & HEAPU8[180464] != 20) { + jsiConsolePrintString(147169); } - if (HEAPU8[180352] != 20) { - jsiConsolePrintString(148653); + if (HEAPU8[180464] != 20) { + jsiConsolePrintString(148751); } - HEAP8[349108] = 1; + HEAP8[349220] = 1; } if (HEAP8[$2 + 39 | 0] & 1) { - jsvUnLock(jspEvaluate(145594, 1)); + jsvUnLock(jspEvaluate(145692, 1)); } __stack_pointer = $2 + 48 | 0; } @@ -45739,7 +45761,7 @@ function _jswrap_promise_seal($0, $1, $2) { if (!$0) { break label$4; } - jsvObjectSetChildAndUnLock(HEAP32[87259], 123099, HEAP32[$3 + 24 >> 2]); + jsvObjectSetChildAndUnLock(HEAP32[87287], 123099, HEAP32[$3 + 24 >> 2]); } } break label$1; @@ -46004,7 +46026,7 @@ function jshGetCharToTransmit($0) { HEAP8[$1 + 11 | 0] = $0; label$1: { if (!(HEAPU8[$1 + 11 | 0] < 21 | HEAPU8[$1 + 11 | 0] > 22)) { - HEAP32[$1 + 4 >> 2] = HEAPU8[$1 + 11 | 0] + 349161; + HEAP32[$1 + 4 >> 2] = HEAPU8[$1 + 11 | 0] + 349273; if (HEAP8[HEAP32[$1 + 4 >> 2]] & 1) { HEAP8[HEAP32[$1 + 4 >> 2]] = HEAPU8[HEAP32[$1 + 4 >> 2]] & -2 | 4; HEAP32[$1 + 12 >> 2] = 19; @@ -46016,17 +46038,17 @@ function jshGetCharToTransmit($0) { break label$1; } } - HEAP8[$1 + 3 | 0] = HEAPU8[349179]; + HEAP8[$1 + 3 | 0] = HEAPU8[349291]; while (1) { - if (HEAPU8[349178] != HEAPU8[$1 + 3 | 0]) { - if (HEAPU8[$1 + 11 | 0] == (HEAPU8[(HEAPU8[$1 + 3 | 0] << 1) + 349264 | 0] & 31)) { - HEAP8[$1 + 2 | 0] = HEAPU8[((HEAPU8[$1 + 3 | 0] << 1) + 349264 | 0) + 1 | 0]; - if (HEAPU8[$1 + 3 | 0] != HEAPU8[349179]) { + if (HEAPU8[349290] != HEAPU8[$1 + 3 | 0]) { + if (HEAPU8[$1 + 11 | 0] == (HEAPU8[(HEAPU8[$1 + 3 | 0] << 1) + 349376 | 0] & 31)) { + HEAP8[$1 + 2 | 0] = HEAPU8[((HEAPU8[$1 + 3 | 0] << 1) + 349376 | 0) + 1 | 0]; + if (HEAPU8[$1 + 3 | 0] != HEAPU8[349291]) { HEAP8[$1 + 1 | 0] = HEAPU8[$1 + 3 | 0]; HEAP8[$1 | 0] = HEAPU8[$1 + 1 | 0] + 255; while (1) { - if (HEAPU8[$1 + 1 | 0] != HEAPU8[349179]) { - HEAP16[(HEAPU8[$1 + 1 | 0] << 1) + 349264 >> 1] = HEAPU16[(HEAPU8[$1 | 0] << 1) + 349264 >> 1]; + if (HEAPU8[$1 + 1 | 0] != HEAPU8[349291]) { + HEAP16[(HEAPU8[$1 + 1 | 0] << 1) + 349376 >> 1] = HEAPU16[(HEAPU8[$1 | 0] << 1) + 349376 >> 1]; HEAP8[$1 + 1 | 0] = HEAPU8[$1 | 0]; HEAP8[$1 | 0] = HEAPU8[$1 + 1 | 0] + 255; continue; @@ -46034,7 +46056,7 @@ function jshGetCharToTransmit($0) { break; } } - HEAP8[349179] = HEAPU8[349179] + 1; + HEAP8[349291] = HEAPU8[349291] + 1; HEAP32[$1 + 12 >> 2] = HEAPU8[$1 + 2 | 0]; break label$1; } else { @@ -46254,32 +46276,32 @@ function jswrap_banglejs_beep($0, $1) { HEAP32[$2 + 24 >> 2] = 5e3; } label$5: { - if (HEAP32[93961]) { - HEAP32[$2 + 16 >> 2] = jsvNewNativeFunction(138, 289); + if (HEAP32[93989]) { + HEAP32[$2 + 16 >> 2] = jsvNewNativeFunction(137, 289); HEAP32[$2 + 12 >> 2] = jsvNewFromInteger(HEAP32[$2 + 24 >> 2]); jsvAddFunctionParameter(HEAP32[$2 + 16 >> 2], 0, HEAP32[$2 + 12 >> 2]); jsvUnLock(HEAP32[$2 + 12 >> 2]); HEAP32[$2 + 12 >> 2] = jsvNewFromInteger(HEAP32[$2 + 20 >> 2]); jsvAddFunctionParameter(HEAP32[$2 + 16 >> 2], 0, HEAP32[$2 + 12 >> 2]); jsvUnLock(HEAP32[$2 + 12 >> 2]); - HEAP32[$2 + 8 >> 2] = jswrap_promise_then(HEAP32[93961], HEAP32[$2 + 16 >> 2], 0); + HEAP32[$2 + 8 >> 2] = jswrap_promise_then(HEAP32[93989], HEAP32[$2 + 16 >> 2], 0); jsvUnLock(HEAP32[$2 + 16 >> 2]); HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 8 >> 2]; break label$5; } - HEAP32[93961] = jspromise_create(); - if (!HEAP32[93961]) { + HEAP32[93989] = jspromise_create(); + if (!HEAP32[93989]) { HEAP32[$2 + 28 >> 2] = 0; break label$5; } - if (HEAP32[93921] & 256) { - HEAP16[187913] = HEAP32[$2 + 20 >> 2]; - if (HEAP32[93921] & 128) { + if (HEAP32[93949] & 256) { + HEAP16[187969] = HEAP32[$2 + 20 >> 2]; + if (HEAP32[93949] & 128) { _jswrap_banglejs_setVibration(); } } jstExecuteFn(595, 0, jshGetTimeFromMilliseconds(+HEAP32[$2 + 24 >> 2]), i64toi32_i32$HIGH_BITS, 0, 0); - HEAP32[$2 + 28 >> 2] = jsvLockAgain(HEAP32[93961]); + HEAP32[$2 + 28 >> 2] = jsvLockAgain(HEAP32[93989]); } __stack_pointer = $2 + 32 | 0; return HEAP32[$2 + 28 >> 2]; @@ -46293,7 +46315,7 @@ function jswrap_interface_changeInterval($0, $1) { __stack_pointer = $2; HEAP32[$2 + 44 >> 2] = $0; HEAPF64[$2 + 32 >> 3] = $1; - HEAP32[$2 + 28 >> 2] = jsvLock(HEAPU16[174548]); + HEAP32[$2 + 28 >> 2] = jsvLock(HEAPU16[174604]); if (HEAPF64[$2 + 32 >> 3] < .1) { HEAPF64[$2 + 32 >> 3] = .1; } @@ -46317,11 +46339,11 @@ function jswrap_interface_changeInterval($0, $1) { $5 = jshGetSystemTime(); $0 = i64toi32_i32$HIGH_BITS; $7 = $0; - $0 = HEAP32[87292]; + $0 = HEAP32[87320]; $4 = $0; $3 = $5 - $0 | 0; $8 = $3; - $0 = HEAP32[87293]; + $0 = HEAP32[87321]; $3 = HEAP32[$2 + 12 >> 2] + ($7 - ($0 + ($4 >>> 0 > $5 >>> 0) | 0) | 0) | 0; $4 = HEAP32[$2 + 8 >> 2]; $0 = $4 + $8 | 0; @@ -46497,9 +46519,9 @@ function _jswrap_promise_reaction_call($0, $1, $2, $3) { HEAP32[$4 + 12 >> 2] = jsvObjectGetChildIfExists(HEAP32[$4 + 40 >> 2], 125380); label$3: { if (HEAP32[$4 + 12 >> 2]) { - HEAP32[$4 + 8 >> 2] = HEAP32[87266]; + HEAP32[$4 + 8 >> 2] = HEAP32[87294]; HEAP32[$4 + 16 >> 2] = jspeFunctionCall(HEAP32[$4 + 12 >> 2], 0, HEAP32[$4 + 44 >> 2], 0, 1, $4 + 36 | 0); - HEAP32[87266] = HEAP32[$4 + 8 >> 2]; + HEAP32[87294] = HEAP32[$4 + 8 >> 2]; HEAP32[$4 + 4 >> 2] = jspGetException(); if (HEAP32[$4 + 4 >> 2]) { HEAP8[$4 + 23 | 0] = 1; @@ -46616,7 +46638,7 @@ function jsiDumpSerialInitialisation($0, $1, $2, $3) { HEAP32[$4 + 40 >> 2] = $1; HEAP32[$4 + 36 >> 2] = $2; HEAP8[$4 + 35 | 0] = $3; - HEAP32[$4 + 28 >> 2] = jsvFindChildFromString(HEAP32[87258], HEAP32[$4 + 36 >> 2]); + HEAP32[$4 + 28 >> 2] = jsvFindChildFromString(HEAP32[87286], HEAP32[$4 + 36 >> 2]); HEAP32[$4 + 24 >> 2] = jsvSkipName(HEAP32[$4 + 28 >> 2]); if (HEAP32[$4 + 24 >> 2]) { if (HEAP8[$4 + 35 | 0] & 1) { @@ -46636,10 +46658,10 @@ function jsiDumpSerialInitialisation($0, $1, $2, $3) { HEAP32[$4 >> 2] = $2; cbprintf($0, $1, 124746, $4); if (jsvIsObject(HEAP32[$4 + 16 >> 2]) & 1) { - FUNCTION_TABLE[HEAP32[$4 + 44 >> 2]](146854, HEAP32[$4 + 40 >> 2]); + FUNCTION_TABLE[HEAP32[$4 + 44 >> 2]](146952, HEAP32[$4 + 40 >> 2]); jsfGetJSONWithCallback(HEAP32[$4 + 16 >> 2], 0, 32, 0, HEAP32[$4 + 44 >> 2], HEAP32[$4 + 40 >> 2]); } - FUNCTION_TABLE[HEAP32[$4 + 44 >> 2]](147840, HEAP32[$4 + 40 >> 2]); + FUNCTION_TABLE[HEAP32[$4 + 44 >> 2]](147938, HEAP32[$4 + 40 >> 2]); } jsvUnLock3(HEAP32[$4 + 20 >> 2], HEAP32[$4 + 16 >> 2], HEAP32[$4 + 24 >> 2]); } @@ -46683,7 +46705,7 @@ function jswrap_function_constructor($0) { jsvObjectIteratorFree_7($1 + 16 | 0); if (!(jsvIsString(HEAP32[$1 + 12 >> 2]) & 1)) { HEAP32[$1 >> 2] = HEAP32[$1 + 12 >> 2]; - jsExceptionHere(3, 145755, $1); + jsExceptionHere(3, 145853, $1); jsvUnLock2(HEAP32[$1 + 12 >> 2], HEAP32[$1 + 20 >> 2]); HEAP32[$1 + 28 >> 2] = 0; break label$1; @@ -46771,10 +46793,10 @@ function jswrap_graphics_getModified($0, $1) { if ((HEAPU8[$2 + 48 | 0] | HEAPU8[$2 + 49 | 0] << 8) << 16 >> 16 <= (HEAPU8[$2 + 52 | 0] | HEAPU8[$2 + 53 | 0] << 8) << 16 >> 16) { HEAP32[$2 + 4 >> 2] = jsvNewObject(); if (HEAP32[$2 + 4 >> 2]) { - jsvObjectSetChildAndUnLock(HEAP32[$2 + 4 >> 2], 129093, jsvNewFromInteger((HEAPU8[$2 + 48 | 0] | HEAPU8[$2 + 49 | 0] << 8) << 16 >> 16)); - jsvObjectSetChildAndUnLock(HEAP32[$2 + 4 >> 2], 129090, jsvNewFromInteger((HEAPU8[$2 + 50 | 0] | HEAPU8[$2 + 51 | 0] << 8) << 16 >> 16)); - jsvObjectSetChildAndUnLock(HEAP32[$2 + 4 >> 2], 128786, jsvNewFromInteger((HEAPU8[$2 + 52 | 0] | HEAPU8[$2 + 53 | 0] << 8) << 16 >> 16)); - jsvObjectSetChildAndUnLock(HEAP32[$2 + 4 >> 2], 128783, jsvNewFromInteger((HEAPU8[$2 + 54 | 0] | HEAPU8[$2 + 55 | 0] << 8) << 16 >> 16)); + jsvObjectSetChildAndUnLock(HEAP32[$2 + 4 >> 2], 129083, jsvNewFromInteger((HEAPU8[$2 + 48 | 0] | HEAPU8[$2 + 49 | 0] << 8) << 16 >> 16)); + jsvObjectSetChildAndUnLock(HEAP32[$2 + 4 >> 2], 129080, jsvNewFromInteger((HEAPU8[$2 + 50 | 0] | HEAPU8[$2 + 51 | 0] << 8) << 16 >> 16)); + jsvObjectSetChildAndUnLock(HEAP32[$2 + 4 >> 2], 128776, jsvNewFromInteger((HEAPU8[$2 + 52 | 0] | HEAPU8[$2 + 53 | 0] << 8) << 16 >> 16)); + jsvObjectSetChildAndUnLock(HEAP32[$2 + 4 >> 2], 128773, jsvNewFromInteger((HEAPU8[$2 + 54 | 0] | HEAPU8[$2 + 55 | 0] << 8) << 16 >> 16)); } } if (HEAP8[$2 + 87 | 0] & 1) { @@ -46895,10 +46917,10 @@ function __jspeConditionalExpression($0) { __stack_pointer = $1; HEAP32[$1 + 24 >> 2] = $0; label$1: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 63) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 63) { jslGetNextToken(); label$3: { - if ((HEAP32[87266] & 63) != 1) { + if ((HEAP32[87294] & 63) != 1) { jsvUnLock(jspeAssignmentExpression()); if (!(jslMatch(58) & 1)) { HEAP32[$1 + 28 >> 2] = 0; @@ -46916,16 +46938,16 @@ function __jspeConditionalExpression($0) { HEAP32[$1 + 28 >> 2] = 0; break label$1; } - HEAP32[$1 + 16 >> 2] = HEAP32[87266]; + HEAP32[$1 + 16 >> 2] = HEAP32[87294]; jspSetNoExecute(); jsvUnLock(jspeAssignmentExpression()); - HEAP32[87266] = HEAP32[87266] & -1664 | HEAP32[$1 + 16 >> 2] & 1663; + HEAP32[87294] = HEAP32[87294] & -1664 | HEAP32[$1 + 16 >> 2] & 1663; break label$6; } - HEAP32[$1 + 12 >> 2] = HEAP32[87266]; + HEAP32[$1 + 12 >> 2] = HEAP32[87294]; jspSetNoExecute(); jsvUnLock(jspeAssignmentExpression()); - HEAP32[87266] = HEAP32[87266] & -1664 | HEAP32[$1 + 12 >> 2] & 1663; + HEAP32[87294] = HEAP32[87294] & -1664 | HEAP32[$1 + 12 >> 2] & 1663; if (!(jslMatch(58) & 1)) { HEAP32[$1 + 28 >> 2] = 0; break label$1; @@ -47294,7 +47316,7 @@ function jswrap_stream_pushData($0, $1, $2) { if (HEAP32[$3 + 16 >> 2]) { if (!(jsiExecuteEventCallback(HEAP32[$3 + 28 >> 2], HEAP32[$3 + 16 >> 2], 1, $3 + 24 | 0) & 1)) { jsError(129324, 0); - HEAP8[349030] = HEAPU8[349030] | 4; + HEAP8[349142] = HEAPU8[349142] | 4; jsvObjectRemoveChild(HEAP32[$3 + 28 >> 2], 125413); } jsvUnLock(HEAP32[$3 + 16 >> 2]); @@ -47310,7 +47332,7 @@ function jswrap_stream_pushData($0, $1, $2) { HEAP32[$3 + 4 >> 2] = jsvGetStringLength(HEAP32[$3 + 24 >> 2]); if (HEAP32[$3 + 8 >> 2] + HEAP32[$3 + 4 >> 2] >>> 0 > 512) { if (HEAP8[$3 + 23 | 0] & 1) { - HEAP8[349030] = HEAPU8[349030] | 2; + HEAP8[349142] = HEAPU8[349142] | 2; } HEAP8[$3 + 22 | 0] = 0; } @@ -47337,7 +47359,7 @@ function tflite___28anonymous_20namespace_29__FlatBufferIntVectorToArray_28int_2 if (!HEAP32[$5 + 52 >> 2]) { $0 = HEAP32[$5 + 44 >> 2]; HEAP32[$5 + 16 >> 2] = HEAP32[$5 + 40 >> 2]; - tflite__ErrorReporter__Report_28char_20const__2c_20____29($0, 148329, $5 + 16 | 0); + tflite__ErrorReporter__Report_28char_20const__2c_20____29($0, 148427, $5 + 16 | 0); HEAP32[$5 + 60 >> 2] = 1; break label$1; } @@ -47345,7 +47367,7 @@ function tflite___28anonymous_20namespace_29__FlatBufferIntVectorToArray_28int_2 if (HEAPU32[$5 + 36 >> 2] > HEAP32[$5 + 56 >> 2] >>> 2 >>> 0) { $0 = HEAP32[$5 + 44 >> 2]; HEAP32[$5 >> 2] = HEAP32[$5 + 40 >> 2]; - tflite__ErrorReporter__Report_28char_20const__2c_20____29($0, 148375, $5); + tflite__ErrorReporter__Report_28char_20const__2c_20____29($0, 148473, $5); HEAP32[$5 + 60 >> 2] = 1; break label$1; } @@ -47506,7 +47528,7 @@ function jspeStatementFunctionDecl($0) { HEAP8[$1 + 27 | 0] = $0; HEAP32[$1 + 20 >> 2] = 0; jslGetNextToken(); - HEAP8[$1 + 15 | 0] = (HEAP32[87266] & 63) == 1; + HEAP8[$1 + 15 | 0] = (HEAP32[87294] & 63) == 1; label$1: { if (HEAP8[$1 + 15 | 0] & 1) { HEAP32[$1 + 20 >> 2] = jsvNewNameFromString(jslGetTokenValueAsString()); @@ -47529,7 +47551,7 @@ function jspeStatementFunctionDecl($0) { } HEAP32[$1 + 16 >> 2] = $0; if (HEAP8[$1 + 15 | 0] & 1) { - HEAP32[$1 + 8 >> 2] = jsvFindChildFromVar(HEAP32[87261], HEAP32[$1 + 20 >> 2], 1); + HEAP32[$1 + 8 >> 2] = jsvFindChildFromVar(HEAP32[87289], HEAP32[$1 + 20 >> 2], 1); HEAP32[$1 + 4 >> 2] = jsvSkipName(HEAP32[$1 + 8 >> 2]); label$8: { if (jsvIsFunction(HEAP32[$1 + 4 >> 2]) & 1) { @@ -47558,7 +47580,7 @@ function jspeFactorDelete() { HEAP32[$0 + 28 >> 2] = 0; HEAP32[$0 + 24 >> 2] = jspeFactorMember(jspeFactor(), $0 + 28 | 0); HEAP32[$0 + 20 >> 2] = 0; - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { HEAP8[$0 + 19 | 0] = 0; label$2: { if (!(jsvIsName(HEAP32[$0 + 24 >> 2]) & 1)) { @@ -47571,10 +47593,10 @@ function jspeFactorDelete() { if (HEAP32[$0 + 28 >> 2]) { break label$3; } - if (!(jsvIsChild(HEAP32[87258], HEAP32[$0 + 24 >> 2]) & 1)) { + if (!(jsvIsChild(HEAP32[87286], HEAP32[$0 + 24 >> 2]) & 1)) { break label$3; } - HEAP32[$0 + 28 >> 2] = jsvLockAgain(HEAP32[87258]); + HEAP32[$0 + 28 >> 2] = jsvLockAgain(HEAP32[87286]); } label$4: { if (!(jsvHasChildren(HEAP32[$0 + 28 >> 2]) & 1)) { @@ -47836,7 +47858,7 @@ function jswrap_espruino_HSBtoRGB($0, $1, $2, $3) { break label$1; } if (HEAP32[$4 + 44 >> 2] != 1) { - jsExceptionHere(1, 128719, 0); + jsExceptionHere(1, 128714, 0); HEAP32[$4 + 76 >> 2] = 0; break label$1; } @@ -47902,47 +47924,47 @@ function jspExecuteFunction($0, $1, $2, $3) { HEAP32[$4 + 56 >> 2] = $1; HEAP32[$4 + 52 >> 2] = $2; HEAP32[$4 + 48 >> 2] = $3; - HEAP32[$4 + 40 >> 2] = HEAP32[87266]; - $0 = HEAP32[87265]; - $1 = HEAP32[87264]; + HEAP32[$4 + 40 >> 2] = HEAP32[87294]; + $0 = HEAP32[87293]; + $1 = HEAP32[87292]; HEAP32[$4 + 32 >> 2] = $1; HEAP32[$4 + 36 >> 2] = $0; - $1 = HEAP32[87263]; - $0 = HEAP32[87262]; + $1 = HEAP32[87291]; + $0 = HEAP32[87290]; HEAP32[$4 + 24 >> 2] = $0; HEAP32[$4 + 28 >> 2] = $1; - $0 = HEAP32[87261]; - $1 = HEAP32[87260]; + $0 = HEAP32[87289]; + $1 = HEAP32[87288]; HEAP32[$4 + 16 >> 2] = $1; HEAP32[$4 + 20 >> 2] = $0; - $1 = HEAP32[87259]; - $0 = HEAP32[87258]; + $1 = HEAP32[87287]; + $0 = HEAP32[87286]; HEAP32[$4 + 8 >> 2] = $0; HEAP32[$4 + 12 >> 2] = $1; - HEAP32[87260] = 0; - HEAP32[87266] = 1; - HEAP32[87264] = 0; + HEAP32[87288] = 0; + HEAP32[87294] = 1; + HEAP32[87292] = 0; HEAP32[$4 + 4 >> 2] = jspeFunctionCall(HEAP32[$4 + 60 >> 2], 0, HEAP32[$4 + 56 >> 2], 0, HEAP32[$4 + 52 >> 2], HEAP32[$4 + 48 >> 2]); jspeiClearScopes(); - HEAP32[$4 + 40 >> 2] = HEAP32[$4 + 40 >> 2] | HEAP32[87266] & 6256; + HEAP32[$4 + 40 >> 2] = HEAP32[$4 + 40 >> 2] | HEAP32[87294] & 6256; jspeiClearScopes(); $0 = HEAP32[$4 + 12 >> 2]; $1 = HEAP32[$4 + 8 >> 2]; - HEAP32[87258] = $1; - HEAP32[87259] = $0; - HEAP32[87266] = HEAP32[$4 + 40 >> 2]; + HEAP32[87286] = $1; + HEAP32[87287] = $0; + HEAP32[87294] = HEAP32[$4 + 40 >> 2]; $1 = HEAP32[$4 + 36 >> 2]; $0 = HEAP32[$4 + 32 >> 2]; - HEAP32[87264] = $0; - HEAP32[87265] = $1; + HEAP32[87292] = $0; + HEAP32[87293] = $1; $0 = HEAP32[$4 + 28 >> 2]; $1 = HEAP32[$4 + 24 >> 2]; - HEAP32[87262] = $1; - HEAP32[87263] = $0; + HEAP32[87290] = $1; + HEAP32[87291] = $0; $1 = HEAP32[$4 + 20 >> 2]; $0 = HEAP32[$4 + 16 >> 2]; - HEAP32[87260] = $0; - HEAP32[87261] = $1; + HEAP32[87288] = $0; + HEAP32[87289] = $1; __stack_pointer = $4 - -64 | 0; return HEAP32[$4 + 4 >> 2]; } @@ -48004,7 +48026,7 @@ function tflite__GetQuantizedConvolutionMultipler_28TfLiteContext__2c_20TfLiteTe if (!(HEAPF64[$6 + 24 >> 3] / HEAPF64[$6 + 16 >> 3] <= .02)) { $0 = HEAP32[HEAP32[$6 + 72 >> 2] + 20 >> 2]; $1 = HEAP32[$6 + 72 >> 2]; - HEAP32[$6 >> 2] = 128975; + HEAP32[$6 >> 2] = 128965; FUNCTION_TABLE[$0 | 0]($1, 129822, $6); HEAP32[$6 + 76 >> 2] = 1; break label$1; @@ -48106,7 +48128,7 @@ function jsiGetHistoryLine($0) { break label$1; } HEAP32[$1 + 16 >> 2] = 0; - HEAP32[$1 + 12 >> 2] = jsvGetIndexOf(HEAP32[$1 + 20 >> 2], HEAP32[87276], 1); + HEAP32[$1 + 12 >> 2] = jsvGetIndexOf(HEAP32[$1 + 20 >> 2], HEAP32[87304], 1); label$3: { if (HEAP32[$1 + 12 >> 2]) { label$5: { @@ -48167,42 +48189,42 @@ function int_20gemmlowp__RoundingDivideByPOT_int__28int_2c_20int_29($0, $1) { function jslGetNextCh() { var $0 = 0; $0 = jslNextCh(); - HEAP8[HEAP32[45251]] = $0; - $0 = HEAP32[45251]; + HEAP8[HEAP32[45279]] = $0; + $0 = HEAP32[45279]; HEAP32[$0 + 88 >> 2] = HEAP32[$0 + 88 >> 2] + 1; label$1: { - if (HEAPU32[HEAP32[45251] + 88 >> 2] < HEAPU32[HEAP32[45251] + 92 >> 2]) { + if (HEAPU32[HEAP32[45279] + 88 >> 2] < HEAPU32[HEAP32[45279] + 92 >> 2]) { break label$1; } - $0 = HEAP32[45251]; - HEAP32[$0 + 88 >> 2] = HEAP32[$0 + 88 >> 2] - HEAP32[HEAP32[45251] + 92 >> 2]; - $0 = HEAP32[45251]; - HEAP32[$0 + 96 >> 2] = HEAP32[HEAP32[45251] + 92 >> 2] + HEAP32[$0 + 96 >> 2]; - if (jsvIsFlashString(HEAP32[HEAP32[45251] + 100 >> 2]) & 1) { - jsvStringIteratorLoadFlashString(HEAP32[45251] + 88 | 0); + $0 = HEAP32[45279]; + HEAP32[$0 + 88 >> 2] = HEAP32[$0 + 88 >> 2] - HEAP32[HEAP32[45279] + 92 >> 2]; + $0 = HEAP32[45279]; + HEAP32[$0 + 96 >> 2] = HEAP32[HEAP32[45279] + 92 >> 2] + HEAP32[$0 + 96 >> 2]; + if (jsvIsFlashString(HEAP32[HEAP32[45279] + 100 >> 2]) & 1) { + jsvStringIteratorLoadFlashString(HEAP32[45279] + 88 | 0); break label$1; } label$3: { label$4: { - if (!HEAP32[HEAP32[45251] + 100 >> 2]) { + if (!HEAP32[HEAP32[45279] + 100 >> 2]) { break label$4; } - if (!(jsvGetLastChild(HEAP32[HEAP32[45251] + 100 >> 2]) & 65535)) { + if (!(jsvGetLastChild(HEAP32[HEAP32[45279] + 100 >> 2]) & 65535)) { break label$4; } - $0 = _jsvGetAddressOf(jsvGetLastChild(HEAP32[HEAP32[45251] + 100 >> 2]) & 65535); - HEAP32[HEAP32[45251] + 100 >> 2] = $0; - HEAP32[HEAP32[45251] + 104 >> 2] = HEAP32[HEAP32[45251] + 100 >> 2]; - $0 = jsvGetCharactersInVar(HEAP32[HEAP32[45251] + 100 >> 2]); - HEAP32[HEAP32[45251] + 92 >> 2] = $0; + $0 = _jsvGetAddressOf(jsvGetLastChild(HEAP32[HEAP32[45279] + 100 >> 2]) & 65535); + HEAP32[HEAP32[45279] + 100 >> 2] = $0; + HEAP32[HEAP32[45279] + 104 >> 2] = HEAP32[HEAP32[45279] + 100 >> 2]; + $0 = jsvGetCharactersInVar(HEAP32[HEAP32[45279] + 100 >> 2]); + HEAP32[HEAP32[45279] + 92 >> 2] = $0; break label$3; } - HEAP32[HEAP32[45251] + 100 >> 2] = 0; - HEAP32[HEAP32[45251] + 104 >> 2] = 0; - HEAP32[HEAP32[45251] + 92 >> 2] = 0; - $0 = HEAP32[45251]; - HEAP32[$0 + 96 >> 2] = HEAP32[HEAP32[45251] + 88 >> 2] + HEAP32[$0 + 96 >> 2]; - HEAP32[HEAP32[45251] + 88 >> 2] = 0; + HEAP32[HEAP32[45279] + 100 >> 2] = 0; + HEAP32[HEAP32[45279] + 104 >> 2] = 0; + HEAP32[HEAP32[45279] + 92 >> 2] = 0; + $0 = HEAP32[45279]; + HEAP32[$0 + 96 >> 2] = HEAP32[HEAP32[45279] + 88 >> 2] + HEAP32[$0 + 96 >> 2]; + HEAP32[HEAP32[45279] + 88 >> 2] = 0; } } } @@ -48584,11 +48606,11 @@ function fflush($0) { $0 = $0 | 0; var $1 = 0, $2 = 0, $3 = 0; if (!$0) { - if (HEAP32[94008]) { - $1 = fflush(HEAP32[94008]); + if (HEAP32[94036]) { + $1 = fflush(HEAP32[94036]); } - if (HEAP32[45140]) { - $1 = fflush(HEAP32[45140]) | $1; + if (HEAP32[45168]) { + $1 = fflush(HEAP32[45168]) | $1; } $0 = HEAP32[__ofl_lock() >> 2]; if ($0) { @@ -48978,31 +49000,31 @@ function jslGetRawString() { var $0 = 0, $1 = 0; $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; - HEAP8[$0 + 15 | 0] = HEAP16[HEAP32[45251] + 2 >> 1] == 210; - HEAP16[HEAP32[45251] + 2 >> 1] = 131; - HEAP32[$0 + 8 >> 2] = HEAPU8[HEAP32[45251]]; + HEAP8[$0 + 15 | 0] = HEAP16[HEAP32[45279] + 2 >> 1] == 210; + HEAP16[HEAP32[45279] + 2 >> 1] = 131; + HEAP32[$0 + 8 >> 2] = HEAPU8[HEAP32[45279]]; if (HEAP8[$0 + 15 | 0] & 1) { jslGetNextCh(); - HEAP32[$0 + 8 >> 2] = HEAP32[$0 + 8 >> 2] | HEAPU8[HEAP32[45251]] << 8; + HEAP32[$0 + 8 >> 2] = HEAP32[$0 + 8 >> 2] | HEAPU8[HEAP32[45279]] << 8; } - jsvUnLock(HEAP32[HEAP32[45251] + 76 >> 2]); + jsvUnLock(HEAP32[HEAP32[45279] + 76 >> 2]); label$2: { if (HEAPU32[$0 + 8 >> 2] > 9) { - HEAP32[$0 + 4 >> 2] = jsvStringIteratorGetIndex(HEAP32[45251] + 88 | 0); - $1 = jsvNewFromStringVar(HEAP32[HEAP32[45251] + 84 >> 2], HEAP32[$0 + 4 >> 2], HEAP32[$0 + 8 >> 2]); - HEAP32[HEAP32[45251] + 76 >> 2] = $1; - jsvLockAgain(HEAP32[HEAP32[45251] + 100 >> 2]); - jsvStringIteratorGoto(HEAP32[45251] + 88 | 0, HEAP32[HEAP32[45251] + 84 >> 2], HEAP32[$0 + 4 >> 2] + HEAP32[$0 + 8 >> 2] | 0); - jsvUnLock(HEAP32[HEAP32[45251] + 100 >> 2]); + HEAP32[$0 + 4 >> 2] = jsvStringIteratorGetIndex(HEAP32[45279] + 88 | 0); + $1 = jsvNewFromStringVar(HEAP32[HEAP32[45279] + 84 >> 2], HEAP32[$0 + 4 >> 2], HEAP32[$0 + 8 >> 2]); + HEAP32[HEAP32[45279] + 76 >> 2] = $1; + jsvLockAgain(HEAP32[HEAP32[45279] + 100 >> 2]); + jsvStringIteratorGoto(HEAP32[45279] + 88 | 0, HEAP32[HEAP32[45279] + 84 >> 2], HEAP32[$0 + 4 >> 2] + HEAP32[$0 + 8 >> 2] | 0); + jsvUnLock(HEAP32[HEAP32[45279] + 100 >> 2]); break label$2; } $1 = jsvNewWithFlags(HEAP32[$0 + 8 >> 2] + 28 & 65535); - HEAP32[HEAP32[45251] + 76 >> 2] = $1; + HEAP32[HEAP32[45279] + 76 >> 2] = $1; HEAP32[$0 >> 2] = 0; while (1) { if (HEAPU32[$0 >> 2] < HEAPU32[$0 + 8 >> 2]) { jslGetNextCh(); - HEAP8[HEAP32[HEAP32[45251] + 76 >> 2] + HEAP32[$0 >> 2] | 0] = HEAPU8[HEAP32[45251]]; + HEAP8[HEAP32[HEAP32[45279] + 76 >> 2] + HEAP32[$0 >> 2] | 0] = HEAPU8[HEAP32[45279]]; HEAP32[$0 >> 2] = HEAP32[$0 >> 2] + 1; continue; } @@ -49158,7 +49180,7 @@ function jspNewObject($0, $1) { } jsvAddNamedChildAndUnLock(HEAP32[$2 + 12 >> 2], jsvSkipNameAndUnLock(HEAP32[$2 + 16 >> 2]), 125512); if (HEAP32[$2 + 24 >> 2]) { - HEAP32[$2 + 4 >> 2] = jsvFindOrAddChildFromString(HEAP32[87258], HEAP32[$2 + 24 >> 2]); + HEAP32[$2 + 4 >> 2] = jsvFindOrAddChildFromString(HEAP32[87286], HEAP32[$2 + 24 >> 2]); if (HEAP32[$2 + 4 >> 2]) { jsvSetValueOfName(HEAP32[$2 + 4 >> 2], HEAP32[$2 + 12 >> 2]); } @@ -49385,14 +49407,14 @@ function jspeUnaryExpression() { __stack_pointer = $0; label$1: { label$2: { - if (!(HEAP16[HEAP32[45251] + 2 >> 1] == 33 | HEAP16[HEAP32[45251] + 2 >> 1] == 126 | HEAP16[HEAP32[45251] + 2 >> 1] == 45)) { - if (HEAP16[HEAP32[45251] + 2 >> 1] != 43) { + if (!(HEAP16[HEAP32[45279] + 2 >> 1] == 33 | HEAP16[HEAP32[45279] + 2 >> 1] == 126 | HEAP16[HEAP32[45279] + 2 >> 1] == 45)) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 43) { break label$2; } } - HEAP16[$0 + 10 >> 1] = HEAPU16[HEAP32[45251] + 2 >> 1]; + HEAP16[$0 + 10 >> 1] = HEAPU16[HEAP32[45279] + 2 >> 1]; jslGetNextToken(); - if ((HEAP32[87266] & 63) != 1) { + if ((HEAP32[87294] & 63) != 1) { HEAP32[$0 + 12 >> 2] = jspeUnaryExpression(); break label$1; } @@ -49630,9 +49652,9 @@ function jswrap_promise_constructor($0) { HEAP32[$1 + 24 >> 2] = _jswrap_promise_native_with_prombox(629, HEAP32[$1 + 32 >> 2]); HEAP32[$1 + 16 >> 2] = HEAP32[$1 + 28 >> 2]; HEAP32[$1 + 20 >> 2] = HEAP32[$1 + 24 >> 2]; - HEAP32[$1 + 12 >> 2] = HEAP32[87266]; + HEAP32[$1 + 12 >> 2] = HEAP32[87294]; jsvUnLock(jspeFunctionCall(HEAP32[$1 + 40 >> 2], 0, HEAP32[$1 + 36 >> 2], 0, 2, $1 + 16 | 0)); - HEAP32[87266] = HEAP32[$1 + 12 >> 2]; + HEAP32[87294] = HEAP32[$1 + 12 >> 2]; HEAP32[$1 + 8 >> 2] = jspGetException(); if (HEAP32[$1 + 8 >> 2]) { _jswrap_prombox_queuereject(HEAP32[$1 + 32 >> 2], HEAP32[$1 + 8 >> 2]); @@ -49888,7 +49910,7 @@ function tflite__MicroAllocator__AllocatePersistentTfLiteTensor_28tflite__Model_ HEAP32[$4 + 4 >> 2] = FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 36 >> 2]]($0, HEAP32[$4 + 20 >> 2], HEAP32[$4 + 16 >> 2], HEAP32[$4 + 12 >> 2]); label$2: { if (FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 40 >> 2]]($0, HEAP32[$4 + 20 >> 2], HEAP32[$4 + 8 >> 2], HEAP32[$4 + 4 >> 2], HEAP32[$4 + 12 >> 2], 0) | 0) { - tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$0 + 8 >> 2], 146372, 0); + tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$0 + 8 >> 2], 146470, 0); HEAP32[$4 + 28 >> 2] = 0; break label$2; } @@ -50169,13 +50191,13 @@ function jsiSetConsoleDevice($0, $1) { HEAP8[$2 + 46 | 0] = $1; label$1: { if (HEAP8[$2 + 46 | 0] & 1) { - HEAP16[174550] = HEAPU16[174550] | 256; + HEAP16[174606] = HEAPU16[174606] | 256; break label$1; } - HEAP16[174550] = HEAPU16[174550] & -257; + HEAP16[174606] = HEAPU16[174606] & -257; } label$3: { - if (HEAPU8[$2 + 47 | 0] == HEAPU8[180352]) { + if (HEAPU8[$2 + 47 | 0] == HEAPU8[180464]) { break label$3; } label$4: { @@ -50189,7 +50211,7 @@ function jsiSetConsoleDevice($0, $1) { jshUSARTSetup(HEAPU8[$2 + 47 | 0], $2 + 32 | 0); } HEAP8[$2 + 31 | 0] = jsiEcho() & 1; - if (HEAPU8[180352] == 19) { + if (HEAPU8[180464] == 19) { HEAP8[$2 + 31 | 0] = 0; jshTransmitMove(19, HEAPU8[$2 + 47 | 0]); jshUSARTKick(HEAPU8[$2 + 47 | 0]); @@ -50197,15 +50219,15 @@ function jsiSetConsoleDevice($0, $1) { if (HEAP8[$2 + 31 | 0] & 1) { jsiConsoleRemoveInputLine(); HEAP32[$2 + 16 >> 2] = jshGetDeviceString(HEAPU8[$2 + 47 | 0]); - jsiConsolePrintf(147281, $2 + 16 | 0); + jsiConsolePrintf(147379, $2 + 16 | 0); } - HEAP8[$2 + 30 | 0] = HEAPU8[180352]; - HEAP8[180352] = HEAPU8[$2 + 47 | 0]; + HEAP8[$2 + 30 | 0] = HEAPU8[180464]; + HEAP8[180464] = HEAPU8[$2 + 47 | 0]; if (!(HEAP8[$2 + 31 | 0] & 1)) { break label$3; } HEAP32[$2 >> 2] = jshGetDeviceString(HEAPU8[$2 + 30 | 0]); - jsiConsolePrintf(147288, $2); + jsiConsolePrintf(147386, $2); } __stack_pointer = $2 + 48 | 0; } @@ -50333,7 +50355,7 @@ function tflite__MicroAllocator__AllocateTempTfLiteTensor_28tflite__Model_20cons HEAP32[$4 + 4 >> 2] = FUNCTION_TABLE[HEAP32[HEAP32[$1 >> 2] + 16 >> 2]]($1, 40, 4); label$2: { if (FUNCTION_TABLE[HEAP32[HEAP32[$0 >> 2] + 40 >> 2]]($0, HEAP32[$4 + 20 >> 2], HEAP32[$4 + 8 >> 2], HEAP32[$4 + 4 >> 2], HEAP32[$4 + 12 >> 2], 1) | 0) { - tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$0 + 8 >> 2], 146446, 0); + tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$0 + 8 >> 2], 146544, 0); HEAP32[$4 + 28 >> 2] = 0; break label$2; } @@ -50352,7 +50374,7 @@ function jsiCountBracketsInInput() { __stack_pointer = $0; HEAP32[$0 + 140 >> 2] = 0; HEAP32[$0 + 12 >> 2] = jslSetLex($0 + 16 | 0); - jslInit(HEAP32[87276]); + jslInit(HEAP32[87304]); while (1) { label$2: { $1 = 0; @@ -50550,7 +50572,7 @@ function jsvGetCharactersInVar($0) { } if (HEAPU32[$1 + 4 >> 2] < 18) { HEAP32[$1 >> 2] = HEAP32[$1 + 4 >> 2]; - jsiConsolePrintf(147646, $1); + jsiConsolePrintf(147744, $1); } if (HEAPU32[$1 + 4 >> 2] <= 27) { if (HEAPU32[$1 + 4 >> 2] <= 22) { @@ -50607,7 +50629,7 @@ function jsiTabComplete_printCommon($0, $1) { break; } HEAP32[$2 + 16 >> 2] = HEAP32[$2 + 24 >> 2]; - jsiConsolePrintf(147010, $2 + 16 | 0); + jsiConsolePrintf(147108, $2 + 16 | 0); HEAP32[HEAP32[$2 + 20 >> 2] + 16 >> 2] = 0; } } @@ -50827,15 +50849,15 @@ function expf($0) { } return __math_uflowf(0); } - $2 = HEAPF64[22181] * +$0; - $5 = HEAPF64[22180]; + $2 = HEAPF64[22195] * +$0; + $5 = HEAPF64[22194]; $6 = $2 + $5; $2 = $2 - ($6 - $5); - $2 = (HEAPF64[22182] * $2 + HEAPF64[22183]) * ($2 * $2) + (HEAPF64[22184] * $2 + 1); + $2 = (HEAPF64[22196] * $2 + HEAPF64[22197]) * ($2 * $2) + (HEAPF64[22198] * $2 + 1); wasm2js_scratch_store_f64(+$6); wasm2js_scratch_load_i32(1) | 0; $3 = wasm2js_scratch_load_i32(0) | 0; - $1 = (($3 & 31) << 3) + 177152 | 0; + $1 = (($3 & 31) << 3) + 177264 | 0; $7 = HEAP32[$1 >> 2]; $3 = HEAP32[$1 + 4 >> 2] + ($3 << 15) | 0; $1 = 0; @@ -50934,9 +50956,9 @@ function jswrap_date_toString($0) { HEAP32[$1 + 48 >> 2] = HEAP32[$1 + 100 >> 2]; HEAP8[$1 + 55 | 0] = 43; } - $0 = HEAP32[45100]; + $0 = HEAP32[45128]; $2 = HEAP32[$1 + 72 >> 2] << 2; - $3 = HEAP32[45099]; + $3 = HEAP32[45127]; $4 = HEAP32[$1 + 64 >> 2] << 2; $5 = HEAP32[$1 + 60 >> 2]; $6 = HEAP32[$1 + 68 >> 2]; @@ -51017,9 +51039,9 @@ function jswrap_process_env() { $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; HEAP32[$0 + 12 >> 2] = jsvNewObject(); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 126682, jsvNewFromString(128778)); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 126322, jsvNewFromString(128685)); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 127494, jsvNewFromString(128867)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 126682, jsvNewFromString(128709)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 126322, jsvNewFromString(129225)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 127494, jsvNewFromString(128857)); jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 126879, jsvNewFromInteger(0)); jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 127180, jsvNewFromInteger(8388608)); jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 127177, jsvNewFromInteger(8388608)); @@ -51028,7 +51050,7 @@ function jswrap_process_env() { jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 127005, jswrap_interface_getSerial()); jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 127381, jswrap_espruino_getConsole()); jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 126440, jsvNewFromString(jswGetBuiltInLibraryNames())); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 126452, jsvNewFromInteger(173184)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 126452, jsvNewFromInteger(173296)); __stack_pointer = $0 + 16 | 0; return HEAP32[$0 + 12 >> 2]; } @@ -51250,28 +51272,28 @@ function jsiAppendStringToInputLine($0) { } break; } - if (HEAP32[45089] < 0) { - HEAP32[45089] = jsvGetStringLength(HEAP32[87276]); + if (HEAP32[45117] < 0) { + HEAP32[45117] = jsvGetStringLength(HEAP32[87304]); } label$4: { - if (HEAP32[87278] >= HEAP32[45089]) { + if (HEAP32[87306] >= HEAP32[45117]) { jsiAppendToInputLine(HEAP32[$1 + 12 >> 2]); break label$4; } HEAP32[$1 + 4 >> 2] = jsvNewFromEmptyString_5(); - if (HEAP32[87278]) { - jsvAppendStringVar(HEAP32[$1 + 4 >> 2], HEAP32[87276], 0, HEAP32[87278]); + if (HEAP32[87306]) { + jsvAppendStringVar(HEAP32[$1 + 4 >> 2], HEAP32[87304], 0, HEAP32[87306]); } jsvAppendString(HEAP32[$1 + 4 >> 2], HEAP32[$1 + 12 >> 2]); - jsvAppendStringVar(HEAP32[$1 + 4 >> 2], HEAP32[87276], HEAP32[87278], 2147483647); + jsvAppendStringVar(HEAP32[$1 + 4 >> 2], HEAP32[87304], HEAP32[87306], 2147483647); jsiInputLineCursorMoved(); - jsvUnLock(HEAP32[87276]); - HEAP32[87276] = HEAP32[$1 + 4 >> 2]; + jsvUnLock(HEAP32[87304]); + HEAP32[87304] = HEAP32[$1 + 4 >> 2]; if (jsiShowInputLine() & 1) { - jsiConsolePrintStringVarUntilEOL(HEAP32[87276], HEAP32[87278], -1, 1); + jsiConsolePrintStringVarUntilEOL(HEAP32[87304], HEAP32[87306], -1, 1); } } - HEAP32[87278] = HEAP32[$1 + 8 >> 2] + HEAP32[87278]; + HEAP32[87306] = HEAP32[$1 + 8 >> 2] + HEAP32[87306]; if (jsiShowInputLine() & 1) { jsiConsolePrintString(HEAP32[$1 + 12 >> 2]); } @@ -51425,7 +51447,7 @@ function touchSwipeRotate($0) { var $1 = 0; $1 = __stack_pointer - 16 | 0; HEAP32[$1 + 12 >> 2] = $0; - if ((HEAPU8[351500] | HEAPU8[351501] << 8 | (HEAPU8[351502] << 16 | HEAPU8[351503] << 24)) & 32) { + if ((HEAPU8[351612] | HEAPU8[351613] << 8 | (HEAPU8[351614] << 16 | HEAPU8[351615] << 24)) & 32) { label$2: { if (HEAP32[$1 + 12 >> 2] == 1) { HEAP32[$1 + 12 >> 2] = 2; @@ -51436,7 +51458,7 @@ function touchSwipeRotate($0) { } } } - if ((HEAPU8[351500] | HEAPU8[351501] << 8 | (HEAPU8[351502] << 16 | HEAPU8[351503] << 24)) & 64) { + if ((HEAPU8[351612] | HEAPU8[351613] << 8 | (HEAPU8[351614] << 16 | HEAPU8[351615] << 24)) & 64) { label$6: { if (HEAP32[$1 + 12 >> 2] == 3) { HEAP32[$1 + 12 >> 2] = 4; @@ -51447,7 +51469,7 @@ function touchSwipeRotate($0) { } } } - if ((HEAPU8[351500] | HEAPU8[351501] << 8 | (HEAPU8[351502] << 16 | HEAPU8[351503] << 24)) & 16) { + if ((HEAPU8[351612] | HEAPU8[351613] << 8 | (HEAPU8[351614] << 16 | HEAPU8[351615] << 24)) & 16) { label$10: { if (HEAP32[$1 + 12 >> 2] == 1) { HEAP32[$1 + 12 >> 2] = 3; @@ -51919,8 +51941,8 @@ function jsvClearEmptyVarList() { var $0 = 0, $1 = 0; $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; - HEAP8[181010] = 1; - HEAP16[90506] = 0; + HEAP8[181122] = 1; + HEAP16[90562] = 0; HEAP16[$1 + 14 >> 1] = 1; while (1) { if (HEAPU16[$1 + 14 >> 1] <= 12e3) { @@ -51956,7 +51978,7 @@ function jsvClearEmptyVarList() { } break; } - HEAP8[181010] = 0; + HEAP8[181122] = 0; __stack_pointer = $1 + 16 | 0; } @@ -52230,7 +52252,7 @@ function jswrap_espruino_getPowerUsage() { } jsvGetProcessorPowerUsage(HEAP32[$0 + 24 >> 2]); if (jshPinGetState(8) & 16) { - jsvObjectSetChildAndUnLock(HEAP32[$0 + 24 >> 2], 129158, jsvNewFromInteger(8e3)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 24 >> 2], 129148, jsvNewFromInteger(8e3)); } jswGetPowerUsage(HEAP32[$0 + 24 >> 2]); HEAPF64[$0 + 16 >> 3] = 0; @@ -52367,30 +52389,30 @@ function jspeBlockNoBrackets() { __stack_pointer = $0; HEAP32[$0 + 12 >> 2] = jspeBlockStart(); label$1: { - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { while (1) { $1 = 0; label$5: { - $1 = HEAP16[HEAP32[45251] + 2 >> 1] ? HEAP16[HEAP32[45251] + 2 >> 1] != 125 : $1; + $1 = HEAP16[HEAP32[45279] + 2 >> 1] ? HEAP16[HEAP32[45279] + 2 >> 1] != 125 : $1; if (!$1) { break label$5; } HEAP32[$0 + 8 >> 2] = jspeStatement(); jsvCheckReferenceError(HEAP32[$0 + 8 >> 2]); jsvUnLock(HEAP32[$0 + 8 >> 2]); - if (!HEAP32[45251] | HEAP32[87266] & 128 ? 0 : HEAP32[87266] & 112) { - HEAP32[87266] = HEAP32[87266] | 128; - HEAP32[$0 + 4 >> 2] = jsvObjectGetChild(HEAP32[87259], 123099, 28); + if (!HEAP32[45279] | HEAP32[87294] & 128 ? 0 : HEAP32[87294] & 112) { + HEAP32[87294] = HEAP32[87294] | 128; + HEAP32[$0 + 4 >> 2] = jsvObjectGetChild(HEAP32[87287], 123099, 28); if (HEAP32[$0 + 4 >> 2]) { - jsvAppendPrintf(HEAP32[$0 + 4 >> 2], 146582, 0); + jsvAppendPrintf(HEAP32[$0 + 4 >> 2], 146680, 0); jspAppendStackTrace(HEAP32[$0 + 4 >> 2]); jsvUnLock(HEAP32[$0 + 4 >> 2]); } } - if (HEAP32[87266] & 80) { + if (HEAP32[87294] & 80) { break label$5; } - if ((HEAP32[87266] & 63) != 1) { + if ((HEAP32[87294] & 63) != 1) { jspeSkipBlock(); break label$5; } @@ -52412,7 +52434,7 @@ function jspNewPrototype($0, $1) { __stack_pointer = $2; HEAP32[$2 + 24 >> 2] = $0; HEAP8[$2 + 23 | 0] = $1; - HEAP32[$2 + 16 >> 2] = jsvFindOrAddChildFromString(HEAP32[87258], HEAP32[$2 + 24 >> 2]); + HEAP32[$2 + 16 >> 2] = jsvFindOrAddChildFromString(HEAP32[87286], HEAP32[$2 + 24 >> 2]); label$1: { if (!HEAP32[$2 + 16 >> 2]) { HEAP32[$2 + 28 >> 2] = 0; @@ -52454,17 +52476,17 @@ function jsvNewWithFlags($0) { __stack_pointer = $1; HEAP16[$1 + 10 >> 1] = $0; label$1: { - if (HEAPU8[181010]) { - HEAP8[349030] = HEAPU8[349030] | 32; + if (HEAPU8[181122]) { + HEAP8[349142] = HEAPU8[349142] | 32; HEAP32[$1 + 12 >> 2] = 0; break label$1; } HEAP32[$1 + 4 >> 2] = 0; jshInterruptOff(); - if (HEAPU16[90506]) { - HEAP32[$1 + 4 >> 2] = jsvGetAddressOf(HEAPU16[90506]); - HEAP16[90506] = jsvGetNextSibling(HEAP32[$1 + 4 >> 2]); - HEAP8[181009] = 1; + if (HEAPU16[90562]) { + HEAP32[$1 + 4 >> 2] = jsvGetAddressOf(HEAPU16[90562]); + HEAP16[90562] = jsvGetNextSibling(HEAP32[$1 + 4 >> 2]); + HEAP8[181121] = 1; } jshInterruptOn(); if (HEAP32[$1 + 4 >> 2]) { @@ -52472,7 +52494,7 @@ function jsvNewWithFlags($0) { HEAP32[$1 + 12 >> 2] = HEAP32[$1 + 4 >> 2]; break label$1; } - HEAP8[349030] = HEAPU8[349030] | 8; + HEAP8[349142] = HEAPU8[349142] | 8; if (jshIsInInterrupt() & 1) { HEAP32[$1 + 12 >> 2] = 0; break label$1; @@ -52485,7 +52507,7 @@ function jsvNewWithFlags($0) { HEAP32[$1 + 12 >> 2] = jsvNewWithFlags(HEAPU16[$1 + 10 >> 1]); break label$1; } - HEAP8[349030] = HEAPU8[349030] | 16; + HEAP8[349142] = HEAPU8[349142] | 16; jspSetInterrupted(1); HEAP32[$1 + 12 >> 2] = 0; } @@ -52632,7 +52654,7 @@ function tflite__GreedyMemoryPlanner__AddBuffer_28tflite__ErrorReporter__2c_20in if (HEAP32[$0 + 8 >> 2] >= HEAP32[$0 + 4 >> 2]) { $1 = HEAP32[$5 + 20 >> 2]; HEAP32[$5 >> 2] = HEAP32[$0 + 4 >> 2]; - tflite__ErrorReporter__Report_28char_20const__2c_20____29($1, 145434, $5); + tflite__ErrorReporter__Report_28char_20const__2c_20____29($1, 145532, $5); HEAP32[$5 + 28 >> 2] = 1; break label$1; } @@ -52743,7 +52765,7 @@ function jspeGetBinaryExpressionPrecedence($0) { break label$1; case 148: - HEAP32[$1 + 12 >> 2] = HEAP32[87266] & 256 ? 0 : 7; + HEAP32[$1 + 12 >> 2] = HEAP32[87294] & 256 ? 0 : 7; break label$1; case 106: @@ -53000,7 +53022,7 @@ function jspeFunctionArguments($0) { break label$1; } while (1) { - if (HEAP16[HEAP32[45251] + 2 >> 1] != 41) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 41) { if (HEAP32[$1 + 88 >> 2]) { HEAP8[$1 + 16 | 0] = 255; strcpy($1 + 17 | 0, jslGetTokenValueAsString()); @@ -53017,7 +53039,7 @@ function jspeFunctionArguments($0) { HEAP8[$1 + 95 | 0] = 0; break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] != 41) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 41) { if (!(jslMatch(44) & 1)) { HEAP8[$1 + 95 | 0] = 0; break label$1; @@ -53045,10 +53067,10 @@ function jshSetFlowControlXON($0, $1) { HEAP8[$2 + 14 | 0] = $1; if (!(HEAPU8[$2 + 15 | 0] < 21 | HEAPU8[$2 + 15 | 0] > 22)) { if (!(HEAP8[$2 + 14 | 0] & 1)) { - HEAP8[351056] = 1; + HEAP8[351168] = 1; } HEAP32[$2 + 8 >> 2] = HEAPU8[$2 + 15 | 0] - 21; - HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 8 >> 2] + 349182; + HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 8 >> 2] + 349294; if (HEAPU8[HEAP32[$2 + 4 >> 2]] & 8) { label$4: { if (HEAP8[$2 + 14 | 0] & 1) { @@ -53070,7 +53092,7 @@ function jshSetFlowControlXON($0, $1) { } } } - HEAP8[$2 + 3 | 0] = HEAPU8[HEAP32[$2 + 8 >> 2] + 349184 | 0]; + HEAP8[$2 + 3 | 0] = HEAPU8[HEAP32[$2 + 8 >> 2] + 349296 | 0]; if (HEAPU8[$2 + 3 | 0] != 255) { jshPinSetValue(HEAPU8[$2 + 3 | 0], (HEAPU8[$2 + 14 | 0] ^ -1) & 1); } @@ -53252,14 +53274,14 @@ function lcdMemLCD_init($0) { HEAP8[$0 + 14 | 0] = 176; HEAP8[$0 + 15 | 0] = 0; HEAP8[HEAP32[$1 + 28 >> 2] + 16 | 0] = 16; - memset(363536, 0, 12104); + memset(363648, 0, 12104); HEAP32[$1 + 24 >> 2] = 0; while (1) { if (HEAP32[$1 + 24 >> 2] < 176) { $0 = jswrap_espruino_reverseByte(128); - HEAP8[Math_imul(HEAP32[$1 + 24 >> 2], 68) + 363536 | 0] = $0; + HEAP8[Math_imul(HEAP32[$1 + 24 >> 2], 68) + 363648 | 0] = $0; $0 = jswrap_espruino_reverseByte(HEAP32[$1 + 24 >> 2] + 1 | 0); - HEAP8[(Math_imul(HEAP32[$1 + 24 >> 2], 68) + 1 | 0) + 363536 | 0] = $0; + HEAP8[(Math_imul(HEAP32[$1 + 24 >> 2], 68) + 1 | 0) + 363648 | 0] = $0; HEAP32[$1 + 24 >> 2] = HEAP32[$1 + 24 >> 2] + 1; continue; } @@ -53386,7 +53408,7 @@ function TfLiteTypeGetName($0) { break label$1; case 1: - HEAP32[$1 + 12 >> 2] = 128967; + HEAP32[$1 + 12 >> 2] = 128957; break label$1; case 7: @@ -53394,7 +53416,7 @@ function TfLiteTypeGetName($0) { break label$1; case 2: - HEAP32[$1 + 12 >> 2] = 128961; + HEAP32[$1 + 12 >> 2] = 128951; break label$1; case 3: @@ -53406,7 +53428,7 @@ function TfLiteTypeGetName($0) { break label$1; case 4: - HEAP32[$1 + 12 >> 2] = 128705; + HEAP32[$1 + 12 >> 2] = 128695; break label$1; case 6: @@ -53414,7 +53436,7 @@ function TfLiteTypeGetName($0) { break label$1; case 8: - HEAP32[$1 + 12 >> 2] = 128695; + HEAP32[$1 + 12 >> 2] = 128685; break label$1; case 12: @@ -53430,7 +53452,7 @@ function TfLiteTypeGetName($0) { break label$1; case 11: - HEAP32[$1 + 12 >> 2] = 128711; + HEAP32[$1 + 12 >> 2] = 128701; break label$1; default: @@ -53700,7 +53722,7 @@ function i2c_start($0) { break; } if (!(HEAP32[$1 + 8 >> 2] | !HEAP32[HEAP32[$1 + 12 >> 2] + 8 >> 2])) { - err(145002); + err(145100); } dly(HEAP32[$1 + 12 >> 2]); } @@ -53711,7 +53733,7 @@ function i2c_start($0) { if (jshPinGetValue(HEAPU8[HEAP32[$1 + 12 >> 2] + 1 | 0]) & 1) { break label$6; } - err(145018); + err(145116); } i2c_pin_wr0(HEAPU8[HEAP32[$1 + 12 >> 2] + 1 | 0]); dly(HEAP32[$1 + 12 >> 2]); @@ -53938,7 +53960,7 @@ function jsfRemoveCodeFromFlash() { HEAP32[$0 + 32 >> 2] = $1; HEAP32[$0 + 36 >> 2] = $2; jsfEraseFile($0 + 32 | 0); - jsiConsolePrintString(148644); + jsiConsolePrintString(148742); __stack_pointer = $0 + 128 | 0; } @@ -54199,11 +54221,11 @@ function jshTransmitMove($0, $1) { break label$1; } jshInterruptOff(); - HEAP8[$2 + 7 | 0] = HEAPU8[349179]; + HEAP8[$2 + 7 | 0] = HEAPU8[349291]; while (1) { - if (HEAPU8[$2 + 7 | 0] != HEAPU8[349178]) { - if (HEAPU8[$2 + 15 | 0] == (HEAPU8[(HEAPU8[$2 + 7 | 0] << 1) + 349264 | 0] & 31)) { - HEAP8[(HEAPU8[$2 + 7 | 0] << 1) + 349264 | 0] = HEAPU8[$2 + 14 | 0] | HEAPU8[(HEAPU8[$2 + 7 | 0] << 1) + 349264 | 0] & -32; + if (HEAPU8[$2 + 7 | 0] != HEAPU8[349290]) { + if (HEAPU8[$2 + 15 | 0] == (HEAPU8[(HEAPU8[$2 + 7 | 0] << 1) + 349376 | 0] & 31)) { + HEAP8[(HEAPU8[$2 + 7 | 0] << 1) + 349376 | 0] = HEAPU8[$2 + 14 | 0] | HEAPU8[(HEAPU8[$2 + 7 | 0] << 1) + 349376 | 0] & -32; } HEAP8[$2 + 7 | 0] = HEAPU8[$2 + 7 | 0] + 1; continue; @@ -54324,7 +54346,7 @@ function jswrap_storage_readJSON($0, $1) { jsvUnLock(HEAP32[$2 + 64 >> 2]); if (HEAP8[$2 + 71 | 0] & 1) { jsvUnLock(jspGetException()); - HEAP32[87266] = HEAP32[87266] & -33; + HEAP32[87294] = HEAP32[87294] & -33; } HEAP32[$2 + 76 >> 2] = HEAP32[$2 + 28 >> 2]; } @@ -54429,7 +54451,7 @@ function jswrap_graphics_setFontSizeX($0, $1, $2) { jsvObjectRemoveChild(HEAP32[$3 + 88 >> 2], 127709); jsvObjectRemoveChild(HEAP32[$3 + 88 >> 2], 126141); jsvObjectRemoveChild(HEAP32[$3 + 88 >> 2], 127138); - jsvObjectRemoveChild(HEAP32[$3 + 88 >> 2], 129096); + jsvObjectRemoveChild(HEAP32[$3 + 88 >> 2], 129086); } $0 = HEAP32[$3 + 84 >> 2]; HEAP8[$3 + 33 | 0] = $0; @@ -54679,7 +54701,7 @@ function tflite__GreedyMemoryPlanner__GreedyMemoryPlanner_28unsigned_20char__2c_ HEAP32[$3 + 4 >> 2] = $2; $0 = HEAP32[$3 + 12 >> 2]; tflite__MemoryPlanner__MemoryPlanner_28_29($0); - HEAP32[$0 >> 2] = 174688; + HEAP32[$0 >> 2] = 174800; HEAP32[$0 + 8 >> 2] = 0; HEAP8[$0 + 40 | 0] = 1; HEAP32[$0 + 4 >> 2] = HEAPU32[$3 + 4 >> 2] / (tflite__GreedyMemoryPlanner__per_buffer_size_28_29() >>> 0); @@ -54956,16 +54978,16 @@ function jshPushIOWatchEvent($0) { HEAP8[$1 + 30 | 0] = jshGetWatchedPinState(HEAPU8[$1 + 31 | 0]) & 1; HEAP32[$1 + 24 >> 2] = HEAPU8[$1 + 31 | 0] - 1; label$1: { - if (HEAP32[(HEAP32[$1 + 24 >> 2] << 2) + 349200 >> 2]) { + if (HEAP32[(HEAP32[$1 + 24 >> 2] << 2) + 349312 >> 2]) { label$3: { - if ((HEAP32[(HEAP32[$1 + 24 >> 2] << 2) + 349200 >> 2] & -256) == -256) { - HEAP8[$1 + 23 | 0] = HEAP32[(HEAP32[$1 + 24 >> 2] << 2) + 349200 >> 2]; + if ((HEAP32[(HEAP32[$1 + 24 >> 2] << 2) + 349312 >> 2] & -256) == -256) { + HEAP8[$1 + 23 | 0] = HEAP32[(HEAP32[$1 + 24 >> 2] << 2) + 349312 >> 2]; if (jshPinGetValue(HEAPU8[$1 + 23 | 0]) & 1) { HEAP8[$1 + 31 | 0] = HEAPU8[$1 + 31 | 0] | 64; } break label$3; } - FUNCTION_TABLE[HEAP32[(HEAP32[$1 + 24 >> 2] << 2) + 349200 >> 2]](HEAP8[$1 + 30 | 0] & 1, HEAPU8[$1 + 31 | 0]); + FUNCTION_TABLE[HEAP32[(HEAP32[$1 + 24 >> 2] << 2) + 349312 >> 2]](HEAP8[$1 + 30 | 0] & 1, HEAPU8[$1 + 31 | 0]); break label$1; } } @@ -55204,8 +55226,8 @@ function jswrap_banglejs_setLCDPower($0) { HEAP8[$1 + 15 | 0] = $0; jswrap_banglejs_setLCDPowerController(HEAP8[$1 + 15 | 0] & 1); jswrap_banglejs_setLCDPowerBacklight(HEAP8[$1 + 15 | 0] & 1); - if ((HEAP8[$1 + 15 | 0] & 1) != ((HEAP32[93921] & 65536) != 0 | 0)) { - HEAP32[$1 + 8 >> 2] = jsvObjectGetChildIfExists(HEAP32[87258], 122680); + if ((HEAP8[$1 + 15 | 0] & 1) != ((HEAP32[93949] & 65536) != 0 | 0)) { + HEAP32[$1 + 8 >> 2] = jsvObjectGetChildIfExists(HEAP32[87286], 122680); if (HEAP32[$1 + 8 >> 2]) { HEAP32[$1 + 4 >> 2] = jsvNewFromBool(HEAP8[$1 + 15 | 0] & 1); jsiQueueObjectCallbacks(HEAP32[$1 + 8 >> 2], 118690, $1 + 4 | 0, 1); @@ -55215,14 +55237,14 @@ function jswrap_banglejs_setLCDPower($0) { } label$3: { if (HEAP8[$1 + 15 | 0] & 1) { - if (!(HEAP32[93923] <= 0 & HEAP32[93925] <= 0)) { - HEAP16[187854] = 0; + if (!(HEAP32[93951] <= 0 & HEAP32[93953] <= 0)) { + HEAP16[187910] = 0; } - HEAP32[93921] = HEAP32[93921] | 65536; + HEAP32[93949] = HEAP32[93949] | 65536; break label$3; } - HEAP32[93921] = HEAP32[93921] & -65537; - if (!(HEAP32[93926] <= 0 | HEAP32[93926] > HEAP32[93923])) { + HEAP32[93949] = HEAP32[93949] & -65537; + if (!(HEAP32[93954] <= 0 | HEAP32[93954] > HEAP32[93951])) { _jswrap_banglejs_setLocked(1, 124325); } } @@ -55240,7 +55262,7 @@ function jsiIsWatchingPin($0) { break label$1; } HEAP8[$1 + 29 | 0] = 0; - HEAP32[$1 + 24 >> 2] = jsvLock(HEAPU16[174549]); + HEAP32[$1 + 24 >> 2] = jsvLock(HEAPU16[174605]); jsvObjectIteratorNew($1 + 16 | 0, HEAP32[$1 + 24 >> 2]); while (1) { if (jsvObjectIteratorHasValue_3($1 + 16 | 0) & 1) { @@ -55267,13 +55289,13 @@ function jsiExecuteEvents() { var $0 = 0; $0 = __stack_pointer - 32 | 0; __stack_pointer = $0; - HEAP8[$0 + 31 | 0] = (jsvArrayIsEmpty(HEAP32[87273]) ^ -1) & 1; + HEAP8[$0 + 31 | 0] = (jsvArrayIsEmpty(HEAP32[87301]) ^ -1) & 1; if (HEAP8[$0 + 31 | 0] & 1) { jsiSetBusy(1, 1); } while (1) { - if ((jsvArrayIsEmpty(HEAP32[87273]) ^ -1) & 1) { - HEAP32[$0 + 24 >> 2] = jsvSkipNameAndUnLock(jsvArrayPopFirst(HEAP32[87273])); + if ((jsvArrayIsEmpty(HEAP32[87301]) ^ -1) & 1) { + HEAP32[$0 + 24 >> 2] = jsvSkipNameAndUnLock(jsvArrayPopFirst(HEAP32[87301])); HEAP32[$0 + 20 >> 2] = jsvObjectGetChildIfExists(HEAP32[$0 + 24 >> 2], 125341); HEAP32[$0 + 16 >> 2] = jsvObjectGetChildIfExists(HEAP32[$0 + 24 >> 2], 117860); HEAP32[$0 + 12 >> 2] = jsvObjectGetChildIfExists(HEAP32[$0 + 24 >> 2], 117870); @@ -55288,7 +55310,7 @@ function jsiExecuteEvents() { if (HEAP8[$0 + 31 | 0] & 1) { jsiSetBusy(1, 0); if (jspIsInterrupted() & 1) { - HEAP16[174550] = HEAPU16[174550] | 32768; + HEAP16[174606] = HEAPU16[174606] | 32768; } } __stack_pointer = $0 + 32 | 0; @@ -55388,19 +55410,19 @@ function jslSkipWhiteSpace() { while (1) { label$2: { while (1) { - if (isWhitespaceInline(HEAP8[HEAP32[45251]]) & 1) { + if (isWhitespaceInline(HEAP8[HEAP32[45279]]) & 1) { jslGetNextCh(); continue; } break; } - if (HEAP8[HEAP32[45251]] != 47) { + if (HEAP8[HEAP32[45279]] != 47) { break label$2; } if ((jslNextCh() & 255) == 47) { while (1) { $0 = 0; - $0 = HEAP8[HEAP32[45251]] ? HEAP8[HEAP32[45251]] != 10 : $0; + $0 = HEAP8[HEAP32[45279]] ? HEAP8[HEAP32[45279]] != 10 : $0; if ($0) { jslGetNextCh(); continue; @@ -55415,9 +55437,9 @@ function jslSkipWhiteSpace() { jslGetNextCh(); while (1) { $0 = 0; - if (HEAP8[HEAP32[45251]]) { + if (HEAP8[HEAP32[45279]]) { $0 = 0; - if (HEAP8[HEAP32[45251]] == 42) { + if (HEAP8[HEAP32[45279]] == 42) { $0 = (jslNextCh() & 255) == 47; } $0 = $0 ^ -1; @@ -55428,8 +55450,8 @@ function jslSkipWhiteSpace() { } break; } - if (!HEAPU8[HEAP32[45251]]) { - HEAP16[HEAP32[45251] + 2 >> 1] = 137; + if (!HEAPU8[HEAP32[45279]]) { + HEAP16[HEAP32[45279] + 2 >> 1] = 137; break label$2; } jslGetNextCh(); @@ -55548,13 +55570,13 @@ function jswrap_graphics_theme($0) { __stack_pointer = $1; HEAP32[$1 + 12 >> 2] = $0; HEAP32[$1 + 8 >> 2] = jsvNewObject(); - jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 121536, jsvNewFromInteger(HEAPU8[351476] | HEAPU8[351477] << 8)); - jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 121540, jsvNewFromInteger(HEAPU8[351478] | HEAPU8[351479] << 8)); - jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 128797, jsvNewFromInteger(HEAPU8[351480] | HEAPU8[351481] << 8)); - jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 128801, jsvNewFromInteger(HEAPU8[351482] | HEAPU8[351483] << 8)); - jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 127143, jsvNewFromInteger(HEAPU8[351484] | HEAPU8[351485] << 8)); - jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 127147, jsvNewFromInteger(HEAPU8[351486] | HEAPU8[351487] << 8)); - jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 120610, jsvNewFromBool(HEAP8[351488] & 1)); + jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 121536, jsvNewFromInteger(HEAPU8[351588] | HEAPU8[351589] << 8)); + jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 121540, jsvNewFromInteger(HEAPU8[351590] | HEAPU8[351591] << 8)); + jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 128787, jsvNewFromInteger(HEAPU8[351592] | HEAPU8[351593] << 8)); + jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 128791, jsvNewFromInteger(HEAPU8[351594] | HEAPU8[351595] << 8)); + jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 127143, jsvNewFromInteger(HEAPU8[351596] | HEAPU8[351597] << 8)); + jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 127147, jsvNewFromInteger(HEAPU8[351598] | HEAPU8[351599] << 8)); + jsvObjectSetChildAndUnLock(HEAP32[$1 + 8 >> 2], 120610, jsvNewFromBool(HEAP8[351600] & 1)); __stack_pointer = $1 + 16 | 0; return HEAP32[$1 + 8 >> 2]; } @@ -55685,12 +55707,12 @@ function nativeCallGetCType() { $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; label$1: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 192) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 192) { jslMatch(192); HEAP32[$0 + 12 >> 2] = 0; break label$1; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 128) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 128) { HEAP32[$0 + 8 >> 2] = -1; HEAP32[$0 + 4 >> 2] = jslGetTokenValueAsString(); if (!strcmp(HEAP32[$0 + 4 >> 2], 115256)) { @@ -56056,7 +56078,7 @@ function jswrap_waveform_kill() { var $0 = 0; $0 = __stack_pointer - 32 | 0; __stack_pointer = $0; - HEAP32[$0 + 28 >> 2] = jsvObjectGetChildIfExists(HEAP32[87259], 121902); + HEAP32[$0 + 28 >> 2] = jsvObjectGetChildIfExists(HEAP32[87287], 121902); if (HEAP32[$0 + 28 >> 2]) { jsvObjectIteratorNew($0 + 24 | 0, HEAP32[$0 + 28 >> 2]); while (1) { @@ -56206,7 +56228,7 @@ function jswrap_modules_addCached($0, $1) { break label$2; } } - jsExceptionHere(1, 145240, 0); + jsExceptionHere(1, 145338, 0); break label$1; } HEAP32[$2 + 20 >> 2] = jswrap_modules_getModuleList(); @@ -56232,8 +56254,8 @@ function jsvCreateEmptyVarList() { var $0 = 0, $1 = 0; $0 = __stack_pointer - 32 | 0; __stack_pointer = $0; - HEAP8[181010] = 1; - HEAP16[90506] = 0; + HEAP8[181122] = 1; + HEAP16[90562] = 0; jsvSetNextSibling($0 + 16 | 0, 0); HEAP32[$0 + 12 >> 2] = $0 + 16; HEAP16[$0 + 10 >> 1] = 1; @@ -56257,8 +56279,8 @@ function jsvCreateEmptyVarList() { break; } jsvSetNextSibling(HEAP32[$0 + 12 >> 2], 0); - HEAP16[90506] = jsvGetNextSibling($0 + 16 | 0); - HEAP8[181010] = 0; + HEAP16[90562] = jsvGetNextSibling($0 + 16 | 0); + HEAP8[181122] = 0; __stack_pointer = $0 + 32 | 0; } @@ -56283,7 +56305,7 @@ function i2c_stop($0) { break; } if (!(HEAP32[$1 + 8 >> 2] | !HEAP32[HEAP32[$1 + 12 >> 2] + 8 >> 2])) { - err(145206); + err(145304); } dly(HEAP32[$1 + 12 >> 2]); i2c_pin_wr1(HEAPU8[HEAP32[$1 + 12 >> 2] + 1 | 0]); @@ -56295,7 +56317,7 @@ function i2c_stop($0) { if (jshPinGetValue(HEAPU8[HEAP32[$1 + 12 >> 2] + 1 | 0]) & 1) { break label$5; } - err(145221); + err(145319); } dly(HEAP32[$1 + 12 >> 2]); HEAP8[HEAP32[$1 + 12 >> 2] + 2 | 0] = 0; @@ -56312,7 +56334,7 @@ function tflite__MicroInterpreter__Init_28tflite__Profiler__29($0, $1) { HEAP32[$2 + 4 >> 2] = tflite__Model__subgraphs_28_29_20const(HEAP32[$0 + 4 >> 2]); label$1: { if ((flatbuffers__Vector_flatbuffers__Offset_tflite__SubGraph____size_28_29_20const(HEAP32[$2 + 4 >> 2]) | 0) != 1) { - tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$0 + 12 >> 2], 148212, 0); + tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$0 + 12 >> 2], 148310, 0); HEAP32[$0 + 112 >> 2] = 1; break label$1; } @@ -56540,12 +56562,12 @@ function jspeFunctionDefinition($0) { __stack_pointer = $1; HEAP8[$1 + 27 | 0] = $0; HEAP32[$1 + 20 >> 2] = 0; - HEAP8[$1 + 19 | 0] = (HEAP32[87266] & 63) == 1; + HEAP8[$1 + 19 | 0] = (HEAP32[87294] & 63) == 1; if (HEAP8[$1 + 19 | 0] & 1) { HEAP32[$1 + 20 >> 2] = jsvNewWithFlags(7); } HEAP32[$1 + 12 >> 2] = 0; - if (!(!(HEAP8[$1 + 27 | 0] & 1) | HEAP16[HEAP32[45251] + 2 >> 1] != 128)) { + if (!(!(HEAP8[$1 + 27 | 0] & 1) | HEAP16[HEAP32[45279] + 2 >> 1] != 128)) { if (HEAP32[$1 + 20 >> 2]) { HEAP32[$1 + 12 >> 2] = jslGetTokenValueAsVar(); } @@ -56780,7 +56802,7 @@ function i2c_wr_bit($0, $1) { break; } if (!(HEAP32[$2 + 4 >> 2] | !HEAP32[HEAP32[$2 + 12 >> 2] + 8 >> 2])) { - err(145193); + err(145291); } i2c_pin_wr0(HEAPU8[HEAP32[$2 + 12 >> 2]]); i2c_pin_wr1(HEAPU8[HEAP32[$2 + 12 >> 2] + 1 | 0]); @@ -56868,16 +56890,16 @@ function jshPinWatch($0, $1, $2) { HEAP32[$3 + 4 >> 2] = 0; while (1) { if (HEAP32[$3 + 4 >> 2] < 16) { - if (HEAPU8[HEAP32[$3 + 4 >> 2] + 375664 | 0] == 255) { - HEAP8[HEAP32[$3 + 4 >> 2] + 375664 | 0] = HEAPU8[$3 + 14 | 0]; + if (HEAPU8[HEAP32[$3 + 4 >> 2] + 375776 | 0] == 255) { + HEAP8[HEAP32[$3 + 4 >> 2] + 375776 | 0] = HEAPU8[$3 + 14 | 0]; HEAP8[$3 + 15 | 0] = HEAP32[$3 + 4 >> 2] + 1; break label$1; } else { HEAP32[$3 >> 2] = 0; while (1) { if (HEAP32[$3 >> 2] < 16) { - if (HEAPU8[HEAP32[$3 >> 2] + 375664 | 0] == HEAPU8[$3 + 14 | 0]) { - HEAP8[HEAP32[$3 >> 2] + 375664 | 0] = 255; + if (HEAPU8[HEAP32[$3 >> 2] + 375776 | 0] == HEAPU8[$3 + 14 | 0]) { + HEAP8[HEAP32[$3 >> 2] + 375776 | 0] = 255; } HEAP32[$3 >> 2] = HEAP32[$3 >> 2] + 1; continue; @@ -57110,11 +57132,11 @@ function __jspePostfixExpression($0) { HEAP32[$1 + 28 >> 2] = $0; while (1) { $0 = 1; - $0 = HEAP16[HEAP32[45251] + 2 >> 1] != 152 ? HEAP16[HEAP32[45251] + 2 >> 1] == 153 : $0; + $0 = HEAP16[HEAP32[45279] + 2 >> 1] != 152 ? HEAP16[HEAP32[45279] + 2 >> 1] == 153 : $0; if ($0) { - HEAP32[$1 + 24 >> 2] = HEAP16[HEAP32[45251] + 2 >> 1]; + HEAP32[$1 + 24 >> 2] = HEAP16[HEAP32[45279] + 2 >> 1]; jslGetNextToken(); - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { HEAP32[$1 + 20 >> 2] = jsvNewFromInteger(1); HEAP32[$1 + 16 >> 2] = jsvAsNumberAndUnLock(jsvSkipName(HEAP32[$1 + 28 >> 2])); HEAP32[$1 + 12 >> 2] = jsvMathsOpSkipNames(HEAP32[$1 + 16 >> 2], HEAP32[$1 + 20 >> 2], HEAP32[$1 + 24 >> 2] == 152 ? 43 : 45); @@ -57138,8 +57160,8 @@ function jspeiFindInScopes($0) { __stack_pointer = $1; HEAP32[$1 + 24 >> 2] = $0; label$1: { - if (HEAP32[87260]) { - HEAP32[$1 + 20 >> 2] = jsvLockSafe(jsvGetLastChild(HEAP32[87260]) & 65535); + if (HEAP32[87288]) { + HEAP32[$1 + 20 >> 2] = jsvLockSafe(jsvGetLastChild(HEAP32[87288]) & 65535); while (1) { if (HEAP32[$1 + 20 >> 2]) { HEAP32[$1 + 16 >> 2] = jsvSkipName(HEAP32[$1 + 20 >> 2]); @@ -57157,7 +57179,7 @@ function jspeiFindInScopes($0) { break; } } - HEAP32[$1 + 28 >> 2] = jsvFindChildFromString(HEAP32[87258], HEAP32[$1 + 24 >> 2]); + HEAP32[$1 + 28 >> 2] = jsvFindChildFromString(HEAP32[87286], HEAP32[$1 + 24 >> 2]); } __stack_pointer = $1 + 32 | 0; return HEAP32[$1 + 28 >> 2]; @@ -57389,11 +57411,11 @@ function lcdMemLCD_setPixel($0, $1, $2, $3) { HEAP32[$4 + 12 >> 2] = (Math_imul(HEAP32[$4 + 24 >> 2], 3) + 16 | 0) + (Math_imul(HEAP32[$4 + 20 >> 2], 68) << 3); HEAP32[$4 + 8 >> 2] = HEAP32[$4 + 12 >> 2] & 7; $0 = HEAP32[$4 + 12 >> 2] >> 3; - HEAP16[$4 + 6 >> 1] = HEAPU8[$0 + 363536 | 0] | HEAPU8[$0 + 363537 | 0] << 8; + HEAP16[$4 + 6 >> 1] = HEAPU8[$0 + 363648 | 0] | HEAPU8[$0 + 363649 | 0] << 8; $0 = HEAP32[$4 + 12 >> 2] >> 3; $1 = HEAPU16[$4 + 6 >> 1] & (7 << HEAP32[$4 + 8 >> 2] ^ -1) | HEAP32[$4 + 16 >> 2] << HEAP32[$4 + 8 >> 2]; - HEAP8[$0 + 363536 | 0] = $1; - HEAP8[$0 + 363537 | 0] = $1 >>> 8; + HEAP8[$0 + 363648 | 0] = $1; + HEAP8[$0 + 363649 | 0] = $1 >>> 8; __stack_pointer = $4 + 32 | 0; } @@ -57403,8 +57425,8 @@ function _jswrap_banglejs_setLocked($0, $1) { __stack_pointer = $2; HEAP8[$2 + 31 | 0] = $0; HEAP32[$2 + 24 >> 2] = $1; - if ((HEAP32[93921] & 262144) != (HEAP8[$2 + 31 | 0] & 1)) { - HEAP32[$2 + 20 >> 2] = jsvObjectGetChildIfExists(HEAP32[87258], 122680); + if ((HEAP32[93949] & 262144) != (HEAP8[$2 + 31 | 0] & 1)) { + HEAP32[$2 + 20 >> 2] = jsvObjectGetChildIfExists(HEAP32[87286], 122680); if (HEAP32[$2 + 20 >> 2]) { HEAP32[$2 + 12 >> 2] = jsvNewFromBool(HEAP8[$2 + 31 | 0] & 1); $1 = $2 + 12 | 0; @@ -57423,11 +57445,11 @@ function _jswrap_banglejs_setLocked($0, $1) { } label$5: { if (HEAP8[$2 + 31 | 0] & 1) { - HEAP32[93921] = HEAP32[93921] | 262144; + HEAP32[93949] = HEAP32[93949] | 262144; break label$5; } - HEAP16[187854] = 0; - HEAP32[93921] = HEAP32[93921] & -262145; + HEAP16[187910] = 0; + HEAP32[93949] = HEAP32[93949] & -262145; } __stack_pointer = $2 + 32 | 0; } @@ -57446,17 +57468,17 @@ function jsiExecuteEventCallback($0, $1, $2, $3) { HEAP8[$4 + 31 | 0] = 0; break label$1; } - HEAP16[174550] = HEAPU16[174550] | 8192; + HEAP16[174606] = HEAPU16[174606] | 8192; HEAP8[$4 + 7 | 0] = jsiExecuteEventCallbackInner(HEAP32[$4 + 24 >> 2], HEAP32[$4 + 8 >> 2], HEAP32[$4 + 16 >> 2], HEAP32[$4 + 12 >> 2]) & 1; jsvUnLock(HEAP32[$4 + 8 >> 2]); - HEAP16[174550] = HEAPU16[174550] & -24577; + HEAP16[174606] = HEAPU16[174606] & -24577; label$3: { if (HEAP8[$4 + 7 | 0] & 1) { if (!(jspIsInterrupted() & 1)) { break label$3; } } - HEAP16[174550] = HEAPU16[174550] | 32768; + HEAP16[174606] = HEAPU16[174606] | 32768; HEAP8[$4 + 31 | 0] = 0; break label$1; } @@ -57580,7 +57602,7 @@ function jswrap_espruino_lookupNoCase($0, $1, $2) { } if ((jsvGetString(HEAP32[$3 + 84 >> 2], $3 + 16 | 0, 64) | 0) == 64) { HEAP32[$3 >> 2] = 64; - jsExceptionHere(1, 145063, $3); + jsExceptionHere(1, 145161, $3); } if (HEAP8[$3 + 83 | 0] & 1) { HEAP32[$3 + 12 >> 2] = jsvFindChildFromStringI(HEAP32[$3 + 88 >> 2], $3 + 16 | 0); @@ -57725,8 +57747,8 @@ function jsiHandleMoveUpDown($0) { $1 = __stack_pointer - 32 | 0; __stack_pointer = $1; HEAP32[$1 + 28 >> 2] = $0; - HEAP32[$1 + 16 >> 2] = jsvGetLinesInString(HEAP32[87276]); - jsvGetLineAndCol(HEAP32[87276], HEAP32[87278], $1 + 20 | 0, $1 + 24 | 0); + HEAP32[$1 + 16 >> 2] = jsvGetLinesInString(HEAP32[87304]); + jsvGetLineAndCol(HEAP32[87304], HEAP32[87306], $1 + 20 | 0, $1 + 24 | 0); HEAP32[$1 + 12 >> 2] = HEAP32[$1 + 24 >> 2]; HEAP32[$1 + 8 >> 2] = HEAP32[$1 + 20 >> 2]; HEAP32[$1 + 8 >> 2] = HEAP32[$1 + 8 >> 2] + HEAP32[$1 + 28 >> 2]; @@ -57736,8 +57758,8 @@ function jsiHandleMoveUpDown($0) { if (HEAPU32[$1 + 8 >> 2] > HEAPU32[$1 + 16 >> 2]) { HEAP32[$1 + 8 >> 2] = HEAP32[$1 + 16 >> 2]; } - HEAP32[87278] = jsvGetIndexFromLineAndCol(HEAP32[87276], HEAP32[$1 + 8 >> 2], HEAP32[$1 + 12 >> 2]); - jsvGetLineAndCol(HEAP32[87276], HEAP32[87278], $1 + 8 | 0, $1 + 12 | 0); + HEAP32[87306] = jsvGetIndexFromLineAndCol(HEAP32[87304], HEAP32[$1 + 8 >> 2], HEAP32[$1 + 12 >> 2]); + jsvGetLineAndCol(HEAP32[87304], HEAP32[87306], $1 + 8 | 0, $1 + 12 | 0); if (jsiShowInputLine() & 1) { jsiMoveCursor(HEAP32[$1 + 24 >> 2], HEAP32[$1 + 20 >> 2], HEAP32[$1 + 12 >> 2], HEAP32[$1 + 8 >> 2]); } @@ -57776,10 +57798,10 @@ function jswrap_espruino_enableWatchdog($0, $1) { break label$4; } } - HEAP16[174550] = HEAPU16[174550] | 512; + HEAP16[174606] = HEAPU16[174606] | 512; break label$3; } - HEAP16[174550] = HEAPU16[174550] & -513; + HEAP16[174606] = HEAPU16[174606] & -513; } jshEnableWatchDog(HEAPF64[$2 + 24 >> 3]); __stack_pointer = $2 + 32 | 0; @@ -58103,7 +58125,7 @@ function jshGetDeviceFor($0, $1, $2) { HEAP32[$3 + 4 >> 2] = 0; while (1) { if (HEAP32[$3 + 4 >> 2] < 0) { - $0 = (Math_imul(HEAPU8[$3 + 9 | 0], 3) + 165443 | 0) + (HEAP32[$3 + 4 >> 2] << 1) | 0; + $0 = (Math_imul(HEAPU8[$3 + 9 | 0], 3) + 165555 | 0) + (HEAP32[$3 + 4 >> 2] << 1) | 0; HEAP16[$3 + 2 >> 1] = HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8; if (!(HEAPU16[$3 + 10 >> 1] < (HEAPU16[$3 + 2 >> 1] & 4080) | HEAPU16[$3 + 12 >> 1] > (HEAPU16[$3 + 2 >> 1] & 4080))) { HEAP16[$3 + 14 >> 1] = HEAPU16[$3 + 2 >> 1]; @@ -58311,15 +58333,15 @@ function jswrap_banglejs_getHealthStatus($0) { break label$2; } } - HEAP32[$1 + 12 >> 2] = _jswrap_banglejs_getHealthStatusObject(375776); + HEAP32[$1 + 12 >> 2] = _jswrap_banglejs_getHealthStatusObject(375888); break label$1; } if (jsvIsStringEqual(HEAP32[$1 + 8 >> 2], 115083) & 1) { - HEAP32[$1 + 12 >> 2] = _jswrap_banglejs_getHealthStatusObject(375792); + HEAP32[$1 + 12 >> 2] = _jswrap_banglejs_getHealthStatusObject(375904); break label$1; } if (jsvIsStringEqual(HEAP32[$1 + 8 >> 2], 114213) & 1) { - HEAP32[$1 + 12 >> 2] = _jswrap_banglejs_getHealthStatusObject(375808); + HEAP32[$1 + 12 >> 2] = _jswrap_banglejs_getHealthStatusObject(375920); break label$1; } HEAP32[$1 >> 2] = HEAP32[$1 + 8 >> 2]; @@ -58380,8 +58402,8 @@ function jswrap_banglejs_setLCDPowerBacklight($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP8[$1 + 15 | 0] = $0; - if ((HEAP8[$1 + 15 | 0] & 1) != ((HEAP32[93921] & 131072) != 0 | 0)) { - HEAP32[$1 + 8 >> 2] = jsvObjectGetChildIfExists(HEAP32[87258], 122680); + if ((HEAP8[$1 + 15 | 0] & 1) != ((HEAP32[93949] & 131072) != 0 | 0)) { + HEAP32[$1 + 8 >> 2] = jsvObjectGetChildIfExists(HEAP32[87286], 122680); if (HEAP32[$1 + 8 >> 2]) { HEAP32[$1 + 4 >> 2] = jsvNewFromBool(HEAP8[$1 + 15 | 0] & 1); jsiQueueObjectCallbacks(HEAP32[$1 + 8 >> 2], 115458, $1 + 4 | 0, 1); @@ -58391,16 +58413,16 @@ function jswrap_banglejs_setLCDPowerBacklight($0) { } label$3: { if (HEAP8[$1 + 15 | 0] & 1) { - if (HEAP32[93925] > 0) { - HEAP16[187854] = 0; + if (HEAP32[93953] > 0) { + HEAP16[187910] = 0; } - HEAP32[93921] = HEAP32[93921] | 131072; + HEAP32[93949] = HEAP32[93949] | 131072; break label$3; } - if (!(HEAP32[93926] <= 0 | HEAP32[93926] > HEAP32[93925])) { + if (!(HEAP32[93954] <= 0 | HEAP32[93954] > HEAP32[93953])) { _jswrap_banglejs_setLocked(1, 115475); } - HEAP32[93921] = HEAP32[93921] & -131073; + HEAP32[93949] = HEAP32[93949] & -131073; } __stack_pointer = $1 + 16 | 0; } @@ -58561,18 +58583,18 @@ function jsiDumpDeviceInitialisation($0, $1, $2) { HEAP32[$3 + 28 >> 2] = $0; HEAP32[$3 + 24 >> 2] = $1; HEAP32[$3 + 20 >> 2] = $2; - HEAP32[$3 + 16 >> 2] = jsvObjectGetChildIfExists(HEAP32[87258], HEAP32[$3 + 20 >> 2]); + HEAP32[$3 + 16 >> 2] = jsvObjectGetChildIfExists(HEAP32[87286], HEAP32[$3 + 20 >> 2]); if (HEAP32[$3 + 16 >> 2]) { HEAP32[$3 + 12 >> 2] = jsvObjectGetChildIfExists(HEAP32[$3 + 16 >> 2], 117783); if (HEAP32[$3 + 12 >> 2]) { $0 = HEAP32[$3 + 28 >> 2]; $1 = HEAP32[$3 + 24 >> 2]; HEAP32[$3 >> 2] = HEAP32[$3 + 20 >> 2]; - cbprintf($0, $1, 145708, $3); + cbprintf($0, $1, 145806, $3); if (jsvIsObject(HEAP32[$3 + 12 >> 2]) & 1) { jsfGetJSONWithCallback(HEAP32[$3 + 12 >> 2], 0, 32, 0, HEAP32[$3 + 28 >> 2], HEAP32[$3 + 24 >> 2]); } - FUNCTION_TABLE[HEAP32[$3 + 28 >> 2]](147840, HEAP32[$3 + 24 >> 2]); + FUNCTION_TABLE[HEAP32[$3 + 28 >> 2]](147938, HEAP32[$3 + 24 >> 2]); } jsvUnLock2(HEAP32[$3 + 12 >> 2], HEAP32[$3 + 16 >> 2]); } @@ -58620,19 +58642,19 @@ function jspGetNamedVariable($0) { __stack_pointer = $1; HEAP32[$1 + 12 >> 2] = $0; label$1: { - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { $0 = jspeiFindInScopes(HEAP32[$1 + 12 >> 2]); break label$1; } $0 = 0; } HEAP32[$1 + 8 >> 2] = $0; - if (!(HEAP32[$1 + 8 >> 2] | (HEAP32[87266] & 63) != 1)) { + if (!(HEAP32[$1 + 8 >> 2] | (HEAP32[87294] & 63) != 1)) { HEAP32[$1 + 8 >> 2] = jswFindBuiltInFunction(0, HEAP32[$1 + 12 >> 2]); label$4: { if (HEAP32[$1 + 8 >> 2]) { if (jswIsBuiltInObject(HEAP32[$1 + 12 >> 2]) & 1) { - HEAP32[$1 + 4 >> 2] = jsvAddNamedChild(HEAP32[87258], HEAP32[$1 + 8 >> 2], HEAP32[$1 + 12 >> 2]); + HEAP32[$1 + 4 >> 2] = jsvAddNamedChild(HEAP32[87286], HEAP32[$1 + 8 >> 2], HEAP32[$1 + 12 >> 2]); jsvUnLock(HEAP32[$1 + 8 >> 2]); HEAP32[$1 + 8 >> 2] = HEAP32[$1 + 4 >> 2]; } @@ -58905,8 +58927,8 @@ function jsfEraseFileInternal($0, $1, $2) { jshFlashWrite(HEAP32[$3 + 40 >> 2] + 4 | 0, HEAP32[$3 + 44 >> 2], 4); if (!(!(HEAP8[$3 + 39 | 0] & 1) | HEAPU32[$3 + 44 >> 2] < 134217728 | HEAPU32[$3 + 44 >> 2] >= 142606336)) { HEAP32[$3 + 32 >> 2] = 0; - if (HEAP32[87267]) { - HEAP32[$3 + 32 >> 2] = HEAP32[87267] + HEAP32[87268]; + if (HEAP32[87295]) { + HEAP32[$3 + 32 >> 2] = HEAP32[87295] + HEAP32[87296]; } jsfGetStorageStats($3, HEAP32[$3 + 32 >> 2], 1); if (HEAP32[$3 + 12 >> 2] + HEAP32[$3 + 4 >> 2] >>> 0 > 200) { @@ -58939,7 +58961,7 @@ function i2c_rd_bit($0) { break; } if (!(HEAP32[$1 + 8 >> 2] | !HEAP32[HEAP32[$1 + 12 >> 2] + 8 >> 2])) { - err(145385); + err(145483); } dly(HEAP32[$1 + 12 >> 2]); HEAP8[$1 + 7 | 0] = jshPinGetValue(HEAPU8[HEAP32[$1 + 12 >> 2] + 1 | 0]) & 1; @@ -59014,13 +59036,13 @@ function jshPushIOCharEventAppend($0, $1) { $2 = __stack_pointer - 16 | 0; HEAP8[$2 + 14 | 0] = $0; HEAP8[$2 + 13 | 0] = $1; - HEAP8[$2 + 12 | 0] = HEAPU8[349180] + 255; + HEAP8[$2 + 12 | 0] = HEAPU8[349292] + 255; label$1: { - if (!(HEAPU8[349180] == HEAPU8[349181] | HEAPU8[$2 + 12 | 0] == HEAPU8[349181]) & HEAPU8[$2 + 14 | 0] == (HEAPU8[Math_imul(HEAPU8[$2 + 12 | 0], 5) + 349776 | 0] & 31)) { - HEAP8[$2 + 11 | 0] = ((HEAPU8[Math_imul(HEAPU8[$2 + 12 | 0], 5) + 349776 | 0] & 96) >>> 5 | 0) + 1; + if (!(HEAPU8[349292] == HEAPU8[349293] | HEAPU8[$2 + 12 | 0] == HEAPU8[349293]) & HEAPU8[$2 + 14 | 0] == (HEAPU8[Math_imul(HEAPU8[$2 + 12 | 0], 5) + 349888 | 0] & 31)) { + HEAP8[$2 + 11 | 0] = ((HEAPU8[Math_imul(HEAPU8[$2 + 12 | 0], 5) + 349888 | 0] & 96) >>> 5 | 0) + 1; if (HEAPU8[$2 + 11 | 0] < 4) { - HEAP8[HEAPU8[$2 + 11 | 0] + (Math_imul(HEAPU8[$2 + 12 | 0], 5) + 349777 | 0) | 0] = HEAPU8[$2 + 13 | 0]; - HEAP8[Math_imul(HEAPU8[$2 + 12 | 0], 5) + 349776 | 0] = HEAPU8[Math_imul(HEAPU8[$2 + 12 | 0], 5) + 349776 | 0] & 159 | HEAPU8[$2 + 11 | 0] << 5; + HEAP8[HEAPU8[$2 + 11 | 0] + (Math_imul(HEAPU8[$2 + 12 | 0], 5) + 349889 | 0) | 0] = HEAPU8[$2 + 13 | 0]; + HEAP8[Math_imul(HEAPU8[$2 + 12 | 0], 5) + 349888 | 0] = HEAPU8[Math_imul(HEAPU8[$2 + 12 | 0], 5) + 349888 | 0] & 159 | HEAPU8[$2 + 11 | 0] << 5; HEAP8[$2 + 15 | 0] = 1; break label$1; } @@ -59133,8 +59155,8 @@ function jswrap_interactive_setTime($0) { HEAP32[$1 + 16 >> 2] = $2; HEAP32[$1 + 20 >> 2] = i64toi32_i32$HIGH_BITS; $2 = HEAP32[$1 + 20 >> 2]; - HEAP32[87292] = HEAP32[$1 + 16 >> 2]; - HEAP32[87293] = $2; + HEAP32[87320] = HEAP32[$1 + 16 >> 2]; + HEAP32[87321] = $2; $2 = jshGetSystemTime(); HEAP32[$1 + 8 >> 2] = $2; HEAP32[$1 + 12 >> 2] = i64toi32_i32$HIGH_BITS; @@ -59184,22 +59206,22 @@ function jshGetDeviceString($0) { break label$1; case 22: - HEAP32[$1 + 12 >> 2] = 129101; + HEAP32[$1 + 12 >> 2] = 129091; break label$1; case 25: - HEAP32[$1 + 12 >> 2] = 129149; + HEAP32[$1 + 12 >> 2] = 129139; break label$1; case 26: - HEAP32[$1 + 12 >> 2] = 129163; + HEAP32[$1 + 12 >> 2] = 129153; break label$1; default: break label$2; } } - HEAP32[$1 + 12 >> 2] = 148654; + HEAP32[$1 + 12 >> 2] = 148752; } return HEAP32[$1 + 12 >> 2]; } @@ -59399,7 +59421,7 @@ function jshSetFlowControlEnabled($0, $1, $2) { HEAP8[$3 + 13 | 0] = $2; if (!(HEAPU8[$3 + 15 | 0] < 21 | HEAPU8[$3 + 15 | 0] > 22)) { HEAP32[$3 + 8 >> 2] = HEAPU8[$3 + 15 | 0] - 21; - HEAP32[$3 + 4 >> 2] = HEAP32[$3 + 8 >> 2] + 349182; + HEAP32[$3 + 4 >> 2] = HEAP32[$3 + 8 >> 2] + 349294; label$2: { if (HEAP8[$3 + 14 | 0] & 1) { $0 = HEAP32[$3 + 4 >> 2]; @@ -59409,11 +59431,11 @@ function jshSetFlowControlEnabled($0, $1, $2) { $0 = HEAP32[$3 + 4 >> 2]; HEAP8[$0 | 0] = HEAPU8[$0 | 0] & -9; } - HEAP8[HEAP32[$3 + 8 >> 2] + 349184 | 0] = 255; + HEAP8[HEAP32[$3 + 8 >> 2] + 349296 | 0] = 255; if (jshIsPinValid(HEAPU8[$3 + 13 | 0]) & 1) { jshPinSetState(HEAPU8[$3 + 13 | 0], 1); jshPinSetValue(HEAPU8[$3 + 13 | 0], 0); - HEAP8[HEAP32[$3 + 8 >> 2] + 349184 | 0] = HEAPU8[$3 + 13 | 0]; + HEAP8[HEAP32[$3 + 8 >> 2] + 349296 | 0] = HEAPU8[$3 + 13 | 0]; } } __stack_pointer = $3 + 16 | 0; @@ -59473,9 +59495,9 @@ function jsvFreePtrStringExt($0) { break; } jshInterruptOff(); - jsvSetNextSibling(HEAP32[$1 + 4 >> 2], HEAPU16[90506]); - HEAP16[90506] = jsvGetLastChild(HEAP32[$1 + 12 >> 2]); - HEAP8[181009] = 1; + jsvSetNextSibling(HEAP32[$1 + 4 >> 2], HEAPU16[90562]); + HEAP16[90562] = jsvGetLastChild(HEAP32[$1 + 12 >> 2]); + HEAP8[181121] = 1; jshInterruptOn(); } __stack_pointer = $1 + 16 | 0; @@ -59488,7 +59510,7 @@ function jswrap_waveform_getBuffer($0, $1, $2) { HEAP32[$3 + 24 >> 2] = $0; HEAP32[$3 + 20 >> 2] = $1; HEAP32[$3 + 16 >> 2] = $2; - HEAP32[$3 + 12 >> 2] = jsvObjectGetChildIfExists(HEAP32[$3 + 24 >> 2], HEAP32[$3 + 20 >> 2] ? 128789 : 118890); + HEAP32[$3 + 12 >> 2] = jsvObjectGetChildIfExists(HEAP32[$3 + 24 >> 2], HEAP32[$3 + 20 >> 2] ? 128779 : 118890); label$1: { if (!HEAP32[$3 + 12 >> 2]) { HEAP32[$3 + 28 >> 2] = 0; @@ -59573,11 +59595,11 @@ function jspePostfixExpression() { $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; label$1: { - if (!(HEAP16[HEAP32[45251] + 2 >> 1] != 152 & HEAP16[HEAP32[45251] + 2 >> 1] != 153)) { - HEAP32[$0 + 8 >> 2] = HEAP16[HEAP32[45251] + 2 >> 1]; + if (!(HEAP16[HEAP32[45279] + 2 >> 1] != 152 & HEAP16[HEAP32[45279] + 2 >> 1] != 153)) { + HEAP32[$0 + 8 >> 2] = HEAP16[HEAP32[45279] + 2 >> 1]; jslGetNextToken(); HEAP32[$0 + 12 >> 2] = jspePostfixExpression(); - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { HEAP32[$0 + 4 >> 2] = jsvNewFromInteger(1); HEAP32[$0 >> 2] = jsvMathsOpSkipNames(HEAP32[$0 + 12 >> 2], HEAP32[$0 + 4 >> 2], HEAP32[$0 + 8 >> 2] == 152 ? 43 : 45); jsvUnLock(HEAP32[$0 + 4 >> 2]); @@ -59608,7 +59630,7 @@ function graphicsGetFromVar($0, $1) { HEAP32[$2 >> 2] = jsvObjectGetChildIfExists(HEAP32[$2 + 4 >> 2], 114240); label$1: { if (!HEAP32[$2 >> 2]) { - __memcpy(HEAP32[$2 + 8 >> 2], 351492, 72); + __memcpy(HEAP32[$2 + 8 >> 2], 351604, 72); HEAP8[$2 + 15 | 0] = 1; break label$1; } @@ -59641,7 +59663,7 @@ function jsserialEventCallbackKill($0, $1) { jsvRemoveChild(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); } if (!jsvGetChildren(HEAP32[$2 + 12 >> 2])) { - jsvObjectRemoveChild(HEAP32[87259], 120594); + jsvObjectRemoveChild(HEAP32[87287], 120594); } jsvUnLock2(HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2]); } @@ -59766,14 +59788,14 @@ function jswrap_print($0) { jsvUnLock(HEAP32[$1 + 4 >> 2]); jsvObjectIteratorNext($1 + 8 | 0); if (jsvObjectIteratorHasValue_7($1 + 8 | 0) & 1) { - jsiConsolePrintString(146916); + jsiConsolePrintString(147014); } continue; } break; } jsvObjectIteratorFree_7($1 + 8 | 0); - jsiConsolePrintString(148653); + jsiConsolePrintString(148751); __stack_pointer = $1 + 16 | 0; } @@ -59791,8 +59813,8 @@ function jshResetDevices() { if (HEAP32[$0 + 12 >> 2] == ((jsiGetConsoleDevice() & 255) - 21 | 0)) { break label$2; } - HEAP8[HEAP32[$0 + 12 >> 2] + 349182 | 0] = 0; - HEAP8[HEAP32[$0 + 12 >> 2] + 349184 | 0] = 255; + HEAP8[HEAP32[$0 + 12 >> 2] + 349294 | 0] = 0; + HEAP8[HEAP32[$0 + 12 >> 2] + 349296 | 0] = 255; HEAP32[$0 + 12 >> 2] = HEAP32[$0 + 12 >> 2] + 1; continue; } @@ -59801,7 +59823,7 @@ function jshResetDevices() { HEAP32[$0 + 8 >> 2] = 1; while (1) { if (HEAP32[$0 + 8 >> 2] <= 16) { - HEAP32[(HEAP32[$0 + 8 >> 2] << 2) + 349196 >> 2] = 0; + HEAP32[(HEAP32[$0 + 8 >> 2] << 2) + 349308 >> 2] = 0; HEAP32[$0 + 8 >> 2] = HEAP32[$0 + 8 >> 2] + 1; continue; } @@ -59943,10 +59965,10 @@ function jswrap_date_toUTCString($0) { HEAP32[$1 + 92 >> 2] = $0; getTimeFromDateVar($1 - -64 | 0, HEAP32[$1 + 92 >> 2], 1); getCalendarDate($1 + 40 | 0, HEAP32[$1 + 64 >> 2]); - $0 = HEAP32[45100]; + $0 = HEAP32[45128]; $2 = HEAP32[$1 + 56 >> 2] << 2; $3 = HEAP32[$1 + 44 >> 2]; - $4 = HEAP32[45099]; + $4 = HEAP32[45127]; $5 = HEAP32[$1 + 48 >> 2] << 2; $6 = HEAP32[$1 + 52 >> 2]; $7 = HEAP32[$1 + 80 >> 2]; @@ -60044,8 +60066,8 @@ function jslNewTokenisedStringFromLexer($0, $1) { __stack_pointer = $2; HEAP32[$2 + 188 >> 2] = $0; HEAP32[$2 + 184 >> 2] = $1; - HEAP32[$2 + 180 >> 2] = HEAP32[45251]; - HEAP32[45251] = $2 + 56; + HEAP32[$2 + 180 >> 2] = HEAP32[45279]; + HEAP32[45279] = $2 + 56; jslInit(HEAP32[HEAP32[$2 + 180 >> 2] + 84 >> 2]); HEAP32[$2 + 52 >> 2] = _jslNewTokenisedStringFromLexer(0, 0, HEAP32[$2 + 188 >> 2], HEAP32[$2 + 184 >> 2]); HEAP32[$2 + 48 >> 2] = jsvNewStringOfLength(HEAP32[$2 + 52 >> 2], 0); @@ -60055,7 +60077,7 @@ function jslNewTokenisedStringFromLexer($0, $1) { jsvStringIteratorFree($2 + 8 | 0); } jslKill(); - HEAP32[45251] = HEAP32[$2 + 180 >> 2]; + HEAP32[45279] = HEAP32[$2 + 180 >> 2]; __stack_pointer = $2 + 192 | 0; return HEAP32[$2 + 48 >> 2]; } @@ -60276,7 +60298,7 @@ function jshFlashRead($0, $1, $2) { if (HEAPU32[$3 + 16 >> 2] >= HEAPU32[$3 + 20 >> 2]) { break label$1; } - HEAP32[$3 + 12 >> 2] = 180903; + HEAP32[$3 + 12 >> 2] = 181015; $0 = HEAP32[$3 + 12 >> 2]; HEAP8[$3 + 10 | 0] = 105; HEAP8[$3 + 11 | 0] = 0; @@ -60368,7 +60390,7 @@ function jsiQueueEvents($0, $1, $2, $3) { if (HEAP32[$4 + 28 >> 2]) { jsvUnLock(jsvAddNamedChild(HEAP32[$4 + 12 >> 2], HEAP32[$4 + 28 >> 2], 117860)); } - jsvArrayPushAndUnLock(HEAP32[87273], HEAP32[$4 + 12 >> 2]); + jsvArrayPushAndUnLock(HEAP32[87301], HEAP32[$4 + 12 >> 2]); } __stack_pointer = $4 + 32 | 0; } @@ -60477,17 +60499,17 @@ function vfGetCharPtr($0, $1) { break label$1; } HEAP8[$2 + 19 | 0] = HEAPU8[$2 + 19 | 0] - 33; - HEAP32[$2 + 12 >> 2] = 163760; + HEAP32[$2 + 12 >> 2] = 163872; HEAP8[$2 + 11 | 0] = 0; while (1) { if (HEAPU8[$2 + 11 | 0] < HEAPU8[$2 + 19 | 0]) { - HEAP32[$2 + 12 >> 2] = HEAPU8[HEAPU8[$2 + 11 | 0] + 164112 | 0] + HEAP32[$2 + 12 >> 2]; + HEAP32[$2 + 12 >> 2] = HEAPU8[HEAPU8[$2 + 11 | 0] + 164224 | 0] + HEAP32[$2 + 12 >> 2]; HEAP8[$2 + 11 | 0] = HEAPU8[$2 + 11 | 0] + 1; continue; } break; } - HEAP32[HEAP32[$2 + 20 >> 2] >> 2] = HEAPU8[HEAPU8[$2 + 19 | 0] + 164112 | 0]; + HEAP32[HEAP32[$2 + 20 >> 2] >> 2] = HEAPU8[HEAPU8[$2 + 19 | 0] + 164224 | 0]; HEAP32[$2 + 28 >> 2] = HEAP32[$2 + 12 >> 2]; } return HEAP32[$2 + 28 >> 2]; @@ -60576,7 +60598,7 @@ function tflite__MicroAllocator__GetSubGraphFromModel_28tflite__Model_20const__2 HEAP32[$2 >> 2] = tflite__Model__subgraphs_28_29_20const(HEAP32[$2 + 4 >> 2]); label$1: { if ((flatbuffers__Vector_flatbuffers__Offset_tflite__SubGraph____size_28_29_20const(HEAP32[$2 >> 2]) | 0) != 1) { - tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$0 + 8 >> 2], 148212, 0); + tflite__ErrorReporter__Report_28char_20const__2c_20____29(HEAP32[$0 + 8 >> 2], 148310, 0); HEAP32[$2 + 12 >> 2] = 0; break label$1; } @@ -60590,10 +60612,10 @@ function terminalScroll() { var $0 = 0, $1 = 0; $0 = __stack_pointer - 80 | 0; __stack_pointer = $0; - HEAP8[180408] = HEAPU8[180408] - 1; + HEAP8[180520] = HEAPU8[180520] - 1; if (terminalGetGFX($0 + 8 | 0) & 1) { HEAP32[$0 + 4 >> 2] = HEAPU8[$0 + 29 | 0] | HEAPU8[$0 + 30 | 0] << 8 | (HEAPU8[$0 + 31 | 0] << 16 | HEAPU8[$0 + 32 | 0] << 24); - $1 = HEAPU8[351478] | HEAPU8[351479] << 8; + $1 = HEAPU8[351590] | HEAPU8[351591] << 8; HEAP8[$0 + 29 | 0] = $1; HEAP8[$0 + 30 | 0] = $1 >>> 8; HEAP8[$0 + 31 | 0] = $1 >>> 16; @@ -60647,11 +60669,11 @@ function jswrap_banglejs_getAccel() { __stack_pointer = $0; HEAP32[$0 + 12 >> 2] = jsvNewObject(); if (HEAP32[$0 + 12 >> 2]) { - jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 114319, jsvNewFromFloat(+HEAP16[187880] * .0001220703125)); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 114215, jsvNewFromFloat(+HEAP16[187881] * .0001220703125)); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 113942, jsvNewFromFloat(+HEAP16[187882] * .0001220703125)); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 121561, jsvNewFromFloat(Math_sqrt(+HEAP32[93942]) * .0001220703125)); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 121632, jsvNewFromFloat(+HEAPU32[93943] * .0001220703125)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 114319, jsvNewFromFloat(+HEAP16[187936] * .0001220703125)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 114215, jsvNewFromFloat(+HEAP16[187937] * .0001220703125)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 113942, jsvNewFromFloat(+HEAP16[187938] * .0001220703125)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 121561, jsvNewFromFloat(Math_sqrt(+HEAP32[93970]) * .0001220703125)); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 12 >> 2], 121632, jsvNewFromFloat(+HEAPU32[93971] * .0001220703125)); } __stack_pointer = $0 + 16 | 0; return HEAP32[$0 + 12 >> 2]; @@ -60880,7 +60902,7 @@ function jsiDumpJSON($0, $1, $2, $3) { HEAP32[$4 + 24 >> 2] = $1; HEAP32[$4 + 20 >> 2] = $2; HEAP32[$4 + 16 >> 2] = $3; - HEAP32[$4 + 12 >> 2] = jsvGetIndexOf(HEAP32[87258], HEAP32[$4 + 20 >> 2], 1); + HEAP32[$4 + 12 >> 2] = jsvGetIndexOf(HEAP32[87286], HEAP32[$4 + 20 >> 2], 1); label$1: { label$2: { if (!HEAP32[$4 + 12 >> 2]) { @@ -60941,7 +60963,7 @@ function jswrap_banglejs_setLCDTimeout($0) { } $2 = -2147483648; } - HEAP32[93925] = $2; + HEAP32[93953] = $2; $0 = HEAPF64[$1 + 24 >> 3] * 1e3; label$6: { if (Math_abs($0) < 2147483648) { @@ -60950,7 +60972,7 @@ function jswrap_banglejs_setLCDTimeout($0) { } $2 = -2147483648; } - HEAP32[93926] = $2; + HEAP32[93954] = $2; __stack_pointer = $1 + 32 | 0; } @@ -60988,21 +61010,21 @@ function jspeSkipBlock() { $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; HEAP32[$0 + 12 >> 2] = 1; - HEAP32[$0 + 8 >> 2] = HEAP32[87266]; - HEAP32[87266] = HEAP32[87266] & -64; + HEAP32[$0 + 8 >> 2] = HEAP32[87294]; + HEAP32[87294] = HEAP32[87294] & -64; while (1) { $1 = 0; label$3: { - $1 = HEAP16[HEAP32[45251] + 2 >> 1] ? HEAP32[$0 + 12 >> 2] != 0 : $1; + $1 = HEAP16[HEAP32[45279] + 2 >> 1] ? HEAP32[$0 + 12 >> 2] != 0 : $1; if (!$1) { break label$3; } label$4: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 123) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 123) { HEAP32[$0 + 12 >> 2] = HEAP32[$0 + 12 >> 2] + 1; break label$4; } - if (HEAP16[HEAP32[45251] + 2 >> 1] == 125) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 125) { HEAP32[$0 + 12 >> 2] = HEAP32[$0 + 12 >> 2] - 1; if (!HEAP32[$0 + 12 >> 2]) { break label$3; @@ -61014,7 +61036,7 @@ function jspeSkipBlock() { } break; } - HEAP32[87266] = HEAP32[$0 + 8 >> 2]; + HEAP32[87294] = HEAP32[$0 + 8 >> 2]; __stack_pointer = $0 + 16 | 0; } @@ -61027,8 +61049,8 @@ function jslCheckToken($0, $1) { HEAP32[$2 >> 2] = 1; label$1: { while (1) { - if (HEAP32[$2 >> 2] < HEAPU8[HEAP32[45251] + 80 | 0]) { - if (HEAP8[HEAP32[$2 >> 2] + (HEAP32[45251] + 12 | 0) | 0] != HEAP8[HEAP32[$2 + 8 >> 2] + HEAP32[$2 >> 2] | 0]) { + if (HEAP32[$2 >> 2] < HEAPU8[HEAP32[45279] + 80 | 0]) { + if (HEAP8[HEAP32[$2 >> 2] + (HEAP32[45279] + 12 | 0) | 0] != HEAP8[HEAP32[$2 + 8 >> 2] + HEAP32[$2 >> 2] | 0]) { HEAP8[$2 + 15 | 0] = 0; break label$1; } else { @@ -61038,8 +61060,8 @@ function jslCheckToken($0, $1) { } break; } - if (!HEAP8[HEAP32[$2 + 8 >> 2] + HEAPU8[HEAP32[45251] + 80 | 0] | 0]) { - HEAP16[HEAP32[45251] + 2 >> 1] = HEAPU16[$2 + 6 >> 1]; + if (!HEAP8[HEAP32[$2 + 8 >> 2] + HEAPU8[HEAP32[45279] + 80 | 0] | 0]) { + HEAP16[HEAP32[45279] + 2 >> 1] = HEAPU16[$2 + 6 >> 1]; HEAP8[$2 + 15 | 0] = 1; break label$1; } @@ -61162,11 +61184,11 @@ function jspGetException() { var $0 = 0; $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; - HEAP32[$0 + 8 >> 2] = jsvFindChildFromString(HEAP32[87259], 115093); + HEAP32[$0 + 8 >> 2] = jsvFindChildFromString(HEAP32[87287], 115093); label$1: { if (HEAP32[$0 + 8 >> 2]) { HEAP32[$0 + 4 >> 2] = jsvSkipName(HEAP32[$0 + 8 >> 2]); - jsvRemoveChildAndUnLock(HEAP32[87259], HEAP32[$0 + 8 >> 2]); + jsvRemoveChildAndUnLock(HEAP32[87287], HEAP32[$0 + 8 >> 2]); HEAP32[$0 >> 2] = jspGetStackTrace(); label$3: { if (!HEAP32[$0 >> 2]) { @@ -61262,7 +61284,7 @@ function jslGetTokenString($0, $1) { HEAP32[$2 + 28 >> 2] = $0; HEAP32[$2 + 24 >> 2] = $1; label$1: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 128) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 128) { $0 = HEAP32[$2 + 28 >> 2]; $1 = HEAP32[$2 + 24 >> 2]; HEAP32[$2 >> 2] = jslGetTokenValueAsString(); @@ -61270,14 +61292,14 @@ function jslGetTokenString($0, $1) { break label$1; } label$3: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 131) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 131) { $0 = HEAP32[$2 + 28 >> 2]; $1 = HEAP32[$2 + 24 >> 2]; HEAP32[$2 + 16 >> 2] = jslGetTokenValueAsString(); - espruino_snprintf($0, $1, 145796, $2 + 16 | 0); + espruino_snprintf($0, $1, 145894, $2 + 16 | 0); break label$3; } - jslTokenAsString(HEAP16[HEAP32[45251] + 2 >> 1], HEAP32[$2 + 28 >> 2], HEAP32[$2 + 24 >> 2]); + jslTokenAsString(HEAP16[HEAP32[45279] + 2 >> 1], HEAP32[$2 + 28 >> 2], HEAP32[$2 + 24 >> 2]); } } __stack_pointer = $2 + 32 | 0; @@ -61359,7 +61381,7 @@ function jshGetDeviceObjectFor($0, $1, $2) { break label$1; } jshPinFunctionToString(HEAPU16[$3 + 36 >> 1], 19, $3 + 16 | 0, 16); - HEAP32[$3 + 12 >> 2] = jsvObjectGetChildIfExists(HEAP32[87258], $3 + 16 | 0); + HEAP32[$3 + 12 >> 2] = jsvObjectGetChildIfExists(HEAP32[87286], $3 + 16 | 0); if (HEAP32[$3 + 12 >> 2]) { HEAP32[$3 + 44 >> 2] = HEAP32[$3 + 12 >> 2]; break label$1; @@ -61522,14 +61544,14 @@ function jshPushEvent($0) { __stack_pointer = $1; HEAP32[$1 + 12 >> 2] = $0; jshInterruptOff(); - HEAP8[$1 + 11 | 0] = HEAPU8[349180] + 1; + HEAP8[$1 + 11 | 0] = HEAPU8[349292] + 1; label$1: { - if (HEAPU8[349181] == HEAPU8[$1 + 11 | 0]) { + if (HEAPU8[349293] == HEAPU8[$1 + 11 | 0]) { jshInterruptOn(); jshIOEventOverflowed(); break label$1; } - $0 = Math_imul(HEAPU8[349180], 5) + 349776 | 0; + $0 = Math_imul(HEAPU8[349292], 5) + 349888 | 0; $2 = HEAP32[$1 + 12 >> 2]; $3 = HEAPU8[$2 | 0] | HEAPU8[$2 + 1 | 0] << 8 | (HEAPU8[$2 + 2 | 0] << 16 | HEAPU8[$2 + 3 | 0] << 24); HEAP8[$0 | 0] = $3; @@ -61537,7 +61559,7 @@ function jshPushEvent($0) { HEAP8[$0 + 2 | 0] = $3 >>> 16; HEAP8[$0 + 3 | 0] = $3 >>> 24; HEAP8[$0 + 4 | 0] = HEAPU8[$2 + 4 | 0]; - HEAP8[349180] = HEAPU8[$1 + 11 | 0]; + HEAP8[349292] = HEAPU8[$1 + 11 | 0]; jshInterruptOn(); } __stack_pointer = $1 + 16 | 0; @@ -61856,16 +61878,16 @@ function jsvCountJsVarsUsed($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP32[$1 + 12 >> 2] = $0; - if (!(!HEAP32[87258] | HEAP32[$1 + 12 >> 2] == HEAP32[87258])) { - $0 = HEAP32[87258]; + if (!(!HEAP32[87286] | HEAP32[$1 + 12 >> 2] == HEAP32[87286])) { + $0 = HEAP32[87286]; $2 = HEAPU8[$0 + 12 | 0] | HEAPU8[$0 + 13 | 0] << 8 | 512; HEAP8[$0 + 12 | 0] = $2; HEAP8[$0 + 13 | 0] = $2 >>> 8; } HEAP32[$1 + 8 >> 2] = _jsvCountJsVarsUsedRecursive(HEAP32[$1 + 12 >> 2], 0); _jsvCountJsVarsUsedRecursive(HEAP32[$1 + 12 >> 2], 1); - if (!(!HEAP32[87258] | HEAP32[$1 + 12 >> 2] == HEAP32[87258])) { - $0 = HEAP32[87258]; + if (!(!HEAP32[87286] | HEAP32[$1 + 12 >> 2] == HEAP32[87286])) { + $0 = HEAP32[87286]; $2 = (HEAPU8[$0 + 12 | 0] | HEAPU8[$0 + 13 | 0] << 8) & -513; HEAP8[$0 + 12 | 0] = $2; HEAP8[$0 + 13 | 0] = $2 >>> 8; @@ -61991,7 +62013,7 @@ function jsfGetFlags() { HEAP32[$0 + 12 >> 2] = 0; break label$1; } - HEAP32[$0 + 4 >> 2] = HEAP32[45085]; + HEAP32[$0 + 4 >> 2] = HEAP32[45113]; HEAP8[$0 + 3 | 0] = 1; while (1) { if (HEAPU8[HEAP32[$0 + 4 >> 2]]) { @@ -62101,7 +62123,7 @@ function jsfSetFlags($0) { if (!(jsvIsObject(HEAP32[$1 + 12 >> 2]) & 1)) { break label$1; } - HEAP32[$1 + 8 >> 2] = HEAP32[45085]; + HEAP32[$1 + 8 >> 2] = HEAP32[45113]; HEAP8[$1 + 7 | 0] = 1; while (1) { if (!HEAPU8[HEAP32[$1 + 8 >> 2]]) { @@ -62378,7 +62400,7 @@ function tflite__EnumNameBuiltinOperator_28tflite__BuiltinOperator_29($0) { HEAP32[$1 + 16 >> 2] = 126; label$1: { if (bool_20flatbuffers__IsOutRange_tflite__BuiltinOperator__28tflite__BuiltinOperator_20const__2c_20tflite__BuiltinOperator_20const__2c_20tflite__BuiltinOperator_20const__29($1 + 24 | 0, $1 + 20 | 0, $1 + 16 | 0) & 1) { - HEAP32[$1 + 28 >> 2] = 148654; + HEAP32[$1 + 28 >> 2] = 148752; break label$1; } HEAP32[$1 + 12 >> 2] = HEAP32[$1 + 24 >> 2]; @@ -62659,10 +62681,10 @@ function jsiDumpEvent($0, $1, $2, $3, $4) { $2 = HEAP32[$5 + 20 >> 2]; HEAP32[$5 + 4 >> 2] = HEAP32[$5 + 8 >> 2]; HEAP32[$5 >> 2] = $2; - cbprintf($0, $1, 146846, $5); + cbprintf($0, $1, 146944, $5); jsvUnLock(HEAP32[$5 + 8 >> 2]); jsiDumpJSON(HEAP32[$5 + 28 >> 2], HEAP32[$5 + 24 >> 2], HEAP32[$5 + 12 >> 2], 0); - FUNCTION_TABLE[HEAP32[$5 + 28 >> 2]](147840, HEAP32[$5 + 24 >> 2]); + FUNCTION_TABLE[HEAP32[$5 + 28 >> 2]](147938, HEAP32[$5 + 24 >> 2]); __stack_pointer = $5 + 32 | 0; } @@ -62733,7 +62755,7 @@ function jswrap_espruino_setDST($0) { HEAP32[$1 + 12 >> 2] = $0; label$1: { if (jsvIsUndefined(HEAP32[$1 + 12 >> 2]) & 1) { - jsvObjectRemoveChild(HEAP32[87259], 115079); + jsvObjectRemoveChild(HEAP32[87287], 115079); break label$1; } label$3: { @@ -62745,9 +62767,9 @@ function jswrap_espruino_setDST($0) { jsExceptionHere(1, 117395, 0); break label$1; } - jsvObjectRemoveChild(HEAP32[87259], 113909); + jsvObjectRemoveChild(HEAP32[87287], 113909); HEAP32[$1 + 8 >> 2] = jswrap_typedarray_constructor(18, HEAP32[$1 + 12 >> 2], 0, 0); - jsvObjectSetChildAndUnLock(HEAP32[87259], 115079, HEAP32[$1 + 8 >> 2]); + jsvObjectSetChildAndUnLock(HEAP32[87287], 115079, HEAP32[$1 + 8 >> 2]); } __stack_pointer = $1 + 16 | 0; } @@ -62943,13 +62965,13 @@ function jspeParseFunctionCallBrackets() { } while (1) { $1 = 0; - $1 = HEAP32[87266] & 80 ? $1 : HEAP16[HEAP32[45251] + 2 >> 1] != 41; + $1 = HEAP32[87294] & 80 ? $1 : HEAP16[HEAP32[45279] + 2 >> 1] != 41; if ($1) { jsvUnLock(jspeAssignmentExpression()); - if (HEAP16[HEAP32[45251] + 2 >> 1] == 162) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 162) { jsvUnLock(jspeArrowFunction(0, 0)); } - if (HEAP16[HEAP32[45251] + 2 >> 1] != 41) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 41) { if (!(jslMatch(44) & 1)) { break label$1; } @@ -62958,7 +62980,7 @@ function jspeParseFunctionCallBrackets() { } break; } - if (!(HEAP32[87266] & 80)) { + if (!(HEAP32[87294] & 80)) { jslMatch(41); } } @@ -63041,10 +63063,10 @@ function jswrap_banglejs_dbg() { HEAP32[$0 + 12 >> 2] = 0; break label$1; } - jsvObjectSetChildAndUnLock(HEAP32[$0 + 8 >> 2], 114273, jsvNewFromInteger(HEAPU8[375854])); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 8 >> 2], 115138, jsvNewFromInteger(HEAPU8[376008])); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 8 >> 2], 115164, jsvNewFromInteger(HEAPU8[376009])); - jsvObjectSetChildAndUnLock(HEAP32[$0 + 8 >> 2], 120549, jsvNewFromInteger(HEAPU16[187855])); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 8 >> 2], 114273, jsvNewFromInteger(HEAPU8[375966])); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 8 >> 2], 115138, jsvNewFromInteger(HEAPU8[376120])); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 8 >> 2], 115164, jsvNewFromInteger(HEAPU8[376121])); + jsvObjectSetChildAndUnLock(HEAP32[$0 + 8 >> 2], 120549, jsvNewFromInteger(HEAPU16[187911])); HEAP32[$0 + 12 >> 2] = HEAP32[$0 + 8 >> 2]; } __stack_pointer = $0 + 16 | 0; @@ -63109,16 +63131,16 @@ function jspeStatementReturn() { __stack_pointer = $0; HEAP32[$0 + 12 >> 2] = 0; jslGetNextToken(); - if (!(HEAP16[HEAP32[45251] + 2 >> 1] == 59 | HEAP16[HEAP32[45251] + 2 >> 1] == 125)) { + if (!(HEAP16[HEAP32[45279] + 2 >> 1] == 59 | HEAP16[HEAP32[45279] + 2 >> 1] == 125)) { HEAP32[$0 + 12 >> 2] = jsvSkipNameAndUnLock(jspeExpression()); } - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { HEAP32[$0 + 8 >> 2] = jspeiFindInScopes(119611); label$3: { if (HEAP32[$0 + 8 >> 2]) { jsvReplaceWith(HEAP32[$0 + 8 >> 2], HEAP32[$0 + 12 >> 2]); jsvUnLock(HEAP32[$0 + 8 >> 2]); - HEAP32[87266] = HEAP32[87266] | 8; + HEAP32[87294] = HEAP32[87294] | 8; break label$3; } jsExceptionHere(2, 129781, 0); @@ -63191,7 +63213,7 @@ function getMonth($0) { label$1: { while (1) { if (HEAP32[$1 + 4 >> 2] < 12) { - if (!(HEAP8[HEAP32[$1 + 8 >> 2]] != HEAP8[HEAP32[45099] + (HEAP32[$1 + 4 >> 2] << 2) | 0] | HEAP8[HEAP32[$1 + 8 >> 2] + 1 | 0] != HEAP8[HEAP32[45099] + ((HEAP32[$1 + 4 >> 2] << 2) + 1 | 0) | 0] | HEAP8[HEAP32[$1 + 8 >> 2] + 2 | 0] != HEAP8[HEAP32[45099] + ((HEAP32[$1 + 4 >> 2] << 2) + 2 | 0) | 0])) { + if (!(HEAP8[HEAP32[$1 + 8 >> 2]] != HEAP8[HEAP32[45127] + (HEAP32[$1 + 4 >> 2] << 2) | 0] | HEAP8[HEAP32[$1 + 8 >> 2] + 1 | 0] != HEAP8[HEAP32[45127] + ((HEAP32[$1 + 4 >> 2] << 2) + 1 | 0) | 0] | HEAP8[HEAP32[$1 + 8 >> 2] + 2 | 0] != HEAP8[HEAP32[45127] + ((HEAP32[$1 + 4 >> 2] << 2) + 2 | 0) | 0])) { HEAP32[$1 + 12 >> 2] = HEAP32[$1 + 4 >> 2]; break label$1; } @@ -63293,7 +63315,7 @@ function jswrap_banglejs_setPollInterval($0) { jsExceptionHere(1, 120532, 0); break label$1; } - HEAP32[93921] = HEAP32[93921] & -2049; + HEAP32[93949] = HEAP32[93949] & -2049; $0 = HEAPF64[$1 + 24 >> 3]; label$5: { if ($0 < 4294967296 & $0 >= 0) { @@ -63474,19 +63496,19 @@ function jspSetException($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP32[$1 + 12 >> 2] = $0; - HEAP32[$1 + 8 >> 2] = jsvFindOrAddChildFromString(HEAP32[87259], 115093); + HEAP32[$1 + 8 >> 2] = jsvFindOrAddChildFromString(HEAP32[87287], 115093); if (HEAP32[$1 + 8 >> 2]) { jsvSetValueOfName(HEAP32[$1 + 8 >> 2], HEAP32[$1 + 12 >> 2]); jsvUnLock(HEAP32[$1 + 8 >> 2]); } - HEAP32[87266] = HEAP32[87266] | 32; - if (HEAP32[45251]) { - HEAP32[$1 + 4 >> 2] = jsvObjectGetChild(HEAP32[87259], 123099, 28); + HEAP32[87294] = HEAP32[87294] | 32; + if (HEAP32[45279]) { + HEAP32[$1 + 4 >> 2] = jsvObjectGetChild(HEAP32[87287], 123099, 28); if (HEAP32[$1 + 4 >> 2]) { - jsvAppendPrintf(HEAP32[$1 + 4 >> 2], 146581, 0); + jsvAppendPrintf(HEAP32[$1 + 4 >> 2], 146679, 0); jspAppendStackTrace(HEAP32[$1 + 4 >> 2]); jsvUnLock(HEAP32[$1 + 4 >> 2]); - HEAP32[87266] = HEAP32[87266] | 128; + HEAP32[87294] = HEAP32[87294] | 128; } } __stack_pointer = $1 + 16 | 0; @@ -63558,7 +63580,7 @@ function tflite__SimpleMemoryAllocator__SimpleMemoryAllocator_28tflite__SimpleMe HEAP32[$2 + 12 >> 2] = $0; HEAP32[$2 + 8 >> 2] = $1; $1 = HEAP32[$2 + 12 >> 2]; - HEAP32[$1 >> 2] = 173912; + HEAP32[$1 >> 2] = 174024; $3 = HEAP32[$2 + 8 >> 2]; $0 = HEAP32[$3 + 4 >> 2]; $2 = HEAP32[$3 + 8 >> 2]; @@ -63902,12 +63924,12 @@ function vfGetPolyPtr($0, $1) { HEAP32[$2 + 28 >> 2] = 0; break label$1; } - HEAP32[HEAP32[$2 + 20 >> 2] >> 2] = HEAPU8[HEAPU8[$2 + 27 | 0] + 161648 | 0]; - HEAP32[$2 + 16 >> 2] = 161856; + HEAP32[HEAP32[$2 + 20 >> 2] >> 2] = HEAPU8[HEAPU8[$2 + 27 | 0] + 161760 | 0]; + HEAP32[$2 + 16 >> 2] = 161968; HEAP8[$2 + 15 | 0] = 0; while (1) { if (HEAPU8[$2 + 15 | 0] < HEAPU8[$2 + 27 | 0]) { - HEAP32[$2 + 16 >> 2] = HEAPU8[HEAPU8[$2 + 15 | 0] + 161648 | 0] + HEAP32[$2 + 16 >> 2]; + HEAP32[$2 + 16 >> 2] = HEAPU8[HEAPU8[$2 + 15 | 0] + 161760 | 0] + HEAP32[$2 + 16 >> 2]; HEAP8[$2 + 15 | 0] = HEAPU8[$2 + 15 | 0] + 1; continue; } @@ -63965,7 +63987,7 @@ function lcdMemLCD_getPixel($0, $1, $2) { HEAP32[$3 + 16 >> 2] = (Math_imul(HEAP32[$3 + 24 >> 2], 3) + 16 | 0) + (Math_imul(HEAP32[$3 + 20 >> 2], 68) << 3); HEAP32[$3 + 12 >> 2] = HEAP32[$3 + 16 >> 2] & 7; $0 = HEAP32[$3 + 16 >> 2] >> 3; - HEAP16[$3 + 10 >> 1] = HEAPU8[$0 + 363536 | 0] | HEAPU8[$0 + 363537 | 0] << 8; + HEAP16[$3 + 10 >> 1] = HEAPU8[$0 + 363648 | 0] | HEAPU8[$0 + 363649 | 0] << 8; HEAP32[$3 + 4 >> 2] = HEAPU16[$3 + 10 >> 1] >> HEAP32[$3 + 12 >> 2] & 7; return (HEAP32[$3 + 4 >> 2] & 1 ? 63488 : 0) | (HEAP32[$3 + 4 >> 2] & 2 ? 2016 : 0) | (HEAP32[$3 + 4 >> 2] & 4 ? 31 : 0); } @@ -63980,18 +64002,18 @@ function jsiChangeToHistory($0) { if (HEAP32[$1 + 8 >> 2]) { jsiReplaceInputLine(HEAP32[$1 + 8 >> 2]); jsvUnLock(HEAP32[$1 + 8 >> 2]); - HEAP8[349117] = 1; + HEAP8[349229] = 1; break label$1; } if (!(HEAP8[$1 + 15 | 0] & 1)) { if (jsiShowInputLine() & 1) { - jsiMoveCursorChar(HEAP32[87276], HEAP32[87278], 0); + jsiMoveCursorChar(HEAP32[87304], HEAP32[87306], 0); jsiConsoleEraseAfterCursor(); } jsiInputLineCursorMoved(); - jsvUnLock(HEAP32[87276]); - HEAP32[87276] = jsvNewFromEmptyString_5(); - HEAP32[87278] = 0; + jsvUnLock(HEAP32[87304]); + HEAP32[87304] = jsvNewFromEmptyString_5(); + HEAP32[87306] = 0; } } __stack_pointer = $1 + 16 | 0; @@ -64252,7 +64274,7 @@ function jshFlashErasePage($0) { HEAP32[$1 + 4140 >> 2] = $0; if (jshFlashGetPage(HEAP32[$1 + 4140 >> 2], $1 + 4136 | 0, $1 + 4132 | 0) & 1) { memset($1 + 32 | 0, 255, 4096); - HEAP32[$1 + 28 >> 2] = 180872; + HEAP32[$1 + 28 >> 2] = 180984; $0 = HEAP32[$1 + 28 >> 2]; HEAP8[$1 + 24 | 0] = 105; HEAP8[$1 + 25 | 0] = 105; @@ -64279,7 +64301,7 @@ function jslReservedWordAsString($0) { if ($0) { while (1) { $0 = 0; - $0 = HEAP8[HEAP32[$1 + 8 >> 2] + 148656 | 0] ? HEAPU32[$1 + 8 >> 2] < 312 : $0; + $0 = HEAP8[HEAP32[$1 + 8 >> 2] + 148768 | 0] ? HEAPU32[$1 + 8 >> 2] < 312 : $0; if ($0) { HEAP32[$1 + 8 >> 2] = HEAP32[$1 + 8 >> 2] + 1; continue; @@ -64292,7 +64314,7 @@ function jslReservedWordAsString($0) { } break; } - return HEAP32[$1 + 8 >> 2] + 148656 | 0; + return HEAP32[$1 + 8 >> 2] + 148768 | 0; } function i2c_get_address($0, $1) { @@ -64341,16 +64363,16 @@ function jslGetTokenValueAsVar() { $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; label$1: { - if (HEAP32[HEAP32[45251] + 76 >> 2]) { - HEAP32[$0 + 12 >> 2] = jsvLockAgain(HEAP32[HEAP32[45251] + 76 >> 2]); + if (HEAP32[HEAP32[45279] + 76 >> 2]) { + HEAP32[$0 + 12 >> 2] = jsvLockAgain(HEAP32[HEAP32[45279] + 76 >> 2]); break label$1; } - if (!(HEAP16[HEAP32[45251] + 2 >> 1] < 163 | HEAP16[HEAP32[45251] + 2 >> 1] > 198)) { - HEAP32[$0 + 12 >> 2] = jsvNewFromString(jslReservedWordAsString(HEAP16[HEAP32[45251] + 2 >> 1])); + if (!(HEAP16[HEAP32[45279] + 2 >> 1] < 163 | HEAP16[HEAP32[45279] + 2 >> 1] > 198)) { + HEAP32[$0 + 12 >> 2] = jsvNewFromString(jslReservedWordAsString(HEAP16[HEAP32[45279] + 2 >> 1])); break label$1; } - HEAP8[HEAPU8[HEAP32[45251] + 80 | 0] + (HEAP32[45251] + 12 | 0) | 0] = 0; - HEAP32[$0 + 12 >> 2] = jsvNewFromString(HEAP32[45251] + 12 | 0); + HEAP8[HEAPU8[HEAP32[45279] + 80 | 0] + (HEAP32[45279] + 12 | 0) | 0] = 0; + HEAP32[$0 + 12 >> 2] = jsvNewFromString(HEAP32[45279] + 12 | 0); } __stack_pointer = $0 + 16 | 0; return HEAP32[$0 + 12 >> 2]; @@ -64409,7 +64431,7 @@ function jsvMoreFreeVariablesThan($0) { HEAP8[$1 + 15 | 0] = 0; break label$1; } - HEAP16[$1 + 6 >> 1] = HEAPU16[90506]; + HEAP16[$1 + 6 >> 1] = HEAPU16[90562]; while (1) { if (HEAPU16[$1 + 6 >> 1]) { $0 = HEAP32[$1 + 8 >> 2]; @@ -64438,7 +64460,7 @@ function jshFlashWrite($0, $1, $2) { HEAP32[$3 + 24 >> 2] = $1; HEAP32[$3 + 20 >> 2] = $2; if (HEAPU32[$3 + 24 >> 2] >= 134217728) { - HEAP32[$3 + 16 >> 2] = 180930; + HEAP32[$3 + 16 >> 2] = 181042; $0 = HEAP32[$3 + 16 >> 2]; HEAP8[$3 + 12 | 0] = 105; HEAP8[$3 + 13 | 0] = 105; @@ -64602,19 +64624,19 @@ function jshPopIOEvent($0) { $1 = __stack_pointer - 16 | 0; HEAP32[$1 + 8 >> 2] = $0; label$1: { - if (HEAPU8[349180] == HEAPU8[349181]) { + if (HEAPU8[349292] == HEAPU8[349293]) { HEAP8[$1 + 15 | 0] = 0; break label$1; } $0 = HEAP32[$1 + 8 >> 2]; - $2 = Math_imul(HEAPU8[349181], 5) + 349776 | 0; + $2 = Math_imul(HEAPU8[349293], 5) + 349888 | 0; $3 = HEAPU8[$2 | 0] | HEAPU8[$2 + 1 | 0] << 8 | (HEAPU8[$2 + 2 | 0] << 16 | HEAPU8[$2 + 3 | 0] << 24); HEAP8[$0 | 0] = $3; HEAP8[$0 + 1 | 0] = $3 >>> 8; HEAP8[$0 + 2 | 0] = $3 >>> 16; HEAP8[$0 + 3 | 0] = $3 >>> 24; HEAP8[$0 + 4 | 0] = HEAPU8[$2 + 4 | 0]; - HEAP8[349181] = HEAPU8[349181] + 1; + HEAP8[349293] = HEAPU8[349293] + 1; HEAP8[$1 + 15 | 0] = 1; } return HEAP8[$1 + 15 | 0] & 1; @@ -64631,8 +64653,8 @@ function jswrap_graphics_setFont12x20($0, $1) { if (HEAP32[$2 + 24 >> 2] <= 0) { HEAP32[$2 + 24 >> 2] = 1; } - HEAP32[$2 + 20 >> 2] = jsvNewNativeString(168144, 4723); - HEAP32[$2 + 16 >> 2] = jsvNewNativeString(172880, 224); + HEAP32[$2 + 20 >> 2] = jsvNewNativeString(168256, 4723); + HEAP32[$2 + 16 >> 2] = jsvNewNativeString(172992, 224); HEAP32[$2 + 12 >> 2] = jswrap_graphics_setFontCustom(HEAP32[$2 + 28 >> 2], HEAP32[$2 + 20 >> 2], 32, HEAP32[$2 + 16 >> 2], (HEAP32[$2 + 24 >> 2] << 8) + 20 | 0); jsvUnLock2(HEAP32[$2 + 20 >> 2], HEAP32[$2 + 16 >> 2]); __stack_pointer = $2 + 32 | 0; @@ -64650,8 +64672,8 @@ function jswrap_graphics_setFont6x15($0, $1) { if (HEAP32[$2 + 24 >> 2] <= 0) { HEAP32[$2 + 24 >> 2] = 1; } - HEAP32[$2 + 20 >> 2] = jsvNewNativeString(166064, 1842); - HEAP32[$2 + 16 >> 2] = jsvNewNativeString(167920, 224); + HEAP32[$2 + 20 >> 2] = jsvNewNativeString(166176, 1842); + HEAP32[$2 + 16 >> 2] = jsvNewNativeString(168032, 224); HEAP32[$2 + 12 >> 2] = jswrap_graphics_setFontCustom(HEAP32[$2 + 28 >> 2], HEAP32[$2 + 20 >> 2], 32, HEAP32[$2 + 16 >> 2], (HEAP32[$2 + 24 >> 2] << 8) + 15 | 0); jsvUnLock2(HEAP32[$2 + 20 >> 2], HEAP32[$2 + 16 >> 2]); __stack_pointer = $2 + 32 | 0; @@ -64814,17 +64836,17 @@ function jsiHandlePageUpDown($0) { $1 = __stack_pointer - 32 | 0; __stack_pointer = $1; HEAP8[$1 + 31 | 0] = $0; - jsvGetLineAndCol(HEAP32[87276], HEAP32[87278], $1 + 20 | 0, $1 + 24 | 0); + jsvGetLineAndCol(HEAP32[87304], HEAP32[87306], $1 + 20 | 0, $1 + 24 | 0); label$1: { if (!(HEAP8[$1 + 31 | 0] & 1)) { - HEAP32[87278] = 0; + HEAP32[87306] = 0; break label$1; } - HEAP32[87278] = jsvGetStringLength(HEAP32[87276]); + HEAP32[87306] = jsvGetStringLength(HEAP32[87304]); } HEAP32[$1 + 16 >> 2] = HEAP32[$1 + 24 >> 2]; HEAP32[$1 + 12 >> 2] = HEAP32[$1 + 20 >> 2]; - jsvGetLineAndCol(HEAP32[87276], HEAP32[87278], $1 + 12 | 0, $1 + 16 | 0); + jsvGetLineAndCol(HEAP32[87304], HEAP32[87306], $1 + 12 | 0, $1 + 16 | 0); jsiMoveCursor(HEAP32[$1 + 24 >> 2], HEAP32[$1 + 20 >> 2], HEAP32[$1 + 16 >> 2], HEAP32[$1 + 12 >> 2]); __stack_pointer = $1 + 32 | 0; } @@ -64930,10 +64952,10 @@ function jshTransmitFlushDevice($0) { HEAP8[$1 + 14 | 0] = 0; while (1) { HEAP8[$1 + 14 | 0] = 0; - HEAP8[$1 + 13 | 0] = HEAPU8[349179]; + HEAP8[$1 + 13 | 0] = HEAPU8[349291]; while (1) { - if (HEAPU8[349178] != HEAPU8[$1 + 13 | 0]) { - if (HEAPU8[$1 + 15 | 0] == (HEAPU8[(HEAPU8[$1 + 13 | 0] << 1) + 349264 | 0] & 31)) { + if (HEAPU8[349290] != HEAPU8[$1 + 13 | 0]) { + if (HEAPU8[$1 + 15 | 0] == (HEAPU8[(HEAPU8[$1 + 13 | 0] << 1) + 349376 | 0] & 31)) { HEAP8[$1 + 14 | 0] = 1; } else { HEAP8[$1 + 13 | 0] = HEAPU8[$1 + 13 | 0] + 1; @@ -65094,8 +65116,8 @@ function jswrap_arguments() { $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; HEAP32[$0 + 8 >> 2] = 0; - if (HEAP32[87261]) { - HEAP32[$0 + 8 >> 2] = jsvLockAgain(HEAP32[87261]); + if (HEAP32[87289]) { + HEAP32[$0 + 8 >> 2] = jsvLockAgain(HEAP32[87289]); } label$2: { if (!(jsvIsFunction(HEAP32[$0 + 8 >> 2]) & 1)) { @@ -65154,7 +65176,7 @@ function jsvReplaceWithOrAddToRoot($0, $1) { if (jsvIsNewChild(HEAP32[$2 + 12 >> 2]) & 1) { break label$2; } - jsvAddName(HEAP32[87258], HEAP32[$2 + 12 >> 2]); + jsvAddName(HEAP32[87286], HEAP32[$2 + 12 >> 2]); } } jsvReplaceWith(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); @@ -65211,13 +65233,13 @@ function jspeArrowFunction($0, $1) { HEAP32[$2 + 12 >> 2] = $0; HEAP32[$2 + 8 >> 2] = $1; jslGetNextToken(); - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { HEAP32[$2 + 12 >> 2] = jspeAddNamedFunctionParameter(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); } - HEAP8[$2 + 7 | 0] = HEAP16[HEAP32[45251] + 2 >> 1] != 123; + HEAP8[$2 + 7 | 0] = HEAP16[HEAP32[45279] + 2 >> 1] != 123; HEAP8[$2 + 6 | 0] = jspeFunctionDefinitionInternal(HEAP32[$2 + 12 >> 2], HEAP8[$2 + 7 | 0] & 1) & 1; if (HEAP8[$2 + 6 | 0] & 1) { - jsvObjectSetChild(HEAP32[$2 + 12 >> 2], 117865, HEAP32[87264]); + jsvObjectSetChild(HEAP32[$2 + 12 >> 2], 117865, HEAP32[87292]); } __stack_pointer = $2 + 16 | 0; return HEAP32[$2 + 12 >> 2]; @@ -65396,7 +65418,7 @@ function graphicsSetVar($0) { HEAP32[$1 + 8 >> 2] = jsvSkipNameAndUnLock(jsvFindChildFromString(HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24), 114240)); label$1: { if (!HEAP32[$1 + 8 >> 2]) { - __memcpy(351492, HEAP32[$1 + 12 >> 2], 72); + __memcpy(351604, HEAP32[$1 + 12 >> 2], 72); break label$1; } if (!HEAP32[$1 + 8 >> 2]) { @@ -65465,7 +65487,7 @@ function tflite__SimpleMemoryAllocator__SimpleMemoryAllocator_28tflite__ErrorRep HEAP32[$4 + 4 >> 2] = $2; HEAP32[$4 >> 2] = $3; $0 = HEAP32[$4 + 12 >> 2]; - HEAP32[$0 >> 2] = 173912; + HEAP32[$0 >> 2] = 174024; HEAP32[$0 + 4 >> 2] = HEAP32[$4 + 8 >> 2]; HEAP32[$0 + 8 >> 2] = HEAP32[$4 + 4 >> 2]; HEAP32[$0 + 12 >> 2] = HEAP32[$4 >> 2]; @@ -65571,7 +65593,7 @@ function jspeFactorTypeOf() { jslGetNextToken(); HEAP32[$0 + 12 >> 2] = jspeUnaryExpression(); HEAP32[$0 + 8 >> 2] = 0; - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { label$2: { if (!(jsvIsVariableDefined(HEAP32[$0 + 12 >> 2]) & 1)) { HEAP32[$0 + 8 >> 2] = jsvNewFromString(124160); @@ -65780,12 +65802,12 @@ function jsiAtEndOfInputLine() { var $0 = 0; $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; - HEAP32[$0 + 8 >> 2] = HEAP32[87278]; - HEAP32[$0 + 4 >> 2] = jsvGetStringLength(HEAP32[87276]); + HEAP32[$0 + 8 >> 2] = HEAP32[87306]; + HEAP32[$0 + 4 >> 2] = jsvGetStringLength(HEAP32[87304]); label$1: { while (1) { if (HEAPU32[$0 + 8 >> 2] < HEAPU32[$0 + 4 >> 2]) { - if (isWhitespace(jsvGetCharInString(HEAP32[87276], HEAP32[$0 + 8 >> 2]) << 24 >> 24) & 1) { + if (isWhitespace(jsvGetCharInString(HEAP32[87304], HEAP32[$0 + 8 >> 2]) << 24 >> 24) & 1) { HEAP32[$0 + 8 >> 2] = HEAP32[$0 + 8 >> 2] + 1; continue; } else { @@ -66061,8 +66083,8 @@ function jswrap_banglejs_setLCDBrightness($0) { if (HEAP32[$1 + 4 >> 2] > 255) { HEAP32[$1 + 4 >> 2] = 255; } - HEAP8[375750] = HEAP32[$1 + 4 >> 2]; - if (HEAP32[93921] & 131072) { + HEAP8[375862] = HEAP32[$1 + 4 >> 2]; + if (HEAP32[93949] & 131072) { jswrap_banglejs_setLCDPowerBacklight(1); } __stack_pointer = $1 + 16 | 0; @@ -66076,7 +66098,7 @@ function jsbangle_exec_pending($0) { $0 = HEAP32[$1 + 12 >> 2]; HEAP16[$1 + 10 >> 1] = HEAPU8[$0 + 2 | 0] << 8 | HEAPU8[$0 + 3 | 0]; if (!HEAP8[HEAP32[$1 + 12 >> 2] + 1 | 0]) { - HEAP32[$1 + 4 >> 2] = jsvObjectGetChildIfExists(HEAP32[87258], 122680); + HEAP32[$1 + 4 >> 2] = jsvObjectGetChildIfExists(HEAP32[87286], 122680); if (HEAP32[$1 + 4 >> 2]) { HEAP32[$1 >> 2] = jsvNewFromInteger(HEAPU16[$1 + 10 >> 1]); jsiQueueObjectCallbacks(HEAP32[$1 + 4 >> 2], 114574, $1, 1); @@ -66153,21 +66175,21 @@ function wakeUpBangle($0) { $1 = __stack_pointer - 16 | 0; HEAP32[$1 + 12 >> 2] = $0; HEAP8[$1 + 11 | 0] = 0; - if (!(!HEAP32[93923] | HEAP32[93921] & 65536)) { + if (!(!HEAP32[93951] | HEAP32[93949] & 65536)) { HEAP8[$1 + 11 | 0] = 1; - HEAP32[93924] = HEAP32[93924] | 2; + HEAP32[93952] = HEAP32[93952] | 2; } - if (!(!HEAP32[93925] | HEAP32[93921] & 131072)) { + if (!(!HEAP32[93953] | HEAP32[93949] & 131072)) { HEAP8[$1 + 11 | 0] = 1; - HEAP32[93924] = HEAP32[93924] | 8; + HEAP32[93952] = HEAP32[93952] | 8; } - if (!(!HEAP32[93926] | !(HEAP32[93921] & 262144))) { + if (!(!HEAP32[93954] | !(HEAP32[93949] & 262144))) { HEAP8[$1 + 11 | 0] = 1; - HEAP32[93922] = HEAP32[$1 + 12 >> 2]; - HEAP32[93924] = HEAP32[93924] | 64; + HEAP32[93950] = HEAP32[$1 + 12 >> 2]; + HEAP32[93952] = HEAP32[93952] | 64; } if (HEAP8[$1 + 11 | 0] & 1) { - HEAP16[187854] = 0; + HEAP16[187910] = 0; } return HEAP8[$1 + 11 | 0] & 1; } @@ -66178,10 +66200,10 @@ function jshPinSetValue($0, $1) { __stack_pointer = $2; HEAP8[$2 + 31 | 0] = $0; HEAP8[$2 + 30 | 0] = $1; - if (HEAPU8[Math_imul(HEAPU8[$2 + 31 | 0], 3) + 165440 | 0] & 16) { + if (HEAPU8[Math_imul(HEAPU8[$2 + 31 | 0], 3) + 165552 | 0] & 16) { HEAP8[$2 + 30 | 0] = (HEAPU8[$2 + 30 | 0] ^ -1) & 1; } - HEAP32[$2 + 24 >> 2] = 180795; + HEAP32[$2 + 24 >> 2] = 180907; $0 = HEAP32[$2 + 24 >> 2]; HEAP8[$2 + 21 | 0] = 105; HEAP8[$2 + 22 | 0] = 105; @@ -66231,16 +66253,16 @@ function jslSeekToP($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP32[$1 + 12 >> 2] = $0; - if (HEAP32[HEAP32[45251] + 100 >> 2]) { - jsvLockAgain(HEAP32[HEAP32[45251] + 100 >> 2]); + if (HEAP32[HEAP32[45279] + 100 >> 2]) { + jsvLockAgain(HEAP32[HEAP32[45279] + 100 >> 2]); } - jsvStringIteratorFree(HEAP32[45251] + 88 | 0); - jsvStringIteratorClone(HEAP32[45251] + 88 | 0, HEAP32[$1 + 12 >> 2]); - jsvUnLock(HEAP32[HEAP32[45251] + 100 >> 2]); - HEAP8[HEAP32[45251]] = HEAPU8[HEAP32[$1 + 12 >> 2] + 36 | 0]; - HEAP32[HEAP32[45251] + 4 >> 2] = 0; - HEAP32[HEAP32[45251] + 8 >> 2] = 0; - HEAP16[HEAP32[45251] + 2 >> 1] = 0; + jsvStringIteratorFree(HEAP32[45279] + 88 | 0); + jsvStringIteratorClone(HEAP32[45279] + 88 | 0, HEAP32[$1 + 12 >> 2]); + jsvUnLock(HEAP32[HEAP32[45279] + 100 >> 2]); + HEAP8[HEAP32[45279]] = HEAPU8[HEAP32[$1 + 12 >> 2] + 36 | 0]; + HEAP32[HEAP32[45279] + 4 >> 2] = 0; + HEAP32[HEAP32[45279] + 8 >> 2] = 0; + HEAP16[HEAP32[45279] + 2 >> 1] = 0; jslGetNextToken(); __stack_pointer = $1 + 16 | 0; } @@ -66441,9 +66463,9 @@ function jspeExpression() { __stack_pointer = $0; label$1: { while (1) { - if (((HEAP32[87266] & 80) != 0 ^ -1) & 1) { + if (((HEAP32[87294] & 80) != 0 ^ -1) & 1) { HEAP32[$0 + 8 >> 2] = jspeAssignmentExpression(); - if (HEAP16[HEAP32[45251] + 2 >> 1] != 44) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != 44) { HEAP32[$0 + 12 >> 2] = HEAP32[$0 + 8 >> 2]; break label$1; } else { @@ -66748,7 +66770,7 @@ function jswIsBuiltInObject($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP32[$1 + 8 >> 2] = $0; - HEAP32[$1 + 4 >> 2] = 159764; + HEAP32[$1 + 4 >> 2] = 159876; HEAP32[$1 >> 2] = HEAP32[$1 + 4 >> 2]; label$1: { while (1) { @@ -66863,20 +66885,20 @@ function _jswrap_banglejs_setVibration() { $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; HEAP32[$0 + 12 >> 2] = 0; - if (HEAP32[93921] & 128) { - HEAP32[$0 + 12 >> 2] = HEAPU16[187913]; + if (HEAP32[93949] & 128) { + HEAP32[$0 + 12 >> 2] = HEAPU16[187969]; } label$2: { - if (!(HEAPU8[375824] | HEAP32[$0 + 12 >> 2])) { + if (!(HEAPU8[375936] | HEAP32[$0 + 12 >> 2])) { jshPinOutput(19, 0); break label$2; } label$4: { if (!HEAP32[$0 + 12 >> 2]) { - jshPinAnalogOutput(19, +HEAPU8[375824] * .6 / 255 + .4, 1e3, 0); + jshPinAnalogOutput(19, +HEAPU8[375936] * .6 / 255 + .4, 1e3, 0); break label$4; } - jshPinAnalogOutput(19, +HEAPU8[375824] * .6 / 255 + .2, +HEAP32[$0 + 12 >> 2], 0); + jshPinAnalogOutput(19, +HEAPU8[375936] * .6 / 255 + .2, +HEAP32[$0 + 12 >> 2], 0); } } __stack_pointer = $0 + 16 | 0; @@ -66901,12 +66923,12 @@ function jspParse() { HEAP32[$0 + 12 >> 2] = 0; while (1) { $1 = 0; - $1 = HEAP32[87266] & 80 ? $1 : HEAP16[HEAP32[45251] + 2 >> 1] != 0; + $1 = HEAP32[87294] & 80 ? $1 : HEAP16[HEAP32[45279] + 2 >> 1] != 0; if ($1) { jsvUnLock(HEAP32[$0 + 12 >> 2]); HEAP32[$0 + 12 >> 2] = jspeBlockOrStatement(); while (1) { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 59) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 59) { jslGetNextToken(); continue; } @@ -66988,7 +67010,7 @@ function jsonNewLine($0, $1, $2, $3) { HEAP32[$4 + 24 >> 2] = $1; HEAP32[$4 + 20 >> 2] = $2; HEAP32[$4 + 16 >> 2] = $3; - FUNCTION_TABLE[HEAP32[$4 + 20 >> 2]](148653, HEAP32[$4 + 16 >> 2]); + FUNCTION_TABLE[HEAP32[$4 + 20 >> 2]](148751, HEAP32[$4 + 16 >> 2]); HEAP32[$4 + 12 >> 2] = HEAP32[$4 + 28 >> 2] >>> 14; while (1) { $0 = HEAP32[$4 + 12 >> 2]; @@ -67490,7 +67512,7 @@ function jsiExecuteEventCallbackOn($0, $1, $2, $3) { HEAP32[$4 + 24 >> 2] = $1; HEAP32[$4 + 20 >> 2] = $2; HEAP32[$4 + 16 >> 2] = $3; - HEAP32[$4 + 12 >> 2] = jsvObjectGetChildIfExists(HEAP32[87258], HEAP32[$4 + 28 >> 2]); + HEAP32[$4 + 12 >> 2] = jsvObjectGetChildIfExists(HEAP32[87286], HEAP32[$4 + 28 >> 2]); HEAP8[$4 + 11 | 0] = jsiExecuteEventCallbackName(HEAP32[$4 + 12 >> 2], HEAP32[$4 + 24 >> 2], HEAP32[$4 + 20 >> 2], HEAP32[$4 + 16 >> 2]) & 1; jsvUnLock(HEAP32[$4 + 12 >> 2]); __stack_pointer = $4 + 32 | 0; @@ -67522,14 +67544,14 @@ function jslInit($0) { __stack_pointer = $1; HEAP32[$1 + 12 >> 2] = $0; $0 = jsvLockAgain(HEAP32[$1 + 12 >> 2]); - HEAP32[HEAP32[45251] + 84 >> 2] = $0; - HEAP16[HEAP32[45251] + 2 >> 1] = 0; - HEAP32[HEAP32[45251] + 4 >> 2] = 0; - HEAP32[HEAP32[45251] + 8 >> 2] = 0; - HEAP8[HEAP32[45251] + 80 | 0] = 0; - HEAP32[HEAP32[45251] + 76 >> 2] = 0; - jsvStringIteratorNew(HEAP32[45251] + 88 | 0, HEAP32[HEAP32[45251] + 84 >> 2], 0); - jsvUnLock(HEAP32[HEAP32[45251] + 100 >> 2]); + HEAP32[HEAP32[45279] + 84 >> 2] = $0; + HEAP16[HEAP32[45279] + 2 >> 1] = 0; + HEAP32[HEAP32[45279] + 4 >> 2] = 0; + HEAP32[HEAP32[45279] + 8 >> 2] = 0; + HEAP8[HEAP32[45279] + 80 | 0] = 0; + HEAP32[HEAP32[45279] + 76 >> 2] = 0; + jsvStringIteratorNew(HEAP32[45279] + 88 | 0, HEAP32[HEAP32[45279] + 84 >> 2], 0); + jsvUnLock(HEAP32[HEAP32[45279] + 100 >> 2]); jslPreload(); __stack_pointer = $1 + 16 | 0; } @@ -67616,7 +67638,7 @@ function jspIsConstructor($0, $1) { __stack_pointer = $2; HEAP32[$2 + 24 >> 2] = $0; HEAP32[$2 + 20 >> 2] = $1; - HEAP32[$2 + 16 >> 2] = jsvObjectGetChildIfExists(HEAP32[87258], HEAP32[$2 + 20 >> 2]); + HEAP32[$2 + 16 >> 2] = jsvObjectGetChildIfExists(HEAP32[87286], HEAP32[$2 + 20 >> 2]); label$1: { if (!HEAP32[$2 + 16 >> 2]) { HEAP8[$2 + 31 | 0] = 0; @@ -67639,7 +67661,7 @@ function getDay($0) { label$1: { while (1) { if (HEAP32[$1 + 4 >> 2] < 7) { - if (strcmp(HEAP32[$1 + 8 >> 2], HEAP32[45100] + (HEAP32[$1 + 4 >> 2] << 2) | 0)) { + if (strcmp(HEAP32[$1 + 8 >> 2], HEAP32[45128] + (HEAP32[$1 + 4 >> 2] << 2) | 0)) { HEAP32[$1 + 4 >> 2] = HEAP32[$1 + 4 >> 2] + 1; continue; } else { @@ -67905,13 +67927,13 @@ function jshPinGetValue($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP8[$1 + 15 | 0] = $0; - HEAP32[$1 + 8 >> 2] = 180820; + HEAP32[$1 + 8 >> 2] = 180932; $0 = HEAP32[$1 + 8 >> 2]; HEAP8[$1 + 6 | 0] = 105; HEAP8[$1 + 7 | 0] = 0; HEAP32[$1 >> 2] = HEAPU8[$1 + 15 | 0]; HEAP8[$1 + 14 | 0] = (emscripten_asm_const_int($0 | 0, $1 + 6 | 0, $1 | 0) | 0) != 0; - if (HEAPU8[Math_imul(HEAPU8[$1 + 15 | 0], 3) + 165440 | 0] & 16) { + if (HEAPU8[Math_imul(HEAPU8[$1 + 15 | 0], 3) + 165552 | 0] & 16) { HEAP8[$1 + 14 | 0] = (HEAPU8[$1 + 14 | 0] ^ -1) & 1; } __stack_pointer = $1 + 16 | 0; @@ -67925,19 +67947,19 @@ function lcdMemLCD_setOverlay($0, $1, $2) { HEAP32[$3 + 12 >> 2] = $0; HEAP32[$3 + 8 >> 2] = $1; HEAP32[$3 + 4 >> 2] = $2; - if (HEAP32[93911]) { - jsvUnLock(HEAP32[93911]); + if (HEAP32[93939]) { + jsvUnLock(HEAP32[93939]); } label$2: { if (HEAP32[$3 + 12 >> 2]) { - HEAP32[93911] = jsvLockAgain(HEAP32[$3 + 12 >> 2]); - HEAP16[187825] = HEAP32[$3 + 8 >> 2]; - HEAP16[187824] = HEAP32[$3 + 4 >> 2]; + HEAP32[93939] = jsvLockAgain(HEAP32[$3 + 12 >> 2]); + HEAP16[187881] = HEAP32[$3 + 8 >> 2]; + HEAP16[187880] = HEAP32[$3 + 4 >> 2]; break label$2; } - HEAP32[93911] = 0; - HEAP16[187825] = 0; - HEAP16[187824] = 0; + HEAP32[93939] = 0; + HEAP16[187881] = 0; + HEAP16[187880] = 0; } __stack_pointer = $3 + 16 | 0; } @@ -68063,12 +68085,12 @@ function jslMatchError($0) { HEAP32[$1 + 92 >> 2] = $0; jslGetTokenString($1 + 48 | 0, 30); jslTokenAsString(HEAP32[$1 + 92 >> 2], $1 + 16 | 0, 30); - HEAP32[$1 + 12 >> 2] = HEAP32[HEAP32[45251] + 8 >> 2]; - HEAP32[HEAP32[45251] + 8 >> 2] = HEAP32[HEAP32[45251] + 4 >> 2]; + HEAP32[$1 + 12 >> 2] = HEAP32[HEAP32[45279] + 8 >> 2]; + HEAP32[HEAP32[45279] + 8 >> 2] = HEAP32[HEAP32[45279] + 4 >> 2]; HEAP32[$1 + 4 >> 2] = $1 + 16; HEAP32[$1 >> 2] = $1 + 48; jsExceptionHere(2, 118366, $1); - HEAP32[HEAP32[45251] + 8 >> 2] = HEAP32[$1 + 12 >> 2]; + HEAP32[HEAP32[45279] + 8 >> 2] = HEAP32[$1 + 12 >> 2]; jslGetNextToken(); __stack_pointer = $1 + 96 | 0; } @@ -68077,7 +68099,7 @@ function jsiFreeMoreMemory() { var $0 = 0; $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; - HEAP32[$0 + 8 >> 2] = jsvObjectGetChildIfExists(HEAP32[87259], 113964); + HEAP32[$0 + 8 >> 2] = jsvObjectGetChildIfExists(HEAP32[87287], 113964); label$1: { if (!HEAP32[$0 + 8 >> 2]) { HEAP8[$0 + 15 | 0] = 0; @@ -68175,17 +68197,17 @@ function jsiHandleEnd() { var $0 = 0, $1 = 0; $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; - HEAP32[$0 + 12 >> 2] = jsvGetStringLength(HEAP32[87276]); + HEAP32[$0 + 12 >> 2] = jsvGetStringLength(HEAP32[87304]); while (1) { $1 = 0; - if (HEAPU32[87278] < HEAPU32[$0 + 12 >> 2]) { - $1 = (jsvGetCharInString(HEAP32[87276], HEAP32[87278]) | 0) != 10; + if (HEAPU32[87306] < HEAPU32[$0 + 12 >> 2]) { + $1 = (jsvGetCharInString(HEAP32[87304], HEAP32[87306]) | 0) != 10; } if ($1) { if (jsiShowInputLine() & 1) { - jsiConsolePrintChar(jsvGetCharInString(HEAP32[87276], HEAP32[87278]) << 24 >> 24); + jsiConsolePrintChar(jsvGetCharInString(HEAP32[87304], HEAP32[87306]) << 24 >> 24); } - HEAP32[87278] = HEAP32[87278] + 1; + HEAP32[87306] = HEAP32[87306] + 1; continue; } break; @@ -68418,7 +68440,7 @@ function tflite__MicroAllocator__MicroAllocator_28tflite__SimpleMemoryAllocator_ HEAP32[$3 + 8 >> 2] = $1; HEAP32[$3 + 4 >> 2] = $2; $0 = HEAP32[$3 + 12 >> 2]; - HEAP32[$0 >> 2] = 174460; + HEAP32[$0 >> 2] = 174572; HEAP32[$0 + 4 >> 2] = HEAP32[$3 + 8 >> 2]; HEAP32[$0 + 8 >> 2] = HEAP32[$3 + 4 >> 2]; HEAP8[$0 + 12 | 0] = 0; @@ -68663,14 +68685,14 @@ function jsvUnLockInline($0) { function jslGetTokenValueAsString() { var $0 = 0; - HEAP8[HEAPU8[HEAP32[45251] + 80 | 0] + (HEAP32[45251] + 12 | 0) | 0] = 0; - if (!(HEAPU8[HEAP32[45251] + 80 | 0] | HEAP16[HEAP32[45251] + 2 >> 1] < 163 | HEAP16[HEAP32[45251] + 2 >> 1] > 198)) { - jslTokenAsString(HEAP16[HEAP32[45251] + 2 >> 1], HEAP32[45251] + 12 | 0, 64); - strcpy(HEAP32[45251] + 12 | 0, jslReservedWordAsString(HEAP16[HEAP32[45251] + 2 >> 1])); - $0 = strlen(HEAP32[45251] + 12 | 0); - HEAP8[HEAP32[45251] + 80 | 0] = $0; + HEAP8[HEAPU8[HEAP32[45279] + 80 | 0] + (HEAP32[45279] + 12 | 0) | 0] = 0; + if (!(HEAPU8[HEAP32[45279] + 80 | 0] | HEAP16[HEAP32[45279] + 2 >> 1] < 163 | HEAP16[HEAP32[45279] + 2 >> 1] > 198)) { + jslTokenAsString(HEAP16[HEAP32[45279] + 2 >> 1], HEAP32[45279] + 12 | 0, 64); + strcpy(HEAP32[45279] + 12 | 0, jslReservedWordAsString(HEAP16[HEAP32[45279] + 2 >> 1])); + $0 = strlen(HEAP32[45279] + 12 | 0); + HEAP8[HEAP32[45279] + 80 | 0] = $0; } - return HEAP32[45251] + 12 | 0; + return HEAP32[45279] + 12 | 0; } function _jswrap_io_poke($0, $1, $2) { @@ -68792,7 +68814,7 @@ function jspFindPrototypeFor($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP32[$1 + 8 >> 2] = $0; - HEAP32[$1 + 4 >> 2] = jsvObjectGetChildIfExists(HEAP32[87258], HEAP32[$1 + 8 >> 2]); + HEAP32[$1 + 4 >> 2] = jsvObjectGetChildIfExists(HEAP32[87286], HEAP32[$1 + 8 >> 2]); label$1: { if (!HEAP32[$1 + 4 >> 2]) { HEAP32[$1 + 12 >> 2] = 0; @@ -68994,24 +69016,24 @@ function push_literal_byte($0, $1) { } function jswrap_banglejs_kill() { - jsvUnLock(HEAP32[93961]); - HEAP32[93961] = 0; - jsvUnLock(HEAP32[93962]); - HEAP32[93962] = 0; - if (HEAPU16[187913]) { + jsvUnLock(HEAP32[93989]); + HEAP32[93989] = 0; + jsvUnLock(HEAP32[93990]); + HEAP32[93990] = 0; + if (HEAPU16[187969]) { jswrap_banglejs_beep_callback(); } - if (HEAPU8[375824]) { + if (HEAPU8[375936]) { jswrap_banglejs_buzz_callback(); } jshPinWatch(17, 0, 0); jshSetPinShouldStayWatched(17, 0); lcdMemLCD_setOverlay(0, 0, 0); - jsvUnLock(HEAPU8[351492] | HEAPU8[351493] << 8 | (HEAPU8[351494] << 16 | HEAPU8[351495] << 24)); - HEAP8[351492] = 0; - HEAP8[351493] = 0; - HEAP8[351494] = 0; - HEAP8[351495] = 0; + jsvUnLock(HEAPU8[351604] | HEAPU8[351605] << 8 | (HEAPU8[351606] << 16 | HEAPU8[351607] << 24)); + HEAP8[351604] = 0; + HEAP8[351605] = 0; + HEAP8[351606] = 0; + HEAP8[351607] = 0; } function std____2__unique_ptr_TfLitePoolParams_2c_20tflite___28anonymous_20namespace_29__SafeBuiltinDataAllocator__BuiltinDataDeleter___operator_20bool_28_29_20const($0) { @@ -69128,7 +69150,7 @@ function jshSleep($0, $1) { } $0 = -2147483648; } - HEAP32[45090] = $0; + HEAP32[45118] = $0; __stack_pointer = $2 + 16 | 0; return 0; } @@ -69220,14 +69242,14 @@ function jsiReplaceInputLine($0) { __stack_pointer = $1; HEAP32[$1 + 12 >> 2] = $0; if (jsiShowInputLine() & 1) { - jsiMoveCursorChar(HEAP32[87276], HEAP32[87278], 0); + jsiMoveCursorChar(HEAP32[87304], HEAP32[87306], 0); jsiConsoleEraseAfterCursor(); jsiConsolePrintStringVarWithNewLineChar(HEAP32[$1 + 12 >> 2], 0, 58); } jsiInputLineCursorMoved(); - jsvUnLock(HEAP32[87276]); - HEAP32[87276] = jsvLockAgain(HEAP32[$1 + 12 >> 2]); - HEAP32[87278] = jsvGetStringLength(HEAP32[87276]); + jsvUnLock(HEAP32[87304]); + HEAP32[87304] = jsvLockAgain(HEAP32[$1 + 12 >> 2]); + HEAP32[87306] = jsvGetStringLength(HEAP32[87304]); __stack_pointer = $1 + 16 | 0; } @@ -69238,13 +69260,13 @@ function jsfCompact($0) { HEAP8[$1 + 14 | 0] = $0; label$1: { if ((jswrap_banglejs_getBattery() | 0) < 10) { - jsiConsolePrintf(147014, 0); + jsiConsolePrintf(147112, 0); HEAP8[$1 + 15 | 0] = 0; break label$1; } jsfCacheClear(); - HEAP32[87267] = 0; - HEAP32[87268] = 0; + HEAP32[87295] = 0; + HEAP32[87296] = 0; HEAP8[$1 + 13 | 0] = jsfBankCompact(134217728, HEAP8[$1 + 14 | 0] & 1) & 1; HEAP8[$1 + 15 | 0] = HEAP8[$1 + 13 | 0] & 1; } @@ -69364,16 +69386,16 @@ function jsiAppendToInputLine($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP32[$1 + 12 >> 2] = $0; - if (!HEAP32[87285]) { - jsvStringIteratorNew(349128, HEAP32[87276], 0); - jsvStringIteratorGotoEnd(349128); + if (!HEAP32[87313]) { + jsvStringIteratorNew(349240, HEAP32[87304], 0); + jsvStringIteratorGotoEnd(349240); } while (1) { if (HEAPU8[HEAP32[$1 + 12 >> 2]]) { $0 = HEAP32[$1 + 12 >> 2]; HEAP32[$1 + 12 >> 2] = $0 + 1; - jsvStringIteratorAppend(349128, HEAP8[$0 | 0]); - HEAP32[45089] = HEAP32[45089] + 1; + jsvStringIteratorAppend(349240, HEAP8[$0 | 0]); + HEAP32[45117] = HEAP32[45117] + 1; continue; } break; @@ -69480,7 +69502,7 @@ function jshGetEventFlagsForPin($0) { label$1: { while (1) { if (HEAP32[$1 + 8 >> 2] < 16) { - if (HEAPU8[HEAP32[$1 + 8 >> 2] + 375664 | 0] == HEAPU8[$1 + 14 | 0]) { + if (HEAPU8[HEAP32[$1 + 8 >> 2] + 375776 | 0] == HEAPU8[$1 + 14 | 0]) { HEAP8[$1 + 15 | 0] = HEAP32[$1 + 8 >> 2] + 1; break label$1; } else { @@ -69680,23 +69702,23 @@ function tflite___28anonymous_20namespace_29__AllocationInfoBuilder__AllocationI } function jswrap_banglejs_hwinit() { - graphicsStructInit(351492, 176, 176, 3); - HEAP8[351496] = 6; - HEAP8[351497] = 0; - HEAP8[351498] = 0; - HEAP8[351499] = 0; - HEAP8[351508] = 16; - HEAP8[351500] = 0; - HEAP8[351501] = 0; - HEAP8[351502] = 0; - HEAP8[351503] = 0; - HEAP8[351517] = 1; - HEAP8[351518] = 64; - lcdMemLCD_init(351492); + graphicsStructInit(351604, 176, 176, 3); + HEAP8[351608] = 6; + HEAP8[351609] = 0; + HEAP8[351610] = 0; + HEAP8[351611] = 0; + HEAP8[351620] = 16; + HEAP8[351612] = 0; + HEAP8[351613] = 0; + HEAP8[351614] = 0; + HEAP8[351615] = 0; + HEAP8[351629] = 1; + HEAP8[351630] = 64; + lcdMemLCD_init(351604); jswrap_banglejs_pwrBacklight(1); - graphicsSetCallbacks(351492); + graphicsSetCallbacks(351604); jswrap_banglejs_setTheme(); - graphicsFillRect(351492, 0, 0, 175, 175, HEAPU8[351478] | HEAPU8[351479] << 8); + graphicsFillRect(351604, 0, 0, 175, 175, HEAPU8[351590] | HEAPU8[351591] << 8); } function jsvIsInternalObjectKey($0) { @@ -69990,11 +70012,11 @@ function jspGetStackTrace() { var $0 = 0; $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; - HEAP32[$0 + 8 >> 2] = jsvFindChildFromString(HEAP32[87259], 123099); + HEAP32[$0 + 8 >> 2] = jsvFindChildFromString(HEAP32[87287], 123099); label$1: { if (HEAP32[$0 + 8 >> 2]) { HEAP32[$0 + 4 >> 2] = jsvSkipName(HEAP32[$0 + 8 >> 2]); - jsvRemoveChildAndUnLock(HEAP32[87259], HEAP32[$0 + 8 >> 2]); + jsvRemoveChildAndUnLock(HEAP32[87287], HEAP32[$0 + 8 >> 2]); HEAP32[$0 + 12 >> 2] = HEAP32[$0 + 4 >> 2]; break label$1; } @@ -70266,14 +70288,14 @@ function jswrap_interface_setSleepIndicator($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP32[$1 + 12 >> 2] = $0; - HEAP8[$1 + 11 | 0] = HEAPU8[180354]; - HEAP8[180354] = jshGetPinFromVar(HEAP32[$1 + 12 >> 2]); - if (HEAPU8[180354] != HEAPU8[$1 + 11 | 0]) { + HEAP8[$1 + 11 | 0] = HEAPU8[180466]; + HEAP8[180466] = jshGetPinFromVar(HEAP32[$1 + 12 >> 2]); + if (HEAPU8[180466] != HEAPU8[$1 + 11 | 0]) { if (HEAPU8[$1 + 11 | 0] != 255) { jshPinOutput(HEAPU8[$1 + 11 | 0], 0); } - if (HEAPU8[180354] != 255) { - jshPinOutput(HEAPU8[180354], 1); + if (HEAPU8[180466] != 255) { + jshPinOutput(HEAPU8[180466], 1); } } __stack_pointer = $1 + 16 | 0; @@ -70284,16 +70306,16 @@ function jspeiGetScopesAsVar() { $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; label$1: { - if (!HEAP32[87260]) { + if (!HEAP32[87288]) { HEAP32[$0 + 12 >> 2] = 0; break label$1; } - if ((jsvGetArrayLength(HEAP32[87260]) | 0) == 1) { - HEAP32[$0 + 8 >> 2] = jsvGetLastArrayItem(HEAP32[87260]); + if ((jsvGetArrayLength(HEAP32[87288]) | 0) == 1) { + HEAP32[$0 + 8 >> 2] = jsvGetLastArrayItem(HEAP32[87288]); HEAP32[$0 + 12 >> 2] = HEAP32[$0 + 8 >> 2]; break label$1; } - HEAP32[$0 + 12 >> 2] = jsvCopy(HEAP32[87260], 1); + HEAP32[$0 + 12 >> 2] = jsvCopy(HEAP32[87288], 1); } __stack_pointer = $0 + 16 | 0; return HEAP32[$0 + 12 >> 2]; @@ -70337,14 +70359,14 @@ function jswrap_interface_setBusyIndicator($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP32[$1 + 12 >> 2] = $0; - HEAP8[$1 + 11 | 0] = HEAPU8[180353]; - HEAP8[180353] = jshGetPinFromVar(HEAP32[$1 + 12 >> 2]); - if (HEAPU8[180353] != HEAPU8[$1 + 11 | 0]) { + HEAP8[$1 + 11 | 0] = HEAPU8[180465]; + HEAP8[180465] = jshGetPinFromVar(HEAP32[$1 + 12 >> 2]); + if (HEAPU8[180465] != HEAPU8[$1 + 11 | 0]) { if (HEAPU8[$1 + 11 | 0] != 255) { jshPinOutput(HEAPU8[$1 + 11 | 0], 0); } - if (HEAPU8[180353] != 255) { - jshPinOutput(HEAPU8[180353], 1); + if (HEAPU8[180465] != 255) { + jshPinOutput(HEAPU8[180465], 1); } } __stack_pointer = $1 + 16 | 0; @@ -70431,7 +70453,7 @@ function tflite__MicroMutableOpResolver_9u___MicroMutableOpResolver_28tflite__Er HEAP32[$2 + 8 >> 2] = $1; $0 = HEAP32[$2 + 12 >> 2]; tflite__MicroOpResolver__MicroOpResolver_28_29($0); - HEAP32[$0 >> 2] = 174760; + HEAP32[$0 >> 2] = 174872; HEAP32[$0 + 292 >> 2] = 0; HEAP32[$0 + 368 >> 2] = 0; HEAP32[$0 + 372 >> 2] = HEAP32[$2 + 8 >> 2]; @@ -70545,7 +70567,7 @@ function jswrap_banglejs_getLogo() { var $0 = 0; $0 = __stack_pointer - 496 | 0; __stack_pointer = $0; - __memcpy($0 + 16 | 0, 165584, 467); + __memcpy($0 + 16 | 0, 165696, 467); HEAP32[$0 + 12 >> 2] = jsvNewNativeString($0 + 16 | 0, 467); HEAP32[$0 + 8 >> 2] = jswrap_heatshrink_decompress(HEAP32[$0 + 12 >> 2]); HEAP32[$0 + 4 >> 2] = jsvGetArrayBufferBackingString(HEAP32[$0 + 8 >> 2], 0); @@ -70625,7 +70647,7 @@ function tflite___28anonymous_20namespace_29__MicroBuiltinDataAllocator__MicroBu HEAP32[$2 + 8 >> 2] = $1; $0 = HEAP32[$2 + 12 >> 2]; tflite__BuiltinDataAllocator__BuiltinDataAllocator_28_29($0); - HEAP32[$0 >> 2] = 174516; + HEAP32[$0 >> 2] = 174628; HEAP32[$0 + 4 >> 2] = HEAP32[$2 + 8 >> 2]; __stack_pointer = $2 + 16 | 0; return $0; @@ -70954,13 +70976,13 @@ function jsiSetBusy($0, $1) { HEAP8[$2 + 11 | 0] = $1; label$1: { if (HEAP8[$2 + 11 | 0] & 1) { - HEAP32[87280] = HEAP32[$2 + 12 >> 2] | HEAP32[87280]; + HEAP32[87308] = HEAP32[$2 + 12 >> 2] | HEAP32[87308]; break label$1; } - HEAP32[87280] = HEAP32[87280] & (HEAP32[$2 + 12 >> 2] ^ -1); + HEAP32[87308] = HEAP32[87308] & (HEAP32[$2 + 12 >> 2] ^ -1); } - if (HEAPU8[180353] != 255) { - jshPinOutput(HEAPU8[180353], HEAP32[87280] != 0); + if (HEAPU8[180465] != 255) { + jshPinOutput(HEAPU8[180465], HEAP32[87308] != 0); } __stack_pointer = $2 + 16 | 0; } @@ -71119,7 +71141,7 @@ function lcdMemLCD_convert16toLCD($0, $1, $2) { HEAP32[$3 + 12 >> 2] = $0; HEAP32[$3 + 8 >> 2] = $1; HEAP32[$3 + 4 >> 2] = $2; - HEAP32[$3 + 12 >> 2] = HEAPU16[(((HEAP32[$3 + 4 >> 2] & 1) << 2) + 164336 | 0) + ((HEAP32[$3 + 8 >> 2] & 1) << 1) >> 1] + (HEAP32[$3 + 12 >> 2] & 59164); + HEAP32[$3 + 12 >> 2] = HEAPU16[(((HEAP32[$3 + 4 >> 2] & 1) << 2) + 164448 | 0) + ((HEAP32[$3 + 8 >> 2] & 1) << 1) >> 1] + (HEAP32[$3 + 12 >> 2] & 59164); return !!(HEAP32[$3 + 12 >> 2] & 65536) | (HEAP32[$3 + 12 >> 2] & 2048 ? 2 : 0) | (HEAP32[$3 + 12 >> 2] & 32 ? 4 : 0); } @@ -71141,7 +71163,7 @@ function jswrap_espruino_setTimeZone($0) { __stack_pointer = $1; HEAPF64[$1 + 8 >> 3] = $0; jswrap_espruino_setDST(0); - $3 = HEAP32[87259]; + $3 = HEAP32[87287]; $0 = HEAPF64[$1 + 8 >> 3] * 60; label$1: { if (Math_abs($0) < 2147483648) { @@ -71183,7 +71205,7 @@ function jsiGetClassNameFromDevice($0) { HEAP32[$1 + 12 >> 2] = 0; break label$1; } - HEAP32[$1 + 12 >> 2] = jsvFindChildFromString(HEAP32[87258], HEAP32[$1 + 4 >> 2]); + HEAP32[$1 + 12 >> 2] = jsvFindChildFromString(HEAP32[87286], HEAP32[$1 + 4 >> 2]); } __stack_pointer = $1 + 16 | 0; return HEAP32[$1 + 12 >> 2]; @@ -71443,8 +71465,8 @@ function jspAppendStackTrace($0) { HEAP32[$1 + 44 >> 2] = $0; jsvStringIteratorNew($1 + 8 | 0, HEAP32[$1 + 44 >> 2], 0); jsvStringIteratorGotoEnd($1 + 8 | 0); - jslPrintPosition(2, $1 + 8 | 0, HEAP32[HEAP32[45251] + 8 >> 2]); - jslPrintTokenLineMarker(2, $1 + 8 | 0, HEAP32[HEAP32[45251] + 8 >> 2], 0); + jslPrintPosition(2, $1 + 8 | 0, HEAP32[HEAP32[45279] + 8 >> 2]); + jslPrintTokenLineMarker(2, $1 + 8 | 0, HEAP32[HEAP32[45279] + 8 >> 2], 0); jsvStringIteratorFree_4($1 + 8 | 0); __stack_pointer = $1 + 48 | 0; } @@ -71475,14 +71497,14 @@ function lcd_flip($0, $1) { HEAP32[$2 + 12 >> 2] = $0; HEAP8[$2 + 11 | 0] = $1; if (HEAP8[$2 + 11 | 0] & 1) { - HEAP8[351532] = 0; - HEAP8[351533] = 0; - HEAP8[351534] = 0; - HEAP8[351535] = 0; - HEAP8[351536] = 175; - HEAP8[351537] = 0; - HEAP8[351538] = 175; - HEAP8[351539] = 0; + HEAP8[351644] = 0; + HEAP8[351645] = 0; + HEAP8[351646] = 0; + HEAP8[351647] = 0; + HEAP8[351648] = 175; + HEAP8[351649] = 0; + HEAP8[351650] = 175; + HEAP8[351651] = 0; } graphicsInternalFlip(); __stack_pointer = $2 + 16 | 0; @@ -71798,15 +71820,15 @@ function jspeiLoadScopesFromVar($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP32[$1 + 12 >> 2] = $0; - jsvUnLock(HEAP32[87260]); - HEAP32[87260] = 0; + jsvUnLock(HEAP32[87288]); + HEAP32[87288] = 0; if (HEAP32[$1 + 12 >> 2]) { label$2: { if (jsvIsArray(HEAP32[$1 + 12 >> 2]) & 1) { - HEAP32[87260] = jsvCopy(HEAP32[$1 + 12 >> 2], 1); + HEAP32[87288] = jsvCopy(HEAP32[$1 + 12 >> 2], 1); break label$2; } - HEAP32[87260] = jsvNewArray($1 + 12 | 0, 1); + HEAP32[87288] = jsvNewArray($1 + 12 | 0, 1); } } __stack_pointer = $1 + 16 | 0; @@ -72355,14 +72377,14 @@ function jsiIsAboutToEditInputLine() { var $0 = 0; $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; - if (HEAP8[349117] & 1) { - HEAP8[349117] = 0; - if (jsiIsInHistory(HEAP32[87276]) & 1) { - HEAP32[$0 + 12 >> 2] = jsvCopy(HEAP32[87276], 0); + if (HEAP8[349229] & 1) { + HEAP8[349229] = 0; + if (jsiIsInHistory(HEAP32[87304]) & 1) { + HEAP32[$0 + 12 >> 2] = jsvCopy(HEAP32[87304], 0); if (HEAP32[$0 + 12 >> 2]) { jsiInputLineCursorMoved(); - jsvUnLock(HEAP32[87276]); - HEAP32[87276] = HEAP32[$0 + 12 >> 2]; + jsvUnLock(HEAP32[87304]); + HEAP32[87304] = HEAP32[$0 + 12 >> 2]; } } } @@ -72388,7 +72410,7 @@ function _jsiInitNamedArray($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP32[$1 + 12 >> 2] = $0; - HEAP32[$1 + 8 >> 2] = jsvObjectGetChild(HEAP32[87259], HEAP32[$1 + 12 >> 2], 3); + HEAP32[$1 + 8 >> 2] = jsvObjectGetChild(HEAP32[87287], HEAP32[$1 + 12 >> 2], 3); HEAP16[$1 + 6 >> 1] = 0; if (HEAP32[$1 + 8 >> 2]) { HEAP16[$1 + 6 >> 1] = jsvGetRef(jsvRef(HEAP32[$1 + 8 >> 2])); @@ -72576,11 +72598,11 @@ function terminalGetGFX($0) { __stack_pointer = $1; HEAP32[$1 + 8 >> 2] = $0; label$1: { - if (!(HEAPU8[351544] | HEAPU8[351545] << 8 | (HEAPU8[351546] << 16 | HEAPU8[351547] << 24))) { + if (!(HEAPU8[351656] | HEAPU8[351657] << 8 | (HEAPU8[351658] << 16 | HEAPU8[351659] << 24))) { HEAP8[$1 + 15 | 0] = 0; break label$1; } - __memcpy(HEAP32[$1 + 8 >> 2], 351492, 72); + __memcpy(HEAP32[$1 + 8 >> 2], 351604, 72); HEAP8[$1 + 15 | 0] = 1; } __stack_pointer = $1 + 16 | 0; @@ -72672,15 +72694,15 @@ function jspeiAddScope($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP32[$1 + 8 >> 2] = $0; - if (!HEAP32[87260]) { - HEAP32[87260] = jsvNewEmptyArray(); + if (!HEAP32[87288]) { + HEAP32[87288] = jsvNewEmptyArray(); } label$2: { - if (!HEAP32[87260]) { + if (!HEAP32[87288]) { HEAP8[$1 + 15 | 0] = 0; break label$2; } - jsvArrayPush(HEAP32[87260], HEAP32[$1 + 8 >> 2]); + jsvArrayPush(HEAP32[87288], HEAP32[$1 + 8 >> 2]); HEAP8[$1 + 15 | 0] = 1; } __stack_pointer = $1 + 16 | 0; @@ -72825,7 +72847,7 @@ function jshSetFlowControlAllReady() { var $0 = 0; $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; - if (HEAP8[351056] & 1) { + if (HEAP8[351168] & 1) { HEAP32[$0 + 12 >> 2] = 0; while (1) { if (HEAP32[$0 + 12 >> 2] < 2) { @@ -72835,7 +72857,7 @@ function jshSetFlowControlAllReady() { } break; } - HEAP8[351056] = 0; + HEAP8[351168] = 0; } __stack_pointer = $0 + 16 | 0; } @@ -72994,7 +73016,7 @@ function jsvTraceLockInfo($0) { HEAP32[$1 + 8 >> 2] = jsvGetLocks(HEAP32[$1 + 12 >> 2]) & 255; HEAP32[$1 + 4 >> 2] = $2 & 65535; HEAP32[$1 >> 2] = $0 & 65535; - jsiConsolePrintf(146673, $1); + jsiConsolePrintf(146771, $1); __stack_pointer = $1 + 16 | 0; } @@ -73022,9 +73044,9 @@ function jsvFreePtrInternal($0) { HEAP8[$0 + 12 | 0] = 0; HEAP8[$0 + 13 | 0] = 0; jshInterruptOff(); - jsvSetNextSibling(HEAP32[$1 + 12 >> 2], HEAPU16[90506]); - HEAP16[90506] = jsvGetRef(HEAP32[$1 + 12 >> 2]); - HEAP8[181009] = 1; + jsvSetNextSibling(HEAP32[$1 + 12 >> 2], HEAPU16[90562]); + HEAP16[90562] = jsvGetRef(HEAP32[$1 + 12 >> 2]); + HEAP8[181121] = 1; jshInterruptOn(); __stack_pointer = $1 + 16 | 0; } @@ -73066,13 +73088,13 @@ function jshSetPinShouldStayWatched($0, $1) { $2 = __stack_pointer - 16 | 0; HEAP8[$2 + 15 | 0] = $0; HEAP8[$2 + 14 | 0] = $1; - $1 = (HEAPU8[$2 + 15 | 0] >>> 5 << 2) + 349084 | 0; + $1 = (HEAPU8[$2 + 15 | 0] >>> 5 << 2) + 349196 | 0; if (HEAP8[$2 + 14 | 0] & 1) { $0 = 1 << HEAPU8[$2 + 15 | 0]; } else { $0 = 0; } - HEAP32[$1 >> 2] = $0 | HEAP32[(HEAPU8[$2 + 15 | 0] >>> 5 << 2) + 349084 >> 2] & __wasm_rotl_i32(-2, HEAPU8[$2 + 15 | 0]); + HEAP32[$1 >> 2] = $0 | HEAP32[(HEAPU8[$2 + 15 | 0] >>> 5 << 2) + 349196 >> 2] & __wasm_rotl_i32(-2, HEAPU8[$2 + 15 | 0]); } function gen_jswrap_Float64Array_Float64Array($0, $1, $2) { @@ -73137,13 +73159,13 @@ function jshSetPinStateIsManual($0, $1) { $2 = __stack_pointer - 16 | 0; HEAP8[$2 + 15 | 0] = $0; HEAP8[$2 + 14 | 0] = $1; - $1 = (HEAPU8[$2 + 15 | 0] >>> 5 << 2) + 349076 | 0; + $1 = (HEAPU8[$2 + 15 | 0] >>> 5 << 2) + 349188 | 0; if (HEAP8[$2 + 14 | 0] & 1) { $0 = 1 << HEAPU8[$2 + 15 | 0]; } else { $0 = 0; } - HEAP32[$1 >> 2] = $0 | HEAP32[(HEAPU8[$2 + 15 | 0] >>> 5 << 2) + 349076 >> 2] & __wasm_rotl_i32(-2, HEAPU8[$2 + 15 | 0]); + HEAP32[$1 >> 2] = $0 | HEAP32[(HEAPU8[$2 + 15 | 0] >>> 5 << 2) + 349188 >> 2] & __wasm_rotl_i32(-2, HEAPU8[$2 + 15 | 0]); } function gen_jswrap_Uint32Array_Uint32Array($0, $1, $2) { @@ -73269,14 +73291,14 @@ function jsiClearInputLine($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP8[$1 + 15 | 0] = $0; - if (!(jsvIsEmptyString(HEAP32[87276]) & 1)) { + if (!(jsvIsEmptyString(HEAP32[87304]) & 1)) { if (HEAP8[$1 + 15 | 0] & 1) { jsiConsoleRemoveInputLine(); } jsiInputLineCursorMoved(); - jsvUnLock(HEAP32[87276]); - HEAP32[87276] = jsvNewFromEmptyString_5(); - HEAP32[87278] = 0; + jsvUnLock(HEAP32[87304]); + HEAP32[87304] = jsvNewFromEmptyString_5(); + HEAP32[87306] = 0; } __stack_pointer = $1 + 16 | 0; } @@ -73515,7 +73537,7 @@ function jslMatch($0) { __stack_pointer = $1; HEAP32[$1 + 8 >> 2] = $0; label$1: { - if (HEAP16[HEAP32[45251] + 2 >> 1] != HEAP32[$1 + 8 >> 2]) { + if (HEAP16[HEAP32[45279] + 2 >> 1] != HEAP32[$1 + 8 >> 2]) { jslMatchError(HEAP32[$1 + 8 >> 2]); HEAP8[$1 + 15 | 0] = 0; break label$1; @@ -73533,8 +73555,8 @@ function jshGetEventDataPin($0) { HEAP8[$1 + 14 | 0] = $0; HEAP32[$1 + 8 >> 2] = HEAPU8[$1 + 14 | 0] - 1; label$1: { - if ((HEAP32[(HEAP32[$1 + 8 >> 2] << 2) + 349200 >> 2] & -256) == -256) { - HEAP8[$1 + 15 | 0] = HEAP32[(HEAP32[$1 + 8 >> 2] << 2) + 349200 >> 2]; + if ((HEAP32[(HEAP32[$1 + 8 >> 2] << 2) + 349312 >> 2] & -256) == -256) { + HEAP8[$1 + 15 | 0] = HEAP32[(HEAP32[$1 + 8 >> 2] << 2) + 349312 >> 2]; break label$1; } HEAP8[$1 + 15 | 0] = 255; @@ -73650,12 +73672,12 @@ function jspeCheckBreakContinue() { $0 = __stack_pointer - 16 | 0; label$1: { label$2: { - if (HEAP32[87266] & 4) { - HEAP32[87266] = HEAP32[87266] & -64 | 1; + if (HEAP32[87294] & 4) { + HEAP32[87294] = HEAP32[87294] & -64 | 1; break label$2; } - if (HEAP32[87266] & 2) { - HEAP32[87266] = HEAP32[87266] & -64 | 1; + if (HEAP32[87294] & 2) { + HEAP32[87294] = HEAP32[87294] & -64 | 1; HEAP8[$0 + 15 | 0] = 1; break label$1; } @@ -73819,11 +73841,11 @@ function jsvTrace($0, $1) { __stack_pointer = $2; HEAP32[$2 + 12 >> 2] = $0; HEAP32[$2 + 8 >> 2] = $1; - HEAP8[$2 + 7 | 0] = HEAPU8[181010]; - HEAP8[181010] = 0; + HEAP8[$2 + 7 | 0] = HEAPU8[181122]; + HEAP8[181122] = 0; _jsvTrace(HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], 0); - HEAP8[181010] = HEAPU8[$2 + 7 | 0]; - jsiConsolePrintf(148653, 0); + HEAP8[181122] = HEAPU8[$2 + 7 | 0]; + jsiConsolePrintf(148751, 0); __stack_pointer = $2 + 16 | 0; } @@ -74693,7 +74715,7 @@ function jspeBlockOrStatement() { $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; label$1: { - if (HEAP16[HEAP32[45251] + 2 >> 1] == 123) { + if (HEAP16[HEAP32[45279] + 2 >> 1] == 123) { jspeBlock(); HEAP32[$0 + 12 >> 2] = 0; break label$1; @@ -74977,7 +74999,7 @@ function jswrap_espruino_memoryMap($0, $1) { HEAP32[$2 + 8 >> 2] = $1; HEAP32[$2 >> 2] = HEAP32[$2 + 12 >> 2]; HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 8 >> 2]; - $0 = jspExecuteJSFunction(140578, 0, 2, $2); + $0 = jspExecuteJSFunction(140676, 0, 2, $2); __stack_pointer = $2 + 16 | 0; return $0 | 0; } @@ -75019,11 +75041,11 @@ function jslGetTokenLength() { $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; label$1: { - if (HEAP32[HEAP32[45251] + 76 >> 2]) { - HEAP32[$0 + 12 >> 2] = jsvGetStringLength(HEAP32[HEAP32[45251] + 76 >> 2]); + if (HEAP32[HEAP32[45279] + 76 >> 2]) { + HEAP32[$0 + 12 >> 2] = jsvGetStringLength(HEAP32[HEAP32[45279] + 76 >> 2]); break label$1; } - HEAP32[$0 + 12 >> 2] = HEAPU8[HEAP32[45251] + 80 | 0]; + HEAP32[$0 + 12 >> 2] = HEAPU8[HEAP32[45279] + 80 | 0]; } __stack_pointer = $0 + 16 | 0; return HEAP32[$0 + 12 >> 2]; @@ -75044,15 +75066,15 @@ function tflite__ParseDequantize_28tflite__Operator_20const__2c_20tflite__ErrorR } function jsiConsoleReturnInputLine() { - if (HEAP8[349108] & 1) { - HEAP8[349108] = 0; + if (HEAP8[349220] & 1) { + HEAP8[349220] = 0; if (jsiEcho() & 1) { if (jsiPasswordProtected() & 1) { jsiConsolePrintString(123115); } jsiConsolePrintChar(62); - jsiConsolePrintStringVarWithNewLineChar(HEAP32[87276], 0, 58); - jsiMoveCursorChar(HEAP32[87276], jsvGetStringLength(HEAP32[87276]), HEAP32[87278]); + jsiConsolePrintStringVarWithNewLineChar(HEAP32[87304], 0, 58); + jsiMoveCursorChar(HEAP32[87304], jsvGetStringLength(HEAP32[87304]), HEAP32[87306]); } } } @@ -75070,16 +75092,16 @@ function jsvStringIteratorSetChar($0, $1) { } function jslKill() { - HEAP16[HEAP32[45251] + 2 >> 1] = 0; - if (HEAP32[HEAP32[45251] + 100 >> 2]) { - jsvLockAgain(HEAP32[HEAP32[45251] + 100 >> 2]); + HEAP16[HEAP32[45279] + 2 >> 1] = 0; + if (HEAP32[HEAP32[45279] + 100 >> 2]) { + jsvLockAgain(HEAP32[HEAP32[45279] + 100 >> 2]); } - jsvStringIteratorFree(HEAP32[45251] + 88 | 0); - if (HEAP32[HEAP32[45251] + 76 >> 2]) { - jsvUnLock(HEAP32[HEAP32[45251] + 76 >> 2]); - HEAP32[HEAP32[45251] + 76 >> 2] = 0; + jsvStringIteratorFree(HEAP32[45279] + 88 | 0); + if (HEAP32[HEAP32[45279] + 76 >> 2]) { + jsvUnLock(HEAP32[HEAP32[45279] + 76 >> 2]); + HEAP32[HEAP32[45279] + 76 >> 2] = 0; } - jsvUnLock(HEAP32[HEAP32[45251] + 84 >> 2]); + jsvUnLock(HEAP32[HEAP32[45279] + 84 >> 2]); } function gen_jswrap_E_showPrompt($0, $1) { @@ -75092,7 +75114,7 @@ function gen_jswrap_E_showPrompt($0, $1) { HEAP32[$2 + 8 >> 2] = $1; HEAP32[$2 >> 2] = HEAP32[$2 + 12 >> 2]; HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 8 >> 2]; - $0 = jspExecuteJSFunction(140924, 0, 2, $2); + $0 = jspExecuteJSFunction(141022, 0, 2, $2); __stack_pointer = $2 + 16 | 0; return $0 | 0; } @@ -75121,7 +75143,7 @@ function gen_jswrap_E_showAlert($0, $1) { HEAP32[$2 + 8 >> 2] = $1; HEAP32[$2 >> 2] = HEAP32[$2 + 12 >> 2]; HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 8 >> 2]; - $0 = jspExecuteJSFunction(142379, 0, 2, $2); + $0 = jspExecuteJSFunction(142477, 0, 2, $2); __stack_pointer = $2 + 16 | 0; return $0 | 0; } @@ -75241,14 +75263,14 @@ function jshInit() { HEAP32[$0 + 12 >> 2] = 0; while (1) { if (HEAP32[$0 + 12 >> 2] < 16) { - HEAP8[HEAP32[$0 + 12 >> 2] + 375664 | 0] = 255; + HEAP8[HEAP32[$0 + 12 >> 2] + 375776 | 0] = 255; HEAP32[$0 + 12 >> 2] = HEAP32[$0 + 12 >> 2] + 1; continue; } break; } jshInitDevices(); - HEAP8[180364] = 1; + HEAP8[180476] = 1; __stack_pointer = $0 + 16 | 0; } @@ -75301,7 +75323,7 @@ function jspeStatementThrow() { HEAP32[$0 + 12 >> 2] = 0; jslGetNextToken(); HEAP32[$0 + 12 >> 2] = jsvSkipNameAndUnLock(jspeExpression()); - if ((HEAP32[87266] & 63) == 1) { + if ((HEAP32[87294] & 63) == 1) { jspSetException(HEAP32[$0 + 12 >> 2]); } jsvUnLock(HEAP32[$0 + 12 >> 2]); @@ -75414,7 +75436,7 @@ function gen_jswrap_E_showMessage($0, $1) { HEAP32[$2 + 8 >> 2] = $1; HEAP32[$2 >> 2] = HEAP32[$2 + 12 >> 2]; HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 8 >> 2]; - jsvUnLock(jspExecuteJSFunction(142701, 0, 2, $2)); + jsvUnLock(jspExecuteJSFunction(142799, 0, 2, $2)); __stack_pointer = $2 + 16 | 0; } @@ -75574,7 +75596,7 @@ function lcdMemLCD_waitForSendComplete() { HEAP32[$1 + 12 >> 2] = 1e6; while (1) { $0 = 0; - if (HEAP8[375640] & 1) { + if (HEAP8[375752] & 1) { $0 = HEAP32[$1 + 12 >> 2] - 1 | 0; HEAP32[$1 + 12 >> 2] = $0; $0 = ($0 | 0) != 0; @@ -75584,8 +75606,8 @@ function lcdMemLCD_waitForSendComplete() { } break; } - if (HEAP8[375640] & 1) { - HEAP8[375640] = 0; + if (HEAP8[375752] & 1) { + HEAP8[375752] = 0; } } @@ -75772,7 +75794,7 @@ function jsiTimerAdd($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP32[$1 + 12 >> 2] = $0; - HEAP32[$1 + 8 >> 2] = jsvLock(HEAPU16[174548]); + HEAP32[$1 + 8 >> 2] = jsvLock(HEAPU16[174604]); HEAP32[$1 + 4 >> 2] = jsvArrayAddToEnd(HEAP32[$1 + 8 >> 2], HEAP32[$1 + 12 >> 2], 1) - 1; jsvUnLock(HEAP32[$1 + 8 >> 2]); __stack_pointer = $1 + 16 | 0; @@ -75944,7 +75966,7 @@ function jswrap_espruino_setPassword($0) { if (HEAP32[$1 + 12 >> 2]) { HEAP32[$1 + 12 >> 2] = jsvAsString(HEAP32[$1 + 12 >> 2]); } - jsvUnLock(jsvObjectSetChild(HEAP32[87259], 123106, HEAP32[$1 + 12 >> 2])); + jsvUnLock(jsvObjectSetChild(HEAP32[87287], 123106, HEAP32[$1 + 12 >> 2])); __stack_pointer = $1 + 16 | 0; } @@ -76132,7 +76154,7 @@ function jsGfxGetPtr($0) { HEAP32[$1 + 12 >> 2] = 0; break label$1; } - HEAP32[$1 + 12 >> 2] = Math_imul(HEAP32[$1 + 8 >> 2], 68) + 351570; + HEAP32[$1 + 12 >> 2] = Math_imul(HEAP32[$1 + 8 >> 2], 68) + 351682; } return HEAP32[$1 + 12 >> 2]; } @@ -76177,11 +76199,11 @@ function jshIsTopEvent($0) { $1 = __stack_pointer - 16 | 0; HEAP8[$1 + 14 | 0] = $0; label$1: { - if (HEAPU8[349180] == HEAPU8[349181]) { + if (HEAPU8[349292] == HEAPU8[349293]) { HEAP8[$1 + 15 | 0] = 0; break label$1; } - HEAP8[$1 + 15 | 0] = HEAPU8[$1 + 14 | 0] == (HEAPU8[Math_imul(HEAPU8[349181], 5) + 349776 | 0] & 31); + HEAP8[$1 + 15 | 0] = HEAPU8[$1 + 14 | 0] == (HEAPU8[Math_imul(HEAPU8[349293], 5) + 349888 | 0] & 31); } return HEAP8[$1 + 15 | 0] & 1; } @@ -76201,7 +76223,7 @@ function lcdMemLCD_extcominBacklight($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP8[$1 + 15 | 0] = $0; - HEAP8[375652] = HEAP8[$1 + 15 | 0] & 1; + HEAP8[375764] = HEAP8[$1 + 15 | 0] & 1; label$1: { if (HEAP8[$1 + 15 | 0] & 1) { jshPinAnalogOutput(6, 3e-4, 120, 0); @@ -76363,7 +76385,7 @@ function jshGetDeviceToTransmit() { HEAP8[$0 + 15 | 0] = 0; break label$1; } - HEAP8[$0 + 15 | 0] = HEAPU8[(HEAPU8[349179] << 1) + 349264 | 0] & 31; + HEAP8[$0 + 15 | 0] = HEAPU8[(HEAPU8[349291] << 1) + 349376 | 0] & 31; } __stack_pointer = $0 + 16 | 0; return HEAPU8[$0 + 15 | 0]; @@ -76420,10 +76442,10 @@ function jsError($0, $1) { __stack_pointer = $2; HEAP32[$2 + 12 >> 2] = $0; jsiConsoleRemoveInputLine(); - jsiConsolePrintString(146758); + jsiConsolePrintString(146856); HEAP32[$2 + 8 >> 2] = $1; vcbprintf(7, 0, HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); - jsiConsolePrintString(148653); + jsiConsolePrintString(148751); __stack_pointer = $2 + 16 | 0; } @@ -76453,10 +76475,10 @@ function jsWarn($0, $1) { __stack_pointer = $2; HEAP32[$2 + 12 >> 2] = $0; jsiConsoleRemoveInputLine(); - jsiConsolePrintString(146766); + jsiConsolePrintString(146864); HEAP32[$2 + 8 >> 2] = $1; vcbprintf(7, 0, HEAP32[$2 + 12 >> 2], HEAP32[$2 + 8 >> 2]); - jsiConsolePrintString(148653); + jsiConsolePrintString(148751); __stack_pointer = $2 + 16 | 0; } @@ -76738,13 +76760,13 @@ function jspeBlockEnd($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP32[$1 + 12 >> 2] = $0; - if (HEAP32[87262]) { + if (HEAP32[87290]) { jspeiRemoveScope(); - jsvUnLock(HEAP32[87262]); - HEAP32[87262] = 0; + jsvUnLock(HEAP32[87290]); + HEAP32[87290] = 0; } - HEAP32[87262] = HEAP32[$1 + 12 >> 2]; - HEAP8[349052] = HEAPU8[349052] - 1; + HEAP32[87290] = HEAP32[$1 + 12 >> 2]; + HEAP8[349164] = HEAPU8[349164] - 1; __stack_pointer = $1 + 16 | 0; } @@ -76889,7 +76911,7 @@ function jswrap_trace($0) { HEAP32[$1 + 12 >> 2] = $0; label$1: { if (jsvIsUndefined(HEAP32[$1 + 12 >> 2]) & 1) { - jsvTrace(HEAP32[87258], 0); + jsvTrace(HEAP32[87286], 0); break label$1; } jsvTrace(HEAP32[$1 + 12 >> 2], 0); @@ -76992,9 +77014,9 @@ function jswrap_espruino_lockConsole() { var $0 = 0; $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; - HEAP32[$0 + 12 >> 2] = jsvObjectGetChildIfExists(HEAP32[87259], 123106); + HEAP32[$0 + 12 >> 2] = jsvObjectGetChildIfExists(HEAP32[87287], 123106); if (HEAP32[$0 + 12 >> 2]) { - HEAP16[174550] = HEAPU16[174550] | 1024; + HEAP16[174606] = HEAPU16[174606] | 1024; } jsvUnLock(HEAP32[$0 + 12 >> 2]); __stack_pointer = $0 + 16 | 0; @@ -77013,7 +77035,7 @@ function jshGetSystemTime() { var $0 = 0, $1 = 0; $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; - HEAP32[$0 + 12 >> 2] = 180849; + HEAP32[$0 + 12 >> 2] = 180961; $1 = HEAP32[$0 + 12 >> 2]; HEAP8[$0 + 11 | 0] = 0; $1 = jshGetTimeFromMilliseconds(+emscripten_asm_const_double($1 | 0, $0 + 11 | 0, 0)); @@ -77183,7 +77205,7 @@ function tflite__EspruinoErrorReporter__EspruinoErrorReporter_28_29($0) { HEAP32[$1 + 12 >> 2] = $0; $0 = HEAP32[$1 + 12 >> 2]; tflite__ErrorReporter__ErrorReporter_28_29($0); - HEAP32[$0 >> 2] = 174720; + HEAP32[$0 >> 2] = 174832; __stack_pointer = $1 + 16 | 0; return $0; } @@ -77249,33 +77271,33 @@ function jsvStringIteratorNewUTF8($0, $1, $2) { function jspeiRemoveScope() { label$1: { - if (!HEAP32[87260]) { + if (!HEAP32[87288]) { break label$1; } - if (!jsvGetArrayLength(HEAP32[87260])) { + if (!jsvGetArrayLength(HEAP32[87288])) { break label$1; } - jsvUnLock(jsvArrayPop(HEAP32[87260])); - if (jsvGetFirstChild(HEAP32[87260]) & 65535) { + jsvUnLock(jsvArrayPop(HEAP32[87288])); + if (jsvGetFirstChild(HEAP32[87288]) & 65535) { break label$1; } - jsvUnLock(HEAP32[87260]); - HEAP32[87260] = 0; + jsvUnLock(HEAP32[87288]); + HEAP32[87288] = 0; } } function jsfResetStorage() { - jsiConsolePrintf(148283, 0); + jsiConsolePrintf(148381, 0); jsfEraseAll(); - jsiConsolePrintf(148122, 0); + jsiConsolePrintf(148220, 0); label$1: { if (HEAP32[256] < 8388608) { - jsiConsolePrintf(146788, 0); + jsiConsolePrintf(146886, 0); jsfResetStorage_progress(1040, 134217728, HEAP32[256]); - jsiConsolePrintf(148104, 0); + jsiConsolePrintf(148202, 0); break label$1; } - jsWarn(148584, 0); + jsWarn(148682, 0); } } @@ -77287,7 +77309,7 @@ function btn1Handler($0, $1) { __stack_pointer = $2; HEAP8[$2 + 15 | 0] = $0; HEAP8[$2 + 14 | 0] = $1; - if (!(HEAP32[93921] & 2097152)) { + if (!(HEAP32[93949] & 2097152)) { btnHandlerCommon(1, HEAP8[$2 + 15 | 0] & 1, HEAPU8[$2 + 14 | 0]); } __stack_pointer = $2 + 16 | 0; @@ -77316,12 +77338,12 @@ function jswrap_espruino_reverseByte($0) { function jstRestartUtilTimer() { var $0 = 0; - $0 = Math_imul(HEAPU8[351058], 25) + 351072 | 0; - HEAP32[87766] = HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24); - if (HEAP32[87766] < 0) { - HEAP32[87766] = 0; + $0 = Math_imul(HEAPU8[351170], 25) + 351184 | 0; + HEAP32[87794] = HEAPU8[$0 | 0] | HEAPU8[$0 + 1 | 0] << 8 | (HEAPU8[$0 + 2 | 0] << 16 | HEAPU8[$0 + 3 | 0] << 24); + if (HEAP32[87794] < 0) { + HEAP32[87794] = 0; } - $0 = HEAP32[87766]; + $0 = HEAP32[87794]; jshUtilTimerStart($0, $0 >> 31); } @@ -77332,10 +77354,10 @@ function jsfSetFlag($0, $1) { HEAP8[$2 + 14 | 0] = $1; label$1: { if (HEAP8[$2 + 14 | 0] & 1) { - HEAP8[181008] = HEAPU8[$2 + 15 | 0] | HEAPU8[181008]; + HEAP8[181120] = HEAPU8[$2 + 15 | 0] | HEAPU8[181120]; break label$1; } - HEAP8[181008] = HEAPU8[181008] & (HEAPU8[$2 + 15 | 0] ^ -1); + HEAP8[181120] = HEAPU8[181120] & (HEAPU8[$2 + 15 | 0] ^ -1); } } @@ -77444,14 +77466,14 @@ function jsiHandleHome() { var $0 = 0; while (1) { $0 = 0; - if (HEAP32[87278]) { - $0 = (jsvGetCharInString(HEAP32[87276], HEAP32[87278] - 1 | 0) | 0) != 10; + if (HEAP32[87306]) { + $0 = (jsvGetCharInString(HEAP32[87304], HEAP32[87306] - 1 | 0) | 0) != 10; } if ($0) { if (jsiShowInputLine() & 1) { jsiConsolePrintChar(8); } - HEAP32[87278] = HEAP32[87278] - 1; + HEAP32[87306] = HEAP32[87306] - 1; continue; } break; @@ -77556,19 +77578,19 @@ function jswrap_pin_mode($0, $1) { } function jswrap_banglejs_setTheme() { - HEAP8[351476] = 0; - HEAP8[351477] = 0; - HEAP8[351478] = 255; - HEAP8[351479] = 255; - HEAP8[351480] = 0; - HEAP8[351481] = 0; - HEAP8[351482] = 255; - HEAP8[351483] = 191; - HEAP8[351484] = 0; - HEAP8[351485] = 0; - HEAP8[351486] = 255; - HEAP8[351487] = 7; - HEAP8[351488] = 0; + HEAP8[351588] = 0; + HEAP8[351589] = 0; + HEAP8[351590] = 255; + HEAP8[351591] = 255; + HEAP8[351592] = 0; + HEAP8[351593] = 0; + HEAP8[351594] = 255; + HEAP8[351595] = 191; + HEAP8[351596] = 0; + HEAP8[351597] = 0; + HEAP8[351598] = 255; + HEAP8[351599] = 7; + HEAP8[351600] = 0; } function _jswrap_prombox_resolve($0, $1) { @@ -77599,9 +77621,9 @@ function jslTokenAppendChar($0) { var $1 = 0, $2 = 0; $1 = __stack_pointer - 16 | 0; HEAP8[$1 + 15 | 0] = $0; - if (HEAPU8[HEAP32[45251] + 80 | 0] < 63) { + if (HEAPU8[HEAP32[45279] + 80 | 0] < 63) { $2 = HEAPU8[$1 + 15 | 0]; - $0 = HEAP32[45251]; + $0 = HEAP32[45279]; $1 = HEAPU8[$0 + 80 | 0]; HEAP8[$0 + 80 | 0] = $1 + 1; HEAP8[($0 + 12 | 0) + $1 | 0] = $2; @@ -77621,19 +77643,19 @@ function _jswrap_prombox_reject($0, $1) { } function jswrap_graphics_init() { - HEAP8[351476] = 255; - HEAP8[351477] = 255; - HEAP8[351478] = 0; - HEAP8[351479] = 0; - HEAP8[351480] = 255; - HEAP8[351481] = 255; - HEAP8[351482] = 0; - HEAP8[351483] = 0; - HEAP8[351484] = 255; - HEAP8[351485] = 255; - HEAP8[351486] = 0; - HEAP8[351487] = 0; - HEAP8[351488] = 1; + HEAP8[351588] = 255; + HEAP8[351589] = 255; + HEAP8[351590] = 0; + HEAP8[351591] = 0; + HEAP8[351592] = 255; + HEAP8[351593] = 255; + HEAP8[351594] = 0; + HEAP8[351595] = 0; + HEAP8[351596] = 255; + HEAP8[351597] = 255; + HEAP8[351598] = 0; + HEAP8[351599] = 0; + HEAP8[351600] = 1; } function jsfGetJSON($0, $1, $2) { @@ -77651,17 +77673,17 @@ function jsiLoop() { jshIdle(); jsiIdle(); jsiCheckErrors(); - if (HEAP32[87266] & 6144) { - HEAP32[87266] = HEAP32[87266] & -6145; + if (HEAP32[87294] & 6144) { + HEAP32[87294] = HEAP32[87294] & -6145; label$2: { - if (!(jsvIsEmptyString(HEAP32[87276]) & 1)) { + if (!(jsvIsEmptyString(HEAP32[87304]) & 1)) { break label$2; } } jsiClearInputLine(1); } jsiConsoleReturnInputLine(); - return !HEAPU8[349118]; + return !HEAPU8[349230]; } function jsvSetInteger($0, $1) { var $2 = 0; @@ -77768,7 +77790,7 @@ function tflite__MicroOpResolver__MicroOpResolver_28_29($0) { HEAP32[$1 + 12 >> 2] = $0; $0 = HEAP32[$1 + 12 >> 2]; tflite__OpResolver__OpResolver_28_29($0); - HEAP32[$0 >> 2] = 174800; + HEAP32[$0 >> 2] = 174912; __stack_pointer = $1 + 16 | 0; return $0; } @@ -77792,7 +77814,7 @@ function jsvGetRef($0) { HEAP16[$1 + 14 >> 1] = 0; break label$1; } - HEAP16[$1 + 14 >> 1] = ((HEAP32[$1 + 8 >> 2] - 181016 | 0) / 14 | 0) + 1; + HEAP16[$1 + 14 >> 1] = ((HEAP32[$1 + 8 >> 2] - 181128 | 0) / 14 | 0) + 1; } return HEAPU16[$1 + 14 >> 1]; } @@ -77958,18 +77980,18 @@ function jslCharPosFromLex($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP32[$1 + 12 >> 2] = $0; - jsvStringIteratorClone(HEAP32[$1 + 12 >> 2], HEAP32[45251] + 88 | 0); - HEAP8[HEAP32[$1 + 12 >> 2] + 36 | 0] = HEAPU8[HEAP32[45251]]; + jsvStringIteratorClone(HEAP32[$1 + 12 >> 2], HEAP32[45279] + 88 | 0); + HEAP8[HEAP32[$1 + 12 >> 2] + 36 | 0] = HEAPU8[HEAP32[45279]]; __stack_pointer = $1 + 16 | 0; } function jshGetEventsUsed() { var $0 = 0, $1 = 0; $0 = __stack_pointer - 16 | 0; - if (HEAPU8[349180] >= HEAPU8[349181]) { - $1 = HEAPU8[349180] - HEAPU8[349181] | 0; + if (HEAPU8[349292] >= HEAPU8[349293]) { + $1 = HEAPU8[349292] - HEAPU8[349293] | 0; } else { - $1 = (HEAPU8[349180] + 256 | 0) - HEAPU8[349181] | 0; + $1 = (HEAPU8[349292] + 256 | 0) - HEAPU8[349293] | 0; } HEAP32[$0 + 12 >> 2] = $1; return HEAP32[$0 + 12 >> 2]; @@ -78290,8 +78312,8 @@ function jswrap_espruino_getErrorFlags() { var $0 = 0, $1 = 0; $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; - HEAP8[$0 + 15 | 0] = HEAPU8[349030]; - HEAP8[349030] = 0; + HEAP8[$0 + 15 | 0] = HEAPU8[349142]; + HEAP8[349142] = 0; $1 = jswrap_espruino_getErrorFlagArray(HEAPU8[$0 + 15 | 0]); __stack_pointer = $0 + 16 | 0; return $1 | 0; @@ -78404,7 +78426,7 @@ function gen_jswrap_Bangle_load($0) { __stack_pointer = $1; HEAP32[$1 + 12 >> 2] = $0; HEAP32[$1 + 8 >> 2] = HEAP32[$1 + 12 >> 2]; - jsvUnLock(jspExecuteJSFunction(143304, 0, 1, $1 + 8 | 0)); + jsvUnLock(jspExecuteJSFunction(143402, 0, 1, $1 + 8 | 0)); __stack_pointer = $1 + 16 | 0; } @@ -78434,8 +78456,8 @@ function jswrap_interface_load($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP32[$1 + 12 >> 2] = $0; - HEAP16[174550] = HEAPU16[174550] | 64; - jsvObjectSetChild(HEAP32[87259], 124482, HEAP32[$1 + 12 >> 2]); + HEAP16[174606] = HEAPU16[174606] | 64; + jsvObjectSetChild(HEAP32[87287], 124482, HEAP32[$1 + 12 >> 2]); __stack_pointer = $1 + 16 | 0; } @@ -78529,7 +78551,7 @@ function jswrap_banglejs_factoryReset($0) { HEAP8[$1 + 15 | 0] = $0; jsfResetStorage(); if (!(HEAP8[$1 + 15 | 0] & 1)) { - HEAP16[174550] = HEAPU16[174550] | 64; + HEAP16[174606] = HEAPU16[174606] | 64; } __stack_pointer = $1 + 16 | 0; } @@ -78574,7 +78596,7 @@ function jswrap_interface_reset($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP8[$1 + 15 | 0] = $0; - HEAP16[174550] = HEAPU16[174550] | 128; + HEAP16[174606] = HEAPU16[174606] | 128; if (HEAP8[$1 + 15 | 0] & 1) { jsfRemoveCodeFromFlash(); } @@ -78873,10 +78895,10 @@ function jswrap_interface_echo($0) { HEAP8[$1 + 15 | 0] = $0; label$1: { if (HEAP8[$1 + 15 | 0] & 1) { - HEAP16[174550] = HEAPU16[174550] & -2; + HEAP16[174606] = HEAPU16[174606] & -2; break label$1; } - HEAP16[174550] = HEAPU16[174550] | 1; + HEAP16[174606] = HEAPU16[174606] | 1; } } @@ -78895,7 +78917,7 @@ function jshBusyIdle() { var $0 = 0, $1 = 0; $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; - HEAP32[$0 + 12 >> 2] = 180777; + HEAP32[$0 + 12 >> 2] = 180889; $1 = HEAP32[$0 + 12 >> 2]; HEAP8[$0 + 11 | 0] = 0; emscripten_asm_const_int($1 | 0, $0 + 11 | 0, 0) | 0; @@ -79149,7 +79171,7 @@ function jsserialGetSerialList($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP8[$1 + 15 | 0] = $0; - $0 = jsvObjectGetChild(HEAP32[87259], 120594, (HEAP8[$1 + 15 | 0] & 1 ? 3 : 0) & 65535); + $0 = jsvObjectGetChild(HEAP32[87287], 120594, (HEAP8[$1 + 15 | 0] & 1 ? 3 : 0) & 65535); __stack_pointer = $1 + 16 | 0; return $0; } @@ -79213,8 +79235,8 @@ function srand($0) { var $1 = 0; $1 = __stack_pointer - 16 | 0; HEAP32[$1 + 12 >> 2] = $0; - HEAP32[45086] = HEAP32[$1 + 12 >> 2] & 65535 | HEAP32[$1 + 12 >> 2] << 16; - HEAP32[45087] = HEAP32[$1 + 12 >> 2] & -65536 | HEAP32[$1 + 12 >> 2] >>> 16; + HEAP32[45114] = HEAP32[$1 + 12 >> 2] & 65535 | HEAP32[$1 + 12 >> 2] << 16; + HEAP32[45115] = HEAP32[$1 + 12 >> 2] & -65536 | HEAP32[$1 + 12 >> 2] >>> 16; } function short__20tflite__micro__GetTensorData_short__28TfLiteEvalTensor__29($0) { @@ -79405,10 +79427,10 @@ function jswrap_date_getSeconds($0) { function jsiOneSecondAfterStartup() { label$1: { - if (HEAPU8[180352] == 19) { - HEAP8[180352] = jsiGetPreferredConsoleDevice(); - jshTransmitMove(19, HEAPU8[180352]); - jshUSARTKick(HEAPU8[180352]); + if (HEAPU8[180464] == 19) { + HEAP8[180464] = jsiGetPreferredConsoleDevice(); + jshTransmitMove(19, HEAPU8[180464]); + jshUSARTKick(HEAPU8[180464]); break label$1; } jshTransmitClearDevice(19); @@ -79471,10 +79493,10 @@ function jsvIsFunctionReturn($0) { } function jsiConsoleRemoveInputLine() { - if (!(HEAP8[349108] & 1)) { - HEAP8[349108] = 1; - if (!(!(jsiEcho() & 1) | !HEAP32[87276])) { - jsiMoveCursorChar(HEAP32[87276], HEAP32[87278], 0); + if (!(HEAP8[349220] & 1)) { + HEAP8[349220] = 1; + if (!(!(jsiEcho() & 1) | !HEAP32[87304])) { + jsiMoveCursorChar(HEAP32[87304], HEAP32[87306], 0); jsiConsolePrintChar(13); jsiConsoleEraseAfterCursor(); } @@ -79541,7 +79563,7 @@ function pipeGetArray($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP8[$1 + 15 | 0] = $0; - $0 = jsvObjectGetChild(HEAP32[87259], 117928, (HEAP8[$1 + 15 | 0] & 1 ? 3 : 0) & 65535); + $0 = jsvObjectGetChild(HEAP32[87287], 117928, (HEAP8[$1 + 15 | 0] & 1 ? 3 : 0) & 65535); __stack_pointer = $1 + 16 | 0; return $0; } @@ -79645,8 +79667,8 @@ function jsiInit($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP8[$1 + 15 | 0] = $0; - HEAP16[174550] = 6144; - HEAP8[180352] = 19; + HEAP16[174606] = 6144; + HEAP8[180464] = 19; jsiSemiInit(HEAP8[$1 + 15 | 0] & 1, 0); jsiSetBusy(1, 0); __stack_pointer = $1 + 16 | 0; @@ -79709,7 +79731,7 @@ function jshGetWatchedPinState($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP8[$1 + 15 | 0] = $0; - $0 = jshPinGetValue(HEAPU8[(HEAPU8[$1 + 15 | 0] - 1 | 0) + 375664 | 0]); + $0 = jshPinGetValue(HEAPU8[(HEAPU8[$1 + 15 | 0] - 1 | 0) + 375776 | 0]); __stack_pointer = $1 + 16 | 0; return $0 & 1; } @@ -79735,9 +79757,9 @@ function tflite___28anonymous_20namespace_29__AllocationInfoBuilder__Size_28_29_ } function rand() { - HEAP32[45087] = Math_imul(HEAP32[45087] & 65535, 36969) + (HEAP32[45087] >>> 16 | 0); - HEAP32[45086] = Math_imul(HEAP32[45086] & 65535, 18e3) + (HEAP32[45086] >>> 16 | 0); - return HEAP32[45086] + (HEAP32[45087] << 16) & 2147483647; + HEAP32[45115] = Math_imul(HEAP32[45115] & 65535, 36969) + (HEAP32[45115] >>> 16 | 0); + HEAP32[45114] = Math_imul(HEAP32[45114] & 65535, 18e3) + (HEAP32[45114] >>> 16 | 0); + return HEAP32[45114] + (HEAP32[45115] << 16) & 2147483647; } function jswrap_graphics_asBMP($0) { @@ -79777,10 +79799,10 @@ function jspSetInterrupted($0) { HEAP8[$1 + 15 | 0] = $0; label$1: { if (HEAP8[$1 + 15 | 0] & 1) { - HEAP32[87266] = HEAP32[87266] | 16; + HEAP32[87294] = HEAP32[87294] | 16; break label$1; } - HEAP32[87266] = HEAP32[87266] & -17; + HEAP32[87294] = HEAP32[87294] & -17; } } @@ -80116,13 +80138,13 @@ function jswrap_banglejs_setOptions($0) { } function jspSoftInit() { - HEAP32[87258] = jsvFindOrCreateRoot(); - HEAP32[87259] = jsvObjectGetChild(HEAP32[87258], 112542, 5); - HEAP32[87266] = 1; - HEAP32[87260] = 0; - HEAP32[87261] = HEAP32[87258]; - HEAP32[87262] = 0; - HEAP8[349052] = 0; + HEAP32[87286] = jsvFindOrCreateRoot(); + HEAP32[87287] = jsvObjectGetChild(HEAP32[87286], 112542, 5); + HEAP32[87294] = 1; + HEAP32[87288] = 0; + HEAP32[87289] = HEAP32[87286]; + HEAP32[87290] = 0; + HEAP8[349164] = 0; } function double_20tflite__TfLiteRound_double__28double_29($0) { @@ -80276,8 +80298,8 @@ function legalstub$dynCall_jiji($0, $1, $2, $3, $4) { function jslIsIDOrReservedWord() { var $0 = 0, $1 = 0; $0 = 1; - if (HEAP16[HEAP32[45251] + 2 >> 1] != 128) { - $1 = HEAP16[HEAP32[45251] + 2 >> 1] >= 163 ? HEAP16[HEAP32[45251] + 2 >> 1] <= 198 : $1; + if (HEAP16[HEAP32[45279] + 2 >> 1] != 128) { + $1 = HEAP16[HEAP32[45279] + 2 >> 1] >= 163 ? HEAP16[HEAP32[45279] + 2 >> 1] <= 198 : $1; $0 = $1; } return $0 & 1; @@ -80361,7 +80383,7 @@ function jsiShowInputLine() { break label$1; } $0 = 0; - if (HEAP8[349108] & 1) { + if (HEAP8[349220] & 1) { break label$1; } $0 = jsiPasswordProtected() ^ -1; @@ -80373,7 +80395,7 @@ function jshIsPinValid($0) { var $1 = 0, $2 = 0; $1 = __stack_pointer - 16 | 0; HEAP8[$1 + 15 | 0] = $0; - $2 = HEAPU8[$1 + 15 | 0] < 48 ? (HEAPU8[Math_imul(HEAPU8[$1 + 15 | 0], 3) + 165440 | 0] & 15) != 0 : $2; + $2 = HEAPU8[$1 + 15 | 0] < 48 ? (HEAPU8[Math_imul(HEAPU8[$1 + 15 | 0], 3) + 165552 | 0] & 15) != 0 : $2; return $2; } @@ -80401,8 +80423,8 @@ function terminalSetGFX($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP32[$1 + 12 >> 2] = $0; - __memcpy(351492, HEAP32[$1 + 12 >> 2], 72); - HEAP8[376011] = 1; + __memcpy(351604, HEAP32[$1 + 12 >> 2], 72); + HEAP8[376123] = 1; __stack_pointer = $1 + 16 | 0; } @@ -80990,7 +81012,7 @@ function jshSetEventDataPin($0, $1) { $2 = __stack_pointer - 16 | 0; HEAP8[$2 + 15 | 0] = $0; HEAP8[$2 + 14 | 0] = $1; - HEAP32[(HEAPU8[$2 + 15 | 0] << 2) + 349196 >> 2] = HEAPU8[$2 + 14 | 0] | -256; + HEAP32[(HEAPU8[$2 + 15 | 0] << 2) + 349308 >> 2] = HEAPU8[$2 + 14 | 0] | -256; } function jswrap_date_now() { @@ -81082,9 +81104,9 @@ function jspSetError($0) { var $1 = 0; $1 = __stack_pointer - 16 | 0; HEAP8[$1 + 15 | 0] = $0; - HEAP32[87266] = HEAP32[87266] & -2 | 64; + HEAP32[87294] = HEAP32[87294] & -2 | 64; if (HEAP8[$1 + 15 | 0] & 1) { - HEAP32[87266] = HEAP32[87266] | 128; + HEAP32[87294] = HEAP32[87294] | 128; } } @@ -81093,7 +81115,7 @@ function tflite__BuiltinDataAllocator__BuiltinDataAllocator_28_29($0) { $1 = __stack_pointer - 16 | 0; HEAP32[$1 + 12 >> 2] = $0; $0 = HEAP32[$1 + 12 >> 2]; - HEAP32[$0 >> 2] = 174540; + HEAP32[$0 >> 2] = 174652; return $0; } @@ -81125,7 +81147,7 @@ function jsiConsolePrintChar($0) { $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; HEAP8[$1 + 15 | 0] = $0; - jshTransmit(HEAPU8[180352], HEAPU8[$1 + 15 | 0]); + jshTransmit(HEAPU8[180464], HEAPU8[$1 + 15 | 0]); __stack_pointer = $1 + 16 | 0; } @@ -81167,8 +81189,8 @@ function jswGetPowerUsage($0) { function jslNextCh() { var $0 = 0; - if (HEAP32[HEAP32[45251] + 104 >> 2]) { - $0 = HEAPU8[HEAP32[HEAP32[45251] + 104 >> 2] + HEAP32[HEAP32[45251] + 88 >> 2] | 0]; + if (HEAP32[HEAP32[45279] + 104 >> 2]) { + $0 = HEAPU8[HEAP32[HEAP32[45279] + 104 >> 2] + HEAP32[HEAP32[45279] + 88 >> 2] | 0]; } else { $0 = 0; } @@ -81187,7 +81209,7 @@ function jshSetEventCallback($0, $1) { $2 = __stack_pointer - 16 | 0; HEAP8[$2 + 15 | 0] = $0; HEAP32[$2 + 8 >> 2] = $1; - HEAP32[(HEAPU8[$2 + 15 | 0] << 2) + 349196 >> 2] = HEAP32[$2 + 8 >> 2]; + HEAP32[(HEAPU8[$2 + 15 | 0] << 2) + 349308 >> 2] = HEAP32[$2 + 8 >> 2]; } function std____2____compressed_pair_elem_TfLitePoolParams__2c_200_2c_20false_____get_28_29_20const($0) { @@ -81277,7 +81299,7 @@ function jshGetPinShouldStayWatched($0) { var $1 = 0; $1 = __stack_pointer - 16 | 0; HEAP8[$1 + 15 | 0] = $0; - return HEAP32[(HEAPU8[$1 + 15 | 0] >>> 5 << 2) + 349084 >> 2] >>> HEAPU8[$1 + 15 | 0] & 1; + return HEAP32[(HEAPU8[$1 + 15 | 0] >>> 5 << 2) + 349196 >> 2] >>> HEAPU8[$1 + 15 | 0] & 1; } function flatbuffers__Vector_flatbuffers__Offset_tflite__SubGraph____Data_28_29_20const($0) { @@ -81326,8 +81348,8 @@ function jslSetLex($0) { var $1 = 0; $1 = __stack_pointer - 16 | 0; HEAP32[$1 + 12 >> 2] = $0; - HEAP32[$1 + 8 >> 2] = HEAP32[45251]; - HEAP32[45251] = HEAP32[$1 + 12 >> 2]; + HEAP32[$1 + 8 >> 2] = HEAP32[45279]; + HEAP32[45279] = HEAP32[$1 + 12 >> 2]; return HEAP32[$1 + 8 >> 2]; } @@ -81500,14 +81522,14 @@ function jshGetPinStateIsManual($0) { var $1 = 0; $1 = __stack_pointer - 16 | 0; HEAP8[$1 + 15 | 0] = $0; - return HEAP32[(HEAPU8[$1 + 15 | 0] >>> 5 << 2) + 349076 >> 2] >>> HEAPU8[$1 + 15 | 0] & 1; + return HEAP32[(HEAPU8[$1 + 15 | 0] >>> 5 << 2) + 349188 >> 2] >>> HEAPU8[$1 + 15 | 0] & 1; } function jsInit() { var $0 = 0; $0 = __stack_pointer - 16 | 0; __stack_pointer = $0; - HEAP32[93914] = $0 + 12; + HEAP32[93942] = $0 + 12; jshInit(); jswHWInit(); jsvInit(12e3); @@ -81586,6 +81608,17 @@ function tflite__GreedyMemoryPlanner__GetBufferCount_28_29($0) { return HEAP32[HEAP32[$1 + 12 >> 2] + 8 >> 2]; } +function stepcount_init() { + AccelFilter_init(181088); + HEAP32[45112] = 98304; + HEAP16[90550] = 0; + HEAP16[90551] = 0; + HEAP16[90552] = 0; + HEAP32[45277] = 0; + HEAP8[181112] = 0; + HEAP8[181113] = 0; +} + function mbedtls_sha1_init($0) { var $1 = 0; $1 = __stack_pointer - 16 | 0; @@ -81597,10 +81630,10 @@ function mbedtls_sha1_init($0) { function jspeBlockStart() { var $0 = 0; - HEAP8[349052] = HEAPU8[349052] + 1; + HEAP8[349164] = HEAPU8[349164] + 1; $0 = __stack_pointer - 16 | 0; - HEAP32[$0 + 12 >> 2] = HEAP32[87262]; - HEAP32[87262] = 0; + HEAP32[$0 + 12 >> 2] = HEAP32[87290]; + HEAP32[87290] = 0; return HEAP32[$0 + 12 >> 2]; } @@ -81616,7 +81649,7 @@ function tflite__MemoryPlanner__MemoryPlanner_28_29($0) { $1 = __stack_pointer - 16 | 0; HEAP32[$1 + 12 >> 2] = $0; $0 = HEAP32[$1 + 12 >> 2]; - HEAP32[$0 >> 2] = 174656; + HEAP32[$0 >> 2] = 174768; return $0; } @@ -81625,21 +81658,10 @@ function tflite__ErrorReporter__ErrorReporter_28_29($0) { $1 = __stack_pointer - 16 | 0; HEAP32[$1 + 12 >> 2] = $0; $0 = HEAP32[$1 + 12 >> 2]; - HEAP32[$0 >> 2] = 174740; + HEAP32[$0 >> 2] = 174852; return $0; } -function stepcount_init() { - AccelFilter_init(180976); - HEAP32[45084] = 98304; - HEAP16[90494] = 0; - HEAP16[90495] = 0; - HEAP16[90496] = 0; - HEAP32[45249] = 0; - HEAP8[181e3] = 0; - HEAP8[181001] = 0; -} - function jsvStringIteratorHasChar($0) { var $1 = 0; $1 = __stack_pointer - 16 | 0; @@ -81671,8 +81693,8 @@ function unsigned_20char_20flatbuffers__EndianScalar_unsigned_20char__28unsigned function jswrap_espruino_stopEventPropagation() { label$1: { - if (HEAPU16[174550] & 8192) { - HEAP16[174550] = HEAPU16[174550] | 16384; + if (HEAPU16[174606] & 8192) { + HEAP16[174606] = HEAPU16[174606] | 16384; break label$1; } jsExceptionHere(1, 117295, 0); @@ -81699,7 +81721,7 @@ function tflite__OpResolver__OpResolver_28_29($0) { $1 = __stack_pointer - 16 | 0; HEAP32[$1 + 12 >> 2] = $0; $0 = HEAP32[$1 + 12 >> 2]; - HEAP32[$0 >> 2] = 174840; + HEAP32[$0 >> 2] = 174952; return $0; } @@ -81789,7 +81811,7 @@ function jswrap_banglejs_barometerRd($0, $1) { function jspeBlock() { if (jslMatch(123) & 1) { jspeBlockNoBrackets(); - if (!(HEAP32[87266] & 80)) { + if (!(HEAP32[87294] & 80)) { label$3: { if (jslMatch(125) & 1) { break label$3; @@ -81986,7 +82008,7 @@ function tf_get_size($0, $1) { return HEAP32[$2 + 12 >> 2] + 560 | 0; } -function jswrap_banglejs_accelWr($0, $1) { +function jswrap_banglejs_touchWr($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $2 = 0; @@ -82015,14 +82037,14 @@ function jswrap_banglejs_setStepCount($0) { var $1 = 0; $1 = __stack_pointer - 16 | 0; HEAP32[$1 + 12 >> 2] = $0; - HEAP32[93939] = HEAP32[$1 + 12 >> 2]; + HEAP32[93967] = HEAP32[$1 + 12 >> 2]; } function jswrap_banglejs_setPollInterval_internal($0) { var $1 = 0; $1 = __stack_pointer - 16 | 0; HEAP16[$1 + 14 >> 1] = $0; - HEAP16[187855] = HEAPU16[$1 + 14 >> 1]; + HEAP16[187911] = HEAPU16[$1 + 14 >> 1]; } function jsvConvertToUTF8Index($0, $1) { @@ -82045,24 +82067,24 @@ function jswrap_banglejs_hrmWr($0, $1) { function utilTimerIsFull() { var $0 = 0; $0 = __stack_pointer - 16 | 0; - HEAP8[$0 + 15 | 0] = HEAPU8[351057] + 1 & 15; - return HEAPU8[$0 + 15 | 0] == HEAPU8[351058]; + HEAP8[$0 + 15 | 0] = HEAPU8[351169] + 1 & 15; + return HEAPU8[$0 + 15 | 0] == HEAPU8[351170]; } function lcdMemLCD_getRowPtr($0) { var $1 = 0; $1 = __stack_pointer - 16 | 0; HEAP32[$1 + 12 >> 2] = $0; - return Math_imul(HEAP32[$1 + 12 >> 2], 68) + 363538 | 0; + return Math_imul(HEAP32[$1 + 12 >> 2], 68) + 363650 | 0; } function jspSoftKill() { - jsvUnLock(HEAP32[87260]); - HEAP32[87260] = 0; - jsvUnLock(HEAP32[87259]); - HEAP32[87259] = 0; - jsvUnLock(HEAP32[87258]); - HEAP32[87258] = 0; + jsvUnLock(HEAP32[87288]); + HEAP32[87288] = 0; + jsvUnLock(HEAP32[87287]); + HEAP32[87287] = 0; + jsvUnLock(HEAP32[87286]); + HEAP32[87286] = 0; } function std____2____libcpp_numeric_limits_float_2c_20true___lowest_28_29() { @@ -82207,8 +82229,8 @@ function jsvInit($0) { function jsGfxChanged() { var $0 = 0; $0 = __stack_pointer - 16 | 0; - HEAP8[$0 + 15 | 0] = HEAP8[351564] & 1; - HEAP8[351564] = 0; + HEAP8[$0 + 15 | 0] = HEAP8[351676] & 1; + HEAP8[351676] = 0; return HEAP8[$0 + 15 | 0] & 1; } @@ -82234,7 +82256,7 @@ function jsvGetAddressOf($0) { var $1 = 0; $1 = __stack_pointer - 16 | 0; HEAP16[$1 + 14 >> 1] = $0; - return Math_imul(HEAPU16[$1 + 14 >> 1], 14) + 181002 | 0; + return Math_imul(HEAPU16[$1 + 14 >> 1], 14) + 181114 | 0; } function jshPinAnalog($0) { @@ -82375,8 +82397,8 @@ function is_finishing($0) { function jshKickSoftWatchDog() { jswrap_banglejs_kickPollWatchdog(); - if (HEAP32[87266] & 4096) { - HEAP32[87266] = HEAP32[87266] & -4097 | 2048; + if (HEAP32[87294] & 4096) { + HEAP32[87294] = HEAP32[87294] & -4097 | 2048; } } @@ -82384,16 +82406,16 @@ function jsfGetFlag($0) { var $1 = 0; $1 = __stack_pointer - 16 | 0; HEAP8[$1 + 15 | 0] = $0; - return (HEAPU8[181008] & HEAPU8[$1 + 15 | 0]) != 0; + return (HEAPU8[181120] & HEAPU8[$1 + 15 | 0]) != 0; } function jstReset() { jshUtilTimerDisable(); - HEAP8[351059] = 0; - HEAP8[351057] = 0; - HEAP8[351058] = 0; - HEAP32[87868] = 0; - HEAP32[87766] = 0; + HEAP8[351171] = 0; + HEAP8[351169] = 0; + HEAP8[351170] = 0; + HEAP32[87896] = 0; + HEAP32[87794] = 0; } function abs_28double_29($0) { @@ -82437,11 +82459,11 @@ function jstSystemTimeChanged($0, $1) { } function jsiInputLineCursorMoved() { - if (HEAP32[87285]) { - jsvStringIteratorFree_5(349128); - HEAP32[87285] = 0; + if (HEAP32[87313]) { + jsvStringIteratorFree_5(349240); + HEAP32[87313] = 0; } - HEAP32[45089] = -1; + HEAP32[45117] = -1; } function __wasm_rotl_i32($0, $1) { @@ -82497,8 +82519,8 @@ function std____2__numeric_limits_float___lowest_28_29() { function jsfEraseAll() { jsfCacheClear(); - HEAP32[87267] = 0; - HEAP32[87268] = 0; + HEAP32[87295] = 0; + HEAP32[87296] = 0; return jshFlashErasePages(134217728, 8388608) & 1; } @@ -82555,8 +82577,8 @@ function jsfCachePut($0, $1) { } function jswrap_banglejs_beep_callback() { - HEAP16[187913] = 0; - if (HEAP32[93921] & 128) { + HEAP16[187969] = 0; + if (HEAP32[93949] & 128) { _jswrap_banglejs_setVibration(); } } @@ -82626,9 +82648,9 @@ function std____2__numeric_limits_int___max_28_29() { } function jswrap_terminal_idle() { - if (HEAP8[376011] & 1) { + if (HEAP8[376123] & 1) { graphicsInternalFlip(); - HEAP8[376011] = 0; + HEAP8[376123] = 0; } return 0; } @@ -82638,10 +82660,10 @@ function tflite__MicroAllocator__operator_20delete_28void__29($0) { } function terminalControlCharsReset() { - HEAP8[376012] = 0; - HEAP8[376013] = 0; - HEAP8[376014] = 0; - HEAP8[376015] = 0; + HEAP8[376124] = 0; + HEAP8[376125] = 0; + HEAP8[376126] = 0; + HEAP8[376127] = 0; } function std____2____libcpp_numeric_limits_float_2c_20true___max_28_29() { @@ -82649,10 +82671,10 @@ function std____2____libcpp_numeric_limits_float_2c_20true___max_28_29() { } function jshResetPinStateIsManual() { - HEAP32[87269] = 0; - HEAP32[87270] = 0; - HEAP32[87271] = 0; - HEAP32[87272] = 0; + HEAP32[87297] = 0; + HEAP32[87298] = 0; + HEAP32[87299] = 0; + HEAP32[87300] = 0; } function gemmlowp__FixedPoint_int_2c_200___ScalarRawMax_28_29() { @@ -82708,8 +82730,8 @@ function dynCall_jiji($0, $1, $2, $3, $4) { function jswrap_terminal_init() { terminalControlCharsReset(); - HEAP8[376010] = 0; - HEAP8[180408] = 21; + HEAP8[376122] = 0; + HEAP8[180520] = 21; } function __stdio_close($0) { @@ -82718,7 +82740,7 @@ function __stdio_close($0) { } function jswrap_graphics_getInstance() { - return jsvObjectGetChildIfExists(HEAP32[87259], 114241) | 0; + return jsvObjectGetChildIfExists(HEAP32[87287], 114241) | 0; } function jspeAssignmentExpression() { @@ -82727,7 +82749,7 @@ function jspeAssignmentExpression() { function jsiCtrlC() { if (!(jsiPasswordProtected() & 1)) { - HEAP32[87266] = HEAP32[87266] | 2048; + HEAP32[87294] = HEAP32[87294] | 2048; } } @@ -82741,7 +82763,7 @@ function get_input_buffer_size($0) { } function jslSingleChar() { - HEAP16[HEAP32[45251] + 2 >> 1] = HEAPU8[HEAP32[45251]]; + HEAP16[HEAP32[45279] + 2 >> 1] = HEAPU8[HEAP32[45279]]; jslGetNextCh(); } @@ -82755,10 +82777,10 @@ function jspeConditionalExpression() { } function jshIdle() { - if (HEAP8[180364] & 1) { + if (HEAP8[180476] & 1) { jsiOneSecondAfterStartup(); } - HEAP8[180364] = 0; + HEAP8[180476] = 0; } function __math_xflowf($0, $1) { @@ -82771,7 +82793,7 @@ function jshIsDeviceInitialised($0) { } function gen_jswrap_Bangle_showRecoveryMenu() { - jsvUnLock(jspExecuteJSFunction(143494, 0, 0, 0)); + jsvUnLock(jspExecuteJSFunction(143592, 0, 0, 0)); } function std____2____libcpp_numeric_limits_unsigned_20char_2c_20true___max_28_29() { @@ -82794,7 +82816,7 @@ function std____2____libcpp_numeric_limits_signed_20char_2c_20true___min_28_29() } function jswrap_banglejs_buzz_callback() { - HEAP8[375824] = 0; + HEAP8[375936] = 0; _jswrap_banglejs_setVibration(); } @@ -82823,7 +82845,7 @@ function jsfCacheFind($0, $1) { } function jswrap_modules_getModuleList() { - return jsvObjectGetChild(HEAP32[87259], 117941, 5); + return jsvObjectGetChild(HEAP32[87287], 117941, 5); } function jswrap_banglejs_getPressure() { @@ -82831,7 +82853,7 @@ function jswrap_banglejs_getPressure() { } function gen_jswrap_Bangle_showLauncher() { - jsvUnLock(jspExecuteJSFunction(140019, 0, 0, 0)); + jsvUnLock(jspExecuteJSFunction(140117, 0, 0, 0)); } function flatbuffers__EndianCheck_28_29() { @@ -82869,7 +82891,7 @@ function jspeBinaryExpression() { } function gen_jswrap_Bangle_showClock() { - jsvUnLock(jspExecuteJSFunction(143456, 0, 0, 0)); + jsvUnLock(jspExecuteJSFunction(143554, 0, 0, 0)); } function _parse_int() { @@ -82911,16 +82933,16 @@ function jswrap_banglejs_getOptions() { } function jswrap_banglejs_isBacklightOn() { - return (HEAP32[93921] & 131072) != 0 | 0; + return (HEAP32[93949] & 131072) != 0 | 0; } function jswrap_banglejs_isBarometerOn() { - return (HEAP32[93921] & 32768) != 0 | 0; + return (HEAP32[93949] & 32768) != 0 | 0; } function jsvReset() { - HEAP16[90506] = 0; - memset(181016, 0, 168e3); + HEAP16[90562] = 0; + memset(181128, 0, 168e3); jsvSoftInit(); } @@ -82929,12 +82951,12 @@ function jshEnableWatchDog($0) { } function jswrap_banglejs_isCompassOn() { - return (HEAP32[93921] & 16384) != 0 | 0; + return (HEAP32[93949] & 16384) != 0 | 0; } function emscripten_stack_init() { - __stack_base = 5618928; - __stack_end = 376048; + __stack_base = 5619040; + __stack_end = 376160; } function emscripten_stack_get_free() { @@ -82942,7 +82964,7 @@ function emscripten_stack_get_free() { } function jswrap_banglejs_isLocked() { - return (HEAP32[93921] & 262144) != 0 | 0; + return (HEAP32[93949] & 262144) != 0 | 0; } function jshUSARTUnSetup($0) { @@ -82950,7 +82972,7 @@ function jshUSARTUnSetup($0) { } function jsiGetHistory() { - return jsvObjectGetChild(HEAP32[87259], 113964, 3); + return jsvObjectGetChild(HEAP32[87287], 113964, 3); } function gen_jswrap_LED2() { @@ -82962,7 +82984,7 @@ function gen_jswrap_LED1() { } function jswrap_banglejs_isLCDOn() { - return (HEAP32[93921] & 65536) != 0 | 0; + return (HEAP32[93949] & 65536) != 0 | 0; } function jswrap_banglejs_isCharging() { @@ -82974,11 +82996,11 @@ function do_indexing($0) { } function jswrap_banglejs_isHRMOn() { - return (HEAP32[93921] & 4096) != 0 | 0; + return (HEAP32[93949] & 4096) != 0 | 0; } function jswrap_banglejs_isGPSOn() { - return (HEAP32[93921] & 8192) != 0 | 0; + return (HEAP32[93949] & 8192) != 0 | 0; } function jshUSARTKick($0) { @@ -82986,7 +83008,7 @@ function jshUSARTKick($0) { } function gen_jswrap_process_version() { - return jsvNewFromString(128778) | 0; + return jsvNewFromString(128709) | 0; } function __math_uflow($0) { @@ -82994,8 +83016,8 @@ function __math_uflow($0) { } function jspeiClearScopes() { - jsvUnLock(HEAP32[87260]); - HEAP32[87260] = 0; + jsvUnLock(HEAP32[87288]); + HEAP32[87288] = 0; } function gen_jswrap_NRF_getAddress() { @@ -83011,9 +83033,9 @@ function jshSPIWait($0) { } function jsIdle() { - HEAP32[45090] = -1; + HEAP32[45118] = -1; jsiLoop(); - return HEAP32[45090]; + return HEAP32[45118]; } function gen_jswrap_LoopbackB() { @@ -83047,11 +83069,11 @@ function gen_jswrap_Math_random() { } function jshHasTransmitData() { - return HEAPU8[349178] != HEAPU8[349179]; + return HEAPU8[349290] != HEAPU8[349291]; } function gen_jswrap_Serial1() { - return jspNewObject(129101, 120603) | 0; + return jspNewObject(129091, 120603) | 0; } function gen_jswrap_NRF_getSecurityStatus() { @@ -83071,7 +83093,7 @@ function jswrap_i2c_constructor() { } function jsiPasswordProtected() { - return (HEAPU16[174550] & 1024) != 0; + return (HEAPU16[174606] & 1024) != 0; } function gen_jswrap_TFMicroInterpreter_TFMicroInterpreter() { @@ -83095,15 +83117,15 @@ function __math_xflow($0, $1) { } function jshIOEventOverflowed() { - HEAP8[349030] = HEAPU8[349030] | 1; + HEAP8[349142] = HEAPU8[349142] | 1; } function gen_jswrap_SPI1() { - return jspNewObject(129149, 127134) | 0; + return jspNewObject(129139, 127134) | 0; } function gen_jswrap_I2C1() { - return jspNewObject(129163, 127705) | 0; + return jspNewObject(129153, 127705) | 0; } function gen_jswrap_USB() { @@ -83115,33 +83137,33 @@ function jswrap_banglejs_softOff() { } function jsvIsMemoryFull() { - return (HEAPU16[90506] != 0 ^ -1) & 1; + return (HEAPU16[90562] != 0 ^ -1) & 1; } function jsiTimersChanged() { - HEAP16[174550] = HEAPU16[174550] | 4; + HEAP16[174606] = HEAPU16[174606] | 4; } function __cxa_pure_virtual() { - abort_message(146309, 0); + abort_message(146407, 0); abort(); } function tflite__EnumNamesBuiltinOperator_28_29() { - return 173936; + return 174048; } function jswrap_global() { - return jsvLockAgain(HEAP32[87258]) | 0; + return jsvLockAgain(HEAP32[87286]) | 0; } function jshInitDevices() { - HEAP8[349182] = 8; + HEAP8[349294] = 8; jshResetDevices(); } function jshHasEvents() { - return HEAPU8[349180] != HEAPU8[349181]; + return HEAPU8[349292] != HEAPU8[349293]; } function jsfCreateFileTable() { @@ -83153,7 +83175,7 @@ function gen_jswrap_Number_NEGATIVE_INFINITY() { } function jswrap_banglejs_kickPollWatchdog() { - HEAP16[187856] = 0; + HEAP16[187912] = 0; } function jsvNewFromEmptyString_14() { @@ -83177,7 +83199,7 @@ function jsvNewFromEmptyString_10() { } function jspSetNoExecute() { - HEAP32[87266] = HEAP32[87266] & -64; + HEAP32[87294] = HEAP32[87294] & -64; } function gen_jswrap_Number_POSITIVE_INFINITY() { @@ -83238,11 +83260,11 @@ function jswrap_banglejs_off() { } function jswrap_banglejs_getStepCount() { - return HEAP32[93939]; + return HEAP32[93967]; } function jspIsInterrupted() { - return (HEAP32[87266] & 16) != 0; + return (HEAP32[87294] & 16) != 0; } function emscripten_stack_get_base() { @@ -83299,11 +83321,11 @@ function jswrap_espruino_kickWatchdog() { } function jstUtilTimerIsRunning() { - return HEAP8[351059] & 1; + return HEAP8[351171] & 1; } function jspHasError() { - return (HEAP32[87266] & 112) != 0; + return (HEAP32[87294] & 112) != 0; } function jslPreload() { @@ -83320,7 +83342,7 @@ function jswrap_storage_optimise() { } function jsfSaveToFlash() { - jsiConsolePrintString(147394); + jsiConsolePrintString(147492); } function gen_jswrap_Math_LN2() { @@ -83328,7 +83350,7 @@ function gen_jswrap_Math_LN2() { } function graphicsInternalFlip() { - lcdMemLCD_flip(351492); + lcdMemLCD_flip(351604); } function gen_jswrap_StorageFile_StorageFile() { @@ -83344,7 +83366,7 @@ function jsvNewEmptyArray() { } function jstGetUtilTimerOffset() { - return HEAP32[87868]; + return HEAP32[87896]; } function gen_jswrap_Math_E() { @@ -83357,7 +83379,7 @@ function strcpy($0, $1) { } function jsiGetConsoleDevice() { - return HEAPU8[180352]; + return HEAPU8[180464]; } function gen_jswrap_tensorflow_tensorflow() { @@ -83378,8 +83400,8 @@ function __wasm_call_ctors() { } function __ofl_lock() { - __lock(376024); - return 376028; + __lock(376136); + return 376140; } function jsKill() { @@ -83419,7 +83441,7 @@ function jswrap_storage_eraseAll() { } function jsiEcho() { - return !(HEAPU16[174550] & 3); + return !(HEAPU16[174606] & 3); } function gen_jswrap_Graphics_Graphics() { @@ -83521,7 +83543,7 @@ function gen_jswrap_Flash_Flash() { } function __errno_location() { - return 376036; + return 376148; } function jsvGetMemoryTotal() { @@ -83541,7 +83563,7 @@ function gen_jswrap_JSON_JSON() { } function __ofl_unlock() { - __unlock(376024); + __unlock(376136); } function gen_jswrap_VIBRATE() { @@ -83648,7 +83670,7 @@ function jshKill() {} ; bufferView = HEAPU8; initActiveSegments(env); - var FUNCTION_TABLE = Table([null, jswrap_object_toString, jsvStringIteratorPrintfCallback, jsvIsInternalFunctionKey, jsvIsInternalObjectKey, jsvIterateCallbackCountCb, jsvIterateCallbackToBytesCb, vcbprintf_callback_jsiConsolePrintString, espruino_snprintf_cb, jswrap_eval, gen_jswrap_Graphics_Graphics, jswrap_dataview_constructor, jswrap_date_constructor, jswrap_error_constructor, jswrap_syntaxerror_constructor, jswrap_typeerror_constructor, jswrap_internalerror_constructor, jswrap_referenceerror_constructor, jswrap_regexp_constructor, jswrap_onewire_constructor, jswrap_promise_constructor, jswrap_serial_constructor, gen_jswrap_StorageFile_StorageFile, jswrap_spi_constructor, jswrap_i2c_constructor, jswrap_waveform_constructor, gen_jswrap_TFMicroInterpreter_TFMicroInterpreter, jswrap_pin_constructor, gen_jswrap_Bangle_Bangle, gen_jswrap_E_E, gen_jswrap_NRF_NRF, gen_jswrap_Bluetooth_Bluetooth, jswrap_array_constructor, gen_jswrap_console_console, gen_jswrap_JSON_JSON, jswrap_number_constructor, jswrap_object_constructor, jswrap_string_constructor, gen_jswrap_Modules_Modules, gen_jswrap_Math_Math, gen_jswrap_Flash_Flash, gen_jswrap_fs_fs, gen_jswrap_process_process, gen_jswrap_Storage_Storage, gen_jswrap_heatshrink_heatshrink, gen_jswrap_crypto_crypto, gen_jswrap_tensorflow_tensorflow, jswrap_arraybuffer_constructor, gen_jswrap_ArrayBufferView_ArrayBufferView, jswrap_function_constructor, jswrap_pin_analog, jswrap_pin_getInfo, jswrap_pin_getMode, jswrap_pin_mode, jswrap_pin_pulse, jswrap_pin_pwm, jswrap_pin_read, jswrap_pin_reset, jswrap_pin_set, jswrap_pin_toggle, jswrap_pin_write, jswrap_pin_writeAtTime, gen_jswrap_BTN, gen_jswrap_BTN1, jswrap_boolean_constructor, gen_jswrap_Float32Array_Float32Array, gen_jswrap_Float64Array_Float64Array, gen_jswrap_HIGH, gen_jswrap_I2C1, gen_jswrap_Infinity, gen_jswrap_Int16Array_Int16Array, gen_jswrap_Int32Array_Int32Array, gen_jswrap_Int8Array_Int8Array, gen_jswrap_LED1, gen_jswrap_LED2, gen_jswrap_LOW, gen_jswrap_LoopbackA, gen_jswrap_LoopbackB, gen_jswrap_NaN, gen_jswrap_SPI1, gen_jswrap_Serial1, gen_jswrap_Terminal, gen_jswrap_USB, gen_jswrap_Uint16Array_Uint16Array, gen_jswrap_Uint24Array_Uint24Array, gen_jswrap_Uint32Array_Uint32Array, gen_jswrap_Uint8Array_Uint8Array, gen_jswrap_Uint8ClampedArray_Uint8ClampedArray, gen_jswrap_VIBRATE, jshPinAnalog, jswrap_io_analogWrite, jswrap_arguments, jswrap_atob, jswrap_btoa, jswrap_interface_changeInterval, jswrap_interface_clearInterval, jswrap_interface_clearTimeout, jswrap_interface_clearWatch, jswrap_decodeURIComponent, jswrap_io_digitalPulse, jswrap_io_digitalRead, jswrap_io_digitalWrite, gen_jswrap_dump, jswrap_interface_echo, jswrap_interface_edit, jswrap_encodeURIComponent, jswrap_io_getPinMode, jswrap_interface_getSerial, gen_jswrap_getTime, jswrap_global, jswrap_isFinite, jswrap_isNaN, jswrap_interface_load, jswrap_parseFloat, jswrap_parseInt, gen_jswrap_peek16, gen_jswrap_peek32, gen_jswrap_peek8, jswrap_io_pinMode, gen_jswrap_poke16, gen_jswrap_poke32, gen_jswrap_poke8, jswrap_print, jswrap_require, jswrap_interface_reset, jswrap_interface_setBusyIndicator, jswrap_interface_setInterval, jswrap_interface_setSleepIndicator, jswrap_interactive_setTime, jswrap_interface_setTimeout, jswrap_interface_setWatch, jswrap_io_shiftOut, jswrap_trace, jswrap_banglejs_accelRd, jswrap_banglejs_accelWr, jswrap_banglejs_appRect, jswrap_banglejs_barometerRd, jswrap_banglejs_barometerWr, jswrap_banglejs_beep, jswrap_banglejs_buzz, jswrap_banglejs_compassRd, jswrap_banglejs_compassWr, jswrap_banglejs_dbg, gen_jswrap_Bangle_drawWidgets, jswrap_banglejs_factoryReset, jswrap_banglejs_getAccel, jswrap_banglejs_getCompass, jswrap_banglejs_getGPSFix, jswrap_banglejs_getHealthStatus, jswrap_banglejs_getLCDMode, jswrap_banglejs_getLogo, jswrap_banglejs_getOptions, jswrap_banglejs_getPressure, jswrap_banglejs_getStepCount, jswrap_banglejs_hrmRd, jswrap_banglejs_hrmWr, jswrap_banglejs_isBacklightOn, jswrap_banglejs_isBarometerOn, jswrap_banglejs_isCharging, jswrap_banglejs_isCompassOn, jswrap_banglejs_isGPSOn, jswrap_banglejs_isHRMOn, jswrap_banglejs_isLCDOn, jswrap_banglejs_isLocked, jswrap_banglejs_lcdWr, gen_jswrap_Bangle_load, gen_jswrap_Bangle_loadWidgets, jswrap_banglejs_off, jswrap_banglejs_project, jswrap_banglejs_resetCompass, jswrap_banglejs_setLCDPowerBacklight, jswrap_banglejs_setBarometerPower, jswrap_banglejs_setCompassPower, jswrap_banglejs_setGPSPower, jswrap_banglejs_setHRMPower, jswrap_banglejs_setLCDBrightness, jswrap_banglejs_setLCDMode, jswrap_banglejs_setLCDOffset, jswrap_banglejs_setLCDOverlay, jswrap_banglejs_setLCDPower, jswrap_banglejs_setLCDTimeout, jswrap_banglejs_setLocked, jswrap_banglejs_setOptions, jswrap_banglejs_setPollInterval, jswrap_banglejs_setStepCount, gen_jswrap_Bangle_setUI, gen_jswrap_Bangle_showClock, gen_jswrap_Bangle_showLauncher, gen_jswrap_Bangle_showRecoveryMenu, jswrap_banglejs_softOff, jswrap_espruino_CRC32, jswrap_espruino_FFT, jswrap_espruino_HSBtoRGB, jswrap_espruino_asUTF8, jswrap_espruino_asm, jswrap_espruino_clip, jswrap_espruino_compiledC, jswrap_espruino_convolve, jswrap_espruino_decodeUTF8, jsvDefragment, jswrap_e_dumpFragmentation, jswrap_e_dumpStr, jswrap_espruino_dumpTimers, jswrap_e_dumpVariables, jswrap_espruino_enableWatchdog, jswrap_espruino_fromUTF8, jswrap_espruino_getAddressOf, gen_jswrap_E_getAnalogVRef, jswrap_espruino_getBattery, jswrap_espruino_getConsole, jswrap_espruino_getErrorFlags, jsfGetFlags, jswrap_espruino_getPowerUsage, jswrap_espruino_getSizeOf, jswrap_espruino_getTemperature, jshGetRandomNumber, jswrap_espruino_isUTF8, jswrap_espruino_kickWatchdog, jswrap_espruino_lockConsole, jswrap_espruino_lookupNoCase, jswrap_espruino_mapInPlace, jswrap_espruino_memoryArea, jswrap_espruino_memoryMap, jswrap_espruino_nativeCall, jswrap_pipe, jswrap_espruino_reboot, jswrap_espruino_reverseByte, jswrap_espruino_setBootCode, jswrap_espruino_setClock, jswrap_espruino_setConsole, jswrap_espruino_setDST, jsfSetFlags, jswrap_espruino_setPassword, jswrap_espruino_setTimeZone, gen_jswrap_E_showAlert, gen_jswrap_E_showMenu, gen_jswrap_E_showMessage, gen_jswrap_E_showPrompt, gen_jswrap_E_showScroller, srand, jswrap_espruino_stopEventPropagation, jswrap_espruino_sum, jswrap_espruino_toArrayBuffer, jswrap_espruino_toFlatString, jswrap_espruino_toJS, jswrap_espruino_toString, jswrap_espruino_toUint8Array, jswrap_espruino_variance, jswrap_graphics_asBMP, jswrap_graphics_asImage, jswrap_graphics_asURL, jswrap_graphics_blendColor, jswrap_graphics_blit, jswrap_graphics_clear, jswrap_graphics_clearRect, jswrap_graphics_drawCircle, jswrap_graphics_drawCircleAA, jswrap_graphics_drawEllipse, jswrap_graphics_drawImage, jswrap_graphics_drawImages, jswrap_graphics_drawLine, jswrap_graphics_drawLineAA, gen_jswrap_Graphics_drawPoly, gen_jswrap_Graphics_drawPolyAA, jswrap_graphics_drawRect, jswrap_graphics_drawString, jswrap_graphics_dump, jswrap_graphics_fillCircle, jswrap_graphics_fillEllipse, gen_jswrap_Graphics_fillPoly, gen_jswrap_Graphics_fillPolyAA, jswrap_graphics_fillRect, jswrap_graphics_floodFill, jswrap_graphics_getBPP, gen_jswrap_Graphics_getBgColor, gen_jswrap_Graphics_getColor, jswrap_graphics_getFont, jswrap_graphics_getFontHeight, jswrap_graphics_getFonts, gen_jswrap_Graphics_getHeight, jswrap_graphics_getModified, jswrap_graphics_getPixel, jswrap_graphics_getVectorFontPolys, gen_jswrap_Graphics_getWidth, jswrap_graphics_imageMetrics, jswrap_graphics_lineTo, jswrap_graphics_moveTo, jswrap_graphics_quadraticBezier, jswrap_graphics_reset, jswrap_graphics_scroll, gen_jswrap_Graphics_setBgColor, jswrap_graphics_setClipRect, gen_jswrap_Graphics_setColor, jswrap_graphics_setFont, jswrap_graphics_setFont12x20, jswrap_graphics_setFont6x15, jswrap_graphics_setFontAlign, gen_jswrap_Graphics_setFontBitmap, jswrap_graphics_setFontCustom, jswrap_graphics_setFontPBF, gen_jswrap_Graphics_setFontVector, jswrap_graphics_setPixel, jswrap_graphics_setRotation, jswrap_graphics_setTheme, jswrap_graphics_stringMetrics, jswrap_graphics_stringWidth, jswrap_graphics_theme, jswrap_graphics_toColor, jswrap_graphics_transformVertices, jswrap_graphics_wrapString, gen_jswrap_NRF_getAddress, gen_jswrap_NRF_getSecurityStatus, gen_jswrap_NRF_setAdvertising, gen_jswrap_NRF_setServices, gen_jswrap_Bluetooth_setConsole, jswrap_array_concat, jswrap_array_every, jswrap_array_fill, jswrap_array_filter, jswrap_array_find, jswrap_array_findIndex, jswrap_array_forEach, jswrap_array_includes, jswrap_array_indexOf, jswrap_array_join, jswrap_object_length, jswrap_array_map, gen_jswrap_Array_pop, jswrap_array_push, jswrap_array_reduce, jswrap_array_reverse, jswrap_array_shift, jswrap_array_slice, jswrap_array_some, jswrap_array_sort, jswrap_array_splice, jswrap_array_unshift, gen_jswrap_Array_isArray, gen_jswrap_ArrayBuffer_byteLength, gen_jswrap_ArrayBufferView_buffer, gen_jswrap_ArrayBufferView_byteLength, gen_jswrap_ArrayBufferView_byteOffset, jswrap_arraybufferview_map, jswrap_arraybufferview_set, jswrap_arraybufferview_sort, jswrap_arraybufferview_subarray, gen_jswrap_DataView_getFloat32, gen_jswrap_DataView_getFloat64, gen_jswrap_DataView_getInt16, gen_jswrap_DataView_getInt32, gen_jswrap_DataView_getInt8, gen_jswrap_DataView_getUint16, gen_jswrap_DataView_getUint32, gen_jswrap_DataView_getUint8, gen_jswrap_DataView_setFloat32, gen_jswrap_DataView_setFloat64, gen_jswrap_DataView_setInt16, gen_jswrap_DataView_setInt32, gen_jswrap_DataView_setInt8, gen_jswrap_DataView_setUint16, gen_jswrap_DataView_setUint32, gen_jswrap_DataView_setUint8, jswrap_date_now, jswrap_date_parse, jswrap_date_getDate, jswrap_date_getDay, jswrap_date_getFullYear, jswrap_date_getHours, jswrap_date_getIsDST, jswrap_date_getMilliseconds, jswrap_date_getMinutes, jswrap_date_getMonth, jswrap_date_getSeconds, jswrap_date_getTime, jswrap_date_getTimezoneOffset, jswrap_date_setDate, jswrap_date_setFullYear, jswrap_date_setHours, jswrap_date_setMilliseconds, jswrap_date_setMinutes, jswrap_date_setMonth, jswrap_date_setSeconds, jswrap_date_setTime, jswrap_date_toISOString, jswrap_date_toLocalISOString, jswrap_date_toString, jswrap_date_toUTCString, jswrap_error_toString, jswrap_json_parse, jswrap_json_stringify, gen_jswrap_Number_MAX_VALUE, gen_jswrap_Number_MIN_VALUE, gen_jswrap_Number_NEGATIVE_INFINITY, gen_jswrap_Number_NaN, gen_jswrap_Number_POSITIVE_INFINITY, jswrap_number_toFixed, jswrap_object_on, jswrap_object_clone, jswrap_object_emit, jswrap_object_hasOwnProperty, jswrap_object_prependListener, jswrap_object_removeAllListeners, jswrap_object_removeListener, jswrap_object_valueOf, jswrap_object_assign, jswrap_object_create, jswrap_object_defineProperties, jswrap_object_defineProperty, gen_jswrap_Object_entries, jswrap_object_fromEntries, jswrap_object_getOwnPropertyDescriptor, jswrap_object_getOwnPropertyDescriptors, gen_jswrap_Object_getOwnPropertyNames, jswrap_object_getPrototypeOf, gen_jswrap_Object_keys, jswrap_object_setPrototypeOf, gen_jswrap_Object_values, jswrap_function_apply_or_call, jswrap_function_bind, jswrap_function_replaceWith, jswrap_regexp_exec, jswrap_regexp_test, jswrap_string_charAt, jswrap_string_charCodeAt, jswrap_string_concat, jswrap_string_endsWith, gen_jswrap_String_includes, gen_jswrap_String_indexOf, gen_jswrap_String_lastIndexOf, jswrap_string_match, gen_jswrap_String_padEnd, gen_jswrap_String_padStart, gen_jswrap_String_removeAccents, jswrap_string_repeat, jswrap_string_replace, jswrap_string_replaceAll, jswrap_string_slice, jswrap_string_split, jswrap_string_startsWith, jswrap_string_substr, jswrap_string_substring, gen_jswrap_String_toLowerCase, gen_jswrap_String_toUpperCase, jswrap_string_trim, jswrap_string_fromCharCode, jswrap_modules_addCached, jswrap_modules_getCached, jswrap_modules_removeAllCached, jswrap_modules_removeCached, gen_jswrap_Math_E, gen_jswrap_Math_LN10, gen_jswrap_Math_LN2, gen_jswrap_Math_LOG10E, gen_jswrap_Math_LOG2E, gen_jswrap_Math_PI, gen_jswrap_Math_SQRT1_2, gen_jswrap_Math_SQRT2, fabs, gen_jswrap_Math_acos, jswrap_math_asin, jswrap_math_atan, jswrap_math_atan2, ceil, jswrap_math_clip, jswrap_math_cos, exp, floor, log, gen_jswrap_Math_max, gen_jswrap_Math_min, jswrap_math_pow, gen_jswrap_Math_random, jswrap_math_round, jswrap_math_sign, jswrap_math_sin, jswrap_math_sqrt, gen_jswrap_Math_tan, wrapAround, jswrap_flash_erasePage, jswrap_flash_getFree, jswrap_flash_getPage, jswrap_flash_read, jswrap_flash_write, jswrap_process_env, jswrap_process_memory, gen_jswrap_process_version, jswrap_onewire_read, jswrap_onewire_reset, jswrap_onewire_search, jswrap_onewire_select, jswrap_onewire_skip, jswrap_onewire_write, jswrap_promise_all, jswrap_promise_reject, jswrap_promise_resolve, jswrap_promise_catch, jswrap_promise_then, gen_jswrap_Serial_find, jswrap_stream_available, jswrap_serial_flush, jswrap_serial_inject, jswrap_serial_print, jswrap_serial_println, jswrap_stream_read, jswrap_serial_setConsole, jswrap_serial_setup, jswrap_serial_unsetup, jswrap_serial_write, jswrap_storage_compact, jswrap_storage_erase, jswrap_storage_eraseAll, jswrap_storage_getFree, jswrap_storage_getStats, jswrap_storage_hash, jswrap_storage_list, jswrap_storage_open, jswrap_storage_optimise, jswrap_storage_read, jswrap_storage_readArrayBuffer, jswrap_storage_readJSON, jswrap_storage_write, jswrap_storage_writeJSON, jswrap_storagefile_erase, jswrap_storagefile_getLength, jswrap_storagefile_read, jswrap_storagefile_readLine, jswrap_storagefile_write, gen_jswrap_SPI_find, jswrap_spi_send, jswrap_spi_send4bit, jswrap_spi_send8bit, jswrap_spi_setup, jswrap_spi_write, gen_jswrap_I2C_find, jswrap_i2c_readFrom, jswrap_i2c_readReg, jswrap_i2c_setup, jswrap_i2c_writeTo, jswrap_waveform_startInput, jswrap_waveform_startOutput, jswrap_waveform_stop, jswrap_heatshrink_compress, jswrap_heatshrink_decompress, jswrap_graphics_createArrayBuffer, jswrap_graphics_createCallback, jswrap_graphics_createImage, jswrap_graphics_getInstance, gen_jswrap_crypto_SHA1, gen_jswrap_crypto_SHA224, gen_jswrap_crypto_SHA256, gen_jswrap_crypto_SHA384, gen_jswrap_crypto_SHA512, jswrap_tensorflow_create, jswrap_tfmicrointerpreter_getInput, jswrap_tfmicrointerpreter_getOutput, jswrap_tfmicrointerpreter_invoke, jsiConsolePrintString, jsiTabComplete_findCommon, jsiTabComplete_printCommon, jstPinTaskChecker, jstBufferTaskChecker, jsserialHardwareFunc, jsserialSoftwareFunc, jsserialEventCallback, jsspiHardwareFunc, jsspiFastSoftwareFunc, jsspiSoftwareFunc, heatshrink_ptr_output_cb, graphicsFallbackSetPixel, graphicsFallbackGetPixel, graphicsFallbackFillRect, graphicsFallbackBlit, graphicsFallbackScroll, graphicsSetPixel, lcdSetPixel_ArrayBuffer_flat1, lcdGetPixel_ArrayBuffer_flat, lcdFillRect_ArrayBuffer_flat1, lcdSetPixel_ArrayBuffer_flat8, lcdGetPixel_ArrayBuffer_flat8, lcdFillRect_ArrayBuffer_flat8, lcdScroll_ArrayBuffer_flat8, lcdSetPixel_ArrayBuffer_flat, lcdFillRect_ArrayBuffer_flat, lcdSetPixel_ArrayBuffer, lcdGetPixel_ArrayBuffer, lcdFillRect_ArrayBuffer, lcdSetPixel_JS, lcdFillRect_JS, lcdMemLCD_setPixel, lcdMemLCD_fillRect, lcdMemLCD_getPixel, lcdMemLCD_scroll, lcd_flip, btn1Handler, jswrap_banglejs_postInit, jswrap_banglejs_beep_callback, jswrap_banglejs_buzz_callback, _jswrap_arraybufferview_sort_float, _jswrap_arraybufferview_sort_int, jsvArrayAddUnique, _jswrap_object_entries_cb, _jswrap_object_values_cb, _jswrap_espruino_toString_char, _jswrap_espruino_toUint8Array_char, jswrap_io_shiftOutCallback, jswrap_pipe_src_close_listener, jswrap_pipe_drain_listener, jswrap_pipe_dst_close_listener, jsvLockAgainSafe, jsvUnLock, jsvSkipName, jsvMathsOp, jsvNewWithFlags, jsvNewFromFloat, jsvNewFromInteger, jsvNewFromString, jsvNewFromBool, jsvGetFloat, jsvGetInteger, jsvGetBool, jsvReplaceWith, jspeFunctionCall, jspGetNamedVariable, jspGetNamedField, jspGetVarNamedField, _jswrap_onewire_write_cb, _jswrap_prombox_resolve, _jswrap_prombox_reject, _jswrap_prombox_queueresolve, _jswrap_prombox_queuereject, _jswrap_prombox_all_reject, _jswrap_prombox_all_resolve, _jswrap_promise_reaction_call, _jswrap_serial_inject_cb, jswrap_spi_send_cb, jswrap_spi_write_cb, heatshrink_var_input_cb, heatshrink_var_output_cb, jswrap_graphics_getFonts_callback, graphicsFillPoly, _jswrap_graphics_getVectorFontPolys_cb, graphicsDrawLineAA, graphicsDrawLine, tflite__SimpleMemoryAllocator__SimpleMemoryAllocator_28tflite__ErrorReporter__2c_20unsigned_20char__2c_20unsigned_20long_29, tflite__SimpleMemoryAllocator___SimpleMemoryAllocator_28_29, tflite__SimpleMemoryAllocator___SimpleMemoryAllocator_28_29_1, tflite__SimpleMemoryAllocator__EnsureHeadSize_28unsigned_20long_2c_20unsigned_20long_29, tflite__SimpleMemoryAllocator__AllocateFromTail_28unsigned_20long_2c_20unsigned_20long_29, tflite__SimpleMemoryAllocator__AllocateTemp_28unsigned_20long_2c_20unsigned_20long_29, tflite__SimpleMemoryAllocator__ResetTempAllocations_28_29, tflite__internal__ContextHelper__ContextHelper_28tflite__ErrorReporter__2c_20tflite__MicroAllocator__2c_20tflite__Model_20const__29, tflite__internal__ContextHelper__ReportOpError_28TfLiteContext__2c_20char_20const__2c_20____29, tflite__internal__ContextHelper__GetTensor_28TfLiteContext_20const__2c_20int_29, tflite__internal__ContextHelper__GetEvalTensor_28TfLiteContext_20const__2c_20int_29, tflite__internal__ContextHelper__AllocatePersistentBuffer_28TfLiteContext__2c_20unsigned_20long_29, tflite__internal__ContextHelper__RequestScratchBufferInArena_28TfLiteContext__2c_20unsigned_20long_2c_20int__29, tflite__internal__ContextHelper__GetScratchBuffer_28TfLiteContext__2c_20int_29, tflite__MicroAllocator___MicroAllocator_28_29, tflite__MicroAllocator__MicroAllocator_28tflite__SimpleMemoryAllocator__2c_20tflite__ErrorReporter__29, tflite__MicroAllocator__AllocatePersistentTfLiteTensor_28tflite__Model_20const__2c_20TfLiteEvalTensor__2c_20int_29, tflite__MicroAllocator__AllocateTempTfLiteTensor_28tflite__Model_20const__2c_20TfLiteEvalTensor__2c_20int_29, tflite__MicroAllocator__ResetTempAllocations_28_29, tflite__MicroAllocator___MicroAllocator_28_29_1, tflite__MicroAllocator__AllocateNodeAndRegistrations_28tflite__Model_20const__2c_20tflite__NodeAndRegistration___29, tflite__MicroAllocator__PrepareNodeAndRegistrationDataFromFlatbuffer_28tflite__Model_20const__2c_20tflite__MicroOpResolver_20const__2c_20tflite__NodeAndRegistration__29, tflite__MicroAllocator__AllocateTfLiteEvalTensors_28tflite__Model_20const__2c_20TfLiteEvalTensor___29, tflite__MicroAllocator__AllocateVariables_28tflite__SubGraph_20const__2c_20TfLiteEvalTensor__29, tflite__MicroAllocator__AllocatePersistentTfLiteTensorInternal_28tflite__Model_20const__2c_20TfLiteEvalTensor__2c_20int_29, tflite__MicroAllocator__PopulateTfLiteTensorFromFlatbuffer_28tflite__Model_20const__2c_20tflite__SubGraph_20const__2c_20TfLiteTensor__2c_20int_2c_20bool_29, tflite__MicroAllocator__CommitStaticMemoryPlan_28tflite__Model_20const__2c_20tflite__SubGraph_20const__2c_20TfLiteEvalTensor__29, tflite___28anonymous_20namespace_29__MicroBuiltinDataAllocator__Allocate_28unsigned_20long_2c_20unsigned_20long_29, tflite___28anonymous_20namespace_29__MicroBuiltinDataAllocator__Deallocate_28void__29, tflite___28anonymous_20namespace_29__MicroBuiltinDataAllocator___MicroBuiltinDataAllocator_28_29, tflite___28anonymous_20namespace_29__MicroBuiltinDataAllocator___MicroBuiltinDataAllocator_28_29_1, __cxa_pure_virtual, tflite__BuiltinDataAllocator___BuiltinDataAllocator_28_29, tflite__BuiltinDataAllocator___BuiltinDataAllocator_28_29_1, tflite__ops__micro__depthwise_conv__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__depthwise_conv__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__depthwise_conv__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__conv__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__conv__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__conv__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__pooling__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__pooling__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__pooling__AverageEval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__pooling__MaxEval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__activations__SoftmaxInit_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__activations__SoftmaxPrepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__activations__SoftmaxEval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__fully_connected__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__fully_connected__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__fully_connected__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__quantize__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__quantize__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__quantize__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__dequantize__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__dequantize__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__dequantize__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__reshape__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__reshape__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__MemoryPlanner___MemoryPlanner_28_29, tflite__MemoryPlanner___MemoryPlanner_28_29_1, tflite__GreedyMemoryPlanner___GreedyMemoryPlanner_28_29, tflite__GreedyMemoryPlanner___GreedyMemoryPlanner_28_29_1, tflite__GreedyMemoryPlanner__AddBuffer_28tflite__ErrorReporter__2c_20int_2c_20int_2c_20int_29, tflite__GreedyMemoryPlanner__GetMaximumMemorySize_28_29, tflite__GreedyMemoryPlanner__GetBufferCount_28_29, tflite__GreedyMemoryPlanner__GetOffsetForBuffer_28tflite__ErrorReporter__2c_20int_2c_20int__29, tflite__ParseDepthwiseConv2D_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseConv2D_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParsePool_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseFullyConnected_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseSoftmax_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseQuantize_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseDequantize_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseReshape_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__EspruinoErrorReporter___EspruinoErrorReporter_28_29, tflite__EspruinoErrorReporter___EspruinoErrorReporter_28_29_1, tflite__EspruinoErrorReporter__Report_28char_20const__2c_20void__29, tflite__ErrorReporter___ErrorReporter_28_29, tflite__ErrorReporter___ErrorReporter_28_29_1, tflite__MicroOpResolver__FindOp_28tflite__BuiltinOperator_2c_20int_29_20const, tflite__MicroOpResolver__FindOp_28char_20const__2c_20int_29_20const, tflite__OpResolver__GetDelegates_28int_29_20const, tflite__MicroMutableOpResolver_9u____MicroMutableOpResolver_28_29, tflite__MicroMutableOpResolver_9u____MicroMutableOpResolver_28_29_1, tflite__MicroMutableOpResolver_9u___FindOp_28tflite__BuiltinOperator_29_20const, tflite__MicroMutableOpResolver_9u___FindOp_28char_20const__29_20const, tflite__MicroMutableOpResolver_9u___GetOpDataParser_28tflite__BuiltinOperator_29_20const, tflite__MicroOpResolver___MicroOpResolver_28_29, tflite__MicroOpResolver___MicroOpResolver_28_29_1, tflite__OpResolver___OpResolver_28_29, tflite__OpResolver___OpResolver_28_29_1, __stdio_close, __stdio_write, __stdio_seek]); + var FUNCTION_TABLE = Table([null, jswrap_object_toString, jsvStringIteratorPrintfCallback, jsvIsInternalFunctionKey, jsvIsInternalObjectKey, jsvIterateCallbackCountCb, jsvIterateCallbackToBytesCb, vcbprintf_callback_jsiConsolePrintString, espruino_snprintf_cb, jswrap_eval, gen_jswrap_Graphics_Graphics, jswrap_dataview_constructor, jswrap_date_constructor, jswrap_error_constructor, jswrap_syntaxerror_constructor, jswrap_typeerror_constructor, jswrap_internalerror_constructor, jswrap_referenceerror_constructor, jswrap_regexp_constructor, jswrap_onewire_constructor, jswrap_promise_constructor, jswrap_serial_constructor, gen_jswrap_StorageFile_StorageFile, jswrap_spi_constructor, jswrap_i2c_constructor, jswrap_waveform_constructor, gen_jswrap_TFMicroInterpreter_TFMicroInterpreter, jswrap_pin_constructor, gen_jswrap_Bangle_Bangle, gen_jswrap_E_E, gen_jswrap_NRF_NRF, gen_jswrap_Bluetooth_Bluetooth, jswrap_array_constructor, gen_jswrap_console_console, gen_jswrap_JSON_JSON, jswrap_number_constructor, jswrap_object_constructor, jswrap_string_constructor, gen_jswrap_Modules_Modules, gen_jswrap_Math_Math, gen_jswrap_Flash_Flash, gen_jswrap_fs_fs, gen_jswrap_process_process, gen_jswrap_Storage_Storage, gen_jswrap_heatshrink_heatshrink, gen_jswrap_crypto_crypto, gen_jswrap_tensorflow_tensorflow, jswrap_arraybuffer_constructor, gen_jswrap_ArrayBufferView_ArrayBufferView, jswrap_function_constructor, jswrap_pin_analog, jswrap_pin_getInfo, jswrap_pin_getMode, jswrap_pin_mode, jswrap_pin_pulse, jswrap_pin_pwm, jswrap_pin_read, jswrap_pin_reset, jswrap_pin_set, jswrap_pin_toggle, jswrap_pin_write, jswrap_pin_writeAtTime, gen_jswrap_BTN, gen_jswrap_BTN1, jswrap_boolean_constructor, gen_jswrap_Float32Array_Float32Array, gen_jswrap_Float64Array_Float64Array, gen_jswrap_HIGH, gen_jswrap_I2C1, gen_jswrap_Infinity, gen_jswrap_Int16Array_Int16Array, gen_jswrap_Int32Array_Int32Array, gen_jswrap_Int8Array_Int8Array, gen_jswrap_LED1, gen_jswrap_LED2, gen_jswrap_LOW, gen_jswrap_LoopbackA, gen_jswrap_LoopbackB, gen_jswrap_NaN, gen_jswrap_SPI1, gen_jswrap_Serial1, gen_jswrap_Terminal, gen_jswrap_USB, gen_jswrap_Uint16Array_Uint16Array, gen_jswrap_Uint24Array_Uint24Array, gen_jswrap_Uint32Array_Uint32Array, gen_jswrap_Uint8Array_Uint8Array, gen_jswrap_Uint8ClampedArray_Uint8ClampedArray, gen_jswrap_VIBRATE, jshPinAnalog, jswrap_io_analogWrite, jswrap_arguments, jswrap_atob, jswrap_btoa, jswrap_interface_changeInterval, jswrap_interface_clearInterval, jswrap_interface_clearTimeout, jswrap_interface_clearWatch, jswrap_decodeURIComponent, jswrap_io_digitalPulse, jswrap_io_digitalRead, jswrap_io_digitalWrite, gen_jswrap_dump, jswrap_interface_echo, jswrap_interface_edit, jswrap_encodeURIComponent, jswrap_io_getPinMode, jswrap_interface_getSerial, gen_jswrap_getTime, jswrap_global, jswrap_isFinite, jswrap_isNaN, jswrap_interface_load, jswrap_parseFloat, jswrap_parseInt, gen_jswrap_peek16, gen_jswrap_peek32, gen_jswrap_peek8, jswrap_io_pinMode, gen_jswrap_poke16, gen_jswrap_poke32, gen_jswrap_poke8, jswrap_print, jswrap_require, jswrap_interface_reset, jswrap_interface_setBusyIndicator, jswrap_interface_setInterval, jswrap_interface_setSleepIndicator, jswrap_interactive_setTime, jswrap_interface_setTimeout, jswrap_interface_setWatch, jswrap_io_shiftOut, jswrap_trace, jswrap_banglejs_accelRd, jswrap_banglejs_appRect, jswrap_banglejs_barometerRd, jswrap_banglejs_barometerWr, jswrap_banglejs_beep, jswrap_banglejs_buzz, jswrap_banglejs_compassRd, jswrap_banglejs_compassWr, jswrap_banglejs_dbg, gen_jswrap_Bangle_drawWidgets, jswrap_banglejs_factoryReset, jswrap_banglejs_getAccel, jswrap_banglejs_getCompass, jswrap_banglejs_getGPSFix, jswrap_banglejs_getHealthStatus, jswrap_banglejs_getLCDMode, jswrap_banglejs_getLogo, jswrap_banglejs_getOptions, jswrap_banglejs_getPressure, jswrap_banglejs_getStepCount, jswrap_banglejs_hrmRd, jswrap_banglejs_hrmWr, jswrap_banglejs_isBacklightOn, jswrap_banglejs_isBarometerOn, jswrap_banglejs_isCharging, jswrap_banglejs_isCompassOn, jswrap_banglejs_isGPSOn, jswrap_banglejs_isHRMOn, jswrap_banglejs_isLCDOn, jswrap_banglejs_isLocked, jswrap_banglejs_lcdWr, gen_jswrap_Bangle_load, gen_jswrap_Bangle_loadWidgets, jswrap_banglejs_off, jswrap_banglejs_project, jswrap_banglejs_resetCompass, jswrap_banglejs_setLCDPowerBacklight, jswrap_banglejs_setBarometerPower, jswrap_banglejs_setCompassPower, jswrap_banglejs_setGPSPower, jswrap_banglejs_setHRMPower, jswrap_banglejs_setLCDBrightness, jswrap_banglejs_setLCDMode, jswrap_banglejs_setLCDOffset, jswrap_banglejs_setLCDOverlay, jswrap_banglejs_setLCDPower, jswrap_banglejs_setLCDTimeout, jswrap_banglejs_setLocked, jswrap_banglejs_setOptions, jswrap_banglejs_setPollInterval, jswrap_banglejs_setStepCount, gen_jswrap_Bangle_setUI, gen_jswrap_Bangle_showClock, gen_jswrap_Bangle_showLauncher, gen_jswrap_Bangle_showRecoveryMenu, jswrap_banglejs_softOff, jswrap_banglejs_touchWr, jswrap_espruino_CRC32, jswrap_espruino_FFT, jswrap_espruino_HSBtoRGB, jswrap_espruino_asUTF8, jswrap_espruino_asm, jswrap_espruino_clip, jswrap_espruino_compiledC, jswrap_espruino_convolve, jswrap_espruino_decodeUTF8, jsvDefragment, jswrap_e_dumpFragmentation, jswrap_e_dumpStr, jswrap_espruino_dumpTimers, jswrap_e_dumpVariables, jswrap_espruino_enableWatchdog, jswrap_espruino_fromUTF8, jswrap_espruino_getAddressOf, gen_jswrap_E_getAnalogVRef, jswrap_espruino_getBattery, jswrap_espruino_getConsole, jswrap_espruino_getErrorFlags, jsfGetFlags, jswrap_espruino_getPowerUsage, jswrap_espruino_getSizeOf, jswrap_espruino_getTemperature, jshGetRandomNumber, jswrap_espruino_isUTF8, jswrap_espruino_kickWatchdog, jswrap_espruino_lockConsole, jswrap_espruino_lookupNoCase, jswrap_espruino_mapInPlace, jswrap_espruino_memoryArea, jswrap_espruino_memoryMap, jswrap_espruino_nativeCall, jswrap_pipe, jswrap_espruino_reboot, jswrap_espruino_reverseByte, jswrap_espruino_setBootCode, jswrap_espruino_setClock, jswrap_espruino_setConsole, jswrap_espruino_setDST, jsfSetFlags, jswrap_espruino_setPassword, jswrap_espruino_setTimeZone, gen_jswrap_E_showAlert, gen_jswrap_E_showMenu, gen_jswrap_E_showMessage, gen_jswrap_E_showPrompt, gen_jswrap_E_showScroller, srand, jswrap_espruino_stopEventPropagation, jswrap_espruino_sum, jswrap_espruino_toArrayBuffer, jswrap_espruino_toFlatString, jswrap_espruino_toJS, jswrap_espruino_toString, jswrap_espruino_toUint8Array, jswrap_espruino_variance, jswrap_graphics_asBMP, jswrap_graphics_asImage, jswrap_graphics_asURL, jswrap_graphics_blendColor, jswrap_graphics_blit, jswrap_graphics_clear, jswrap_graphics_clearRect, jswrap_graphics_drawCircle, jswrap_graphics_drawCircleAA, jswrap_graphics_drawEllipse, jswrap_graphics_drawImage, jswrap_graphics_drawImages, jswrap_graphics_drawLine, jswrap_graphics_drawLineAA, gen_jswrap_Graphics_drawPoly, gen_jswrap_Graphics_drawPolyAA, jswrap_graphics_drawRect, jswrap_graphics_drawString, jswrap_graphics_dump, jswrap_graphics_fillCircle, jswrap_graphics_fillEllipse, gen_jswrap_Graphics_fillPoly, gen_jswrap_Graphics_fillPolyAA, jswrap_graphics_fillRect, jswrap_graphics_floodFill, jswrap_graphics_getBPP, gen_jswrap_Graphics_getBgColor, gen_jswrap_Graphics_getColor, jswrap_graphics_getFont, jswrap_graphics_getFontHeight, jswrap_graphics_getFonts, gen_jswrap_Graphics_getHeight, jswrap_graphics_getModified, jswrap_graphics_getPixel, jswrap_graphics_getVectorFontPolys, gen_jswrap_Graphics_getWidth, jswrap_graphics_imageMetrics, jswrap_graphics_lineTo, jswrap_graphics_moveTo, jswrap_graphics_quadraticBezier, jswrap_graphics_reset, jswrap_graphics_scroll, gen_jswrap_Graphics_setBgColor, jswrap_graphics_setClipRect, gen_jswrap_Graphics_setColor, jswrap_graphics_setFont, jswrap_graphics_setFont12x20, jswrap_graphics_setFont6x15, jswrap_graphics_setFontAlign, gen_jswrap_Graphics_setFontBitmap, jswrap_graphics_setFontCustom, jswrap_graphics_setFontPBF, gen_jswrap_Graphics_setFontVector, jswrap_graphics_setPixel, jswrap_graphics_setRotation, jswrap_graphics_setTheme, jswrap_graphics_stringMetrics, jswrap_graphics_stringWidth, jswrap_graphics_theme, jswrap_graphics_toColor, jswrap_graphics_transformVertices, jswrap_graphics_wrapString, gen_jswrap_NRF_getAddress, gen_jswrap_NRF_getSecurityStatus, gen_jswrap_NRF_setAdvertising, gen_jswrap_NRF_setServices, gen_jswrap_Bluetooth_setConsole, jswrap_array_concat, jswrap_array_every, jswrap_array_fill, jswrap_array_filter, jswrap_array_find, jswrap_array_findIndex, jswrap_array_forEach, jswrap_array_includes, jswrap_array_indexOf, jswrap_array_join, jswrap_object_length, jswrap_array_map, gen_jswrap_Array_pop, jswrap_array_push, jswrap_array_reduce, jswrap_array_reverse, jswrap_array_shift, jswrap_array_slice, jswrap_array_some, jswrap_array_sort, jswrap_array_splice, jswrap_array_unshift, gen_jswrap_Array_isArray, gen_jswrap_ArrayBuffer_byteLength, gen_jswrap_ArrayBufferView_buffer, gen_jswrap_ArrayBufferView_byteLength, gen_jswrap_ArrayBufferView_byteOffset, jswrap_arraybufferview_map, jswrap_arraybufferview_set, jswrap_arraybufferview_sort, jswrap_arraybufferview_subarray, gen_jswrap_DataView_getFloat32, gen_jswrap_DataView_getFloat64, gen_jswrap_DataView_getInt16, gen_jswrap_DataView_getInt32, gen_jswrap_DataView_getInt8, gen_jswrap_DataView_getUint16, gen_jswrap_DataView_getUint32, gen_jswrap_DataView_getUint8, gen_jswrap_DataView_setFloat32, gen_jswrap_DataView_setFloat64, gen_jswrap_DataView_setInt16, gen_jswrap_DataView_setInt32, gen_jswrap_DataView_setInt8, gen_jswrap_DataView_setUint16, gen_jswrap_DataView_setUint32, gen_jswrap_DataView_setUint8, jswrap_date_now, jswrap_date_parse, jswrap_date_getDate, jswrap_date_getDay, jswrap_date_getFullYear, jswrap_date_getHours, jswrap_date_getIsDST, jswrap_date_getMilliseconds, jswrap_date_getMinutes, jswrap_date_getMonth, jswrap_date_getSeconds, jswrap_date_getTime, jswrap_date_getTimezoneOffset, jswrap_date_setDate, jswrap_date_setFullYear, jswrap_date_setHours, jswrap_date_setMilliseconds, jswrap_date_setMinutes, jswrap_date_setMonth, jswrap_date_setSeconds, jswrap_date_setTime, jswrap_date_toISOString, jswrap_date_toLocalISOString, jswrap_date_toString, jswrap_date_toUTCString, jswrap_error_toString, jswrap_json_parse, jswrap_json_stringify, gen_jswrap_Number_MAX_VALUE, gen_jswrap_Number_MIN_VALUE, gen_jswrap_Number_NEGATIVE_INFINITY, gen_jswrap_Number_NaN, gen_jswrap_Number_POSITIVE_INFINITY, jswrap_number_toFixed, jswrap_object_on, jswrap_object_clone, jswrap_object_emit, jswrap_object_hasOwnProperty, jswrap_object_prependListener, jswrap_object_removeAllListeners, jswrap_object_removeListener, jswrap_object_valueOf, jswrap_object_assign, jswrap_object_create, jswrap_object_defineProperties, jswrap_object_defineProperty, gen_jswrap_Object_entries, jswrap_object_fromEntries, jswrap_object_getOwnPropertyDescriptor, jswrap_object_getOwnPropertyDescriptors, gen_jswrap_Object_getOwnPropertyNames, jswrap_object_getPrototypeOf, gen_jswrap_Object_keys, jswrap_object_setPrototypeOf, gen_jswrap_Object_values, jswrap_function_apply_or_call, jswrap_function_bind, jswrap_function_replaceWith, jswrap_regexp_exec, jswrap_regexp_test, jswrap_string_charAt, jswrap_string_charCodeAt, jswrap_string_concat, jswrap_string_endsWith, gen_jswrap_String_includes, gen_jswrap_String_indexOf, gen_jswrap_String_lastIndexOf, jswrap_string_match, gen_jswrap_String_padEnd, gen_jswrap_String_padStart, gen_jswrap_String_removeAccents, jswrap_string_repeat, jswrap_string_replace, jswrap_string_replaceAll, jswrap_string_slice, jswrap_string_split, jswrap_string_startsWith, jswrap_string_substr, jswrap_string_substring, gen_jswrap_String_toLowerCase, gen_jswrap_String_toUpperCase, jswrap_string_trim, jswrap_string_fromCharCode, jswrap_modules_addCached, jswrap_modules_getCached, jswrap_modules_removeAllCached, jswrap_modules_removeCached, gen_jswrap_Math_E, gen_jswrap_Math_LN10, gen_jswrap_Math_LN2, gen_jswrap_Math_LOG10E, gen_jswrap_Math_LOG2E, gen_jswrap_Math_PI, gen_jswrap_Math_SQRT1_2, gen_jswrap_Math_SQRT2, fabs, gen_jswrap_Math_acos, jswrap_math_asin, jswrap_math_atan, jswrap_math_atan2, ceil, jswrap_math_clip, jswrap_math_cos, exp, floor, log, gen_jswrap_Math_max, gen_jswrap_Math_min, jswrap_math_pow, gen_jswrap_Math_random, jswrap_math_round, jswrap_math_sign, jswrap_math_sin, jswrap_math_sqrt, gen_jswrap_Math_tan, wrapAround, jswrap_flash_erasePage, jswrap_flash_getFree, jswrap_flash_getPage, jswrap_flash_read, jswrap_flash_write, jswrap_process_env, jswrap_process_memory, gen_jswrap_process_version, jswrap_onewire_read, jswrap_onewire_reset, jswrap_onewire_search, jswrap_onewire_select, jswrap_onewire_skip, jswrap_onewire_write, jswrap_promise_all, jswrap_promise_reject, jswrap_promise_resolve, jswrap_promise_catch, jswrap_promise_then, gen_jswrap_Serial_find, jswrap_stream_available, jswrap_serial_flush, jswrap_serial_inject, jswrap_serial_print, jswrap_serial_println, jswrap_stream_read, jswrap_serial_setConsole, jswrap_serial_setup, jswrap_serial_unsetup, jswrap_serial_write, jswrap_storage_compact, jswrap_storage_erase, jswrap_storage_eraseAll, jswrap_storage_getFree, jswrap_storage_getStats, jswrap_storage_hash, jswrap_storage_list, jswrap_storage_open, jswrap_storage_optimise, jswrap_storage_read, jswrap_storage_readArrayBuffer, jswrap_storage_readJSON, jswrap_storage_write, jswrap_storage_writeJSON, jswrap_storagefile_erase, jswrap_storagefile_getLength, jswrap_storagefile_read, jswrap_storagefile_readLine, jswrap_storagefile_write, gen_jswrap_SPI_find, jswrap_spi_send, jswrap_spi_send4bit, jswrap_spi_send8bit, jswrap_spi_setup, jswrap_spi_write, gen_jswrap_I2C_find, jswrap_i2c_readFrom, jswrap_i2c_readReg, jswrap_i2c_setup, jswrap_i2c_writeTo, jswrap_waveform_startInput, jswrap_waveform_startOutput, jswrap_waveform_stop, jswrap_heatshrink_compress, jswrap_heatshrink_decompress, jswrap_graphics_createArrayBuffer, jswrap_graphics_createCallback, jswrap_graphics_createImage, jswrap_graphics_getInstance, gen_jswrap_crypto_SHA1, gen_jswrap_crypto_SHA224, gen_jswrap_crypto_SHA256, gen_jswrap_crypto_SHA384, gen_jswrap_crypto_SHA512, jswrap_tensorflow_create, jswrap_tfmicrointerpreter_getInput, jswrap_tfmicrointerpreter_getOutput, jswrap_tfmicrointerpreter_invoke, jsiConsolePrintString, jsiTabComplete_findCommon, jsiTabComplete_printCommon, jstPinTaskChecker, jstBufferTaskChecker, jsserialHardwareFunc, jsserialSoftwareFunc, jsserialEventCallback, jsspiHardwareFunc, jsspiFastSoftwareFunc, jsspiSoftwareFunc, heatshrink_ptr_output_cb, graphicsFallbackSetPixel, graphicsFallbackGetPixel, graphicsFallbackFillRect, graphicsFallbackBlit, graphicsFallbackScroll, graphicsSetPixel, lcdSetPixel_ArrayBuffer_flat1, lcdGetPixel_ArrayBuffer_flat, lcdFillRect_ArrayBuffer_flat1, lcdSetPixel_ArrayBuffer_flat8, lcdGetPixel_ArrayBuffer_flat8, lcdFillRect_ArrayBuffer_flat8, lcdScroll_ArrayBuffer_flat8, lcdSetPixel_ArrayBuffer_flat, lcdFillRect_ArrayBuffer_flat, lcdSetPixel_ArrayBuffer, lcdGetPixel_ArrayBuffer, lcdFillRect_ArrayBuffer, lcdSetPixel_JS, lcdFillRect_JS, lcdMemLCD_setPixel, lcdMemLCD_fillRect, lcdMemLCD_getPixel, lcdMemLCD_scroll, lcd_flip, btn1Handler, jswrap_banglejs_postInit, jswrap_banglejs_beep_callback, jswrap_banglejs_buzz_callback, _jswrap_arraybufferview_sort_float, _jswrap_arraybufferview_sort_int, jsvArrayAddUnique, _jswrap_object_entries_cb, _jswrap_object_values_cb, _jswrap_espruino_toString_char, _jswrap_espruino_toUint8Array_char, jswrap_io_shiftOutCallback, jswrap_pipe_src_close_listener, jswrap_pipe_drain_listener, jswrap_pipe_dst_close_listener, jsvLockAgainSafe, jsvUnLock, jsvSkipName, jsvMathsOp, jsvNewWithFlags, jsvNewFromFloat, jsvNewFromInteger, jsvNewFromString, jsvNewFromBool, jsvGetFloat, jsvGetInteger, jsvGetBool, jsvReplaceWith, jspeFunctionCall, jspGetNamedVariable, jspGetNamedField, jspGetVarNamedField, _jswrap_onewire_write_cb, _jswrap_prombox_resolve, _jswrap_prombox_reject, _jswrap_prombox_queueresolve, _jswrap_prombox_queuereject, _jswrap_prombox_all_reject, _jswrap_prombox_all_resolve, _jswrap_promise_reaction_call, _jswrap_serial_inject_cb, jswrap_spi_send_cb, jswrap_spi_write_cb, heatshrink_var_input_cb, heatshrink_var_output_cb, jswrap_graphics_getFonts_callback, graphicsFillPoly, _jswrap_graphics_getVectorFontPolys_cb, graphicsDrawLineAA, graphicsDrawLine, tflite__SimpleMemoryAllocator__SimpleMemoryAllocator_28tflite__ErrorReporter__2c_20unsigned_20char__2c_20unsigned_20long_29, tflite__SimpleMemoryAllocator___SimpleMemoryAllocator_28_29, tflite__SimpleMemoryAllocator___SimpleMemoryAllocator_28_29_1, tflite__SimpleMemoryAllocator__EnsureHeadSize_28unsigned_20long_2c_20unsigned_20long_29, tflite__SimpleMemoryAllocator__AllocateFromTail_28unsigned_20long_2c_20unsigned_20long_29, tflite__SimpleMemoryAllocator__AllocateTemp_28unsigned_20long_2c_20unsigned_20long_29, tflite__SimpleMemoryAllocator__ResetTempAllocations_28_29, tflite__internal__ContextHelper__ContextHelper_28tflite__ErrorReporter__2c_20tflite__MicroAllocator__2c_20tflite__Model_20const__29, tflite__internal__ContextHelper__ReportOpError_28TfLiteContext__2c_20char_20const__2c_20____29, tflite__internal__ContextHelper__GetTensor_28TfLiteContext_20const__2c_20int_29, tflite__internal__ContextHelper__GetEvalTensor_28TfLiteContext_20const__2c_20int_29, tflite__internal__ContextHelper__AllocatePersistentBuffer_28TfLiteContext__2c_20unsigned_20long_29, tflite__internal__ContextHelper__RequestScratchBufferInArena_28TfLiteContext__2c_20unsigned_20long_2c_20int__29, tflite__internal__ContextHelper__GetScratchBuffer_28TfLiteContext__2c_20int_29, tflite__MicroAllocator___MicroAllocator_28_29, tflite__MicroAllocator__MicroAllocator_28tflite__SimpleMemoryAllocator__2c_20tflite__ErrorReporter__29, tflite__MicroAllocator__AllocatePersistentTfLiteTensor_28tflite__Model_20const__2c_20TfLiteEvalTensor__2c_20int_29, tflite__MicroAllocator__AllocateTempTfLiteTensor_28tflite__Model_20const__2c_20TfLiteEvalTensor__2c_20int_29, tflite__MicroAllocator__ResetTempAllocations_28_29, tflite__MicroAllocator___MicroAllocator_28_29_1, tflite__MicroAllocator__AllocateNodeAndRegistrations_28tflite__Model_20const__2c_20tflite__NodeAndRegistration___29, tflite__MicroAllocator__PrepareNodeAndRegistrationDataFromFlatbuffer_28tflite__Model_20const__2c_20tflite__MicroOpResolver_20const__2c_20tflite__NodeAndRegistration__29, tflite__MicroAllocator__AllocateTfLiteEvalTensors_28tflite__Model_20const__2c_20TfLiteEvalTensor___29, tflite__MicroAllocator__AllocateVariables_28tflite__SubGraph_20const__2c_20TfLiteEvalTensor__29, tflite__MicroAllocator__AllocatePersistentTfLiteTensorInternal_28tflite__Model_20const__2c_20TfLiteEvalTensor__2c_20int_29, tflite__MicroAllocator__PopulateTfLiteTensorFromFlatbuffer_28tflite__Model_20const__2c_20tflite__SubGraph_20const__2c_20TfLiteTensor__2c_20int_2c_20bool_29, tflite__MicroAllocator__CommitStaticMemoryPlan_28tflite__Model_20const__2c_20tflite__SubGraph_20const__2c_20TfLiteEvalTensor__29, tflite___28anonymous_20namespace_29__MicroBuiltinDataAllocator__Allocate_28unsigned_20long_2c_20unsigned_20long_29, tflite___28anonymous_20namespace_29__MicroBuiltinDataAllocator__Deallocate_28void__29, tflite___28anonymous_20namespace_29__MicroBuiltinDataAllocator___MicroBuiltinDataAllocator_28_29, tflite___28anonymous_20namespace_29__MicroBuiltinDataAllocator___MicroBuiltinDataAllocator_28_29_1, __cxa_pure_virtual, tflite__BuiltinDataAllocator___BuiltinDataAllocator_28_29, tflite__BuiltinDataAllocator___BuiltinDataAllocator_28_29_1, tflite__ops__micro__depthwise_conv__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__depthwise_conv__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__depthwise_conv__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__conv__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__conv__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__conv__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__pooling__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__pooling__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__pooling__AverageEval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__pooling__MaxEval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__activations__SoftmaxInit_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__activations__SoftmaxPrepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__activations__SoftmaxEval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__fully_connected__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__fully_connected__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__fully_connected__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__quantize__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__quantize__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__quantize__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__dequantize__Init_28TfLiteContext__2c_20char_20const__2c_20unsigned_20long_29, tflite__ops__micro__dequantize__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__dequantize__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__reshape__Prepare_28TfLiteContext__2c_20TfLiteNode__29, tflite__ops__micro__reshape__Eval_28TfLiteContext__2c_20TfLiteNode__29, tflite__MemoryPlanner___MemoryPlanner_28_29, tflite__MemoryPlanner___MemoryPlanner_28_29_1, tflite__GreedyMemoryPlanner___GreedyMemoryPlanner_28_29, tflite__GreedyMemoryPlanner___GreedyMemoryPlanner_28_29_1, tflite__GreedyMemoryPlanner__AddBuffer_28tflite__ErrorReporter__2c_20int_2c_20int_2c_20int_29, tflite__GreedyMemoryPlanner__GetMaximumMemorySize_28_29, tflite__GreedyMemoryPlanner__GetBufferCount_28_29, tflite__GreedyMemoryPlanner__GetOffsetForBuffer_28tflite__ErrorReporter__2c_20int_2c_20int__29, tflite__ParseDepthwiseConv2D_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseConv2D_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParsePool_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseFullyConnected_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseSoftmax_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseQuantize_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseDequantize_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__ParseReshape_28tflite__Operator_20const__2c_20tflite__ErrorReporter__2c_20tflite__BuiltinDataAllocator__2c_20void___29, tflite__EspruinoErrorReporter___EspruinoErrorReporter_28_29, tflite__EspruinoErrorReporter___EspruinoErrorReporter_28_29_1, tflite__EspruinoErrorReporter__Report_28char_20const__2c_20void__29, tflite__ErrorReporter___ErrorReporter_28_29, tflite__ErrorReporter___ErrorReporter_28_29_1, tflite__MicroOpResolver__FindOp_28tflite__BuiltinOperator_2c_20int_29_20const, tflite__MicroOpResolver__FindOp_28char_20const__2c_20int_29_20const, tflite__OpResolver__GetDelegates_28int_29_20const, tflite__MicroMutableOpResolver_9u____MicroMutableOpResolver_28_29, tflite__MicroMutableOpResolver_9u____MicroMutableOpResolver_28_29_1, tflite__MicroMutableOpResolver_9u___FindOp_28tflite__BuiltinOperator_29_20const, tflite__MicroMutableOpResolver_9u___FindOp_28char_20const__29_20const, tflite__MicroMutableOpResolver_9u___GetOpDataParser_28tflite__BuiltinOperator_29_20const, tflite__MicroOpResolver___MicroOpResolver_28_29, tflite__MicroOpResolver___MicroOpResolver_28_29_1, tflite__OpResolver___OpResolver_28_29, tflite__OpResolver___OpResolver_28_29_1, __stdio_close, __stdio_write, __stdio_seek]); function __wasm_memory_size() { return buffer.byteLength / 65536 | 0; } @@ -84799,13 +84821,13 @@ var tempI64; // === Body === var ASM_CONSTS = { - 180777: () => { jsHandleIO(); }, - 180795: ($0, $1) => { hwSetPinValue($0,$1) }, - 180820: ($0) => { return hwGetPinValue($0) }, - 180849: () => { return Date.now(); }, - 180872: ($0, $1, $2) => { hwFlashWritePtr($0,$1,$2); }, - 180903: ($0) => { return hwFlashRead($0) }, - 180930: ($0, $1, $2) => { hwFlashWritePtr($0,$1,$2); } + 180889: () => { jsHandleIO(); }, + 180907: ($0, $1) => { hwSetPinValue($0,$1) }, + 180932: ($0) => { return hwGetPinValue($0) }, + 180961: () => { return Date.now(); }, + 180984: ($0, $1, $2) => { hwFlashWritePtr($0,$1,$2); }, + 181015: ($0) => { return hwFlashRead($0) }, + 181042: ($0, $1, $2) => { hwFlashWritePtr($0,$1,$2); } }; function emscripten_memcpy_js(dest,src,numBytes) { var destHeap = new Uint8Array(Module.HEAPU8.buffer, dest, numBytes); var srcHeap = new Uint8Array(Module.HEAPU8.buffer, src, numBytes); destHeap.set(srcHeap); }