
var Godot = (() => {
  var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
  
  return (
function(Godot) {
  Godot = Godot || {};


var aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};function ba(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error("Cannot find global object");}var ca=ba(this);
function da(a,b){if(b)a:{var c=ca;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];if(!(e in c))break a;c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}da("Object.values",function(a){return a?a:function(b){var c=[],d;for(d in b)Object.prototype.hasOwnProperty.call(b,d)&&c.push(b[d]);return c}});
da("Array.prototype.includes",function(a){return a?a:function(b,c){var d=this;d instanceof String&&(d=String(d));var e=d.length;c=c||0;for(0>c&&(c=Math.max(c+e,0));c<e;c++){var f=d[c];if(f===b||Object.is(f,b))return!0}return!1}});
da("String.prototype.padStart",function(a){return a?a:function(b,c){if(null==this)throw new TypeError("The 'this' value for String.prototype.padStart must not be null or undefined");b-=this.length;c=void 0!==c?String(c):" ";return(0<b&&c?c.repeat(Math.ceil(b/c.length)).substring(0,b):"")+this}});function h(){m.buffer!=ea&&fa(m.buffer);return ha}function ia(){m.buffer!=ea&&fa(m.buffer);return la}function ma(){m.buffer!=ea&&fa(m.buffer);return na}function oa(){m.buffer!=ea&&fa(m.buffer);return pa}
function q(){m.buffer!=ea&&fa(m.buffer);return sa}function t(){m.buffer!=ea&&fa(m.buffer);return ta}function u(){m.buffer!=ea&&fa(m.buffer);return ua}function va(){m.buffer!=ea&&fa(m.buffer);return wa}var w;w||(w=typeof Godot !== 'undefined' ? Godot : {});var xa,ya;w.ready=new Promise(function(a,b){xa=a;ya=b});
var za=Object.assign({},w),Aa=[],Ba="./this.program",Ca=(a,b)=>{throw b;},Da="object"==typeof window,Ea="function"==typeof importScripts,Fa="object"==typeof process&&"object"==typeof process.lj&&"string"==typeof process.lj.node,y=w.ENVIRONMENT_IS_PTHREAD||!1,Ga="";function Ha(a){return w.locateFile?w.locateFile(a,Ga):Ga+a}var Ia;
if(Da||Ea)Ea?Ga=self.location.href:"undefined"!=typeof document&&document.currentScript&&(Ga=document.currentScript.src),_scriptDir&&(Ga=_scriptDir),0!==Ga.indexOf("blob:")?Ga=Ga.substr(0,Ga.replace(/[?#].*/,"").lastIndexOf("/")+1):Ga="",Ea&&(Ia=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});var Ja=w.print||console.log.bind(console),z=w.printErr||console.warn.bind(console);Object.assign(w,za);za=null;w.arguments&&(Aa=w.arguments);
w.thisProgram&&(Ba=w.thisProgram);w.quit&&(Ca=w.quit);var Ka=0,La;w.wasmBinary&&(La=w.wasmBinary);var noExitRuntime=w.noExitRuntime||!1;"object"!=typeof WebAssembly&&Ma("no native wasm support detected");var m,Na,Oa=!1,Pa,Qa="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;
function Ra(a,b,c){var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.buffer&&Qa)return Qa.decode(a.buffer instanceof SharedArrayBuffer?a.slice(b,c):a.subarray(b,c));for(d="";b<c;){var e=a[b++];if(e&128){var f=a[b++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|f);else{var g=a[b++]&63;e=224==(e&240)?(e&15)<<12|f<<6|g:(e&7)<<18|f<<12|g<<6|a[b++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d}
function C(a,b){return a?Ra(ia(),a,b):""}function Sa(a,b,c,d){if(!(0<d))return 0;var e=c;d=c+d-1;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var k=a.charCodeAt(++f);g=65536+((g&1023)<<10)|k&1023}if(127>=g){if(c>=d)break;b[c++]=g}else{if(2047>=g){if(c+1>=d)break;b[c++]=192|g>>6}else{if(65535>=g){if(c+2>=d)break;b[c++]=224|g>>12}else{if(c+3>=d)break;b[c++]=240|g>>18;b[c++]=128|g>>12&63}b[c++]=128|g>>6&63}b[c++]=128|g&63}}b[c]=0;return c-e}
function Ta(a,b,c){return Sa(a,ia(),b,c)}function Ua(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);127>=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b}var ea,ha,la,na,pa,sa,ta,ua,wa;y&&(ea=w.buffer);function fa(a){ea=a;w.HEAP8=ha=new Int8Array(a);w.HEAP16=na=new Int16Array(a);w.HEAP32=sa=new Int32Array(a);w.HEAPU8=la=new Uint8Array(a);w.HEAPU16=pa=new Uint16Array(a);w.HEAPU32=ta=new Uint32Array(a);w.HEAPF32=ua=new Float32Array(a);w.HEAPF64=wa=new Float64Array(a)}
var Va=w.INITIAL_MEMORY||67108864;
if(y)m=w.wasmMemory,ea=w.buffer;else if(w.wasmMemory)m=w.wasmMemory;else if(m=new WebAssembly.Memory({initial:Va/65536,maximum:32768,shared:!0}),!(m.buffer instanceof SharedArrayBuffer))throw z("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),Fa&&console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)"),Error("bad memory");
m&&(ea=m.buffer);Va=ea.byteLength;fa(ea);var Wa,Xa=[],Ya=[],Za=[],$a=[],ab=[],bb=!1,cb=0;function db(){return noExitRuntime||0<cb}
function eb(){y||(w.noFSInit||fb||(fb=!0,gb(),w.stdin=w.stdin,w.stdout=w.stdout,w.stderr=w.stderr,w.stdin?hb("stdin",w.stdin):jb("/dev/tty","/dev/stdin"),w.stdout?hb("stdout",null,w.stdout):jb("/dev/tty","/dev/stdout"),w.stderr?hb("stderr",null,w.stderr):jb("/dev/tty1","/dev/stderr"),kb("/dev/stdin",0),kb("/dev/stdout",1),kb("/dev/stderr",1)),lb=!1,D.root=mb(D,null),nb(Ya))}function ob(){var a=w.preRun.shift();Xa.unshift(a)}var pb=0,qb=null,rb=null;
function Ma(a){if(y)postMessage({cmd:"onAbort",arg:a});else if(w.onAbort)w.onAbort(a);a="Aborted("+a+")";z(a);Oa=!0;Pa=1;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ya(a);throw a;}function sb(){return tb.startsWith("data:application/octet-stream;base64,")}var tb;tb="godot.web.opt.tools.wasm32.wasm";sb()||(tb=Ha(tb));
function ub(){var a=tb;try{if(a==tb&&La)return new Uint8Array(La);if(Ia)return Ia(a);throw"both async and sync fetching of the wasm failed";}catch(b){Ma(b)}}function vb(){return La||!Da&&!Ea||"function"!=typeof fetch?Promise.resolve().then(function(){return ub()}):fetch(tb,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+tb+"'";return a.arrayBuffer()}).catch(function(){return ub()})}var E,F,wb={};
function xb(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}function yb(a){(a=H.Qf[a])||Ma();H.Oh(a)}function zb(a){var b=H.wi();if(!b)return 6;H.xg.push(b);H.Qf[a.Xf]=b;b.Xf=a.Xf;var c={cmd:"run",start_routine:a.Zi,arg:a.sh,pthread_ptr:a.Xf};b.wg=()=>{c.time=performance.now();b.postMessage(c,a.gj)};b.loaded&&(b.wg(),delete b.wg);return 0}
var Ab=(a,b)=>{for(var c=0,d=a.length-1;0<=d;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a},Bb=a=>{var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=Ab(a.split("/").filter(d=>!!d),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a},Cb=a=>{var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b},Db=a=>
{if("/"===a)return"/";a=Bb(a);a=a.replace(/\/$/,"");var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)};function Eb(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var a=new Uint8Array(1);return()=>{crypto.getRandomValues(a);return a[0]}}return()=>Ma("randomDevice")}
function Fb(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:Gb;if("string"!=typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=Ab(a.split("/").filter(d=>!!d),!b).join("/");return(b?"/":"")+a||"."}
var Hb=(a,b)=>{function c(g){for(var k=0;k<g.length&&""===g[k];k++);for(var l=g.length-1;0<=l&&""===g[l];l--);return k>l?[]:g.slice(k,l-k+1)}a=Fb(a).substr(1);b=Fb(b).substr(1);a=c(a.split("/"));b=c(b.split("/"));for(var d=Math.min(a.length,b.length),e=d,f=0;f<d;f++)if(a[f]!==b[f]){e=f;break}d=[];for(f=e;f<a.length;f++)d.push("..");d=d.concat(b.slice(e));return d.join("/")};function Ib(a,b){var c=Array(Ua(a)+1);a=Sa(a,c,0,c.length);b&&(c.length=a);return c}var Jb=[];
function Kb(a,b){Jb[a]={input:[],Hf:[],jg:b};Lb(a,Mb)}
var Mb={open:function(a){var b=Jb[a.node.tg];if(!b)throw new I(43);a.Cf=b;a.seekable=!1},close:function(a){a.Cf.jg.flush(a.Cf)},flush:function(a){a.Cf.jg.flush(a.Cf)},read:function(a,b,c,d){if(!a.Cf||!a.Cf.jg.Dh)throw new I(60);for(var e=0,f=0;f<d;f++){try{var g=a.Cf.jg.Dh(a.Cf)}catch(k){throw new I(29);}if(void 0===g&&0===e)throw new I(6);if(null===g||void 0===g)break;e++;b[c+f]=g}e&&(a.node.timestamp=Date.now());return e},write:function(a,b,c,d){if(!a.Cf||!a.Cf.jg.gh)throw new I(60);try{for(var e=
0;e<d;e++)a.Cf.jg.gh(a.Cf,b[c+e])}catch(f){throw new I(29);}d&&(a.node.timestamp=Date.now());return e}},Nb={Dh:function(a){if(!a.input.length){var b=null;"undefined"!=typeof window&&"function"==typeof window.prompt?(b=window.prompt("Input: "),null!==b&&(b+="\n")):"function"==typeof readline&&(b=readline(),null!==b&&(b+="\n"));if(!b)return null;a.input=Ib(b,!0)}return a.input.shift()},gh:function(a,b){null===b||10===b?(Ja(Ra(a.Hf,0)),a.Hf=[]):0!=b&&a.Hf.push(b)},flush:function(a){a.Hf&&0<a.Hf.length&&
(Ja(Ra(a.Hf,0)),a.Hf=[])}},Ob={gh:function(a,b){null===b||10===b?(z(Ra(a.Hf,0)),a.Hf=[]):0!=b&&a.Hf.push(b)},flush:function(a){a.Hf&&0<a.Hf.length&&(z(Ra(a.Hf,0)),a.Hf=[])}},J={Pf:null,Ef:function(){return J.createNode(null,"/",16895,0)},createNode:function(a,b,c,d){if(24576===(c&61440)||4096===(c&61440))throw new I(63);J.Pf||(J.Pf={dir:{node:{Of:J.yf.Of,If:J.yf.If,pg:J.yf.pg,Kg:J.yf.Kg,Og:J.yf.Og,Vg:J.yf.Vg,Qg:J.yf.Qg,Ng:J.yf.Ng,Rg:J.yf.Rg},stream:{dg:J.Af.dg}},file:{node:{Of:J.yf.Of,If:J.yf.If},
stream:{dg:J.Af.dg,read:J.Af.read,write:J.Af.write,qh:J.Af.qh,Gh:J.Af.Gh,Hh:J.Af.Hh}},link:{node:{Of:J.yf.Of,If:J.yf.If,vg:J.yf.vg},stream:{}},vh:{node:{Of:J.yf.Of,If:J.yf.If},stream:Pb}});c=Qb(a,b,c,d);16384===(c.mode&61440)?(c.yf=J.Pf.dir.node,c.Af=J.Pf.dir.stream,c.Bf={}):32768===(c.mode&61440)?(c.yf=J.Pf.file.node,c.Af=J.Pf.file.stream,c.Df=0,c.Bf=null):40960===(c.mode&61440)?(c.yf=J.Pf.link.node,c.Af=J.Pf.link.stream):8192===(c.mode&61440)&&(c.yf=J.Pf.vh.node,c.Af=J.Pf.vh.stream);c.timestamp=
Date.now();a&&(a.Bf[b]=c,a.timestamp=c.timestamp);return c},ui:function(a){return a.Bf?a.Bf.subarray?a.Bf.subarray(0,a.Df):new Uint8Array(a.Bf):new Uint8Array(0)},Bh:function(a,b){var c=a.Bf?a.Bf.length:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.Bf,a.Bf=new Uint8Array(b),0<a.Df&&a.Bf.set(c.subarray(0,a.Df),0))},Wi:function(a,b){if(a.Df!=b)if(0==b)a.Bf=null,a.Df=0;else{var c=a.Bf;a.Bf=new Uint8Array(b);c&&a.Bf.set(c.subarray(0,Math.min(b,a.Df)));a.Df=b}},yf:{Of:function(a){var b=
{};b.oi=8192===(a.mode&61440)?a.id:1;b.dh=a.id;b.mode=a.mode;b.Li=1;b.uid=0;b.Ci=0;b.tg=a.tg;16384===(a.mode&61440)?b.size=4096:32768===(a.mode&61440)?b.size=a.Df:40960===(a.mode&61440)?b.size=a.link.length:b.size=0;b.th=new Date(a.timestamp);b.rg=new Date(a.timestamp);b.xh=new Date(a.timestamp);b.fi=4096;b.gi=Math.ceil(b.size/b.fi);return b},If:function(a,b){void 0!==b.mode&&(a.mode=b.mode);void 0!==b.timestamp&&(a.timestamp=b.timestamp);void 0!==b.size&&J.Wi(a,b.size)},pg:function(){throw Rb[44];
},Kg:function(a,b,c,d){return J.createNode(a,b,c,d)},Og:function(a,b,c){if(16384===(a.mode&61440)){try{var d=Sb(b,c)}catch(f){}if(d)for(var e in d.Bf)throw new I(55);}delete a.parent.Bf[a.name];a.parent.timestamp=Date.now();a.name=c;b.Bf[c]=a;b.timestamp=a.parent.timestamp;a.parent=b},Vg:function(a,b){delete a.Bf[b];a.timestamp=Date.now()},Qg:function(a,b){var c=Sb(a,b),d;for(d in c.Bf)throw new I(55);delete a.Bf[b];a.timestamp=Date.now()},Ng:function(a){var b=[".",".."],c;for(c in a.Bf)a.Bf.hasOwnProperty(c)&&
b.push(c);return b},Rg:function(a,b,c){a=J.createNode(a,b,41471,0);a.link=c;return a},vg:function(a){if(40960!==(a.mode&61440))throw new I(28);return a.link}},Af:{read:function(a,b,c,d,e){var f=a.node.Bf;if(e>=a.node.Df)return 0;a=Math.min(a.node.Df-e,d);if(8<a&&f.subarray)b.set(f.subarray(e,e+a),c);else for(d=0;d<a;d++)b[c+d]=f[e+d];return a},write:function(a,b,c,d,e,f){b.buffer===h().buffer&&(f=!1);if(!d)return 0;a=a.node;a.timestamp=Date.now();if(b.subarray&&(!a.Bf||a.Bf.subarray)){if(f)return a.Bf=
b.subarray(c,c+d),a.Df=d;if(0===a.Df&&0===e)return a.Bf=b.slice(c,c+d),a.Df=d;if(e+d<=a.Df)return a.Bf.set(b.subarray(c,c+d),e),d}J.Bh(a,e+d);if(a.Bf.subarray&&b.subarray)a.Bf.set(b.subarray(c,c+d),e);else for(f=0;f<d;f++)a.Bf[e+f]=b[c+f];a.Df=Math.max(a.Df,e+d);return d},dg:function(a,b,c){1===c?b+=a.position:2===c&&32768===(a.node.mode&61440)&&(b+=a.node.Df);if(0>b)throw new I(28);return b},qh:function(a,b,c){J.Bh(a.node,b+c);a.node.Df=Math.max(a.node.Df,b+c)},Gh:function(a,b,c,d,e){if(32768!==
(a.node.mode&61440))throw new I(43);a=a.node.Bf;if(e&2||a.buffer!==ea){if(0<c||c+b<a.length)a.subarray?a=a.subarray(c,c+b):a=Array.prototype.slice.call(a,c,c+b);c=!0;Ma();b=void 0;if(!b)throw new I(48);h().set(a,b)}else c=!1,b=a.byteOffset;return{fg:b,nj:c}},Hh:function(a,b,c,d,e){if(32768!==(a.node.mode&61440))throw new I(43);if(e&2)return 0;J.Af.write(a,b,0,d,c,!1);return 0}}},K={ag:{},indexedDB:()=>{if("undefined"!=typeof indexedDB)return indexedDB;var a=null;"object"==typeof window&&(a=window.indexedDB||
window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB);a||Ma("IDBFS used, but indexedDB not supported");return a},ai:21,$f:"FILE_DATA",Ef:function(a){return J.Ef.apply(null,arguments)},Rh:(a,b,c)=>{K.vi(a,(d,e)=>{if(d)return c(d);K.xi(a,(f,g)=>{if(f)return c(f);K.Si(b?g:e,b?e:g,c)})})},Pi:()=>{Object.values(K.ag).forEach(a=>a.close());K.ag={}},ti:(a,b)=>{var c=K.ag[a];if(c)return b(null,c);try{var d=K.indexedDB().open(a,K.ai)}catch(e){return b(e)}if(!d)return b("Unable to connect to IndexedDB");
d.onupgradeneeded=e=>{var f=e.target.result;e=e.target.transaction;var g;f.objectStoreNames.contains(K.$f)?g=e.objectStore(K.$f):g=f.createObjectStore(K.$f);g.indexNames.contains("timestamp")||g.createIndex("timestamp","timestamp",{unique:!1})};d.onsuccess=()=>{c=d.result;K.ag[a]=c;b(null,c)};d.onerror=e=>{b(this.error);e.preventDefault()}},vi:(a,b)=>{function c(k){return"."!==k&&".."!==k}function d(k){return l=>Bb(k+"/"+l)}var e={};for(a=Tb(a.qg).filter(c).map(d(a.qg));a.length;){var f=a.pop();try{var g=
Ub(f)}catch(k){return b(k)}16384===(g.mode&61440)&&a.push.apply(a,Tb(f).filter(c).map(d(f)));e[f]={timestamp:g.rg}}return b(null,{type:"local",entries:e})},xi:(a,b)=>{var c={};K.ti(a.qg,(d,e)=>{if(d)return b(d);try{var f=e.transaction([K.$f],"readonly");f.onerror=g=>{b(this.error);g.preventDefault()};f.objectStore(K.$f).index("timestamp").openKeyCursor().onsuccess=g=>{g=g.target.result;if(!g)return b(null,{type:"remote",db:e,entries:c});c[g.primaryKey]={timestamp:g.key};g.continue()}}catch(g){return b(g)}})},
Ji:(a,b)=>{try{var c=Vb(a).node;var d=Ub(a)}catch(e){return b(e)}return 16384===(d.mode&61440)?b(null,{timestamp:d.rg,mode:d.mode}):32768===(d.mode&61440)?(c.Bf=J.ui(c),b(null,{timestamp:d.rg,mode:d.mode,contents:c.Bf})):b(Error("node type not supported"))},$i:(a,b,c)=>{try{if(16384===(b.mode&61440))Wb(a,b.mode);else if(32768===(b.mode&61440))Xb(a,b.contents,{uh:!0});else return c(Error("node type not supported"));Yb(a,b.mode);var d=b.timestamp,e=b.timestamp,f=Vb(a,{Zf:!0}).node;f.yf.If(f,{timestamp:Math.max(d,
e)})}catch(g){return c(g)}c(null)},Ui:(a,b)=>{try{var c=Ub(a);16384===(c.mode&61440)?Zb(a):32768===(c.mode&61440)&&$b(a)}catch(d){return b(d)}b(null)},Ki:(a,b,c)=>{a=a.get(b);a.onsuccess=d=>{c(null,d.target.result)};a.onerror=d=>{c(this.error);d.preventDefault()}},aj:(a,b,c,d)=>{try{var e=a.put(c,b)}catch(f){d(f);return}e.onsuccess=()=>{d(null)};e.onerror=f=>{d(this.error);f.preventDefault()}},Vi:(a,b,c)=>{a=a.delete(b);a.onsuccess=()=>{c(null)};a.onerror=d=>{c(this.error);d.preventDefault()}},Si:(a,
b,c)=>{function d(r){if(r&&!k)return k=!0,c(r)}var e=0,f=[];Object.keys(a.entries).forEach(function(r){var x=a.entries[r],A=b.entries[r];A&&x.timestamp.getTime()==A.timestamp.getTime()||(f.push(r),e++)});var g=[];Object.keys(b.entries).forEach(function(r){a.entries[r]||(g.push(r),e++)});if(!e)return c(null);var k=!1,l=("remote"===a.type?a.db:b.db).transaction([K.$f],"readwrite"),p=l.objectStore(K.$f);l.onerror=r=>{d(this.error);r.preventDefault()};l.oncomplete=()=>{k||c(null)};f.sort().forEach(r=>
{"local"===b.type?K.Ki(p,r,(x,A)=>{if(x)return d(x);K.$i(r,A,d)}):K.Ji(r,(x,A)=>{if(x)return d(x);K.aj(p,r,A,d)})});g.sort().reverse().forEach(r=>{"local"===b.type?K.Ui(r,d):K.Vi(p,r,d)})}},bc=null,cc={},dc=[],ec=1,fc=null,Gb="/",lb=!0,I=null,Rb={},gc=0,Vb=(a,b={})=>{a=Fb(Gb,a);if(!a)return{path:"",node:null};b=Object.assign({ah:!0,ih:0},b);if(8<b.ih)throw new I(32);a=Ab(a.split("/").filter(g=>!!g),!1);for(var c=bc,d="/",e=0;e<a.length;e++){var f=e===a.length-1;if(f&&b.parent)break;c=Sb(c,a[e]);d=
Bb(d+"/"+a[e]);c.Nf&&(!f||f&&b.ah)&&(c=c.Nf.root);if(!f||b.Zf)for(f=0;40960===(c.mode&61440);)if(c=hc(d),d=Fb(Cb(d),c),c=Vb(d,{ih:b.ih+1}).node,40<f++)throw new I(32);}return{path:d,node:c}},ic=a=>{for(var b;;){if(a===a.parent)return a=a.Ef.qg,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}},jc=(a,b)=>{for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%fc.length},kc=a=>{var b=jc(a.parent.id,a.name);a.eg=fc[b];fc[b]=a},lc=a=>{var b=jc(a.parent.id,a.name);
if(fc[b]===a)fc[b]=a.eg;else for(b=fc[b];b;){if(b.eg===a){b.eg=a.eg;break}b=b.eg}},Sb=(a,b)=>{var c;if(c=(c=mc(a,"x"))?c:a.yf.pg?0:2)throw new I(c,a);for(c=fc[jc(a.id,b)];c;c=c.eg){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.yf.pg(a,b)},Qb=(a,b,c,d)=>{a=new nc(a,b,c,d);kc(a);return a},oc={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},pc=a=>{var b=["r","w","rw"][a&3];a&512&&(b+="w");return b},mc=(a,b)=>{if(lb)return 0;if(!b.includes("r")||a.mode&292){if(b.includes("w")&&!(a.mode&146)||
b.includes("x")&&!(a.mode&73))return 2}else return 2;return 0},qc=(a,b)=>{try{return Sb(a,b),20}catch(c){}return mc(a,"wx")},rc=(a,b,c)=>{try{var d=Sb(a,b)}catch(e){return e.xf}if(a=mc(a,"wx"))return a;if(c){if(16384!==(d.mode&61440))return 54;if(d===d.parent||ic(d)===Gb)return 10}else if(16384===(d.mode&61440))return 31;return 0},sc=(a=0)=>{for(;4096>=a;a++)if(!dc[a])return a;throw new I(33);},uc=(a,b)=>{tc||(tc=function(){this.Yf={}},tc.prototype={},Object.defineProperties(tc.prototype,{object:{get:function(){return this.node},
set:function(c){this.node=c}},flags:{get:function(){return this.Yf.flags},set:function(c){this.Yf.flags=c}},position:{get:function(){return this.Yf.position},set:function(c){this.Yf.position=c}}}));a=Object.assign(new tc,a);b=sc(b);a.Gf=b;return dc[b]=a},Pb={open:a=>{a.Af=cc[a.node.tg].Af;a.Af.open&&a.Af.open(a)},dg:()=>{throw new I(70);}},Lb=(a,b)=>{cc[a]={Af:b}},vc=a=>{var b=[];for(a=[a];a.length;){var c=a.pop();b.push(c);a.push.apply(a,c.Lg)}return b},wc=(a,b)=>{function c(g){gc--;return b(g)}
function d(g){if(g){if(!d.ri)return d.ri=!0,c(g)}else++f>=e.length&&c(null)}"function"==typeof a&&(b=a,a=!1);gc++;1<gc&&z("warning: "+gc+" FS.syncfs operations in flight at once, probably just doing extra work");var e=vc(bc.Ef),f=0;e.forEach(g=>{if(!g.type.Rh)return d(null);g.type.Rh(g,a,d)})},mb=(a,b)=>{var c="/"===b,d=!b;if(c&&bc)throw new I(10);if(!c&&!d){var e=Vb(b,{ah:!1});b=e.path;e=e.node;if(e.Nf)throw new I(10);if(16384!==(e.mode&61440))throw new I(54);}b={type:a,Hj:{},qg:b,Lg:[]};a=a.Ef(b);
a.Ef=b;b.root=a;c?bc=a:e&&(e.Nf=b,e.Ef&&e.Ef.Lg.push(b));return a},xc=a=>{a=Vb(a,{ah:!1});if(!a.node.Nf)throw new I(28);a=a.node;var b=a.Nf,c=vc(b);Object.keys(fc).forEach(d=>{for(d=fc[d];d;){var e=d.eg;c.includes(d.Ef)&&lc(d);d=e}});a.Nf=null;a.Ef.Lg.splice(a.Ef.Lg.indexOf(b),1)},yc=(a,b,c)=>{var d=Vb(a,{parent:!0}).node;a=Db(a);if(!a||"."===a||".."===a)throw new I(28);var e=qc(d,a);if(e)throw new I(e);if(!d.yf.Kg)throw new I(63);return d.yf.Kg(d,a,b,c)},zc=(a,b)=>yc(a,(void 0!==b?b:511)&1023|16384,
0),Wb=(a,b)=>{a=a.split("/");for(var c="",d=0;d<a.length;++d)if(a[d]){c+="/"+a[d];try{zc(c,b)}catch(e){if(20!=e.xf)throw e;}}},Ac=(a,b,c)=>{"undefined"==typeof c&&(c=b,b=438);yc(a,b|8192,c)},jb=(a,b)=>{if(!Fb(a))throw new I(44);var c=Vb(b,{parent:!0}).node;if(!c)throw new I(44);b=Db(b);var d=qc(c,b);if(d)throw new I(d);if(!c.yf.Rg)throw new I(63);c.yf.Rg(c,b,a)},Zb=a=>{var b=Vb(a,{parent:!0}).node;a=Db(a);var c=Sb(b,a),d=rc(b,a,!0);if(d)throw new I(d);if(!b.yf.Qg)throw new I(63);if(c.Nf)throw new I(10);
b.yf.Qg(b,a);lc(c)},Tb=a=>{a=Vb(a,{Zf:!0}).node;if(!a.yf.Ng)throw new I(54);return a.yf.Ng(a)},$b=a=>{var b=Vb(a,{parent:!0}).node;if(!b)throw new I(44);a=Db(a);var c=Sb(b,a),d=rc(b,a,!1);if(d)throw new I(d);if(!b.yf.Vg)throw new I(63);if(c.Nf)throw new I(10);b.yf.Vg(b,a);lc(c)},hc=a=>{a=Vb(a).node;if(!a)throw new I(44);if(!a.yf.vg)throw new I(28);return Fb(ic(a.parent),a.yf.vg(a))},Ub=(a,b)=>{a=Vb(a,{Zf:!b}).node;if(!a)throw new I(44);if(!a.yf.Of)throw new I(63);return a.yf.Of(a)},Bc=a=>Ub(a,!0),
Yb=(a,b)=>{a="string"==typeof a?Vb(a,{Zf:!0}).node:a;if(!a.yf.If)throw new I(63);a.yf.If(a,{mode:b&4095|a.mode&-4096,timestamp:Date.now()})},kb=(a,b,c)=>{if(""===a)throw new I(44);if("string"==typeof b){var d=oc[b];if("undefined"==typeof d)throw Error("Unknown file open mode: "+b);b=d}c=b&64?("undefined"==typeof c?438:c)&4095|32768:0;if("object"==typeof a)var e=a;else{a=Bb(a);try{e=Vb(a,{Zf:!(b&131072)}).node}catch(f){}}d=!1;if(b&64)if(e){if(b&128)throw new I(20);}else e=yc(a,c,0),d=!0;if(!e)throw new I(44);
8192===(e.mode&61440)&&(b&=-513);if(b&65536&&16384!==(e.mode&61440))throw new I(54);if(!d&&(c=e?40960===(e.mode&61440)?32:16384===(e.mode&61440)&&("r"!==pc(b)||b&512)?31:mc(e,pc(b)):44))throw new I(c);if(b&512&&!d){c=e;c="string"==typeof c?Vb(c,{Zf:!0}).node:c;if(!c.yf.If)throw new I(63);if(16384===(c.mode&61440))throw new I(31);if(32768!==(c.mode&61440))throw new I(28);if(d=mc(c,"w"))throw new I(d);c.yf.If(c,{size:0,timestamp:Date.now()})}b&=-131713;e=uc({node:e,path:ic(e),flags:b,seekable:!0,position:0,
Af:e.Af,ij:[],error:!1});e.Af.open&&e.Af.open(e);!w.logReadFiles||b&1||(Cc||(Cc={}),a in Cc||(Cc[a]=1));return e},Dc=a=>{if(null===a.Gf)throw new I(8);a.bg&&(a.bg=null);try{a.Af.close&&a.Af.close(a)}catch(b){throw b;}finally{dc[a.Gf]=null}a.Gf=null},Ec=(a,b,c)=>{if(null===a.Gf)throw new I(8);if(!a.seekable||!a.Af.dg)throw new I(70);if(0!=c&&1!=c&&2!=c)throw new I(28);a.position=a.Af.dg(a,b,c);a.ij=[];return a.position},Fc=(a,b,c,d,e,f)=>{if(0>d||0>e)throw new I(28);if(null===a.Gf)throw new I(8);if(0===
(a.flags&2097155))throw new I(8);if(16384===(a.node.mode&61440))throw new I(31);if(!a.Af.write)throw new I(28);a.seekable&&a.flags&1024&&Ec(a,0,2);var g="undefined"!=typeof e;if(!g)e=a.position;else if(!a.seekable)throw new I(70);b=a.Af.write(a,b,c,d,e,f);g||(a.position+=b);return b},Xb=(a,b,c={})=>{c.flags=c.flags||577;a=kb(a,c.flags,c.mode);if("string"==typeof b){var d=new Uint8Array(Ua(b)+1);b=Sa(b,d,0,d.length);Fc(a,d,0,b,void 0,c.uh)}else if(ArrayBuffer.isView(b))Fc(a,b,0,b.byteLength,void 0,
c.uh);else throw Error("Unsupported data type");Dc(a)},gb=()=>{I||(I=function(a,b){this.node=b;this.Xi=function(c){this.xf=c};this.Xi(a);this.message="FS error"},I.prototype=Error(),I.prototype.constructor=I,[44].forEach(a=>{Rb[a]=new I(a);Rb[a].stack="<generic error, no stack>"}))},fb,Gc=(a,b)=>{var c=0;a&&(c|=365);b&&(c|=146);return c},hb=(a,b,c)=>{a=Bb("/dev/"+a);var d=Gc(!!b,!!c);Hc||(Hc=64);var e=Hc++<<8|0;Lb(e,{open:f=>{f.seekable=!1},close:()=>{c&&c.buffer&&c.buffer.length&&c(10)},read:(f,
g,k,l)=>{for(var p=0,r=0;r<l;r++){try{var x=b()}catch(A){throw new I(29);}if(void 0===x&&0===p)throw new I(6);if(null===x||void 0===x)break;p++;g[k+r]=x}p&&(f.node.timestamp=Date.now());return p},write:(f,g,k,l)=>{for(var p=0;p<l;p++)try{c(g[k+p])}catch(r){throw new I(29);}l&&(f.node.timestamp=Date.now());return p}});Ac(a,d,e)},Hc,M={},tc,Cc;
function Ic(a,b,c){if("/"===b.charAt(0))return b;if(-100===a)a=Gb;else{a=dc[a];if(!a)throw new I(8);a=a.path}if(0==b.length){if(!c)throw new I(44);return a}return Bb(a+"/"+b)}
function Jc(a,b,c){try{var d=a(b)}catch(e){if(e&&e.node&&Bb(b)!==Bb(ic(e.node)))return-54;throw e;}q()[c>>2]=d.oi;q()[c+8>>2]=d.dh;q()[c+12>>2]=d.mode;q()[c+16>>2]=d.Li;q()[c+20>>2]=d.uid;q()[c+24>>2]=d.Ci;q()[c+28>>2]=d.tg;F=[d.size>>>0,(E=d.size,1<=+Math.abs(E)?0<E?(Math.min(+Math.floor(E/4294967296),4294967295)|0)>>>0:~~+Math.ceil((E-+(~~E>>>0))/4294967296)>>>0:0)];q()[c+40>>2]=F[0];q()[c+44>>2]=F[1];q()[c+48>>2]=4096;q()[c+52>>2]=d.gi;F=[Math.floor(d.th.getTime()/1E3)>>>0,(E=Math.floor(d.th.getTime()/
1E3),1<=+Math.abs(E)?0<E?(Math.min(+Math.floor(E/4294967296),4294967295)|0)>>>0:~~+Math.ceil((E-+(~~E>>>0))/4294967296)>>>0:0)];q()[c+56>>2]=F[0];q()[c+60>>2]=F[1];q()[c+64>>2]=0;F=[Math.floor(d.rg.getTime()/1E3)>>>0,(E=Math.floor(d.rg.getTime()/1E3),1<=+Math.abs(E)?0<E?(Math.min(+Math.floor(E/4294967296),4294967295)|0)>>>0:~~+Math.ceil((E-+(~~E>>>0))/4294967296)>>>0:0)];q()[c+72>>2]=F[0];q()[c+76>>2]=F[1];q()[c+80>>2]=0;F=[Math.floor(d.xh.getTime()/1E3)>>>0,(E=Math.floor(d.xh.getTime()/1E3),1<=+Math.abs(E)?
0<E?(Math.min(+Math.floor(E/4294967296),4294967295)|0)>>>0:~~+Math.ceil((E-+(~~E>>>0))/4294967296)>>>0:0)];q()[c+88>>2]=F[0];q()[c+92>>2]=F[1];q()[c+96>>2]=0;F=[d.dh>>>0,(E=d.dh,1<=+Math.abs(E)?0<E?(Math.min(+Math.floor(E/4294967296),4294967295)|0)>>>0:~~+Math.ceil((E-+(~~E>>>0))/4294967296)>>>0:0)];q()[c+104>>2]=F[0];q()[c+108>>2]=F[1];return 0}var Kc=void 0;function Lc(){Kc+=4;return q()[Kc-4>>2]}function Mc(a){a=dc[a];if(!a)throw new I(8);return a}
function Nc(a){if(y)return O(1,1,a);Pa=a;if(!db()){H.Sh();if(w.onExit)w.onExit(a);Oa=!0}Ca(a,new xb(a))}function Oc(a,b){Pa=a;if(!b&&y)throw Pc(a),"unwind";if(!db()&&!y){Qc();nb($a);fb=!1;Rc(0);for(b=0;b<dc.length;b++){var c=dc[b];c&&Dc(c)}K.Pi();H.Sh();bb=!0}Nc(a)}function Sc(a){if(a instanceof xb||"unwind"==a)return Pa;Ca(1,a)}
var H={Tf:[],xg:[],Sg:[],Qf:{},bh:function(){y?H.Ii():H.Hi()},Hi:function(){for(var a=0;8>a;++a)H.rh()},Ii:function(){H.receiveObjectTransfer=H.Ri;H.threadInitTLS=H.Th;H.setExitStatus=H.Qh;noExitRuntime=!1},Qh:function(a){Pa=a},Sh:function(){for(var a in H.Qf){var b=H.Qf[a];b&&H.Oh(b)}for(a=0;a<H.Tf.length;++a)b=H.Tf[a],b.terminate();H.Tf=[]},Oh:function(a){var b=a.Xf;delete H.Qf[b];H.Tf.push(a);H.xg.splice(H.xg.indexOf(a),1);a.Xf=0;Tc(b)},Ri:function(){},Th:function(){for(var a in H.Sg)if(H.Sg.hasOwnProperty(a))H.Sg[a]()},
Fh:function(a,b){a.onmessage=c=>{c=c.data;var d=c.cmd;a.Xf&&(H.ni=a.Xf);if(c.targetThread&&c.targetThread!=Uc()){var e=H.Qf[c.Pj];e?e.postMessage(c,c.transferList):z('Internal error! Worker sent a message "'+d+'" to target pthread '+c.targetThread+", but that thread no longer exists!")}else if("processProxyingQueue"===d)Vc(c.queue);else if("spawnThread"===d)zb(c);else if("cleanupThread"===d)yb(c.thread);else if("killThread"===d)c=c.thread,d=H.Qf[c],delete H.Qf[c],d.terminate(),Tc(c),H.xg.splice(H.xg.indexOf(d),
1),d.Xf=0;else if("cancelThread"===d)H.Qf[c.thread].postMessage({cmd:"cancel"});else if("loaded"===d)a.loaded=!0,b&&b(a),a.wg&&(a.wg(),delete a.wg);else if("print"===d)Ja("Thread "+c.threadId+": "+c.text);else if("printErr"===d)z("Thread "+c.threadId+": "+c.text);else if("alert"===d)alert("Thread "+c.threadId+": "+c.text);else if("setimmediate"===c.target)a.postMessage(c);else if("onAbort"===d){if(w.onAbort)w.onAbort(c.arg)}else d&&z("worker sent an unknown command "+d);H.ni=void 0};a.onerror=c=>
{z("worker sent an error! "+c.filename+":"+c.lineno+": "+c.message);throw c;};a.postMessage({cmd:"load",urlOrBlob:w.mainScriptUrlOrBlob||_scriptDir,wasmMemory:m,wasmModule:Na})},rh:function(){var a=Ha("godot.web.opt.tools.wasm32.worker.js");H.Tf.push(new Worker(a))},wi:function(){0==H.Tf.length&&(H.rh(),H.Fh(H.Tf[0]));return H.Tf.pop()}};w.PThread=H;function nb(a){for(;0<a.length;)a.shift()(w)}function Wc(a){var b=Xc();a=a();Yc(b);return a}
w.establishStackSpace=function(){var a=Uc(),b=q()[a+44>>2];a=q()[a+48>>2];Zc(b,b-a);Yc(b)};function Pc(a){if(y)return O(2,0,a);try{Oc(a)}catch(b){Sc(b)}}function $c(a,b="i8"){b.endsWith("*")&&(b="*");switch(b){case "i1":return h()[a>>0];case "i8":return h()[a>>0];case "i16":return ma()[a>>1];case "i32":return q()[a>>2];case "i64":return q()[a>>2];case "float":return u()[a>>2];case "double":return va()[a>>3];case "*":return t()[a>>2];default:Ma("invalid type for getValue: "+b)}return null}
function ad(a){return Wa.get(a)}w.invokeEntryPoint=function(a,b){a=ad(a)(b);db()?H.Qh(a):bd(a)};
function P(a,b,c="i8"){c.endsWith("*")&&(c="*");switch(c){case "i1":h()[a>>0]=b;break;case "i8":h()[a>>0]=b;break;case "i16":ma()[a>>1]=b;break;case "i32":q()[a>>2]=b;break;case "i64":F=[b>>>0,(E=b,1<=+Math.abs(E)?0<E?(Math.min(+Math.floor(E/4294967296),4294967295)|0)>>>0:~~+Math.ceil((E-+(~~E>>>0))/4294967296)>>>0:0)];q()[a>>2]=F[0];q()[a+4>>2]=F[1];break;case "float":u()[a>>2]=b;break;case "double":va()[a>>3]=b;break;case "*":t()[a>>2]=b;break;default:Ma("invalid type for setValue: "+c)}}
function cd(a,b){h().set(a,b)}function dd(a){this.fg=a-24;this.$h=function(b){t()[this.fg+4>>2]=b};this.Xh=function(b){t()[this.fg+8>>2]=b};this.Yh=function(){q()[this.fg>>2]=0};this.Wh=function(){var b=0;h()[this.fg+12>>0]=b};this.Zh=function(){var b=0;h()[this.fg+13>>0]=b};this.bh=function(b,c){this.Yf();this.$h(b);this.Xh(c);this.Yh();this.Wh();this.Zh()};this.Yf=function(){t()[this.fg+16>>2]=0}}var ed=0;function fd(a,b,c,d){return y?O(3,1,a,b,c,d):gd(a,b,c,d)}
function gd(a,b,c,d){if("undefined"==typeof SharedArrayBuffer)return z("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var e=[];if(y&&0===e.length)return fd(a,b,c,d);a={Zi:c,Xf:a,sh:d,gj:e};return y?(a.qj="spawnThread",postMessage(a,e),0):zb(a)}
function hd(a,b,c,d,e){if(y)return O(4,1,a,b,c,d,e);try{e=0;for(var f=b?q()[b>>2]:0,g=b?q()[b+4>>2]:0,k=c?q()[c>>2]:0,l=c?q()[c+4>>2]:0,p=d?q()[d>>2]:0,r=d?q()[d+4>>2]:0,x=0,A=0,n=0,B=0,v=0,L=0,G=(b?q()[b>>2]:0)|(c?q()[c>>2]:0)|(d?q()[d>>2]:0),ib=(b?q()[b+4>>2]:0)|(c?q()[c+4>>2]:0)|(d?q()[d+4>>2]:0),ja=0;ja<a;ja++){var N=1<<ja%32;if(32>ja?G&N:ib&N){var qa=dc[ja];if(!qa)throw new I(8);var ka=5;qa.Af.kg&&(ka=qa.Af.kg(qa));ka&1&&(32>ja?f&N:g&N)&&(32>ja?x|=N:A|=N,e++);ka&4&&(32>ja?k&N:l&N)&&(32>ja?n|=
N:B|=N,e++);ka&2&&(32>ja?p&N:r&N)&&(32>ja?v|=N:L|=N,e++)}}b&&(q()[b>>2]=x,q()[b+4>>2]=A);c&&(q()[c>>2]=n,q()[c+4>>2]=B);d&&(q()[d>>2]=v,q()[d+4>>2]=L);return e}catch(ra){if("undefined"==typeof M||!(ra instanceof I))throw ra;return-ra.xf}}
var D={Ef:function(){w.websocket=w.websocket&&"object"===typeof w.websocket?w.websocket:{};w.websocket.Wg={};w.websocket.on=function(a,b){"function"===typeof b&&(this.Wg[a]=b);return this};w.websocket.ig=function(a,b){"function"===typeof this.Wg[a]&&this.Wg[a].call(this,b)};return Qb(null,"/",16895,0)},li:function(a,b,c){b&=-526337;if(1==b&&c&&6!=c)throw new I(66);a={family:a,type:b,protocol:c,Rf:null,error:null,sg:{},pending:[],lg:[],Jf:D.Kf};b=D.Mg();c=Qb(D.root,b,49152,0);c.mg=a;b=uc({path:b,node:c,
flags:2,seekable:!1,Af:D.Af});a.stream=b;return a},yi:function(a){return(a=dc[a])&&49152===(a.node.mode&49152)?a.node.mg:null},Af:{kg:function(a){a=a.node.mg;return a.Jf.kg(a)},Gg:function(a,b,c){a=a.node.mg;return a.Jf.Gg(a,b,c)},read:function(a,b,c,d){a=a.node.mg;d=a.Jf.Mh(a,d);if(!d)return 0;b.set(d.buffer,c);return d.buffer.length},write:function(a,b,c,d){a=a.node.mg;return a.Jf.Ph(a,b,c,d)},close:function(a){a=a.node.mg;a.Jf.close(a)}},Mg:function(){D.Mg.current||(D.Mg.current=0);return"socket["+
D.Mg.current++ +"]"},Kf:{wh:function(a,b,c){if("object"==typeof b){var d=b;c=b=null}if(d)if(d.oh)b=d.oh.Lj,c=d.oh.Mj;else{c=/ws[s]?:\/\/([^:]+):(\d+)/.exec(d.url);if(!c)throw Error("WebSocket URL must be in the format ws(s)://address:port");b=c[1];c=parseInt(c[2],10)}else try{var e=w.websocket&&"object"===typeof w.websocket,f="ws://";e&&"string"===typeof w.websocket.url&&(f=w.websocket.url);if("ws://"===f||"wss://"===f){var g=b.split("/");f=f+g[0]+":"+c+"/"+g.slice(1).join("/")}g="binary";e&&"string"===
typeof w.websocket.subprotocol&&(g=w.websocket.subprotocol);var k=void 0;"null"!==g&&(k=g=g.replace(/^ +| +$/g,"").split(/ *, */));e&&null===w.websocket.subprotocol&&(k=void 0);d=new WebSocket(f,k);d.binaryType="arraybuffer"}catch(l){throw new I(23);}b={Ff:b,port:c,zf:d,Eg:[]};D.Kf.ph(a,b);D.Kf.Ei(a,b);2===a.type&&"undefined"!=typeof a.ng&&b.Eg.push(new Uint8Array([255,255,255,255,112,111,114,116,(a.ng&65280)>>8,a.ng&255]));return b},Fg:function(a,b,c){return a.sg[b+":"+c]},ph:function(a,b){a.sg[b.Ff+
":"+b.port]=b},Nh:function(a,b){delete a.sg[b.Ff+":"+b.port]},Ei:function(a,b){function c(){w.websocket.ig("open",a.stream.Gf);try{for(var f=b.Eg.shift();f;)b.zf.send(f),f=b.Eg.shift()}catch(g){b.zf.close()}}function d(f){if("string"==typeof f)f=(new TextEncoder).encode(f);else{void 0!==f.byteLength||Ma();if(0==f.byteLength)return;f=new Uint8Array(f)}var g=e;e=!1;g&&10===f.length&&255===f[0]&&255===f[1]&&255===f[2]&&255===f[3]&&112===f[4]&&111===f[5]&&114===f[6]&&116===f[7]?(f=f[8]<<8|f[9],D.Kf.Nh(a,
b),b.port=f,D.Kf.ph(a,b)):(a.lg.push({Ff:b.Ff,port:b.port,data:f}),w.websocket.ig("message",a.stream.Gf))}var e=!0;Fa?(b.zf.fh("open",c),b.zf.fh("message",function(f,g){g&&d((new Uint8Array(f)).buffer)}),b.zf.fh("close",function(){w.websocket.ig("close",a.stream.Gf)}),b.zf.fh("error",function(){a.error=14;w.websocket.ig("error",[a.stream.Gf,a.error,"ECONNREFUSED: Connection refused"])})):(b.zf.onopen=c,b.zf.onclose=function(){w.websocket.ig("close",a.stream.Gf)},b.zf.onmessage=function(f){d(f.data)},
b.zf.onerror=function(){a.error=14;w.websocket.ig("error",[a.stream.Gf,a.error,"ECONNREFUSED: Connection refused"])})},kg:function(a){if(1===a.type&&a.Rf)return a.pending.length?65:0;var b=0,c=1===a.type?D.Kf.Fg(a,a.Vf,a.Wf):null;if(a.lg.length||!c||c&&c.zf.readyState===c.zf.CLOSING||c&&c.zf.readyState===c.zf.CLOSED)b|=65;if(!c||c&&c.zf.readyState===c.zf.OPEN)b|=4;if(c&&c.zf.readyState===c.zf.CLOSING||c&&c.zf.readyState===c.zf.CLOSED)b|=16;return b},Gg:function(a,b,c){switch(b){case 21531:return b=
0,a.lg.length&&(b=a.lg[0].data.length),q()[c>>2]=b,0;default:return 28}},close:function(a){if(a.Rf){try{a.Rf.close()}catch(e){}a.Rf=null}for(var b=Object.keys(a.sg),c=0;c<b.length;c++){var d=a.sg[b[c]];try{d.zf.close()}catch(e){}D.Kf.Nh(a,d)}return 0},bind:function(a,b,c){if("undefined"!=typeof a.kh||"undefined"!=typeof a.ng)throw new I(28);a.kh=b;a.ng=c;if(2===a.type){a.Rf&&(a.Rf.close(),a.Rf=null);try{a.Jf.Eh(a,0)}catch(d){if(!(d instanceof I))throw d;if(138!==d.xf)throw d;}}},connect:function(a,
b,c){if(a.Rf)throw new I(138);if("undefined"!=typeof a.Vf&&"undefined"!=typeof a.Wf){var d=D.Kf.Fg(a,a.Vf,a.Wf);if(d){if(d.zf.readyState===d.zf.CONNECTING)throw new I(7);throw new I(30);}}b=D.Kf.wh(a,b,c);a.Vf=b.Ff;a.Wf=b.port;throw new I(26);},Eh:function(){if(!Fa)throw new I(138);},accept:function(a){if(!a.Rf||!a.pending.length)throw new I(28);var b=a.pending.shift();b.stream.flags=a.stream.flags;return b},Bj:function(a,b){if(b){if(void 0===a.Vf||void 0===a.Wf)throw new I(53);b=a.Vf;a=a.Wf}else b=
a.kh||0,a=a.ng||0;return{Ff:b,port:a}},Ph:function(a,b,c,d,e,f){if(2===a.type){if(void 0===e||void 0===f)e=a.Vf,f=a.Wf;if(void 0===e||void 0===f)throw new I(17);}else e=a.Vf,f=a.Wf;var g=D.Kf.Fg(a,e,f);if(1===a.type){if(!g||g.zf.readyState===g.zf.CLOSING||g.zf.readyState===g.zf.CLOSED)throw new I(53);if(g.zf.readyState===g.zf.CONNECTING)throw new I(6);}ArrayBuffer.isView(b)&&(c+=b.byteOffset,b=b.buffer);var k;b instanceof SharedArrayBuffer?k=(new Uint8Array(new Uint8Array(b.slice(c,c+d)))).buffer:
k=b.slice(c,c+d);if(2===a.type&&(!g||g.zf.readyState!==g.zf.OPEN))return g&&g.zf.readyState!==g.zf.CLOSING&&g.zf.readyState!==g.zf.CLOSED||(g=D.Kf.wh(a,e,f)),g.Eg.push(k),d;try{return g.zf.send(k),d}catch(l){throw new I(28);}},Mh:function(a,b){if(1===a.type&&a.Rf)throw new I(53);var c=a.lg.shift();if(!c){if(1===a.type){a=D.Kf.Fg(a,a.Vf,a.Wf);if(!a)throw new I(53);if(a.zf.readyState===a.zf.CLOSING||a.zf.readyState===a.zf.CLOSED)return null}throw new I(6);}var d=c.data.byteLength||c.data.length,e=c.data.byteOffset||
0,f=c.data.buffer||c.data;b=Math.min(b,d);var g={buffer:new Uint8Array(f,e,b),Ff:c.Ff,port:c.port};1===a.type&&b<d&&(c.data=new Uint8Array(f,e+b,d-b),a.lg.unshift(c));return g}}};function jd(a){a=D.yi(a);if(!a)throw new I(8);return a}function kd(a){a=a.split(".");for(var b=0;4>b;b++){var c=Number(a[b]);if(isNaN(c))return null;a[b]=c}return(a[0]|a[1]<<8|a[2]<<16|a[3]<<24)>>>0}
function ld(a){var b,c,d=[];if(!/^((?=.*::)(?!.*::.+::)(::)?([\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.test(a))return null;if("::"===a)return[0,0,0,0,0,0,0,0];a=a.startsWith("::")?a.replace("::","Z:"):a.replace("::",":Z:");0<a.indexOf(".")?(a=a.replace(RegExp("[.]","g"),":"),a=a.split(":"),a[a.length-4]=parseInt(a[a.length-4])+256*parseInt(a[a.length-3]),a[a.length-3]=parseInt(a[a.length-2])+256*parseInt(a[a.length-
1]),a=a.slice(0,a.length-2)):a=a.split(":");for(b=c=0;b<a.length;b++)if("string"==typeof a[b])if("Z"===a[b]){for(c=0;c<8-a.length+1;c++)d[b+c]=0;--c}else d[b+c]=md(parseInt(a[b],16));else d[b+c]=a[b];return[d[1]<<16|d[0],d[3]<<16|d[2],d[5]<<16|d[4],d[7]<<16|d[6]]}
function nd(a,b,c,d,e){switch(b){case 2:c=kd(c);ia().fill(0,a,a+16);e&&(q()[e>>2]=16);ma()[a>>1]=b;q()[a+4>>2]=c;ma()[a+2>>1]=md(d);break;case 10:c=ld(c);ia().fill(0,a,a+28);e&&(q()[e>>2]=28);q()[a>>2]=b;q()[a+8>>2]=c[0];q()[a+12>>2]=c[1];q()[a+16>>2]=c[2];q()[a+20>>2]=c[3];ma()[a+2>>1]=md(d);break;default:return 5}return 0}var od=1,pd={},qd={};
function rd(a){var b=kd(a);if(null!==b)return a;b=ld(a);if(null!==b)return a;pd[a]?b=pd[a]:(b=od++,65535>b||Ma("exceeded max address mappings of 65535"),b="172.29."+(b&255)+"."+(b&65280),qd[b]=a,pd[a]=b);return b}function sd(a,b,c,d){if(y)return O(5,1,a,b,c,d);try{var e=jd(a),f=e.Jf.accept(e);b&&nd(b,f.family,rd(f.Vf),f.Wf,c);return f.stream.Gf}catch(g){if("undefined"==typeof M||!(g instanceof I))throw g;return-g.xf}}function td(a){return(a&255)+"."+(a>>8&255)+"."+(a>>16&255)+"."+(a>>24&255)}
function ud(a){var b="",c,d=0,e=0,f=0,g=0;a=[a[0]&65535,a[0]>>16,a[1]&65535,a[1]>>16,a[2]&65535,a[2]>>16,a[3]&65535,a[3]>>16];var k=!0;for(c=0;5>c;c++)if(0!==a[c]){k=!1;break}if(k){c=td(a[6]|a[7]<<16);if(-1===a[5])return"::ffff:"+c;if(0===a[5])return"0.0.0.0"===c&&(c=""),"0.0.0.1"===c&&(c="1"),"::"+c}for(c=0;8>c;c++)0===a[c]&&(1<c-e&&(g=0),e=c,g++),g>d&&(d=g,f=c-d+1);for(c=0;8>c;c++)1<d&&0===a[c]&&c>=f&&c<f+d?c===f&&(b+=":",0===f&&(b+=":")):(b+=Number(vd(a[c]&65535)).toString(16),b+=7>c?":":"");return b}
function wd(a,b){var c=ma()[a>>1],d=vd(oa()[a+2>>1]);switch(c){case 2:if(16!==b)return{xf:28};a=q()[a+4>>2];a=td(a);break;case 10:if(28!==b)return{xf:28};a=[q()[a+8>>2],q()[a+12>>2],q()[a+16>>2],q()[a+20>>2]];a=ud(a);break;default:return{xf:5}}return{family:c,Ff:a,port:d}}function xd(a,b,c){if(c&&0===a)return null;a=wd(a,b);if(a.xf)throw new I(a.xf);b=a.Ff;a.Ff=(qd[b]?qd[b]:null)||a.Ff;return a}
function yd(a,b,c){if(y)return O(6,1,a,b,c);try{var d=jd(a),e=xd(b,c);d.Jf.bind(d,e.Ff,e.port);return 0}catch(f){if("undefined"==typeof M||!(f instanceof I))throw f;return-f.xf}}function zd(a){if(y)return O(7,1,a);try{a=C(a);var b=Vb(a,{Zf:!0});if(null===b.node)throw new I(44);if(16384!==(b.node.mode&61440))throw new I(54);var c=mc(b.node,"x");if(c)throw new I(c);Gb=b.path;return 0}catch(d){if("undefined"==typeof M||!(d instanceof I))throw d;return-d.xf}}
function Ad(a,b){if(y)return O(8,1,a,b);try{return a=C(a),Yb(a,b),0}catch(c){if("undefined"==typeof M||!(c instanceof I))throw c;return-c.xf}}function Bd(a,b,c){if(y)return O(9,1,a,b,c);try{var d=jd(a),e=xd(b,c);d.Jf.connect(d,e.Ff,e.port);return 0}catch(f){if("undefined"==typeof M||!(f instanceof I))throw f;return-f.xf}}
function Cd(a,b,c,d){if(y)return O(10,1,a,b,c,d);try{b=C(b);b=Ic(a,b);if(c&-8)return-28;var e=Vb(b,{Zf:!0}).node;if(!e)return-44;a="";c&4&&(a+="r");c&2&&(a+="w");c&1&&(a+="x");return a&&mc(e,a)?-2:0}catch(f){if("undefined"==typeof M||!(f instanceof I))throw f;return-f.xf}}
function Dd(a,b,c){if(y)return O(11,1,a,b,c);Kc=c;try{var d=Mc(a);switch(b){case 0:var e=Lc();return 0>e?-28:uc(d,e).Gf;case 1:case 2:return 0;case 3:return d.flags;case 4:return e=Lc(),d.flags|=e,0;case 5:return e=Lc(),ma()[e+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return q()[Ed()>>2]=28,-1;default:return-28}}catch(f){if("undefined"==typeof M||!(f instanceof I))throw f;return-f.xf}}
function Fd(a,b){if(y)return O(13,1,a,b);try{if(0===b)return-28;var c=Gb,d=Ua(c)+1;if(b<d)return-68;Ta(c,a,b);return d}catch(e){if("undefined"==typeof M||!(e instanceof I))throw e;return-e.xf}}
function Gd(a,b,c){if(y)return O(14,1,a,b,c);try{var d=Mc(a);d.bg||(d.bg=Tb(d.path));a=0;for(var e=Ec(d,0,1),f=Math.floor(e/280);f<d.bg.length&&a+280<=c;){var g=d.bg[f];if("."===g){var k=d.node.id;var l=4}else if(".."===g)k=Vb(d.path,{parent:!0}).node.id,l=4;else{var p=Sb(d.node,g);k=p.id;l=8192===(p.mode&61440)?2:16384===(p.mode&61440)?4:40960===(p.mode&61440)?10:8}F=[k>>>0,(E=k,1<=+Math.abs(E)?0<E?(Math.min(+Math.floor(E/4294967296),4294967295)|0)>>>0:~~+Math.ceil((E-+(~~E>>>0))/4294967296)>>>0:
0)];q()[b+a>>2]=F[0];q()[b+a+4>>2]=F[1];F=[280*(f+1)>>>0,(E=280*(f+1),1<=+Math.abs(E)?0<E?(Math.min(+Math.floor(E/4294967296),4294967295)|0)>>>0:~~+Math.ceil((E-+(~~E>>>0))/4294967296)>>>0:0)];q()[b+a+8>>2]=F[0];q()[b+a+12>>2]=F[1];ma()[b+a+16>>1]=280;h()[b+a+18>>0]=l;Ta(g,b+a+19,256);a+=280;f+=1}Ec(d,280*f,0);return a}catch(r){if("undefined"==typeof M||!(r instanceof I))throw r;return-r.xf}}
function Hd(a,b,c){if(y)return O(15,1,a,b,c);try{z("__syscall_getsockname "+a);var d=jd(a);nd(b,d.family,rd(d.kh||"0.0.0.0"),d.ng,c);return 0}catch(e){if("undefined"==typeof M||!(e instanceof I))throw e;return-e.xf}}function Id(a,b,c,d,e){if(y)return O(16,1,a,b,c,d,e);try{var f=jd(a);return 1===b&&4===c?(q()[d>>2]=f.error,q()[e>>2]=4,f.error=null,0):-50}catch(g){if("undefined"==typeof M||!(g instanceof I))throw g;return-g.xf}}
function Jd(a,b,c){if(y)return O(17,1,a,b,c);Kc=c;try{var d=Mc(a);switch(b){case 21509:case 21505:return d.Cf?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return d.Cf?0:-59;case 21519:if(!d.Cf)return-59;var e=Lc();return q()[e>>2]=0;case 21520:return d.Cf?-28:-59;case 21531:a=e=Lc();if(!d.Af.Gg)throw new I(59);return d.Af.Gg(d,b,a);case 21523:return d.Cf?0:-59;case 21524:return d.Cf?0:-59;default:return-28}}catch(f){if("undefined"==typeof M||!(f instanceof I))throw f;return-f.xf}}
function Kd(a,b){if(y)return O(18,1,a,b);try{var c=jd(a);c.Jf.Eh(c,b);return 0}catch(d){if("undefined"==typeof M||!(d instanceof I))throw d;return-d.xf}}function Ld(a,b){if(y)return O(19,1,a,b);try{return a=C(a),Jc(Bc,a,b)}catch(c){if("undefined"==typeof M||!(c instanceof I))throw c;return-c.xf}}
function Md(a,b,c){if(y)return O(20,1,a,b,c);try{return b=C(b),b=Ic(a,b),b=Bb(b),"/"===b[b.length-1]&&(b=b.substr(0,b.length-1)),zc(b,c),0}catch(d){if("undefined"==typeof M||!(d instanceof I))throw d;return-d.xf}}function Nd(a,b,c,d){if(y)return O(21,1,a,b,c,d);try{b=C(b);var e=d&256;b=Ic(a,b,d&4096);return Jc(e?Bc:Ub,b,c)}catch(f){if("undefined"==typeof M||!(f instanceof I))throw f;return-f.xf}}
function Od(a,b,c,d){if(y)return O(22,1,a,b,c,d);Kc=d;try{b=C(b);b=Ic(a,b);var e=d?Lc():0;return kb(b,c,e).Gf}catch(f){if("undefined"==typeof M||!(f instanceof I))throw f;return-f.xf}}function Pd(a,b,c){if(y)return O(23,1,a,b,c);try{for(var d=c=0;d<b;d++){var e=a+8*d,f=q()[e>>2],g=ma()[e+4>>1],k=32,l=dc[f];l&&(k=5,l.Af.kg&&(k=l.Af.kg(l)));(k&=g|24)&&c++;ma()[e+6>>1]=k}return c}catch(p){if("undefined"==typeof M||!(p instanceof I))throw p;return-p.xf}}
function Qd(a,b,c,d){if(y)return O(24,1,a,b,c,d);try{b=C(b);b=Ic(a,b);if(0>=d)return-28;var e=hc(b),f=Math.min(d,Ua(e)),g=h()[c+f];Ta(e,c,d+1);h()[c+f]=g;return f}catch(k){if("undefined"==typeof M||!(k instanceof I))throw k;return-k.xf}}function Rd(a,b,c,d,e,f){if(y)return O(25,1,a,b,c,d,e,f);try{var g=jd(a),k=g.Jf.Mh(g,c);if(!k)return 0;e&&nd(e,g.family,rd(k.Ff),k.port,f);ia().set(k.buffer,b);return k.buffer.byteLength}catch(l){if("undefined"==typeof M||!(l instanceof I))throw l;return-l.xf}}
function Sd(a,b,c,d){if(y)return O(26,1,a,b,c,d);try{b=C(b);d=C(d);b=Ic(a,b);d=Ic(c,d);a=b;var e=Cb(a),f=Cb(d),g=Db(a),k=Db(d);var l=Vb(a,{parent:!0});var p=l.node;l=Vb(d,{parent:!0});var r=l.node;if(!p||!r)throw new I(44);if(p.Ef!==r.Ef)throw new I(75);var x=Sb(p,g),A=Hb(a,f);if("."!==A.charAt(0))throw new I(28);A=Hb(d,e);if("."!==A.charAt(0))throw new I(55);try{var n=Sb(r,k)}catch(L){}if(x!==n){var B=16384===(x.mode&61440),v=rc(p,g,B);if(v)throw new I(v);if(v=n?rc(r,k,B):qc(r,k))throw new I(v);
if(!p.yf.Og)throw new I(63);if(x.Nf||n&&n.Nf)throw new I(10);if(r!==p&&(v=mc(p,"w")))throw new I(v);lc(x);try{p.yf.Og(x,r,k)}catch(L){throw L;}finally{kc(x)}}return 0}catch(L){if("undefined"==typeof M||!(L instanceof I))throw L;return-L.xf}}function Td(a){if(y)return O(27,1,a);try{return a=C(a),Zb(a),0}catch(b){if("undefined"==typeof M||!(b instanceof I))throw b;return-b.xf}}
function Ud(a,b,c,d,e,f){if(y)return O(28,1,a,b,c,d,e,f);try{var g=jd(a),k=xd(e,f,!0);return k?g.Jf.Ph(g,h(),b,c,k.Ff,k.port):Fc(g.stream,h(),b,c)}catch(l){if("undefined"==typeof M||!(l instanceof I))throw l;return-l.xf}}function Vd(a,b,c){if(y)return O(29,1,a,b,c);try{return D.li(a,b,c).stream.Gf}catch(d){if("undefined"==typeof M||!(d instanceof I))throw d;return-d.xf}}
function Wd(a,b){if(y)return O(30,1,a,b);try{return a=C(a),Jc(Ub,a,b)}catch(c){if("undefined"==typeof M||!(c instanceof I))throw c;return-c.xf}}function Xd(a,b,c){if(y)return O(31,1,a,b,c);try{return C(a),q()[c+4>>2]=4096,q()[c+40>>2]=4096,q()[c+8>>2]=1E6,q()[c+12>>2]=5E5,q()[c+16>>2]=5E5,q()[c+20>>2]=ec,q()[c+24>>2]=1E6,q()[c+28>>2]=42,q()[c+44>>2]=2,q()[c+36>>2]=255,0}catch(d){if("undefined"==typeof M||!(d instanceof I))throw d;return-d.xf}}
function Yd(a,b){if(y)return O(32,1,a,b);try{return a=C(a),b=C(b),jb(a,b),0}catch(c){if("undefined"==typeof M||!(c instanceof I))throw c;return-c.xf}}function Zd(a,b,c){if(y)return O(33,1,a,b,c);try{return b=C(b),b=Ic(a,b),0===c?$b(b):512===c?Zb(b):Ma("Invalid flags passed to unlinkat"),0}catch(d){if("undefined"==typeof M||!(d instanceof I))throw d;return-d.xf}}function Vc(a){Atomics.store(q(),a>>2,1);Uc()&&$d(a);Atomics.compareExchange(q(),a>>2,1,0)}w.executeNotifiedProxyingQueue=Vc;
function ae(a){return t()[a>>2]+4294967296*q()[a+4>>2]}function be(a){var b=Ua(a)+1,c=ce(b);c&&Sa(a,h(),c,b);return c}
function de(a,b,c){function d(p){return(p=p.toTimeString().match(/\(([A-Za-z ]+)\)$/))?p[1]:"GMT"}if(y)return O(34,1,a,b,c);var e=(new Date).getFullYear(),f=new Date(e,0,1),g=new Date(e,6,1);e=f.getTimezoneOffset();var k=g.getTimezoneOffset(),l=Math.max(e,k);q()[a>>2]=60*l;q()[b>>2]=Number(e!=k);a=d(f);b=d(g);a=be(a);b=be(b);k<e?(t()[c>>2]=a,t()[c+4>>2]=b):(t()[c>>2]=b,t()[c+4>>2]=a)}function ee(a,b,c){ee.ii||(ee.ii=!0,de(a,b,c))}
function fe(a,b){ge=a;he=b;if(ie)if(je||(cb+=1,je=!0),0==a)ke=function(){var d=Math.max(0,le+b-me())|0;setTimeout(ne,d)};else if(1==a)ke=function(){oe(ne)};else if(2==a){if("undefined"==typeof setImmediate){var c=[];addEventListener("message",d=>{if("setimmediate"===d.data||"setimmediate"===d.data.target)d.stopPropagation(),c.shift()()},!0);setImmediate=function(d){c.push(d);Ea?(void 0===w.setImmediates&&(w.setImmediates=[]),w.setImmediates.push(d),postMessage({target:"setimmediate"})):postMessage("setimmediate",
"*")}}ke=function(){setImmediate(ne)}}}var me;me=y?()=>performance.now()-w.__performance_now_clock_drift:()=>performance.now();function pe(){if(!db())try{y?bd(Pa):Oc(Pa)}catch(a){Sc(a)}}
function qe(a,b,c,d,e){function f(){return g<re?(--cb,pe(),!1):!0}!ie||Ma("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.");ie=a;se=d;var g=re;je=!1;ne=function(){if(!Oa)if(0<te.length){var k=Date.now(),l=te.shift();l.yj(l.sh);if(ue){var p=ue,r=0==p%1?p-1:Math.floor(p);ue=l.tj?r:(8*p+(r+.5))/9}Ja('main loop blocker "'+l.name+'" took '+(Date.now()-k)+" ms");w.setStatus&&
(k=w.statusMessage||"Please wait...",l=ue,p=ve.xj,l?l<p?w.setStatus(k+" ("+(p-l)+"/"+p+")"):w.setStatus(k):w.setStatus(""));f()&&setTimeout(ne,0)}else f()&&(we=we+1|0,1==ge&&1<he&&0!=we%he?ke():(0==ge&&(le=me()),Oa||w.preMainLoop&&!1===w.preMainLoop()||(xe(a),w.postMainLoop&&w.postMainLoop()),f()&&("object"==typeof SDL&&SDL.audio&&SDL.audio.Oi&&SDL.audio.Oi(),ke())))};e||(b&&0<b?fe(0,1E3/b):fe(1,1),ke());if(c)throw"unwind";}function xe(a){if(!bb&&!Oa)try{a(),pe()}catch(b){Sc(b)}}
function ye(a){cb+=1;setTimeout(function(){--cb;xe(a)},1E4)}function ze(a){Ae||(Ae={});Ae[a]||(Ae[a]=1,z(a))}var Ae,je=!1,ke=null,re=0,ie=null,se=0,ge=0,he=0,we=0,te=[];function Be(){re++;var a=ge,b=he,c=ie;ie=null;qe(c,0,!1,se,!0);fe(a,b);ke()}var ve={},le,ne,ue,Ce=!1,De=!1,Ee=[];
function Fe(){function a(){De=document.pointerLockElement===w.canvas||document.mozPointerLockElement===w.canvas||document.webkitPointerLockElement===w.canvas||document.msPointerLockElement===w.canvas}w.preloadPlugins||(w.preloadPlugins=[]);if(!Ge){Ge=!0;try{He=!0}catch(c){He=!1,z("warning: no blob constructor, cannot create blobs with mimetypes")}Ie="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:He?null:z("warning: no BlobBuilder");Je="undefined"!=
typeof window?window.URL?window.URL:window.webkitURL:void 0;w.Jh||"undefined"!=typeof Je||(z("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),w.Jh=!0);w.preloadPlugins.push({canHandle:function(c){return!w.Jh&&/\.(jpg|jpeg|png|bmp)$/i.test(c)},handle:function(c,d,e,f){var g=null;if(He)try{g=new Blob([c],{type:Ke(d)}),g.size!==c.length&&(g=new Blob([(new Uint8Array(c)).buffer],{type:Ke(d)}))}catch(p){ze("Blob constructor present but fails: "+
p+"; falling back to blob builder")}g||(g=new Ie,g.append((new Uint8Array(c)).buffer),g=g.getBlob());var k=Je.createObjectURL(g),l=new Image;l.onload=()=>{l.complete||Ma("Image "+d+" could not be decoded");var p=document.createElement("canvas");p.width=l.width;p.height=l.height;p.getContext("2d").drawImage(l,0,0);Je.revokeObjectURL(k);e&&e(c)};l.onerror=()=>{Ja("Image "+k+" could not be decoded");f&&f()};l.src=k}});w.preloadPlugins.push({canHandle:function(c){return!w.Gj&&c.substr(-4)in{".ogg":1,
".wav":1,".mp3":1}},handle:function(c,d,e,f){function g(){l||(l=!0,e&&e(c))}function k(){l||(l=!0,new Audio,f&&f())}var l=!1;if(He){try{var p=new Blob([c],{type:Ke(d)})}catch(x){return k()}p=Je.createObjectURL(p);var r=new Audio;r.addEventListener("canplaythrough",()=>g(r),!1);r.onerror=function(){if(!l){z("warning: browser could not fully decode audio "+d+", trying slower base64 approach");for(var x="",A=0,n=0,B=0;B<c.length;B++)for(A=A<<8|c[B],n+=8;6<=n;){var v=A>>n-6&63;n-=6;x+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[v]}2==
n?(x+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(A&3)<<4],x+="=="):4==n&&(x+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(A&15)<<2],x+="=");r.src="data:audio/x-"+d.substr(-3)+";base64,"+x;g(r)}};r.src=p;ye(function(){g(r)})}else return k()}});var b=w.canvas;b&&(b.requestPointerLock=b.requestPointerLock||b.mozRequestPointerLock||b.webkitRequestPointerLock||b.msRequestPointerLock||(()=>{}),b.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||
document.webkitExitPointerLock||document.msExitPointerLock||(()=>{}),b.exitPointerLock=b.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",a,!1),document.addEventListener("mozpointerlockchange",a,!1),document.addEventListener("webkitpointerlockchange",a,!1),document.addEventListener("mspointerlockchange",a,!1),w.elementPointerLock&&b.addEventListener("click",c=>{!De&&w.canvas.requestPointerLock&&(w.canvas.requestPointerLock(),c.preventDefault())},!1))}}
function Le(a,b,c,d){if(b&&w.Ag&&a==w.canvas)return w.Ag;var e;if(b){var f={antialias:!1,alpha:!1,eh:"undefined"!=typeof WebGL2RenderingContext?2:1};if(d)for(var g in d)f[g]=d[g];if("undefined"!=typeof Me&&(e=Ne(a,f)))var k=Oe[e].Lf}else k=a.getContext("2d");if(!k)return null;c&&(b||"undefined"==typeof Q||Ma("cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),w.Ag=k,b&&Pe(e),w.Sj=b,Ee.forEach(function(l){l()}),Fe());return k}var Qe=!1,Re=void 0,Se=void 0;
function Te(a,b){function c(){Ce=!1;var f=d.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===f?(d.exitFullscreen=Ue,Re&&d.requestPointerLock(),Ce=!0,Se?("undefined"!=typeof SDL&&(f=t()[SDL.screen>>2],f|=8388608,q()[SDL.screen>>2]=f),Ve(w.canvas),We()):Ve(d)):(f.parentNode.insertBefore(d,f),f.parentNode.removeChild(f),Se?("undefined"!=typeof SDL&&(f=t()[SDL.screen>>2],f&=
-8388609,q()[SDL.screen>>2]=f),Ve(w.canvas),We()):Ve(d));if(w.onFullScreen)w.onFullScreen(Ce);if(w.onFullscreen)w.onFullscreen(Ce)}Re=a;Se=b;"undefined"==typeof Re&&(Re=!0);"undefined"==typeof Se&&(Se=!1);var d=w.canvas;Qe||(Qe=!0,document.addEventListener("fullscreenchange",c,!1),document.addEventListener("mozfullscreenchange",c,!1),document.addEventListener("webkitfullscreenchange",c,!1),document.addEventListener("MSFullscreenChange",c,!1));var e=document.createElement("div");d.parentNode.insertBefore(e,
d);e.appendChild(d);e.requestFullscreen=e.requestFullscreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullscreen?()=>e.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):null)||(e.webkitRequestFullScreen?()=>e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):null);e.requestFullscreen()}
function Ue(){if(!Ce)return!1;(document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){}).apply(document,[]);return!0}var Xe=0;function oe(a){if("function"==typeof requestAnimationFrame)requestAnimationFrame(a);else{var b=Date.now();if(0===Xe)Xe=b+1E3/60;else for(;b+2>=Xe;)Xe+=1E3/60;setTimeout(a,Math.max(Xe-b,0))}}
function Ke(a){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[a.substr(a.lastIndexOf(".")+1)]}var Ye=[];function We(){var a=w.canvas;Ye.forEach(function(b){b(a.width,a.height)})}
function Ve(a,b,c){b&&c?(a.mj=b,a.Fi=c):(b=a.mj,c=a.Fi);var d=b,e=c;w.forcedAspectRatio&&0<w.forcedAspectRatio&&(d/e<w.forcedAspectRatio?d=Math.round(e*w.forcedAspectRatio):e=Math.round(d/w.forcedAspectRatio));if((document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===a.parentNode&&"undefined"!=typeof screen){var f=Math.min(screen.width/d,screen.height/e);d=Math.round(d*f);e=Math.round(e*
f)}Se?(a.width!=d&&(a.width=d),a.height!=e&&(a.height=e),"undefined"!=typeof a.style&&(a.style.removeProperty("width"),a.style.removeProperty("height"))):(a.width!=b&&(a.width=b),a.height!=c&&(a.height=c),"undefined"!=typeof a.style&&(d!=b||e!=c?(a.style.setProperty("width",d+"px","important"),a.style.setProperty("height",e+"px","important")):(a.style.removeProperty("width"),a.style.removeProperty("height"))))}var Ge,He,Ie,Je;function Ze(a){if(y)return O(35,1,a);noExitRuntime=!1;cb=0;Oc(a)}
function $e(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(c,d){b.vertexAttribDivisorANGLE(c,d)},a.drawArraysInstanced=function(c,d,e,f){b.drawArraysInstancedANGLE(c,d,e,f)},a.drawElementsInstanced=function(c,d,e,f,g){b.drawElementsInstancedANGLE(c,d,e,f,g)})}
function af(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(c){b.deleteVertexArrayOES(c)},a.bindVertexArray=function(c){b.bindVertexArrayOES(c)},a.isVertexArray=function(c){return b.isVertexArrayOES(c)})}function bf(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(c,d){b.drawBuffersWEBGL(c,d)})}var cf=1,df=[],ef=[],ff=[],gf=[],hf=[],jf=[],kf=[],Oe={},lf=[],mf={},nf={},of=4;
function R(a){pf||(pf=a)}function qf(a){for(var b=cf++,c=a.length;c<b;c++)a[c]=null;return b}
function Ne(a,b){b.Pg&&(b.preserveDrawingBuffer=!0);var c=1<b.eh?a.getContext("webgl2",b):a.getContext("webgl",b);if(c){a=ce(8);q()[a+4>>2]=Uc();var d={Di:a,attributes:b,version:b.eh,Lf:c};c.canvas&&(c.canvas.bi=d);Oe[a]=d;("undefined"==typeof b.Ah||b.Ah)&&rf(d);if(b.Pg){b=d.Lf;c=b.createFramebuffer();b.bindFramebuffer(36160,c);d.Zg=c;d.$g=!1;b.getContextAttributes().antialias?d.$g=!0:(c=navigator.userAgent.toLowerCase().match(/firefox\/(\d\d)/),null!=c&&(d.$g=67>c[1]));d.og=b.createTexture();d.Cg=
b.createRenderbuffer();sf(d);b.bindTexture(3553,d.og);b.texParameteri(3553,10241,9728);b.texParameteri(3553,10240,9728);b.texParameteri(3553,10242,33071);b.texParameteri(3553,10243,33071);b.texImage2D(3553,0,6408,b.canvas.width,b.canvas.height,0,6408,5121,null);b.framebufferTexture2D(36160,36064,3553,d.og,0);b.bindTexture(3553,null);b.bindRenderbuffer(36161,d.Cg);b.renderbufferStorage(36161,33189,b.canvas.width,b.canvas.height);b.framebufferRenderbuffer(36160,36096,36161,d.Cg);b.bindRenderbuffer(36161,
null);c=b.createBuffer();b.bindBuffer(34962,c);b.bufferData(34962,new Float32Array([-1,-1,-1,1,1,-1,1,1]),35044);b.bindBuffer(34962,null);d.ei=c;c=b.createShader(35633);b.shaderSource(c,"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); }");b.compileShader(c);var e=b.createShader(35632);b.shaderSource(e,"varying lowp vec2 tex;uniform sampler2D sampler;void main() { gl_FragColor = texture2D(sampler, tex); }");b.compileShader(e);
var f=b.createProgram();b.attachShader(f,c);b.attachShader(f,e);b.linkProgram(f);d.di=f;d.Mf=b.getAttribLocation(f,"pos");b.useProgram(f);b.uniform1i(b.getUniformLocation(f,"sampler"),0);b.useProgram(null);d.Dg=void 0;b.createVertexArray&&(d.Dg=b.createVertexArray(),b.bindVertexArray(d.Dg),b.enableVertexAttribArray(d.Mf),b.bindVertexArray(null))}}else a=0;return a}
function sf(a){var b=a.Lf;if(a.og){var c=b.getParameter(32873);b.bindTexture(3553,a.og);b.texImage2D(3553,0,6408,b.drawingBufferWidth,b.drawingBufferHeight,0,6408,5121,null);b.bindTexture(3553,c)}a.Cg&&(c=b.getParameter(36007),b.bindRenderbuffer(36161,a.Cg),b.renderbufferStorage(36161,33189,b.drawingBufferWidth,b.drawingBufferHeight),b.bindRenderbuffer(36161,c))}
function tf(){var a=S,b=a.Lf,c=b.getParameter(3089);c&&b.disable(3089);var d=b.getParameter(36006);if(b.blitFramebuffer&&!a.$g)b.bindFramebuffer(36008,a.Zg),b.bindFramebuffer(36009,null),b.blitFramebuffer(0,0,b.canvas.width,b.canvas.height,0,0,b.canvas.width,b.canvas.height,16384,9728);else{b.bindFramebuffer(36160,null);var e=b.getParameter(35725);b.useProgram(a.di);var f=b.getParameter(34964);b.bindBuffer(34962,a.ei);var g=b.getParameter(34016);b.activeTexture(33984);var k=b.getParameter(32873);
b.bindTexture(3553,a.og);var l=b.getParameter(3042);l&&b.disable(3042);var p=b.getParameter(2884);p&&b.disable(2884);var r=b.getParameter(2929);r&&b.disable(2929);var x=b.getParameter(2960);x&&b.disable(2960);function ib(){b.vertexAttribPointer(a.Mf,2,5126,!1,0,0);b.drawArrays(5,0,4)}if(a.Dg){var A=b.getParameter(34229);b.bindVertexArray(a.Dg);ib();b.bindVertexArray(A)}else{A={buffer:b.getVertexAttrib(a.Mf,34975),size:b.getVertexAttrib(a.Mf,34339),bj:b.getVertexAttrib(a.Mf,34340),type:b.getVertexAttrib(a.Mf,
34341),Mi:b.getVertexAttrib(a.Mf,34922),Ij:b.getVertexAttribOffset(a.Mf,34373)};for(var n=b.getParameter(34921),B=[],v=0;v<n;++v){var L=b.getVertexAttrib(v,34338),G=v==a.Mf;L&&!G&&b.disableVertexAttribArray(v);!L&&G&&b.enableVertexAttribArray(v);B[v]=L}ib();for(v=0;v<n;++v)L=B[v],G=v==a.Mf,L&&!G&&b.enableVertexAttribArray(v),!L&&G&&b.disableVertexAttribArray(v);b.bindBuffer(34962,A.buffer);b.vertexAttribPointer(a.Mf,A.size,A.type,A.Mi,A.bj,A.offset)}x&&b.enable(2960);r&&b.enable(2929);p&&b.enable(2884);
l&&b.enable(3042);b.bindTexture(3553,k);b.activeTexture(g);b.bindBuffer(34962,f);b.useProgram(e)}b.bindFramebuffer(36160,d);c&&b.enable(3089)}function Pe(a){S=Oe[a];w.Ag=Q=S&&S.Lf;return!(a&&!Q)}
function rf(a){a||(a=S);if(!a.Gi){a.Gi=!0;var b=a.Lf;$e(b);af(b);bf(b);b.uj=b.getExtension("WEBGL_draw_instanced_base_vertex_base_instance");b.Cj=b.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance");2<=a.version&&(b.zh=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.zh)b.zh=b.getExtension("EXT_disjoint_timer_query");b.Fj=b.getExtension("WEBGL_multi_draw");(b.getSupportedExtensions()||[]).forEach(function(c){c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}}
var Me={},S,pf;function uf(a,b,c,d){for(var e=0;e<a;e++){var f=Q[c](),g=f&&qf(d);f?(f.name=g,d[g]=f):R(1282);q()[b+4*e>>2]=g}}
function vf(a,b,c){if(b){var d=void 0;switch(a){case 36346:d=1;break;case 36344:0!=c&&1!=c&&R(1280);return;case 34814:case 36345:d=0;break;case 34466:var e=Q.getParameter(34467);d=e?e.length:0;break;case 33309:if(2>S.version){R(1282);return}d=2*(Q.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>S.version){R(1280);return}d=33307==a?3:0}if(void 0===d)switch(e=Q.getParameter(a),typeof e){case "number":d=e;break;case "boolean":d=e?1:0;break;case "string":R(1280);return;case "object":if(null===
e)switch(a){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:d=0;break;default:R(1280);return}else{if(e instanceof Float32Array||e instanceof Uint32Array||e instanceof Int32Array||e instanceof Array){for(a=0;a<e.length;++a)switch(c){case 0:q()[b+4*a>>2]=e[a];break;case 2:u()[b+4*a>>2]=e[a];break;case 4:h()[b+a>>0]=e[a]?1:0}return}try{d=e.name|
0}catch(f){R(1280);z("GL_INVALID_ENUM in glGet"+c+"v: Unknown object returned from WebGL getParameter("+a+")! (error: "+f+")");return}}break;default:R(1280);z("GL_INVALID_ENUM in glGet"+c+"v: Native code calling glGet"+c+"v("+a+") and it returns "+e+" of type "+typeof e+"!");return}switch(c){case 1:c=d;t()[b>>2]=c;t()[b+4>>2]=(c-t()[b>>2])/4294967296;break;case 0:q()[b>>2]=d;break;case 2:u()[b>>2]=d;break;case 4:h()[b>>0]=d?1:0}}else R(1281)}
function wf(a){var b=Ua(a)+1,c=ce(b);Ta(a,c,b);return c}function xf(a){return"]"==a.slice(-1)&&a.lastIndexOf("[")}function yf(a){a-=5120;return 0==a?h():1==a?ia():2==a?ma():4==a?q():6==a?u():5==a||28922==a||28520==a||30779==a||30782==a?t():oa()}function zf(a){var b=Q.mi;if(b){var c=b.yg[a];"number"==typeof c&&(b.yg[a]=c=Q.getUniformLocation(b,b.Uh[a]+(0<c?"["+c+"]":"")));return c}R(1282)}var Af=[];
function O(a,b){var c=arguments.length-2,d=arguments;return Wc(function(){for(var e=Bf(8*c),f=e>>3,g=0;g<c;g++){var k=d[2+g];va()[f+g]=k}return Cf(a,c,e,b)})}var Df=[];function Ef(a){if(y)return O(36,1,a);S==a&&(S=0);S===Oe[a]&&(S=null);if("object"==typeof Ff)for(var b=Oe[a].Lf.canvas,c=0;c<Gf.length;++c)if(Gf[c].target==b){var d=c--,e=Gf[d];e.target.removeEventListener(e.wj,e.vj,e.Rj);Gf.splice(d,1)}Oe[a]&&Oe[a].Lf.canvas&&(Oe[a].Lf.canvas.bi=void 0);T(Oe[a].Di);Oe[a]=null}
function Hf(a,b){return y?O(37,1,a,b):If(a,b)}var Gf=[],Ff={},Jf=["default","low-power","high-performance"],Kf=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0];
function If(a,b){var c=b>>2,d=q()[c+6];c={alpha:!!q()[c],depth:!!q()[c+1],stencil:!!q()[c+2],antialias:!!q()[c+3],premultipliedAlpha:!!q()[c+4],preserveDrawingBuffer:!!q()[c+5],powerPreference:Jf[d],failIfMajorPerformanceCaveat:!!q()[c+7],eh:q()[c+8],Dj:q()[c+9],Ah:q()[c+10],Ch:q()[c+11],Kh:q()[c+12],Pg:q()[c+13]};d=a;d=2<d?C(d):d;d=Kf[d]||("undefined"!=typeof document?document.querySelector(d):void 0);if(y&&(2===c.Kh||!d&&1===c.Kh))return"undefined"==typeof OffscreenCanvas&&(q()[b+52>>2]=1,q()[b+
20>>2]=1),Hf(a,b);if(!d)return 0;c.Ch&&!c.Pg&&(c.Pg=!0);return Ne(d,c)}var Lf={};function Mf(){if(!Nf){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Ba||"./this.program"},b;for(b in Lf)void 0===Lf[b]?delete a[b]:a[b]=Lf[b];var c=[];for(b in a)c.push(b+"="+a[b]);Nf=c}return Nf}var Nf;
function Of(a,b){if(y)return O(38,1,a,b);var c=0;Mf().forEach(function(d,e){var f=b+c;e=t()[a+4*e>>2]=f;for(f=0;f<d.length;++f)h()[e++>>0]=d.charCodeAt(f);h()[e>>0]=0;c+=d.length+1});return 0}function Pf(a,b){if(y)return O(39,1,a,b);var c=Mf();t()[a>>2]=c.length;var d=0;c.forEach(function(e){d+=e.length+1});t()[b>>2]=d;return 0}function Qf(a){if(y)return O(40,1,a);try{var b=Mc(a);Dc(b);return 0}catch(c){if("undefined"==typeof M||!(c instanceof I))throw c;return c.xf}}
function Rf(a,b){if(y)return O(41,1,a,b);try{var c=Mc(a),d=c.Cf?2:16384===(c.mode&61440)?3:40960===(c.mode&61440)?7:4;h()[b>>0]=d;return 0}catch(e){if("undefined"==typeof M||!(e instanceof I))throw e;return e.xf}}
function Sf(a,b,c,d){if(y)return O(42,1,a,b,c,d);try{a:{var e=Mc(a);a=b;for(var f=b=0;f<c;f++){var g=t()[a>>2],k=t()[a+4>>2];a+=8;var l=e,p=h(),r=g,x=k,A=void 0;if(0>x||0>A)throw new I(28);if(null===l.Gf)throw new I(8);if(1===(l.flags&2097155))throw new I(8);if(16384===(l.node.mode&61440))throw new I(31);if(!l.Af.read)throw new I(28);var n="undefined"!=typeof A;if(!n)A=l.position;else if(!l.seekable)throw new I(70);var B=l.Af.read(l,p,r,x,A);n||(l.position+=B);var v=B;if(0>v){var L=-1;break a}b+=
v;if(v<k)break}L=b}q()[d>>2]=L;return 0}catch(G){if("undefined"==typeof M||!(G instanceof I))throw G;return G.xf}}
function Tf(a,b,c,d,e){if(y)return O(43,1,a,b,c,d,e);try{b=c+2097152>>>0<4194305-!!b?(b>>>0)+4294967296*c:NaN;if(isNaN(b))return 61;var f=Mc(a);Ec(f,b,d);F=[f.position>>>0,(E=f.position,1<=+Math.abs(E)?0<E?(Math.min(+Math.floor(E/4294967296),4294967295)|0)>>>0:~~+Math.ceil((E-+(~~E>>>0))/4294967296)>>>0:0)];q()[e>>2]=F[0];q()[e+4>>2]=F[1];f.bg&&0===b&&0===d&&(f.bg=null);return 0}catch(g){if("undefined"==typeof M||!(g instanceof I))throw g;return g.xf}}
function Uf(a,b,c,d){if(y)return O(44,1,a,b,c,d);try{a:{var e=Mc(a);a=b;for(var f=b=0;f<c;f++){var g=t()[a>>2],k=t()[a+4>>2];a+=8;var l=Fc(e,h(),g,k);if(0>l){var p=-1;break a}b+=l}p=b}t()[d>>2]=p;return 0}catch(r){if("undefined"==typeof M||!(r instanceof I))throw r;return r.xf}}
function Vf(a,b,c,d){function e(x,A,n,B,v,L){var G=10===x?28:16;v=10===x?ud(v):td(v);G=ce(G);!nd(G,x,v,L)||Ma();v=ce(32);q()[v+4>>2]=x;q()[v+8>>2]=A;q()[v+12>>2]=n;q()[v+24>>2]=B;t()[v+20>>2]=G;10===x?q()[v+16>>2]=28:q()[v+16>>2]=16;q()[v+28>>2]=0;return v}if(y)return O(45,1,a,b,c,d);var f=0,g=0,k=0,l=0,p=0,r=0;c&&(k=q()[c>>2],l=q()[c+4>>2],p=q()[c+8>>2],r=q()[c+12>>2]);p&&!r&&(r=2===p?17:6);!p&&r&&(p=17===r?2:1);0===r&&(r=6);0===p&&(p=1);if(!a&&!b)return-2;if(k&-1088||0!==c&&q()[c>>2]&2&&!a)return-1;
if(k&32)return-2;if(0!==p&&1!==p&&2!==p)return-7;if(0!==l&&2!==l&&10!==l)return-6;if(b&&(b=C(b),g=parseInt(b,10),isNaN(g)))return k&1024?-2:-8;if(!a)return 0===l&&(l=2),0===(k&1)&&(2===l?f=Wf(2130706433):f=[0,0,0,1]),a=e(l,p,r,null,f,g),t()[d>>2]=a,0;a=C(a);f=kd(a);if(null!==f)if(0===l||2===l)l=2;else if(10===l&&k&8)f=[0,0,Wf(65535),f],l=10;else return-2;else if(f=ld(a),null!==f)if(0===l||10===l)l=10;else return-2;if(null!=f)return a=e(l,p,r,a,f,g),t()[d>>2]=a,0;if(k&4)return-2;a=rd(a);f=kd(a);0===
l?l=2:10===l&&(f=[0,0,Wf(65535),f]);a=e(l,p,r,null,f,g);t()[d>>2]=a;return 0}function U(a){return Wa.get(a)}function V(){z.apply(null,Array.from(arguments))}function Xf(){Ja.apply(null,Array.from(arguments))}function Yf(a,b){P(a,b,"*")}function Zf(a,b,c){const d=a.BYTES_PER_ELEMENT;return a.subarray(b/d,b/d+c)}function $f(a,b,c){const d=a.BYTES_PER_ELEMENT;return a.slice(b/d,b/d+c)}function ag(a,b){const c=[];Zf(q(),a,b).forEach(function(d){c.push(C(d))});return c}
function W(a){const b=Ua(a)+1,c=ce(b);Ta(a,c,b);return c}function bg(a){const b=a.length,c=ce(4*b);for(let d=0;d<b;d++)q()[(c>>2)+d]=W(a[d]);return c}function cg(a,b){for(let c=0;c<b;c++)T(q()[(a>>2)+c]);T(a)}var X=null,dg="en",eg=2,fg=!1,gg=!1,hg=null,ig=null,jg=!1,kg=!1,lg=[];function mg(){lg.forEach(function(a){try{xc(a)}catch(b){Xf("Already unmounted",b)}jg&&K.ag[a]&&(K.ag[a].close(),delete K.ag[a])});lg=[];kg=jg=!1}
function ng(){if(kg)return V("Already syncing!"),Promise.resolve();kg=!0;return new Promise(function(a){wc(!1,function(b){b&&V(`Failed to save IDB file system: ${b.message}`);kg=!1;a(b)})})}function og(a,b){const c=a.lastIndexOf("/");let d="/";0<c&&(d=a.slice(0,c));try{Ub(d)}catch(e){44!==e.xf&&V(e),Wb(d)}Xb(a,new Uint8Array(b))}function pg(){}var qg=[],rg=null;
function sg(a){rg.then(function(){const b=[];qg.forEach(function(c){b.push(new Promise(c))});return Promise.all(b)}).then(function(){return ng()}).then(function(){setTimeout(function(){a()},0)})}var tg=null,ug=null,vg=null,wg=0;
function xg(a,b,c){const d={};a&&(d.sampleRate=a);const e=new (window.AudioContext||window.webkitAudioContext)(d);tg=e;e.onstatechange=function(){let f=0;switch(e.state){case "suspended":f=0;break;case "running":f=1;break;case "closed":f=2}b(f)};e.onstatechange();wg=setInterval(function(){let f=0;e.ci&&(f+=tg.ci);e.Ni&&(f+=tg.Ni);c(f)},1E3);qg.push(yg);return e.destination.channelCount}
function zg(a){function b(c){try{ug=tg.createMediaStreamSource(c),a(ug)}catch(d){V("Failed creaating input.",d)}}if(ug)return 0;if(navigator.mediaDevices&&navigator.mediaDevices.getUserMedia)navigator.mediaDevices.getUserMedia({audio:!0}).then(b,function(c){V("Error getting user media.",c)});else{navigator.getUserMedia||(navigator.getUserMedia=navigator.webkitGetUserMedia||navigator.Yf);if(!navigator.getUserMedia)return V("getUserMedia not available."),1;navigator.getUserMedia({audio:!0},b,function(c){Xf(c)})}return 0}
function yg(a){const b=tg;tg=null;if(b){wg&&(clearInterval(wg),wg=0);ug&&(ug.disconnect(),ug=null);var c=Promise.resolve();vg&&(c=vg.close());c.then(function(){return b.close()}).then(function(){b.onstatechange=null;a()}).catch(function(d){b.onstatechange=null;V("Error closing AudioContext",d);a()})}else a()}function Ag(){return y?O(46,1):zg(function(a){a.connect(vg.Ai())})}
function Bg(){if(y)return O(47,1);if(ug){const a=ug.mediaStream.getTracks();for(let b=0;b<a.length;b++)a[b].stop();ug.disconnect();ug=null}}function Cg(){return y?O(48,1):window.AudioContext||window.webkitAudioContext?1:0}
var Dg={promise:null,Uf:null,jh:null,create:function(a){const b=w.locateFile("godot.audio.worklet.js");Dg.promise=tg.audioWorklet.addModule(b).then(function(){Dg.Uf=new AudioWorkletNode(tg,"godot-processor",{outputChannelCount:[a]});return Promise.resolve()});vg=Dg},start:function(a,b,c){Dg.promise.then(function(){const d=Dg.Uf;d.connect(tg.destination);d.port.postMessage({cmd:"start",data:[c,a,b]});d.port.onmessage=function(e){V(e.data)}})},Oj:function(a,b,c,d,e,f){Dg.jh=new function(){let g=0,k=
0,l=0;const p=new Float32Array(b);this.Qi=function(r){const x=Zf(u(),d,e),A=k;let n=r.length,B=0;k+n>=e&&(B=e-k,x.set(r.subarray(0,B),k),n-=B,k=0);n&&x.set(r.subarray(B,n),k);f(A,r.length);k+=n};this.ki=function(r){var x=Dg.Uf.port;l+=r;if(0!==l){r=Zf(u(),a,b);var A=r.length,n=l;c(g,l);if(g+l>=A){const B=A-g;p.set(r.subarray(g,A));l-=B;g=0}0<l&&p.set(r.subarray(g,g+l),n-l);x.postMessage({cmd:"chunk",data:p.subarray(0,n)});g+=l;l=0}}};Dg.promise.then(function(){const g=Dg.Uf,k=$f(u(),a,b);g.connect(tg.destination);
g.port.postMessage({cmd:"start_nothreads",data:[k,e]});g.port.onmessage=function(l){Dg.Uf&&("read"===l.data.cmd?Dg.jh.ki(l.data.data):"input"===l.data.cmd?(l=l.data.data,l.length>e?V("Input chunk is too big"):Dg.jh.Qi(l)):V(l.data))}})},Ai:function(){return Dg.Uf},close:function(){return new Promise(function(a){null!==Dg.promise&&Dg.promise.then(function(){Dg.Uf.port.postMessage({cmd:"stop",data:null});Dg.Uf.disconnect();Dg.Uf.port.onmessage=null;Dg.Uf=null;Dg.promise=null;a()}).catch(function(b){V(b)})})}},
Eg="auto",Fg=!0,Gg={};function Hg(a){let b=Eg=a;a in Gg&&(a=Gg[a],b=`url("${a.url}") ${a.x} ${a.y}, auto`);Fg&&(X.style.cursor=b)}function Ig(){X.style.cursor="";Eg="auto";Fg=!0;Object.keys(Gg).forEach(function(a){URL.revokeObjectURL(Gg[a]);delete Gg[a]})}var Jg=[];function Kg(a,b,c,d){return-1!==Jg.findIndex(function(e){return e.target===a&&e.event===b&&e.method===c&&e.capture===d})}
function Y(a,b,c,d){Kg(a,b,c,d)||(Jg.push(new function(e,f,g,k){this.target=e;this.event=f;this.method=g;this.capture=k}(a,b,c,d)),a.addEventListener(b,c,d))}function Lg(){Jg.forEach(function(a){a.target.removeEventListener(a.event,a.method,a.capture)});Jg.length=0}var Mg=[0,0],Ng=!0;function Og(){const a=document.fullscreenElement||document.Wh||document.webkitFullscreenElement||document.msFullscreenElement;return a?a===X:document.Yf||document.mozFullScreen||document.Xh}
function Pg(){if(!(document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled))return 1;const a=X;try{const b=(a.requestFullscreen||a.msRequestFullscreen||a.mozRequestFullScreen||a.Ej||a.webkitRequestFullscreen).call(a);b&&b.catch(function(){})}catch(b){return 1}return 0}function Qg(){if(!Og())return 0;try{const a=document.exitFullscreen();a&&a.catch(function(){})}catch(a){return 1}return 0}function Rg(){var a=Sg();(a=Oe[a])&&sf(a)}
function Tg(){var a=Og();const b=2===eg,c=X;let d=Mg[0],e=Mg[1];if(0===eg)return c.width!==d||c.height!==e?(Mg=[c.width,c.height],Rg(),1):0;var f=Ng?window.devicePixelRatio||1:1;if(a||b)d=window.innerWidth*f,e=window.innerHeight*f;a=`${d/f}px`;f=`${e/f}px`;return c.style.width!==a||c.style.height!==f||c.width!==d||c.height!==e?(c.width=d,c.height=e,c.style.width=a,c.style.height=f,Rg(),1):0}var Ug=null,Vg=null;
function Wg(a){function b(c){const d=document.createElement(c);d.style.display="none";d.style.position="absolute";d.style.zIndex="-1";d.style.background="transparent";d.style.padding="0px";d.style.margin="0px";d.style.overflow="hidden";d.style.width="0px";d.style.height="0px";d.style.border="0px";d.style.outline="none";d.Lh=!0;d.disabled=!0;Y(d,"input",function(){const e=W(d.value);a(e,d.selectionEnd);T(e)},!1);Y(d,"blur",function(){d.style.display="none";d.Lh=!0;d.disabled=!0},!1);X.insertAdjacentElement("beforebegin",
d);return d}Ug=b("input");Vg=b("textarea");Xg()}function Yg(){Ug&&Vg&&[Ug,Vg].forEach(function(a){a.blur();a.style.display="none";a.value=""})}function Xg(){function a(c){c.style.left=`${b.left}px`;c.style.top=`${b.top}px`;c.style.width=`${b.width}px`;c.style.height=`${b.height}px`}if(Ug&&Vg){var b=X.getBoundingClientRect();a(Ug);a(Vg)}}var Zg="",$g=0,Z={};function ah(a){const b=++$g;Z[b]=a;return b}function bh(a){delete Z[a]}
function ch(a,b){if(a=Z[a])b.value&&a.Yg.push(b.value),a.hh=!1,a.done=b.done}function dh(a,b){if(a=Z[a]){var c=!1;b.headers.forEach(function(d,e){d=d.toLowerCase().trim();"transfer-encoding"===e.toLowerCase().trim()&&"chunked"===d&&(c=!0)});a.status=b.status;a.response=b;a.ug=b.body.getReader();a.ji=c}}function eh(a,b){V(b);if(a=Z[a])a.error=b}
function fh(a,b,c,d){const e={request:null,response:null,ug:null,error:null,done:!1,hh:!1,status:0,Yg:[],hi:-1},f=ah(e);e.request=fetch(b,{method:a,headers:c,body:d});e.request.then(dh.bind(null,f)).catch(eh.bind(null,f));return f}function gh(a){const b=Z[a];b&&(bh(a),b.request&&b.request.then(function(c){c.abort()}).catch(function(){}))}var hh=[];function ih(){try{const a=navigator.getGamepads();return a?a:[]}catch(a){return[]}}
function jh(a){function b(d){if(d.mapping)var e=d.mapping;else{var f=navigator.userAgent;e="Unknown";0<=f.indexOf("Android")?e="Android":0<=f.indexOf("Linux")?e="Linux":0<=f.indexOf("iPhone")?e="iOS":0<=f.indexOf("Macintosh")?e="MacOSX":0<=f.indexOf("Windows")&&(e="Windows");var g=d.id,k=/vendor: ([0-9a-f]{4}) product: ([0-9a-f]{4})/i,l=/^([0-9a-f]+)-([0-9a-f]+)-/i,p=f="";k.test(g)?(g=k.exec(g),f=g[1].padStart(4,"0"),p=g[2].padStart(4,"0")):l.test(g)&&(g=l.exec(g),f=g[1].padStart(4,"0"),p=g[2].padStart(4,
"0"));e=f&&p?e+f+p:`${e}Unknown`}f=e;e=W(d.id);f=W(f);a(d.index,1,e,f);T(e);T(f)}hh=[];const c=ih();for(let d=0;d<c.length;d++)c[d]&&b(c[d]);Y(window,"gamepadconnected",function(d){d.gamepad&&b(d.gamepad)},!1);Y(window,"gamepaddisconnected",function(d){d.gamepad&&a(d.gamepad.index,0)},!1)}var kh=[],lh=[];function mh(a){a.isDirectory?nh(a):a.isFile?oh(a):V("Unrecognized entry...",a)}
function nh(a){kh.push(new Promise(function(b){a.createReader().readEntries(function(c){for(let d=0;d<c.length;d++)mh(c[d]);b()})}))}function oh(a){kh.push(new Promise(function(b,c){a.file(function(d){const e=new FileReader;e.onload=function(){const f={path:d.Kj||d.webkitRelativePath,name:d.name,type:d.type,size:d.size,data:e.result};f.path||(f.path=f.name);lh.push(f);b()};e.onerror=function(){Xf("Error reading file");c()};e.readAsArrayBuffer(d)},function(){Xf("Error!");c()})}))}
function ph(a,b){0===kh.length?a():kh.pop().then(function(){setTimeout(function(){ph(a,b)},0)})}
function qh(a,b){a.preventDefault();if(a.dataTransfer.items)for(let c=0;c<a.dataTransfer.items.length;c++){const d=a.dataTransfer.items[c];let e=null;"getAsEntry"in d?e=d.Aj():"webkitGetAsEntry"in d&&(e=d.webkitGetAsEntry());e&&mh(e)}else V("File upload not supported");(new Promise(ph)).then(function(){const c=`/tmp/drop-${parseInt(1073741824*Math.random(),10)}/`,d=[],e=[];zc(c.slice(0,-1));lh.forEach(f=>{const g=f.path;og(c+g,f.data);f=g.indexOf("/");if(-1===f)d.push(c+g);else{const k=g.substr(0,
f);f=k.indexOf("/");0>f&&-1===d.indexOf(c+k)&&d.push(c+k)}e.push(c+g)});kh=[];lh=[];b(d);gg?qg.push(function(f){rh(e,c);f()}):rh(e,c)})}function rh(a,b){const c=[b.substr(0,b.length-1)];a.forEach(function(d){$b(d);d=d.replace(b,"");let e=d.lastIndexOf("/");for(;0<e;)d=d.substr(0,e),-1===c.indexOf(b+d)&&c.push(b+d),e=d.lastIndexOf("/")});c.sort(function(d,e){d=(d.match(/\//g)||[]).length;e=(e.match(/\//g)||[]).length;return d>e?-1:d<e?1:0}).forEach(function(d){Zb(d)})}
function sh(a){return function(b){qh(b,a)}}function th(a){return a.shiftKey+0+(a.altKey+0<<1)+(a.ctrlKey+0<<2)+(a.metaKey+0<<3)}function uh(a,b){const c=X;return[c.width/b.width*(a.clientX-b.x),c.height/b.height*(a.clientY-b.y)]}var vh=!1;function wh(a,b){b&&b.active&&(b.waiting&&(vh=!0,a()),Y(b,"updatefound",function(){const c=b.installing;Y(c,"statechange",function(){"installed"===c.state&&(vh=!0,a())})}))}
function xh(a,b,c,d,e){if(a=Z[a])a.binaryType="arraybuffer",a.onopen=function(){b()},a.onclose=function(){e()},a.onerror=function(){d()},a.onmessage=function(f){let g=0;if(f.data instanceof ArrayBuffer)f=new Uint8Array(f.data);else{if(f.data instanceof Blob){V("Blob type not supported");return}if("string"===typeof f.data){g=1;var k=new TextEncoder("utf-8");f=new Uint8Array(k.encode(f.data))}else{V("Unknown message type");return}}k=f.length*f.BYTES_PER_ELEMENT;const l=ce(k);ia().set(f,l);c(l,k,g);
T(l)}}function yh(a){if(a=Z[a])a.onopen=null,a.onmessage=null,a.onerror=null,a.onclose=null,a.close()}function zh(a,b,c){return(a=Z[a])&&void 0!==a[b]?a[b]:c}var Ah={Ih:0,sj:1,connected:2,pi:3,si:4,closed:5},Bh={Ih:0,pj:1,connected:2,rj:2,pi:3,si:4,closed:5},Ch={Ih:0,zj:1,complete:2},Dh={Nj:0,"have-local-offer":1,"have-remote-offer":2,"have-local-pranswer":3,"have-remote-pranswer":4,closed:5};
function Eh(a,b,c,d,e,f){let g=null;try{g=new RTCPeerConnection(a)}catch(l){return V(l),0}const k=ah(g);"connectionState"in g&&void 0!==g.connectionState?g.onconnectionstatechange=function(){Z[k]&&b(Ah[g.connectionState]||0)}:g.oniceconnectionstatechange=function(){Z[k]&&b(Bh[g.iceConnectionState]||0)};g.onicegatheringstatechange=function(){Z[k]&&d(Ch[g.iceGatheringState]||0)};g.onsignalingstatechange=function(){Z[k]&&c(Dh[g.signalingState]||0)};g.onicecandidate=function(l){if(Z[k]&&(l=l.candidate)&&
l.candidate){var p=W(l.candidate),r=W(l.sdpMid);e(r,l.sdpMLineIndex,p);T(p);T(r)}};g.ondatachannel=function(l){Z[k]&&(l=ah(l.channel),f(l))};return k}function Fh(a,b,c){Z[a]&&(a=W(c.type),c=W(c.sdp),b(a,c),T(a),T(c))}function Gh(a,b){if(a=Z[a])a=W(a.protocol),b(a),T(a)}
function Hh(a,b,c){if(Z[a]){a=0;if(c.data instanceof ArrayBuffer)c=new Uint8Array(c.data);else{if(c.data instanceof Blob){V("Blob type not supported");return}if("string"===typeof c.data){a=1;var d=new TextEncoder("utf-8");c=new Uint8Array(d.encode(c.data))}else{V("Unknown message type");return}}d=c.length*c.BYTES_PER_ELEMENT;var e=ce(d);ia().set(c,e);b(e,d,a);T(e)}}function Ih(a,b){Z[a]&&b()}function Jh(a,b,c){Z[a]&&(a=W(c.reason),b(c.code,a,c.wasClean?1:0),T(a))}
function Kh(a,b,c){(a=Z[a])&&a.readyState<a.CLOSING&&(c=C(c),a.close(b,c))}var Lh=null,Mh=null;function Nh(a){const b=ah(this);Lh.set(a,b);let c=1;this.Ti=function(){c++};this.kj=function(){c--;0===c&&(bh(b),Lh.delete(a))};this.Bi=function(){return a};this.zi=function(){return b}}function Oh(a){const b=Lh.get(a);if(void 0===b)return(new Nh(a)).zi();Z[b].Ti();return b}function Ph(a){a=Z[a];if(void 0!==a)return a.Bi()}
function Qh(a,b){switch(a){case 0:return null;case 1:return!!$c(b,"i64");case 2:return $c(b,"i64");case 3:return $c(b,"double");case 4:return C($c(b,"*"));case 21:return Ph($c(b,"i64"))}}function Rh(a,b){if(void 0===a||null===a)return 0;const c=typeof a;if("boolean"===c)return P(b,a,"i64"),1;if("number"===c){if(Number.isInteger(a))return P(b,a,"i64"),2;P(b,a,"double");return 3}if("string"===c)return a=W(a),P(b,a,"*"),4;a=Oh(a);P(b,a,"i64");return 21}
var Sh=null,Th=[null,null],Uh=[null,null],Vh=null,Wh=null,Xh=null,Yh=null,Zh=null,$h=a=>{Vh&&Wh?Vh.requestAnimationFrame(function(b,c){Xh=c;Yh=c.getViewerPose(Wh);a(b);Yh=Xh=null}):Zh(a)},ai=()=>{ke=null;re++;window.setTimeout(function(){Be()},0)},bi=null,ci=null,di=null,ei=(a,b,c)=>{b=a.createShader(b);a.shaderSource(b,c);a.compileShader(b);return a.getShaderParameter(b,a.COMPILE_STATUS)?b:(V(`An error occurred compiling the shader: ${a.getShaderInfoLog(b)}`),a.deleteShader(b),null)},fi=[],gi=()=>
{if(Vh&&Xh){var a=2,b=[];Vh.inputSources.forEach(c=>{"tracked-pointer"===c.targetRayMode?"right"===c.handedness?b[1]=c:"left"!==c.handedness&&b[0]||(b[0]=c):b[a++]=c});fi=b}};
function hi(a){if(y)return O(49,1,a);if(Vh&&Yh){var b=2===a?1:0,c=Vh.renderState.baseLayer,d=c.getViewport(Yh.views[b]);a=Sh;var e=a.getParameter(a.FRAMEBUFFER_BINDING),f=a.getParameter(a.VIEWPORT);a.bindFramebuffer(a.FRAMEBUFFER,c.framebuffer);a.viewport(d.x,d.y,d.width,d.height);b=Uh[b];if(null===bi){{c=ei(a,a.VERTEX_SHADER,"\n\t\t\tconst vec2 scale = vec2(0.5, 0.5);\n\t\t\tattribute vec4 aVertexPosition;\n\n\t\t\tvarying highp vec2 vTextureCoord;\n\n\t\t\tvoid main () {\n\t\t\t\tgl_Position = aVertexPosition;\n\t\t\t\tvTextureCoord = aVertexPosition.xy * scale + scale;\n\t\t\t}\n\t\t");
d=ei(a,a.FRAGMENT_SHADER,"\n\t\t\tvarying highp vec2 vTextureCoord;\n\n\t\t\tuniform sampler2D uSampler;\n\n\t\t\tvoid main() {\n\t\t\t\tgl_FragColor = texture2D(uSampler, vTextureCoord);\n\t\t\t}\n\t\t");const g=a.createProgram();a.attachShader(g,c);a.attachShader(g,d);a.linkProgram(g);a.getProgramParameter(g,a.LINK_STATUS)?bi=g:(V(`Unable to initialize the shader program: ${a.getProgramInfoLog(g)}`),bi=null)}ci={Jj:bi,Xg:{nh:a.getAttribLocation(bi,"aVertexPosition")},jj:{hj:a.getUniformLocation(bi,
"uSampler")}};c=a.createBuffer();a.bindBuffer(a.ARRAY_BUFFER,c);a.bufferData(a.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),a.STATIC_DRAW);di=c}c=a.getParameter(a.CURRENT_PROGRAM);a.useProgram(bi);a.bindBuffer(a.ARRAY_BUFFER,di);a.vertexAttribPointer(ci.Xg.nh,2,a.FLOAT,!1,0,0);a.enableVertexAttribArray(ci.Xg.nh);a.activeTexture(a.TEXTURE0);a.bindTexture(a.TEXTURE_2D,b);a.uniform1i(ci.jj.hj,0);a.drawArrays(a.TRIANGLE_STRIP,0,4);a.bindTexture(a.TEXTURE_2D,null);a.disableVertexAttribArray(ci.Xg.nh);
a.bindBuffer(a.ARRAY_BUFFER,null);a.useProgram(c);a.bindFramebuffer(a.FRAMEBUFFER,e);a.viewport(f[0],f[1],f[2],f[3])}}function ii(){if(y)return O(50,1);if(!Wh||!Wh.boundsGeometry)return 0;const a=Wh.boundsGeometry.length;if(0===a)return 0;const b=ce(4*(3*a+1));P(b,a,"i32");for(let c=0;c<a;c++){const d=Wh.boundsGeometry[c];P(b+4*(3*c+1),d.x,"float");P(b+4*(3*c+2),d.y,"float");P(b+4*(3*c+3),d.z,"float")}return b}
function ji(a){if(y)return O(51,1,a);if(0===fi.length)return 0;a=fi[a];if(!a||!a.gamepad)return 0;const b=a.gamepad.axes.length,c=ce(4*(b+1));P(c,b,"i32");for(let d=0;d<b;d++){let e=a.gamepad.axes[d];if(1===d||3===d)e*=-1;P(c+4+4*d,e,"float")}return c}function ki(a){if(y)return O(52,1,a);if(0===fi.length)return 0;a=fi[a];if(!a||!a.gamepad)return 0;const b=a.gamepad.buttons.length,c=ce(4*(b+1));P(c,b,"i32");for(let d=0;d<b;d++)P(c+4+4*d,a.gamepad.buttons[d].value,"float");return c}
function li(){return y?O(53,1):Vh&&Xh?fi.length:0}function mi(a){if(y)return O(54,1,a);if(!Vh||!Xh)return 0;a=fi[a];if(!a)return 0;a=Xh.getPose(a.targetRaySpace,Wh);if(!a)return 0;a=a.transform.matrix;const b=ce(64);for(let c=0;16>c;c++)P(b+4*c,a[c],"float");return b}function ni(a){if(y)return O(55,1,a);if(!Vh||!Yh)return 0;a=Yh.views[2===a?1:0].projectionMatrix;const b=ce(64);for(let c=0;16>c;c++)P(b+4*c,a[c],"float");return b}
function oi(){if(y)return O(56,1);if(!Vh||!Yh)return 0;const a=Vh.renderState.baseLayer.getViewport(Yh.views[0]),b=ce(8);P(b+0,a.width,"i32");P(b+4,a.height,"i32");return b}function pi(a){if(y)return O(57,1,a);if(!Vh||!Yh)return 0;var b=Yh.views;a=0===a?Yh.transform.matrix:b[a-1].transform.matrix;b=ce(64);for(let c=0;16>c;c++)P(b+4*c,a[c],"float");return b}function qi(){return y?O(58,1):Vh&&Yh?Yh.views.length:0}function ri(){return y?O(59,1):Vh&&Vh.visibilityState?W(Vh.visibilityState):0}
function si(a,b,c,d,e,f,g,k,l,p){if(y)return O(60,1,a,b,c,d,e,f,g,k,l,p);null===Zh&&(Zh=oe);oe=$h;a=C(a);b=C(b).split(",").map(G=>G.trim()).filter(G=>""!==G);c=C(c).split(",").map(G=>G.trim()).filter(G=>""!==G);const r=C(d).split(",").map(G=>G.trim()),x=U(e),A=U(f),n=U(g),B=U(k),v=U(l),L=U(p);d={};0<b.length&&(d.requiredFeatures=b);0<c.length&&(d.optionalFeatures=c);navigator.xr.requestSession(a,d).then(function(G){Vh=G;G.addEventListener("end",function(){A()});G.addEventListener("inputsourceschange",
function(N){let qa=!1;[N.added,N.removed].forEach(ka=>{ka.forEach(ra=>{"tracked-pointer"===ra.targetRayMode&&(qa=!0)})});qa&&B()});"selectstart select selectend squeezestart squeeze squeezeend".split(" ").forEach(N=>{G.addEventListener(N,function(qa){const ka=W(N);v(ka,fi.indexOf(qa.inputSource));T(ka)})});G.addEventListener("visibilitychange",function(){const N=W("visibility_state_changed");L(N);T(N)});const ib=Sg(),ja=Oe[ib].Lf;Sh=ja;ja.makeXRCompatible().then(function(){function N(ka,ra){Wh=ka;
ka.onreset=function(){const ac=W("reference_space_reset");L(ac);T(ac)};ai();window.setTimeout(function(){const ac=W(ra);x(ac);T(ac)},0)}function qa(){const ka=r.shift();G.requestReferenceSpace(ka).then(ra=>{N(ra,ka)}).catch(()=>{if(0===r.length){const ra=W("Unable to get any of the requested reference space types");n(ra);T(ra)}else qa()})}G.updateRenderState({baseLayer:new XRWebGLLayer(G,ja)});qa()}).catch(function(N){N=W(`Unable to make WebGL context compatible with WebXR: ${N}`);n(N);T(N)})}).catch(function(G){G=
W(`Unable to start session: ${G}`);n(G);T(G)})}function ti(a){return y?O(61,1,a):Vh&&Xh?!!fi[a]:!1}function ui(a,b){if(y)return O(62,1,a,b);const c=C(a),d=U(b);navigator.xr?navigator.xr.isSessionSupported(c).then(function(e){const f=W(c);d(f,e?1:0);T(f)}):(a=W(c),d(a,0),T(a))}function vi(){return y?O(63,1):!!navigator.xr}function wi(){if(y)return O(64,1);gi()}
function xi(){if(y)return O(65,1);Vh&&Vh.end().catch(()=>{});const a=Sh;for(let c=0;c<Uh.length;c++){var b=Uh[c];null!==b&&a.deleteTexture(b);Uh[c]=null;b=Th[c];null!==b&&(hf[b]=null);Th[c]=null}Yh=Xh=Wh=Vh=null;null===Zh&&(Zh=oe);oe=Zh;ai()}function yi(a){return 0===a%4&&(0!==a%100||0===a%400)}var zi=[31,29,31,30,31,30,31,31,30,31,30,31],Ai=[31,28,31,30,31,30,31,31,30,31,30,31];
function Bi(a,b,c,d){function e(n,B,v){for(n="number"==typeof n?n.toString():n||"";n.length<B;)n=v[0]+n;return n}function f(n,B){return e(n,B,"0")}function g(n,B){function v(G){return 0>G?-1:0<G?1:0}var L;0===(L=v(n.getFullYear()-B.getFullYear()))&&0===(L=v(n.getMonth()-B.getMonth()))&&(L=v(n.getDate()-B.getDate()));return L}function k(n){switch(n.getDay()){case 0:return new Date(n.getFullYear()-1,11,29);case 1:return n;case 2:return new Date(n.getFullYear(),0,3);case 3:return new Date(n.getFullYear(),
0,2);case 4:return new Date(n.getFullYear(),0,1);case 5:return new Date(n.getFullYear()-1,11,31);case 6:return new Date(n.getFullYear()-1,11,30)}}function l(n){var B=n.gg;for(n=new Date((new Date(n.hg+1900,0,1)).getTime());0<B;){var v=n.getMonth(),L=(yi(n.getFullYear())?zi:Ai)[v];if(B>L-n.getDate())B-=L-n.getDate()+1,n.setDate(1),11>v?n.setMonth(v+1):(n.setMonth(0),n.setFullYear(n.getFullYear()+1));else{n.setDate(n.getDate()+B);break}}v=new Date(n.getFullYear()+1,0,4);B=k(new Date(n.getFullYear(),
0,4));v=k(v);return 0>=g(B,n)?0>=g(v,n)?n.getFullYear()+1:n.getFullYear():n.getFullYear()-1}var p=q()[d+40>>2];d={ej:q()[d>>2],dj:q()[d+4>>2],Tg:q()[d+8>>2],lh:q()[d+12>>2],Ug:q()[d+16>>2],hg:q()[d+20>>2],Sf:q()[d+24>>2],gg:q()[d+28>>2],Qj:q()[d+32>>2],cj:q()[d+36>>2],fj:p?C(p):""};c=C(c);p={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y",
"%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var r in p)c=c.replace(new RegExp(r,"g"),p[r]);var x="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),A="January February March April May June July August September October November December".split(" ");p={"%a":function(n){return x[n.Sf].substring(0,3)},"%A":function(n){return x[n.Sf]},"%b":function(n){return A[n.Ug].substring(0,
3)},"%B":function(n){return A[n.Ug]},"%C":function(n){return f((n.hg+1900)/100|0,2)},"%d":function(n){return f(n.lh,2)},"%e":function(n){return e(n.lh,2," ")},"%g":function(n){return l(n).toString().substring(2)},"%G":function(n){return l(n)},"%H":function(n){return f(n.Tg,2)},"%I":function(n){n=n.Tg;0==n?n=12:12<n&&(n-=12);return f(n,2)},"%j":function(n){for(var B=0,v=0;v<=n.Ug-1;B+=(yi(n.hg+1900)?zi:Ai)[v++]);return f(n.lh+B,3)},"%m":function(n){return f(n.Ug+1,2)},"%M":function(n){return f(n.dj,
2)},"%n":function(){return"\n"},"%p":function(n){return 0<=n.Tg&&12>n.Tg?"AM":"PM"},"%S":function(n){return f(n.ej,2)},"%t":function(){return"\t"},"%u":function(n){return n.Sf||7},"%U":function(n){return f(Math.floor((n.gg+7-n.Sf)/7),2)},"%V":function(n){var B=Math.floor((n.gg+7-(n.Sf+6)%7)/7);2>=(n.Sf+371-n.gg-2)%7&&B++;if(B)53==B&&(v=(n.Sf+371-n.gg)%7,4==v||3==v&&yi(n.hg)||(B=1));else{B=52;var v=(n.Sf+7-n.gg-1)%7;(4==v||5==v&&yi(n.hg%400-1))&&B++}return f(B,2)},"%w":function(n){return n.Sf},"%W":function(n){return f(Math.floor((n.gg+
7-(n.Sf+6)%7)/7),2)},"%y":function(n){return(n.hg+1900).toString().substring(2)},"%Y":function(n){return n.hg+1900},"%z":function(n){n=n.cj;var B=0<=n;n=Math.abs(n)/60;return(B?"+":"-")+String("0000"+(n/60*100+n%60)).slice(-4)},"%Z":function(n){return n.fj},"%%":function(){return"%"}};c=c.replace(/%%/g,"\x00\x00");for(r in p)c.includes(r)&&(c=c.replace(new RegExp(r,"g"),p[r](d)));c=c.replace(/\0\0/g,"%");r=Ib(c,!1);if(r.length>b)return 0;cd(r,a);return r.length-1}
function Ci(a,b,c,d){var e={string:p=>{var r=0;if(null!==p&&void 0!==p&&0!==p){var x=(p.length<<2)+1;r=Bf(x);Ta(p,r,x)}return r},array:p=>{var r=Bf(p.length);cd(p,r);return r}};a=w["_"+a];var f=[],g=0;if(d)for(var k=0;k<d.length;k++){var l=e[c[k]];l?(0===g&&(g=Xc()),f[k]=l(d[k])):f[k]=d[k]}c=a.apply(null,f);return c=function(p){0!==g&&Yc(g);return"string"===b?C(p):"boolean"===b?!!p:p}(c)}H.bh();
function nc(a,b,c,d){a||(a=this);this.parent=a;this.Ef=a.Ef;this.Nf=null;this.id=ec++;this.name=b;this.mode=c;this.yf={};this.Af={};this.tg=d}Object.defineProperties(nc.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}}});gb();fc=Array(4096);mb(J,"/");zc("/tmp");zc("/home");zc("/home/web_user");
(()=>{zc("/dev");Lb(259,{read:()=>0,write:(b,c,d,e)=>e});Ac("/dev/null",259);Kb(1280,Nb);Kb(1536,Ob);Ac("/dev/tty",1280);Ac("/dev/tty1",1536);var a=Eb();hb("random",a);hb("urandom",a);zc("/dev/shm");zc("/dev/shm/tmp")})();(()=>{zc("/proc");var a=zc("/proc/self");zc("/proc/self/fd");mb({Ef:()=>{var b=Qb(a,"fd",16895,73);b.yf={pg:(c,d)=>{var e=dc[+d];if(!e)throw new I(8);c={parent:null,Ef:{qg:"fake"},yf:{vg:()=>e.path}};return c.parent=c}};return b}},"/proc/self/fd")})();
w.requestFullscreen=function(a,b){Te(a,b)};w.requestAnimationFrame=function(a){oe(a)};w.setCanvasSize=function(a,b,c){Ve(w.canvas,a,b);c||We()};w.pauseMainLoop=function(){ke=null;re++};w.resumeMainLoop=function(){Be()};w.getUserMedia=function(){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia);window.getUserMedia(void 0)};w.createContext=function(a,b,c,d){return Le(a,b,c,d)};for(var Q,Di=new Float32Array(288),Ei=0;288>Ei;++Ei)Af[Ei]=Di.subarray(0,Ei+1);
w.request_quit=function(){pg()};w.onExit=function(a){const b=ig;mg();X=null;dg="en";eg=2;gg=fg=!1;ig=hg=null;b&&b(a)};rg=Promise.resolve();w.initConfig=function(a){eg=a.canvasResizePolicy;X=a.canvas;dg=a.locale||dg;fg=a.virtualKeyboard;gg=!!a.persistentDrops;hg=a.onExecute;ig=a.onExit;a.focusCanvas&&X.focus()};
w.initFS=function(a){jg=!1;if(!Array.isArray(a))return Promise.reject(Error("Persistent paths must be an array"));if(!a.length)return Promise.resolve();lg=a.slice();lg.forEach(function(b){try{Ub(b)}catch(c){44!==c.xf&&V(c),Wb(b)}mb(K,b)});return new Promise(function(b){wc(!0,function(c){c?(lg=[],jg=!1,Xf(`IndexedDB not available: ${c.message}`)):jg=!0;b(c)})})};w.copyToFS=og;qg.push(function(a){Ig();a()});qg.push(function(a){Lg();a()});
qg.push(function(a){Ug&&(Ug.remove(),Ug=null);Vg&&(Vg.remove(),Vg=null);a()});Lh=new Map;
var Fi=[null,Nc,Pc,fd,hd,sd,yd,zd,Ad,Bd,Cd,Dd,function(a,b){if(y)return O(12,1,a,b);try{var c=Mc(a);return Jc(Ub,c.path,b)}catch(d){if("undefined"==typeof M||!(d instanceof I))throw d;return-d.xf}},Fd,Gd,Hd,Id,Jd,Kd,Ld,Md,Nd,Od,Pd,Qd,Rd,Sd,Td,Ud,Vd,Wd,Xd,Yd,Zd,de,Ze,Ef,Hf,Of,Pf,Qf,Rf,Sf,Tf,Uf,Vf,Ag,Bg,Cg,hi,ii,ji,ki,li,mi,ni,oi,pi,qi,ri,si,ti,ui,vi,wi,xi],Qi={b:function(a,b,c,d){Ma("Assertion failed: "+C(a)+", at: "+[b?C(b):"unknown filename",c,d?C(d):"unknown function"])},Se:function(a,b){ad(a)(b)},
j:function(a){return ce(a+24)+24},i:function(a,b,c){(new dd(a)).bh(b,c);ed++;throw a;},Re:function(a){Gi(a,!Ea,1,!Da);H.Th()},Fb:function(a){y?postMessage({cmd:"cleanupThread",thread:a}):yb(a)},Qe:gd,Pe:hd,Oe:sd,Ne:yd,Me:zd,Le:Ad,Ke:Bd,Je:Cd,g:Dd,Ie:Fd,He:Gd,Ge:Hd,Fe:Id,Eb:Jd,Ee:Kd,De:Ld,Ce:Md,Be:Nd,Db:Od,Ae:Pd,ze:Qd,ye:Rd,xe:Sd,we:Td,ve:Ud,Cb:Vd,ue:Wd,te:Xd,se:Yd,re:Zd,ne:function(){},Ab:function(){Ma("To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking")},
me:function(){Ma("To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking")},w:function(){return Date.now()},le:function(){return 2097152},ke:function(){return!0},je:function(a,b,c,d){if(a==b)setTimeout(()=>Vc(d));else if(y)postMessage({targetThread:a,cmd:"processProxyingQueue",queue:d});else{a=H.Qf[a];if(!a)return;a.postMessage({cmd:"processProxyingQueue",queue:d})}return 1},ie:function(a){Q=w.Ag=S=a},he:function(){return-1},ge:function(){throw Infinity;
},fe:function(a,b){a=new Date(1E3*ae(a));q()[b>>2]=a.getUTCSeconds();q()[b+4>>2]=a.getUTCMinutes();q()[b+8>>2]=a.getUTCHours();q()[b+12>>2]=a.getUTCDate();q()[b+16>>2]=a.getUTCMonth();q()[b+20>>2]=a.getUTCFullYear()-1900;q()[b+24>>2]=a.getUTCDay();a=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864E5|0;q()[b+28>>2]=a},ee:function(a,b){a=new Date(1E3*ae(a));q()[b>>2]=a.getSeconds();q()[b+4>>2]=a.getMinutes();q()[b+8>>2]=a.getHours();q()[b+12>>2]=a.getDate();q()[b+16>>2]=a.getMonth();q()[b+
20>>2]=a.getFullYear()-1900;q()[b+24>>2]=a.getDay();var c=new Date(a.getFullYear(),0,1),d=(a.getTime()-c.getTime())/864E5|0;q()[b+28>>2]=d;q()[b+36>>2]=-(60*a.getTimezoneOffset());d=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();c=c.getTimezoneOffset();a=(d!=c&&a.getTimezoneOffset()==Math.min(c,d))|0;q()[b+32>>2]=a},de:ee,e:function(){Ma("")},v:function(){ke=null;re++;ie=null},zb:function(){Ea||ze("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")},
ce:function(a){console.error(C(a))},yb:Ze,be:function(){return 2147483648},h:me,xb:function(a){Q.activeTexture(a)},wb:function(a,b){Q.attachShader(ef[a],jf[b])},vb:function(a,b){35051==a?Q.yh=b:35052==a&&(Q.Bg=b);Q.bindBuffer(a,df[b])},ub:function(a,b,c){Q.bindBufferBase(a,b,df[c])},tb:function(a,b){Q.bindFramebuffer(a,b?ff[b]:S.Zg)},sb:function(a,b){Q.bindTexture(a,hf[b])},rb:function(a){Q.bindVertexArray(kf[a])},qb:function(a,b,c,d){Q.blendColor(a,b,c,d)},pb:function(a){Q.blendEquation(a)},ob:function(a,
b){Q.blendFunc(a,b)},nb:function(a,b,c,d){Q.blendFuncSeparate(a,b,c,d)},mb:function(a,b,c,d,e,f,g,k,l,p){Q.blitFramebuffer(a,b,c,d,e,f,g,k,l,p)},lb:function(a,b,c,d){2<=S.version?c&&b?Q.bufferData(a,ia(),d,c,b):Q.bufferData(a,b,d):Q.bufferData(a,c?ia().subarray(c,c+b):b,d)},kb:function(a,b,c,d){2<=S.version?c&&Q.bufferSubData(a,b,ia(),d,c):Q.bufferSubData(a,b,ia().subarray(d,d+c))},jb:function(a){return Q.checkFramebufferStatus(a)},ib:function(a){Q.clear(a)},hb:function(a,b,c){Q.clearBufferfv(a,b,
u(),c>>2)},gb:function(a,b,c,d){Q.clearColor(a,b,c,d)},fb:function(a){Q.clearDepth(a)},eb:function(a,b,c,d){Q.colorMask(!!a,!!b,!!c,!!d)},db:function(a){Q.compileShader(jf[a])},cb:function(a,b,c,d,e,f,g,k){2<=S.version?Q.Bg||!g?Q.compressedTexImage2D(a,b,c,d,e,f,g,k):Q.compressedTexImage2D(a,b,c,d,e,f,ia(),k,g):Q.compressedTexImage2D(a,b,c,d,e,f,k?ia().subarray(k,k+g):null)},bb:function(){var a=qf(ef),b=Q.createProgram();b.name=a;b.Jg=b.Hg=b.Ig=0;b.mh=1;ef[a]=b;return a},ab:function(a){var b=qf(jf);
jf[b]=Q.createShader(a);return b},$a:function(a){Q.cullFace(a)},_a:function(a,b){for(var c=0;c<a;c++){var d=q()[b+4*c>>2],e=df[d];e&&(Q.deleteBuffer(e),e.name=0,df[d]=null,d==Q.yh&&(Q.yh=0),d==Q.Bg&&(Q.Bg=0))}},Za:function(a,b){for(var c=0;c<a;++c){var d=q()[b+4*c>>2],e=ff[d];e&&(Q.deleteFramebuffer(e),e.name=0,ff[d]=null)}},Ya:function(a){if(a){var b=ef[a];b?(Q.deleteProgram(b),b.name=0,ef[a]=null):R(1281)}},Xa:function(a,b){for(var c=0;c<a;c++){var d=q()[b+4*c>>2],e=gf[d];e&&(Q.deleteRenderbuffer(e),
e.name=0,gf[d]=null)}},Wa:function(a){if(a){var b=jf[a];b?(Q.deleteShader(b),jf[a]=null):R(1281)}},Va:function(a){if(a){var b=lf[a];b?(Q.deleteSync(b),b.name=0,lf[a]=null):R(1281)}},Ua:function(a,b){for(var c=0;c<a;c++){var d=q()[b+4*c>>2],e=hf[d];e&&(Q.deleteTexture(e),e.name=0,hf[d]=null)}},Ta:function(a,b){for(var c=0;c<a;c++){var d=q()[b+4*c>>2];Q.deleteVertexArray(kf[d]);kf[d]=null}},Sa:function(a){Q.depthFunc(a)},Ra:function(a){Q.depthMask(!!a)},Qa:function(a){Q.disable(a)},Pa:function(a){Q.disableVertexAttribArray(a)},
Oa:function(a,b,c){Q.drawArrays(a,b,c)},Na:function(a,b,c,d){Q.drawArraysInstanced(a,b,c,d)},Ma:function(a,b,c,d){Q.drawElements(a,b,c,d)},La:function(a,b,c,d,e){Q.drawElementsInstanced(a,b,c,d,e)},Ka:function(a){Q.enable(a)},Ja:function(a){Q.enableVertexAttribArray(a)},Ia:function(a,b){return(a=Q.fenceSync(a,b))?(b=qf(lf),a.name=b,lf[b]=a,b):0},Ha:function(){Q.finish()},Ga:function(a,b,c,d,e){Q.framebufferTexture2D(a,b,c,hf[d],e)},Fa:function(a,b){uf(a,b,"createBuffer",df)},Ea:function(a,b){uf(a,
b,"createFramebuffer",ff)},Da:function(a,b){uf(a,b,"createTexture",hf)},Ca:function(a,b){uf(a,b,"createVertexArray",kf)},Ba:function(a){Q.generateMipmap(a)},Aa:function(a,b){vf(a,b,2)},za:function(a,b){vf(a,b,0)},ya:function(a,b,c,d){a=Q.getProgramInfoLog(ef[a]);null===a&&(a="(unknown error)");b=0<b&&d?Ta(a,d,b):0;c&&(q()[c>>2]=b)},xa:function(a,b,c){if(c)if(a>=cf)R(1281);else if(a=ef[a],35716==b)a=Q.getProgramInfoLog(a),null===a&&(a="(unknown error)"),q()[c>>2]=a.length+1;else if(35719==b){if(!a.Jg)for(b=
0;b<Q.getProgramParameter(a,35718);++b)a.Jg=Math.max(a.Jg,Q.getActiveUniform(a,b).name.length+1);q()[c>>2]=a.Jg}else if(35722==b){if(!a.Hg)for(b=0;b<Q.getProgramParameter(a,35721);++b)a.Hg=Math.max(a.Hg,Q.getActiveAttrib(a,b).name.length+1);q()[c>>2]=a.Hg}else if(35381==b){if(!a.Ig)for(b=0;b<Q.getProgramParameter(a,35382);++b)a.Ig=Math.max(a.Ig,Q.getActiveUniformBlockName(a,b).length+1);q()[c>>2]=a.Ig}else q()[c>>2]=Q.getProgramParameter(a,b);else R(1281)},wa:function(a,b,c,d){a=Q.getShaderInfoLog(jf[a]);
null===a&&(a="(unknown error)");b=0<b&&d?Ta(a,d,b):0;c&&(q()[c>>2]=b)},va:function(a,b,c){c?35716==b?(a=Q.getShaderInfoLog(jf[a]),null===a&&(a="(unknown error)"),a=a?a.length+1:0,q()[c>>2]=a):35720==b?(a=(a=Q.getShaderSource(jf[a]))?a.length+1:0,q()[c>>2]=a):q()[c>>2]=Q.getShaderParameter(jf[a],b):R(1281)},ua:function(a){var b=mf[a];if(!b){switch(a){case 7939:b=Q.getSupportedExtensions()||[];b=b.concat(b.map(function(d){return"GL_"+d}));b=wf(b.join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=
Q.getParameter(a))||R(1280);b=b&&wf(b);break;case 7938:b=Q.getParameter(7938);b=2<=S.version?"OpenGL ES 3.0 ("+b+")":"OpenGL ES 2.0 ("+b+")";b=wf(b);break;case 35724:b=Q.getParameter(35724);var c=b.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==c&&(3==c[1].length&&(c[1]+="0"),b="OpenGL ES GLSL ES "+c[1]+" ("+b+")");b=wf(b);break;default:R(1280)}mf[a]=b}return b},ta:function(a,b){if(2>S.version)return R(1282),0;var c=nf[a];if(c)return 0>b||b>=c.length?(R(1281),0):c[b];switch(a){case 7939:return c=
Q.getSupportedExtensions()||[],c=c.concat(c.map(function(d){return"GL_"+d})),c=c.map(function(d){return wf(d)}),c=nf[a]=c,0>b||b>=c.length?(R(1281),0):c[b];default:return R(1280),0}},sa:function(a,b,c,d,e){0>c?R(1281):e?(a=Q.getSyncParameter(lf[a],b),null!==a&&(q()[e>>2]=a,d&&(q()[d>>2]=1))):R(1281)},ra:function(a,b){return Q.getUniformBlockIndex(ef[a],C(b))},qa:function(a,b){b=C(b);if(a=ef[a]){var c=a,d=c.yg,e=c.Vh,f;if(!d)for(c.yg=d={},c.Uh={},f=0;f<Q.getProgramParameter(c,35718);++f){var g=Q.getActiveUniform(c,
f);var k=g.name;g=g.size;var l=xf(k);l=0<l?k.slice(0,l):k;var p=c.mh;c.mh+=g;e[l]=[g,p];for(k=0;k<g;++k)d[p]=k,c.Uh[p++]=l}c=a.yg;d=0;e=b;f=xf(b);0<f&&(d=parseInt(b.slice(f+1))>>>0,e=b.slice(0,f));if((e=a.Vh[e])&&d<e[0]&&(d+=e[1],c[d]=c[d]||Q.getUniformLocation(a,b)))return d}else R(1281);return-1},pa:function(a){a=ef[a];Q.linkProgram(a);a.yg=0;a.Vh={}},oa:function(a,b){3317==a&&(of=b);Q.pixelStorei(a,b)},na:function(a){Q.readBuffer(a)},ma:function(a,b,c,d){Q.scissor(a,b,c,d)},la:function(a,b,c,d){for(var e=
"",f=0;f<b;++f){var g=d?q()[d+4*f>>2]:-1;e+=C(q()[c+4*f>>2],0>g?void 0:g)}Q.shaderSource(jf[a],e)},ka:function(a,b,c,d,e,f,g,k,l){if(2<=S.version)if(Q.Bg)Q.texImage2D(a,b,c,d,e,f,g,k,l);else if(l){var p=yf(k);Q.texImage2D(a,b,c,d,e,f,g,k,p,l>>31-Math.clz32(p.BYTES_PER_ELEMENT))}else Q.texImage2D(a,b,c,d,e,f,g,k,null);else{p=Q;var r=p.texImage2D;if(l){var x=yf(k),A=31-Math.clz32(x.BYTES_PER_ELEMENT),n=of;l=x.subarray(l>>A,l+e*(d*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[g-6402]||
1)*(1<<A)+n-1&-n)>>A)}else l=null;r.call(p,a,b,c,d,e,f,g,k,l)}},ja:function(a,b,c){Q.texParameterf(a,b,c)},ia:function(a,b,c){Q.texParameteri(a,b,c)},ha:function(a,b,c,d,e){Q.texStorage2D(a,b,c,d,e)},ga:function(a,b){Q.uniform1f(zf(a),b)},fa:function(a,b){Q.uniform1i(zf(a),b)},ea:function(a,b,c){b&&Q.uniform1uiv(zf(a),t(),c>>2,b)},da:function(a,b,c){if(2<=S.version)b&&Q.uniform3fv(zf(a),u(),c>>2,3*b);else{if(96>=b)for(var d=Af[3*b-1],e=0;e<3*b;e+=3)d[e]=u()[c+4*e>>2],d[e+1]=u()[c+(4*e+4)>>2],d[e+
2]=u()[c+(4*e+8)>>2];else d=u().subarray(c>>2,c+12*b>>2);Q.uniform3fv(zf(a),d)}},ca:function(a,b,c,d,e){Q.uniform4f(zf(a),b,c,d,e)},ba:function(a,b,c){if(2<=S.version)b&&Q.uniform4fv(zf(a),u(),c>>2,4*b);else{if(72>=b){var d=Af[4*b-1],e=u();c>>=2;for(var f=0;f<4*b;f+=4){var g=c+f;d[f]=e[g];d[f+1]=e[g+1];d[f+2]=e[g+2];d[f+3]=e[g+3]}}else d=u().subarray(c>>2,c+16*b>>2);Q.uniform4fv(zf(a),d)}},aa:function(a,b,c){a=ef[a];Q.uniformBlockBinding(a,b,c)},$:function(a,b,c,d){if(2<=S.version)b&&Q.uniformMatrix4fv(zf(a),
!!c,u(),d>>2,16*b);else{if(18>=b){var e=Af[16*b-1],f=u();d>>=2;for(var g=0;g<16*b;g+=16){var k=d+g;e[g]=f[k];e[g+1]=f[k+1];e[g+2]=f[k+2];e[g+3]=f[k+3];e[g+4]=f[k+4];e[g+5]=f[k+5];e[g+6]=f[k+6];e[g+7]=f[k+7];e[g+8]=f[k+8];e[g+9]=f[k+9];e[g+10]=f[k+10];e[g+11]=f[k+11];e[g+12]=f[k+12];e[g+13]=f[k+13];e[g+14]=f[k+14];e[g+15]=f[k+15]}}else e=u().subarray(d>>2,d+64*b>>2);Q.uniformMatrix4fv(zf(a),!!c,e)}},_:function(a){a=ef[a];Q.useProgram(a);Q.mi=a},Z:function(a,b,c,d,e){Q.vertexAttrib4f(a,b,c,d,e)},Y:function(a,
b){Q.vertexAttribDivisor(a,b)},X:function(a,b,c,d,e){Q.vertexAttribIPointer(a,b,c,d,e)},W:function(a,b,c,d,e,f){Q.vertexAttribPointer(a,b,c,!!d,e,f)},V:function(a,b,c,d){Q.viewport(a,b,c,d)},ae:function(a,b,c){ia().copyWithin(a,b,b+c)},$d:function(){return navigator.hardwareConcurrency},_d:function(a,b,c){Df.length=b;c>>=3;for(var d=0;d<b;d++)Df[d]=va()[c+d];return(0>a?wb[-a-1]:Fi[a]).apply(null,Df)},Zd:function(a){var b=ia().length;a>>>=0;if(a<=b||2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=
b*(1+.2/c);d=Math.min(d,a+100663296);var e=Math;d=Math.max(a,d);e=e.min.call(e,2147483648,d+(65536-d%65536)%65536);a:{try{m.grow(e-ea.byteLength+65535>>>16);fa(m.buffer);var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},u:function(a,b,c){a=ad(a);qe(a,b,c)},Yd:function(){return 0},Xd:function(){throw"unwind";},Wd:Ef,U:function(){return S&&S.Lf?S.Zg?(tf(),0):S.attributes.Ch?0:-3:-3},T:If,Vd:function(a){for(var b=a>>2,c=0;14>c;++c)q()[b+c]=0;q()[b]=q()[b+1]=q()[b+3]=q()[b+4]=q()[b+8]=q()[b+
10]=1;Ea&&(q()[a+48>>2]=1)},S:function(a){return Pe(a)?0:-5},qe:Of,pe:Pf,R:Oc,k:Qf,oe:Rf,Bb:Sf,Hb:Tf,x:Uf,c:function(){return Ka},t:Vf,Ud:function(a,b,c,d,e,f,g){b=wd(a,b);if(b.xf)return-6;a=b.port;var k=b.Ff;b=!1;if(c&&d){var l;if(g&1||!(l=qd[k]?qd[k]:null)){if(g&8)return-2}else k=l;c=Ta(k,c,d);c+1>=d&&(b=!0)}e&&f&&(c=Ta(""+a,e,f),c+1>=f&&(b=!0));return b?-12:0},Td:function(a,b,c,d){d?c&&Q.getBufferSubData(a,b,ia(),d,c):R(1281)},Sd:Ag,Rd:Bg,Qd:function(){return tg&&tg.audioWorklet?1:0},Pd:function(a,
b,c,d){b=U(c);d=U(d);c=$c(a,"i32");d=xg(c,b,d);P(a,tg.sampleRate,"i32");return d},Od:Cg,Nd:function(){tg&&"running"!==tg.state&&tg.resume()},Md:function(a){try{Dg.create(a)}catch(b){return V("Error starting AudioDriverWorklet",b),1}return 0},Ld:function(a,b,c,d,e){c=Zf(u(),c,d);a=Zf(u(),a,b);e=Zf(q(),e,4);Dg.start(a,c,e)},Q:function(a,b,c){return Atomics.add(q(),(a>>2)+b,c)},P:function(a,b){return Atomics.load(q(),(a>>2)+b)},Kd:function(a,b,c,d){Atomics.wait(q(),(a>>2)+b,c,d);return Atomics.load(q(),
(a>>2)+b)},Jd:function(a,b){Sa(`#${X.id}`,h(),a,b)},Id:function(a,b){Sa(dg,h(),a,b)},Hd:function(a){window.alert(C(a))},Gd:function(){X.focus()},Fd:function(){return document.activeElement===X},Ed:function(a){const b=U(a);try{navigator.clipboard.readText().then(function(c){c=W(c);b(c);T(c)}).catch(function(){})}catch(c){}},Dd:function(a){a=C(a);if(!navigator.clipboard||!navigator.clipboard.writeText)return 1;navigator.clipboard.writeText(a).catch(function(b){V("Setting OS clipboard is only possible from an input callback for the Web plafrom. Exception:",
b)});return 0},Cd:function(){return!Fg},Bd:function(){return document.pointerLockElement===X?1:0},s:function(a){a?(a=X,a.requestPointerLock&&a.requestPointerLock()):document.exitPointerLock&&document.exitPointerLock()},O:function(a,b,c,d,e){a=C(a);const f=Gg[a];0<c?(b=new Blob([$f(ia(),b,c)],{type:"image/png"}),b=URL.createObjectURL(b),Gg[a]={url:b,x:d,y:e}):delete Gg[a];a===Eg&&Hg(Eg);f&&URL.revokeObjectURL(f.url)},Ad:function(a){Hg(C(a))},r:function(a){a=0!==a;a!==Fg&&((Fg=a)?Hg(Eg):X.style.cursor=
"none")},zd:function(a,b){Mg=[a,b];Tg()},yd:function(a){function b(e){e.target===c&&d(Og())}const c=X,d=U(a);Y(document,"fullscreenchange",b,!1);Y(document,"mozfullscreenchange",b,!1);Y(document,"webkitfullscreenchange",b,!1)},xd:function(){return Qg()},wd:function(){return Pg()},vd:function(a){if(1!==a&&2!==a)return!1;try{return!!document.createElement("canvas").getContext(2===a?"webgl2":"webgl")}catch(b){}return!1},ud:function(){return-1!==["Windows","Win64","Win32","WinCE"].indexOf(navigator.platform||
"")?1:0},td:function(a,b,c,d,e){const f=X,g=U(a),k=[b,c,d,e];["mouseover","mouseleave","focus","blur"].forEach(function(l,p){Y(f,l,function(){g(k[p])},!0)})},sd:function(){return Ng?window.devicePixelRatio||1:1},rd:function(){const a=Math.round(96*window.devicePixelRatio);return 96<=a?a:96},qd:function(a,b){const c=Ng?window.devicePixelRatio||1:1;P(a,window.screen.width*c,"i32");P(b,window.screen.height*c,"i32")},pd:function(a,b,c,d){const e=X;Y(e,"contextmenu",function(f){f.preventDefault()},!1);
Y(e,"webglcontextlost",function(f){alert("WebGL context lost, please reload the page");f.preventDefault()},!1);Ng=!!d;switch(eg){case 0:Mg=[e.width,e.height];break;case 1:Mg=[a,b];break;default:e.style.position="absolute",e.style.top=0,e.style.left=0}Tg();c&&Pg()},od:function(){const a=Tg();a&&Xg();return a},nd:function(){return"ontouchstart"in window},md:function(){return"speechSynthesis"in window},ld:function(){return fg&&"ontouchstart"in window},kd:function(a){a=U(a);fg&&"ontouchstart"in window&&
Wg(a)},jd:function(){Yg()},id:function(a,b,c,d){a=C(a);c=0<c?c:0;d=0<d?d:c;if(Ug&&Vg){""===Ug.style.display&&""===Vg.style.display||Yg();Xg();var e=Ug;switch(b){case 0:e.type="text";e.cg="";break;case 1:e=Vg;break;case 2:e.type="text";e.cg="numeric";break;case 3:e.type="text";e.cg="decimal";break;case 4:e.type="tel";e.cg="";break;case 5:e.type="email";e.cg="";break;case 6:e.type="password";e.cg="";break;case 7:e.type="url";e.cg="";break;default:e.type="text",e.cg=""}e.Lh=!1;e.disabled=!1;e.value=
a;e.style.display="block";e.focus();e.setSelectionRange(c,d)}},hd:function(a){const b=U(a);Y(window,"blur",function(){b()},!1)},gd:function(a,b){let c=document.getElementById("-gd-engine-icon");null===c&&(c=document.createElement("link"),c.rel="icon",c.id="-gd-engine-icon",document.head.appendChild(c));const d=Zg;a=new Blob([$f(ia(),a,b)],{type:"image/png"});Zg=URL.createObjectURL(a);c.href=Zg;d&&URL.revokeObjectURL(d)},N:function(a,b){P(a,X.width,"i32");P(b,X.height,"i32")},fd:function(a){document.title=
C(a)},ed:function(a,b,c,d,e,f){b=C(a);a=null;try{a=(0,eval)(b)}catch(g){V(g)}switch(typeof a){case "boolean":return P(c,a,"i32"),1;case "number":return P(c,a,"double"),3;case "string":return Yf(c,W(a)),4;case "object":if(null!==a&&(!ArrayBuffer.isView(a)||a instanceof Uint8Array?a instanceof ArrayBuffer&&(a=new Uint8Array(a)):a=new Uint8Array(a.buffer),a instanceof Uint8Array))return c=U(f)(d,e,a.length),ia().set(a,c),20}return 0},dd:function(a){return(a=Z[a])&&a.response?a.hi:-1},cd:function(a,b,
c,d,e,f){a=C(a);b=C(b);c=ag(c,d);e=f?$f(h(),e,f):null;return fh(a,b,c.map(function(g){const k=g.indexOf(":");return 0>=k?[]:[g.slice(0,k).trim(),g.slice(k+1).trim()]}).filter(function(g){return 2===g.length}),e)},M:function(a){gh(a)},bd:function(a){return(a=Z[a])&&a.response?a.status:0},ad:function(a){return(a=Z[a])&&a.response?a.ji?1:0:-1},$c:function(a,b,c){const d=Z[a];if(!d||!d.response)return 0;let e=c;const f=d.Yg;for(;e&&f.length;){const l=d.Yg[0];if(l.length>e){var g=h(),k=l.slice(0,e);g.set(k,
b/k.BYTES_PER_ELEMENT);f[0]=l.slice(e);e=0}else h().set(l,b/l.BYTES_PER_ELEMENT),e-=l.length,f.pop()}f.length||(b=Z[a])&&b.ug&&!b.hh&&(b.done?b.ug=null:(b.hh=!0,b.ug.read().then(ch.bind(null,a)).catch(eh.bind(null,a))));return c-e},_c:function(a,b,c){a=Z[a];if(!a||!a.response)return 1;b=U(b);const d=[];a.response.headers.forEach(function(e,f){d.push(`${f}:${e}`)});a=bg(d);b(d.length,a,c);cg(a,d.length);return 0},q:function(a){a=Z[a];return!a||a.error?-1:a.response?a.ug?1:a.done?2:-1:0},Zc:function(a){const b=
U(a);a=X;Y(a,"dragover",function(c){c.preventDefault()},!1);Y(a,"drop",sh(function(c){var d=c||[];d.length&&(c=d.length,d=bg(d),b(d,c),cg(d,c))}))},Yc:function(a){a=U(a);jh(a)},Xc:function(){const a=ih(),b=[];for(let d=0;d<a.length;d++){const e=a[d];if(!e){b.push(null);continue}const f={Yi:"standard"===e.mapping,buttons:[],axes:[],connected:e.connected};for(var c=0;c<e.buttons.length;c++)f.buttons.push(e.buttons[c].value);for(c=0;c<e.axes.length;c++)f.axes.push(e.axes[c]);b.push(f)}hh=b;return 0},
Wc:function(){return hh.length},Vc:function(a,b,c,d,e,f){var g=hh;a=a<g.length?g[a]:null;if(!a||!a.connected)return 1;g=a.buttons;const k=16>g.length?g.length:16;for(let l=0;l<k;l++)P(b+(l<<2),g[l],"float");P(c,k,"i32");b=a.axes;c=10>b.length?b.length:10;for(g=0;g<c;g++)P(d+(g<<2),b[g],"float");P(e,c,"i32");P(f,a.Yi?1:0,"i32");return 0},Uc:function(a,b,c){function d(f,g){const k=th(g);Sa(g.code,h(),b,32);Sa(g.key,h(),c,32);e(f,g.repeat,k);g.preventDefault()}const e=U(a);Y(X,"keydown",d.bind(null,
1),!1);Y(X,"keyup",d.bind(null,0),!1)},Tc:function(a){function b(e,f){var g=d.getBoundingClientRect();g=uh(f,g);const k=th(f);e&&X.focus();c(e,f.button,g[0],g[1],k)&&f.preventDefault()}const c=U(a),d=X;Y(d,"mousedown",b.bind(null,1),!1);Y(window,"mouseup",b.bind(null,0),!1)},Sc:function(a){const b=U(a),c=X;Y(window,"mousemove",function(d){const e=c.getBoundingClientRect(),f=uh(d,e);b(f[0],f[1],c.width/e.width*d.movementX,c.height/e.height*d.movementY,th(d))},!1)},Rc:function(a){const b=U(a);Y(X,"wheel",
function(c){b(c.deltaX||0,c.deltaY||0)&&c.preventDefault()},!1)},Qc:function(a){const b=U(a);Y(window,"paste",function(c){c=c.clipboardData.getData("text");c=W(c);b(c);T(c)},!1)},Pc:function(a,b,c){function d(g,k){0===g&&X.focus();const l=f.getBoundingClientRect(),p=k.changedTouches;for(let r=0;r<p.length;r++){const x=p[r],A=uh(x,l);P(c+16*r,A[0],"double");P(c+8*(2*r+1),A[1],"double");P(b+4*r,x.identifier,"i32")}e(g,p.length);k.cancelable&&k.preventDefault()}const e=U(a),f=X;Y(f,"touchstart",d.bind(null,
0),!1);Y(f,"touchend",d.bind(null,1),!1);Y(f,"touchcancel",d.bind(null,1),!1);Y(f,"touchmove",d.bind(null,2),!1)},Oc:function(a){"function"!==typeof navigator.vibrate?Xf("This browser does not support vibration."):navigator.vibrate(a)},L:function(a,b,c,d){a=$f(h(),a,b);c=C(c);d=C(d);d=window.URL.createObjectURL(new Blob([a],{type:d}));a=document.createElement("a");a.href=d;a.download=c;a.style.display="none";document.body.appendChild(a);a.click();a.remove();window.URL.revokeObjectURL(d)},Nc:function(a){a=
C(a);a=JSON.parse(a);return hg?(hg(a),0):1},K:function(a){a=U(a);sg(a)},Mc:function(){return jg?1:0},Lc:function(a){const b=U(a);rg=ng();rg.then(function(){b()})},Kc:function(){const a=navigator.hardwareConcurrency||1;return 2>a?a:2},Jc:function(a){pg=U(a)},Ic:function(a){window.open(C(a),"_blank")},Hc:function(a){"serviceWorker"in navigator&&(a=U(a),navigator.serviceWorker.getRegistration().then(wh.bind(null,a)))},Gc:function(){return"serviceWorker"in navigator&&vh?(navigator.serviceWorker.getRegistration().then(function(a){a&&
a.waiting&&a.waiting.postMessage("update")}),0):1},Fc:function(a){Z[a]&&yh(a)},Ec:function(a,b,c,d,e,f){c=U(c).bind(null,b);d=U(d).bind(null,b);e=U(e).bind(null,b);b=U(f).bind(null,b);xh(a,c,d,e,b)},Dc:function(a){yh(a);bh(a)},Cc:function(a){return zh(a,"bufferedAmount",0)},Bc:function(a){return zh(a,"id",65535)},Ac:function(a){return zh(a,"negotiated",65535)},zc:function(a){return zh(a,"ordered",!0)},yc:function(a){return(a=Z[a])&&a.label?W(a.label):0},xc:function(a){return(a=Z[a])?void 0!==a.maxPacketLifeTime?
a.maxPacketLifeTime:void 0!==a.maxRetransmitTime?a.maxRetransmitTime:65535:65535},wc:function(a){return zh(a,"maxRetransmits",65535)},vc:function(a){return(a=Z[a])&&a.protocol?W(a.protocol):0},uc:function(a){a=Z[a];if(!a)return 3;switch(a.readyState){case "connecting":return 0;case "open":return 1;case "closing":return 2;default:return 3}},tc:function(a,b,c,d){a=Z[a];if(!a)return 1;const e=new Uint8Array(c);for(let f=0;f<c;f++)e[f]=$c(b+f,"i8");d?a.send(e.buffer):(b=(new TextDecoder("utf-8")).decode(e),
a.send(b));return 0},sc:function(a){(a=Z[a])&&a.close()},rc:function(a,b,c,d,e,f,g){function k(l){return U(l).bind(null,b)}return Eh(JSON.parse(C(a)),k(c),k(e),k(d),k(f),k(g))},qc:function(a,b,c){try{const d=Z[a];if(!d)return 0;const e=C(b),f=JSON.parse(C(c)),g=d.createDataChannel(e,f);return ah(g)}catch(d){return V(d),0}},J:function(a){const b=Z[a];b&&(b.onconnectionstatechange=null,b.oniceconnectionstatechange=null,b.onicegatheringstatechange=null,b.onsignalingstatechange=null,b.onicecandidate=
null,b.ondatachannel=null,bh(a))},pc:function(a,b,c,d){if(a=Z[a])b=C(b),d=C(d),a.addIceCandidate(new RTCIceCandidate({candidate:d,sdpMid:b,sdpMlineIndex:c}))},oc:function(a,b,c,d,e){const f=Z[a];if(f){b=C(b);c=C(c);var g=U(e).bind(null,d);f.setLocalDescription({sdp:c,type:b}).catch(function(k){Z[a]&&(V(k),g())})}},nc:function(a,b,c,d){const e=Z[a];if(e){var f=U(c).bind(null,b),g=U(d).bind(null,b);e.createOffer().then(function(k){Fh(a,f,k)}).catch(function(k){Z[a]&&(V(k),g())})}},mc:function(a,b,c,
d,e,f){const g=Z[a];if(g){var k=C(b);b=C(c);var l=U(f).bind(null,d),p=U(e).bind(null,d);g.setRemoteDescription({sdp:b,type:k}).then(function(){return"offer"!==k?Promise.resolve():g.createAnswer().then(function(r){Fh(a,p,r)})}).catch(function(r){Z[a]&&(V(r),l())})}},lc:function(a){a=U(a);try{const b=[],c=window.speechSynthesis.getVoices();for(let e=0;e<c.length;e++)b.push(`${c[e].lang};${c[e].name}`);const d=bg(b);a(b.length,d);cg(d,b.length)}catch(b){}},kc:function(){return window.speechSynthesis.paused},
jc:function(){return window.speechSynthesis.Yf},ic:function(){window.speechSynthesis.pause()},hc:function(){window.speechSynthesis.resume()},gc:function(a,b,c,d,e,f,g){g=U(g);a=new SpeechSynthesisUtterance(C(a));a.rate=e;a.pitch=d;a.volume=c/100;a.addEventListener("end",function(k){k.currentTarget.zg(1,k.currentTarget.id,0)});a.addEventListener("start",function(k){k.currentTarget.zg(0,k.currentTarget.id,0)});a.addEventListener("error",function(k){k.currentTarget.zg(2,k.currentTarget.id,0)});a.addEventListener("boundary",
function(k){k.currentTarget.zg(3,k.currentTarget.id,k.oj)});a.id=f;a.zg=g;b=C(b);c=window.speechSynthesis.getVoices();for(d=0;d<c.length;d++)if(c[d].name===b){a.voice=c[d];break}window.speechSynthesis.resume();window.speechSynthesis.speak(a)},fc:function(){window.speechSynthesis.cancel();window.speechSynthesis.resume()},I:function(a){return(a=Z[a])?a.bufferedAmount:0},ec:function(a,b,c){c=C(c);Kh(a,b,c)},dc:function(a,b,c,d,e,f,g){d=U(d).bind(null,a);e=U(e).bind(null,a);f=U(f).bind(null,a);a=U(g).bind(null,
a);b=C(b);c=C(c);g=null;try{g=c?new WebSocket(b,c.split(",")):new WebSocket(b)}catch(k){return 0}g.binaryType="arraybuffer";c=g;b=ah(c);c.onopen=Gh.bind(null,b,d);c.onmessage=Hh.bind(null,b,e);c.onerror=Ih.bind(null,b,f);c.onclose=Jh.bind(null,b,a);return b},H:function(a){const b=Z[a];b&&(Kh(a,3001,"destroyed"),bh(a),b.onopen=null,b.onmessage=null,b.onerror=null,b.onclose=null)},cc:function(a,b,c,d){const e=new Uint8Array(c);let f;for(f=0;f<c;f++)e[f]=$c(b+f,"i8");b=e.buffer;d||(b=(new TextDecoder("utf-8")).decode(e));
(a=Z[a])&&a.readyState===a.OPEN?(a.send(b),a=0):a=1;return a},bc:function(a,b){const c=U(b);let d=0;return d=Oh(function(){if(Ph(d)){Mh=null;var e=Array.from(arguments);c(a,Oh(e),e.length);e=Mh;Mh=null;return e}})},ac:function(a,b,c,d,e,f,g){a=C(a);if("undefined"===typeof window[a])return-1;d=U(d);g=U(g);const k=Array(c);for(let l=0;l<c;l++){const p=d(b,l,e,f),r=$c(f,"*");k[l]=Qh(p,e);r&&g(f,p)}try{const l=new window[a](...k);return Rh(l,e)}catch(l){return V(`Error calling constructor ${a} with args:`,
k,"error:",l),-1}},$b:function(a){a=C(a);return"undefined"!==typeof window[a]?Oh(window[a]):0},_b:function(a,b,c,d,e,f,g,k){a=Ph(a);if(void 0===a)return-1;b=C(b);e=U(e);k=U(k);const l=Array(d);for(let p=0;p<d;p++){const r=e(c,p,f,g),x=$c(g,"*");l[p]=Qh(r,f);x&&k(g,r)}try{const p=a[b](...l);return Rh(p,f)}catch(p){return V(`Error calling method ${b} on:`,a,"error:",p),-1}},Zb:function(a,b,c){a=Ph(a);if(void 0===a)return 0;if(c){c=C(c);try{return Rh(a[c],b)}catch(d){return V(`Error getting variable ${c} on object`,
a),0}}return Rh(a,b)},G:function(a,b,c){a=Ph(a);if(void 0===a)return-1;b=Qh(b,c);if(void 0===b||null===b)return-1;try{return Rh(a[b],c)}catch(d){return V(`Error getting variable ${b} on object`,a,d),-1}},Yb:function(a,b,c,d){a=Ph(a);if(void 0!==a){b=C(b);try{a[b]=Qh(c,d)}catch(e){V(`Error setting variable ${b} on object`,a)}}},Xb:function(a,b){Mh=Qh(a,b)},Wb:function(a,b,c,d,e){a=Ph(a);if(void 0===a)return-1;b=Qh(b,c);try{return a[b]=Qh(d,e),0}catch(f){return V(`Error setting variable ${b} on object`,
a),-1}},Vb:function(a){a=Z[a];void 0!==a&&a.kj()},F:hi,Ub:ii,Tb:ji,Sb:ki,Rb:li,Qb:mi,Pb:ni,Ob:oi,E:pi,D:qi,Nb:ri,Mb:si,C:ti,Lb:ui,Kb:vi,B:wi,Jb:xi,p:Hi,n:Ii,o:Ji,A:Ki,Ib:Li,z:Mi,f:Ni,l:Oi,m:Pi,a:m||w.wasmMemory,d:function(a){Ka=a},y:Bi,Gb:function(a,b,c,d){return Bi(a,b,c,d)}};
(function(){function a(e,f){w.asm=e.exports;H.Sg.push(w.asm.gf);Wa=w.asm.Ue;Ya.unshift(w.asm.Te);Na=f;if(!y){var g=H.Tf.length;H.Tf.forEach(function(k){H.Fh(k,function(){if(!--g&&(pb--,w.monitorRunDependencies&&w.monitorRunDependencies(pb),0==pb&&(null!==qb&&(clearInterval(qb),qb=null),rb))){var l=rb;rb=null;l()}})})}}function b(e){a(e.instance,e.module)}function c(e){return vb().then(function(f){return WebAssembly.instantiate(f,d)}).then(function(f){return f}).then(e,function(f){z("failed to asynchronously prepare wasm: "+
f);Ma(f)})}var d={a:Qi};y||(pb++,w.monitorRunDependencies&&w.monitorRunDependencies(pb));if(w.instantiateWasm)try{return w.instantiateWasm(d,a)}catch(e){return z("Module.instantiateWasm callback failed with error: "+e),!1}(function(){return La||"function"!=typeof WebAssembly.instantiateStreaming||sb()||"function"!=typeof fetch?c(b):fetch(tb,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,d).then(b,function(f){z("wasm streaming compile failed: "+f);z("falling back to ArrayBuffer instantiation");
return c(b)})})})().catch(ya);return{}})();w.___wasm_call_ctors=function(){return(w.___wasm_call_ctors=w.asm.Te).apply(null,arguments)};w._emscripten_webgl_commit_frame=function(){return(w._emscripten_webgl_commit_frame=w.asm.Ve).apply(null,arguments)};var T=w._free=function(){return(T=w._free=w.asm.We).apply(null,arguments)};w.__Z14godot_web_mainiPPc=function(){return(w.__Z14godot_web_mainiPPc=w.asm.Xe).apply(null,arguments)};w._main=function(){return(w._main=w.asm.Ye).apply(null,arguments)};
var ce=w._malloc=function(){return(ce=w._malloc=w.asm.Ze).apply(null,arguments)},Wf=w._htonl=function(){return(Wf=w._htonl=w.asm._e).apply(null,arguments)},md=w._htons=function(){return(md=w._htons=w.asm.$e).apply(null,arguments)},vd=w._ntohs=function(){return(vd=w._ntohs=w.asm.af).apply(null,arguments)},Rc=w._fflush=function(){return(Rc=w._fflush=w.asm.bf).apply(null,arguments)},Ed=w.___errno_location=function(){return(Ed=w.___errno_location=w.asm.cf).apply(null,arguments)};
w.__emwebxr_on_input_event=function(){return(w.__emwebxr_on_input_event=w.asm.df).apply(null,arguments)};w.__emwebxr_on_simple_event=function(){return(w.__emwebxr_on_simple_event=w.asm.ef).apply(null,arguments)};var Uc=w._pthread_self=function(){return(Uc=w._pthread_self=w.asm.ff).apply(null,arguments)};w.__emscripten_tls_init=function(){return(w.__emscripten_tls_init=w.asm.gf).apply(null,arguments)};
var Sg=w._emscripten_webgl_get_current_context=function(){return(Sg=w._emscripten_webgl_get_current_context=w.asm.hf).apply(null,arguments)};w._emscripten_dispatch_to_thread_=function(){return(w._emscripten_dispatch_to_thread_=w.asm.jf).apply(null,arguments)};var Qc=w.___funcs_on_exit=function(){return(Qc=w.___funcs_on_exit=w.asm.kf).apply(null,arguments)},Gi=w.__emscripten_thread_init=function(){return(Gi=w.__emscripten_thread_init=w.asm.lf).apply(null,arguments)};
w.__emscripten_thread_crashed=function(){return(w.__emscripten_thread_crashed=w.asm.mf).apply(null,arguments)};
var Cf=w._emscripten_run_in_main_runtime_thread_js=function(){return(Cf=w._emscripten_run_in_main_runtime_thread_js=w.asm.nf).apply(null,arguments)},$d=w.__emscripten_proxy_execute_task_queue=function(){return($d=w.__emscripten_proxy_execute_task_queue=w.asm.of).apply(null,arguments)},Tc=w.__emscripten_thread_free_data=function(){return(Tc=w.__emscripten_thread_free_data=w.asm.pf).apply(null,arguments)},bd=w.__emscripten_thread_exit=function(){return(bd=w.__emscripten_thread_exit=w.asm.qf).apply(null,
arguments)},Ri=w._setThrew=function(){return(Ri=w._setThrew=w.asm.rf).apply(null,arguments)},Zc=w._emscripten_stack_set_limits=function(){return(Zc=w._emscripten_stack_set_limits=w.asm.sf).apply(null,arguments)},Xc=w.stackSave=function(){return(Xc=w.stackSave=w.asm.tf).apply(null,arguments)},Yc=w.stackRestore=function(){return(Yc=w.stackRestore=w.asm.uf).apply(null,arguments)},Bf=w.stackAlloc=function(){return(Bf=w.stackAlloc=w.asm.vf).apply(null,arguments)};
w.___cxa_is_pointer_type=function(){return(w.___cxa_is_pointer_type=w.asm.wf).apply(null,arguments)};function Oi(a,b,c){var d=Xc();try{ad(a)(b,c)}catch(e){Yc(d);if(e!==e+0)throw e;Ri(1,0)}}function Ni(a,b){var c=Xc();try{ad(a)(b)}catch(d){Yc(c);if(d!==d+0)throw d;Ri(1,0)}}function Pi(a,b,c,d){var e=Xc();try{ad(a)(b,c,d)}catch(f){Yc(e);if(f!==f+0)throw f;Ri(1,0)}}function Hi(a,b){var c=Xc();try{return ad(a)(b)}catch(d){Yc(c);if(d!==d+0)throw d;Ri(1,0)}}
function Ii(a,b,c){var d=Xc();try{return ad(a)(b,c)}catch(e){Yc(d);if(e!==e+0)throw e;Ri(1,0)}}function Ji(a,b,c,d){var e=Xc();try{return ad(a)(b,c,d)}catch(f){Yc(e);if(f!==f+0)throw f;Ri(1,0)}}function Ki(a,b,c,d,e){var f=Xc();try{return ad(a)(b,c,d,e)}catch(g){Yc(f);if(g!==g+0)throw g;Ri(1,0)}}function Mi(a,b,c,d,e,f,g,k,l,p){var r=Xc();try{return ad(a)(b,c,d,e,f,g,k,l,p)}catch(x){Yc(r);if(x!==x+0)throw x;Ri(1,0)}}
function Li(a,b,c,d,e,f,g){var k=Xc();try{return ad(a)(b,c,d,e,f,g)}catch(l){Yc(k);if(l!==l+0)throw l;Ri(1,0)}}w.callMain=Si;w.keepRuntimeAlive=db;w.wasmMemory=m;w.cwrap=function(a,b,c,d){c=c||[];var e=c.every(f=>"number"===f||"boolean"===f);return"string"!==b&&e&&!d?w["_"+a]:function(){return Ci(a,b,c,arguments)}};w.ExitStatus=xb;w.PThread=H;var Ti;rb=function Ui(){Ti||Vi();Ti||(rb=Ui)};
function Si(a){var b=w._main;a=a||[];a.unshift(Ba);var c=a.length,d=Bf(4*(c+1)),e=d>>2;a.forEach(g=>{var k=q(),l=e++,p=Ua(g)+1,r=Bf(p);Sa(g,h(),r,p);k[l]=r});q()[e]=0;try{var f=b(c,d);Oc(f,!0);return f}catch(g){return Sc(g)}}
function Vi(){function a(){if(!Ti&&(Ti=!0,w.calledRun=!0,!Oa)){eb();y||nb(Za);xa(w);if(w.onRuntimeInitialized)w.onRuntimeInitialized();Wi&&Si(b);if(!y){if(w.postRun)for("function"==typeof w.postRun&&(w.postRun=[w.postRun]);w.postRun.length;){var c=w.postRun.shift();ab.unshift(c)}nb(ab)}}}var b=b||Aa;if(!(0<pb))if(y)xa(w),eb(),postMessage({cmd:"loaded"});else{if(w.preRun)for("function"==typeof w.preRun&&(w.preRun=[w.preRun]);w.preRun.length;)ob();nb(Xa);0<pb||(w.setStatus?(w.setStatus("Running..."),
setTimeout(function(){setTimeout(function(){w.setStatus("")},1);a()},1)):a())}}if(w.preInit)for("function"==typeof w.preInit&&(w.preInit=[w.preInit]);0<w.preInit.length;)w.preInit.pop()();var Wi=!1;w.noInitialRun&&(Wi=!1);Vi();


  return Godot.ready
}
);
})();
if (typeof exports === 'object' && typeof module === 'object')
  module.exports = Godot;
else if (typeof define === 'function' && define['amd'])
  define([], function() { return Godot; });
else if (typeof exports === 'object')
  exports["Godot"] = Godot;

function t(){function c(){let a=0,d=0,l=!0,h=!0;Object.keys(m).forEach(function(e){e=m[e];e.done||(h=!1);l&&0!==e.total?d+=e.total:(l=!1,d=0);a+=e.loaded});if(a!==g||d!==n)g=a,n=d,"function"===typeof f&&f(a,d);h||requestAnimationFrame(c)}function p(a,d){function l(e,q){return e.read().then(function(r){if(d.done)return Promise.resolve();r.value&&(q.enqueue(r.value),d.loaded+=r.value.length);if(!r.done)return l(e,q);d.done=!0;return Promise.resolve()})}const h=a.body.getReader();return new Response(new ReadableStream({start:function(e){l(h,
e).then(function(){e.close()})}}),{headers:a.headers})}function k(a,d,l,h){d[a]={total:l||0,loaded:0,done:!1};return fetch(a).then(function(e){if(!e.ok)return Promise.reject(Error(`Failed loading file '${a}'`));e=p(e,d[a]);return h?Promise.resolve(e):e.arrayBuffer()})}function b(a,d=1){return a().catch(function(l){return 1>=d?Promise.reject(l):new Promise(function(h,e){setTimeout(function(){b(a,d-1).then(h).catch(e)},1E3)})})}const m={};var g=0,n=0;let f=null;this.R=c;this.S=function(a){f=a};this.j=
function(a,d,l=!1){return b(k.bind(null,a,m,d,l),4)};this.i=[];this.B=function(a,d,l){let h=null;if("string"===typeof a){const e=this;return this.j(a,l).then(function(q){e.i.push({path:d||a,buffer:q});return Promise.resolve()})}a instanceof ArrayBuffer?h=new Uint8Array(a):ArrayBuffer.isView(a)&&(h=new Uint8Array(a.buffer));return h?(this.i.push({path:d,buffer:a}),Promise.resolve()):Promise.reject(Error("Invalid object for preloading"))}};function u(c){function p(k){this.update(k)}p.prototype={M:!0,canvas:null,m:"",D:null,locale:null,s:2,l:[],v:!0,u:!1,serviceWorker:"",L:["/userfs"],K:!1,A:[],o:[],F:null,G:null,J:null,H:function(){console.log.apply(console,Array.from(arguments))},I:function(k){console.error.apply(console,Array.from(arguments))}};p.prototype.update=function(k){function b(g,n){return"undefined"===typeof m[g]?n:m[g]}const m=k||{};this.M=b("unloadAfterInit",this.M);this.I=b("onPrintError",this.I);this.H=b("onPrint",this.H);
this.J=b("onProgress",this.J);this.canvas=b("canvas",this.canvas);this.m=b("executable",this.m);this.D=b("mainPack",this.D);this.locale=b("locale",this.locale);this.s=b("canvasResizePolicy",this.s);this.L=b("persistentPaths",this.L);this.K=b("persistentDrops",this.K);this.u=b("experimentalVK",this.u);this.v=b("focusCanvas",this.v);this.serviceWorker=b("serviceWorker",this.serviceWorker);this.A=b("gdnativeLibs",this.A);this.o=b("fileSizes",this.o);this.l=b("args",this.l);this.F=b("onExecute",this.F);
this.G=b("onExit",this.G)};p.prototype.P=function(k,b){let m=b;return{print:this.H,printErr:this.I,thisProgram:this.m,noExitRuntime:!0,dynamicLibraries:[`${k}.side.wasm`],instantiateWasm:function(g,n){function f(a){n(a.instance,a.module)}"undefined"!==typeof WebAssembly.instantiateStreaming?WebAssembly.instantiateStreaming(Promise.resolve(m),g).then(f):m.arrayBuffer().then(function(a){WebAssembly.instantiate(a,g).then(f)});m=null;return{}},locateFile:function(g){return g.endsWith(".worker.js")?`${k}.worker.js`:
g.endsWith(".audio.worklet.js")?`${k}.audio.worklet.js`:g.endsWith(".js")?`${k}.js`:g.endsWith(".side.wasm")?`${k}.side.wasm`:g.endsWith(".wasm")?`${k}.wasm`:g}}};p.prototype.O=function(k){if(!(this.canvas instanceof HTMLCanvasElement)){var b=document.getElementsByTagName("canvas");b.length&&b[0]instanceof HTMLCanvasElement&&(this.canvas=b[0]);if(!this.canvas)throw Error("No canvas found in page");}0>this.canvas.tabIndex&&(this.canvas.tabIndex=0);b=this.locale;b||(b=navigator.languages?navigator.languages[0]:
navigator.language,b=b.split(".")[0]);b=b.replace("-","_");const m=this.G;return{canvas:this.canvas,canvasResizePolicy:this.s,locale:b,persistentDrops:this.K,virtualKeyboard:this.u,focusCanvas:this.v,onExecute:this.F,onExit:function(g){k();"function"===typeof m&&m(g)}}};return new p(c)};const v=function(){function c(n){this.g=new u(n);this.h=null}function p(n){c.prototype={C:function(f){if(g)return g;if(null==b){if(!f)return g=Promise.reject(Error("A base path must be provided when calling `init` and the engine is not loaded."));c.load(f,this.g.o[`${f}.wasm`])}const a=this;k.S(this.g.J);return g=function(d){return new Promise(function(l){d.then(function(h){h=new Response(h.clone().body,{headers:[["content-type","application/wasm"]]});Godot(a.g.P(m,h)).then(function(e){e.initFS(a.g.L).then(function(){a.h=
e;a.g.M&&c.i();l()})})})})}(b)},N:function(f,a){return k.B(f,a,this.g.o[f])},start:function(f){this.g.update(f);const a=this;return a.C().then(function(){if(!a.h)return Promise.reject(Error("The engine must be initialized before it can be started"));let d={};try{d=a.g.O(function(){a.h=null})}catch(h){return Promise.reject(h)}a.h.initConfig(d);const l=[];a.g.A.forEach(function(h){l.push(a.h.loadDynamicLibrary(h,{loadAsync:!0}))});return Promise.all(l).then(function(){return new Promise(function(h){k.i.forEach(function(e){a.h.copyToFS(e.path,
e.buffer)});k.i.length=0;a.h.callMain(a.g.l);g=null;a.g.serviceWorker&&"serviceWorker"in navigator&&navigator.serviceWorker.register(a.g.serviceWorker);h()})})})},B:function(f){this.g.update(f);f=this.g.m;const a=this.g.D||`${f}.pck`;this.g.l=["--main-pack",a].concat(this.g.l);const d=this;return Promise.all([this.C(f),this.N(a,a)]).then(function(){return d.start.apply(d)})},i:function(f,a){if(null==this.h)throw Error("Engine must be inited before copying files");this.h.copyToFS(f,a)},j:function(){this.h&&
this.h.request_quit()}};c.prototype.init=c.prototype.C;c.prototype.preloadFile=c.prototype.N;c.prototype.start=c.prototype.start;c.prototype.startGame=c.prototype.B;c.prototype.copyToFS=c.prototype.i;c.prototype.requestQuit=c.prototype.j;c.prototype.load=c.load;c.prototype.unload=c.i;c.prototype.isWebGLAvailable=c.j;return new c(n)}const k=new t;let b=null,m="",g=null;c.load=function(n,f){null==b&&(m=n,b=k.j(`${m}.wasm`,f,!0),requestAnimationFrame(k.R));return b};c.i=function(){b=null};c.j=function(n=
1){try{return!!document.createElement("canvas").getContext(["webgl","webgl2"][n-1])}catch(f){}return!1};p.load=c.load;p.unload=c.i;p.isWebGLAvailable=c.j;return p}();"undefined"!==typeof window&&(window.Engine=v);
