From cfd4227267d9a3080d51089a2df56f7f00736734 Mon Sep 17 00:00:00 2001 From: OverloadedOrama <35376950+OverloadedOrama@users.noreply.github.com> Date: Thu, 28 Nov 2024 20:03:39 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20Orama-In?= =?UTF-8?q?teractive/Pixelorama@7f4c7a6bf1b01f4118a4de66ee36e5111be3f6fe?= =?UTF-8?q?=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- early_access/index.144x144.png | Bin 0 -> 611 bytes early_access/index.180x180.png | Bin 0 -> 960 bytes early_access/index.512x512.png | Bin 0 -> 3095 bytes early_access/index.apple-touch-icon.png | Bin 0 -> 960 bytes early_access/index.audio.worklet.js | 213 ++++++ early_access/index.html | 200 ++++++ early_access/index.icon.png | Bin 0 -> 1026 bytes early_access/index.js | 908 ++++++++++++++++++++++++ early_access/index.manifest.json | 1 + early_access/index.offline.html | 41 ++ early_access/index.pck | Bin 0 -> 4659904 bytes early_access/index.png | Bin 0 -> 13558 bytes early_access/index.service.worker.js | 166 +++++ early_access/index.wasm | Bin 0 -> 35376909 bytes index.144x144.png | Bin 0 -> 611 bytes index.180x180.png | Bin 0 -> 960 bytes index.512x512.png | Bin 0 -> 3095 bytes index.apple-touch-icon.png | Bin 0 -> 960 bytes index.audio.worklet.js | 213 ++++++ index.html | 200 ++++++ index.icon.png | Bin 0 -> 1026 bytes index.js | 908 ++++++++++++++++++++++++ index.manifest.json | 1 + index.offline.html | 41 ++ index.pck | Bin 0 -> 4620000 bytes index.png | Bin 0 -> 13558 bytes index.service.worker.js | 166 +++++ index.wasm | Bin 0 -> 35376909 bytes 28 files changed, 3058 insertions(+) create mode 100644 early_access/index.144x144.png create mode 100644 early_access/index.180x180.png create mode 100644 early_access/index.512x512.png create mode 100644 early_access/index.apple-touch-icon.png create mode 100644 early_access/index.audio.worklet.js create mode 100644 early_access/index.html create mode 100644 early_access/index.icon.png create mode 100644 early_access/index.js create mode 100644 early_access/index.manifest.json create mode 100644 early_access/index.offline.html create mode 100644 early_access/index.pck create mode 100644 early_access/index.png create mode 100644 early_access/index.service.worker.js create mode 100644 early_access/index.wasm create mode 100644 index.144x144.png create mode 100644 index.180x180.png create mode 100644 index.512x512.png create mode 100644 index.apple-touch-icon.png create mode 100644 index.audio.worklet.js create mode 100644 index.html create mode 100644 index.icon.png create mode 100644 index.js create mode 100644 index.manifest.json create mode 100644 index.offline.html create mode 100644 index.pck create mode 100644 index.png create mode 100644 index.service.worker.js create mode 100644 index.wasm diff --git a/early_access/index.144x144.png b/early_access/index.144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..5e65f72f81cab21a7c7e640acf105e3d30deb838 GIT binary patch literal 611 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q4M;wBd$a>cF%}28J29*~C-ahlfl1cW#WAE} z&f7bRc_D!!4G$%QoNq8{Cvf|IxRSKuka+9L8MX@ouJki?9u5z?64<#&Tj7MGc;nCW zAL1^(k3Mj+wz9r&*UsB#Crsb{`tX%Cob8wYUUIK^P*lGEi=bS^-@mWRlFm);RJ4g> zQW6yCZ17-lQBn|MoXFAP;-G>>==RpTDswi~Z(nzQm+kKjUj+LOu@R+@Ny#$u7eoE* zU7i&mAJwFso3eWMdFA43Wt%S&tDhLxK^+|S-R;qomFAp3&82a81KnpSrRGBS>u&X( zv7GbH{h80sJ9qVKTNZCV6O6XaSW-L z^Y*S`c3i4V`@`jv^lq7TH1YY0v1)cGXn38Ra8a>4=}wH1W{K#XS?Bzk?jPXmTGZX_ z+|IYPn{n$7ktFu^O9|~xuM(7x@IMfF`tWUaajg7<-D^5UZ%G`|IM3o zx8^_m@kc*-&E2RklIletZ#~>m@%G`O^A;2J|LxfO`|01?;b}SchRGsgt{0YY%o1^& ztdtSN;@h>rQ_w`SNsW+T7|5RU5^=HhrNzhI`G}vhG1s&Ce+p#&^7C){4X3?c{eJrV znzUk@-tFZaZS{4pCu{CDu5=>JbHoP&Zk3Uz z=3fW8B(pjv_Ey{%$v^z_$O&ekAA{IYPJVyzuI6oWJ#p&a#fR^D9$vj)e=9~dx%k*OljrYr@1B3n|IS9Lnt$5s z=U?~#tNi~9sOqca?c#q-_Qxs`pT2o2?mz$T+^y$7-Lkj3^Y`uh!`jB%_7+VbDWSq* b=s&~khw&CSBic^`vm}G3tDnm{r-UW|vd^bE literal 0 HcmV?d00001 diff --git a/early_access/index.512x512.png b/early_access/index.512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..20749934e558f419a0c3b18d0a05ebf429166b22 GIT binary patch literal 3095 zcmd^B+f!3V7+)?zf@QG6R4^&fDq<@NQ5+}<1RWT3ut1@;5ww7(4yTjj_JgKjq8fnpqX%R5eafoR zOnscg9e21gUpC3}Bp10qIPv};9$&jAeYX9RxLE&RwKvJpw=dP5q5U4e-6_env9vU4 z9quc9>xZSzi}eqRH6GLIg2;c~(muV>DTU8zO^>U*GYOwFy3QJ|uxkj&Tf>Y*<&Naob;1oha+&uH|bXeDF?sl_G(m)fnLYVb)8Q&Fv5iS4) z{tf`_!yZ!T41hBp0Nh3ZHf#mJ{{R5drEl(rR0Y<$M%fnnk?xfSLVN=p2J1444Rz(r zdC6%=gQ5YFXO_xp-rZJjD2SezS!k$B`6akHXQo03-BL9$I`vxgZGKQAS56T!)i2O@ zCCp3}%F?f<7iV85f>@DB$LT8|t@R!ye*!RZ~l5wTYs*$gpFB4#TRg1D983R>1L4zTp) zq$XhqA|{#`vjp3D-NmK(iCGD^*ZF$$(aqf#tP6sC)foCg3VPuzgR(Lh2_aOB z0g_V-GcQ=`@@zgFB93o9N`QwON4O4B9JuoZiR52QP5%_qbW)>litXL+i{c({TNf4Sj~Tp5I-EN|TRUOgxQ!+!`!4$VUXz+d{Q5&Y z)3}h?%BLbOp7??mjR>+B^rWcNYT=hZwaH1l6uyvk9t}9uVvr{)!~7zBHg!|0BC~$1 zt+w(6W+m!#Xe;RD1|@K8ml%M{P3Q2IPjc#WVJzgUH5ZwyHDpL*JZ|)==(TGy%52s% z#w&S;CqzrDjikd9aInLiPegbWvBYB&#LN#x{tO-5!M5p9cPWu^% z?CW1S4kI(^=n!}J(DGP&&5$BwqDPCa0~F}0vX;r_g>_A{DcA*yH+#tV-+bIj4Ub^4 zjXxYo(ApUKhr;IO8X|Ps_|7&O5N`3sAkkdgzGikM&msxA&kz*EL8P-H*`?h;v@fgC-J4kHGRSo z>MZ-YNKV6O6XaSW-L z^Y*S`c3i4V`@`jv^lq7TH1YY0v1)cGXn38Ra8a>4=}wH1W{K#XS?Bzk?jPXmTGZX_ z+|IYPn{n$7ktFu^O9|~xuM(7x@IMfF`tWUaajg7<-D^5UZ%G`|IM3o zx8^_m@kc*-&E2RklIletZ#~>m@%G`O^A;2J|LxfO`|01?;b}SchRGsgt{0YY%o1^& ztdtSN;@h>rQ_w`SNsW+T7|5RU5^=HhrNzhI`G}vhG1s&Ce+p#&^7C){4X3?c{eJrV znzUk@-tFZaZS{4pCu{CDu5=>JbHoP&Zk3Uz z=3fW8B(pjv_Ey{%$v^z_$O&ekAA{IYPJVyzuI6oWJ#p&a#fR^D9$vj)e=9~dx%k*OljrYr@1B3n|IS9Lnt$5s z=U?~#tNi~9sOqca?c#q-_Qxs`pT2o2?mz$T+^y$7-Lkj3^Y`uh!`jB%_7+VbDWSq* b=s&~khw&CSBic^`vm}G3tDnm{r-UW|vd^bE literal 0 HcmV?d00001 diff --git a/early_access/index.audio.worklet.js b/early_access/index.audio.worklet.js new file mode 100644 index 000000000..3b94cab85 --- /dev/null +++ b/early_access/index.audio.worklet.js @@ -0,0 +1,213 @@ +/**************************************************************************/ +/* audio.worklet.js */ +/**************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/**************************************************************************/ +/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ +/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/**************************************************************************/ + +class RingBuffer { + constructor(p_buffer, p_state, p_threads) { + this.buffer = p_buffer; + this.avail = p_state; + this.threads = p_threads; + this.rpos = 0; + this.wpos = 0; + } + + data_left() { + return this.threads ? Atomics.load(this.avail, 0) : this.avail; + } + + space_left() { + return this.buffer.length - this.data_left(); + } + + read(output) { + const size = this.buffer.length; + let from = 0; + let to_write = output.length; + if (this.rpos + to_write > size) { + const high = size - this.rpos; + output.set(this.buffer.subarray(this.rpos, size)); + from = high; + to_write -= high; + this.rpos = 0; + } + if (to_write) { + output.set(this.buffer.subarray(this.rpos, this.rpos + to_write), from); + } + this.rpos += to_write; + if (this.threads) { + Atomics.add(this.avail, 0, -output.length); + Atomics.notify(this.avail, 0); + } else { + this.avail -= output.length; + } + } + + write(p_buffer) { + const to_write = p_buffer.length; + const mw = this.buffer.length - this.wpos; + if (mw >= to_write) { + this.buffer.set(p_buffer, this.wpos); + this.wpos += to_write; + if (mw === to_write) { + this.wpos = 0; + } + } else { + const high = p_buffer.subarray(0, mw); + const low = p_buffer.subarray(mw); + this.buffer.set(high, this.wpos); + this.buffer.set(low); + this.wpos = low.length; + } + if (this.threads) { + Atomics.add(this.avail, 0, to_write); + Atomics.notify(this.avail, 0); + } else { + this.avail += to_write; + } + } +} + +class GodotProcessor extends AudioWorkletProcessor { + constructor() { + super(); + this.threads = false; + this.running = true; + this.lock = null; + this.notifier = null; + this.output = null; + this.output_buffer = new Float32Array(); + this.input = null; + this.input_buffer = new Float32Array(); + this.port.onmessage = (event) => { + const cmd = event.data['cmd']; + const data = event.data['data']; + this.parse_message(cmd, data); + }; + } + + process_notify() { + if (this.notifier) { + Atomics.add(this.notifier, 0, 1); + Atomics.notify(this.notifier, 0); + } + } + + parse_message(p_cmd, p_data) { + if (p_cmd === 'start' && p_data) { + const state = p_data[0]; + let idx = 0; + this.threads = true; + this.lock = state.subarray(idx, ++idx); + this.notifier = state.subarray(idx, ++idx); + const avail_in = state.subarray(idx, ++idx); + const avail_out = state.subarray(idx, ++idx); + this.input = new RingBuffer(p_data[1], avail_in, true); + this.output = new RingBuffer(p_data[2], avail_out, true); + } else if (p_cmd === 'stop') { + this.running = false; + this.output = null; + this.input = null; + this.lock = null; + this.notifier = null; + } else if (p_cmd === 'start_nothreads') { + this.output = new RingBuffer(p_data[0], p_data[0].length, false); + } else if (p_cmd === 'chunk') { + this.output.write(p_data); + } + } + + static array_has_data(arr) { + return arr.length && arr[0].length && arr[0][0].length; + } + + process(inputs, outputs, parameters) { + if (!this.running) { + return false; // Stop processing. + } + if (this.output === null) { + return true; // Not ready yet, keep processing. + } + const process_input = GodotProcessor.array_has_data(inputs); + if (process_input) { + const input = inputs[0]; + const chunk = input[0].length * input.length; + if (this.input_buffer.length !== chunk) { + this.input_buffer = new Float32Array(chunk); + } + if (!this.threads) { + GodotProcessor.write_input(this.input_buffer, input); + this.port.postMessage({ 'cmd': 'input', 'data': this.input_buffer }); + } else if (this.input.space_left() >= chunk) { + GodotProcessor.write_input(this.input_buffer, input); + this.input.write(this.input_buffer); + } else { + // this.port.postMessage('Input buffer is full! Skipping input frame.'); // Uncomment this line to debug input buffer. + } + } + const process_output = GodotProcessor.array_has_data(outputs); + if (process_output) { + const output = outputs[0]; + const chunk = output[0].length * output.length; + if (this.output_buffer.length !== chunk) { + this.output_buffer = new Float32Array(chunk); + } + if (this.output.data_left() >= chunk) { + this.output.read(this.output_buffer); + GodotProcessor.write_output(output, this.output_buffer); + if (!this.threads) { + this.port.postMessage({ 'cmd': 'read', 'data': chunk }); + } + } else { + // this.port.postMessage('Output buffer has not enough frames! Skipping output frame.'); // Uncomment this line to debug output buffer. + } + } + this.process_notify(); + return true; + } + + static write_output(dest, source) { + const channels = dest.length; + for (let ch = 0; ch < channels; ch++) { + for (let sample = 0; sample < dest[ch].length; sample++) { + dest[ch][sample] = source[sample * channels + ch]; + } + } + } + + static write_input(dest, source) { + const channels = source.length; + for (let ch = 0; ch < channels; ch++) { + for (let sample = 0; sample < source[ch].length; sample++) { + dest[sample * channels + ch] = source[ch][sample]; + } + } + } +} + +registerProcessor('godot-processor', GodotProcessor); diff --git a/early_access/index.html b/early_access/index.html new file mode 100644 index 000000000..33dc66139 --- /dev/null +++ b/early_access/index.html @@ -0,0 +1,200 @@ + + + + + + Pixelorama + + + + + + + + + Your browser does not support the canvas tag. + + + + +
+ + +
+
+ + + + + + diff --git a/early_access/index.icon.png b/early_access/index.icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b249a953af19ef55aa8ee9f297743833d5527b18 GIT binary patch literal 1026 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|G!U;i$lZxy-8q?;3=GVBJY5_^ zD(1YsrkE$4DB^a}CnYGAJ<@TzfaacMikw>c0iBKC1wulKmBpvEO0%_?ZdeiN7-|uF zjQRT<-aY=xXRq#$;n{t6{`Hrix`{Sr`t{2u-{F zw{osrU|CI0{lDvPFMnw<(P!WgrWv~J!#|^}CdU1J{m&l;RrR+XzBQ@(U;5jms(zL@ zLks7SMY+q^ugKo>yDZG{nW@2mkydEK*)I*5^Y`m7{(gP-;}?H3!3l-NF&0z1TVD3V z_t*Uwe;d5~@H_R(KAOgq?qz1X+8uGr%@0g@USIF_-;t*2@i%`|o7&A?X_{AnnVP}V L)z4*}Q$iB}60+>O literal 0 HcmV?d00001 diff --git a/early_access/index.js b/early_access/index.js new file mode 100644 index 000000000..322c2d1eb --- /dev/null +++ b/early_access/index.js @@ -0,0 +1,908 @@ + +var Godot = (() => { + var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined; + + return ( +function(moduleArg = {}) { + var moduleRtn; + +var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});["_memory","__Z14godot_web_mainiPPc","__emwebxr_on_input_event","__emwebxr_on_simple_event","___indirect_function_table","_main","onRuntimeInitialized"].forEach(prop=>{if(!Object.getOwnPropertyDescriptor(readyPromise,prop)){Object.defineProperty(readyPromise,prop,{get:()=>abort("You are getting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>abort("You are setting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})}});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)")}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_SHELL){if(typeof process=="object"&&typeof require==="function"||typeof window=="object"||typeof importScripts=="function")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)")}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}if(!(typeof window=="object"||typeof importScripts=="function"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=url=>{assert(!isFileURI(url),"readAsync does not work with file:// URLs");return fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}}else{throw new Error("environment detection error")}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;checkIncomingModuleAPI();if(Module["arguments"])arguments_=Module["arguments"];legacyModuleProp("arguments","arguments_");if(Module["thisProgram"])thisProgram=Module["thisProgram"];legacyModuleProp("thisProgram","thisProgram");if(Module["quit"])quit_=Module["quit"];legacyModuleProp("quit","quit_");assert(typeof Module["memoryInitializerPrefixURL"]=="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]=="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]=="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]=="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["read"]=="undefined","Module.read option was removed");assert(typeof Module["readAsync"]=="undefined","Module.readAsync option was removed (modify readAsync in JS)");assert(typeof Module["readBinary"]=="undefined","Module.readBinary option was removed (modify readBinary in JS)");assert(typeof Module["setWindowTitle"]=="undefined","Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)");assert(typeof Module["TOTAL_MEMORY"]=="undefined","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");legacyModuleProp("asm","wasmExports");legacyModuleProp("readAsync","readAsync");legacyModuleProp("readBinary","readBinary");legacyModuleProp("setWindowTitle","setWindowTitle");assert(!ENVIRONMENT_IS_NODE,"node environment detected but not enabled at build time. Add `node` to `-sENVIRONMENT` to enable.");assert(!ENVIRONMENT_IS_SHELL,"shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.");var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];legacyModuleProp("wasmBinary","wasmBinary");if(typeof WebAssembly!="object"){err("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed"+(text?": "+text:""))}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b);Module["HEAP64"]=HEAP64=new BigInt64Array(b);Module["HEAPU64"]=HEAPU64=new BigUint64Array(b)}assert(!Module["STACK_SIZE"],"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time");assert(typeof Int32Array!="undefined"&&typeof Float64Array!=="undefined"&&Int32Array.prototype.subarray!=undefined&&Int32Array.prototype.set!=undefined,"JS engine does not provide full typed array support");assert(!Module["wasmMemory"],"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally");assert(!Module["INITIAL_MEMORY"],"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically");function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);if(max==0){max+=4}HEAPU32[max>>2]=34821223;HEAPU32[max+4>>2]=2310721022;HEAPU32[0>>2]=1668509029}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();if(max==0){max+=4}var cookie1=HEAPU32[max>>2];var cookie2=HEAPU32[max+4>>2];if(cookie1!=34821223||cookie2!=2310721022){abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`)}if(HEAPU32[0>>2]!=1668509029){abort("Runtime error: The application has corrupted its heap memory area (address zero)!")}}(function(){var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"})();var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){assert(!runtimeInitialized);runtimeInitialized=true;checkStackCookie();if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();SOCKFS.root=FS.mount(SOCKFS,{},null);callRuntimeCallbacks(__ATINIT__)}function preMain(){checkStackCookie();callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){assert(!runtimeExited);checkStackCookie();___funcs_on_exit();callRuntimeCallbacks(__ATEXIT__);FS.quit();TTY.shutdown();IDBFS.quit();runtimeExited=true}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function getUniqueRunDependency(id){var orig=id;while(1){if(!runDependencyTracking[id])return id;id=orig+Math.random()}}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies);if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!="undefined"){runDependencyWatcher=setInterval(()=>{if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err(`dependency: ${dep}`)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");function createExportWrapper(name,nargs){return(...args)=>{assert(runtimeInitialized,`native function \`${name}\` called before runtime initialization`);assert(!runtimeExited,`native function \`${name}\` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)`);var f=wasmExports[name];assert(f,`exported native function \`${name}\` not found`);assert(args.length<=nargs,`native function \`${name}\` called with ${args.length} args but expects ${nargs}`);return f(...args)}}function findWasmBinary(){var f="godot.web.template_release.wasm32.nothreads.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return readAsync(binaryFile).then(response=>new Uint8Array(response),()=>getBinarySync(binaryFile))}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);if(isFileURI(wasmBinaryFile)){err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`)}abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["memory"];assert(wasmMemory,"memory not found in wasm exports");updateMemoryViews();wasmTable=wasmExports["__indirect_function_table"];assert(wasmTable,"table not found in wasm exports");addOnInit(wasmExports["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");trueModule=null;receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}if(!wasmBinaryFile)wasmBinaryFile=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}function legacyModuleProp(prop,newName,incoming=true){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,get(){let extra=incoming?" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)":"";abort(`\`Module.${prop}\` has been replaced by \`${newName}\``+extra)}})}}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`)}}function isExportedByForceFilesystem(name){return name==="FS_createPath"||name==="FS_createDataFile"||name==="FS_createPreloadedFile"||name==="FS_unlink"||name==="addRunDependency"||name==="FS_createLazyFile"||name==="FS_createDevice"||name==="removeRunDependency"}function missingGlobal(sym,msg){if(typeof globalThis!="undefined"){Object.defineProperty(globalThis,sym,{configurable:true,get(){warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`);return undefined}})}}missingGlobal("buffer","Please use HEAP8.buffer or wasmMemory.buffer");missingGlobal("asm","Please use wasmExports instead");function missingLibrarySymbol(sym){if(typeof globalThis!="undefined"&&!Object.getOwnPropertyDescriptor(globalThis,sym)){Object.defineProperty(globalThis,sym,{configurable:true,get(){var msg=`\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`;var librarySymbol=sym;if(!librarySymbol.startsWith("_")){librarySymbol="$"+sym}msg+=` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`;if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}warnOnce(msg);return undefined}})}unexportedRuntimeSymbol(sym)}function unexportedRuntimeSymbol(sym){if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get(){var msg=`'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}abort(msg)}})}}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP64[ptr>>3];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=Module["noExitRuntime"]||false;var ptrToString=ptr=>{assert(typeof ptr==="number");ptr>>>=0;return"0x"+ptr.toString(16).padStart(8,"0")};function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":HEAP64[ptr>>3]=BigInt(value);break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}};var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>{assert(typeof ptr=="number",`UTF8ToString expects a number (got ${typeof ptr})`);return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""};var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var wasmTable;var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var ___call_sighandler=(fp,sig)=>getWasmTableEntry(fp)(sig);var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else abort("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{assert(typeof str==="string",`stringToUTF8Array expects a string (got ${typeof str})`);if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;if(u>1114111)warnOnce("Invalid Unicode code point "+ptrToString(u)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).");heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var mmapAlloc=size=>{abort("internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported")};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url).then(arrayBuffer=>{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},err=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var IDBFS={dbs:{},indexedDB:()=>{if(typeof indexedDB!="undefined")return indexedDB;var ret=null;if(typeof window=="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",queuePersist:mount=>{function onPersistComplete(){if(mount.idbPersistState==="again")startPersist();else mount.idbPersistState=0}function startPersist(){mount.idbPersistState="idb";IDBFS.syncfs(mount,false,onPersistComplete)}if(!mount.idbPersistState){mount.idbPersistState=setTimeout(startPersist,0)}else if(mount.idbPersistState==="idb"){mount.idbPersistState="again"}},mount:mount=>{var mnt=MEMFS.mount(mount);if(mount?.opts?.autoPersist){mnt.idbPersistState=0;var memfs_node_ops=mnt.node_ops;mnt.node_ops=Object.assign({},mnt.node_ops);mnt.node_ops.mknod=(parent,name,mode,dev)=>{var node=memfs_node_ops.mknod(parent,name,mode,dev);node.node_ops=mnt.node_ops;node.idbfs_mount=mnt.mount;node.memfs_stream_ops=node.stream_ops;node.stream_ops=Object.assign({},node.stream_ops);node.stream_ops.write=(stream,buffer,offset,length,position,canOwn)=>{stream.node.isModified=true;return node.memfs_stream_ops.write(stream,buffer,offset,length,position,canOwn)};node.stream_ops.close=stream=>{var n=stream.node;if(n.isModified){IDBFS.queuePersist(n.idbfs_mount);n.isModified=false}if(n.memfs_stream_ops.close)return n.memfs_stream_ops.close(stream)};return node};mnt.node_ops.mkdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.mkdir(...args));mnt.node_ops.rmdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rmdir(...args));mnt.node_ops.symlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.symlink(...args));mnt.node_ops.unlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.unlink(...args));mnt.node_ops.rename=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rename(...args))}return mnt},syncfs:(mount,populate,callback)=>{IDBFS.getLocalSet(mount,(err,local)=>{if(err)return callback(err);IDBFS.getRemoteSet(mount,(err,remote)=>{if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},quit:()=>{Object.values(IDBFS.dbs).forEach(value=>value.close());IDBFS.dbs={}},getDB:(name,callback)=>{var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=e=>{var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=()=>{db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=e=>{callback(e.target.error);e.preventDefault()}},getLocalSet:(mount,callback)=>{var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return p=>PATH.join2(root,p)}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push(...FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:(mount,callback)=>{var entries={};IDBFS.getDB(mount.mountpoint,(err,db)=>{if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=e=>{callback(e.target.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=event=>{var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:(path,callback)=>{var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:(path,entry,callback)=>{try{if(FS.isDir(entry["mode"])){FS.mkdirTree(path,entry["mode"])}else if(FS.isFile(entry["mode"])){FS.writeFile(path,entry["contents"],{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry["mode"]);FS.utime(path,entry["timestamp"],entry["timestamp"])}catch(e){return callback(e)}callback(null)},removeLocalEntry:(path,callback)=>{try{var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:(store,path,callback)=>{var req=store.get(path);req.onsuccess=event=>callback(null,event.target.result);req.onerror=e=>{callback(e.target.error);e.preventDefault()}},storeRemoteEntry:(store,path,entry,callback)=>{try{var req=store.put(entry,path)}catch(e){callback(e);return}req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},removeRemoteEntry:(store,path,callback)=>{var req=store.delete(path);req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},reconcile:(src,dst,callback)=>{var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e["timestamp"].getTime()!=e2["timestamp"].getTime()){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){if(!src.entries[key]){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=transaction.onabort=e=>{done(e.target.error);e.preventDefault()};transaction.oncomplete=e=>{if(!errored){callback(null)}};create.sort().forEach(path=>{if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(err,entry)=>{if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,(err,entry)=>{if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(path=>{if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var strError=errno=>UTF8ToString(_strerror(errno));var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class extends Error{constructor(errno){super(runtimeInitialized?strError(errno):"");this.name="ErrnoError";this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev;this.readMode=292|73;this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){assert(typeof parent=="object");var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){assert(fd>=-1);stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){if(typeof type=="string"){throw type}var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;i=0);if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write(stream,buffer,offset,length,position,canOwn){assert(offset>=0);if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync(stream,buffer,offset,length,mmapFlags){assert(offset>=0);if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1);assert(stdin.fd===0,`invalid handle for stdin (${stdin.fd})`);assert(stdout.fd===1,`invalid handle for stdout (${stdout.fd})`);assert(stderr.fd===2,`invalid handle for stderr (${stderr.fd})`)},staticInit(){[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""});FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS:MEMFS,IDBFS:IDBFS}},init(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;_fflush(0);for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node},absolutePath(){abort("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder(){abort("FS.createFolder has been removed; use FS.mkdir instead")},createLink(){abort("FS.createLink has been removed; use FS.symlink instead")},joinPath(){abort("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc(){abort("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath(){abort("FS.standardizePath has been removed; use PATH.normalize instead")}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;HEAP64[buf+24>>3]=BigInt(stat.size);HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();HEAP64[buf+40>>3]=BigInt(Math.floor(atime/1e3));HEAPU32[buf+48>>2]=atime%1e3*1e3;HEAP64[buf+56>>3]=BigInt(Math.floor(mtime/1e3));HEAPU32[buf+64>>2]=mtime%1e3*1e3;HEAP64[buf+72>>3]=BigInt(Math.floor(ctime/1e3));HEAPU32[buf+80>>2]=ctime%1e3*1e3;HEAP64[buf+88>>3]=BigInt(stat.ino);return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall__newselect(nfds,readfds,writefds,exceptfds,timeout){try{assert(nfds<=64,"nfds must be less than or equal to 64");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);var check=function(fd,low,high,val){return fd<32?low&val:high&val};for(var fd=0;fd>2]:0,tv_usec=readfds?HEAP32[timeout+4>>2]:0;timeoutInMillis=(tv_sec+tv_usec/1e6)*1e3}flags=stream.stream_ops.poll(stream,timeoutInMillis)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var SOCKFS={mount(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this};Module["websocket"].emit=function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}};return FS.createNode(null,"/",16384|511,0)},createSocket(family,type,protocol){type&=~526336;var streaming=type==1;if(streaming&&protocol&&protocol!=6){throw new FS.ErrnoError(66)}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current+++"]"},websocket_sock_ops:{createPeer(sock,addr,port){var ws;if(typeof addr=="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}var opts=undefined;if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=subProtocols}if(runtimeConfig&&null===Module["websocket"]["subprotocol"]){subProtocols="null";opts=undefined}var WebSocketConstructor;{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer(sock,addr,port){return sock.peers[addr+":"+port]},addPeer(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents(sock,peer){var first=true;var handleOpen=function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data=="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}data=new Uint8Array(data)}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,isBinary){if(!isBinary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){Module["websocket"].emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask},ioctl(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return 28}},close(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i{var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket};var inetPton4=str=>{var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0};var jstoi_q=str=>parseInt(str);var inetPton6=str=>{var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w{switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>2]=16}HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>2]=28}HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);break;default:return 5}return 0};var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};function ___syscall_accept4(fd,addr,addrlen,flags,d1,d2){try{var sock=getSocketFromFD(fd);var newsock=sock.sock_ops.accept(sock);if(addr){var errno=writeSockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport,addrlen);assert(!errno)}return newsock.stream.fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var inetNtop4=addr=>(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255);var inetNtop6=ints=>{var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word{var family=HEAP16[sa>>1];var port=_ntohs(HEAPU16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}};var getSocketAddress=(addrp,addrlen,allowNull)=>{if(allowNull&&addrp===0)return null;var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info};function ___syscall_bind(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.bind(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_connect(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);assert(flags===0);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function syscallGetVarargI(){assert(SYSCALLS.varargs!=undefined);var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret}var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>numINT53_MAX?NaN:Number(num);function ___syscall_ftruncate64(fd,length){length=bigintToI53Checked(length);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>{assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)};function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size>3]=BigInt(id);HEAP64[dirp+pos+8>>3]=BigInt((idx+1)*struct_size);HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_getsockname(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport,addrlen);assert(!errno);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_getsockopt(fd,level,optname,optval,optlen,d1){try{var sock=getSocketFromFD(fd);if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-50}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_listen(fd,backlog){try{var sock=getSocketFromFD(fd);sock.sock_ops.listen(sock,backlog);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mknodat(dirfd,path,mode,dev){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;assert(!flags,`unknown flags in __syscall_newfstatat: ${flags}`);path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_poll(fds,nfds,timeout){try{var nonzero=0;for(var i=0;i>2];var events=HEAP16[pollfd+4>>1];var mask=32;var stream=FS.getStream(fd);if(stream){mask=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){mask=stream.stream_ops.poll(stream,-1)}}mask&=events|8|16;if(mask)nonzero++;HEAP16[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_readlinkat(dirfd,path,buf,bufsize){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_recvfrom(fd,buf,len,flags,addr,addrlen){try{var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen);assert(!errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_renameat(olddirfd,oldpath,newdirfd,newpath){try{oldpath=SYSCALLS.getStr(oldpath);newpath=SYSCALLS.getStr(newpath);oldpath=SYSCALLS.calculateAt(olddirfd,oldpath);newpath=SYSCALLS.calculateAt(newdirfd,newpath);FS.rename(oldpath,newpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_sendto(fd,message,length,flags,addr,addr_len){try{var sock=getSocketFromFD(fd);var dest=getSocketAddress(addr,addr_len,true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_socket(domain,type,protocol){try{var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_statfs64(path,size,buf){try{path=SYSCALLS.getStr(path);assert(size===64);HEAP32[buf+4>>2]=4096;HEAP32[buf+40>>2]=4096;HEAP32[buf+8>>2]=1e6;HEAP32[buf+12>>2]=5e5;HEAP32[buf+16>>2]=5e5;HEAP32[buf+20>>2]=FS.nextInode;HEAP32[buf+24>>2]=1e6;HEAP32[buf+28>>2]=42;HEAP32[buf+44>>2]=2;HEAP32[buf+36>>2]=255;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_symlink(target,linkpath){try{target=SYSCALLS.getStr(target);linkpath=SYSCALLS.getStr(linkpath);FS.symlink(target,linkpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>{abort("native code called abort()")};var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};function __gmtime_js(time,tmPtr){time=bigintToI53Checked(time);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time,tmPtr){time=bigintToI53Checked(time);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);assert(winterName);assert(summerName);assert(lengthBytesUTF8(winterName)<=16,`timezone name truncated to fit in TZNAME_MAX (${winterName})`);assert(lengthBytesUTF8(summerName)<=16,`timezone name truncated to fit in TZNAME_MAX (${summerName})`);if(summerOffset{runtimeKeepaliveCounter+=1};var _emscripten_set_main_loop_timing=(mode,value)=>{Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){err("emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.");return 1}if(!Browser.mainLoop.running){runtimeKeepalivePush();Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof Browser.setImmediate=="undefined"){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);Browser.setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){Module["setImmediates"]??=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}else{Browser.setImmediate=setImmediate}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){Browser.setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0};var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var webgl_enable_ANGLE_instanced_arrays=ctx=>{var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=(index,divisor)=>ext["vertexAttribDivisorANGLE"](index,divisor);ctx["drawArraysInstanced"]=(mode,first,count,primcount)=>ext["drawArraysInstancedANGLE"](mode,first,count,primcount);ctx["drawElementsInstanced"]=(mode,count,type,indices,primcount)=>ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount);return 1}};var webgl_enable_OES_vertex_array_object=ctx=>{var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=()=>ext["createVertexArrayOES"]();ctx["deleteVertexArray"]=vao=>ext["deleteVertexArrayOES"](vao);ctx["bindVertexArray"]=vao=>ext["bindVertexArrayOES"](vao);ctx["isVertexArray"]=vao=>ext["isVertexArrayOES"](vao);return 1}};var webgl_enable_WEBGL_draw_buffers=ctx=>{var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=(n,bufs)=>ext["drawBuffersWEBGL"](n,bufs);return 1}};var webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"));var webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"));var webgl_enable_WEBGL_multi_draw=ctx=>!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"));var getEmscriptenSupportedExtensions=ctx=>{var supportedExtensions=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw"];return(ctx.getSupportedExtensions()||[]).filter(ext=>supportedExtensions.includes(ext))};var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:errorCode=>{if(!GL.lastError){GL.lastError=errorCode}},getNewId:table=>{var ret=GL.counter++;for(var i=table.length;i{for(var i=0;i>2]=id}},getSource:(shader,count,string,length)=>{var source="";for(var i=0;i>2]:undefined;source+=UTF8ToString(HEAPU32[string+i*4>>2],len)}return source},createContext:(canvas,webGLContextAttributes)=>{if(webGLContextAttributes.renderViaOffscreenBackBuffer)webGLContextAttributes["preserveDrawingBuffer"]=true;var ctx=webGLContextAttributes.majorVersion>1?canvas.getContext("webgl2",webGLContextAttributes):canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},enableOffscreenFramebufferAttributes:webGLContextAttributes=>{webGLContextAttributes.renderViaOffscreenBackBuffer=true;webGLContextAttributes.preserveDrawingBuffer=true},createOffscreenFramebuffer:context=>{var gl=context.GLctx;var fbo=gl.createFramebuffer();gl.bindFramebuffer(36160,fbo);context.defaultFbo=fbo;context.defaultFboForbidBlitFramebuffer=false;if(gl.getContextAttributes().antialias){context.defaultFboForbidBlitFramebuffer=true}context.defaultColorTarget=gl.createTexture();context.defaultDepthTarget=gl.createRenderbuffer();GL.resizeOffscreenFramebuffer(context);gl.bindTexture(3553,context.defaultColorTarget);gl.texParameteri(3553,10241,9728);gl.texParameteri(3553,10240,9728);gl.texParameteri(3553,10242,33071);gl.texParameteri(3553,10243,33071);gl.texImage2D(3553,0,6408,gl.canvas.width,gl.canvas.height,0,6408,5121,null);gl.framebufferTexture2D(36160,36064,3553,context.defaultColorTarget,0);gl.bindTexture(3553,null);var depthTarget=gl.createRenderbuffer();gl.bindRenderbuffer(36161,context.defaultDepthTarget);gl.renderbufferStorage(36161,33189,gl.canvas.width,gl.canvas.height);gl.framebufferRenderbuffer(36160,36096,36161,context.defaultDepthTarget);gl.bindRenderbuffer(36161,null);var vertices=[-1,-1,-1,1,1,-1,1,1];var vb=gl.createBuffer();gl.bindBuffer(34962,vb);gl.bufferData(34962,new Float32Array(vertices),35044);gl.bindBuffer(34962,null);context.blitVB=vb;var vsCode="attribute vec2 pos;"+"varying lowp vec2 tex;"+"void main() { tex = pos * 0.5 + vec2(0.5,0.5); gl_Position = vec4(pos, 0.0, 1.0); }";var vs=gl.createShader(35633);gl.shaderSource(vs,vsCode);gl.compileShader(vs);var fsCode="varying lowp vec2 tex;"+"uniform sampler2D sampler;"+"void main() { gl_FragColor = texture2D(sampler, tex); }";var fs=gl.createShader(35632);gl.shaderSource(fs,fsCode);gl.compileShader(fs);var blitProgram=gl.createProgram();gl.attachShader(blitProgram,vs);gl.attachShader(blitProgram,fs);gl.linkProgram(blitProgram);context.blitProgram=blitProgram;context.blitPosLoc=gl.getAttribLocation(blitProgram,"pos");gl.useProgram(blitProgram);gl.uniform1i(gl.getUniformLocation(blitProgram,"sampler"),0);gl.useProgram(null);context.defaultVao=undefined;if(gl.createVertexArray){context.defaultVao=gl.createVertexArray();gl.bindVertexArray(context.defaultVao);gl.enableVertexAttribArray(context.blitPosLoc);gl.bindVertexArray(null)}},resizeOffscreenFramebuffer:context=>{var gl=context.GLctx;if(context.defaultColorTarget){var prevTextureBinding=gl.getParameter(32873);gl.bindTexture(3553,context.defaultColorTarget);gl.texImage2D(3553,0,6408,gl.drawingBufferWidth,gl.drawingBufferHeight,0,6408,5121,null);gl.bindTexture(3553,prevTextureBinding)}if(context.defaultDepthTarget){var prevRenderBufferBinding=gl.getParameter(36007);gl.bindRenderbuffer(36161,context.defaultDepthTarget);gl.renderbufferStorage(36161,33189,gl.drawingBufferWidth,gl.drawingBufferHeight);gl.bindRenderbuffer(36161,prevRenderBufferBinding)}},blitOffscreenFramebuffer:context=>{var gl=context.GLctx;var prevScissorTest=gl.getParameter(3089);if(prevScissorTest)gl.disable(3089);var prevFbo=gl.getParameter(36006);if(gl.blitFramebuffer&&!context.defaultFboForbidBlitFramebuffer){gl.bindFramebuffer(36008,context.defaultFbo);gl.bindFramebuffer(36009,null);gl.blitFramebuffer(0,0,gl.canvas.width,gl.canvas.height,0,0,gl.canvas.width,gl.canvas.height,16384,9728)}else{gl.bindFramebuffer(36160,null);var prevProgram=gl.getParameter(35725);gl.useProgram(context.blitProgram);var prevVB=gl.getParameter(34964);gl.bindBuffer(34962,context.blitVB);var prevActiveTexture=gl.getParameter(34016);gl.activeTexture(33984);var prevTextureBinding=gl.getParameter(32873);gl.bindTexture(3553,context.defaultColorTarget);var prevBlend=gl.getParameter(3042);if(prevBlend)gl.disable(3042);var prevCullFace=gl.getParameter(2884);if(prevCullFace)gl.disable(2884);var prevDepthTest=gl.getParameter(2929);if(prevDepthTest)gl.disable(2929);var prevStencilTest=gl.getParameter(2960);if(prevStencilTest)gl.disable(2960);function draw(){gl.vertexAttribPointer(context.blitPosLoc,2,5126,false,0,0);gl.drawArrays(5,0,4)}if(context.defaultVao){var prevVAO=gl.getParameter(34229);gl.bindVertexArray(context.defaultVao);draw();gl.bindVertexArray(prevVAO)}else{var prevVertexAttribPointer={buffer:gl.getVertexAttrib(context.blitPosLoc,34975),size:gl.getVertexAttrib(context.blitPosLoc,34339),stride:gl.getVertexAttrib(context.blitPosLoc,34340),type:gl.getVertexAttrib(context.blitPosLoc,34341),normalized:gl.getVertexAttrib(context.blitPosLoc,34922),pointer:gl.getVertexAttribOffset(context.blitPosLoc,34373)};var maxVertexAttribs=gl.getParameter(34921);var prevVertexAttribEnables=[];for(var i=0;i{var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}if(webGLContextAttributes.renderViaOffscreenBackBuffer)GL.createOffscreenFramebuffer(context);return handle},makeContextCurrent:contextHandle=>{GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext?.GLctx;return!(contextHandle&&!GLctx)},getContext:contextHandle=>GL.contexts[contextHandle],deleteContext:contextHandle=>{if(GL.currentContext===GL.contexts[contextHandle]){GL.currentContext=null}if(typeof JSEvents=="object"){JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas)}if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas){GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined}GL.contexts[contextHandle]=null},initExtensions:context=>{context||=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_ANGLE_instanced_arrays(GLctx);webgl_enable_OES_vertex_array_object(GLctx);webgl_enable_WEBGL_draw_buffers(GLctx);webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(context.version>=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}webgl_enable_WEBGL_multi_draw(GLctx);getEmscriptenSupportedExtensions(GLctx).forEach(ext=>{if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var _emscripten_webgl_do_commit_frame=()=>{if(!GL.currentContext||!GL.currentContext.GLctx){return-3}if(GL.currentContext.defaultFbo){GL.blitOffscreenFramebuffer(GL.currentContext);return 0}if(!GL.currentContext.attributes.explicitSwapControl){return-3}return 0};var _emscripten_webgl_commit_frame=_emscripten_webgl_do_commit_frame;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;if(!keepRuntimeAlive()){exitRuntime()}if(keepRuntimeAlive()&&!implicit){var msg=`program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`;readyPromiseReject(msg);err(msg)}_proc_exit(status)};var _exit=exitJS;var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}checkStackCookie();if(e instanceof WebAssembly.RuntimeError){if(_emscripten_stack_get_current()<=0){err("Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 5242880)")}}quit_(1,e)};var maybeExit=()=>{if(runtimeExited){return}if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var runtimeKeepalivePop=()=>{assert(runtimeKeepaliveCounter>0);runtimeKeepaliveCounter-=1};var setMainLoop=(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)=>{assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){warnOnce("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);checkStackCookie();if(!checkIsRunning())return;if(typeof SDL=="object")SDL.audio?.queueNewAudioData?.();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}};var callUserCallback=func=>{if(runtimeExited||ABORT){err("user callback triggered after runtime exited or application aborted. Ignoring.");return}try{func();maybeExit()}catch(e){handleException(e)}};var safeSetTimeout=(func,timeout)=>{runtimeKeepalivePush();return setTimeout(()=>{runtimeKeepalivePop();callUserCallback(func)},timeout)};var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining{assert(img.complete,`Image ${name} could not be decoded`);var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);preloadedImages[name]=canvas;URL.revokeObjectURL(url);onload?.(byteArray)};img.onerror=event=>{err(`Image ${url} could not be decoded`);onerror?.()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;preloadedAudios[name]=audio;onload?.(byteArray)}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);assert(typeof url=="string","createObjectURL must return a url as a string");var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err(`warning: browser could not fully decode audio ${name}, trying slower base64 approach`);function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",ev=>{if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:typeof WebGL2RenderingContext!="undefined"?2:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},destroyContext(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}Module["onFullScreen"]?.(Browser.isFullscreen);Module["onFullscreen"]?.(Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},requestFullScreen(){abort("Module.requestFullScreen has been replaced by Module.requestFullscreen (without a capital S)")},exitFullscreen(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout(func,timeout){return safeSetTimeout(func,timeout)},safeRequestAnimationFrame(func){runtimeKeepalivePush();return Browser.requestAnimationFrame(()=>{runtimeKeepalivePop();callUserCallback(func)})},getMimetype(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia(func){window.getUserMedia||=navigator["getUserMedia"]||navigator["mozGetUserMedia"];window.getUserMedia(func)},getMovementX(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(pageX,pageY){var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;assert(typeof scrollX!="undefined"&&typeof scrollY!="undefined","Unable to retrieve scroll position, mouse positions likely broken.");var adjustedX=pageX-(scrollX+rect.left);var adjustedY=pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);return{x:adjustedX,y:adjustedY}},setMouseCoords(pageX,pageY){const{x:x,y:y}=Browser.calculateMouseCoords(pageX,pageY);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y},calculateMouseEvent(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}else{if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var coords=Browser.calculateMouseCoords(touch.pageX,touch.pageY);if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];last||=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}Browser.setMouseCoords(event.pageX,event.pageY)}},resizeListeners:[],updateResizeListeners(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h{Browser.mainLoop.pause();Browser.mainLoop.func=null};var _emscripten_date_now=()=>Date.now();var _emscripten_err=str=>err(UTF8ToString(str));var _emscripten_force_exit=status=>{__emscripten_runtime_keepalive_clear();_exit(status)};var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){err(`growMemory: Attempted to grow heap from ${b.byteLength} bytes to ${size} bytes, but got error: ${e}`)}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;assert(requestedSize>oldSize);var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){err(`Cannot enlarge memory, requested ${requestedSize} bytes, but the limit is ${maxHeapSize} bytes!`);return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}err(`Failed to grow the heap from ${oldSize} bytes to ${newSize} bytes, not enough memory!`);return false};var JSEvents={removeAllEventListeners(){while(JSEvents.eventHandlers.length){JSEvents._removeHandler(JSEvents.eventHandlers.length-1)}JSEvents.deferredCalls=[]},registerRemoveEventListeners(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},inEventHandler:0,deferredCalls:[],deferCall(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var call of JSEvents.deferredCalls){if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort((x,y)=>x.precedencecall.targetFunction!=targetFunction)},canPerformEventHandlerRequests(){if(navigator.userActivation){return navigator.userActivation.isActive}return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls(){if(!JSEvents.canPerformEventHandlerRequests()){return}var deferredCalls=JSEvents.deferredCalls;JSEvents.deferredCalls=[];for(var call of deferredCalls){call.targetFunction(...call.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(target,eventTypeString)=>{for(var i=0;icString>2?UTF8ToString(cString):cString;var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];var findEventTarget=target=>{target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement};var findCanvasEventTarget=findEventTarget;var _emscripten_set_canvas_element_size=(target,width,height)=>{var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;if(canvas.GLctxObject)GL.resizeOffscreenFramebuffer(canvas.GLctxObject);return 0};var _emscripten_set_main_loop=(func,fps,simulateInfiniteLoop)=>{var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)};var webglPowerPreferences=["default","low-power","high-performance"];var _emscripten_webgl_do_create_context=(target,attributes)=>{assert(attributes);var attr32=attributes>>2;var powerPreference=HEAP32[attr32+(8>>2)];var contextAttributes={alpha:!!HEAP8[attributes+0],depth:!!HEAP8[attributes+1],stencil:!!HEAP8[attributes+2],antialias:!!HEAP8[attributes+3],premultipliedAlpha:!!HEAP8[attributes+4],preserveDrawingBuffer:!!HEAP8[attributes+5],powerPreference:webglPowerPreferences[powerPreference],failIfMajorPerformanceCaveat:!!HEAP8[attributes+12],majorVersion:HEAP32[attr32+(16>>2)],minorVersion:HEAP32[attr32+(20>>2)],enableExtensionsByDefault:HEAP8[attributes+24],explicitSwapControl:HEAP8[attributes+25],proxyContextToMainThread:HEAP32[attr32+(28>>2)],renderViaOffscreenBackBuffer:HEAP8[attributes+32]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl&&!contextAttributes.renderViaOffscreenBackBuffer){contextAttributes.renderViaOffscreenBackBuffer=true}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle};var _emscripten_webgl_create_context=_emscripten_webgl_do_create_context;var _emscripten_webgl_destroy_context=contextHandle=>{if(GL.currentContext==contextHandle)GL.currentContext=0;GL.deleteContext(contextHandle)};var _emscripten_webgl_enable_extension=(contextHandle,extension)=>{var context=GL.getContext(contextHandle);var extString=UTF8ToString(extension);if(extString.startsWith("GL_"))extString=extString.substr(3);if(extString=="ANGLE_instanced_arrays")webgl_enable_ANGLE_instanced_arrays(GLctx);if(extString=="OES_vertex_array_object")webgl_enable_OES_vertex_array_object(GLctx);if(extString=="WEBGL_draw_buffers")webgl_enable_WEBGL_draw_buffers(GLctx);if(extString=="WEBGL_draw_instanced_base_vertex_base_instance")webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);if(extString=="WEBGL_multi_draw_instanced_base_vertex_base_instance")webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(extString=="WEBGL_multi_draw")webgl_enable_WEBGL_multi_draw(GLctx);var ext=context.GLctx.getExtension(extString);return!!ext};var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var _emscripten_webgl_get_supported_extensions=()=>stringToNewUTF8(GLctx.getSupportedExtensions().join(" "));var _emscripten_webgl_make_context_current=contextHandle=>{var success=GL.makeContextCurrent(contextHandle);return success?0:-5};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;HEAP64[pbuf+8>>3]=BigInt(rightsBase);HEAP64[pbuf+16>>3]=BigInt(rightsInheriting);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);HEAP64[newOffset>>3]=BigInt(stream.position);if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var _getaddrinfo=(node,service,hint,out)=>{var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;HEAPU32[ai+24>>2]=canon;HEAPU32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>2]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAPU32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>2]=ai;return 0};var _getnameinfo=(sa,salen,node,nodelen,serv,servlen,flags)=>{var info=readSockaddr(sa,salen);if(info.errno){return-6}var port=info.port;var addr=info.addr;var overflowed=false;if(node&&nodelen){var lookup;if(flags&1||!(lookup=DNS.lookup_addr(addr))){if(flags&8){return-2}}else{addr=lookup}var numBytesWrittenExclNull=stringToUTF8(addr,node,nodelen);if(numBytesWrittenExclNull+1>=nodelen){overflowed=true}}if(serv&&servlen){port=""+port;var numBytesWrittenExclNull=stringToUTF8(port,serv,servlen);if(numBytesWrittenExclNull+1>=servlen){overflowed=true}}if(overflowed){return-12}return 0};var _glActiveTexture=x0=>GLctx.activeTexture(x0);var _glAttachShader=(program,shader)=>{GLctx.attachShader(GL.programs[program],GL.shaders[shader])};var _glBeginTransformFeedback=x0=>GLctx.beginTransformFeedback(x0);var _glBindBuffer=(target,buffer)=>{if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])};var _glBindBufferBase=(target,index,buffer)=>{GLctx.bindBufferBase(target,index,GL.buffers[buffer])};var _glBindBufferRange=(target,index,buffer,offset,ptrsize)=>{GLctx.bindBufferRange(target,index,GL.buffers[buffer],offset,ptrsize)};var _glBindFramebuffer=(target,framebuffer)=>{GLctx.bindFramebuffer(target,framebuffer?GL.framebuffers[framebuffer]:GL.currentContext.defaultFbo)};var _glBindRenderbuffer=(target,renderbuffer)=>{GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])};var _glBindTexture=(target,texture)=>{GLctx.bindTexture(target,GL.textures[texture])};var _glBindVertexArray=vao=>{GLctx.bindVertexArray(GL.vaos[vao])};var _glBlendColor=(x0,x1,x2,x3)=>GLctx.blendColor(x0,x1,x2,x3);var _glBlendEquation=x0=>GLctx.blendEquation(x0);var _glBlendFunc=(x0,x1)=>GLctx.blendFunc(x0,x1);var _glBlendFuncSeparate=(x0,x1,x2,x3)=>GLctx.blendFuncSeparate(x0,x1,x2,x3);var _glBlitFramebuffer=(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)=>GLctx.blitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9);var _glBufferData=(target,size,data,usage)=>{if(GL.currentContext.version>=2){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}return}GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)};var _glBufferSubData=(target,offset,size,data)=>{if(GL.currentContext.version>=2){size&&GLctx.bufferSubData(target,offset,HEAPU8,data,size);return}GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))};var _glCheckFramebufferStatus=x0=>GLctx.checkFramebufferStatus(x0);var _glClear=x0=>GLctx.clear(x0);var _glClearBufferfv=(buffer,drawbuffer,value)=>{GLctx.clearBufferfv(buffer,drawbuffer,HEAPF32,value>>2)};var _glClearColor=(x0,x1,x2,x3)=>GLctx.clearColor(x0,x1,x2,x3);var _glClearDepthf=x0=>GLctx.clearDepth(x0);var _glColorMask=(red,green,blue,alpha)=>{GLctx.colorMask(!!red,!!green,!!blue,!!alpha)};var _glCompileShader=shader=>{GLctx.compileShader(GL.shaders[shader])};var _glCompressedTexImage2D=(target,level,internalFormat,width,height,border,imageSize,data)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data);return}GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,HEAPU8,data,imageSize);return}GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)};var _glCompressedTexImage3D=(target,level,internalFormat,width,height,depth,border,imageSize,data)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data)}else{GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,HEAPU8,data,imageSize)}};var _glCompressedTexSubImage3D=(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)}else{GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,HEAPU8,data,imageSize)}};var _glCopyBufferSubData=(x0,x1,x2,x3,x4)=>GLctx.copyBufferSubData(x0,x1,x2,x3,x4);var _glCreateProgram=()=>{var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id};var _glCreateShader=shaderType=>{var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id};var _glCullFace=x0=>GLctx.cullFace(x0);var _glDeleteBuffers=(n,buffers)=>{for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GLctx.currentPixelPackBufferBinding)GLctx.currentPixelPackBufferBinding=0;if(id==GLctx.currentPixelUnpackBufferBinding)GLctx.currentPixelUnpackBufferBinding=0}};var _glDeleteFramebuffers=(n,framebuffers)=>{for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}};var _glDeleteProgram=id=>{if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null};var _glDeleteQueries=(n,ids)=>{for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.deleteQuery(query);GL.queries[id]=null}};var _glDeleteRenderbuffers=(n,renderbuffers)=>{for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}};var _glDeleteShader=id=>{if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null};var _glDeleteSync=id=>{if(!id)return;var sync=GL.syncs[id];if(!sync){GL.recordError(1281);return}GLctx.deleteSync(sync);sync.name=0;GL.syncs[id]=null};var _glDeleteTextures=(n,textures)=>{for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}};var _glDeleteVertexArrays=(n,vaos)=>{for(var i=0;i>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}};var _glDepthFunc=x0=>GLctx.depthFunc(x0);var _glDepthMask=flag=>{GLctx.depthMask(!!flag)};var _glDisable=x0=>GLctx.disable(x0);var _glDisableVertexAttribArray=index=>{GLctx.disableVertexAttribArray(index)};var _glDrawArrays=(mode,first,count)=>{GLctx.drawArrays(mode,first,count)};var _glDrawArraysInstanced=(mode,first,count,primcount)=>{GLctx.drawArraysInstanced(mode,first,count,primcount)};var tempFixedLengthArray=[];var _glDrawBuffers=(n,bufs)=>{var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx.drawBuffers(bufArray)};var _glDrawElements=(mode,count,type,indices)=>{GLctx.drawElements(mode,count,type,indices)};var _glDrawElementsInstanced=(mode,count,type,indices,primcount)=>{GLctx.drawElementsInstanced(mode,count,type,indices,primcount)};var _glEnable=x0=>GLctx.enable(x0);var _glEnableVertexAttribArray=index=>{GLctx.enableVertexAttribArray(index)};var _glEndTransformFeedback=()=>GLctx.endTransformFeedback();var _glFenceSync=(condition,flags)=>{var sync=GLctx.fenceSync(condition,flags);if(sync){var id=GL.getNewId(GL.syncs);sync.name=id;GL.syncs[id]=sync;return id}return 0};var _glFinish=()=>GLctx.finish();var _glFramebufferRenderbuffer=(target,attachment,renderbuffertarget,renderbuffer)=>{GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])};var _glFramebufferTexture2D=(target,attachment,textarget,texture,level)=>{GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)};var _glFramebufferTextureLayer=(target,attachment,texture,level,layer)=>{GLctx.framebufferTextureLayer(target,attachment,GL.textures[texture],level,layer)};var _glFrontFace=x0=>GLctx.frontFace(x0);var _glGenBuffers=(n,buffers)=>{GL.genObject(n,buffers,"createBuffer",GL.buffers)};var _glGenFramebuffers=(n,ids)=>{GL.genObject(n,ids,"createFramebuffer",GL.framebuffers)};var _glGenQueries=(n,ids)=>{GL.genObject(n,ids,"createQuery",GL.queries)};var _glGenRenderbuffers=(n,renderbuffers)=>{GL.genObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)};var _glGenTextures=(n,textures)=>{GL.genObject(n,textures,"createTexture",GL.textures)};var _glGenVertexArrays=(n,arrays)=>{GL.genObject(n,arrays,"createVertexArray",GL.vaos)};var _glGenerateMipmap=x0=>GLctx.generateMipmap(x0);var readI53FromI64=ptr=>HEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;var readI53FromU64=ptr=>HEAPU32[ptr>>2]+HEAPU32[ptr+4>>2]*4294967296;var writeI53ToI64=(ptr,num)=>{HEAPU32[ptr>>2]=num;var lower=HEAPU32[ptr>>2];HEAPU32[ptr+4>>2]=(num-lower)/4294967296;var deserialized=num>=0?readI53FromU64(ptr):readI53FromI64(ptr);var offset=ptr>>2;if(deserialized!=num)warnOnce(`writeI53ToI64() out of range: serialized JS Number ${num} to Wasm heap as bytes lo=${ptrToString(HEAPU32[offset])}, hi=${ptrToString(HEAPU32[offset+1])}, which deserializes back to ${deserialized} instead!`)};var webglGetExtensions=function $webglGetExtensions(){var exts=getEmscriptenSupportedExtensions(GLctx);exts=exts.concat(exts.map(e=>"GL_"+e));return exts};var emscriptenWebGLGet=(name_,p,type)=>{if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 34814:case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break;case 33309:if(GL.currentContext.version<2){GL.recordError(1282);return}ret=webglGetExtensions().length;break;case 33307:case 33308:if(GL.currentContext.version<2){GL.recordError(1280);return}ret=name_==33307?3:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Unknown object returned from WebGL getParameter(${name_})! (error: ${e})`);return}}break;default:GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Native code calling glGet${type}v(${name_}) and it returns ${result} of type ${typeof result}!`);return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p]=ret?1:0;break}};var _glGetFloatv=(name_,p)=>emscriptenWebGLGet(name_,p,2);var _glGetInteger64v=(name_,p)=>{emscriptenWebGLGet(name_,p,1)};var _glGetIntegerv=(name_,p)=>emscriptenWebGLGet(name_,p,0);var _glGetProgramInfoLog=(program,maxLength,length,infoLog)=>{var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _glGetProgramiv=(program,pname,p)=>{if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}};var _glGetShaderInfoLog=(shader,maxLength,length,infoLog)=>{var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _glGetShaderiv=(shader,pname,p)=>{if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}};var _glGetString=name_=>{var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:ret=stringToNewUTF8(webglGetExtensions().join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s?stringToNewUTF8(s):0;break;case 7938:var glVersion=GLctx.getParameter(7938);if(GL.currentContext.version>=2)glVersion=`OpenGL ES 3.0 (${glVersion})`;else{glVersion=`OpenGL ES 2.0 (${glVersion})`}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion=`OpenGL ES GLSL ES ${ver_num[1]} (${glslVersion})`}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret};var _glGetSynciv=(sync,pname,bufSize,length,values)=>{if(bufSize<0){GL.recordError(1281);return}if(!values){GL.recordError(1281);return}var ret=GLctx.getSyncParameter(GL.syncs[sync],pname);if(ret!==null){HEAP32[values>>2]=ret;if(length)HEAP32[length>>2]=1}};var _glGetUniformBlockIndex=(program,uniformBlockName)=>GLctx.getUniformBlockIndex(GL.programs[program],UTF8ToString(uniformBlockName));var webglGetLeftBracePos=name=>name.slice(-1)=="]"&&name.lastIndexOf("[");var webglPrepareUniformLocationsBeforeFirstUse=program=>{var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j{name=UTF8ToString(name);if(program=GL.programs[program]){webglPrepareUniformLocationsBeforeFirstUse(program);var uniformLocsById=program.uniformLocsById;var arrayIndex=0;var uniformBaseName=name;var leftBrace=webglGetLeftBracePos(name);if(leftBrace>0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex{program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}};var _glPixelStorei=(pname,param)=>{if(pname==3317){GL.unpackAlignment=param}else if(pname==3314){GL.unpackRowLength=param}GLctx.pixelStorei(pname,param)};var _glReadBuffer=x0=>GLctx.readBuffer(x0);var computeUnpackAlignedImageSize=(width,height,sizePerPixel)=>{function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=(GL.unpackRowLength||width)*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,GL.unpackAlignment);return height*alignedRowSize};var colorChannelsInGlTextureFormat=format=>{var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1};var heapObjectForWebGLType=type=>{type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16};var toTypedArrayIndex=(pointer,heap)=>pointer>>>31-Math.clz32(heap.BYTES_PER_ELEMENT);var emscriptenWebGLGetTexPixelData=(type,format,width,height,pixels,internalFormat)=>{var heap=heapObjectForWebGLType(type);var sizePerPixel=colorChannelsInGlTextureFormat(format)*heap.BYTES_PER_ELEMENT;var bytes=computeUnpackAlignedImageSize(width,height,sizePerPixel);return heap.subarray(toTypedArrayIndex(pixels,heap),toTypedArrayIndex(pixels+bytes,heap))};var _glReadPixels=(x,y,width,height,format,type,pixels)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels);return}var heap=heapObjectForWebGLType(type);var target=toTypedArrayIndex(pixels,heap);GLctx.readPixels(x,y,width,height,format,type,heap,target);return}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)};var _glRenderbufferStorage=(x0,x1,x2,x3)=>GLctx.renderbufferStorage(x0,x1,x2,x3);var _glRenderbufferStorageMultisample=(x0,x1,x2,x3,x4)=>GLctx.renderbufferStorageMultisample(x0,x1,x2,x3,x4);var _glScissor=(x0,x1,x2,x3)=>GLctx.scissor(x0,x1,x2,x3);var _glShaderSource=(shader,count,string,length)=>{var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)};var _glTexImage2D=(target,level,internalFormat,width,height,border,format,type,pixels)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels);return}if(pixels){var heap=heapObjectForWebGLType(type);var index=toTypedArrayIndex(pixels,heap);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,index);return}}var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null;GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)};var _glTexImage3D=(target,level,internalFormat,width,height,depth,border,format,type,pixels)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,heap,toTypedArrayIndex(pixels,heap))}else{GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,null)}};var _glTexParameterf=(x0,x1,x2)=>GLctx.texParameterf(x0,x1,x2);var _glTexParameteri=(x0,x1,x2)=>GLctx.texParameteri(x0,x1,x2);var _glTexStorage2D=(x0,x1,x2,x3,x4)=>GLctx.texStorage2D(x0,x1,x2,x3,x4);var _glTexSubImage3D=(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,heap,toTypedArrayIndex(pixels,heap))}else{GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,null)}};var _glTransformFeedbackVaryings=(program,count,varyings,bufferMode)=>{program=GL.programs[program];var vars=[];for(var i=0;i>2]));GLctx.transformFeedbackVaryings(program,vars,bufferMode)};var webglGetUniformLocation=location=>{var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc=="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?`[${webglLoc}]`:""))}return webglLoc}else{GL.recordError(1282)}};var _glUniform1f=(location,v0)=>{GLctx.uniform1f(webglGetUniformLocation(location),v0)};var _glUniform1i=(location,v0)=>{GLctx.uniform1i(webglGetUniformLocation(location),v0)};var miniTempWebGLIntBuffers=[];var _glUniform1iv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform1iv(webglGetUniformLocation(location),HEAP32,value>>2,count);return}if(count<=288){var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(webglGetUniformLocation(location),view)};var _glUniform1ui=(location,v0)=>{GLctx.uniform1ui(webglGetUniformLocation(location),v0)};var _glUniform1uiv=(location,count,value)=>{count&&GLctx.uniform1uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count)};var _glUniform2f=(location,v0,v1)=>{GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)};var miniTempWebGLFloatBuffers=[];var _glUniform2fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform2fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*2);return}if(count<=144){var view=miniTempWebGLFloatBuffers[2*count];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(webglGetUniformLocation(location),view)};var _glUniform2iv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform2iv(webglGetUniformLocation(location),HEAP32,value>>2,count*2);return}if(count<=144){var view=miniTempWebGLIntBuffers[2*count];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(webglGetUniformLocation(location),view)};var _glUniform3fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform3fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*3);return}if(count<=96){var view=miniTempWebGLFloatBuffers[3*count];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(webglGetUniformLocation(location),view)};var _glUniform4f=(location,v0,v1,v2,v3)=>{GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)};var _glUniform4fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform4fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*4);return}if(count<=72){var view=miniTempWebGLFloatBuffers[4*count];var heap=HEAPF32;value=value>>2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(webglGetUniformLocation(location),view)};var _glUniformBlockBinding=(program,uniformBlockIndex,uniformBlockBinding)=>{program=GL.programs[program];GLctx.uniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding)};var _glUniformMatrix3fv=(location,count,transpose,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*9);return}if(count<=32){var view=miniTempWebGLFloatBuffers[9*count];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)};var _glUniformMatrix4fv=(location,count,transpose,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*16);return}if(count<=18){var view=miniTempWebGLFloatBuffers[16*count];var heap=HEAPF32;value=value>>2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)};var _glUseProgram=program=>{program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program};var _glVertexAttrib4f=(x0,x1,x2,x3,x4)=>GLctx.vertexAttrib4f(x0,x1,x2,x3,x4);var _glVertexAttribDivisor=(index,divisor)=>{GLctx.vertexAttribDivisor(index,divisor)};var _glVertexAttribI4ui=(x0,x1,x2,x3,x4)=>GLctx.vertexAttribI4ui(x0,x1,x2,x3,x4);var _glVertexAttribIPointer=(index,size,type,stride,ptr)=>{GLctx.vertexAttribIPointer(index,size,type,stride,ptr)};var _glVertexAttribPointer=(index,size,type,normalized,stride,ptr)=>{GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)};var _glViewport=(x0,x1,x2,x3)=>GLctx.viewport(x0,x1,x2,x3);var GodotRuntime={get_func:function(ptr){return wasmTable.get(ptr)},error:function(){err.apply(null,Array.from(arguments))},print:function(){out.apply(null,Array.from(arguments))},malloc:function(p_size){return _malloc(p_size)},free:function(p_ptr){_free(p_ptr)},getHeapValue:function(p_ptr,p_type){return getValue(p_ptr,p_type)},setHeapValue:function(p_ptr,p_value,p_type){setValue(p_ptr,p_value,p_type)},heapSub:function(p_heap,p_ptr,p_len){const bytes=p_heap.BYTES_PER_ELEMENT;return p_heap.subarray(p_ptr/bytes,p_ptr/bytes+p_len)},heapSlice:function(p_heap,p_ptr,p_len){const bytes=p_heap.BYTES_PER_ELEMENT;return p_heap.slice(p_ptr/bytes,p_ptr/bytes+p_len)},heapCopy:function(p_dst,p_src,p_ptr){const bytes=p_src.BYTES_PER_ELEMENT;return p_dst.set(p_src,p_ptr/bytes)},parseString:function(p_ptr){return UTF8ToString(p_ptr)},parseStringArray:function(p_ptr,p_size){const strings=[];const ptrs=GodotRuntime.heapSub(HEAP32,p_ptr,p_size);ptrs.forEach(function(ptr){strings.push(GodotRuntime.parseString(ptr))});return strings},strlen:function(p_str){return lengthBytesUTF8(p_str)},allocString:function(p_str){const length=GodotRuntime.strlen(p_str)+1;const c_str=GodotRuntime.malloc(length);stringToUTF8(p_str,c_str,length);return c_str},allocStringArray:function(p_strings){const size=p_strings.length;const c_ptr=GodotRuntime.malloc(size*4);for(let i=0;i>2)+i]=GodotRuntime.allocString(p_strings[i])}return c_ptr},freeStringArray:function(p_ptr,p_len){for(let i=0;i>2)+i])}GodotRuntime.free(p_ptr)},stringToHeap:function(p_str,p_ptr,p_len){return stringToUTF8Array(p_str,HEAP8,p_ptr,p_len)}};var GodotConfig={canvas:null,locale:"en",canvas_resize_policy:2,virtual_keyboard:false,persistent_drops:false,on_execute:null,on_exit:null,init_config:function(p_opts){GodotConfig.canvas_resize_policy=p_opts["canvasResizePolicy"];GodotConfig.canvas=p_opts["canvas"];GodotConfig.locale=p_opts["locale"]||GodotConfig.locale;GodotConfig.virtual_keyboard=p_opts["virtualKeyboard"];GodotConfig.persistent_drops=!!p_opts["persistentDrops"];GodotConfig.on_execute=p_opts["onExecute"];GodotConfig.on_exit=p_opts["onExit"];if(p_opts["focusCanvas"]){GodotConfig.canvas.focus()}},locate_file:function(file){return Module["locateFile"](file)},clear:function(){GodotConfig.canvas=null;GodotConfig.locale="en";GodotConfig.canvas_resize_policy=2;GodotConfig.virtual_keyboard=false;GodotConfig.persistent_drops=false;GodotConfig.on_execute=null;GodotConfig.on_exit=null}};var GodotFS={ENOENT:44,_idbfs:false,_syncing:false,_mount_points:[],is_persistent:function(){return GodotFS._idbfs?1:0},init:function(persistentPaths){GodotFS._idbfs=false;if(!Array.isArray(persistentPaths)){return Promise.reject(new Error("Persistent paths must be an array"))}if(!persistentPaths.length){return Promise.resolve()}GodotFS._mount_points=persistentPaths.slice();function createRecursive(dir){try{FS.stat(dir)}catch(e){if(e.errno!==GodotFS.ENOENT){GodotRuntime.error(e)}FS.mkdirTree(dir)}}GodotFS._mount_points.forEach(function(path){createRecursive(path);FS.mount(IDBFS,{},path)});return new Promise(function(resolve,reject){FS.syncfs(true,function(err){if(err){GodotFS._mount_points=[];GodotFS._idbfs=false;GodotRuntime.print(`IndexedDB not available: ${err.message}`)}else{GodotFS._idbfs=true}resolve(err)})})},deinit:function(){GodotFS._mount_points.forEach(function(path){try{FS.unmount(path)}catch(e){GodotRuntime.print("Already unmounted",e)}if(GodotFS._idbfs&&IDBFS.dbs[path]){IDBFS.dbs[path].close();delete IDBFS.dbs[path]}});GodotFS._mount_points=[];GodotFS._idbfs=false;GodotFS._syncing=false},sync:function(){if(GodotFS._syncing){GodotRuntime.error("Already syncing!");return Promise.resolve()}GodotFS._syncing=true;return new Promise(function(resolve,reject){FS.syncfs(false,function(error){if(error){GodotRuntime.error(`Failed to save IDB file system: ${error.message}`)}GodotFS._syncing=false;resolve(error)})})},copy_to_fs:function(path,buffer){const idx=path.lastIndexOf("/");let dir="/";if(idx>0){dir=path.slice(0,idx)}try{FS.stat(dir)}catch(e){if(e.errno!==GodotFS.ENOENT){GodotRuntime.error(e)}FS.mkdirTree(dir)}FS.writeFile(path,new Uint8Array(buffer))}};var GodotOS={request_quit:function(){},_async_cbs:[],_fs_sync_promise:null,atexit:function(p_promise_cb){GodotOS._async_cbs.push(p_promise_cb)},cleanup:function(exit_code){const cb=GodotConfig.on_exit;GodotFS.deinit();GodotConfig.clear();if(cb){cb(exit_code)}},finish_async:function(callback){GodotOS._fs_sync_promise.then(function(err){const promises=[];GodotOS._async_cbs.forEach(function(cb){promises.push(new Promise(cb))});return Promise.all(promises)}).then(function(){return GodotFS.sync()}).then(function(err){setTimeout(function(){callback()},0)})}};var GodotAudio={MAX_VOLUME_CHANNELS:8,GodotChannel:{CHANNEL_L:0,CHANNEL_R:1,CHANNEL_C:3,CHANNEL_LFE:4,CHANNEL_RL:5,CHANNEL_RR:6,CHANNEL_SL:7,CHANNEL_SR:8},WebChannel:{CHANNEL_L:0,CHANNEL_R:1,CHANNEL_SL:2,CHANNEL_SR:3,CHANNEL_C:4,CHANNEL_LFE:5},samples:null,Sample:class Sample{static getSample(id){if(!GodotAudio.samples.has(id)){throw new ReferenceError(`Could not find sample "${id}"`)}return GodotAudio.samples.get(id)}static getSampleOrNull(id){return GodotAudio.samples.get(id)??null}static create(params,options={}){const sample=new GodotAudio.Sample(params,options);GodotAudio.samples.set(params.id,sample);return sample}static delete(id){GodotAudio.samples.delete(id)}constructor(params,options={}){this.id=params.id;this._audioBuffer=null;this.numberOfChannels=options.numberOfChannels??2;this.sampleRate=options.sampleRate??44100;this.loopMode=options.loopMode??"disabled";this.loopBegin=options.loopBegin??0;this.loopEnd=options.loopEnd??0;this.setAudioBuffer(params.audioBuffer)}getAudioBuffer(){return this._duplicateAudioBuffer()}setAudioBuffer(val){this._audioBuffer=val}clear(){this.setAudioBuffer(null);GodotAudio.Sample.delete(this.id)}_duplicateAudioBuffer(){if(this._audioBuffer==null){throw new Error("couldn't duplicate a null audioBuffer")}const channels=new Array(this._audioBuffer.numberOfChannels);for(let i=0;i{if(self.isPaused){return}switch(self.getSample().loopMode){case"disabled":{const id=this.id;self.stop();if(GodotAudio.sampleFinishedCallback!=null){const idCharPtr=GodotRuntime.allocString(id);GodotAudio.sampleFinishedCallback(idCharPtr);GodotRuntime.free(idCharPtr)}}break;case"forward":case"backward":self.restart();break;default:}};this._source.addEventListener("ended",this._onended)}},buses:null,busSolo:null,Bus:class Bus{static getCount(){return GodotAudio.buses.length}static setCount(val){const buses=GodotAudio.buses;if(val===buses.length){return}if(val=GodotAudio.buses.length){throw new ReferenceError(`invalid bus index "${index}"`)}return GodotAudio.buses[index]}static getBusOrNull(index){if(index<0||index>=GodotAudio.buses.length){return null}return GodotAudio.buses[index]}static move(fromIndex,toIndex){const movedBus=GodotAudio.Bus.getBus(fromIndex);const buses=GodotAudio.buses.filter((_,i)=>i!==fromIndex);buses.splice(toIndex-1,0,movedBus);GodotAudio.buses=buses}static addAt(index){const newBus=GodotAudio.Bus.create();if(index!==newBus.getId()){GodotAudio.Bus.move(newBus.getId(),index)}}static create(){const newBus=new GodotAudio.Bus;const isFirstBus=GodotAudio.buses.length===0;GodotAudio.buses.push(newBus);if(isFirstBus){newBus.setSend(null)}else{newBus.setSend(GodotAudio.Bus.getBus(0))}return newBus}constructor(){this._sampleNodes=new Set;this.isSolo=false;this._send=null;this._gainNode=GodotAudio.ctx.createGain();this._soloNode=GodotAudio.ctx.createGain();this._muteNode=GodotAudio.ctx.createGain();this._gainNode.connect(this._soloNode).connect(this._muteNode)}getId(){return GodotAudio.buses.indexOf(this)}getVolumeDb(){return GodotAudio.linear_to_db(this._gainNode.gain.value)}setVolumeDb(val){const linear=GodotAudio.db_to_linear(val);if(isFinite(linear)){this._gainNode.gain.value=linear}}getSend(){return this._send}setSend(val){this._send=val;if(val==null){if(this.getId()==0){this.getOutputNode().connect(GodotAudio.ctx.destination);return}throw new Error(`Cannot send to "${val}" without the bus being at index 0 (current index: ${this.getId()})`)}this.connect(val)}getInputNode(){return this._gainNode}getOutputNode(){return this._muteNode}mute(enable){this._muteNode.gain.value=enable?0:1}solo(enable){if(this.isSolo===enable){return}if(enable){if(GodotAudio.busSolo!=null&&GodotAudio.busSolo!==this){GodotAudio.busSolo._disableSolo()}this._enableSolo();return}this._disableSolo()}addSampleNode(sampleNode){this._sampleNodes.add(sampleNode);sampleNode.getOutputNode().connect(this.getInputNode())}removeSampleNode(sampleNode){this._sampleNodes.delete(sampleNode);sampleNode.getOutputNode().disconnect()}connect(bus){if(bus==null){throw new Error("cannot connect to null bus")}this.getOutputNode().disconnect();this.getOutputNode().connect(bus.getInputNode());return bus}clear(){GodotAudio.buses=GodotAudio.buses.filter(v=>v!==this)}_syncSampleNodes(){const sampleNodes=Array.from(this._sampleNodes);for(let i=0;iotherBus!==this);for(let i=0;iotherBus!==this);for(let i=0;iGodotAudio.Bus.getBus(busIndex));sampleNode.setVolumes(buses,volumes)},set_sample_bus_count:function(count){GodotAudio.Bus.setCount(count)},remove_sample_bus:function(index){const bus=GodotAudio.Bus.getBus(index);bus.clear()},add_sample_bus:function(atPos){GodotAudio.Bus.addAt(atPos)},move_sample_bus:function(busIndex,toPos){GodotAudio.Bus.move(busIndex,toPos)},set_sample_bus_send:function(busIndex,sendIndex){const bus=GodotAudio.Bus.getBus(busIndex);bus.setSend(GodotAudio.Bus.getBus(sendIndex))},set_sample_bus_volume_db:function(busIndex,volumeDb){const bus=GodotAudio.Bus.getBus(busIndex);bus.setVolumeDb(volumeDb)},set_sample_bus_solo:function(busIndex,enable){const bus=GodotAudio.Bus.getBus(busIndex);bus.solo(enable)},set_sample_bus_mute:function(busIndex,enable){const bus=GodotAudio.Bus.getBus(busIndex);bus.mute(enable)}};function _godot_audio_has_worklet(){return GodotAudio.ctx&&GodotAudio.ctx.audioWorklet?1:0}function _godot_audio_init(p_mix_rate,p_latency,p_state_change,p_latency_update){const statechange=GodotRuntime.get_func(p_state_change);const latencyupdate=GodotRuntime.get_func(p_latency_update);const mix_rate=GodotRuntime.getHeapValue(p_mix_rate,"i32");const channels=GodotAudio.init(mix_rate,p_latency,statechange,latencyupdate);GodotRuntime.setHeapValue(p_mix_rate,GodotAudio.ctx.sampleRate,"i32");return channels}function _godot_audio_input_start(){return GodotAudio.create_input(function(input){input.connect(GodotAudio.driver.get_node())})}function _godot_audio_input_stop(){if(GodotAudio.input){const tracks=GodotAudio.input["mediaStream"]["getTracks"]();for(let i=0;i=size){const high=size-wpos;wbuf.set(buffer.subarray(wpos,size));pending_samples-=high;wpos=0}if(pending_samples>0){wbuf.set(buffer.subarray(wpos,wpos+pending_samples),tot_sent-pending_samples)}port.postMessage({cmd:"chunk",data:wbuf.subarray(0,tot_sent)});wpos+=pending_samples;pending_samples=0}this.receive=function(recv_buf){const buffer=GodotRuntime.heapSub(HEAPF32,p_in_buf,p_in_size);const from=rpos;let to_write=recv_buf.length;let high=0;if(rpos+to_write>=p_in_size){high=p_in_size-rpos;buffer.set(recv_buf.subarray(0,high),rpos);to_write-=high;rpos=0}if(to_write){buffer.set(recv_buf.subarray(high,to_write),rpos)}in_callback(from,recv_buf.length);rpos+=to_write};this.consumed=function(size,port){pending_samples+=size;send(port)}}GodotAudioWorklet.ring_buffer=new RingBuffer;GodotAudioWorklet.promise.then(function(){const node=GodotAudioWorklet.worklet;const buffer=GodotRuntime.heapSlice(HEAPF32,p_out_buf,p_out_size);node.connect(GodotAudio.ctx.destination);node.port.postMessage({cmd:"start_nothreads",data:[buffer,p_in_size]});node.port.onmessage=function(event){if(!GodotAudioWorklet.worklet){return}if(event.data["cmd"]==="read"){const read=event.data["data"];GodotAudioWorklet.ring_buffer.consumed(read,GodotAudioWorklet.worklet.port)}else if(event.data["cmd"]==="input"){const buf=event.data["data"];if(buf.length>p_in_size){GodotRuntime.error("Input chunk is too big");return}GodotAudioWorklet.ring_buffer.receive(buf)}else{GodotRuntime.error(event.data)}}})},get_node:function(){return GodotAudioWorklet.worklet},close:function(){return new Promise(function(resolve,reject){if(GodotAudioWorklet.promise===null){return}const p=GodotAudioWorklet.promise;p.then(function(){GodotAudioWorklet.worklet.port.postMessage({cmd:"stop",data:null});GodotAudioWorklet.worklet.disconnect();GodotAudioWorklet.worklet.port.onmessage=null;GodotAudioWorklet.worklet=null;GodotAudioWorklet.promise=null;resolve()}).catch(function(err){GodotRuntime.error(err)})})}};function _godot_audio_worklet_create(channels){try{GodotAudioWorklet.create(channels)}catch(e){GodotRuntime.error("Error starting AudioDriverWorklet",e);return 1}return 0}function _godot_audio_worklet_start_no_threads(p_out_buf,p_out_size,p_out_callback,p_in_buf,p_in_size,p_in_callback){const out_callback=GodotRuntime.get_func(p_out_callback);const in_callback=GodotRuntime.get_func(p_in_callback);GodotAudioWorklet.start_no_threads(p_out_buf,p_out_size,out_callback,p_in_buf,p_in_size,in_callback)}function _godot_js_config_canvas_id_get(p_ptr,p_ptr_max){GodotRuntime.stringToHeap(`#${GodotConfig.canvas.id}`,p_ptr,p_ptr_max)}function _godot_js_config_locale_get(p_ptr,p_ptr_max){GodotRuntime.stringToHeap(GodotConfig.locale,p_ptr,p_ptr_max)}var GodotDisplayCursor={shape:"default",visible:true,cursors:{},set_style:function(style){GodotConfig.canvas.style.cursor=style},set_shape:function(shape){GodotDisplayCursor.shape=shape;let css=shape;if(shape in GodotDisplayCursor.cursors){const c=GodotDisplayCursor.cursors[shape];css=`url("${c.url}") ${c.x} ${c.y}, default`}if(GodotDisplayCursor.visible){GodotDisplayCursor.set_style(css)}},clear:function(){GodotDisplayCursor.set_style("");GodotDisplayCursor.shape="default";GodotDisplayCursor.visible=true;Object.keys(GodotDisplayCursor.cursors).forEach(function(key){URL.revokeObjectURL(GodotDisplayCursor.cursors[key]);delete GodotDisplayCursor.cursors[key]})},lockPointer:function(){const canvas=GodotConfig.canvas;if(canvas.requestPointerLock){canvas.requestPointerLock()}},releasePointer:function(){if(document.exitPointerLock){document.exitPointerLock()}},isPointerLocked:function(){return document.pointerLockElement===GodotConfig.canvas}};var GodotEventListeners={handlers:[],has:function(target,event,method,capture){return GodotEventListeners.handlers.findIndex(function(e){return e.target===target&&e.event===event&&e.method===method&&e.capture===capture})!==-1},add:function(target,event,method,capture){if(GodotEventListeners.has(target,event,method,capture)){return}function Handler(p_target,p_event,p_method,p_capture){this.target=p_target;this.event=p_event;this.method=p_method;this.capture=p_capture}GodotEventListeners.handlers.push(new Handler(target,event,method,capture));target.addEventListener(event,method,capture)},clear:function(){GodotEventListeners.handlers.forEach(function(h){h.target.removeEventListener(h.event,h.method,h.capture)});GodotEventListeners.handlers.length=0}};var _emscripten_webgl_do_get_current_context=()=>GL.currentContext?GL.currentContext.handle:0;var _emscripten_webgl_get_current_context=_emscripten_webgl_do_get_current_context;var GodotDisplayScreen={desired_size:[0,0],hidpi:true,getPixelRatio:function(){return GodotDisplayScreen.hidpi?window.devicePixelRatio||1:1},isFullscreen:function(){const elem=document.fullscreenElement||document.mozFullscreenElement||document.webkitFullscreenElement||document.msFullscreenElement;if(elem){return elem===GodotConfig.canvas}return document.fullscreen||document.mozFullScreen||document.webkitIsFullscreen},hasFullscreen:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled},requestFullscreen:function(){if(!GodotDisplayScreen.hasFullscreen()){return 1}const canvas=GodotConfig.canvas;try{const promise=(canvas.requestFullscreen||canvas.msRequestFullscreen||canvas.mozRequestFullScreen||canvas.mozRequestFullscreen||canvas.webkitRequestFullscreen).call(canvas);if(promise){promise.catch(function(){})}}catch(e){return 1}return 0},exitFullscreen:function(){if(!GodotDisplayScreen.isFullscreen()){return 0}try{const promise=document.exitFullscreen();if(promise){promise.catch(function(){})}}catch(e){return 1}return 0},_updateGL:function(){const gl_context_handle=_emscripten_webgl_get_current_context();const gl=GL.getContext(gl_context_handle);if(gl){GL.resizeOffscreenFramebuffer(gl)}},updateSize:function(){const isFullscreen=GodotDisplayScreen.isFullscreen();const wantsFullWindow=GodotConfig.canvas_resize_policy===2;const noResize=GodotConfig.canvas_resize_policy===0;const dWidth=GodotDisplayScreen.desired_size[0];const dHeight=GodotDisplayScreen.desired_size[1];const canvas=GodotConfig.canvas;let width=dWidth;let height=dHeight;if(noResize){if(canvas.width!==width||canvas.height!==height){GodotDisplayScreen.desired_size=[canvas.width,canvas.height];GodotDisplayScreen._updateGL();return 1}return 0}const scale=GodotDisplayScreen.getPixelRatio();if(isFullscreen||wantsFullWindow){width=window.innerWidth*scale;height=window.innerHeight*scale}const csw=`${width/scale}px`;const csh=`${height/scale}px`;if(canvas.style.width!==csw||canvas.style.height!==csh||canvas.width!==width||canvas.height!==height){canvas.width=width;canvas.height=height;canvas.style.width=csw;canvas.style.height=csh;GodotDisplayScreen._updateGL();return 1}return 0}};var GodotDisplayVK={textinput:null,textarea:null,available:function(){return GodotConfig.virtual_keyboard&&"ontouchstart"in window},init:function(input_cb){function create(what){const elem=document.createElement(what);elem.style.display="none";elem.style.position="absolute";elem.style.zIndex="-1";elem.style.background="transparent";elem.style.padding="0px";elem.style.margin="0px";elem.style.overflow="hidden";elem.style.width="0px";elem.style.height="0px";elem.style.border="0px";elem.style.outline="none";elem.readonly=true;elem.disabled=true;GodotEventListeners.add(elem,"input",function(evt){const c_str=GodotRuntime.allocString(elem.value);input_cb(c_str,elem.selectionEnd);GodotRuntime.free(c_str)},false);GodotEventListeners.add(elem,"blur",function(evt){elem.style.display="none";elem.readonly=true;elem.disabled=true},false);GodotConfig.canvas.insertAdjacentElement("beforebegin",elem);return elem}GodotDisplayVK.textinput=create("input");GodotDisplayVK.textarea=create("textarea");GodotDisplayVK.updateSize()},show:function(text,type,start,end){if(!GodotDisplayVK.textinput||!GodotDisplayVK.textarea){return}if(GodotDisplayVK.textinput.style.display!==""||GodotDisplayVK.textarea.style.display!==""){GodotDisplayVK.hide()}GodotDisplayVK.updateSize();let elem=GodotDisplayVK.textinput;switch(type){case 0:elem.type="text";elem.inputmode="";break;case 1:elem=GodotDisplayVK.textarea;break;case 2:elem.type="text";elem.inputmode="numeric";break;case 3:elem.type="text";elem.inputmode="decimal";break;case 4:elem.type="tel";elem.inputmode="";break;case 5:elem.type="email";elem.inputmode="";break;case 6:elem.type="password";elem.inputmode="";break;case 7:elem.type="url";elem.inputmode="";break;default:elem.type="text";elem.inputmode="";break}elem.readonly=false;elem.disabled=false;elem.value=text;elem.style.display="block";elem.focus();elem.setSelectionRange(start,end)},hide:function(){if(!GodotDisplayVK.textinput||!GodotDisplayVK.textarea){return}[GodotDisplayVK.textinput,GodotDisplayVK.textarea].forEach(function(elem){elem.blur();elem.style.display="none";elem.value=""})},updateSize:function(){if(!GodotDisplayVK.textinput||!GodotDisplayVK.textarea){return}const rect=GodotConfig.canvas.getBoundingClientRect();function update(elem){elem.style.left=`${rect.left}px`;elem.style.top=`${rect.top}px`;elem.style.width=`${rect.width}px`;elem.style.height=`${rect.height}px`}update(GodotDisplayVK.textinput);update(GodotDisplayVK.textarea)},clear:function(){if(GodotDisplayVK.textinput){GodotDisplayVK.textinput.remove();GodotDisplayVK.textinput=null}if(GodotDisplayVK.textarea){GodotDisplayVK.textarea.remove();GodotDisplayVK.textarea=null}}};var GodotDisplay={window_icon:"",getDPI:function(){const dpi=Math.round(window.devicePixelRatio*96);return dpi>=96?dpi:96}};function _godot_js_display_alert(p_text){window.alert(GodotRuntime.parseString(p_text))}function _godot_js_display_canvas_focus(){GodotConfig.canvas.focus()}function _godot_js_display_canvas_is_focused(){return document.activeElement===GodotConfig.canvas}function _godot_js_display_clipboard_get(callback){const func=GodotRuntime.get_func(callback);try{navigator.clipboard.readText().then(function(result){const ptr=GodotRuntime.allocString(result);func(ptr);GodotRuntime.free(ptr)}).catch(function(e){})}catch(e){}}function _godot_js_display_clipboard_set(p_text){const text=GodotRuntime.parseString(p_text);if(!navigator.clipboard||!navigator.clipboard.writeText){return 1}navigator.clipboard.writeText(text).catch(function(e){GodotRuntime.error("Setting OS clipboard is only possible from an input callback for the Web platform. Exception:",e)});return 0}function _godot_js_display_cursor_is_hidden(){return!GodotDisplayCursor.visible}function _godot_js_display_cursor_is_locked(){return GodotDisplayCursor.isPointerLocked()?1:0}function _godot_js_display_cursor_lock_set(p_lock){if(p_lock){GodotDisplayCursor.lockPointer()}else{GodotDisplayCursor.releasePointer()}}function _godot_js_display_cursor_set_custom_shape(p_shape,p_ptr,p_len,p_hotspot_x,p_hotspot_y){const shape=GodotRuntime.parseString(p_shape);const old_shape=GodotDisplayCursor.cursors[shape];if(p_len>0){const png=new Blob([GodotRuntime.heapSlice(HEAPU8,p_ptr,p_len)],{type:"image/png"});const url=URL.createObjectURL(png);GodotDisplayCursor.cursors[shape]={url:url,x:p_hotspot_x,y:p_hotspot_y}}else{delete GodotDisplayCursor.cursors[shape]}if(shape===GodotDisplayCursor.shape){GodotDisplayCursor.set_shape(GodotDisplayCursor.shape)}if(old_shape){URL.revokeObjectURL(old_shape.url)}}function _godot_js_display_cursor_set_shape(p_string){GodotDisplayCursor.set_shape(GodotRuntime.parseString(p_string))}function _godot_js_display_cursor_set_visible(p_visible){const visible=p_visible!==0;if(visible===GodotDisplayCursor.visible){return}GodotDisplayCursor.visible=visible;if(visible){GodotDisplayCursor.set_shape(GodotDisplayCursor.shape)}else{GodotDisplayCursor.set_style("none")}}function _godot_js_display_desired_size_set(width,height){GodotDisplayScreen.desired_size=[width,height];GodotDisplayScreen.updateSize()}function _godot_js_display_fullscreen_cb(callback){const canvas=GodotConfig.canvas;const func=GodotRuntime.get_func(callback);function change_cb(evt){if(evt.target===canvas){func(GodotDisplayScreen.isFullscreen())}}GodotEventListeners.add(document,"fullscreenchange",change_cb,false);GodotEventListeners.add(document,"mozfullscreenchange",change_cb,false);GodotEventListeners.add(document,"webkitfullscreenchange",change_cb,false)}function _godot_js_display_fullscreen_exit(){return GodotDisplayScreen.exitFullscreen()}function _godot_js_display_fullscreen_request(){return GodotDisplayScreen.requestFullscreen()}function _godot_js_display_has_webgl(p_version){if(p_version!==1&&p_version!==2){return false}try{return!!document.createElement("canvas").getContext(p_version===2?"webgl2":"webgl")}catch(e){}return false}function _godot_js_display_is_swap_ok_cancel(){const win=["Windows","Win64","Win32","WinCE"];const plat=navigator.platform||"";if(win.indexOf(plat)!==-1){return 1}return 0}function _godot_js_display_notification_cb(callback,p_enter,p_exit,p_in,p_out){const canvas=GodotConfig.canvas;const func=GodotRuntime.get_func(callback);const notif=[p_enter,p_exit,p_in,p_out];["mouseover","mouseleave","focus","blur"].forEach(function(evt_name,idx){GodotEventListeners.add(canvas,evt_name,function(){func(notif[idx])},true)})}function _godot_js_display_pixel_ratio_get(){return GodotDisplayScreen.getPixelRatio()}function _godot_js_display_screen_dpi_get(){return GodotDisplay.getDPI()}function _godot_js_display_screen_size_get(width,height){const scale=GodotDisplayScreen.getPixelRatio();GodotRuntime.setHeapValue(width,window.screen.width*scale,"i32");GodotRuntime.setHeapValue(height,window.screen.height*scale,"i32")}function _godot_js_display_setup_canvas(p_width,p_height,p_fullscreen,p_hidpi){const canvas=GodotConfig.canvas;GodotEventListeners.add(canvas,"contextmenu",function(ev){ev.preventDefault()},false);GodotEventListeners.add(canvas,"webglcontextlost",function(ev){alert("WebGL context lost, please reload the page");ev.preventDefault()},false);GodotDisplayScreen.hidpi=!!p_hidpi;switch(GodotConfig.canvas_resize_policy){case 0:GodotDisplayScreen.desired_size=[canvas.width,canvas.height];break;case 1:GodotDisplayScreen.desired_size=[p_width,p_height];break;default:canvas.style.position="absolute";canvas.style.top=0;canvas.style.left=0;break}GodotDisplayScreen.updateSize();if(p_fullscreen){GodotDisplayScreen.requestFullscreen()}}function _godot_js_display_size_update(){const updated=GodotDisplayScreen.updateSize();if(updated){GodotDisplayVK.updateSize()}return updated}function _godot_js_display_touchscreen_is_available(){return"ontouchstart"in window}function _godot_js_display_tts_available(){return"speechSynthesis"in window}function _godot_js_display_vk_available(){return GodotDisplayVK.available()}function _godot_js_display_vk_cb(p_input_cb){const input_cb=GodotRuntime.get_func(p_input_cb);if(GodotDisplayVK.available()){GodotDisplayVK.init(input_cb)}}function _godot_js_display_vk_hide(){GodotDisplayVK.hide()}function _godot_js_display_vk_show(p_text,p_type,p_start,p_end){const text=GodotRuntime.parseString(p_text);const start=p_start>0?p_start:0;const end=p_end>0?p_end:start;GodotDisplayVK.show(text,p_type,start,end)}function _godot_js_display_window_blur_cb(callback){const func=GodotRuntime.get_func(callback);GodotEventListeners.add(window,"blur",function(){func()},false)}function _godot_js_display_window_icon_set(p_ptr,p_len){let link=document.getElementById("-gd-engine-icon");const old_icon=GodotDisplay.window_icon;if(p_ptr){if(link===null){link=document.createElement("link");link.rel="icon";link.id="-gd-engine-icon";document.head.appendChild(link)}const png=new Blob([GodotRuntime.heapSlice(HEAPU8,p_ptr,p_len)],{type:"image/png"});GodotDisplay.window_icon=URL.createObjectURL(png);link.href=GodotDisplay.window_icon}else{if(link){link.remove()}GodotDisplay.window_icon=null}if(old_icon){URL.revokeObjectURL(old_icon)}}function _godot_js_display_window_size_get(p_width,p_height){GodotRuntime.setHeapValue(p_width,GodotConfig.canvas.width,"i32");GodotRuntime.setHeapValue(p_height,GodotConfig.canvas.height,"i32")}function _godot_js_display_window_title_set(p_data){document.title=GodotRuntime.parseString(p_data)}function _godot_js_eval(p_js,p_use_global_ctx,p_union_ptr,p_byte_arr,p_byte_arr_write,p_callback){const js_code=GodotRuntime.parseString(p_js);let eval_ret=null;try{if(p_use_global_ctx){const global_eval=eval;eval_ret=global_eval(js_code)}else{eval_ret=eval(js_code)}}catch(e){GodotRuntime.error(e)}switch(typeof eval_ret){case"boolean":GodotRuntime.setHeapValue(p_union_ptr,eval_ret,"i32");return 1;case"number":GodotRuntime.setHeapValue(p_union_ptr,eval_ret,"double");return 3;case"string":GodotRuntime.setHeapValue(p_union_ptr,GodotRuntime.allocString(eval_ret),"*");return 4;case"object":if(eval_ret===null){break}if(ArrayBuffer.isView(eval_ret)&&!(eval_ret instanceof Uint8Array)){eval_ret=new Uint8Array(eval_ret.buffer)}else if(eval_ret instanceof ArrayBuffer){eval_ret=new Uint8Array(eval_ret)}if(eval_ret instanceof Uint8Array){const func=GodotRuntime.get_func(p_callback);const bytes_ptr=func(p_byte_arr,p_byte_arr_write,eval_ret.length);HEAPU8.set(eval_ret,bytes_ptr);return 29}break}return 0}var IDHandler={_last_id:0,_references:{},get:function(p_id){return IDHandler._references[p_id]},add:function(p_data){const id=++IDHandler._last_id;IDHandler._references[id]=p_data;return id},remove:function(p_id){delete IDHandler._references[p_id]}};var GodotFetch={onread:function(id,result){const obj=IDHandler.get(id);if(!obj){return}if(result.value){obj.chunks.push(result.value)}obj.reading=false;obj.done=result.done},onresponse:function(id,response){const obj=IDHandler.get(id);if(!obj){return}let chunked=false;response.headers.forEach(function(value,header){const v=value.toLowerCase().trim();const h=header.toLowerCase().trim();if(h==="transfer-encoding"&&v==="chunked"){chunked=true}});obj.status=response.status;obj.response=response;obj.reader=response.body.getReader();obj.chunked=chunked},onerror:function(id,err){GodotRuntime.error(err);const obj=IDHandler.get(id);if(!obj){return}obj.error=err},create:function(method,url,headers,body){const obj={request:null,response:null,reader:null,error:null,done:false,reading:false,status:0,chunks:[]};const id=IDHandler.add(obj);const init={method:method,headers:headers,body:body};obj.request=fetch(url,init);obj.request.then(GodotFetch.onresponse.bind(null,id)).catch(GodotFetch.onerror.bind(null,id));return id},free:function(id){const obj=IDHandler.get(id);if(!obj){return}IDHandler.remove(id);if(!obj.request){return}obj.request.then(function(response){response.abort()}).catch(function(e){})},read:function(id){const obj=IDHandler.get(id);if(!obj){return}if(obj.reader&&!obj.reading){if(obj.done){obj.reader=null;return}obj.reading=true;obj.reader.read().then(GodotFetch.onread.bind(null,id)).catch(GodotFetch.onerror.bind(null,id))}}};function _godot_js_fetch_create(p_method,p_url,p_headers,p_headers_size,p_body,p_body_size){const method=GodotRuntime.parseString(p_method);const url=GodotRuntime.parseString(p_url);const headers=GodotRuntime.parseStringArray(p_headers,p_headers_size);const body=p_body_size?GodotRuntime.heapSlice(HEAP8,p_body,p_body_size):null;return GodotFetch.create(method,url,headers.map(function(hv){const idx=hv.indexOf(":");if(idx<=0){return[]}return[hv.slice(0,idx).trim(),hv.slice(idx+1).trim()]}).filter(function(v){return v.length===2}),body)}function _godot_js_fetch_free(id){GodotFetch.free(id)}function _godot_js_fetch_http_status_get(p_id){const obj=IDHandler.get(p_id);if(!obj||!obj.response){return 0}return obj.status}function _godot_js_fetch_is_chunked(p_id){const obj=IDHandler.get(p_id);if(!obj||!obj.response){return-1}return obj.chunked?1:0}function _godot_js_fetch_read_chunk(p_id,p_buf,p_buf_size){const obj=IDHandler.get(p_id);if(!obj||!obj.response){return 0}let to_read=p_buf_size;const chunks=obj.chunks;while(to_read&&chunks.length){const chunk=obj.chunks[0];if(chunk.length>to_read){GodotRuntime.heapCopy(HEAP8,chunk.slice(0,to_read),p_buf);chunks[0]=chunk.slice(to_read);to_read=0}else{GodotRuntime.heapCopy(HEAP8,chunk,p_buf);to_read-=chunk.length;chunks.pop()}}if(!chunks.length){GodotFetch.read(p_id)}return p_buf_size-to_read}function _godot_js_fetch_read_headers(p_id,p_parse_cb,p_ref){const obj=IDHandler.get(p_id);if(!obj||!obj.response){return 1}const cb=GodotRuntime.get_func(p_parse_cb);const arr=[];obj.response.headers.forEach(function(v,h){arr.push(`${h}:${v}`)});const c_ptr=GodotRuntime.allocStringArray(arr);cb(arr.length,c_ptr,p_ref);GodotRuntime.freeStringArray(c_ptr,arr.length);return 0}function _godot_js_fetch_state_get(p_id){const obj=IDHandler.get(p_id);if(!obj){return-1}if(obj.error){return-1}if(!obj.response){return 0}if(obj.reader){return 1}if(obj.done){return 2}return-1}var GodotInputGamepads={samples:[],get_pads:function(){try{const pads=navigator.getGamepads();if(pads){return pads}return[]}catch(e){return[]}},get_samples:function(){return GodotInputGamepads.samples},get_sample:function(index){const samples=GodotInputGamepads.samples;return index=0){os="Android"}else if(ua.indexOf("Linux")>=0){os="Linux"}else if(ua.indexOf("iPhone")>=0){os="iOS"}else if(ua.indexOf("Macintosh")>=0){os="MacOSX"}else if(ua.indexOf("Windows")>=0){os="Windows"}const id=pad.id;const exp1=/vendor: ([0-9a-f]{4}) product: ([0-9a-f]{4})/i;const exp2=/^([0-9a-f]+)-([0-9a-f]+)-/i;let vendor="";let product="";if(exp1.test(id)){const match=exp1.exec(id);vendor=match[1].padStart(4,"0");product=match[2].padStart(4,"0")}else if(exp2.test(id)){const match=exp2.exec(id);vendor=match[1].padStart(4,"0");product=match[2].padStart(4,"0")}if(!vendor||!product){return`${os}Unknown`}return os+vendor+product}};var GodotInputDragDrop={promises:[],pending_files:[],add_entry:function(entry){if(entry.isDirectory){GodotInputDragDrop.add_dir(entry)}else if(entry.isFile){GodotInputDragDrop.add_file(entry)}else{GodotRuntime.error("Unrecognized entry...",entry)}},add_dir:function(entry){GodotInputDragDrop.promises.push(new Promise(function(resolve,reject){const reader=entry.createReader();reader.readEntries(function(entries){for(let i=0;i{const path=elem["path"];GodotFS.copy_to_fs(DROP+path,elem["data"]);let idx=path.indexOf("/");if(idx===-1){drops.push(DROP+path)}else{const sub=path.substr(0,idx);idx=sub.indexOf("/");if(idx<0&&drops.indexOf(DROP+sub)===-1){drops.push(DROP+sub)}}files.push(DROP+path)});GodotInputDragDrop.promises=[];GodotInputDragDrop.pending_files=[];callback(drops);if(GodotConfig.persistent_drops){GodotOS.atexit(function(resolve,reject){GodotInputDragDrop.remove_drop(files,DROP);resolve()})}else{GodotInputDragDrop.remove_drop(files,DROP)}})},remove_drop:function(files,drop_path){const dirs=[drop_path.substr(0,drop_path.length-1)];files.forEach(function(file){FS.unlink(file);let dir=file.replace(drop_path,"");let idx=dir.lastIndexOf("/");while(idx>0){dir=dir.substr(0,idx);if(dirs.indexOf(drop_path+dir)===-1){dirs.push(drop_path+dir)}idx=dir.lastIndexOf("/")}});dirs.sort(function(a,b){const al=(a.match(/\//g)||[]).length;const bl=(b.match(/\//g)||[]).length;if(al>bl){return-1}else if(al=Number.MIN_SAFE_INTEGER&&heap_value<=Number.MAX_SAFE_INTEGER?Number(heap_value):heap_value}case 3:return Number(GodotRuntime.getHeapValue(val,"double"));case 4:return GodotRuntime.parseString(GodotRuntime.getHeapValue(val,"*"));case 24:return GodotJSWrapper.get_proxied_value(GodotRuntime.getHeapValue(val,"i64"));default:return undefined}},js2variant:function(p_val,p_exchange){if(p_val===undefined||p_val===null){return 0}const type=typeof p_val;if(type==="boolean"){GodotRuntime.setHeapValue(p_exchange,p_val,"i64");return 1}else if(type==="number"){if(Number.isInteger(p_val)){GodotRuntime.setHeapValue(p_exchange,p_val,"i64");return 2}GodotRuntime.setHeapValue(p_exchange,p_val,"double");return 3}else if(type==="bigint"){GodotRuntime.setHeapValue(p_exchange,p_val,"i64");return 2}else if(type==="string"){const c_str=GodotRuntime.allocString(p_val);GodotRuntime.setHeapValue(p_exchange,c_str,"*");return 4}const id=GodotJSWrapper.get_proxied(p_val);GodotRuntime.setHeapValue(p_exchange,id,"i64");return 24}};function _godot_js_wrapper_create_cb(p_ref,p_func){const func=GodotRuntime.get_func(p_func);let id=0;const cb=function(){if(!GodotJSWrapper.get_proxied_value(id)){return undefined}GodotJSWrapper.cb_ret=null;const args=Array.from(arguments);const argsProxy=new GodotJSWrapper.MyProxy(args);func(p_ref,argsProxy.get_id(),args.length);argsProxy.unref();const ret=GodotJSWrapper.cb_ret;GodotJSWrapper.cb_ret=null;return ret};id=GodotJSWrapper.get_proxied(cb);return id}function _godot_js_wrapper_create_object(p_object,p_args,p_argc,p_convert_callback,p_exchange,p_lock,p_free_lock_callback){const name=GodotRuntime.parseString(p_object);if(typeof window[name]==="undefined"){return-1}const convert=GodotRuntime.get_func(p_convert_callback);const freeLock=GodotRuntime.get_func(p_free_lock_callback);const args=new Array(p_argc);for(let i=0;i{if(GodotWebXR.session&&GodotWebXR.space){const onFrame=function(time,frame){GodotWebXR.frame=frame;GodotWebXR.pose=frame.getViewerPose(GodotWebXR.space);callback(time);GodotWebXR.frame=null;GodotWebXR.pose=null};GodotWebXR.session.requestAnimationFrame(onFrame)}else{GodotWebXR.orig_requestAnimationFrame(callback)}},monkeyPatchRequestAnimationFrame:enable=>{if(GodotWebXR.orig_requestAnimationFrame===null){GodotWebXR.orig_requestAnimationFrame=Browser.requestAnimationFrame}Browser.requestAnimationFrame=enable?GodotWebXR.requestAnimationFrame:GodotWebXR.orig_requestAnimationFrame},pauseResumeMainLoop:()=>{Browser.mainLoop.pause();runtimeKeepalivePush();window.setTimeout(function(){runtimeKeepalivePop();Browser.mainLoop.resume()},0)},getLayer:()=>{const new_view_count=GodotWebXR.pose?GodotWebXR.pose.views.length:1;let layer=GodotWebXR.layer;if(layer&&GodotWebXR.view_count===new_view_count){return layer}if(!GodotWebXR.session||!GodotWebXR.gl_binding){return null}const gl=GodotWebXR.gl;layer=GodotWebXR.gl_binding.createProjectionLayer({textureType:new_view_count>1?"texture-array":"texture",colorFormat:gl.RGBA8,depthFormat:gl.DEPTH_COMPONENT24});GodotWebXR.session.updateRenderState({layers:[layer]});GodotWebXR.layer=layer;GodotWebXR.view_count=new_view_count;return layer},getSubImage:()=>{if(!GodotWebXR.pose){return null}const layer=GodotWebXR.getLayer();if(layer===null){return null}return GodotWebXR.gl_binding.getViewSubImage(layer,GodotWebXR.pose.views[0])},getTextureId:texture=>{if(texture.name!==undefined){return texture.name}const id=GL.getNewId(GL.textures);texture.name=id;GL.textures[id]=texture;return id},addInputSource:input_source=>{let name=-1;if(input_source.targetRayMode==="tracked-pointer"&&input_source.handedness==="left"){name=0}else if(input_source.targetRayMode==="tracked-pointer"&&input_source.handedness==="right"){name=1}else{for(let i=2;i<16;i++){if(!GodotWebXR.input_sources[i]){name=i;break}}}if(name>=0){GodotWebXR.input_sources[name]=input_source;input_source.name=name;if(input_source.targetRayMode==="screen"){let touch_index=-1;for(let i=0;i<5;i++){if(!GodotWebXR.touches[i]){touch_index=i;break}}if(touch_index>=0){GodotWebXR.touches[touch_index]=input_source;input_source.touch_index=touch_index}}}return name},removeInputSource:input_source=>{if(input_source.name!==undefined){const name=input_source.name;if(name>=0&&name<16){GodotWebXR.input_sources[name]=null}if(input_source.touch_index!==undefined){const touch_index=input_source.touch_index;if(touch_index>=0&&touch_index<5){GodotWebXR.touches[touch_index]=null}}return name}return-1},getInputSourceId:input_source=>{if(input_source!==undefined){return input_source.name}return-1},getTouchIndex:input_source=>{if(input_source.touch_index!==undefined){return input_source.touch_index}return-1}};function _godot_webxr_get_bounds_geometry(r_points){if(!GodotWebXR.space||!GodotWebXR.space.boundsGeometry){return 0}const point_count=GodotWebXR.space.boundsGeometry.length;if(point_count===0){return 0}const buf=GodotRuntime.malloc(point_count*3*4);for(let i=0;i=0){matrix=views[p_view].transform.matrix}else{matrix=GodotWebXR.pose.transform.matrix}for(let i=0;i<16;i++){GodotRuntime.setHeapValue(r_transform+i*4,matrix[i],"float")}return true}function _godot_webxr_get_velocity_texture(){const subimage=GodotWebXR.getSubImage();if(subimage===null){return 0}if(!subimage.motionVectorTexture){return 0}return GodotWebXR.getTextureId(subimage.motionVectorTexture)}function _godot_webxr_get_view_count(){if(!GodotWebXR.session||!GodotWebXR.pose){return 1}const view_count=GodotWebXR.pose.views.length;return view_count>0?view_count:1}function _godot_webxr_get_visibility_state(){if(!GodotWebXR.session||!GodotWebXR.session.visibilityState){return 0}return GodotRuntime.allocString(GodotWebXR.session.visibilityState)}var _godot_webxr_initialize=function(p_session_mode,p_required_features,p_optional_features,p_requested_reference_spaces,p_on_session_started,p_on_session_ended,p_on_session_failed,p_on_input_event,p_on_simple_event){GodotWebXR.monkeyPatchRequestAnimationFrame(true);const session_mode=GodotRuntime.parseString(p_session_mode);const required_features=GodotRuntime.parseString(p_required_features).split(",").map(s=>s.trim()).filter(s=>s!=="");const optional_features=GodotRuntime.parseString(p_optional_features).split(",").map(s=>s.trim()).filter(s=>s!=="");const requested_reference_space_types=GodotRuntime.parseString(p_requested_reference_spaces).split(",").map(s=>s.trim());const onstarted=GodotRuntime.get_func(p_on_session_started);const onended=GodotRuntime.get_func(p_on_session_ended);const onfailed=GodotRuntime.get_func(p_on_session_failed);const oninputevent=GodotRuntime.get_func(p_on_input_event);const onsimpleevent=GodotRuntime.get_func(p_on_simple_event);const session_init={};if(required_features.length>0){session_init["requiredFeatures"]=required_features}if(optional_features.length>0){session_init["optionalFeatures"]=optional_features}navigator.xr.requestSession(session_mode,session_init).then(function(session){GodotWebXR.session=session;session.addEventListener("end",function(evt){onended()});session.addEventListener("inputsourceschange",function(evt){evt.added.forEach(GodotWebXR.addInputSource);evt.removed.forEach(GodotWebXR.removeInputSource)});["selectstart","selectend","squeezestart","squeezeend"].forEach((input_event,index)=>{session.addEventListener(input_event,function(evt){GodotWebXR.frame=evt.frame;oninputevent(index,GodotWebXR.getInputSourceId(evt.inputSource));GodotWebXR.frame=null})});session.addEventListener("visibilitychange",function(evt){const c_str=GodotRuntime.allocString("visibility_state_changed");onsimpleevent(c_str);GodotRuntime.free(c_str)});GodotWebXR.onsimpleevent=onsimpleevent;const gl_context_handle=_emscripten_webgl_get_current_context();const gl=GL.getContext(gl_context_handle).GLctx;GodotWebXR.gl=gl;gl.makeXRCompatible().then(function(){GodotWebXR.gl_binding=new XRWebGLBinding(session,gl);GodotWebXR.getLayer();function onReferenceSpaceSuccess(reference_space,reference_space_type){GodotWebXR.space=reference_space;reference_space.onreset=function(evt){const c_str=GodotRuntime.allocString("reference_space_reset");onsimpleevent(c_str);GodotRuntime.free(c_str)};GodotWebXR.pauseResumeMainLoop();window.setTimeout(function(){const reference_space_c_str=GodotRuntime.allocString(reference_space_type);const enabled_features="enabledFeatures"in session?Array.from(session.enabledFeatures):[];const enabled_features_c_str=GodotRuntime.allocString(enabled_features.join(","));const environment_blend_mode="environmentBlendMode"in session?session.environmentBlendMode:"";const environment_blend_mode_c_str=GodotRuntime.allocString(environment_blend_mode);onstarted(reference_space_c_str,enabled_features_c_str,environment_blend_mode_c_str);GodotRuntime.free(reference_space_c_str);GodotRuntime.free(enabled_features_c_str);GodotRuntime.free(environment_blend_mode_c_str)},0)}function requestReferenceSpace(){const reference_space_type=requested_reference_space_types.shift();session.requestReferenceSpace(reference_space_type).then(refSpace=>{onReferenceSpaceSuccess(refSpace,reference_space_type)}).catch(()=>{if(requested_reference_space_types.length===0){const c_str=GodotRuntime.allocString("Unable to get any of the requested reference space types");onfailed(c_str);GodotRuntime.free(c_str)}else{requestReferenceSpace()}})}requestReferenceSpace()}).catch(function(error){const c_str=GodotRuntime.allocString(`Unable to make WebGL context compatible with WebXR: ${error}`);onfailed(c_str);GodotRuntime.free(c_str)})}).catch(function(error){const c_str=GodotRuntime.allocString(`Unable to start session: ${error}`);onfailed(c_str);GodotRuntime.free(c_str)})};function _godot_webxr_is_session_supported(p_session_mode,p_callback){const session_mode=GodotRuntime.parseString(p_session_mode);const cb=GodotRuntime.get_func(p_callback);if(navigator.xr){navigator.xr.isSessionSupported(session_mode).then(function(supported){const c_str=GodotRuntime.allocString(session_mode);cb(c_str,supported?1:0);GodotRuntime.free(c_str)})}else{const c_str=GodotRuntime.allocString(session_mode);cb(c_str,0);GodotRuntime.free(c_str)}}function _godot_webxr_is_supported(){return!!navigator.xr}var _godot_webxr_uninitialize=function(){if(GodotWebXR.session){GodotWebXR.session.end().catch(e=>{})}GodotWebXR.session=null;GodotWebXR.gl_binding=null;GodotWebXR.layer=null;GodotWebXR.space=null;GodotWebXR.frame=null;GodotWebXR.pose=null;GodotWebXR.view_count=1;GodotWebXR.input_sources=new Array(16);GodotWebXR.touches=new Array(5);GodotWebXR.onsimpleevent=null;GodotWebXR.monkeyPatchRequestAnimationFrame(false);GodotWebXR.pauseResumeMainLoop()};function _godot_webxr_update_input_source(p_input_source_id,r_target_pose,r_target_ray_mode,r_touch_index,r_has_grip_pose,r_grip_pose,r_has_standard_mapping,r_button_count,r_buttons,r_axes_count,r_axes,r_has_hand_data,r_hand_joints,r_hand_radii){if(!GodotWebXR.session||!GodotWebXR.frame){return 0}if(p_input_source_id<0||p_input_source_id>=GodotWebXR.input_sources.length||!GodotWebXR.input_sources[p_input_source_id]){return false}const input_source=GodotWebXR.input_sources[p_input_source_id];const frame=GodotWebXR.frame;const space=GodotWebXR.space;const target_pose=frame.getPose(input_source.targetRaySpace,space);if(!target_pose){return false}const target_pose_matrix=target_pose.transform.matrix;for(let i=0;i<16;i++){GodotRuntime.setHeapValue(r_target_pose+i*4,target_pose_matrix[i],"float")}let target_ray_mode=0;switch(input_source.targetRayMode){case"gaze":target_ray_mode=1;break;case"tracked-pointer":target_ray_mode=2;break;case"screen":target_ray_mode=3;break;default:}GodotRuntime.setHeapValue(r_target_ray_mode,target_ray_mode,"i32");GodotRuntime.setHeapValue(r_touch_index,GodotWebXR.getTouchIndex(input_source),"i32");let has_grip_pose=false;if(input_source.gripSpace){const grip_pose=frame.getPose(input_source.gripSpace,space);if(grip_pose){const grip_pose_matrix=grip_pose.transform.matrix;for(let i=0;i<16;i++){GodotRuntime.setHeapValue(r_grip_pose+i*4,grip_pose_matrix[i],"float")}has_grip_pose=true}}GodotRuntime.setHeapValue(r_has_grip_pose,has_grip_pose?1:0,"i32");let has_standard_mapping=false;let button_count=0;let axes_count=0;if(input_source.gamepad){if(input_source.gamepad.mapping==="xr-standard"){has_standard_mapping=true}button_count=Math.min(input_source.gamepad.buttons.length,10);for(let i=0;i{const c_str=GodotRuntime.allocString("display_refresh_rate_changed");GodotWebXR.onsimpleevent(c_str);GodotRuntime.free(c_str)})}var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var getCFunc=ident=>{var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func};var writeArrayToMemory=(array,buffer)=>{assert(array.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)");HEAP8.set(array,buffer)};var stackSave=()=>_emscripten_stack_get_current();var stackRestore=val=>__emscripten_stack_restore(val);var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;assert(returnType!=="array",'Return type should not be "array".');if(args){for(var i=0;i(...args)=>ccall(ident,returnType,argTypes,args,opts);FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["requestFullscreen"]=Browser.requestFullscreen;Module["requestFullScreen"]=Browser.requestFullScreen;Module["requestAnimationFrame"]=Browser.requestAnimationFrame;Module["setCanvasSize"]=Browser.setCanvasSize;Module["pauseMainLoop"]=Browser.mainLoop.pause;Module["resumeMainLoop"]=Browser.mainLoop.resume;Module["getUserMedia"]=Browser.getUserMedia;Module["createContext"]=Browser.createContext;var preloadedImages={};var preloadedAudios={};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<=288;++i){miniTempWebGLIntBuffers[i]=miniTempWebGLIntBuffersStorage.subarray(0,i)}var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<=288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i)}Module["request_quit"]=function(){GodotOS.request_quit()};Module["onExit"]=GodotOS.cleanup;GodotOS._fs_sync_promise=Promise.resolve();Module["initConfig"]=GodotConfig.init_config;Module["initFS"]=GodotFS.init;Module["copyToFS"]=GodotFS.copy_to_fs;GodotOS.atexit(function(resolve,reject){GodotDisplayCursor.clear();resolve()});GodotOS.atexit(function(resolve,reject){GodotEventListeners.clear();resolve()});GodotOS.atexit(function(resolve,reject){GodotDisplayVK.clear();resolve()});GodotOS.atexit(function(resolve,reject){GodotIME.clear();resolve()});GodotJSWrapper.proxies=new Map;function checkIncomingModuleAPI(){ignoredModuleProp("fetchSettings")}var wasmImports={__assert_fail:___assert_fail,__call_sighandler:___call_sighandler,__syscall__newselect:___syscall__newselect,__syscall_accept4:___syscall_accept4,__syscall_bind:___syscall_bind,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_connect:___syscall_connect,__syscall_faccessat:___syscall_faccessat,__syscall_fchmod:___syscall_fchmod,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_getsockname:___syscall_getsockname,__syscall_getsockopt:___syscall_getsockopt,__syscall_ioctl:___syscall_ioctl,__syscall_listen:___syscall_listen,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_mknodat:___syscall_mknodat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_poll:___syscall_poll,__syscall_readlinkat:___syscall_readlinkat,__syscall_recvfrom:___syscall_recvfrom,__syscall_renameat:___syscall_renameat,__syscall_rmdir:___syscall_rmdir,__syscall_sendto:___syscall_sendto,__syscall_socket:___syscall_socket,__syscall_stat64:___syscall_stat64,__syscall_statfs64:___syscall_statfs64,__syscall_symlink:___syscall_symlink,__syscall_unlinkat:___syscall_unlinkat,_abort_js:__abort_js,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_gmtime_js:__gmtime_js,_localtime_js:__localtime_js,_tzset_js:__tzset_js,emscripten_cancel_main_loop:_emscripten_cancel_main_loop,emscripten_date_now:_emscripten_date_now,emscripten_err:_emscripten_err,emscripten_force_exit:_emscripten_force_exit,emscripten_get_now:_emscripten_get_now,emscripten_resize_heap:_emscripten_resize_heap,emscripten_set_canvas_element_size:_emscripten_set_canvas_element_size,emscripten_set_main_loop:_emscripten_set_main_loop,emscripten_webgl_commit_frame:_emscripten_webgl_commit_frame,emscripten_webgl_create_context:_emscripten_webgl_create_context,emscripten_webgl_destroy_context:_emscripten_webgl_destroy_context,emscripten_webgl_enable_extension:_emscripten_webgl_enable_extension,emscripten_webgl_get_supported_extensions:_emscripten_webgl_get_supported_extensions,emscripten_webgl_make_context_current:_emscripten_webgl_make_context_current,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_read:_fd_read,fd_seek:_fd_seek,fd_write:_fd_write,getaddrinfo:_getaddrinfo,getnameinfo:_getnameinfo,glActiveTexture:_glActiveTexture,glAttachShader:_glAttachShader,glBeginTransformFeedback:_glBeginTransformFeedback,glBindBuffer:_glBindBuffer,glBindBufferBase:_glBindBufferBase,glBindBufferRange:_glBindBufferRange,glBindFramebuffer:_glBindFramebuffer,glBindRenderbuffer:_glBindRenderbuffer,glBindTexture:_glBindTexture,glBindVertexArray:_glBindVertexArray,glBlendColor:_glBlendColor,glBlendEquation:_glBlendEquation,glBlendFunc:_glBlendFunc,glBlendFuncSeparate:_glBlendFuncSeparate,glBlitFramebuffer:_glBlitFramebuffer,glBufferData:_glBufferData,glBufferSubData:_glBufferSubData,glCheckFramebufferStatus:_glCheckFramebufferStatus,glClear:_glClear,glClearBufferfv:_glClearBufferfv,glClearColor:_glClearColor,glClearDepthf:_glClearDepthf,glColorMask:_glColorMask,glCompileShader:_glCompileShader,glCompressedTexImage2D:_glCompressedTexImage2D,glCompressedTexImage3D:_glCompressedTexImage3D,glCompressedTexSubImage3D:_glCompressedTexSubImage3D,glCopyBufferSubData:_glCopyBufferSubData,glCreateProgram:_glCreateProgram,glCreateShader:_glCreateShader,glCullFace:_glCullFace,glDeleteBuffers:_glDeleteBuffers,glDeleteFramebuffers:_glDeleteFramebuffers,glDeleteProgram:_glDeleteProgram,glDeleteQueries:_glDeleteQueries,glDeleteRenderbuffers:_glDeleteRenderbuffers,glDeleteShader:_glDeleteShader,glDeleteSync:_glDeleteSync,glDeleteTextures:_glDeleteTextures,glDeleteVertexArrays:_glDeleteVertexArrays,glDepthFunc:_glDepthFunc,glDepthMask:_glDepthMask,glDisable:_glDisable,glDisableVertexAttribArray:_glDisableVertexAttribArray,glDrawArrays:_glDrawArrays,glDrawArraysInstanced:_glDrawArraysInstanced,glDrawBuffers:_glDrawBuffers,glDrawElements:_glDrawElements,glDrawElementsInstanced:_glDrawElementsInstanced,glEnable:_glEnable,glEnableVertexAttribArray:_glEnableVertexAttribArray,glEndTransformFeedback:_glEndTransformFeedback,glFenceSync:_glFenceSync,glFinish:_glFinish,glFramebufferRenderbuffer:_glFramebufferRenderbuffer,glFramebufferTexture2D:_glFramebufferTexture2D,glFramebufferTextureLayer:_glFramebufferTextureLayer,glFrontFace:_glFrontFace,glGenBuffers:_glGenBuffers,glGenFramebuffers:_glGenFramebuffers,glGenQueries:_glGenQueries,glGenRenderbuffers:_glGenRenderbuffers,glGenTextures:_glGenTextures,glGenVertexArrays:_glGenVertexArrays,glGenerateMipmap:_glGenerateMipmap,glGetFloatv:_glGetFloatv,glGetInteger64v:_glGetInteger64v,glGetIntegerv:_glGetIntegerv,glGetProgramInfoLog:_glGetProgramInfoLog,glGetProgramiv:_glGetProgramiv,glGetShaderInfoLog:_glGetShaderInfoLog,glGetShaderiv:_glGetShaderiv,glGetString:_glGetString,glGetSynciv:_glGetSynciv,glGetUniformBlockIndex:_glGetUniformBlockIndex,glGetUniformLocation:_glGetUniformLocation,glLinkProgram:_glLinkProgram,glPixelStorei:_glPixelStorei,glReadBuffer:_glReadBuffer,glReadPixels:_glReadPixels,glRenderbufferStorage:_glRenderbufferStorage,glRenderbufferStorageMultisample:_glRenderbufferStorageMultisample,glScissor:_glScissor,glShaderSource:_glShaderSource,glTexImage2D:_glTexImage2D,glTexImage3D:_glTexImage3D,glTexParameterf:_glTexParameterf,glTexParameteri:_glTexParameteri,glTexStorage2D:_glTexStorage2D,glTexSubImage3D:_glTexSubImage3D,glTransformFeedbackVaryings:_glTransformFeedbackVaryings,glUniform1f:_glUniform1f,glUniform1i:_glUniform1i,glUniform1iv:_glUniform1iv,glUniform1ui:_glUniform1ui,glUniform1uiv:_glUniform1uiv,glUniform2f:_glUniform2f,glUniform2fv:_glUniform2fv,glUniform2iv:_glUniform2iv,glUniform3fv:_glUniform3fv,glUniform4f:_glUniform4f,glUniform4fv:_glUniform4fv,glUniformBlockBinding:_glUniformBlockBinding,glUniformMatrix3fv:_glUniformMatrix3fv,glUniformMatrix4fv:_glUniformMatrix4fv,glUseProgram:_glUseProgram,glVertexAttrib4f:_glVertexAttrib4f,glVertexAttribDivisor:_glVertexAttribDivisor,glVertexAttribI4ui:_glVertexAttribI4ui,glVertexAttribIPointer:_glVertexAttribIPointer,glVertexAttribPointer:_glVertexAttribPointer,glViewport:_glViewport,godot_audio_has_worklet:_godot_audio_has_worklet,godot_audio_init:_godot_audio_init,godot_audio_input_start:_godot_audio_input_start,godot_audio_input_stop:_godot_audio_input_stop,godot_audio_is_available:_godot_audio_is_available,godot_audio_resume:_godot_audio_resume,godot_audio_sample_bus_add:_godot_audio_sample_bus_add,godot_audio_sample_bus_move:_godot_audio_sample_bus_move,godot_audio_sample_bus_remove:_godot_audio_sample_bus_remove,godot_audio_sample_bus_set_count:_godot_audio_sample_bus_set_count,godot_audio_sample_bus_set_mute:_godot_audio_sample_bus_set_mute,godot_audio_sample_bus_set_send:_godot_audio_sample_bus_set_send,godot_audio_sample_bus_set_solo:_godot_audio_sample_bus_set_solo,godot_audio_sample_bus_set_volume_db:_godot_audio_sample_bus_set_volume_db,godot_audio_sample_is_active:_godot_audio_sample_is_active,godot_audio_sample_register_stream:_godot_audio_sample_register_stream,godot_audio_sample_set_finished_callback:_godot_audio_sample_set_finished_callback,godot_audio_sample_set_pause:_godot_audio_sample_set_pause,godot_audio_sample_set_volumes_linear:_godot_audio_sample_set_volumes_linear,godot_audio_sample_start:_godot_audio_sample_start,godot_audio_sample_stop:_godot_audio_sample_stop,godot_audio_sample_stream_is_registered:_godot_audio_sample_stream_is_registered,godot_audio_sample_unregister_stream:_godot_audio_sample_unregister_stream,godot_audio_sample_update_pitch_scale:_godot_audio_sample_update_pitch_scale,godot_audio_worklet_create:_godot_audio_worklet_create,godot_audio_worklet_start_no_threads:_godot_audio_worklet_start_no_threads,godot_js_config_canvas_id_get:_godot_js_config_canvas_id_get,godot_js_config_locale_get:_godot_js_config_locale_get,godot_js_display_alert:_godot_js_display_alert,godot_js_display_canvas_focus:_godot_js_display_canvas_focus,godot_js_display_canvas_is_focused:_godot_js_display_canvas_is_focused,godot_js_display_clipboard_get:_godot_js_display_clipboard_get,godot_js_display_clipboard_set:_godot_js_display_clipboard_set,godot_js_display_cursor_is_hidden:_godot_js_display_cursor_is_hidden,godot_js_display_cursor_is_locked:_godot_js_display_cursor_is_locked,godot_js_display_cursor_lock_set:_godot_js_display_cursor_lock_set,godot_js_display_cursor_set_custom_shape:_godot_js_display_cursor_set_custom_shape,godot_js_display_cursor_set_shape:_godot_js_display_cursor_set_shape,godot_js_display_cursor_set_visible:_godot_js_display_cursor_set_visible,godot_js_display_desired_size_set:_godot_js_display_desired_size_set,godot_js_display_fullscreen_cb:_godot_js_display_fullscreen_cb,godot_js_display_fullscreen_exit:_godot_js_display_fullscreen_exit,godot_js_display_fullscreen_request:_godot_js_display_fullscreen_request,godot_js_display_has_webgl:_godot_js_display_has_webgl,godot_js_display_is_swap_ok_cancel:_godot_js_display_is_swap_ok_cancel,godot_js_display_notification_cb:_godot_js_display_notification_cb,godot_js_display_pixel_ratio_get:_godot_js_display_pixel_ratio_get,godot_js_display_screen_dpi_get:_godot_js_display_screen_dpi_get,godot_js_display_screen_size_get:_godot_js_display_screen_size_get,godot_js_display_setup_canvas:_godot_js_display_setup_canvas,godot_js_display_size_update:_godot_js_display_size_update,godot_js_display_touchscreen_is_available:_godot_js_display_touchscreen_is_available,godot_js_display_tts_available:_godot_js_display_tts_available,godot_js_display_vk_available:_godot_js_display_vk_available,godot_js_display_vk_cb:_godot_js_display_vk_cb,godot_js_display_vk_hide:_godot_js_display_vk_hide,godot_js_display_vk_show:_godot_js_display_vk_show,godot_js_display_window_blur_cb:_godot_js_display_window_blur_cb,godot_js_display_window_icon_set:_godot_js_display_window_icon_set,godot_js_display_window_size_get:_godot_js_display_window_size_get,godot_js_display_window_title_set:_godot_js_display_window_title_set,godot_js_eval:_godot_js_eval,godot_js_fetch_create:_godot_js_fetch_create,godot_js_fetch_free:_godot_js_fetch_free,godot_js_fetch_http_status_get:_godot_js_fetch_http_status_get,godot_js_fetch_is_chunked:_godot_js_fetch_is_chunked,godot_js_fetch_read_chunk:_godot_js_fetch_read_chunk,godot_js_fetch_read_headers:_godot_js_fetch_read_headers,godot_js_fetch_state_get:_godot_js_fetch_state_get,godot_js_input_drop_files_cb:_godot_js_input_drop_files_cb,godot_js_input_gamepad_cb:_godot_js_input_gamepad_cb,godot_js_input_gamepad_sample:_godot_js_input_gamepad_sample,godot_js_input_gamepad_sample_count:_godot_js_input_gamepad_sample_count,godot_js_input_gamepad_sample_get:_godot_js_input_gamepad_sample_get,godot_js_input_key_cb:_godot_js_input_key_cb,godot_js_input_mouse_button_cb:_godot_js_input_mouse_button_cb,godot_js_input_mouse_move_cb:_godot_js_input_mouse_move_cb,godot_js_input_mouse_wheel_cb:_godot_js_input_mouse_wheel_cb,godot_js_input_paste_cb:_godot_js_input_paste_cb,godot_js_input_touch_cb:_godot_js_input_touch_cb,godot_js_input_vibrate_handheld:_godot_js_input_vibrate_handheld,godot_js_is_ime_focused:_godot_js_is_ime_focused,godot_js_os_download_buffer:_godot_js_os_download_buffer,godot_js_os_execute:_godot_js_os_execute,godot_js_os_finish_async:_godot_js_os_finish_async,godot_js_os_fs_is_persistent:_godot_js_os_fs_is_persistent,godot_js_os_fs_sync:_godot_js_os_fs_sync,godot_js_os_has_feature:_godot_js_os_has_feature,godot_js_os_hw_concurrency_get:_godot_js_os_hw_concurrency_get,godot_js_os_request_quit_cb:_godot_js_os_request_quit_cb,godot_js_os_shell_open:_godot_js_os_shell_open,godot_js_pwa_cb:_godot_js_pwa_cb,godot_js_pwa_update:_godot_js_pwa_update,godot_js_rtc_datachannel_close:_godot_js_rtc_datachannel_close,godot_js_rtc_datachannel_connect:_godot_js_rtc_datachannel_connect,godot_js_rtc_datachannel_destroy:_godot_js_rtc_datachannel_destroy,godot_js_rtc_datachannel_get_buffered_amount:_godot_js_rtc_datachannel_get_buffered_amount,godot_js_rtc_datachannel_id_get:_godot_js_rtc_datachannel_id_get,godot_js_rtc_datachannel_is_negotiated:_godot_js_rtc_datachannel_is_negotiated,godot_js_rtc_datachannel_is_ordered:_godot_js_rtc_datachannel_is_ordered,godot_js_rtc_datachannel_label_get:_godot_js_rtc_datachannel_label_get,godot_js_rtc_datachannel_max_packet_lifetime_get:_godot_js_rtc_datachannel_max_packet_lifetime_get,godot_js_rtc_datachannel_max_retransmits_get:_godot_js_rtc_datachannel_max_retransmits_get,godot_js_rtc_datachannel_protocol_get:_godot_js_rtc_datachannel_protocol_get,godot_js_rtc_datachannel_ready_state_get:_godot_js_rtc_datachannel_ready_state_get,godot_js_rtc_datachannel_send:_godot_js_rtc_datachannel_send,godot_js_rtc_pc_close:_godot_js_rtc_pc_close,godot_js_rtc_pc_create:_godot_js_rtc_pc_create,godot_js_rtc_pc_datachannel_create:_godot_js_rtc_pc_datachannel_create,godot_js_rtc_pc_destroy:_godot_js_rtc_pc_destroy,godot_js_rtc_pc_ice_candidate_add:_godot_js_rtc_pc_ice_candidate_add,godot_js_rtc_pc_local_description_set:_godot_js_rtc_pc_local_description_set,godot_js_rtc_pc_offer_create:_godot_js_rtc_pc_offer_create,godot_js_rtc_pc_remote_description_set:_godot_js_rtc_pc_remote_description_set,godot_js_set_ime_active:_godot_js_set_ime_active,godot_js_set_ime_cb:_godot_js_set_ime_cb,godot_js_set_ime_position:_godot_js_set_ime_position,godot_js_tts_get_voices:_godot_js_tts_get_voices,godot_js_tts_is_paused:_godot_js_tts_is_paused,godot_js_tts_is_speaking:_godot_js_tts_is_speaking,godot_js_tts_pause:_godot_js_tts_pause,godot_js_tts_resume:_godot_js_tts_resume,godot_js_tts_speak:_godot_js_tts_speak,godot_js_tts_stop:_godot_js_tts_stop,godot_js_websocket_buffered_amount:_godot_js_websocket_buffered_amount,godot_js_websocket_close:_godot_js_websocket_close,godot_js_websocket_create:_godot_js_websocket_create,godot_js_websocket_destroy:_godot_js_websocket_destroy,godot_js_websocket_send:_godot_js_websocket_send,godot_js_wrapper_create_cb:_godot_js_wrapper_create_cb,godot_js_wrapper_create_object:_godot_js_wrapper_create_object,godot_js_wrapper_interface_get:_godot_js_wrapper_interface_get,godot_js_wrapper_object_call:_godot_js_wrapper_object_call,godot_js_wrapper_object_get:_godot_js_wrapper_object_get,godot_js_wrapper_object_getvar:_godot_js_wrapper_object_getvar,godot_js_wrapper_object_set:_godot_js_wrapper_object_set,godot_js_wrapper_object_set_cb_ret:_godot_js_wrapper_object_set_cb_ret,godot_js_wrapper_object_setvar:_godot_js_wrapper_object_setvar,godot_js_wrapper_object_unref:_godot_js_wrapper_object_unref,godot_webgl2_glFramebufferTextureMultisampleMultiviewOVR:_godot_webgl2_glFramebufferTextureMultisampleMultiviewOVR,godot_webgl2_glFramebufferTextureMultiviewOVR:_godot_webgl2_glFramebufferTextureMultiviewOVR,godot_webgl2_glGetBufferSubData:_godot_webgl2_glGetBufferSubData,godot_webxr_get_bounds_geometry:_godot_webxr_get_bounds_geometry,godot_webxr_get_color_texture:_godot_webxr_get_color_texture,godot_webxr_get_depth_texture:_godot_webxr_get_depth_texture,godot_webxr_get_frame_rate:_godot_webxr_get_frame_rate,godot_webxr_get_projection_for_view:_godot_webxr_get_projection_for_view,godot_webxr_get_render_target_size:_godot_webxr_get_render_target_size,godot_webxr_get_supported_frame_rates:_godot_webxr_get_supported_frame_rates,godot_webxr_get_transform_for_view:_godot_webxr_get_transform_for_view,godot_webxr_get_velocity_texture:_godot_webxr_get_velocity_texture,godot_webxr_get_view_count:_godot_webxr_get_view_count,godot_webxr_get_visibility_state:_godot_webxr_get_visibility_state,godot_webxr_initialize:_godot_webxr_initialize,godot_webxr_is_session_supported:_godot_webxr_is_session_supported,godot_webxr_is_supported:_godot_webxr_is_supported,godot_webxr_uninitialize:_godot_webxr_uninitialize,godot_webxr_update_input_source:_godot_webxr_update_input_source,godot_webxr_update_target_frame_rate:_godot_webxr_update_target_frame_rate,proc_exit:_proc_exit};var wasmExports=createWasm();var ___wasm_call_ctors=createExportWrapper("__wasm_call_ctors",0);var _free=createExportWrapper("free",1);var __Z14godot_web_mainiPPc=Module["__Z14godot_web_mainiPPc"]=createExportWrapper("_Z14godot_web_mainiPPc",2);var _main=Module["_main"]=createExportWrapper("__main_argc_argv",2);var _malloc=createExportWrapper("malloc",1);var _fflush=createExportWrapper("fflush",1);var _htonl=createExportWrapper("htonl",1);var _htons=createExportWrapper("htons",1);var _ntohs=createExportWrapper("ntohs",1);var __emwebxr_on_input_event=Module["__emwebxr_on_input_event"]=createExportWrapper("_emwebxr_on_input_event",2);var __emwebxr_on_simple_event=Module["__emwebxr_on_simple_event"]=createExportWrapper("_emwebxr_on_simple_event",1);var _strerror=createExportWrapper("strerror",1);var ___funcs_on_exit=createExportWrapper("__funcs_on_exit",0);var _emscripten_stack_init=()=>(_emscripten_stack_init=wasmExports["emscripten_stack_init"])();var _emscripten_stack_get_free=()=>(_emscripten_stack_get_free=wasmExports["emscripten_stack_get_free"])();var _emscripten_stack_get_base=()=>(_emscripten_stack_get_base=wasmExports["emscripten_stack_get_base"])();var _emscripten_stack_get_end=()=>(_emscripten_stack_get_end=wasmExports["emscripten_stack_get_end"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["_emscripten_stack_restore"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"])();Module["callMain"]=callMain;Module["cwrap"]=cwrap;var missingLibrarySymbols=["writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","convertI32PairToI53","convertI32PairToI53Checked","convertU32PairToI53","getTempRet0","setTempRet0","arraySum","addDays","emscriptenLog","readEmAsmArgs","listenOnce","autoResumeAudioContext","getDynCaller","dynCall","setWasmTableEntry","asmjsMangle","HandleAllocator","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","getEmptyTableSlot","updateTableMap","getFunctionAddress","addFunction","removeFunction","reallyNegative","unSign","strLen","reSign","formatString","intArrayToString","AsciiToString","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","registerKeyEventCallback","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","jsStackTrace","getCallstack","convertPCtoSourceLocation","checkWasiClock","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","createDyncallWrapper","setImmediateWrapped","clearImmediateWrapped","polyfillSetImmediate","getPromise","makePromise","idsToPromises","makePromiseCallback","Browser_asyncPrepareDataCounter","FS_unlink","FS_mkdirTree","_setNetworkCallback","emscriptenWebGLGetUniform","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","writeGLArray","registerWebGlEventCallback","runAndAbortIfError","emscriptenWebGLGetIndexed","ALLOC_NORMAL","ALLOC_STACK","allocate","writeStringToMemory","writeAsciiToMemory","setErrNo","demangle","stackTrace"];missingLibrarySymbols.forEach(missingLibrarySymbol);var unexportedSymbols=["run","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","out","err","abort","wasmMemory","wasmExports","writeStackCookie","checkStackCookie","writeI53ToI64","readI53FromI64","readI53FromU64","INT53_MAX","INT53_MIN","bigintToI53Checked","stackSave","stackRestore","stackAlloc","ptrToString","zeroMemory","exitJS","getHeapMax","growMemory","ENV","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","isLeapYear","ydayFromDate","ERRNO_CODES","strError","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","DNS","Protocols","Sockets","initRandomFill","randomFill","timers","warnOnce","readEmAsmArgsArray","jstoi_q","jstoi_s","getExecutableName","getWasmTableEntry","handleException","keepRuntimeAlive","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","asyncLoad","alignMemory","mmapAlloc","wasmTable","noExitRuntime","getCFunc","ccall","freeTableIndexes","functionsInTableMap","setValue","getValue","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","UTF8ToString","stringToUTF8Array","stringToUTF8","lengthBytesUTF8","intArrayFromString","stringToAscii","UTF16Decoder","stringToNewUTF8","stringToUTF8OnStack","writeArrayToMemory","JSEvents","specialHTMLTargets","maybeCStringToJsString","findEventTarget","findCanvasEventTarget","currentFullscreenStrategy","restoreOldWindowedStyle","UNWIND_CACHE","ExitStatus","getEnvStrings","doReadv","doWritev","safeSetTimeout","promiseMap","Browser","setMainLoop","getPreloadedImageData__data","wget","SYSCALLS","getSocketFromFD","getSocketAddress","preloadPlugins","FS_createPreloadedFile","FS_modeStringToFlags","FS_getMode","FS_stdin_getChar_buffer","FS_stdin_getChar","FS_createPath","FS_createDevice","FS_readFile","FS","FS_createDataFile","FS_createLazyFile","MEMFS","TTY","PIPEFS","SOCKFS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","heapObjectForWebGLType","toTypedArrayIndex","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","GL","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","AL","GLUT","EGL","GLEW","IDBStore","SDL","SDL_gfx","webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance","webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance","allocateUTF8","allocateUTF8OnStack","print","printErr","GodotWebXR","GodotWebSocket","GodotRTCDataChannel","GodotRTCPeerConnection","GodotAudio","GodotAudioWorklet","GodotAudioScript","GodotDisplayVK","GodotDisplayCursor","GodotDisplayScreen","GodotDisplay","GodotFetch","IDHandler","GodotConfig","GodotFS","GodotOS","GodotEventListeners","GodotPWA","GodotRuntime","GodotIME","GodotInputGamepads","GodotInputDragDrop","GodotInput","GodotWebGL2","GodotJSWrapper","IDBFS"];unexportedSymbols.forEach(unexportedRuntimeSymbol);var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args=[]){assert(runDependencies==0,'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])');assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");var entryFunction=_main;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function stackCheckInit(){_emscripten_stack_init();writeStackCookie()}function run(args=arguments_){if(runDependencies>0){return}stackCheckInit();preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}checkStackCookie()}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=false;if(Module["noInitialRun"])shouldRunNow=false;run();moduleRtn=readyPromise;for(const prop of Object.keys(Module)){if(!(prop in moduleArg)){Object.defineProperty(moduleArg,prop,{configurable:true,get(){abort(`Access to module property ('${prop}') is no longer possible via the module constructor argument; Instead, use the result of the module constructor.`)}})}} + + + return moduleRtn; +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = Godot; +else if (typeof define === 'function' && define['amd']) + define([], () => Godot); + +const Features = { + /** + * Check whether WebGL is available. Optionally, specify a particular version of WebGL to check for. + * + * @param {number=} [majorVersion=1] The major WebGL version to check for. + * @returns {boolean} If the given major version of WebGL is available. + * @function Engine.isWebGLAvailable + */ + isWebGLAvailable: function (majorVersion = 1) { + try { + return !!document.createElement('canvas').getContext(['webgl', 'webgl2'][majorVersion - 1]); + } catch (e) { /* Not available */ } + return false; + }, + + /** + * Check whether the Fetch API available and supports streaming responses. + * + * @returns {boolean} If the Fetch API is available and supports streaming responses. + * @function Engine.isFetchAvailable + */ + isFetchAvailable: function () { + return 'fetch' in window && 'Response' in window && 'body' in window.Response.prototype; + }, + + /** + * Check whether the engine is running in a Secure Context. + * + * @returns {boolean} If the engine is running in a Secure Context. + * @function Engine.isSecureContext + */ + isSecureContext: function () { + return window['isSecureContext'] === true; + }, + + /** + * Check whether the engine is cross origin isolated. + * This value is dependent on Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy headers sent by the server. + * + * @returns {boolean} If the engine is running in a Secure Context. + * @function Engine.isSecureContext + */ + isCrossOriginIsolated: function () { + return window['crossOriginIsolated'] === true; + }, + + /** + * Check whether SharedBufferArray is available. + * + * Most browsers require the page to be running in a secure context, and the + * the server to provide specific CORS headers for SharedArrayBuffer to be available. + * + * @returns {boolean} If SharedArrayBuffer is available. + * @function Engine.isSharedArrayBufferAvailable + */ + isSharedArrayBufferAvailable: function () { + return 'SharedArrayBuffer' in window; + }, + + /** + * Check whether the AudioContext supports AudioWorkletNodes. + * + * @returns {boolean} If AudioWorkletNode is available. + * @function Engine.isAudioWorkletAvailable + */ + isAudioWorkletAvailable: function () { + return 'AudioContext' in window && 'audioWorklet' in AudioContext.prototype; + }, + + /** + * Return an array of missing required features (as string). + * + * @returns {Array} A list of human-readable missing features. + * @function Engine.getMissingFeatures + * @param {{threads: (boolean|undefined)}} supportedFeatures + */ + getMissingFeatures: function (supportedFeatures = {}) { + const { + // Quotes are needed for the Closure compiler. + 'threads': supportsThreads = true, + } = supportedFeatures; + + const missing = []; + if (!Features.isWebGLAvailable(2)) { + missing.push('WebGL2 - Check web browser configuration and hardware support'); + } + if (!Features.isFetchAvailable()) { + missing.push('Fetch - Check web browser version'); + } + if (!Features.isSecureContext()) { + missing.push('Secure Context - Check web server configuration (use HTTPS)'); + } + + if (supportsThreads) { + if (!Features.isCrossOriginIsolated()) { + missing.push('Cross-Origin Isolation - Check that the web server configuration sends the correct headers.'); + } + if (!Features.isSharedArrayBufferAvailable()) { + missing.push('SharedArrayBuffer - Check that the web server configuration sends the correct headers.'); + } + } + + // Audio is normally optional since we have a dummy fallback. + return missing; + }, +}; + +const Preloader = /** @constructor */ function () { // eslint-disable-line no-unused-vars + function getTrackedResponse(response, load_status) { + function onloadprogress(reader, controller) { + return reader.read().then(function (result) { + if (load_status.done) { + return Promise.resolve(); + } + if (result.value) { + controller.enqueue(result.value); + load_status.loaded += result.value.length; + } + if (!result.done) { + return onloadprogress(reader, controller); + } + load_status.done = true; + return Promise.resolve(); + }); + } + const reader = response.body.getReader(); + return new Response(new ReadableStream({ + start: function (controller) { + onloadprogress(reader, controller).then(function () { + controller.close(); + }); + }, + }), { headers: response.headers }); + } + + function loadFetch(file, tracker, fileSize, raw) { + tracker[file] = { + total: fileSize || 0, + loaded: 0, + done: false, + }; + return fetch(file).then(function (response) { + if (!response.ok) { + return Promise.reject(new Error(`Failed loading file '${file}'`)); + } + const tr = getTrackedResponse(response, tracker[file]); + if (raw) { + return Promise.resolve(tr); + } + return tr.arrayBuffer(); + }); + } + + function retry(func, attempts = 1) { + function onerror(err) { + if (attempts <= 1) { + return Promise.reject(err); + } + return new Promise(function (resolve, reject) { + setTimeout(function () { + retry(func, attempts - 1).then(resolve).catch(reject); + }, 1000); + }); + } + return func().catch(onerror); + } + + const DOWNLOAD_ATTEMPTS_MAX = 4; + const loadingFiles = {}; + const lastProgress = { loaded: 0, total: 0 }; + let progressFunc = null; + + const animateProgress = function () { + let loaded = 0; + let total = 0; + let totalIsValid = true; + let progressIsFinal = true; + + Object.keys(loadingFiles).forEach(function (file) { + const stat = loadingFiles[file]; + if (!stat.done) { + progressIsFinal = false; + } + if (!totalIsValid || stat.total === 0) { + totalIsValid = false; + total = 0; + } else { + total += stat.total; + } + loaded += stat.loaded; + }); + if (loaded !== lastProgress.loaded || total !== lastProgress.total) { + lastProgress.loaded = loaded; + lastProgress.total = total; + if (typeof progressFunc === 'function') { + progressFunc(loaded, total); + } + } + if (!progressIsFinal) { + requestAnimationFrame(animateProgress); + } + }; + + this.animateProgress = animateProgress; + + this.setProgressFunc = function (callback) { + progressFunc = callback; + }; + + this.loadPromise = function (file, fileSize, raw = false) { + return retry(loadFetch.bind(null, file, loadingFiles, fileSize, raw), DOWNLOAD_ATTEMPTS_MAX); + }; + + this.preloadedFiles = []; + this.preload = function (pathOrBuffer, destPath, fileSize) { + let buffer = null; + if (typeof pathOrBuffer === 'string') { + const me = this; + return this.loadPromise(pathOrBuffer, fileSize).then(function (buf) { + me.preloadedFiles.push({ + path: destPath || pathOrBuffer, + buffer: buf, + }); + return Promise.resolve(); + }); + } else if (pathOrBuffer instanceof ArrayBuffer) { + buffer = new Uint8Array(pathOrBuffer); + } else if (ArrayBuffer.isView(pathOrBuffer)) { + buffer = new Uint8Array(pathOrBuffer.buffer); + } + if (buffer) { + this.preloadedFiles.push({ + path: destPath, + buffer: pathOrBuffer, + }); + return Promise.resolve(); + } + return Promise.reject(new Error('Invalid object for preloading')); + }; +}; + +/** + * An object used to configure the Engine instance based on godot export options, and to override those in custom HTML + * templates if needed. + * + * @header Engine configuration + * @summary The Engine configuration object. This is just a typedef, create it like a regular object, e.g.: + * + * ``const MyConfig = { executable: 'godot', unloadAfterInit: false }`` + * + * @typedef {Object} EngineConfig + */ +const EngineConfig = {}; // eslint-disable-line no-unused-vars + +/** + * @struct + * @constructor + * @ignore + */ +const InternalConfig = function (initConfig) { // eslint-disable-line no-unused-vars + const cfg = /** @lends {InternalConfig.prototype} */ { + /** + * Whether to unload the engine automatically after the instance is initialized. + * + * @memberof EngineConfig + * @default + * @type {boolean} + */ + unloadAfterInit: true, + /** + * The HTML DOM Canvas object to use. + * + * By default, the first canvas element in the document will be used is none is specified. + * + * @memberof EngineConfig + * @default + * @type {?HTMLCanvasElement} + */ + canvas: null, + /** + * The name of the WASM file without the extension. (Set by Godot Editor export process). + * + * @memberof EngineConfig + * @default + * @type {string} + */ + executable: '', + /** + * An alternative name for the game pck to load. The executable name is used otherwise. + * + * @memberof EngineConfig + * @default + * @type {?string} + */ + mainPack: null, + /** + * Specify a language code to select the proper localization for the game. + * + * The browser locale will be used if none is specified. See complete list of + * :ref:`supported locales `. + * + * @memberof EngineConfig + * @type {?string} + * @default + */ + locale: null, + /** + * The canvas resize policy determines how the canvas should be resized by Godot. + * + * ``0`` means Godot won't do any resizing. This is useful if you want to control the canvas size from + * javascript code in your template. + * + * ``1`` means Godot will resize the canvas on start, and when changing window size via engine functions. + * + * ``2`` means Godot will adapt the canvas size to match the whole browser window. + * + * @memberof EngineConfig + * @type {number} + * @default + */ + canvasResizePolicy: 2, + /** + * The arguments to be passed as command line arguments on startup. + * + * See :ref:`command line tutorial `. + * + * **Note**: :js:meth:`startGame ` will always add the ``--main-pack`` argument. + * + * @memberof EngineConfig + * @type {Array} + * @default + */ + args: [], + /** + * When enabled, the game canvas will automatically grab the focus when the engine starts. + * + * @memberof EngineConfig + * @type {boolean} + * @default + */ + focusCanvas: true, + /** + * When enabled, this will turn on experimental virtual keyboard support on mobile. + * + * @memberof EngineConfig + * @type {boolean} + * @default + */ + experimentalVK: false, + /** + * The progressive web app service worker to install. + * @memberof EngineConfig + * @default + * @type {string} + */ + serviceWorker: '', + /** + * @ignore + * @type {Array.} + */ + persistentPaths: ['/userfs'], + /** + * @ignore + * @type {boolean} + */ + persistentDrops: false, + /** + * @ignore + * @type {Array.} + */ + gdextensionLibs: [], + /** + * @ignore + * @type {Array.} + */ + fileSizes: [], + /** + * A callback function for handling Godot's ``OS.execute`` calls. + * + * This is for example used in the Web Editor template to switch between project manager and editor, and for running the game. + * + * @callback EngineConfig.onExecute + * @param {string} path The path that Godot's wants executed. + * @param {Array.} args The arguments of the "command" to execute. + */ + /** + * @ignore + * @type {?function(string, Array.)} + */ + onExecute: null, + /** + * A callback function for being notified when the Godot instance quits. + * + * **Note**: This function will not be called if the engine crashes or become unresponsive. + * + * @callback EngineConfig.onExit + * @param {number} status_code The status code returned by Godot on exit. + */ + /** + * @ignore + * @type {?function(number)} + */ + onExit: null, + /** + * A callback function for displaying download progress. + * + * The function is called once per frame while downloading files, so the usage of ``requestAnimationFrame()`` + * is not necessary. + * + * If the callback function receives a total amount of bytes as 0, this means that it is impossible to calculate. + * Possible reasons include: + * + * - Files are delivered with server-side chunked compression + * - Files are delivered with server-side compression on Chromium + * - Not all file downloads have started yet (usually on servers without multi-threading) + * + * @callback EngineConfig.onProgress + * @param {number} current The current amount of downloaded bytes so far. + * @param {number} total The total amount of bytes to be downloaded. + */ + /** + * @ignore + * @type {?function(number, number)} + */ + onProgress: null, + /** + * A callback function for handling the standard output stream. This method should usually only be used in debug pages. + * + * By default, ``console.log()`` is used. + * + * @callback EngineConfig.onPrint + * @param {...*} [var_args] A variadic number of arguments to be printed. + */ + /** + * @ignore + * @type {?function(...*)} + */ + onPrint: function () { + console.log.apply(console, Array.from(arguments)); // eslint-disable-line no-console + }, + /** + * A callback function for handling the standard error stream. This method should usually only be used in debug pages. + * + * By default, ``console.error()`` is used. + * + * @callback EngineConfig.onPrintError + * @param {...*} [var_args] A variadic number of arguments to be printed as errors. + */ + /** + * @ignore + * @type {?function(...*)} + */ + onPrintError: function (var_args) { + console.error.apply(console, Array.from(arguments)); // eslint-disable-line no-console + }, + }; + + /** + * @ignore + * @struct + * @constructor + * @param {EngineConfig} opts + */ + function Config(opts) { + this.update(opts); + } + + Config.prototype = cfg; + + /** + * @ignore + * @param {EngineConfig} opts + */ + Config.prototype.update = function (opts) { + const config = opts || {}; + // NOTE: We must explicitly pass the default, accessing it via + // the key will fail due to closure compiler renames. + function parse(key, def) { + if (typeof (config[key]) === 'undefined') { + return def; + } + return config[key]; + } + // Module config + this.unloadAfterInit = parse('unloadAfterInit', this.unloadAfterInit); + this.onPrintError = parse('onPrintError', this.onPrintError); + this.onPrint = parse('onPrint', this.onPrint); + this.onProgress = parse('onProgress', this.onProgress); + + // Godot config + this.canvas = parse('canvas', this.canvas); + this.executable = parse('executable', this.executable); + this.mainPack = parse('mainPack', this.mainPack); + this.locale = parse('locale', this.locale); + this.canvasResizePolicy = parse('canvasResizePolicy', this.canvasResizePolicy); + this.persistentPaths = parse('persistentPaths', this.persistentPaths); + this.persistentDrops = parse('persistentDrops', this.persistentDrops); + this.experimentalVK = parse('experimentalVK', this.experimentalVK); + this.focusCanvas = parse('focusCanvas', this.focusCanvas); + this.serviceWorker = parse('serviceWorker', this.serviceWorker); + this.gdextensionLibs = parse('gdextensionLibs', this.gdextensionLibs); + this.fileSizes = parse('fileSizes', this.fileSizes); + this.args = parse('args', this.args); + this.onExecute = parse('onExecute', this.onExecute); + this.onExit = parse('onExit', this.onExit); + }; + + /** + * @ignore + * @param {string} loadPath + * @param {Response} response + */ + Config.prototype.getModuleConfig = function (loadPath, response) { + let r = response; + const gdext = this.gdextensionLibs; + return { + 'print': this.onPrint, + 'printErr': this.onPrintError, + 'thisProgram': this.executable, + 'noExitRuntime': false, + 'dynamicLibraries': [`${loadPath}.side.wasm`].concat(this.gdextensionLibs), + 'instantiateWasm': function (imports, onSuccess) { + function done(result) { + onSuccess(result['instance'], result['module']); + } + if (typeof (WebAssembly.instantiateStreaming) !== 'undefined') { + WebAssembly.instantiateStreaming(Promise.resolve(r), imports).then(done); + } else { + r.arrayBuffer().then(function (buffer) { + WebAssembly.instantiate(buffer, imports).then(done); + }); + } + r = null; + return {}; + }, + 'locateFile': function (path) { + if (!path.startsWith('godot.')) { + return path; + } else if (path.endsWith('.worker.js')) { + return `${loadPath}.worker.js`; + } else if (path.endsWith('.audio.worklet.js')) { + return `${loadPath}.audio.worklet.js`; + } else if (path.endsWith('.js')) { + return `${loadPath}.js`; + } else if (path in gdext) { + return path; + } else if (path.endsWith('.side.wasm')) { + return `${loadPath}.side.wasm`; + } else if (path.endsWith('.wasm')) { + return `${loadPath}.wasm`; + } + return path; + }, + }; + }; + + /** + * @ignore + * @param {function()} cleanup + */ + Config.prototype.getGodotConfig = function (cleanup) { + // Try to find a canvas + if (!(this.canvas instanceof HTMLCanvasElement)) { + const nodes = document.getElementsByTagName('canvas'); + if (nodes.length && nodes[0] instanceof HTMLCanvasElement) { + const first = nodes[0]; + this.canvas = /** @type {!HTMLCanvasElement} */ (first); + } + if (!this.canvas) { + throw new Error('No canvas found in page'); + } + } + // Canvas can grab focus on click, or key events won't work. + if (this.canvas.tabIndex < 0) { + this.canvas.tabIndex = 0; + } + + // Browser locale, or custom one if defined. + let locale = this.locale; + if (!locale) { + locale = navigator.languages ? navigator.languages[0] : navigator.language; + locale = locale.split('.')[0]; + } + locale = locale.replace('-', '_'); + const onExit = this.onExit; + + // Godot configuration. + return { + 'canvas': this.canvas, + 'canvasResizePolicy': this.canvasResizePolicy, + 'locale': locale, + 'persistentDrops': this.persistentDrops, + 'virtualKeyboard': this.experimentalVK, + 'focusCanvas': this.focusCanvas, + 'onExecute': this.onExecute, + 'onExit': function (p_code) { + cleanup(); // We always need to call the cleanup callback to free memory. + if (typeof (onExit) === 'function') { + onExit(p_code); + } + }, + }; + }; + return new Config(initConfig); +}; + +/** + * Projects exported for the Web expose the :js:class:`Engine` class to the JavaScript environment, that allows + * fine control over the engine's start-up process. + * + * This API is built in an asynchronous manner and requires basic understanding + * of `Promises `__. + * + * @module Engine + * @header Web export JavaScript reference + */ +const Engine = (function () { + const preloader = new Preloader(); + + let loadPromise = null; + let loadPath = ''; + let initPromise = null; + + /** + * @classdesc The ``Engine`` class provides methods for loading and starting exported projects on the Web. For default export + * settings, this is already part of the exported HTML page. To understand practical use of the ``Engine`` class, + * see :ref:`Custom HTML page for Web export `. + * + * @description Create a new Engine instance with the given configuration. + * + * @global + * @constructor + * @param {EngineConfig} initConfig The initial config for this instance. + */ + function Engine(initConfig) { // eslint-disable-line no-shadow + this.config = new InternalConfig(initConfig); + this.rtenv = null; + } + + /** + * Load the engine from the specified base path. + * + * @param {string} basePath Base path of the engine to load. + * @param {number=} [size=0] The file size if known. + * @returns {Promise} A Promise that resolves once the engine is loaded. + * + * @function Engine.load + */ + Engine.load = function (basePath, size) { + if (loadPromise == null) { + loadPath = basePath; + loadPromise = preloader.loadPromise(`${loadPath}.wasm`, size, true); + requestAnimationFrame(preloader.animateProgress); + } + return loadPromise; + }; + + /** + * Unload the engine to free memory. + * + * This method will be called automatically depending on the configuration. See :js:attr:`unloadAfterInit`. + * + * @function Engine.unload + */ + Engine.unload = function () { + loadPromise = null; + }; + + /** + * Safe Engine constructor, creates a new prototype for every new instance to avoid prototype pollution. + * @ignore + * @constructor + */ + function SafeEngine(initConfig) { + const proto = /** @lends Engine.prototype */ { + /** + * Initialize the engine instance. Optionally, pass the base path to the engine to load it, + * if it hasn't been loaded yet. See :js:meth:`Engine.load`. + * + * @param {string=} basePath Base path of the engine to load. + * @return {Promise} A ``Promise`` that resolves once the engine is loaded and initialized. + */ + init: function (basePath) { + if (initPromise) { + return initPromise; + } + if (loadPromise == null) { + if (!basePath) { + initPromise = Promise.reject(new Error('A base path must be provided when calling `init` and the engine is not loaded.')); + return initPromise; + } + Engine.load(basePath, this.config.fileSizes[`${basePath}.wasm`]); + } + const me = this; + function doInit(promise) { + // Care! Promise chaining is bogus with old emscripten versions. + // This caused a regression with the Mono build (which uses an older emscripten version). + // Make sure to test that when refactoring. + return new Promise(function (resolve, reject) { + promise.then(function (response) { + const cloned = new Response(response.clone().body, { 'headers': [['content-type', 'application/wasm']] }); + Godot(me.config.getModuleConfig(loadPath, cloned)).then(function (module) { + const paths = me.config.persistentPaths; + module['initFS'](paths).then(function (err) { + me.rtenv = module; + if (me.config.unloadAfterInit) { + Engine.unload(); + } + resolve(); + }); + }); + }); + }); + } + preloader.setProgressFunc(this.config.onProgress); + initPromise = doInit(loadPromise); + return initPromise; + }, + + /** + * Load a file so it is available in the instance's file system once it runs. Must be called **before** starting the + * instance. + * + * If not provided, the ``path`` is derived from the URL of the loaded file. + * + * @param {string|ArrayBuffer} file The file to preload. + * + * If a ``string`` the file will be loaded from that path. + * + * If an ``ArrayBuffer`` or a view on one, the buffer will used as the content of the file. + * + * @param {string=} path Path by which the file will be accessible. Required, if ``file`` is not a string. + * + * @returns {Promise} A Promise that resolves once the file is loaded. + */ + preloadFile: function (file, path) { + return preloader.preload(file, path, this.config.fileSizes[file]); + }, + + /** + * Start the engine instance using the given override configuration (if any). + * :js:meth:`startGame ` can be used in typical cases instead. + * + * This will initialize the instance if it is not initialized. For manual initialization, see :js:meth:`init `. + * The engine must be loaded beforehand. + * + * Fails if a canvas cannot be found on the page, or not specified in the configuration. + * + * @param {EngineConfig} override An optional configuration override. + * @return {Promise} Promise that resolves once the engine started. + */ + start: function (override) { + this.config.update(override); + const me = this; + return me.init().then(function () { + if (!me.rtenv) { + return Promise.reject(new Error('The engine must be initialized before it can be started')); + } + + let config = {}; + try { + config = me.config.getGodotConfig(function () { + me.rtenv = null; + }); + } catch (e) { + return Promise.reject(e); + } + // Godot configuration. + me.rtenv['initConfig'](config); + + // Preload GDExtension libraries. + if (me.config.gdextensionLibs.length > 0 && !me.rtenv['loadDynamicLibrary']) { + return Promise.reject(new Error('GDExtension libraries are not supported by this engine version. ' + + 'Enable "Extensions Support" for your export preset and/or build your custom template with "dlink_enabled=yes".')); + } + return new Promise(function (resolve, reject) { + for (const file of preloader.preloadedFiles) { + me.rtenv['copyToFS'](file.path, file.buffer); + } + preloader.preloadedFiles.length = 0; // Clear memory + me.rtenv['callMain'](me.config.args); + initPromise = null; + me.installServiceWorker(); + resolve(); + }); + }); + }, + + /** + * Start the game instance using the given configuration override (if any). + * + * This will initialize the instance if it is not initialized. For manual initialization, see :js:meth:`init `. + * + * This will load the engine if it is not loaded, and preload the main pck. + * + * This method expects the initial config (or the override) to have both the :js:attr:`executable` and :js:attr:`mainPack` + * properties set (normally done by the editor during export). + * + * @param {EngineConfig} override An optional configuration override. + * @return {Promise} Promise that resolves once the game started. + */ + startGame: function (override) { + this.config.update(override); + // Add main-pack argument. + const exe = this.config.executable; + const pack = this.config.mainPack || `${exe}.pck`; + this.config.args = ['--main-pack', pack].concat(this.config.args); + // Start and init with execName as loadPath if not inited. + const me = this; + return Promise.all([ + this.init(exe), + this.preloadFile(pack, pack), + ]).then(function () { + return me.start.apply(me); + }); + }, + + /** + * Create a file at the specified ``path`` with the passed as ``buffer`` in the instance's file system. + * + * @param {string} path The location where the file will be created. + * @param {ArrayBuffer} buffer The content of the file. + */ + copyToFS: function (path, buffer) { + if (this.rtenv == null) { + throw new Error('Engine must be inited before copying files'); + } + this.rtenv['copyToFS'](path, buffer); + }, + + /** + * Request that the current instance quit. + * + * This is akin the user pressing the close button in the window manager, and will + * have no effect if the engine has crashed, or is stuck in a loop. + * + */ + requestQuit: function () { + if (this.rtenv) { + this.rtenv['request_quit'](); + } + }, + + /** + * Install the progressive-web app service worker. + * @returns {Promise} The service worker registration promise. + */ + installServiceWorker: function () { + if (this.config.serviceWorker && 'serviceWorker' in navigator) { + return navigator.serviceWorker.register(this.config.serviceWorker); + } + return Promise.resolve(); + }, + }; + + Engine.prototype = proto; + // Closure compiler exported instance methods. + Engine.prototype['init'] = Engine.prototype.init; + Engine.prototype['preloadFile'] = Engine.prototype.preloadFile; + Engine.prototype['start'] = Engine.prototype.start; + Engine.prototype['startGame'] = Engine.prototype.startGame; + Engine.prototype['copyToFS'] = Engine.prototype.copyToFS; + Engine.prototype['requestQuit'] = Engine.prototype.requestQuit; + Engine.prototype['installServiceWorker'] = Engine.prototype.installServiceWorker; + // Also expose static methods as instance methods + Engine.prototype['load'] = Engine.load; + Engine.prototype['unload'] = Engine.unload; + return new Engine(initConfig); + } + + // Closure compiler exported static methods. + SafeEngine['load'] = Engine.load; + SafeEngine['unload'] = Engine.unload; + + // Feature-detection utilities. + SafeEngine['isWebGLAvailable'] = Features.isWebGLAvailable; + SafeEngine['isFetchAvailable'] = Features.isFetchAvailable; + SafeEngine['isSecureContext'] = Features.isSecureContext; + SafeEngine['isCrossOriginIsolated'] = Features.isCrossOriginIsolated; + SafeEngine['isSharedArrayBufferAvailable'] = Features.isSharedArrayBufferAvailable; + SafeEngine['isAudioWorkletAvailable'] = Features.isAudioWorkletAvailable; + SafeEngine['getMissingFeatures'] = Features.getMissingFeatures; + + return SafeEngine; +}()); +if (typeof window !== 'undefined') { + window['Engine'] = Engine; +} diff --git a/early_access/index.manifest.json b/early_access/index.manifest.json new file mode 100644 index 000000000..35e5a39f2 --- /dev/null +++ b/early_access/index.manifest.json @@ -0,0 +1 @@ +{"background_color":"#000000","display":"standalone","icons":[{"sizes":"144x144","src":"index.144x144.png","type":"image/png"},{"sizes":"180x180","src":"index.180x180.png","type":"image/png"},{"sizes":"512x512","src":"index.512x512.png","type":"image/png"}],"name":"Pixelorama","orientation":"any","start_url":"./index.html"} \ No newline at end of file diff --git a/early_access/index.offline.html b/early_access/index.offline.html new file mode 100644 index 000000000..ae5298ae4 --- /dev/null +++ b/early_access/index.offline.html @@ -0,0 +1,41 @@ + + + + + + + You are offline + + + +

You are offline

+

This application requires an Internet connection to run for the first time.

+

Press the button below to try reloading:

+ + + + diff --git a/early_access/index.pck b/early_access/index.pck new file mode 100644 index 0000000000000000000000000000000000000000..d0c19efcaf9b69377a436bd69d346de87e293019 GIT binary patch literal 4659904 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

OJ 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

~2At^^S)grbqJ!@>zrN(z1nM%*04Deyk*e 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≈7b;5Sb8Xi38oVHl5%2T$PeVA_M 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Ð20NWn>*1in`xg%(uCTsW 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