x_ite 11.5.9 → 11.5.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/X3DUOM.xml +2 -0
- package/dist/assets/components/AnnotationComponent.js +2 -2
- package/dist/assets/components/AnnotationComponent.min.js +2 -2
- package/dist/assets/components/CADGeometryComponent.js +2 -2
- package/dist/assets/components/CADGeometryComponent.min.js +2 -2
- package/dist/assets/components/CubeMapTexturingComponent.js +5 -5
- package/dist/assets/components/CubeMapTexturingComponent.min.js +2 -2
- package/dist/assets/components/DISComponent.js +2 -2
- package/dist/assets/components/DISComponent.min.js +2 -2
- package/dist/assets/components/EventUtilitiesComponent.js +2 -2
- package/dist/assets/components/EventUtilitiesComponent.min.js +2 -2
- package/dist/assets/components/Geometry2DComponent.js +2 -2
- package/dist/assets/components/Geometry2DComponent.min.js +2 -2
- package/dist/assets/components/GeospatialComponent.js +2 -2
- package/dist/assets/components/GeospatialComponent.min.js +2 -2
- package/dist/assets/components/HAnimComponent.js +77 -2
- package/dist/assets/components/HAnimComponent.min.js +2 -2
- package/dist/assets/components/KeyDeviceSensorComponent.js +2 -2
- package/dist/assets/components/KeyDeviceSensorComponent.min.js +2 -2
- package/dist/assets/components/LayoutComponent.js +2 -2
- package/dist/assets/components/LayoutComponent.min.js +2 -2
- package/dist/assets/components/NURBSComponent.js +2 -2
- package/dist/assets/components/NURBSComponent.min.js +2 -2
- package/dist/assets/components/ParticleSystemsComponent.js +19 -19
- package/dist/assets/components/ParticleSystemsComponent.min.js +2 -2
- package/dist/assets/components/PickingComponent.js +2 -2
- package/dist/assets/components/PickingComponent.min.js +2 -2
- package/dist/assets/components/RigidBodyPhysicsComponent.js +16 -6
- package/dist/assets/components/RigidBodyPhysicsComponent.min.js +2 -2
- package/dist/assets/components/ScriptingComponent.js +2 -2
- package/dist/assets/components/ScriptingComponent.min.js +2 -2
- package/dist/assets/components/TextComponent.js +226 -114
- package/dist/assets/components/TextComponent.min.js +2 -2
- package/dist/assets/components/TextureProjectionComponent.js +2 -2
- package/dist/assets/components/TextureProjectionComponent.min.js +2 -2
- package/dist/assets/components/Texturing3DComponent.js +1504 -1498
- package/dist/assets/components/Texturing3DComponent.min.js +2 -2
- package/dist/assets/components/VolumeRenderingComponent.js +8 -8
- package/dist/assets/components/VolumeRenderingComponent.min.js +2 -2
- package/dist/assets/components/WebXRComponent.js +2 -2
- package/dist/assets/components/WebXRComponent.min.js +2 -2
- package/dist/assets/components/X_ITEComponent.js +276 -72
- package/dist/assets/components/X_ITEComponent.min.js +2 -2
- package/dist/assets/lib/draco_decoder_gltf.js +1 -1
- package/dist/assets/lib/libktx.js +1 -1
- package/dist/assets/lib/woff2_decoder.js +1 -1
- package/dist/example.html +1 -1
- package/dist/x_ite.css +1 -1
- package/dist/x_ite.js +54637 -54693
- package/dist/x_ite.min.js +2 -2
- package/dist/x_ite.min.mjs +2 -2
- package/dist/x_ite.mjs +54460 -54516
- package/dist/x_ite.zip +0 -0
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
return function(r,e){var t,n,o=void 0,a=void 0!==(r=r||{})?r:{};a.ready=new Promise(((r,e)=>{t=r,n=e}));var i,s,u,f=Object.assign({},a),c="./this.program",l=(r,e)=>{throw e},d="object"==typeof window,m="function"==typeof importScripts,v="object"==typeof o&&"object"==typeof o.versions&&"string"==typeof o.versions.node,p="";if(v){var h=require("fs"),g=require("path");p=m?g.dirname(p)+"/":__dirname+"/",i=(r,e)=>(r=X(r)?new URL(r):g.normalize(r),h.readFileSync(r,e?void 0:"utf8")),u=r=>{var e=i(r,!0);return e.buffer||(e=new Uint8Array(e)),e},s=(r,e,t,n=!0)=>{r=X(r)?new URL(r):g.normalize(r),h.readFile(r,n?void 0:"utf8",((r,o)=>{r?t(r):e(n?o.buffer:o)}))},!a.thisProgram&&o.argv.length>1&&(c=o.argv[1].replace(/\\/g,"/")),o.argv.slice(2),l=(r,e)=>{throw o.exitCode=r,e},a.inspect=()=>"[Emscripten Module object]"}else(d||m)&&(m?p=self.location.href:"undefined"!=typeof document&&document.currentScript&&(p=document.currentScript.src),e&&(p=e),p=0!==p.indexOf("blob:")?p.substr(0,p.replace(/[?#].*/,"").lastIndexOf("/")+1):"",i=r=>{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.send(null),e.responseText},m&&(u=r=>{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),s=(r,e,t)=>{var n=new XMLHttpRequest;n.open("GET",r,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?e(n.response):t()},n.onerror=t,n.send(null)},r=>document.title=r);var y,b=a.print||console.log.bind(console),w=a.printErr||console.error.bind(console);Object.assign(a,f),f=null,a.arguments&&a.arguments,a.thisProgram&&(c=a.thisProgram),a.quit&&(l=a.quit),a.wasmBinary&&(y=a.wasmBinary);var E,x=a.noExitRuntime||!0;"object"!=typeof WebAssembly&&W("no native wasm support detected");var _,k,P,C,A,T,B,S,$,D=!1;function F(r,e){r||W(e)}function M(){var r=E.buffer;a.HEAP8=_=new Int8Array(r),a.HEAP16=P=new Int16Array(r),a.HEAP32=A=new Int32Array(r),a.HEAPU8=k=new Uint8Array(r),a.HEAPU16=C=new Uint16Array(r),a.HEAPU32=T=new Uint32Array(r),a.HEAPF32=B=new Float32Array(r),a.HEAPF64=S=new Float64Array(r)}var I=[],L=[],j=[];var R=0,V=null,O=null;function U(r){R++,a.monitorRunDependencies&&a.monitorRunDependencies(R)}function N(r){if(R--,a.monitorRunDependencies&&a.monitorRunDependencies(R),0==R&&(null!==V&&(clearInterval(V),V=null),O)){var e=O;O=null,e()}}function W(r){a.onAbort&&a.onAbort(r),w(r="Aborted("+r+")"),D=!0,r+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(r);throw n(e),e}var z,G,H,q;function Q(r){return r.startsWith("data:application/octet-stream;base64,")}function X(r){return r.startsWith("file://")}function Y(r){try{if(r==z&&y)return new Uint8Array(y);if(u)return u(r);throw"both async and sync fetching of the wasm failed"}catch(r){W(r)}}function Z(r,e,t){return function(r){if(!y&&(d||m)){if("function"==typeof fetch&&!X(r))return fetch(r,{credentials:"same-origin"}).then((e=>{if(!e.ok)throw"failed to load wasm binary file at '"+r+"'";return e.arrayBuffer()})).catch((()=>Y(r)));if(s)return new Promise(((e,t)=>{s(r,(r=>e(new Uint8Array(r))),t)}))}return Promise.resolve().then((()=>Y(r)))}(r).then((r=>WebAssembly.instantiate(r,e))).then((r=>r)).then(t,(r=>{w("failed to asynchronously prepare wasm: "+r),W(r)}))}function J(r){this.name="ExitStatus",this.message=`Program terminated with exit(${r})`,this.status=r}function K(r){for(;r.length>0;)r.shift()(a)}function rr(r){this.excPtr=r,this.ptr=r-24,this.set_type=function(r){T[this.ptr+4>>2]=r},this.get_type=function(){return T[this.ptr+4>>2]},this.set_destructor=function(r){T[this.ptr+8>>2]=r},this.get_destructor=function(){return T[this.ptr+8>>2]},this.set_caught=function(r){r=r?1:0,_[this.ptr+12|0]=r},this.get_caught=function(){return 0!=_[this.ptr+12|0]},this.set_rethrown=function(r){r=r?1:0,_[this.ptr+13|0]=r},this.get_rethrown=function(){return 0!=_[this.ptr+13|0]},this.init=function(r,e){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(e)},this.set_adjusted_ptr=function(r){T[this.ptr+16>>2]=r},this.get_adjusted_ptr=function(){return T[this.ptr+16>>2]},this.get_exception_ptr=function(){if(eu(this.get_type()))return T[this.excPtr>>2];var r=this.get_adjusted_ptr();return 0!==r?r:this.excPtr}}Q(z="libktx.wasm")||(G=z,z=a.locateFile?a.locateFile(G,p):p+G);var er={};function tr(r){for(;r.length;){var e=r.pop();r.pop()(e)}}function nr(r){return this.fromWireType(A[r>>2])}var or={},ar={},ir={};function sr(r){if(void 0===r)return"_unknown";var e=(r=r.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return e>=48&&e<=57?`_${r}`:r}function ur(r,e){return r=sr(r),{[r]:function(){return e.apply(this,arguments)}}[r]}function fr(r,e){var t=ur(e,(function(r){this.name=e,this.message=r;var t=new Error(r).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}));return t.prototype=Object.create(r.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},t}var cr=void 0;function lr(r){throw new cr(r)}function dr(r,e,t){function n(e){var n=t(e);n.length!==r.length&&lr("Mismatched type converter count");for(var o=0;o<r.length;++o)yr(r[o],n[o])}r.forEach((function(r){ir[r]=e}));var o=new Array(e.length),a=[],i=0;e.forEach(((r,e)=>{ar.hasOwnProperty(r)?o[e]=ar[r]:(a.push(r),or.hasOwnProperty(r)||(or[r]=[]),or[r].push((()=>{o[e]=ar[r],++i===a.length&&n(o)})))})),0===a.length&&n(o)}function mr(r){switch(r){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${r}`)}}var vr=void 0;function pr(r){for(var e="",t=r;k[t];)e+=vr[k[t++]];return e}var hr=void 0;function gr(r){throw new hr(r)}function yr(r,e,t={}){if(!("argPackAdvance"in e))throw new TypeError("registerType registeredInstance requires argPackAdvance");var n=e.name;if(r||gr(`type "${n}" must have a positive integer typeid pointer`),ar.hasOwnProperty(r)){if(t.ignoreDuplicateRegistrations)return;gr(`Cannot register type '${n}' twice`)}if(ar[r]=e,delete ir[r],or.hasOwnProperty(r)){var o=or[r];delete or[r],o.forEach((r=>r()))}}function br(r){if(!(this instanceof Ur))return!1;if(!(r instanceof Ur))return!1;for(var e=this.$$.ptrType.registeredClass,t=this.$$.ptr,n=r.$$.ptrType.registeredClass,o=r.$$.ptr;e.baseClass;)t=e.upcast(t),e=e.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return e===n&&t===o}function wr(r){gr(r.$$.ptrType.registeredClass.name+" instance already deleted")}var Er=!1;function xr(r){}function _r(r){r.count.value-=1,0===r.count.value&&function(r){r.smartPtr?r.smartPtrType.rawDestructor(r.smartPtr):r.ptrType.registeredClass.rawDestructor(r.ptr)}(r)}function kr(r,e,t){if(e===t)return r;if(void 0===t.baseClass)return null;var n=kr(r,e,t.baseClass);return null===n?null:t.downcast(n)}var Pr={};function Cr(){return Object.keys(Dr).length}function Ar(){var r=[];for(var e in Dr)Dr.hasOwnProperty(e)&&r.push(Dr[e]);return r}var Tr=[];function Br(){for(;Tr.length;){var r=Tr.pop();r.$$.deleteScheduled=!1,r.delete()}}var Sr=void 0;function $r(r){Sr=r,Tr.length&&Sr&&Sr(Br)}var Dr={};function Fr(r,e){return e=function(r,e){for(void 0===e&&gr("ptr should not be undefined");r.baseClass;)e=r.upcast(e),r=r.baseClass;return e}(r,e),Dr[e]}function Mr(r,e){return e.ptrType&&e.ptr||lr("makeClassHandle requires ptr and ptrType"),!!e.smartPtrType!==!!e.smartPtr&&lr("Both smartPtrType and smartPtr must be specified"),e.count={value:1},Lr(Object.create(r,{$$:{value:e}}))}function Ir(r){var e=this.getPointee(r);if(!e)return this.destructor(r),null;var t=Fr(this.registeredClass,e);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=e,t.$$.smartPtr=r,t.clone();var n=t.clone();return this.destructor(r),n}function o(){return this.isSmartPointer?Mr(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:e,smartPtrType:this,smartPtr:r}):Mr(this.registeredClass.instancePrototype,{ptrType:this,ptr:r})}var a,i=this.registeredClass.getActualType(e),s=Pr[i];if(!s)return o.call(this);a=this.isConst?s.constPointerType:s.pointerType;var u=kr(e,this.registeredClass,a.registeredClass);return null===u?o.call(this):this.isSmartPointer?Mr(a.registeredClass.instancePrototype,{ptrType:a,ptr:u,smartPtrType:this,smartPtr:r}):Mr(a.registeredClass.instancePrototype,{ptrType:a,ptr:u})}function Lr(r){return"undefined"==typeof FinalizationRegistry?(Lr=r=>r,r):(Er=new FinalizationRegistry((r=>{_r(r.$$)})),Lr=r=>{var e=r.$$;if(!!e.smartPtr){var t={$$:e};Er.register(r,t,r)}return r},xr=r=>Er.unregister(r),Lr(r))}function jr(){if(this.$$.ptr||wr(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var r,e=Lr(Object.create(Object.getPrototypeOf(this),{$$:{value:(r=this.$$,{count:r.count,deleteScheduled:r.deleteScheduled,preservePointerOnDelete:r.preservePointerOnDelete,ptr:r.ptr,ptrType:r.ptrType,smartPtr:r.smartPtr,smartPtrType:r.smartPtrType})}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function Rr(){this.$$.ptr||wr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&gr("Object already scheduled for deletion"),xr(this),_r(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function Vr(){return!this.$$.ptr}function Or(){return this.$$.ptr||wr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&gr("Object already scheduled for deletion"),Tr.push(this),1===Tr.length&&Sr&&Sr(Br),this.$$.deleteScheduled=!0,this}function Ur(){}function Nr(r,e,t){if(void 0===r[e].overloadTable){var n=r[e];r[e]=function(){return r[e].overloadTable.hasOwnProperty(arguments.length)||gr(`Function '${t}' called with an invalid number of arguments (${arguments.length}) - expects one of (${r[e].overloadTable})!`),r[e].overloadTable[arguments.length].apply(this,arguments)},r[e].overloadTable=[],r[e].overloadTable[n.argCount]=n}}function Wr(r,e,t){a.hasOwnProperty(r)?((void 0===t||void 0!==a[r].overloadTable&&void 0!==a[r].overloadTable[t])&&gr(`Cannot register public name '${r}' twice`),Nr(a,r,r),a.hasOwnProperty(t)&&gr(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`),a[r].overloadTable[t]=e):(a[r]=e,void 0!==t&&(a[r].numArguments=t))}function zr(r,e,t,n,o,a,i,s){this.name=r,this.constructor=e,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=o,this.getActualType=a,this.upcast=i,this.downcast=s,this.pureVirtualFunctions=[]}function Gr(r,e,t){for(;e!==t;)e.upcast||gr(`Expected null or instance of ${t.name}, got an instance of ${e.name}`),r=e.upcast(r),e=e.baseClass;return r}function Hr(r,e){if(null===e)return this.isReference&&gr(`null is not a valid ${this.name}`),0;e.$$||gr(`Cannot pass "${he(e)}" as a ${this.name}`),e.$$.ptr||gr(`Cannot pass deleted object as a pointer of type ${this.name}`);var t=e.$$.ptrType.registeredClass;return Gr(e.$$.ptr,t,this.registeredClass)}function qr(r,e){var t;if(null===e)return this.isReference&&gr(`null is not a valid ${this.name}`),this.isSmartPointer?(t=this.rawConstructor(),null!==r&&r.push(this.rawDestructor,t),t):0;e.$$||gr(`Cannot pass "${he(e)}" as a ${this.name}`),e.$$.ptr||gr(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&e.$$.ptrType.isConst&&gr(`Cannot convert argument of type ${e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name} to parameter type ${this.name}`);var n=e.$$.ptrType.registeredClass;if(t=Gr(e.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===e.$$.smartPtr&&gr("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:e.$$.smartPtrType===this?t=e.$$.smartPtr:gr(`Cannot convert argument of type ${e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:t=e.$$.smartPtr;break;case 2:if(e.$$.smartPtrType===this)t=e.$$.smartPtr;else{var o=e.clone();t=this.rawShare(t,me.toHandle((function(){o.delete()}))),null!==r&&r.push(this.rawDestructor,t)}break;default:gr("Unsupporting sharing policy")}return t}function Qr(r,e){if(null===e)return this.isReference&&gr(`null is not a valid ${this.name}`),0;e.$$||gr(`Cannot pass "${he(e)}" as a ${this.name}`),e.$$.ptr||gr(`Cannot pass deleted object as a pointer of type ${this.name}`),e.$$.ptrType.isConst&&gr(`Cannot convert argument of type ${e.$$.ptrType.name} to parameter type ${this.name}`);var t=e.$$.ptrType.registeredClass;return Gr(e.$$.ptr,t,this.registeredClass)}function Xr(r){return this.rawGetPointee&&(r=this.rawGetPointee(r)),r}function Yr(r){this.rawDestructor&&this.rawDestructor(r)}function Zr(r){null!==r&&r.delete()}function Jr(r,e,t,n,o,a,i,s,u,f,c){this.name=r,this.registeredClass=e,this.isReference=t,this.isConst=n,this.isSmartPointer=o,this.pointeeType=a,this.sharingPolicy=i,this.rawGetPointee=s,this.rawConstructor=u,this.rawShare=f,this.rawDestructor=c,o||void 0!==e.baseClass?this.toWireType=qr:n?(this.toWireType=Hr,this.destructorFunction=null):(this.toWireType=Qr,this.destructorFunction=null)}var Kr=[];function re(r){var e=Kr[r];return e||(r>=Kr.length&&(Kr.length=r+1),Kr[r]=e=$.get(r)),e}function ee(r,e,t){return r.includes("j")?function(r,e,t){var n=a["dynCall_"+r];return t&&t.length?n.apply(null,[e].concat(t)):n.call(null,e)}(r,e,t):re(e).apply(null,t)}function te(r,e){var t,n,o,a=(r=pr(r)).includes("j")?(t=r,n=e,o=[],function(){return o.length=0,Object.assign(o,arguments),ee(t,n,o)}):re(e);return"function"!=typeof a&&gr(`unknown function pointer with signature ${r}: ${e}`),a}var ne=void 0;function oe(r){var e=ru(r),t=pr(e);return Js(e),t}function ae(r,e){var t=[],n={};throw e.forEach((function r(e){n[e]||ar[e]||(ir[e]?ir[e].forEach(r):(t.push(e),n[e]=!0))})),new ne(`${r}: `+t.map(oe).join([", "]))}function ie(r,e){for(var t=[],n=0;n<r;n++)t.push(T[e+4*n>>2]);return t}function se(r,e){if(!(r instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof r} which is not a function`);var t=ur(r.name||"unknownFunctionName",(function(){}));t.prototype=r.prototype;var n=new t,o=r.apply(n,e);return o instanceof Object?o:n}function ue(r,e,t,n,o,a){var i=e.length;i<2&&gr("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==e[1]&&null!==t,u=!1,f=1;f<e.length;++f)if(null!==e[f]&&void 0===e[f].destructorFunction){u=!0;break}var c="void"!==e[0].name,l="",d="";for(f=0;f<i-2;++f)l+=(0!==f?", ":"")+"arg"+f,d+=(0!==f?", ":"")+"arg"+f+"Wired";var m=`\n return function ${sr(r)}(${l}) {\n if (arguments.length !== ${i-2}) {\n throwBindingError('function ${r} called with ${arguments.length} arguments, expected ${i-2} args!');\n }`;u&&(m+="var destructors = [];\n");var v=u?"destructors":"null",p=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],h=[gr,n,o,tr,e[0],e[1]];s&&(m+="var thisWired = classParam.toWireType("+v+", this);\n");for(f=0;f<i-2;++f)m+="var arg"+f+"Wired = argType"+f+".toWireType("+v+", arg"+f+"); // "+e[f+2].name+"\n",p.push("argType"+f),h.push(e[f+2]);if(s&&(d="thisWired"+(d.length>0?", ":"")+d),m+=(c||a?"var rv = ":"")+"invoker(fn"+(d.length>0?", ":"")+d+");\n",u)m+="runDestructors(destructors);\n";else for(f=s?1:2;f<e.length;++f){var g=1===f?"thisWired":"arg"+(f-2)+"Wired";null!==e[f].destructorFunction&&(m+=g+"_dtor("+g+"); // "+e[f].name+"\n",p.push(g+"_dtor"),h.push(e[f].destructorFunction))}return c&&(m+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),m+="}\n",p.push(m),se(Function,p).apply(null,h)}function fe(r,e,t){return r instanceof Object||gr(`${t} with invalid "this": ${r}`),r instanceof e.registeredClass.constructor||gr(`${t} incompatible with "this" of type ${r.constructor.name}`),r.$$.ptr||gr(`cannot call emscripten binding method ${t} on deleted object`),Gr(r.$$.ptr,r.$$.ptrType.registeredClass,e.registeredClass)}var ce=new function(){this.allocated=[void 0],this.freelist=[],this.get=function(r){return this.allocated[r]},this.has=function(r){return void 0!==this.allocated[r]},this.allocate=function(r){var e=this.freelist.pop()||this.allocated.length;return this.allocated[e]=r,e},this.free=function(r){this.allocated[r]=void 0,this.freelist.push(r)}};function le(r){r>=ce.reserved&&0===--ce.get(r).refcount&&ce.free(r)}function de(){for(var r=0,e=ce.reserved;e<ce.allocated.length;++e)void 0!==ce.allocated[e]&&++r;return r}var me={toValue:r=>(r||gr("Cannot use deleted val. handle = "+r),ce.get(r).value),toHandle:r=>{switch(r){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return ce.allocate({refcount:1,value:r})}}};function ve(r,e,t){switch(e){case 0:return function(r){var e=t?_:k;return this.fromWireType(e[r])};case 1:return function(r){var e=t?P:C;return this.fromWireType(e[r>>1])};case 2:return function(r){var e=t?A:T;return this.fromWireType(e[r>>2])};default:throw new TypeError("Unknown integer type: "+r)}}function pe(r,e){var t=ar[r];return void 0===t&&gr(e+" has unknown type "+oe(r)),t}function he(r){if(null===r)return"null";var e=typeof r;return"object"===e||"array"===e||"function"===e?r.toString():""+r}function ge(r,e){switch(e){case 2:return function(r){return this.fromWireType(B[r>>2])};case 3:return function(r){return this.fromWireType(S[r>>3])};default:throw new TypeError("Unknown float type: "+r)}}function ye(r,e,t){switch(e){case 0:return t?function(r){return _[r]}:function(r){return k[r]};case 1:return t?function(r){return P[r>>1]}:function(r){return C[r>>1]};case 2:return t?function(r){return A[r>>2]}:function(r){return T[r>>2]};default:throw new TypeError("Unknown integer type: "+r)}}function be(r,e,t,n){if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i<r.length;++i){var s=r.charCodeAt(i);if(s>=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&r.charCodeAt(++i);if(s<=127){if(t>=a)break;e[t++]=s}else if(s<=2047){if(t+1>=a)break;e[t++]=192|s>>6,e[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;e[t++]=224|s>>12,e[t++]=128|s>>6&63,e[t++]=128|63&s}else{if(t+3>=a)break;e[t++]=240|s>>18,e[t++]=128|s>>12&63,e[t++]=128|s>>6&63,e[t++]=128|63&s}}return e[t]=0,t-o}function we(r,e,t){return be(r,k,e,t)}function Ee(r){for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n<=127?e++:n<=2047?e+=2:n>=55296&&n<=57343?(e+=4,++t):e+=3}return e}var xe="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function _e(r,e,t){for(var n=e+t,o=e;r[o]&&!(o>=n);)++o;if(o-e>16&&r.buffer&&xe)return xe.decode(r.subarray(e,o));for(var a="";e<o;){var i=r[e++];if(128&i){var s=63&r[e++];if(192!=(224&i)){var u=63&r[e++];if((i=224==(240&i)?(15&i)<<12|s<<6|u:(7&i)<<18|s<<12|u<<6|63&r[e++])<65536)a+=String.fromCharCode(i);else{var f=i-65536;a+=String.fromCharCode(55296|f>>10,56320|1023&f)}}else a+=String.fromCharCode((31&i)<<6|s)}else a+=String.fromCharCode(i)}return a}function ke(r,e){return r?_e(k,r,e):""}var Pe="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Ce(r,e){for(var t=r,n=t>>1,o=n+e/2;!(n>=o)&&C[n];)++n;if((t=n<<1)-r>32&&Pe)return Pe.decode(k.subarray(r,t));for(var a="",i=0;!(i>=e/2);++i){var s=P[r+2*i>>1];if(0==s)break;a+=String.fromCharCode(s)}return a}function Ae(r,e,t){if(void 0===t&&(t=2147483647),t<2)return 0;for(var n=e,o=(t-=2)<2*r.length?t/2:r.length,a=0;a<o;++a){var i=r.charCodeAt(a);P[e>>1]=i,e+=2}return P[e>>1]=0,e-n}function Te(r){return 2*r.length}function Be(r,e){for(var t=0,n="";!(t>=e/4);){var o=A[r+4*t>>2];if(0==o)break;if(++t,o>=65536){var a=o-65536;n+=String.fromCharCode(55296|a>>10,56320|1023&a)}else n+=String.fromCharCode(o)}return n}function Se(r,e,t){if(void 0===t&&(t=2147483647),t<4)return 0;for(var n=e,o=n+t-4,a=0;a<r.length;++a){var i=r.charCodeAt(a);if(i>=55296&&i<=57343)i=65536+((1023&i)<<10)|1023&r.charCodeAt(++a);if(A[e>>2]=i,(e+=4)+4>o)break}return A[e>>2]=0,e-n}function $e(r){for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n>=55296&&n<=57343&&++t,e+=4}return e}var De={};function Fe(r){var e=De[r];return void 0===e?pr(r):e}var Me=[];var Ie=[];var Le={};var je={counter:1,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function(r){je.lastError||(je.lastError=r)},getNewId:function(r){for(var e=je.counter++,t=r.length;t<e;t++)r[t]=null;return e},MAX_TEMP_BUFFER_SIZE:2097152,numTempVertexBuffersPerSize:64,log2ceilLookup:function(r){return 32-Math.clz32(0===r?0:r-1)},generateTempBuffers:function(r,e){var t=je.log2ceilLookup(je.MAX_TEMP_BUFFER_SIZE);e.tempVertexBufferCounters1=[],e.tempVertexBufferCounters2=[],e.tempVertexBufferCounters1.length=e.tempVertexBufferCounters2.length=t+1,e.tempVertexBuffers1=[],e.tempVertexBuffers2=[],e.tempVertexBuffers1.length=e.tempVertexBuffers2.length=t+1,e.tempIndexBuffers=[],e.tempIndexBuffers.length=t+1;for(var n=0;n<=t;++n){e.tempIndexBuffers[n]=null,e.tempVertexBufferCounters1[n]=e.tempVertexBufferCounters2[n]=0;var o=je.numTempVertexBuffersPerSize;e.tempVertexBuffers1[n]=[],e.tempVertexBuffers2[n]=[];var a=e.tempVertexBuffers1[n],i=e.tempVertexBuffers2[n];a.length=i.length=o;for(var s=0;s<o;++s)a[s]=i[s]=null}if(r){e.tempQuadIndexBuffer=Os.createBuffer(),e.GLctx.bindBuffer(34963,e.tempQuadIndexBuffer);for(var u=je.MAX_TEMP_BUFFER_SIZE>>1,f=new Uint16Array(u),c=(n=0,0);!(f[n++]=c,n>=u||(f[n++]=c+1,n>=u)||(f[n++]=c+2,n>=u)||(f[n++]=c,n>=u)||(f[n++]=c+2,n>=u)||(f[n++]=c+3,n>=u));)c+=4;e.GLctx.bufferData(34963,f,35044),e.GLctx.bindBuffer(34963,null)}},getTempVertexBuffer:function(r){var e=je.log2ceilLookup(r),t=je.currentContext.tempVertexBuffers1[e],n=je.currentContext.tempVertexBufferCounters1[e];je.currentContext.tempVertexBufferCounters1[e]=je.currentContext.tempVertexBufferCounters1[e]+1&je.numTempVertexBuffersPerSize-1;var o=t[n];if(o)return o;var a=Os.getParameter(34964);return t[n]=Os.createBuffer(),Os.bindBuffer(34962,t[n]),Os.bufferData(34962,1<<e,35048),Os.bindBuffer(34962,a),t[n]},getTempIndexBuffer:function(r){var e=je.log2ceilLookup(r),t=je.currentContext.tempIndexBuffers[e];if(t)return t;var n=Os.getParameter(34965);return je.currentContext.tempIndexBuffers[e]=Os.createBuffer(),Os.bindBuffer(34963,je.currentContext.tempIndexBuffers[e]),Os.bufferData(34963,1<<e,35048),Os.bindBuffer(34963,n),je.currentContext.tempIndexBuffers[e]},newRenderingFrameStarted:function(){if(je.currentContext){var r=je.currentContext.tempVertexBuffers1;je.currentContext.tempVertexBuffers1=je.currentContext.tempVertexBuffers2,je.currentContext.tempVertexBuffers2=r,r=je.currentContext.tempVertexBufferCounters1,je.currentContext.tempVertexBufferCounters1=je.currentContext.tempVertexBufferCounters2,je.currentContext.tempVertexBufferCounters2=r;for(var e=je.log2ceilLookup(je.MAX_TEMP_BUFFER_SIZE),t=0;t<=e;++t)je.currentContext.tempVertexBufferCounters1[t]=0}},getSource:function(r,e,t,n){for(var o="",a=0;a<e;++a){var i=n?A[n+4*a>>2]:-1;o+=ke(A[t+4*a>>2],i<0?void 0:i)}return o},calcBufLength:function(r,e,t,n){return t>0?n*t:r*je.byteSizeByType[e-je.byteSizeByTypeRoot]*n},usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:function(r){je.resetBufferBinding=!1;for(var e=0;e<je.currentContext.maxVertexAttribs;++e){var t=je.currentContext.clientBuffers[e];if(t.clientside&&t.enabled){je.resetBufferBinding=!0;var n=je.calcBufLength(t.size,t.type,t.stride,r),o=je.getTempVertexBuffer(n);Os.bindBuffer(34962,o),Os.bufferSubData(34962,0,k.subarray(t.ptr,t.ptr+n)),t.vertexAttribPointerAdaptor.call(Os,e,t.size,t.type,t.normalized,t.stride,0)}}},postDrawHandleClientVertexAttribBindings:function(){je.resetBufferBinding&&Os.bindBuffer(34962,je.buffers[Os.currentArrayBufferBinding])},createContext:function(r,e){if(a.preinitializedWebGLContext){var t=a.preinitializedWebGLContext;e.majorVersion=Number(t.getParameter(t.VERSION).match(/^WebGL (\d+).\d+/)[1])}else{if(!r.getContextSafariWebGL2Fixed){r.getContextSafariWebGL2Fixed=r.getContext,r.getContext=function(e,t){var n=r.getContextSafariWebGL2Fixed(e,t);return"webgl"==e==n instanceof WebGLRenderingContext?n:null}}t=e.majorVersion>1?r.getContext("webgl2",e):r.getContext("webgl",e)}return t?je.registerContext(t,e):0},registerContext:function(r,e){var t=je.getNewId(je.contexts),n={handle:t,attributes:e,version:e.majorVersion,GLctx:r};r.canvas&&(r.canvas.GLctxObject=n),je.contexts[t]=n,(void 0===e.enableExtensionsByDefault||e.enableExtensionsByDefault)&&je.initExtensions(n),n.maxVertexAttribs=n.GLctx.getParameter(34921),n.clientBuffers=[];for(var o=0;o<n.maxVertexAttribs;o++)n.clientBuffers[o]={enabled:!1,clientside:!1,size:0,type:0,normalized:0,stride:0,ptr:0,vertexAttribPointerAdaptor:null};return je.generateTempBuffers(!1,n),t},makeContextCurrent:function(r){return je.currentContext=je.contexts[r],a.ctx=Os=je.currentContext&&je.currentContext.GLctx,!(r&&!Os)},getContext:function(r){return je.contexts[r]},deleteContext:function(r){je.currentContext===je.contexts[r]&&(je.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(je.contexts[r].GLctx.canvas),je.contexts[r]&&je.contexts[r].GLctx.canvas&&(je.contexts[r].GLctx.canvas.GLctxObject=void 0),je.contexts[r]=null},initExtensions:function(r){if(r||(r=je.currentContext),!r.initExtensionsDone){r.initExtensionsDone=!0;var e,t=r.GLctx;!function(r){var e=r.getExtension("ANGLE_instanced_arrays");if(e)r.vertexAttribDivisor=function(r,t){e.vertexAttribDivisorANGLE(r,t)},r.drawArraysInstanced=function(r,t,n,o){e.drawArraysInstancedANGLE(r,t,n,o)},r.drawElementsInstanced=function(r,t,n,o,a){e.drawElementsInstancedANGLE(r,t,n,o,a)}}(t),function(r){var e=r.getExtension("OES_vertex_array_object");if(e)r.createVertexArray=function(){return e.createVertexArrayOES()},r.deleteVertexArray=function(r){e.deleteVertexArrayOES(r)},r.bindVertexArray=function(r){e.bindVertexArrayOES(r)},r.isVertexArray=function(r){return e.isVertexArrayOES(r)}}(t),function(r){var e=r.getExtension("WEBGL_draw_buffers");if(e)r.drawBuffers=function(r,t){e.drawBuffersWEBGL(r,t)}}(t),(e=t).dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),function(r){r.mdibvbi=r.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")}(t),r.version>=2&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query_webgl2")),(r.version<2||!t.disjointTimerQueryExt)&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query")),function(r){r.multiDrawWebgl=r.getExtension("WEBGL_multi_draw")}(t),(t.getSupportedExtensions()||[]).forEach((function(r){r.includes("lose_context")||r.includes("debug")||t.getExtension(r)}))}}};var Re=function(r){Os.activeTexture(r)};var Ve=function(r,e){Os.attachShader(je.programs[r],je.shaders[e])};var Oe=function(r,e){Os.beginQuery(r,je.queries[e])};var Ue=function(r,e){Os.disjointTimerQueryExt.beginQueryEXT(r,je.queries[e])};var Ne=function(r){Os.beginTransformFeedback(r)};var We=function(r,e,t){Os.bindAttribLocation(je.programs[r],e,ke(t))};var ze=function(r,e){34962==r?Os.currentArrayBufferBinding=e:34963==r&&(Os.currentElementArrayBufferBinding=e),35051==r?Os.currentPixelPackBufferBinding=e:35052==r&&(Os.currentPixelUnpackBufferBinding=e),Os.bindBuffer(r,je.buffers[e])};var Ge=function(r,e,t){Os.bindBufferBase(r,e,je.buffers[t])};var He=function(r,e,t,n,o){Os.bindBufferRange(r,e,je.buffers[t],n,o)};var qe=function(r,e){Os.bindFramebuffer(r,je.framebuffers[e])};var Qe=function(r,e){Os.bindRenderbuffer(r,je.renderbuffers[e])};var Xe=function(r,e){Os.bindSampler(r,je.samplers[e])};var Ye=function(r,e){Os.bindTexture(r,je.textures[e])};var Ze=function(r,e){Os.bindTransformFeedback(r,je.transformFeedbacks[e])};function Je(r){Os.bindVertexArray(je.vaos[r]);var e=Os.getParameter(34965);Os.currentElementArrayBufferBinding=e?0|e.name:0}var Ke=Je,rt=Je;var et=function(r,e,t,n){Os.blendColor(r,e,t,n)};var tt=function(r){Os.blendEquation(r)};var nt=function(r,e){Os.blendEquationSeparate(r,e)};var ot=function(r,e){Os.blendFunc(r,e)};var at=function(r,e,t,n){Os.blendFuncSeparate(r,e,t,n)};var it=function(r,e,t,n,o,a,i,s,u,f){Os.blitFramebuffer(r,e,t,n,o,a,i,s,u,f)};var st=function(r,e,t,n){je.currentContext.version>=2?t&&e?Os.bufferData(r,k,n,t,e):Os.bufferData(r,e,n):Os.bufferData(r,t?k.subarray(t,t+e):e,n)};var ut=function(r,e,t,n){je.currentContext.version>=2?t&&Os.bufferSubData(r,e,k,n,t):Os.bufferSubData(r,e,k.subarray(n,n+t))};var ft=function(r){return Os.checkFramebufferStatus(r)};var ct=function(r){Os.clear(r)};var lt=function(r,e,t,n){Os.clearBufferfi(r,e,t,n)};var dt=function(r,e,t){Os.clearBufferfv(r,e,B,t>>2)};var mt=function(r,e,t){Os.clearBufferiv(r,e,A,t>>2)};var vt=function(r,e,t){Os.clearBufferuiv(r,e,T,t>>2)};var pt=function(r,e,t,n){Os.clearColor(r,e,t,n)};var ht=function(r){Os.clearDepth(r)};var gt=function(r){Os.clearStencil(r)};function yt(r,e){return(r>>>0)+4294967296*e}var bt=function(r,e,t,n){var o=yt(t,n);return Os.clientWaitSync(je.syncs[r],e,o)};var wt=function(r,e,t,n){Os.colorMask(!!r,!!e,!!t,!!n)};var Et=function(r){Os.compileShader(je.shaders[r])};var xt=function(r,e,t,n,o,a,i,s){je.currentContext.version>=2?Os.currentPixelUnpackBufferBinding||!i?Os.compressedTexImage2D(r,e,t,n,o,a,i,s):Os.compressedTexImage2D(r,e,t,n,o,a,k,s,i):Os.compressedTexImage2D(r,e,t,n,o,a,s?k.subarray(s,s+i):null)};var _t=function(r,e,t,n,o,a,i,s,u){Os.currentPixelUnpackBufferBinding?Os.compressedTexImage3D(r,e,t,n,o,a,i,s,u):Os.compressedTexImage3D(r,e,t,n,o,a,i,k,u,s)};var kt=function(r,e,t,n,o,a,i,s,u){je.currentContext.version>=2?Os.currentPixelUnpackBufferBinding||!s?Os.compressedTexSubImage2D(r,e,t,n,o,a,i,s,u):Os.compressedTexSubImage2D(r,e,t,n,o,a,i,k,u,s):Os.compressedTexSubImage2D(r,e,t,n,o,a,i,u?k.subarray(u,u+s):null)};var Pt=function(r,e,t,n,o,a,i,s,u,f,c){Os.currentPixelUnpackBufferBinding?Os.compressedTexSubImage3D(r,e,t,n,o,a,i,s,u,f,c):Os.compressedTexSubImage3D(r,e,t,n,o,a,i,s,u,k,c,f)};var Ct=function(r,e,t,n,o){Os.copyBufferSubData(r,e,t,n,o)};var At=function(r,e,t,n,o,a,i,s){Os.copyTexImage2D(r,e,t,n,o,a,i,s)};var Tt=function(r,e,t,n,o,a,i,s){Os.copyTexSubImage2D(r,e,t,n,o,a,i,s)};var Bt=function(r,e,t,n,o,a,i,s,u){Os.copyTexSubImage3D(r,e,t,n,o,a,i,s,u)};var St=function(){var r=je.getNewId(je.programs),e=Os.createProgram();return e.name=r,e.maxUniformLength=e.maxAttributeLength=e.maxUniformBlockNameLength=0,e.uniformIdCounter=1,je.programs[r]=e,r};var $t=function(r){var e=je.getNewId(je.shaders);return je.shaders[e]=Os.createShader(r),e};var Dt=function(r){Os.cullFace(r)};var Ft=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.buffers[n];o&&(Os.deleteBuffer(o),o.name=0,je.buffers[n]=null,n==Os.currentArrayBufferBinding&&(Os.currentArrayBufferBinding=0),n==Os.currentElementArrayBufferBinding&&(Os.currentElementArrayBufferBinding=0),n==Os.currentPixelPackBufferBinding&&(Os.currentPixelPackBufferBinding=0),n==Os.currentPixelUnpackBufferBinding&&(Os.currentPixelUnpackBufferBinding=0))}};var Mt=function(r,e){for(var t=0;t<r;++t){var n=A[e+4*t>>2],o=je.framebuffers[n];o&&(Os.deleteFramebuffer(o),o.name=0,je.framebuffers[n]=null)}};var It=function(r){if(r){var e=je.programs[r];e?(Os.deleteProgram(e),e.name=0,je.programs[r]=null):je.recordError(1281)}};var Lt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.queries[n];o&&(Os.deleteQuery(o),je.queries[n]=null)}};var jt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.queries[n];o&&(Os.disjointTimerQueryExt.deleteQueryEXT(o),je.queries[n]=null)}};var Rt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.renderbuffers[n];o&&(Os.deleteRenderbuffer(o),o.name=0,je.renderbuffers[n]=null)}};var Vt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.samplers[n];o&&(Os.deleteSampler(o),o.name=0,je.samplers[n]=null)}};var Ot=function(r){if(r){var e=je.shaders[r];e?(Os.deleteShader(e),je.shaders[r]=null):je.recordError(1281)}};var Ut=function(r){if(r){var e=je.syncs[r];e?(Os.deleteSync(e),e.name=0,je.syncs[r]=null):je.recordError(1281)}};var Nt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.textures[n];o&&(Os.deleteTexture(o),o.name=0,je.textures[n]=null)}};var Wt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.transformFeedbacks[n];o&&(Os.deleteTransformFeedback(o),o.name=0,je.transformFeedbacks[n]=null)}};function zt(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2];Os.deleteVertexArray(je.vaos[n]),je.vaos[n]=null}}var Gt=zt,Ht=zt;var qt=function(r){Os.depthFunc(r)};var Qt=function(r){Os.depthMask(!!r)};var Xt=function(r,e){Os.depthRange(r,e)};var Yt=function(r,e){Os.detachShader(je.programs[r],je.shaders[e])};var Zt=function(r){Os.disable(r)};var Jt=function(r){je.currentContext.clientBuffers[r].enabled=!1,Os.disableVertexAttribArray(r)};var Kt=function(r,e,t){je.preDrawHandleClientVertexAttribBindings(e+t),Os.drawArrays(r,e,t),je.postDrawHandleClientVertexAttribBindings()};function rn(r,e,t,n){Os.drawArraysInstanced(r,e,t,n)}var en=rn,tn=rn,nn=rn,on=rn,an=rn,sn=[];function un(r,e){for(var t=sn[r],n=0;n<r;n++)t[n]=A[e+4*n>>2];Os.drawBuffers(t)}var fn=un,cn=un,ln=un;function dn(r,e,t,n){var o;if(!Os.currentElementArrayBufferBinding){var a=je.calcBufLength(1,t,0,e);o=je.getTempIndexBuffer(a),Os.bindBuffer(34963,o),Os.bufferSubData(34963,0,k.subarray(n,n+a)),n=0}je.preDrawHandleClientVertexAttribBindings(e),Os.drawElements(r,e,t,n),je.postDrawHandleClientVertexAttribBindings(e),Os.currentElementArrayBufferBinding||Os.bindBuffer(34963,null)}var mn=dn;function vn(r,e,t,n,o){Os.drawElementsInstanced(r,e,t,n,o)}var pn=vn,hn=vn,gn=vn,yn=vn,bn=vn;var wn=function(r,e,t,n,o,a){dn(r,n,o,a)};var En=function(r){Os.enable(r)};var xn=function(r){je.currentContext.clientBuffers[r].enabled=!0,Os.enableVertexAttribArray(r)};var _n=function(r){Os.endQuery(r)};var kn=function(r){Os.disjointTimerQueryExt.endQueryEXT(r)};var Pn=function(){Os.endTransformFeedback()};var Cn=function(r,e){var t=Os.fenceSync(r,e);if(t){var n=je.getNewId(je.syncs);return t.name=n,je.syncs[n]=t,n}return 0};var An=function(){Os.finish()};var Tn=function(){Os.flush()};function Bn(r){switch(r){case 34962:r=34964;break;case 34963:r=34965;break;case 35051:r=35053;break;case 35052:r=35055;break;case 35982:r=35983;break;case 36662:r=36662;break;case 36663:r=36663;break;case 35345:r=35368}var e=Os.getParameter(r);return e?0|e.name:0}function Sn(r){switch(r){case 34962:case 34963:case 36662:case 36663:case 35051:case 35052:case 35882:case 35982:case 35345:return!0;default:return!1}}var $n=function(r,e,t){if(!Sn(r))return je.recordError(1280),void w("GL_INVALID_ENUM in glFlushMappedBufferRange");var n=je.mappedBuffers[Bn(r)];return n?16&n.access?e<0||t<0||e+t>n.length?(je.recordError(1281),void w("invalid range in glFlushMappedBufferRange")):void Os.bufferSubData(r,n.offset,k.subarray(n.mem+e,n.mem+e+t)):(je.recordError(1282),void w("buffer was not mapped with GL_MAP_FLUSH_EXPLICIT_BIT in glFlushMappedBufferRange")):(je.recordError(1282),void w("buffer was never mapped in glFlushMappedBufferRange"))};var Dn=function(r,e,t,n){Os.framebufferRenderbuffer(r,e,t,je.renderbuffers[n])};var Fn=function(r,e,t,n,o){Os.framebufferTexture2D(r,e,t,je.textures[n],o)};var Mn=function(r,e,t,n,o){Os.framebufferTextureLayer(r,e,je.textures[t],n,o)};var In=function(r){Os.frontFace(r)};function Ln(r,e,t,n){for(var o=0;o<r;o++){var a=Os[t](),i=a&&je.getNewId(n);a?(a.name=i,n[i]=a):je.recordError(1282),A[e+4*o>>2]=i}}var jn=function(r,e){Ln(r,e,"createBuffer",je.buffers)};var Rn=function(r,e){Ln(r,e,"createFramebuffer",je.framebuffers)};var Vn=function(r,e){Ln(r,e,"createQuery",je.queries)};var On=function(r,e){for(var t=0;t<r;t++){var n=Os.disjointTimerQueryExt.createQueryEXT();if(!n){for(je.recordError(1282);t<r;)A[e+4*t++>>2]=0;return}var o=je.getNewId(je.queries);n.name=o,je.queries[o]=n,A[e+4*t>>2]=o}};var Un=function(r,e){Ln(r,e,"createRenderbuffer",je.renderbuffers)};var Nn=function(r,e){Ln(r,e,"createSampler",je.samplers)};var Wn=function(r,e){Ln(r,e,"createTexture",je.textures)};var zn=function(r,e){Ln(r,e,"createTransformFeedback",je.transformFeedbacks)};function Gn(r,e){Ln(r,e,"createVertexArray",je.vaos)}var Hn=Gn,qn=Gn;var Qn=function(r){Os.generateMipmap(r)};function Xn(r,e,t,n,o,a,i,s){e=je.programs[e];var u=Os[r](e,t);if(u){var f=s&&we(u.name,s,n);o&&(A[o>>2]=f),a&&(A[a>>2]=u.size),i&&(A[i>>2]=u.type)}}var Yn=function(r,e,t,n,o,a,i){Xn("getActiveAttrib",r,e,t,n,o,a,i)};var Zn=function(r,e,t,n,o,a,i){Xn("getActiveUniform",r,e,t,n,o,a,i)};var Jn=function(r,e,t,n,o){r=je.programs[r];var a=Os.getActiveUniformBlockName(r,e);if(a)if(o&&t>0){var i=we(a,o,t);n&&(A[n>>2]=i)}else n&&(A[n>>2]=0)};var Kn=function(r,e,t,n){if(n)if(r=je.programs[r],35393!=t){var o=Os.getActiveUniformBlockParameter(r,e,t);if(null!==o)if(35395==t)for(var a=0;a<o.length;a++)A[n+4*a>>2]=o[a];else A[n>>2]=o}else{var i=Os.getActiveUniformBlockName(r,e);A[n>>2]=i.length+1}else je.recordError(1281)};var ro=function(r,e,t,n,o){if(o)if(e>0&&0==t)je.recordError(1281);else{r=je.programs[r];for(var a=[],i=0;i<e;i++)a.push(A[t+4*i>>2]);var s=Os.getActiveUniforms(r,a,n);if(s){var u=s.length;for(i=0;i<u;i++)A[o+4*i>>2]=s[i]}}else je.recordError(1281)};var eo=function(r,e,t,n){var o=Os.getAttachedShaders(je.programs[r]),a=o.length;a>e&&(a=e),A[t>>2]=a;for(var i=0;i<a;++i){var s=je.shaders.indexOf(o[i]);A[n+4*i>>2]=s}};var to=function(r,e){return Os.getAttribLocation(je.programs[r],ke(e))};function no(r,e){T[r>>2]=e,T[r+4>>2]=(e-T[r>>2])/4294967296}function oo(r,e,t){if(e){var n=void 0;switch(r){case 36346:n=1;break;case 36344:return void(0!=t&&1!=t&&je.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var o=Os.getParameter(34467);n=o?o.length:0;break;case 33309:if(je.currentContext.version<2)return void je.recordError(1282);n=2*(Os.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(je.currentContext.version<2)return void je.recordError(1280);n=33307==r?3:0}if(void 0===n){var a=Os.getParameter(r);switch(typeof a){case"number":n=a;break;case"boolean":n=a?1:0;break;case"string":return void je.recordError(1280);case"object":if(null===a)switch(r){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:n=0;break;default:return void je.recordError(1280)}else{if(a instanceof Float32Array||a instanceof Uint32Array||a instanceof Int32Array||a instanceof Array){for(var i=0;i<a.length;++i)switch(t){case 0:A[e+4*i>>2]=a[i];break;case 2:B[e+4*i>>2]=a[i];break;case 4:_[e+i|0]=a[i]?1:0}return}try{n=0|a.name}catch(e){return je.recordError(1280),void w("GL_INVALID_ENUM in glGet"+t+"v: Unknown object returned from WebGL getParameter("+r+")! (error: "+e+")")}}break;default:return je.recordError(1280),void w("GL_INVALID_ENUM in glGet"+t+"v: Native code calling glGet"+t+"v("+r+") and it returns "+a+" of type "+typeof a+"!")}}switch(t){case 1:no(e,n);break;case 0:A[e>>2]=n;break;case 2:B[e>>2]=n;break;case 4:_[e|0]=n?1:0}}else je.recordError(1281)}var ao=function(r,e){oo(r,e,4)};var io=function(r,e,t){t?no(t,Os.getBufferParameter(r,e)):je.recordError(1281)};var so=function(r,e,t){t?A[t>>2]=Os.getBufferParameter(r,e):je.recordError(1281)};var uo=function(r,e,t){if(35005==e){var n=0,o=je.mappedBuffers[Bn(r)];o&&(n=o.mem),A[t>>2]=n}else je.recordError(1280),w("GL_INVALID_ENUM in glGetBufferPointerv")};var fo=function(){var r=Os.getError()||je.lastError;return je.lastError=0,r};var co=function(r,e){oo(r,e,2)};var lo=function(r,e){return Os.getFragDataLocation(je.programs[r],ke(e))};var mo=function(r,e,t,n){var o=Os.getFramebufferAttachmentParameter(r,e,t);(o instanceof WebGLRenderbuffer||o instanceof WebGLTexture)&&(o=0|o.name),A[n>>2]=o};function vo(r,e,t,n){if(t){var o,a=Os.getIndexedParameter(r,e);switch(typeof a){case"boolean":o=a?1:0;break;case"number":o=a;break;case"object":if(null===a)switch(r){case 35983:case 35368:o=0;break;default:return void je.recordError(1280)}else{if(!(a instanceof WebGLBuffer))return void je.recordError(1280);o=0|a.name}break;default:return void je.recordError(1280)}switch(n){case 1:no(t,o);break;case 0:A[t>>2]=o;break;case 2:B[t>>2]=o;break;case 4:_[t|0]=o?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+n}}else je.recordError(1281)}var po=function(r,e,t){vo(r,e,t,1)};var ho=function(r,e){oo(r,e,1)};var go=function(r,e,t){vo(r,e,t,0)};var yo=function(r,e){oo(r,e,0)};var bo=function(r,e,t,n,o){if(n<0)je.recordError(1281);else if(o){var a=Os.getInternalformatParameter(r,e,t);if(null!==a)for(var i=0;i<a.length&&i<n;++i)A[o+4*i>>2]=a[i]}else je.recordError(1281)};var wo=function(r,e,t,n,o){je.recordError(1282)};var Eo=function(r,e,t,n){var o=Os.getProgramInfoLog(je.programs[r]);null===o&&(o="(unknown error)");var a=e>0&&n?we(o,n,e):0;t&&(A[t>>2]=a)};var xo=function(r,e,t){if(t)if(r>=je.counter)je.recordError(1281);else if(r=je.programs[r],35716==e){var n=Os.getProgramInfoLog(r);null===n&&(n="(unknown error)"),A[t>>2]=n.length+1}else if(35719==e){if(!r.maxUniformLength)for(var o=0;o<Os.getProgramParameter(r,35718);++o)r.maxUniformLength=Math.max(r.maxUniformLength,Os.getActiveUniform(r,o).name.length+1);A[t>>2]=r.maxUniformLength}else if(35722==e){if(!r.maxAttributeLength)for(o=0;o<Os.getProgramParameter(r,35721);++o)r.maxAttributeLength=Math.max(r.maxAttributeLength,Os.getActiveAttrib(r,o).name.length+1);A[t>>2]=r.maxAttributeLength}else if(35381==e){if(!r.maxUniformBlockNameLength)for(o=0;o<Os.getProgramParameter(r,35382);++o)r.maxUniformBlockNameLength=Math.max(r.maxUniformBlockNameLength,Os.getActiveUniformBlockName(r,o).length+1);A[t>>2]=r.maxUniformBlockNameLength}else A[t>>2]=Os.getProgramParameter(r,e);else je.recordError(1281)};function _o(r,e,t){if(t){var n,o=je.queries[r];no(t,"boolean"==typeof(n=je.currentContext.version<2?Os.disjointTimerQueryExt.getQueryObjectEXT(o,e):Os.getQueryParameter(o,e))?n?1:0:n)}else je.recordError(1281)}var ko=_o;function Po(r,e,t){if(t){var n,o=je.queries[r],a=Os.disjointTimerQueryExt.getQueryObjectEXT(o,e);n="boolean"==typeof a?a?1:0:a,A[t>>2]=n}else je.recordError(1281)}var Co=Po,Ao=_o;var To=function(r,e,t){if(t){var n,o=je.queries[r],a=Os.getQueryParameter(o,e);n="boolean"==typeof a?a?1:0:a,A[t>>2]=n}else je.recordError(1281)},Bo=Po;var So=function(r,e,t){t?A[t>>2]=Os.getQuery(r,e):je.recordError(1281)};var $o=function(r,e,t){t?A[t>>2]=Os.disjointTimerQueryExt.getQueryEXT(r,e):je.recordError(1281)};var Do=function(r,e,t){t?A[t>>2]=Os.getRenderbufferParameter(r,e):je.recordError(1281)};var Fo=function(r,e,t){t?B[t>>2]=Os.getSamplerParameter(je.samplers[r],e):je.recordError(1281)};var Mo=function(r,e,t){t?A[t>>2]=Os.getSamplerParameter(je.samplers[r],e):je.recordError(1281)};var Io=function(r,e,t,n){var o=Os.getShaderInfoLog(je.shaders[r]);null===o&&(o="(unknown error)");var a=e>0&&n?we(o,n,e):0;t&&(A[t>>2]=a)};var Lo=function(r,e,t,n){var o=Os.getShaderPrecisionFormat(r,e);A[t>>2]=o.rangeMin,A[t+4>>2]=o.rangeMax,A[n>>2]=o.precision};var jo=function(r,e,t,n){var o=Os.getShaderSource(je.shaders[r]);if(o){var a=e>0&&n?we(o,n,e):0;t&&(A[t>>2]=a)}};var Ro=function(r,e,t){if(t)if(35716==e){var n=Os.getShaderInfoLog(je.shaders[r]);null===n&&(n="(unknown error)");var o=n?n.length+1:0;A[t>>2]=o}else if(35720==e){var a=Os.getShaderSource(je.shaders[r]),i=a?a.length+1:0;A[t>>2]=i}else A[t>>2]=Os.getShaderParameter(je.shaders[r],e);else je.recordError(1281)};function Vo(r){var e=Ee(r)+1,t=Ks(e);return t&&we(r,t,e),t}var Oo=function(r){var e=je.stringCache[r];if(!e){switch(r){case 7939:var t=Os.getSupportedExtensions()||[];e=Vo((t=t.concat(t.map((function(r){return"GL_"+r})))).join(" "));break;case 7936:case 7937:case 37445:case 37446:var n=Os.getParameter(r);n||je.recordError(1280),e=n&&Vo(n);break;case 7938:var o=Os.getParameter(7938);e=Vo(o=je.currentContext.version>=2?"OpenGL ES 3.0 ("+o+")":"OpenGL ES 2.0 ("+o+")");break;case 35724:var a=Os.getParameter(35724),i=a.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==i&&(3==i[1].length&&(i[1]=i[1]+"0"),a="OpenGL ES GLSL ES "+i[1]+" ("+a+")"),e=Vo(a);break;default:je.recordError(1280)}je.stringCache[r]=e}return e};var Uo=function(r,e){if(je.currentContext.version<2)return je.recordError(1282),0;var t=je.stringiCache[r];if(t)return e<0||e>=t.length?(je.recordError(1281),0):t[e];if(7939===r){var n=Os.getSupportedExtensions()||[];return n=(n=n.concat(n.map((function(r){return"GL_"+r})))).map((function(r){return Vo(r)})),t=je.stringiCache[r]=n,e<0||e>=t.length?(je.recordError(1281),0):t[e]}return je.recordError(1280),0};var No=function(r,e,t,n,o){if(t<0)je.recordError(1281);else if(o){var a=Os.getSyncParameter(je.syncs[r],e);null!==a&&(A[o>>2]=a,n&&(A[n>>2]=1))}else je.recordError(1281)};var Wo=function(r,e,t){t?B[t>>2]=Os.getTexParameter(r,e):je.recordError(1281)};var zo=function(r,e,t){t?A[t>>2]=Os.getTexParameter(r,e):je.recordError(1281)};var Go=function(r,e,t,n,o,a,i){r=je.programs[r];var s=Os.getTransformFeedbackVarying(r,e);if(s){if(i&&t>0){var u=we(s.name,i,t);n&&(A[n>>2]=u)}else n&&(A[n>>2]=0);o&&(A[o>>2]=s.size),a&&(A[a>>2]=s.type)}};var Ho=function(r,e){return Os.getUniformBlockIndex(je.programs[r],ke(e))};var qo=function(r,e,t,n){if(n)if(e>0&&(0==t||0==n))je.recordError(1281);else{r=je.programs[r];for(var o=[],a=0;a<e;a++)o.push(ke(A[t+4*a>>2]));var i=Os.getUniformIndices(r,o);if(i){var s=i.length;for(a=0;a<s;a++)A[n+4*a>>2]=i[a]}}else je.recordError(1281)};function Qo(r){return"]"==r.slice(-1)&&r.lastIndexOf("[")}function Xo(r){var e,t,n=r.uniformLocsById,o=r.uniformSizeAndIdsByName;if(!n)for(r.uniformLocsById=n={},r.uniformArrayNamesById={},e=0;e<Os.getProgramParameter(r,35718);++e){var a=Os.getActiveUniform(r,e),i=a.name,s=a.size,u=Qo(i),f=u>0?i.slice(0,u):i,c=r.uniformIdCounter;for(r.uniformIdCounter+=s,o[f]=[s,c],t=0;t<s;++t)n[c]=t,r.uniformArrayNamesById[c++]=f}}var Yo=function(r,e){if(e=ke(e),r=je.programs[r]){Xo(r);var t=r.uniformLocsById,n=0,o=e,a=Qo(e);a>0&&(s=e.slice(a+1),n=parseInt(s)>>>0,o=e.slice(0,a));var i=r.uniformSizeAndIdsByName[o];if(i&&n<i[0]&&(t[n+=i[1]]=t[n]||Os.getUniformLocation(r,e)))return n}else je.recordError(1281);var s;return-1};function Zo(r){var e=Os.currentProgram;if(e){var t=e.uniformLocsById[r];return"number"==typeof t&&(e.uniformLocsById[r]=t=Os.getUniformLocation(e,e.uniformArrayNamesById[r]+(t>0?"["+t+"]":""))),t}je.recordError(1282)}function Jo(r,e,t,n){if(t){Xo(r=je.programs[r]);var o=Os.getUniform(r,Zo(e));if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:A[t>>2]=o;break;case 2:B[t>>2]=o}else for(var a=0;a<o.length;a++)switch(n){case 0:A[t+4*a>>2]=o[a];break;case 2:B[t+4*a>>2]=o[a]}}else je.recordError(1281)}var Ko=function(r,e,t){Jo(r,e,t,2)};var ra=function(r,e,t){Jo(r,e,t,0)};var ea=function(r,e,t){Jo(r,e,t,0)};function ta(r,e,t,n){if(t){je.currentContext.clientBuffers[r].enabled&&w("glGetVertexAttrib*v on client-side array: not supported, bad data returned");var o=Os.getVertexAttrib(r,e);if(34975==e)A[t>>2]=o&&o.name;else if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:A[t>>2]=o;break;case 2:B[t>>2]=o;break;case 5:A[t>>2]=Math.fround(o)}else for(var a=0;a<o.length;a++)switch(n){case 0:A[t+4*a>>2]=o[a];break;case 2:B[t+4*a>>2]=o[a];break;case 5:A[t+4*a>>2]=Math.fround(o[a])}}else je.recordError(1281)}function na(r,e,t){ta(r,e,t,0)}var oa=na,aa=na;var ia=function(r,e,t){t?(je.currentContext.clientBuffers[r].enabled&&w("glGetVertexAttribPointer on client-side array: not supported, bad data returned"),A[t>>2]=Os.getVertexAttribOffset(r,e)):je.recordError(1281)};var sa=function(r,e,t){ta(r,e,t,2)};var ua=function(r,e,t){ta(r,e,t,5)};var fa=function(r,e){Os.hint(r,e)};var ca=function(r,e,t){for(var n=sn[e],o=0;o<e;o++)n[o]=A[t+4*o>>2];Os.invalidateFramebuffer(r,n)};var la=function(r,e,t,n,o,a,i){for(var s=sn[e],u=0;u<e;u++)s[u]=A[t+4*u>>2];Os.invalidateSubFramebuffer(r,s,n,o,a,i)};var da=function(r){var e=je.buffers[r];return e?Os.isBuffer(e):0};var ma=function(r){return Os.isEnabled(r)};var va=function(r){var e=je.framebuffers[r];return e?Os.isFramebuffer(e):0};var pa=function(r){return(r=je.programs[r])?Os.isProgram(r):0};var ha=function(r){var e=je.queries[r];return e?Os.isQuery(e):0};var ga=function(r){var e=je.queries[r];return e?Os.disjointTimerQueryExt.isQueryEXT(e):0};var ya=function(r){var e=je.renderbuffers[r];return e?Os.isRenderbuffer(e):0};var ba=function(r){var e=je.samplers[r];return e?Os.isSampler(e):0};var wa=function(r){var e=je.shaders[r];return e?Os.isShader(e):0};var Ea=function(r){return Os.isSync(je.syncs[r])};var xa=function(r){var e=je.textures[r];return e?Os.isTexture(e):0};var _a=function(r){return Os.isTransformFeedback(je.transformFeedbacks[r])};function ka(r){var e=je.vaos[r];return e?Os.isVertexArray(e):0}var Pa=ka,Ca=ka;var Aa=function(r){Os.lineWidth(r)};var Ta=function(r){r=je.programs[r],Os.linkProgram(r),r.uniformLocsById=0,r.uniformSizeAndIdsByName={}};var Ba=function(r,e,t,n){if(33&n)return w("glMapBufferRange access does not support MAP_READ or MAP_UNSYNCHRONIZED"),0;if(!(2&n))return w("glMapBufferRange access must include MAP_WRITE"),0;if(!(12&n))return w("glMapBufferRange access must include INVALIDATE_BUFFER or INVALIDATE_RANGE"),0;if(!Sn(r))return je.recordError(1280),w("GL_INVALID_ENUM in glMapBufferRange"),0;var o=Ks(t);return o?(je.mappedBuffers[Bn(r)]={offset:e,length:t,mem:o,access:n},o):0};var Sa=function(){Os.pauseTransformFeedback()};var $a=function(r,e){3317==r&&(je.unpackAlignment=e),Os.pixelStorei(r,e)};var Da=function(r,e){Os.polygonOffset(r,e)};var Fa=function(r,e,t,n){je.recordError(1280)};var Ma=function(r,e,t){je.recordError(1280)};var Ia=function(r,e){Os.disjointTimerQueryExt.queryCounterEXT(je.queries[r],e)};var La=function(r){Os.readBuffer(r)};function ja(r){return 0==(r-=5120)?_:1==r?k:2==r?P:4==r?A:6==r?B:5==r||28922==r||28520==r||30779==r||30782==r?T:C}function Ra(r){return 31-Math.clz32(r.BYTES_PER_ELEMENT)}function Va(r,e,t,n,o,a){var i=ja(r),s=Ra(i),u=1<<s,f=function(r){return{5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[r-6402]||1}(e)*u,c=function(r,e,t,n){var o;return e*(r*t+(o=n)-1&-o)}(t,n,f,je.unpackAlignment);return i.subarray(o>>s,o+c>>s)}var Oa=function(r,e,t,n,o,a,i){if(je.currentContext.version>=2)if(Os.currentPixelPackBufferBinding)Os.readPixels(r,e,t,n,o,a,i);else{var s=ja(a);Os.readPixels(r,e,t,n,o,a,s,i>>Ra(s))}else{var u=Va(a,o,t,n,i);u?Os.readPixels(r,e,t,n,o,a,u):je.recordError(1280)}};var Ua=function(){};var Na=function(r,e,t,n){Os.renderbufferStorage(r,e,t,n)};var Wa=function(r,e,t,n,o){Os.renderbufferStorageMultisample(r,e,t,n,o)};var za=function(){Os.resumeTransformFeedback()};var Ga=function(r,e){Os.sampleCoverage(r,!!e)};var Ha=function(r,e,t){Os.samplerParameterf(je.samplers[r],e,t)};var qa=function(r,e,t){var n=B[t>>2];Os.samplerParameterf(je.samplers[r],e,n)};var Qa=function(r,e,t){Os.samplerParameteri(je.samplers[r],e,t)};var Xa=function(r,e,t){var n=A[t>>2];Os.samplerParameteri(je.samplers[r],e,n)};var Ya=function(r,e,t,n){Os.scissor(r,e,t,n)};var Za=function(r,e,t,n,o){je.recordError(1280)};var Ja=function(r,e,t,n){var o=je.getSource(r,e,t,n);Os.shaderSource(je.shaders[r],o)};var Ka=function(r,e,t){Os.stencilFunc(r,e,t)};var ri=function(r,e,t,n){Os.stencilFuncSeparate(r,e,t,n)};var ei=function(r){Os.stencilMask(r)};var ti=function(r,e){Os.stencilMaskSeparate(r,e)};var ni=function(r,e,t){Os.stencilOp(r,e,t)};var oi=function(r,e,t,n){Os.stencilOpSeparate(r,e,t,n)};var ai=function(r,e,t,n,o,a,i,s,u){if(je.currentContext.version>=2)if(Os.currentPixelUnpackBufferBinding)Os.texImage2D(r,e,t,n,o,a,i,s,u);else if(u){var f=ja(s);Os.texImage2D(r,e,t,n,o,a,i,s,f,u>>Ra(f))}else Os.texImage2D(r,e,t,n,o,a,i,s,null);else Os.texImage2D(r,e,t,n,o,a,i,s,u?Va(s,i,n,o,u):null)};var ii=function(r,e,t,n,o,a,i,s,u,f){if(Os.currentPixelUnpackBufferBinding)Os.texImage3D(r,e,t,n,o,a,i,s,u,f);else if(f){var c=ja(u);Os.texImage3D(r,e,t,n,o,a,i,s,u,c,f>>Ra(c))}else Os.texImage3D(r,e,t,n,o,a,i,s,u,null)};var si=function(r,e,t){Os.texParameterf(r,e,t)};var ui=function(r,e,t){var n=B[t>>2];Os.texParameterf(r,e,n)};var fi=function(r,e,t){Os.texParameteri(r,e,t)};var ci=function(r,e,t){var n=A[t>>2];Os.texParameteri(r,e,n)};var li=function(r,e,t,n,o){Os.texStorage2D(r,e,t,n,o)};var di=function(r,e,t,n,o,a){Os.texStorage3D(r,e,t,n,o,a)};var mi=function(r,e,t,n,o,a,i,s,u){if(je.currentContext.version>=2)if(Os.currentPixelUnpackBufferBinding)Os.texSubImage2D(r,e,t,n,o,a,i,s,u);else if(u){var f=ja(s);Os.texSubImage2D(r,e,t,n,o,a,i,s,f,u>>Ra(f))}else Os.texSubImage2D(r,e,t,n,o,a,i,s,null);else{var c=null;u&&(c=Va(s,i,o,a,u)),Os.texSubImage2D(r,e,t,n,o,a,i,s,c)}};var vi=function(r,e,t,n,o,a,i,s,u,f,c){if(Os.currentPixelUnpackBufferBinding)Os.texSubImage3D(r,e,t,n,o,a,i,s,u,f,c);else if(c){var l=ja(f);Os.texSubImage3D(r,e,t,n,o,a,i,s,u,f,l,c>>Ra(l))}else Os.texSubImage3D(r,e,t,n,o,a,i,s,u,f,null)};var pi=function(r,e,t,n){r=je.programs[r];for(var o=[],a=0;a<e;a++)o.push(ke(A[t+4*a>>2]));Os.transformFeedbackVaryings(r,o,n)};var hi=function(r,e){Os.uniform1f(Zo(r),e)},gi=[];var yi=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform1fv(Zo(r),B,t>>2,e);else{if(e<=288)for(var n=gi[e-1],o=0;o<e;++o)n[o]=B[t+4*o>>2];else n=B.subarray(t>>2,t+4*e>>2);Os.uniform1fv(Zo(r),n)}};var bi=function(r,e){Os.uniform1i(Zo(r),e)},wi=[];var Ei=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform1iv(Zo(r),A,t>>2,e);else{if(e<=288)for(var n=wi[e-1],o=0;o<e;++o)n[o]=A[t+4*o>>2];else n=A.subarray(t>>2,t+4*e>>2);Os.uniform1iv(Zo(r),n)}};var xi=function(r,e){Os.uniform1ui(Zo(r),e)};var _i=function(r,e,t){e&&Os.uniform1uiv(Zo(r),T,t>>2,e)};var ki=function(r,e,t){Os.uniform2f(Zo(r),e,t)};var Pi=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform2fv(Zo(r),B,t>>2,2*e);else{if(e<=144)for(var n=gi[2*e-1],o=0;o<2*e;o+=2)n[o]=B[t+4*o>>2],n[o+1]=B[t+(4*o+4)>>2];else n=B.subarray(t>>2,t+8*e>>2);Os.uniform2fv(Zo(r),n)}};var Ci=function(r,e,t){Os.uniform2i(Zo(r),e,t)};var Ai=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform2iv(Zo(r),A,t>>2,2*e);else{if(e<=144)for(var n=wi[2*e-1],o=0;o<2*e;o+=2)n[o]=A[t+4*o>>2],n[o+1]=A[t+(4*o+4)>>2];else n=A.subarray(t>>2,t+8*e>>2);Os.uniform2iv(Zo(r),n)}};var Ti=function(r,e,t){Os.uniform2ui(Zo(r),e,t)};var Bi=function(r,e,t){e&&Os.uniform2uiv(Zo(r),T,t>>2,2*e)};var Si=function(r,e,t,n){Os.uniform3f(Zo(r),e,t,n)};var $i=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform3fv(Zo(r),B,t>>2,3*e);else{if(e<=96)for(var n=gi[3*e-1],o=0;o<3*e;o+=3)n[o]=B[t+4*o>>2],n[o+1]=B[t+(4*o+4)>>2],n[o+2]=B[t+(4*o+8)>>2];else n=B.subarray(t>>2,t+12*e>>2);Os.uniform3fv(Zo(r),n)}};var Di=function(r,e,t,n){Os.uniform3i(Zo(r),e,t,n)};var Fi=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform3iv(Zo(r),A,t>>2,3*e);else{if(e<=96)for(var n=wi[3*e-1],o=0;o<3*e;o+=3)n[o]=A[t+4*o>>2],n[o+1]=A[t+(4*o+4)>>2],n[o+2]=A[t+(4*o+8)>>2];else n=A.subarray(t>>2,t+12*e>>2);Os.uniform3iv(Zo(r),n)}};var Mi=function(r,e,t,n){Os.uniform3ui(Zo(r),e,t,n)};var Ii=function(r,e,t){e&&Os.uniform3uiv(Zo(r),T,t>>2,3*e)};var Li=function(r,e,t,n,o){Os.uniform4f(Zo(r),e,t,n,o)};var ji=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform4fv(Zo(r),B,t>>2,4*e);else{if(e<=72){var n=gi[4*e-1],o=B;t>>=2;for(var a=0;a<4*e;a+=4){var i=t+a;n[a]=o[i],n[a+1]=o[i+1],n[a+2]=o[i+2],n[a+3]=o[i+3]}}else n=B.subarray(t>>2,t+16*e>>2);Os.uniform4fv(Zo(r),n)}};var Ri=function(r,e,t,n,o){Os.uniform4i(Zo(r),e,t,n,o)};var Vi=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform4iv(Zo(r),A,t>>2,4*e);else{if(e<=72)for(var n=wi[4*e-1],o=0;o<4*e;o+=4)n[o]=A[t+4*o>>2],n[o+1]=A[t+(4*o+4)>>2],n[o+2]=A[t+(4*o+8)>>2],n[o+3]=A[t+(4*o+12)>>2];else n=A.subarray(t>>2,t+16*e>>2);Os.uniform4iv(Zo(r),n)}};var Oi=function(r,e,t,n,o){Os.uniform4ui(Zo(r),e,t,n,o)};var Ui=function(r,e,t){e&&Os.uniform4uiv(Zo(r),T,t>>2,4*e)};var Ni=function(r,e,t){r=je.programs[r],Os.uniformBlockBinding(r,e,t)};var Wi=function(r,e,t,n){if(je.currentContext.version>=2)e&&Os.uniformMatrix2fv(Zo(r),!!t,B,n>>2,4*e);else{if(e<=72)for(var o=gi[4*e-1],a=0;a<4*e;a+=4)o[a]=B[n+4*a>>2],o[a+1]=B[n+(4*a+4)>>2],o[a+2]=B[n+(4*a+8)>>2],o[a+3]=B[n+(4*a+12)>>2];else o=B.subarray(n>>2,n+16*e>>2);Os.uniformMatrix2fv(Zo(r),!!t,o)}};var zi=function(r,e,t,n){e&&Os.uniformMatrix2x3fv(Zo(r),!!t,B,n>>2,6*e)};var Gi=function(r,e,t,n){e&&Os.uniformMatrix2x4fv(Zo(r),!!t,B,n>>2,8*e)};var Hi=function(r,e,t,n){if(je.currentContext.version>=2)e&&Os.uniformMatrix3fv(Zo(r),!!t,B,n>>2,9*e);else{if(e<=32)for(var o=gi[9*e-1],a=0;a<9*e;a+=9)o[a]=B[n+4*a>>2],o[a+1]=B[n+(4*a+4)>>2],o[a+2]=B[n+(4*a+8)>>2],o[a+3]=B[n+(4*a+12)>>2],o[a+4]=B[n+(4*a+16)>>2],o[a+5]=B[n+(4*a+20)>>2],o[a+6]=B[n+(4*a+24)>>2],o[a+7]=B[n+(4*a+28)>>2],o[a+8]=B[n+(4*a+32)>>2];else o=B.subarray(n>>2,n+36*e>>2);Os.uniformMatrix3fv(Zo(r),!!t,o)}};var qi=function(r,e,t,n){e&&Os.uniformMatrix3x2fv(Zo(r),!!t,B,n>>2,6*e)};var Qi=function(r,e,t,n){e&&Os.uniformMatrix3x4fv(Zo(r),!!t,B,n>>2,12*e)};var Xi=function(r,e,t,n){if(je.currentContext.version>=2)e&&Os.uniformMatrix4fv(Zo(r),!!t,B,n>>2,16*e);else{if(e<=18){var o=gi[16*e-1],a=B;n>>=2;for(var i=0;i<16*e;i+=16){var s=n+i;o[i]=a[s],o[i+1]=a[s+1],o[i+2]=a[s+2],o[i+3]=a[s+3],o[i+4]=a[s+4],o[i+5]=a[s+5],o[i+6]=a[s+6],o[i+7]=a[s+7],o[i+8]=a[s+8],o[i+9]=a[s+9],o[i+10]=a[s+10],o[i+11]=a[s+11],o[i+12]=a[s+12],o[i+13]=a[s+13],o[i+14]=a[s+14],o[i+15]=a[s+15]}}else o=B.subarray(n>>2,n+64*e>>2);Os.uniformMatrix4fv(Zo(r),!!t,o)}};var Yi=function(r,e,t,n){e&&Os.uniformMatrix4x2fv(Zo(r),!!t,B,n>>2,8*e)};var Zi=function(r,e,t,n){e&&Os.uniformMatrix4x3fv(Zo(r),!!t,B,n>>2,12*e)};var Ji=function(r){if(!Sn(r))return je.recordError(1280),w("GL_INVALID_ENUM in glUnmapBuffer"),0;var e=Bn(r),t=je.mappedBuffers[e];return t?(je.mappedBuffers[e]=null,16&t.access||(je.currentContext.version>=2?Os.bufferSubData(r,t.offset,k,t.mem,t.length):Os.bufferSubData(r,t.offset,k.subarray(t.mem,t.mem+t.length))),Js(t.mem),1):(je.recordError(1282),w("buffer was never mapped in glUnmapBuffer"),0)};var Ki=function(r){r=je.programs[r],Os.useProgram(r),Os.currentProgram=r};var rs=function(r){Os.validateProgram(je.programs[r])};var es=function(r,e){Os.vertexAttrib1f(r,e)};var ts=function(r,e){Os.vertexAttrib1f(r,B[e>>2])};var ns=function(r,e,t){Os.vertexAttrib2f(r,e,t)};var os=function(r,e){Os.vertexAttrib2f(r,B[e>>2],B[e+4>>2])};var as=function(r,e,t,n){Os.vertexAttrib3f(r,e,t,n)};var is=function(r,e){Os.vertexAttrib3f(r,B[e>>2],B[e+4>>2],B[e+8>>2])};var ss=function(r,e,t,n,o){Os.vertexAttrib4f(r,e,t,n,o)};var us=function(r,e){Os.vertexAttrib4f(r,B[e>>2],B[e+4>>2],B[e+8>>2],B[e+12>>2])};function fs(r,e){Os.vertexAttribDivisor(r,e)}var cs=fs,ls=fs,ds=fs,ms=fs,vs=fs;var ps=function(r,e,t,n,o){Os.vertexAttribI4i(r,e,t,n,o)};var hs=function(r,e){Os.vertexAttribI4i(r,A[e>>2],A[e+4>>2],A[e+8>>2],A[e+12>>2])};var gs=function(r,e,t,n,o){Os.vertexAttribI4ui(r,e,t,n,o)};var ys=function(r,e){Os.vertexAttribI4ui(r,T[e>>2],T[e+4>>2],T[e+8>>2],T[e+12>>2])};var bs=function(r,e,t,n,o){var a=je.currentContext.clientBuffers[r];if(!Os.currentArrayBufferBinding)return a.size=e,a.type=t,a.normalized=!1,a.stride=n,a.ptr=o,a.clientside=!0,void(a.vertexAttribPointerAdaptor=function(r,e,t,n,o,a){this.vertexAttribIPointer(r,e,t,o,a)});a.clientside=!1,Os.vertexAttribIPointer(r,e,t,n,o)};var ws=function(r,e,t,n,o,a){var i=je.currentContext.clientBuffers[r];if(!Os.currentArrayBufferBinding)return i.size=e,i.type=t,i.normalized=n,i.stride=o,i.ptr=a,i.clientside=!0,void(i.vertexAttribPointerAdaptor=function(r,e,t,n,o,a){this.vertexAttribPointer(r,e,t,n,o,a)});i.clientside=!1,Os.vertexAttribPointer(r,e,t,!!n,o,a)};var Es=function(r,e,t,n){Os.viewport(r,e,t,n)};var xs=function(r,e,t,n){var o=yt(t,n);Os.waitSync(je.syncs[r],e,o)};function _s(r){var e=r-E.buffer.byteLength+65535>>>16;try{return E.grow(e),M(),1}catch(r){}}var ks={};function Ps(){if(!Ps.strings){var r={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",_:c||"./this.program"};for(var e in ks)void 0===ks[e]?delete r[e]:r[e]=ks[e];var t=[];for(var e in r)t.push(`${e}=${r[e]}`);Ps.strings=t}return Ps.strings}var Cs={isAbs:r=>"/"===r.charAt(0),splitPath:r=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(r).slice(1),normalizeArray:(r,e)=>{for(var t=0,n=r.length-1;n>=0;n--){var o=r[n];"."===o?r.splice(n,1):".."===o?(r.splice(n,1),t++):t&&(r.splice(n,1),t--)}if(e)for(;t;t--)r.unshift("..");return r},normalize:r=>{var e=Cs.isAbs(r),t="/"===r.substr(-1);return(r=Cs.normalizeArray(r.split("/").filter((r=>!!r)),!e).join("/"))||e||(r="."),r&&t&&(r+="/"),(e?"/":"")+r},dirname:r=>{var e=Cs.splitPath(r),t=e[0],n=e[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:r=>{if("/"===r)return"/";var e=(r=(r=Cs.normalize(r)).replace(/\/$/,"")).lastIndexOf("/");return-1===e?r:r.substr(e+1)},join:function(){var r=Array.prototype.slice.call(arguments);return Cs.normalize(r.join("/"))},join2:(r,e)=>Cs.normalize(r+"/"+e)};function As(r){return(As=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return r=>crypto.getRandomValues(r);if(v)try{var r=require("crypto");if(r.randomFillSync)return e=>r.randomFillSync(e);var e=r.randomBytes;return r=>(r.set(e(r.byteLength)),r)}catch(r){}W("initRandomDevice")}())(r)}var Ts={resolve:function(){for(var r="",e=!1,t=arguments.length-1;t>=-1&&!e;t--){var n=t>=0?arguments[t]:Is.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";r=n+"/"+r,e=Cs.isAbs(n)}return(e?"/":"")+(r=Cs.normalizeArray(r.split("/").filter((r=>!!r)),!e).join("/"))||"."},relative:(r,e)=>{function t(r){for(var e=0;e<r.length&&""===r[e];e++);for(var t=r.length-1;t>=0&&""===r[t];t--);return e>t?[]:r.slice(e,t-e+1)}r=Ts.resolve(r).substr(1),e=Ts.resolve(e).substr(1);for(var n=t(r.split("/")),o=t(e.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s<a;s++)if(n[s]!==o[s]){i=s;break}var u=[];for(s=i;s<n.length;s++)u.push("..");return(u=u.concat(o.slice(i))).join("/")}};function Bs(r,e,t){var n=t>0?t:Ee(r)+1,o=new Array(n),a=be(r,o,0,o.length);return e&&(o.length=a),o}var Ss={ttys:[],init:function(){},shutdown:function(){},register:function(r,e){Ss.ttys[r]={input:[],output:[],ops:e},Is.registerDevice(r,Ss.stream_ops)},stream_ops:{open:function(r){var e=Ss.ttys[r.node.rdev];if(!e)throw new Is.ErrnoError(43);r.tty=e,r.seekable=!1},close:function(r){r.tty.ops.fsync(r.tty)},fsync:function(r){r.tty.ops.fsync(r.tty)},read:function(r,e,t,n,o){if(!r.tty||!r.tty.ops.get_char)throw new Is.ErrnoError(60);for(var a=0,i=0;i<n;i++){var s;try{s=r.tty.ops.get_char(r.tty)}catch(r){throw new Is.ErrnoError(29)}if(void 0===s&&0===a)throw new Is.ErrnoError(6);if(null==s)break;a++,e[t+i]=s}return a&&(r.node.timestamp=Date.now()),a},write:function(r,e,t,n,o){if(!r.tty||!r.tty.ops.put_char)throw new Is.ErrnoError(60);try{for(var a=0;a<n;a++)r.tty.ops.put_char(r.tty,e[t+a])}catch(r){throw new Is.ErrnoError(29)}return n&&(r.node.timestamp=Date.now()),a}},default_tty_ops:{get_char:function(r){if(!r.input.length){var e=null;if(v){var t=Buffer.alloc(256),n=0;try{n=h.readSync(o.stdin.fd,t,0,256,-1)}catch(r){if(!r.toString().includes("EOF"))throw r;n=0}e=n>0?t.slice(0,n).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;r.input=Bs(e,!0)}return r.input.shift()},put_char:function(r,e){null===e||10===e?(b(_e(r.output,0)),r.output=[]):0!=e&&r.output.push(e)},fsync:function(r){r.output&&r.output.length>0&&(b(_e(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,e){null===e||10===e?(w(_e(r.output,0)),r.output=[]):0!=e&&r.output.push(e)},fsync:function(r){r.output&&r.output.length>0&&(w(_e(r.output,0)),r.output=[])}}};function $s(r){W()}var Ds={ops_table:null,mount:function(r){return Ds.createNode(null,"/",16895,0)},createNode:function(r,e,t,n){if(Is.isBlkdev(t)||Is.isFIFO(t))throw new Is.ErrnoError(63);Ds.ops_table||(Ds.ops_table={dir:{node:{getattr:Ds.node_ops.getattr,setattr:Ds.node_ops.setattr,lookup:Ds.node_ops.lookup,mknod:Ds.node_ops.mknod,rename:Ds.node_ops.rename,unlink:Ds.node_ops.unlink,rmdir:Ds.node_ops.rmdir,readdir:Ds.node_ops.readdir,symlink:Ds.node_ops.symlink},stream:{llseek:Ds.stream_ops.llseek}},file:{node:{getattr:Ds.node_ops.getattr,setattr:Ds.node_ops.setattr},stream:{llseek:Ds.stream_ops.llseek,read:Ds.stream_ops.read,write:Ds.stream_ops.write,allocate:Ds.stream_ops.allocate,mmap:Ds.stream_ops.mmap,msync:Ds.stream_ops.msync}},link:{node:{getattr:Ds.node_ops.getattr,setattr:Ds.node_ops.setattr,readlink:Ds.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Ds.node_ops.getattr,setattr:Ds.node_ops.setattr},stream:Is.chrdev_stream_ops}});var o=Is.createNode(r,e,t,n);return Is.isDir(o.mode)?(o.node_ops=Ds.ops_table.dir.node,o.stream_ops=Ds.ops_table.dir.stream,o.contents={}):Is.isFile(o.mode)?(o.node_ops=Ds.ops_table.file.node,o.stream_ops=Ds.ops_table.file.stream,o.usedBytes=0,o.contents=null):Is.isLink(o.mode)?(o.node_ops=Ds.ops_table.link.node,o.stream_ops=Ds.ops_table.link.stream):Is.isChrdev(o.mode)&&(o.node_ops=Ds.ops_table.chrdev.node,o.stream_ops=Ds.ops_table.chrdev.stream),o.timestamp=Date.now(),r&&(r.contents[e]=o,r.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(r){return r.contents?r.contents.subarray?r.contents.subarray(0,r.usedBytes):new Uint8Array(r.contents):new Uint8Array(0)},expandFileStorage:function(r,e){var t=r.contents?r.contents.length:0;if(!(t>=e)){e=Math.max(e,t*(t<1048576?2:1.125)>>>0),0!=t&&(e=Math.max(e,256));var n=r.contents;r.contents=new Uint8Array(e),r.usedBytes>0&&r.contents.set(n.subarray(0,r.usedBytes),0)}},resizeFileStorage:function(r,e){if(r.usedBytes!=e)if(0==e)r.contents=null,r.usedBytes=0;else{var t=r.contents;r.contents=new Uint8Array(e),t&&r.contents.set(t.subarray(0,Math.min(e,r.usedBytes))),r.usedBytes=e}},node_ops:{getattr:function(r){var e={};return e.dev=Is.isChrdev(r.mode)?r.id:1,e.ino=r.id,e.mode=r.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=r.rdev,Is.isDir(r.mode)?e.size=4096:Is.isFile(r.mode)?e.size=r.usedBytes:Is.isLink(r.mode)?e.size=r.link.length:e.size=0,e.atime=new Date(r.timestamp),e.mtime=new Date(r.timestamp),e.ctime=new Date(r.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(r,e){void 0!==e.mode&&(r.mode=e.mode),void 0!==e.timestamp&&(r.timestamp=e.timestamp),void 0!==e.size&&Ds.resizeFileStorage(r,e.size)},lookup:function(r,e){throw Is.genericErrors[44]},mknod:function(r,e,t,n){return Ds.createNode(r,e,t,n)},rename:function(r,e,t){if(Is.isDir(r.mode)){var n;try{n=Is.lookupNode(e,t)}catch(r){}if(n)for(var o in n.contents)throw new Is.ErrnoError(55)}delete r.parent.contents[r.name],r.parent.timestamp=Date.now(),r.name=t,e.contents[t]=r,e.timestamp=r.parent.timestamp,r.parent=e},unlink:function(r,e){delete r.contents[e],r.timestamp=Date.now()},rmdir:function(r,e){var t=Is.lookupNode(r,e);for(var n in t.contents)throw new Is.ErrnoError(55);delete r.contents[e],r.timestamp=Date.now()},readdir:function(r){var e=[".",".."];for(var t in r.contents)r.contents.hasOwnProperty(t)&&e.push(t);return e},symlink:function(r,e,t){var n=Ds.createNode(r,e,41471,0);return n.link=t,n},readlink:function(r){if(!Is.isLink(r.mode))throw new Is.ErrnoError(28);return r.link}},stream_ops:{read:function(r,e,t,n,o){var a=r.node.contents;if(o>=r.node.usedBytes)return 0;var i=Math.min(r.node.usedBytes-o,n);if(i>8&&a.subarray)e.set(a.subarray(o,o+i),t);else for(var s=0;s<i;s++)e[t+s]=a[o+s];return i},write:function(r,e,t,n,o,a){if(e.buffer===_.buffer&&(a=!1),!n)return 0;var i=r.node;if(i.timestamp=Date.now(),e.subarray&&(!i.contents||i.contents.subarray)){if(a)return i.contents=e.subarray(t,t+n),i.usedBytes=n,n;if(0===i.usedBytes&&0===o)return i.contents=e.slice(t,t+n),i.usedBytes=n,n;if(o+n<=i.usedBytes)return i.contents.set(e.subarray(t,t+n),o),n}if(Ds.expandFileStorage(i,o+n),i.contents.subarray&&e.subarray)i.contents.set(e.subarray(t,t+n),o);else for(var s=0;s<n;s++)i.contents[o+s]=e[t+s];return i.usedBytes=Math.max(i.usedBytes,o+n),n},llseek:function(r,e,t){var n=e;if(1===t?n+=r.position:2===t&&Is.isFile(r.node.mode)&&(n+=r.node.usedBytes),n<0)throw new Is.ErrnoError(28);return n},allocate:function(r,e,t){Ds.expandFileStorage(r.node,e+t),r.node.usedBytes=Math.max(r.node.usedBytes,e+t)},mmap:function(r,e,t,n,o){if(!Is.isFile(r.node.mode))throw new Is.ErrnoError(43);var a,i,s=r.node.contents;if(2&o||s.buffer!==_.buffer){if((t>0||t+e<s.length)&&(s=s.subarray?s.subarray(t,t+e):Array.prototype.slice.call(s,t,t+e)),i=!0,!(a=$s()))throw new Is.ErrnoError(48);_.set(s,a)}else i=!1,a=s.byteOffset;return{ptr:a,allocated:i}},msync:function(r,e,t,n,o){return Ds.stream_ops.write(r,e,0,n,t,!1),0}}};var Fs=a.preloadPlugins||[];function Ms(r,e){var t=0;return r&&(t|=365),e&&(t|=146),t}var Is={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(r,e={})=>{if(!(r=Ts.resolve(r)))return{path:"",node:null};if((e=Object.assign({follow_mount:!0,recurse_count:0},e)).recurse_count>8)throw new Is.ErrnoError(32);for(var t=r.split("/").filter((r=>!!r)),n=Is.root,o="/",a=0;a<t.length;a++){var i=a===t.length-1;if(i&&e.parent)break;if(n=Is.lookupNode(n,t[a]),o=Cs.join2(o,t[a]),Is.isMountpoint(n)&&(!i||i&&e.follow_mount)&&(n=n.mounted.root),!i||e.follow)for(var s=0;Is.isLink(n.mode);){var u=Is.readlink(o);if(o=Ts.resolve(Cs.dirname(o),u),n=Is.lookupPath(o,{recurse_count:e.recurse_count+1}).node,s++>40)throw new Is.ErrnoError(32)}}return{path:o,node:n}},getPath:r=>{for(var e;;){if(Is.isRoot(r)){var t=r.mount.mountpoint;return e?"/"!==t[t.length-1]?`${t}/${e}`:t+e:t}e=e?`${r.name}/${e}`:r.name,r=r.parent}},hashName:(r,e)=>{for(var t=0,n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(r+t>>>0)%Is.nameTable.length},hashAddNode:r=>{var e=Is.hashName(r.parent.id,r.name);r.name_next=Is.nameTable[e],Is.nameTable[e]=r},hashRemoveNode:r=>{var e=Is.hashName(r.parent.id,r.name);if(Is.nameTable[e]===r)Is.nameTable[e]=r.name_next;else for(var t=Is.nameTable[e];t;){if(t.name_next===r){t.name_next=r.name_next;break}t=t.name_next}},lookupNode:(r,e)=>{var t=Is.mayLookup(r);if(t)throw new Is.ErrnoError(t,r);for(var n=Is.hashName(r.id,e),o=Is.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===r.id&&a===e)return o}return Is.lookup(r,e)},createNode:(r,e,t,n)=>{var o=new Is.FSNode(r,e,t,n);return Is.hashAddNode(o),o},destroyNode:r=>{Is.hashRemoveNode(r)},isRoot:r=>r===r.parent,isMountpoint:r=>!!r.mounted,isFile:r=>32768==(61440&r),isDir:r=>16384==(61440&r),isLink:r=>40960==(61440&r),isChrdev:r=>8192==(61440&r),isBlkdev:r=>24576==(61440&r),isFIFO:r=>4096==(61440&r),isSocket:r=>!(49152&~r),flagsToPermissionString:r=>{var e=["r","w","rw"][3&r];return 512&r&&(e+="w"),e},nodePermissions:(r,e)=>Is.ignorePermissions||(!e.includes("r")||292&r.mode)&&(!e.includes("w")||146&r.mode)&&(!e.includes("x")||73&r.mode)?0:2,mayLookup:r=>{var e=Is.nodePermissions(r,"x");return e||(r.node_ops.lookup?0:2)},mayCreate:(r,e)=>{try{Is.lookupNode(r,e);return 20}catch(r){}return Is.nodePermissions(r,"wx")},mayDelete:(r,e,t)=>{var n;try{n=Is.lookupNode(r,e)}catch(r){return r.errno}var o=Is.nodePermissions(r,"wx");if(o)return o;if(t){if(!Is.isDir(n.mode))return 54;if(Is.isRoot(n)||Is.getPath(n)===Is.cwd())return 10}else if(Is.isDir(n.mode))return 31;return 0},mayOpen:(r,e)=>r?Is.isLink(r.mode)?32:Is.isDir(r.mode)&&("r"!==Is.flagsToPermissionString(e)||512&e)?31:Is.nodePermissions(r,Is.flagsToPermissionString(e)):44,MAX_OPEN_FDS:4096,nextfd:()=>{for(var r=0;r<=Is.MAX_OPEN_FDS;r++)if(!Is.streams[r])return r;throw new Is.ErrnoError(33)},getStream:r=>Is.streams[r],createStream:(r,e=-1)=>(Is.FSStream||(Is.FSStream=function(){this.shared={}},Is.FSStream.prototype={},Object.defineProperties(Is.FSStream.prototype,{object:{get:function(){return this.node},set:function(r){this.node=r}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return!!(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(r){this.shared.flags=r}},position:{get:function(){return this.shared.position},set:function(r){this.shared.position=r}}})),r=Object.assign(new Is.FSStream,r),-1==e&&(e=Is.nextfd()),r.fd=e,Is.streams[e]=r,r),closeStream:r=>{Is.streams[r]=null},chrdev_stream_ops:{open:r=>{var e=Is.getDevice(r.node.rdev);r.stream_ops=e.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek:()=>{throw new Is.ErrnoError(70)}},major:r=>r>>8,minor:r=>255&r,makedev:(r,e)=>r<<8|e,registerDevice:(r,e)=>{Is.devices[r]={stream_ops:e}},getDevice:r=>Is.devices[r],getMounts:r=>{for(var e=[],t=[r];t.length;){var n=t.pop();e.push(n),t.push.apply(t,n.mounts)}return e},syncfs:(r,e)=>{"function"==typeof r&&(e=r,r=!1),Is.syncFSRequests++,Is.syncFSRequests>1&&w(`warning: ${Is.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=Is.getMounts(Is.root.mount),n=0;function o(r){return Is.syncFSRequests--,e(r)}function a(r){if(r)return a.errored?void 0:(a.errored=!0,o(r));++n>=t.length&&o(null)}t.forEach((e=>{if(!e.type.syncfs)return a(null);e.type.syncfs(e,r,a)}))},mount:(r,e,t)=>{var n,o="/"===t,a=!t;if(o&&Is.root)throw new Is.ErrnoError(10);if(!o&&!a){var i=Is.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,Is.isMountpoint(n))throw new Is.ErrnoError(10);if(!Is.isDir(n.mode))throw new Is.ErrnoError(54)}var s={type:r,opts:e,mountpoint:t,mounts:[]},u=r.mount(s);return u.mount=s,s.root=u,o?Is.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount:r=>{var e=Is.lookupPath(r,{follow_mount:!1});if(!Is.isMountpoint(e.node))throw new Is.ErrnoError(28);var t=e.node,n=t.mounted,o=Is.getMounts(n);Object.keys(Is.nameTable).forEach((r=>{for(var e=Is.nameTable[r];e;){var t=e.name_next;o.includes(e.mount)&&Is.destroyNode(e),e=t}})),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(r,e)=>r.node_ops.lookup(r,e),mknod:(r,e,t)=>{var n=Is.lookupPath(r,{parent:!0}).node,o=Cs.basename(r);if(!o||"."===o||".."===o)throw new Is.ErrnoError(28);var a=Is.mayCreate(n,o);if(a)throw new Is.ErrnoError(a);if(!n.node_ops.mknod)throw new Is.ErrnoError(63);return n.node_ops.mknod(n,o,e,t)},create:(r,e)=>(e=void 0!==e?e:438,e&=4095,e|=32768,Is.mknod(r,e,0)),mkdir:(r,e)=>(e=void 0!==e?e:511,e&=1023,e|=16384,Is.mknod(r,e,0)),mkdirTree:(r,e)=>{for(var t=r.split("/"),n="",o=0;o<t.length;++o)if(t[o]){n+="/"+t[o];try{Is.mkdir(n,e)}catch(r){if(20!=r.errno)throw r}}},mkdev:(r,e,t)=>(void 0===t&&(t=e,e=438),e|=8192,Is.mknod(r,e,t)),symlink:(r,e)=>{if(!Ts.resolve(r))throw new Is.ErrnoError(44);var t=Is.lookupPath(e,{parent:!0}).node;if(!t)throw new Is.ErrnoError(44);var n=Cs.basename(e),o=Is.mayCreate(t,n);if(o)throw new Is.ErrnoError(o);if(!t.node_ops.symlink)throw new Is.ErrnoError(63);return t.node_ops.symlink(t,n,r)},rename:(r,e)=>{var t,n,o=Cs.dirname(r),a=Cs.dirname(e),i=Cs.basename(r),s=Cs.basename(e);if(t=Is.lookupPath(r,{parent:!0}).node,n=Is.lookupPath(e,{parent:!0}).node,!t||!n)throw new Is.ErrnoError(44);if(t.mount!==n.mount)throw new Is.ErrnoError(75);var u,f=Is.lookupNode(t,i),c=Ts.relative(r,a);if("."!==c.charAt(0))throw new Is.ErrnoError(28);if("."!==(c=Ts.relative(e,o)).charAt(0))throw new Is.ErrnoError(55);try{u=Is.lookupNode(n,s)}catch(r){}if(f!==u){var l=Is.isDir(f.mode),d=Is.mayDelete(t,i,l);if(d)throw new Is.ErrnoError(d);if(d=u?Is.mayDelete(n,s,l):Is.mayCreate(n,s))throw new Is.ErrnoError(d);if(!t.node_ops.rename)throw new Is.ErrnoError(63);if(Is.isMountpoint(f)||u&&Is.isMountpoint(u))throw new Is.ErrnoError(10);if(n!==t&&(d=Is.nodePermissions(t,"w")))throw new Is.ErrnoError(d);Is.hashRemoveNode(f);try{t.node_ops.rename(f,n,s)}catch(r){throw r}finally{Is.hashAddNode(f)}}},rmdir:r=>{var e=Is.lookupPath(r,{parent:!0}).node,t=Cs.basename(r),n=Is.lookupNode(e,t),o=Is.mayDelete(e,t,!0);if(o)throw new Is.ErrnoError(o);if(!e.node_ops.rmdir)throw new Is.ErrnoError(63);if(Is.isMountpoint(n))throw new Is.ErrnoError(10);e.node_ops.rmdir(e,t),Is.destroyNode(n)},readdir:r=>{var e=Is.lookupPath(r,{follow:!0}).node;if(!e.node_ops.readdir)throw new Is.ErrnoError(54);return e.node_ops.readdir(e)},unlink:r=>{var e=Is.lookupPath(r,{parent:!0}).node;if(!e)throw new Is.ErrnoError(44);var t=Cs.basename(r),n=Is.lookupNode(e,t),o=Is.mayDelete(e,t,!1);if(o)throw new Is.ErrnoError(o);if(!e.node_ops.unlink)throw new Is.ErrnoError(63);if(Is.isMountpoint(n))throw new Is.ErrnoError(10);e.node_ops.unlink(e,t),Is.destroyNode(n)},readlink:r=>{var e=Is.lookupPath(r).node;if(!e)throw new Is.ErrnoError(44);if(!e.node_ops.readlink)throw new Is.ErrnoError(28);return Ts.resolve(Is.getPath(e.parent),e.node_ops.readlink(e))},stat:(r,e)=>{var t=Is.lookupPath(r,{follow:!e}).node;if(!t)throw new Is.ErrnoError(44);if(!t.node_ops.getattr)throw new Is.ErrnoError(63);return t.node_ops.getattr(t)},lstat:r=>Is.stat(r,!0),chmod:(r,e,t)=>{var n;"string"==typeof r?n=Is.lookupPath(r,{follow:!t}).node:n=r;if(!n.node_ops.setattr)throw new Is.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&e|-4096&n.mode,timestamp:Date.now()})},lchmod:(r,e)=>{Is.chmod(r,e,!0)},fchmod:(r,e)=>{var t=Is.getStream(r);if(!t)throw new Is.ErrnoError(8);Is.chmod(t.node,e)},chown:(r,e,t,n)=>{var o;"string"==typeof r?o=Is.lookupPath(r,{follow:!n}).node:o=r;if(!o.node_ops.setattr)throw new Is.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(r,e,t)=>{Is.chown(r,e,t,!0)},fchown:(r,e,t)=>{var n=Is.getStream(r);if(!n)throw new Is.ErrnoError(8);Is.chown(n.node,e,t)},truncate:(r,e)=>{if(e<0)throw new Is.ErrnoError(28);var t;"string"==typeof r?t=Is.lookupPath(r,{follow:!0}).node:t=r;if(!t.node_ops.setattr)throw new Is.ErrnoError(63);if(Is.isDir(t.mode))throw new Is.ErrnoError(31);if(!Is.isFile(t.mode))throw new Is.ErrnoError(28);var n=Is.nodePermissions(t,"w");if(n)throw new Is.ErrnoError(n);t.node_ops.setattr(t,{size:e,timestamp:Date.now()})},ftruncate:(r,e)=>{var t=Is.getStream(r);if(!t)throw new Is.ErrnoError(8);if(!(2097155&t.flags))throw new Is.ErrnoError(28);Is.truncate(t.node,e)},utime:(r,e,t)=>{var n=Is.lookupPath(r,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(e,t)})},open:(r,e,t)=>{if(""===r)throw new Is.ErrnoError(44);var n;if(t=void 0===t?438:t,t=64&(e="string"==typeof e?function(r){var e={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[r];if(void 0===e)throw new Error(`Unknown file open mode: ${r}`);return e}(e):e)?4095&t|32768:0,"object"==typeof r)n=r;else{r=Cs.normalize(r);try{n=Is.lookupPath(r,{follow:!(131072&e)}).node}catch(r){}}var o=!1;if(64&e)if(n){if(128&e)throw new Is.ErrnoError(20)}else n=Is.mknod(r,t,0),o=!0;if(!n)throw new Is.ErrnoError(44);if(Is.isChrdev(n.mode)&&(e&=-513),65536&e&&!Is.isDir(n.mode))throw new Is.ErrnoError(54);if(!o){var i=Is.mayOpen(n,e);if(i)throw new Is.ErrnoError(i)}512&e&&!o&&Is.truncate(n,0),e&=-131713;var s=Is.createStream({node:n,path:Is.getPath(n),flags:e,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!a.logReadFiles||1&e||(Is.readFiles||(Is.readFiles={}),r in Is.readFiles||(Is.readFiles[r]=1)),s},close:r=>{if(Is.isClosed(r))throw new Is.ErrnoError(8);r.getdents&&(r.getdents=null);try{r.stream_ops.close&&r.stream_ops.close(r)}catch(r){throw r}finally{Is.closeStream(r.fd)}r.fd=null},isClosed:r=>null===r.fd,llseek:(r,e,t)=>{if(Is.isClosed(r))throw new Is.ErrnoError(8);if(!r.seekable||!r.stream_ops.llseek)throw new Is.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new Is.ErrnoError(28);return r.position=r.stream_ops.llseek(r,e,t),r.ungotten=[],r.position},read:(r,e,t,n,o)=>{if(n<0||o<0)throw new Is.ErrnoError(28);if(Is.isClosed(r))throw new Is.ErrnoError(8);if(1==(2097155&r.flags))throw new Is.ErrnoError(8);if(Is.isDir(r.node.mode))throw new Is.ErrnoError(31);if(!r.stream_ops.read)throw new Is.ErrnoError(28);var a=void 0!==o;if(a){if(!r.seekable)throw new Is.ErrnoError(70)}else o=r.position;var i=r.stream_ops.read(r,e,t,n,o);return a||(r.position+=i),i},write:(r,e,t,n,o,a)=>{if(n<0||o<0)throw new Is.ErrnoError(28);if(Is.isClosed(r))throw new Is.ErrnoError(8);if(!(2097155&r.flags))throw new Is.ErrnoError(8);if(Is.isDir(r.node.mode))throw new Is.ErrnoError(31);if(!r.stream_ops.write)throw new Is.ErrnoError(28);r.seekable&&1024&r.flags&&Is.llseek(r,0,2);var i=void 0!==o;if(i){if(!r.seekable)throw new Is.ErrnoError(70)}else o=r.position;var s=r.stream_ops.write(r,e,t,n,o,a);return i||(r.position+=s),s},allocate:(r,e,t)=>{if(Is.isClosed(r))throw new Is.ErrnoError(8);if(e<0||t<=0)throw new Is.ErrnoError(28);if(!(2097155&r.flags))throw new Is.ErrnoError(8);if(!Is.isFile(r.node.mode)&&!Is.isDir(r.node.mode))throw new Is.ErrnoError(43);if(!r.stream_ops.allocate)throw new Is.ErrnoError(138);r.stream_ops.allocate(r,e,t)},mmap:(r,e,t,n,o)=>{if(2&n&&!(2&o)&&2!=(2097155&r.flags))throw new Is.ErrnoError(2);if(1==(2097155&r.flags))throw new Is.ErrnoError(2);if(!r.stream_ops.mmap)throw new Is.ErrnoError(43);return r.stream_ops.mmap(r,e,t,n,o)},msync:(r,e,t,n,o)=>r.stream_ops.msync?r.stream_ops.msync(r,e,t,n,o):0,munmap:r=>0,ioctl:(r,e,t)=>{if(!r.stream_ops.ioctl)throw new Is.ErrnoError(59);return r.stream_ops.ioctl(r,e,t)},readFile:(r,e={})=>{if(e.flags=e.flags||0,e.encoding=e.encoding||"binary","utf8"!==e.encoding&&"binary"!==e.encoding)throw new Error(`Invalid encoding type "${e.encoding}"`);var t,n=Is.open(r,e.flags),o=Is.stat(r).size,a=new Uint8Array(o);return Is.read(n,a,0,o,0),"utf8"===e.encoding?t=_e(a,0):"binary"===e.encoding&&(t=a),Is.close(n),t},writeFile:(r,e,t={})=>{t.flags=t.flags||577;var n=Is.open(r,t.flags,t.mode);if("string"==typeof e){var o=new Uint8Array(Ee(e)+1),a=be(e,o,0,o.length);Is.write(n,o,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(e))throw new Error("Unsupported data type");Is.write(n,e,0,e.byteLength,void 0,t.canOwn)}Is.close(n)},cwd:()=>Is.currentPath,chdir:r=>{var e=Is.lookupPath(r,{follow:!0});if(null===e.node)throw new Is.ErrnoError(44);if(!Is.isDir(e.node.mode))throw new Is.ErrnoError(54);var t=Is.nodePermissions(e.node,"x");if(t)throw new Is.ErrnoError(t);Is.currentPath=e.path},createDefaultDirectories:()=>{Is.mkdir("/tmp"),Is.mkdir("/home"),Is.mkdir("/home/web_user")},createDefaultDevices:()=>{Is.mkdir("/dev"),Is.registerDevice(Is.makedev(1,3),{read:()=>0,write:(r,e,t,n,o)=>n}),Is.mkdev("/dev/null",Is.makedev(1,3)),Ss.register(Is.makedev(5,0),Ss.default_tty_ops),Ss.register(Is.makedev(6,0),Ss.default_tty1_ops),Is.mkdev("/dev/tty",Is.makedev(5,0)),Is.mkdev("/dev/tty1",Is.makedev(6,0));var r=new Uint8Array(1024),e=0,t=()=>(0===e&&(e=As(r).byteLength),r[--e]);Is.createDevice("/dev","random",t),Is.createDevice("/dev","urandom",t),Is.mkdir("/dev/shm"),Is.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{Is.mkdir("/proc");var r=Is.mkdir("/proc/self");Is.mkdir("/proc/self/fd"),Is.mount({mount:()=>{var e=Is.createNode(r,"fd",16895,73);return e.node_ops={lookup:(r,e)=>{var t=+e,n=Is.getStream(t);if(!n)throw new Is.ErrnoError(8);var o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},e}},{},"/proc/self/fd")},createStandardStreams:()=>{a.stdin?Is.createDevice("/dev","stdin",a.stdin):Is.symlink("/dev/tty","/dev/stdin"),a.stdout?Is.createDevice("/dev","stdout",null,a.stdout):Is.symlink("/dev/tty","/dev/stdout"),a.stderr?Is.createDevice("/dev","stderr",null,a.stderr):Is.symlink("/dev/tty1","/dev/stderr");Is.open("/dev/stdin",0),Is.open("/dev/stdout",1),Is.open("/dev/stderr",1)},ensureErrnoError:()=>{Is.ErrnoError||(Is.ErrnoError=function(r,e){this.name="ErrnoError",this.node=e,this.setErrno=function(r){this.errno=r},this.setErrno(r),this.message="FS error"},Is.ErrnoError.prototype=new Error,Is.ErrnoError.prototype.constructor=Is.ErrnoError,[44].forEach((r=>{Is.genericErrors[r]=new Is.ErrnoError(r),Is.genericErrors[r].stack="<generic error, no stack>"})))},staticInit:()=>{Is.ensureErrnoError(),Is.nameTable=new Array(4096),Is.mount(Ds,{},"/"),Is.createDefaultDirectories(),Is.createDefaultDevices(),Is.createSpecialDirectories(),Is.filesystems={MEMFS:Ds}},init:(r,e,t)=>{Is.init.initialized=!0,Is.ensureErrnoError(),a.stdin=r||a.stdin,a.stdout=e||a.stdout,a.stderr=t||a.stderr,Is.createStandardStreams()},quit:()=>{Is.init.initialized=!1;for(var r=0;r<Is.streams.length;r++){var e=Is.streams[r];e&&Is.close(e)}},findObject:(r,e)=>{var t=Is.analyzePath(r,e);return t.exists?t.object:null},analyzePath:(r,e)=>{try{r=(n=Is.lookupPath(r,{follow:!e})).path}catch(r){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=Is.lookupPath(r,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=Cs.basename(r),n=Is.lookupPath(r,{follow:!e}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(r){t.error=r.errno}return t},createPath:(r,e,t,n)=>{r="string"==typeof r?r:Is.getPath(r);for(var o=e.split("/").reverse();o.length;){var a=o.pop();if(a){var i=Cs.join2(r,a);try{Is.mkdir(i)}catch(r){}r=i}}return i},createFile:(r,e,t,n,o)=>{var a=Cs.join2("string"==typeof r?r:Is.getPath(r),e),i=Ms(n,o);return Is.create(a,i)},createDataFile:(r,e,t,n,o,a)=>{var i=e;r&&(r="string"==typeof r?r:Is.getPath(r),i=e?Cs.join2(r,e):r);var s=Ms(n,o),u=Is.create(i,s);if(t){if("string"==typeof t){for(var f=new Array(t.length),c=0,l=t.length;c<l;++c)f[c]=t.charCodeAt(c);t=f}Is.chmod(u,146|s);var d=Is.open(u,577);Is.write(d,t,0,t.length,0,a),Is.close(d),Is.chmod(u,s)}return u},createDevice:(r,e,t,n)=>{var o=Cs.join2("string"==typeof r?r:Is.getPath(r),e),a=Ms(!!t,!!n);Is.createDevice.major||(Is.createDevice.major=64);var i=Is.makedev(Is.createDevice.major++,0);return Is.registerDevice(i,{open:r=>{r.seekable=!1},close:r=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(r,e,n,o,a)=>{for(var i=0,s=0;s<o;s++){var u;try{u=t()}catch(r){throw new Is.ErrnoError(29)}if(void 0===u&&0===i)throw new Is.ErrnoError(6);if(null==u)break;i++,e[n+s]=u}return i&&(r.node.timestamp=Date.now()),i},write:(r,e,t,o,a)=>{for(var i=0;i<o;i++)try{n(e[t+i])}catch(r){throw new Is.ErrnoError(29)}return o&&(r.node.timestamp=Date.now()),i}}),Is.mkdev(o,a,i)},forceLoadFile:r=>{if(r.isDevice||r.isFolder||r.link||r.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!i)throw new Error("Cannot load without read() or XMLHttpRequest.");try{r.contents=Bs(i(r.url),!0),r.usedBytes=r.contents.length}catch(r){throw new Is.ErrnoError(29)}},createLazyFile:(r,e,t,n,o)=>{function a(){this.lengthKnown=!1,this.chunks=[]}if(a.prototype.get=function(r){if(!(r>this.length-1||r<0)){var e=r%this.chunkSize,t=r/this.chunkSize|0;return this.getter(t)[e]}},a.prototype.setDataGetter=function(r){this.getter=r},a.prototype.cacheLength=function(){var r=new XMLHttpRequest;if(r.open("HEAD",t,!1),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw new Error("Couldn't load "+t+". Status: "+r.status);var e,n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,i=1048576;o||(i=n);var s=this;s.setDataGetter((r=>{var e=r*i,o=(r+1)*i-1;if(o=Math.min(o,n-1),void 0===s.chunks[r]&&(s.chunks[r]=((r,e)=>{if(r>e)throw new Error("invalid range ("+r+", "+e+") or no bytes requested!");if(e>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+r+"-"+e),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):Bs(o.responseText||"",!0)})(e,o)),void 0===s.chunks[r])throw new Error("doXHR failed!");return s.chunks[r]})),!a&&n||(i=n=1,n=this.getter(0).length,i=n,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!m)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var i=new a;Object.defineProperties(i,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:i}}else s={isDevice:!1,url:t};var u=Is.createFile(r,e,s,n,o);s.contents?u.contents=s.contents:s.url&&(u.contents=null,u.url=s.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var f={};function c(r,e,t,n,o){var a=r.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s<i;s++)e[t+s]=a[o+s];else for(s=0;s<i;s++)e[t+s]=a.get(o+s);return i}return Object.keys(u.stream_ops).forEach((r=>{var e=u.stream_ops[r];f[r]=function(){return Is.forceLoadFile(u),e.apply(null,arguments)}})),f.read=(r,e,t,n,o)=>(Is.forceLoadFile(u),c(r,e,t,n,o)),f.mmap=(r,e,t,n,o)=>{Is.forceLoadFile(u);var a=$s();if(!a)throw new Is.ErrnoError(48);return c(r,_,a,e,t),{ptr:a,allocated:!0}},u.stream_ops=f,u}},Ls={DEFAULT_POLLMASK:5,calculateAt:function(r,e,t){if(Cs.isAbs(e))return e;var n;-100===r?n=Is.cwd():n=Ls.getStreamFromFD(r).path;if(0==e.length){if(!t)throw new Is.ErrnoError(44);return n}return Cs.join2(n,e)},doStat:function(r,e,t){try{var n=r(e)}catch(r){if(r&&r.node&&Cs.normalize(e)!==Cs.normalize(Is.getPath(r.node)))return-54;throw r}A[t>>2]=n.dev,A[t+8>>2]=n.ino,A[t+12>>2]=n.mode,T[t+16>>2]=n.nlink,A[t+20>>2]=n.uid,A[t+24>>2]=n.gid,A[t+28>>2]=n.rdev,q=[n.size>>>0,(H=n.size,+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],A[t+40>>2]=q[0],A[t+44>>2]=q[1],A[t+48>>2]=4096,A[t+52>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return q=[Math.floor(o/1e3)>>>0,(H=Math.floor(o/1e3),+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],A[t+56>>2]=q[0],A[t+60>>2]=q[1],T[t+64>>2]=o%1e3*1e3,q=[Math.floor(a/1e3)>>>0,(H=Math.floor(a/1e3),+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],A[t+72>>2]=q[0],A[t+76>>2]=q[1],T[t+80>>2]=a%1e3*1e3,q=[Math.floor(i/1e3)>>>0,(H=Math.floor(i/1e3),+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],A[t+88>>2]=q[0],A[t+92>>2]=q[1],T[t+96>>2]=i%1e3*1e3,q=[n.ino>>>0,(H=n.ino,+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],A[t+104>>2]=q[0],A[t+108>>2]=q[1],0},doMsync:function(r,e,t,n,o){if(!Is.isFile(e.node.mode))throw new Is.ErrnoError(43);if(2&n)return 0;var a=k.slice(r,r+t);Is.msync(e,a,o,t,n)},varargs:void 0,get:function(){return Ls.varargs+=4,A[Ls.varargs-4>>2]},getStr:function(r){return ke(r)},getStreamFromFD:function(r){var e=Is.getStream(r);if(!e)throw new Is.ErrnoError(8);return e}};function js(r){x||(a.onExit&&a.onExit(r),D=!0),l(r,new J(r))}var Rs=function(r,e){js(r)};function Vs(r){return r%4==0&&(r%100!=0||r%400==0)}var Os,Us=[31,29,31,30,31,30,31,31,30,31,30,31],Ns=[31,28,31,30,31,30,31,31,30,31,30,31];function Ws(r,e,t,n){var o=A[n+40>>2],a={tm_sec:A[n>>2],tm_min:A[n+4>>2],tm_hour:A[n+8>>2],tm_mday:A[n+12>>2],tm_mon:A[n+16>>2],tm_year:A[n+20>>2],tm_wday:A[n+24>>2],tm_yday:A[n+28>>2],tm_isdst:A[n+32>>2],tm_gmtoff:A[n+36>>2],tm_zone:o?ke(o):""},i=ke(t),s={"%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 u in s)i=i.replace(new RegExp(u,"g"),s[u]);var f=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function l(r,e,t){for(var n="number"==typeof r?r.toString():r||"";n.length<e;)n=t[0]+n;return n}function d(r,e){return l(r,e,"0")}function m(r,e){function t(r){return r<0?-1:r>0?1:0}var n;return 0===(n=t(r.getFullYear()-e.getFullYear()))&&0===(n=t(r.getMonth()-e.getMonth()))&&(n=t(r.getDate()-e.getDate())),n}function v(r){switch(r.getDay()){case 0:return new Date(r.getFullYear()-1,11,29);case 1:return r;case 2:return new Date(r.getFullYear(),0,3);case 3:return new Date(r.getFullYear(),0,2);case 4:return new Date(r.getFullYear(),0,1);case 5:return new Date(r.getFullYear()-1,11,31);case 6:return new Date(r.getFullYear()-1,11,30)}}function p(r){var e=function(r,e){for(var t=new Date(r.getTime());e>0;){var n=Vs(t.getFullYear()),o=t.getMonth(),a=(n?Us:Ns)[o];if(!(e>a-t.getDate()))return t.setDate(t.getDate()+e),t;e-=a-t.getDate()+1,t.setDate(1),o<11?t.setMonth(o+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t}(new Date(r.tm_year+1900,0,1),r.tm_yday),t=new Date(e.getFullYear(),0,4),n=new Date(e.getFullYear()+1,0,4),o=v(t),a=v(n);return m(o,e)<=0?m(a,e)<=0?e.getFullYear()+1:e.getFullYear():e.getFullYear()-1}var h={"%a":function(r){return f[r.tm_wday].substring(0,3)},"%A":function(r){return f[r.tm_wday]},"%b":function(r){return c[r.tm_mon].substring(0,3)},"%B":function(r){return c[r.tm_mon]},"%C":function(r){return d((r.tm_year+1900)/100|0,2)},"%d":function(r){return d(r.tm_mday,2)},"%e":function(r){return l(r.tm_mday,2," ")},"%g":function(r){return p(r).toString().substring(2)},"%G":function(r){return p(r)},"%H":function(r){return d(r.tm_hour,2)},"%I":function(r){var e=r.tm_hour;return 0==e?e=12:e>12&&(e-=12),d(e,2)},"%j":function(r){return d(r.tm_mday+function(r,e){for(var t=0,n=0;n<=e;t+=r[n++]);return t}(Vs(r.tm_year+1900)?Us:Ns,r.tm_mon-1),3)},"%m":function(r){return d(r.tm_mon+1,2)},"%M":function(r){return d(r.tm_min,2)},"%n":function(){return"\n"},"%p":function(r){return r.tm_hour>=0&&r.tm_hour<12?"AM":"PM"},"%S":function(r){return d(r.tm_sec,2)},"%t":function(){return"\t"},"%u":function(r){return r.tm_wday||7},"%U":function(r){var e=r.tm_yday+7-r.tm_wday;return d(Math.floor(e/7),2)},"%V":function(r){var e=Math.floor((r.tm_yday+7-(r.tm_wday+6)%7)/7);if((r.tm_wday+371-r.tm_yday-2)%7<=2&&e++,e){if(53==e){var t=(r.tm_wday+371-r.tm_yday)%7;4==t||3==t&&Vs(r.tm_year)||(e=1)}}else{e=52;var n=(r.tm_wday+7-r.tm_yday-1)%7;(4==n||5==n&&Vs(r.tm_year%400-1))&&e++}return d(e,2)},"%w":function(r){return r.tm_wday},"%W":function(r){var e=r.tm_yday+7-(r.tm_wday+6)%7;return d(Math.floor(e/7),2)},"%y":function(r){return(r.tm_year+1900).toString().substring(2)},"%Y":function(r){return r.tm_year+1900},"%z":function(r){var e=r.tm_gmtoff,t=e>=0;return e=(e=Math.abs(e)/60)/60*100+e%60,(t?"+":"-")+String("0000"+e).slice(-4)},"%Z":function(r){return r.tm_zone},"%%":function(){return"%"}};for(var u in i=i.replace(/%%/g,"\0\0"),h)i.includes(u)&&(i=i.replace(new RegExp(u,"g"),h[u](a)));var g,y,b=Bs(i=i.replace(/\0\0/g,"%"),!1);return b.length>e?0:(g=b,y=r,_.set(g,y),b.length-1)}cr=a.InternalError=fr(Error,"InternalError"),function(){for(var r=new Array(256),e=0;e<256;++e)r[e]=String.fromCharCode(e);vr=r}(),hr=a.BindingError=fr(Error,"BindingError"),Ur.prototype.isAliasOf=br,Ur.prototype.clone=jr,Ur.prototype.delete=Rr,Ur.prototype.isDeleted=Vr,Ur.prototype.deleteLater=Or,a.getInheritedInstanceCount=Cr,a.getLiveInheritedInstances=Ar,a.flushPendingDeletes=Br,a.setDelayFunction=$r,Jr.prototype.getPointee=Xr,Jr.prototype.destructor=Yr,Jr.prototype.argPackAdvance=8,Jr.prototype.readValueFromPointer=nr,Jr.prototype.deleteObject=Zr,Jr.prototype.fromWireType=Ir,ne=a.UnboundTypeError=fr(Error,"UnboundTypeError"),ce.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),ce.reserved=ce.allocated.length,a.count_emval_handles=de;for(var zs=0;zs<32;++zs)sn.push(new Array(zs));var Gs=new Float32Array(288);for(zs=0;zs<288;++zs)gi[zs]=Gs.subarray(0,zs+1);var Hs=new Int32Array(288);for(zs=0;zs<288;++zs)wi[zs]=Hs.subarray(0,zs+1);var qs=function(r,e,t,n){r||(r=this),this.parent=r,this.mount=r.mount,this.mounted=null,this.id=Is.nextInode++,this.name=e,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n},Qs=365,Xs=146;Object.defineProperties(qs.prototype,{read:{get:function(){return(this.mode&Qs)===Qs},set:function(r){r?this.mode|=Qs:this.mode&=-366}},write:{get:function(){return(this.mode&Xs)===Xs},set:function(r){r?this.mode|=Xs:this.mode&=-147}},isFolder:{get:function(){return Is.isDir(this.mode)}},isDevice:{get:function(){return Is.isChrdev(this.mode)}}}),Is.FSNode=qs,Is.createPreloadedFile=function(r,e,t,n,o,a,i,u,f,c){var l=e?Ts.resolve(Cs.join2(r,e)):r;function d(t){function s(t){c&&c(),u||Is.createDataFile(r,e,t,n,o,f),a&&a(),N()}(function(r,e,t,n){"undefined"!=typeof Browser&&Browser.init();var o=!1;return Fs.forEach((function(a){o||a.canHandle(e)&&(a.handle(r,e,t,n),o=!0)})),o})(t,l,s,(()=>{i&&i(),N()}))||s(t)}U(),"string"==typeof t?function(r,e,t,n){var o=n?"":`al ${r}`;s(r,(t=>{F(t,`Loading data file "${r}" failed (no arrayBuffer).`),e(new Uint8Array(t)),o&&N()}),(e=>{if(!t)throw`Loading data file "${r}" failed.`;t()})),o&&U()}(t,(r=>d(r)),i):d(t)},Is.staticInit();var Ys,Zs={v:function(r,e,t){throw new rr(r).init(e,t),r},Fa:function(r){var e=er[r];delete er[r];var t=e.rawConstructor,n=e.rawDestructor,o=e.fields;dr([r],o.map((r=>r.getterReturnType)).concat(o.map((r=>r.setterArgumentType))),(r=>{var a={};return o.forEach(((e,t)=>{var n=e.fieldName,i=r[t],s=e.getter,u=e.getterContext,f=r[t+o.length],c=e.setter,l=e.setterContext;a[n]={read:r=>i.fromWireType(s(u,r)),write:(r,e)=>{var t=[];c(l,r,f.toWireType(t,e)),tr(t)}}})),[{name:e.name,fromWireType:function(r){var e={};for(var t in a)e[t]=a[t].read(r);return n(r),e},toWireType:function(r,e){for(var o in a)if(!(o in e))throw new TypeError(`Missing field: "${o}"`);var i=t();for(o in a)a[o].write(i,e[o]);return null!==r&&r.push(n,i),i},argPackAdvance:8,readValueFromPointer:nr,destructorFunction:n}]}))},Oa:function(r,e,t,n,o){},Rb:function(r,e,t,n,o){var a=mr(t);yr(r,{name:e=pr(e),fromWireType:function(r){return!!r},toWireType:function(r,e){return e?n:o},argPackAdvance:8,readValueFromPointer:function(r){var n;if(1===t)n=_;else if(2===t)n=P;else{if(4!==t)throw new TypeError("Unknown boolean type size: "+e);n=A}return this.fromWireType(n[r>>a])},destructorFunction:null})},ua:function(r,e,t,n,o,i,s,u,f,c,l,d,m){l=pr(l),i=te(o,i),u&&(u=te(s,u)),c&&(c=te(f,c)),m=te(d,m);var v=sr(l);Wr(v,(function(){ae(`Cannot construct ${l} due to unbound types`,[n])})),dr([r,e,t],n?[n]:[],(function(e){var t,o;e=e[0],o=n?(t=e.registeredClass).instancePrototype:Ur.prototype;var s=ur(v,(function(){if(Object.getPrototypeOf(this)!==f)throw new hr("Use 'new' to construct "+l);if(void 0===d.constructor_body)throw new hr(l+" has no accessible constructor");var r=d.constructor_body[arguments.length];if(void 0===r)throw new hr(`Tried to invoke ctor of ${l} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return r.apply(this,arguments)})),f=Object.create(o,{constructor:{value:s}});s.prototype=f;var d=new zr(l,s,f,m,t,i,u,c);d.baseClass&&(void 0===d.baseClass.__derivedClasses&&(d.baseClass.__derivedClasses=[]),d.baseClass.__derivedClasses.push(d));var p=new Jr(l,d,!0,!1,!1),h=new Jr(l+"*",d,!1,!1,!1),g=new Jr(l+" const*",d,!1,!0,!1);return Pr[r]={pointerType:h,constPointerType:g},function(r,e,t){a.hasOwnProperty(r)||lr("Replacing nonexistant public symbol"),void 0!==a[r].overloadTable&&void 0!==t?a[r].overloadTable[t]=e:(a[r]=e,a[r].argCount=t)}(v,s),[p,h,g]}))},ja:function(r,e,t,n,o,a){F(e>0);var i=ie(e,t);o=te(n,o),dr([],[r],(function(r){var t=`constructor ${(r=r[0]).name}`;if(void 0===r.registeredClass.constructor_body&&(r.registeredClass.constructor_body=[]),void 0!==r.registeredClass.constructor_body[e-1])throw new hr(`Cannot register multiple constructors with identical number of parameters (${e-1}) for class '${r.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return r.registeredClass.constructor_body[e-1]=()=>{ae(`Cannot construct ${r.name} due to unbound types`,i)},dr([],i,(function(n){return n.splice(1,0,null),r.registeredClass.constructor_body[e-1]=ue(t,n,null,o,a),[]})),[]}))},r:function(r,e,t,n,o,a,i,s,u){var f=ie(t,n);e=pr(e),a=te(o,a),dr([],[r],(function(r){var n=`${(r=r[0]).name}.${e}`;function o(){ae(`Cannot call ${n} due to unbound types`,f)}e.startsWith("@@")&&(e=Symbol[e.substring(2)]),s&&r.registeredClass.pureVirtualFunctions.push(e);var c=r.registeredClass.instancePrototype,l=c[e];return void 0===l||void 0===l.overloadTable&&l.className!==r.name&&l.argCount===t-2?(o.argCount=t-2,o.className=r.name,c[e]=o):(Nr(c,e,n),c[e].overloadTable[t-2]=o),dr([],f,(function(o){var s=ue(n,o,r,a,i,u);return void 0===c[e].overloadTable?(s.argCount=t-2,c[e]=s):c[e].overloadTable[t-2]=s,[]})),[]}))},f:function(r,e,t,n,o,a,i,s,u,f){e=pr(e),o=te(n,o),dr([],[r],(function(r){var n=`${(r=r[0]).name}.${e}`,c={get:function(){ae(`Cannot access ${n} due to unbound types`,[t,i])},enumerable:!0,configurable:!0};return c.set=u?()=>{ae(`Cannot access ${n} due to unbound types`,[t,i])}:r=>{gr(n+" is a read-only property")},Object.defineProperty(r.registeredClass.instancePrototype,e,c),dr([],u?[t,i]:[t],(function(t){var i=t[0],c={get:function(){var e=fe(this,r,n+" getter");return i.fromWireType(o(a,e))},enumerable:!0};if(u){u=te(s,u);var l=t[1];c.set=function(e){var t=fe(this,r,n+" setter"),o=[];u(f,t,l.toWireType(o,e)),tr(o)}}return Object.defineProperty(r.registeredClass.instancePrototype,e,c),[]})),[]}))},Va:function(r,e){yr(r,{name:e=pr(e),fromWireType:function(r){var e=me.toValue(r);return le(r),e},toWireType:function(r,e){return me.toHandle(e)},argPackAdvance:8,readValueFromPointer:nr,destructorFunction:null})},g:function(r,e,t,n){var o=mr(t);function a(){}e=pr(e),a.values={},yr(r,{name:e,constructor:a,fromWireType:function(r){return this.constructor.values[r]},toWireType:function(r,e){return e.value},argPackAdvance:8,readValueFromPointer:ve(e,o,n),destructorFunction:null}),Wr(e,a)},a:function(r,e,t){var n=pe(r,"enum");e=pr(e);var o=n.constructor,a=Object.create(n.constructor.prototype,{value:{value:t},constructor:{value:ur(`${n.name}_${e}`,(function(){}))}});o.values[t]=a,o[e]=a},u:function(r,e,t){var n=mr(t);yr(r,{name:e=pr(e),fromWireType:function(r){return r},toWireType:function(r,e){return e},argPackAdvance:8,readValueFromPointer:ge(e,n),destructorFunction:null})},d:function(r,e,t,n,o){e=pr(e),-1===o&&(o=4294967295);var a=mr(t),i=r=>r;if(0===n){var s=32-8*t;i=r=>r<<s>>>s}var u=e.includes("unsigned");yr(r,{name:e,fromWireType:i,toWireType:u?function(r,e){return this.name,e>>>0}:function(r,e){return this.name,e},argPackAdvance:8,readValueFromPointer:ye(e,a,0!==n),destructorFunction:null})},c:function(r,e,t){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];function o(r){var e=T,t=e[r>>=2],o=e[r+1];return new n(e.buffer,o,t)}yr(r,{name:t=pr(t),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},t:function(r,e){var t="std::string"===(e=pr(e));yr(r,{name:e,fromWireType:function(r){var e,n=T[r>>2],o=r+4;if(t)for(var a=o,i=0;i<=n;++i){var s=o+i;if(i==n||0==k[s]){var u=ke(a,s-a);void 0===e?e=u:(e+=String.fromCharCode(0),e+=u),a=s+1}}else{var f=new Array(n);for(i=0;i<n;++i)f[i]=String.fromCharCode(k[o+i]);e=f.join("")}return Js(r),e},toWireType:function(r,e){var n;e instanceof ArrayBuffer&&(e=new Uint8Array(e));var o="string"==typeof e;o||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||gr("Cannot pass non-string to std::string"),n=t&&o?Ee(e):e.length;var a=Ks(4+n+1),i=a+4;if(T[a>>2]=n,t&&o)we(e,i,n+1);else if(o)for(var s=0;s<n;++s){var u=e.charCodeAt(s);u>255&&(Js(i),gr("String has UTF-16 code units that do not fit in 8 bits")),k[i+s]=u}else for(s=0;s<n;++s)k[i+s]=e[s];return null!==r&&r.push(Js,a),a},argPackAdvance:8,readValueFromPointer:nr,destructorFunction:function(r){Js(r)}})},l:function(r,e,t){var n,o,a,i,s;t=pr(t),2===e?(n=Ce,o=Ae,i=Te,a=()=>C,s=1):4===e&&(n=Be,o=Se,i=$e,a=()=>T,s=2),yr(r,{name:t,fromWireType:function(r){for(var t,o=T[r>>2],i=a(),u=r+4,f=0;f<=o;++f){var c=r+4+f*e;if(f==o||0==i[c>>s]){var l=n(u,c-u);void 0===t?t=l:(t+=String.fromCharCode(0),t+=l),u=c+e}}return Js(r),t},toWireType:function(r,n){"string"!=typeof n&&gr(`Cannot pass non-string to C++ string type ${t}`);var a=i(n),u=Ks(4+a+e);return T[u>>2]=a>>s,o(n,u+4,a+e),null!==r&&r.push(Js,u),u},argPackAdvance:8,readValueFromPointer:nr,destructorFunction:function(r){Js(r)}})},Zc:function(r,e,t,n,o,a){er[r]={name:pr(e),rawConstructor:te(t,n),rawDestructor:te(o,a),fields:[]}},m:function(r,e,t,n,o,a,i,s,u,f){er[r].fields.push({fieldName:pr(e),getterReturnType:t,getter:te(n,o),getterContext:a,setterArgumentType:i,setter:te(s,u),setterContext:f})},ac:function(r,e){yr(r,{isVoid:!0,name:e=pr(e),argPackAdvance:0,fromWireType:function(){},toWireType:function(r,e){}})},k:function(r,e,t){r=me.toValue(r),e=pe(e,"emval::as");var n=[],o=me.toHandle(n);return T[t>>2]=o,e.toWireType(n,r)},td:function(r,e,t,n){(r=Me[r])(e=me.toValue(e),t=Fe(t),null,n)},b:le,Ed:function(r,e){var t=function(r,e){for(var t=new Array(r),n=0;n<r;++n)t[n]=pe(T[e+4*n>>2],"parameter "+n);return t}(r,e),n=t[0],o=n.name+"_$"+t.slice(1).map((function(r){return r.name})).join("_")+"$",a=Ie[o];if(void 0!==a)return a;for(var i=["retType"],s=[n],u="",f=0;f<r-1;++f)u+=(0!==f?", ":"")+"arg"+f,i.push("argType"+f),s.push(t[1+f]);var c="return function "+sr("methodCaller_"+o)+"(handle, name, destructors, args) {\n",l=0;for(f=0;f<r-1;++f)c+=" var arg"+f+" = argType"+f+".readValueFromPointer(args"+(l?"+"+l:"")+");\n",l+=t[f+1].argPackAdvance;for(c+=" var rv = handle[name]("+u+");\n",f=0;f<r-1;++f)t[f+1].deleteObject&&(c+=" argType"+f+".deleteObject(arg"+f+");\n");n.isVoid||(c+=" return retType.toWireType(destructors, rv);\n"),c+="};\n",i.push(c);var d,m,v=se(Function,i).apply(null,s);return d=v,m=Me.length,Me.push(d),a=m,Ie[o]=a,a},w:function(r){return r=Fe(r),me.toHandle(a[r])},h:function(r,e){return r=me.toValue(r),e=me.toValue(e),me.toHandle(r[e])},q:function(r){r>4&&(ce.get(r).refcount+=1)},Pd:function(r,e,t,n){r=me.toValue(r);var o=Le[e];return o||(o=function(r){for(var e="",t=0;t<r;++t)e+=(0!==t?", ":"")+"arg"+t;var n="return function emval_allocator_"+r+"(constructor, argTypes, args) {\n var HEAPU32 = getMemory();\n";for(t=0;t<r;++t)n+="var argType"+t+" = requireRegisteredType(HEAPU32[((argTypes)>>2)], 'parameter "+t+"');\nvar arg"+t+" = argType"+t+".readValueFromPointer(args);\nargs += argType"+t+"['argPackAdvance'];\nargTypes += 4;\n";return n+="var obj = new constructor("+e+");\nreturn valueToHandle(obj);\n}\n",new Function("requireRegisteredType","Module","valueToHandle","getMemory",n)(pe,a,me.toHandle,(()=>T))}(e),Le[e]=o),o(r,t,n)},e:function(r){return me.toHandle(Fe(r))},id:function(){return me.toHandle({})},j:function(r){tr(me.toValue(r)),le(r)},o:function(r,e,t){r=me.toValue(r),e=me.toValue(e),t=me.toValue(t),r[e]=t},p:function(r,e){var t=(r=pe(r,"_emval_take_value")).readValueFromPointer(e);return me.toHandle(t)},i:function(){W("")},ra:Re,qa:Ve,Qc:Oe,Ja:Ue,tc:Ne,pa:We,oa:ze,qc:Ge,rc:He,na:qe,ma:Qe,wb:Xe,la:Ye,ob:Ze,yc:Ke,Aa:rt,ka:et,ia:tt,ha:nt,ga:ot,fa:at,Dc:it,ea:st,da:ut,ca:ft,ba:ct,Ub:lt,Vb:dt,Xb:mt,Wb:vt,aa:pt,$:ht,_:gt,Fb:bt,Z:wt,Y:Et,X:xt,Vc:_t,W:kt,Uc:Pt,Sb:Ct,V:At,U:Tt,Wc:Bt,T:St,S:$t,R:Dt,Q:Ft,P:Mt,O:It,Sc:Lt,La:jt,N:Rt,yb:Vt,M:Ot,Gb:Ut,L:Nt,nb:Wt,xc:Gt,za:Ht,K:qt,J:Qt,I:Xt,H:Yt,G:Zt,F:Jt,E:Kt,Kb:en,va:tn,Za:nn,cd:on,_a:an,Kc:fn,ad:cn,wa:ln,D:mn,Jb:pn,ta:hn,Xa:gn,Ya:yn,bd:bn,_c:wn,C:En,B:xn,Pc:_n,Ia:kn,sc:Pn,Ib:Cn,A:An,z:Tn,zc:$n,y:Dn,x:Fn,Bc:Mn,Ve:In,Ue:jn,Se:Rn,Tc:Vn,Ma:On,Re:Un,zb:Nn,Qe:Wn,mb:zn,wc:Hn,ya:qn,Te:Qn,Pe:Yn,Oe:Zn,Mb:Jn,Nb:Kn,Pb:ro,Ne:eo,Me:to,Le:ao,Ab:io,Ke:so,Lc:uo,Je:fo,Ie:co,fc:lo,He:mo,Bb:po,Db:ho,uc:go,Ge:yo,bb:bo,ib:wo,Ee:Eo,Fe:xo,Ca:ko,Ea:Co,Ba:Ao,Nc:To,Da:Bo,Oc:So,Ga:$o,De:Do,qb:Fo,rb:Mo,Be:Io,Ae:Lo,ze:jo,Ce:Ro,ye:Oo,Tb:Uo,Cb:No,xe:Wo,we:zo,oc:Go,Ob:Ho,Qb:qo,te:Yo,ve:Ko,ue:ra,gc:ea,mc:oa,lc:aa,qe:ia,se:sa,re:ua,pe:fa,fb:ca,eb:la,oe:da,ne:ma,me:va,le:pa,Rc:ha,Ka:ga,ke:ya,xb:ba,je:wa,Hb:Ea,ie:xa,lb:_a,vc:Pa,xa:Ca,he:Aa,ge:Ta,Ac:Ba,kb:Sa,fe:$a,ee:Da,hb:Fa,gb:Ma,Ha:Ia,$c:La,de:Oa,ce:Ua,be:Na,Cc:Wa,jb:za,ae:Ga,tb:Ha,sb:qa,vb:Qa,ub:Xa,$d:Ya,_d:Za,Zd:Ja,Yd:Ka,Xd:ri,Wd:ei,Vd:ti,Ud:ni,Td:oi,Sd:ai,Yc:ii,Rd:si,Qd:ui,Od:fi,Nd:ci,db:li,cb:di,Md:mi,Xc:vi,pc:pi,Ld:hi,Kd:yi,Jd:bi,Id:Ei,ec:xi,$b:_i,Hd:ki,Gd:Pi,Fd:Ci,Dd:Ai,dc:Ti,_b:Bi,Cd:Si,Bd:$i,Ad:Di,zd:Fi,cc:Mi,Zb:Ii,yd:Li,xd:ji,wd:Ri,vd:Vi,bc:Oi,Yb:Ui,Lb:Ni,ud:Wi,Jc:zi,Hc:Gi,sd:Hi,Ic:qi,Fc:Qi,rd:Xi,Gc:Yi,Ec:Zi,Mc:Ji,qd:Ki,pd:rs,od:es,nd:ts,md:ns,ld:os,kd:as,jd:is,hd:ss,gd:us,pb:cs,sa:ls,$a:ds,dd:ms,ab:vs,kc:ps,ic:hs,jc:gs,hc:ys,nc:bs,fd:ws,ed:Es,Eb:xs,Wa:function(r,e,t){k.copyWithin(r,e,e+t)},Sa:function(r){var e=k.length,t=2147483648;if((r>>>=0)>t)return!1;for(var n,o,a=1;a<=4;a*=2){var i=e*(1+.2/a);if(i=Math.min(i,r+100663296),_s(Math.min(t,(n=Math.max(r,i))+((o=65536)-n%o)%o)))return!0}return!1},Qa:function(r,e){var t=0;return Ps().forEach((function(n,o){var a=e+t;T[r+4*o>>2]=a,function(r,e){for(var t=0;t<r.length;++t)_[0|e++]=r.charCodeAt(t);_[0|e]=0}(n,a),t+=n.length+1})),0},Ra:function(r,e){var t=Ps();T[r>>2]=t.length;var n=0;return t.forEach((function(r){n+=r.length+1})),T[e>>2]=n,0},n:Rs,Ta:function(r){try{var e=Ls.getStreamFromFD(r);return Is.close(e),0}catch(r){if(void 0===Is||"ErrnoError"!==r.name)throw r;return r.errno}},Ua:function(r,e,t,n){try{var o=function(r,e,t,n){for(var o=0,a=0;a<t;a++){var i=T[e>>2],s=T[e+4>>2];e+=8;var u=Is.read(r,_,i,s,n);if(u<0)return-1;if(o+=u,u<s)break;void 0!==n&&(n+=u)}return o}(Ls.getStreamFromFD(r),e,t);return T[n>>2]=o,0}catch(r){if(void 0===Is||"ErrnoError"!==r.name)throw r;return r.errno}},Na:function(r,e,t,n,o){try{var a=(u=t)+2097152>>>0<4194305-!!(s=e)?(s>>>0)+4294967296*u:NaN;if(isNaN(a))return 61;var i=Ls.getStreamFromFD(r);return Is.llseek(i,a,n),q=[i.position>>>0,(H=i.position,+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],A[o>>2]=q[0],A[o+4>>2]=q[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(r){if(void 0===Is||"ErrnoError"!==r.name)throw r;return r.errno}var s,u},s:function(r,e,t,n){try{var o=function(r,e,t,n){for(var o=0,a=0;a<t;a++){var i=T[e>>2],s=T[e+4>>2];e+=8;var u=Is.write(r,_,i,s,n);if(u<0)return-1;o+=u,void 0!==n&&(n+=u)}return o}(Ls.getStreamFromFD(r),e,t);return T[n>>2]=o,0}catch(r){if(void 0===Is||"ErrnoError"!==r.name)throw r;return r.errno}},Pa:function(r,e,t,n,o){return Ws(r,e,t,n)}},Js=(function(){var r,e,t,o,i={a:Zs};function s(r,e){var t,n=r.exports;return a.asm=n,E=a.asm.We,M(),$=a.asm.Ye,t=a.asm.Xe,L.unshift(t),N(),n}if(U(),a.instantiateWasm)try{return a.instantiateWasm(i,s)}catch(r){w("Module.instantiateWasm callback failed with error: "+r),n(r)}(r=y,e=z,t=i,o=function(r){s(r.instance)},r||"function"!=typeof WebAssembly.instantiateStreaming||Q(e)||X(e)||v||"function"!=typeof fetch?Z(e,t,o):fetch(e,{credentials:"same-origin"}).then((r=>WebAssembly.instantiateStreaming(r,t).then(o,(function(r){return w("wasm streaming compile failed: "+r),w("falling back to ArrayBuffer instantiation"),Z(e,t,o)}))))).catch(n)}(),function(){return(Js=a.asm.Ze).apply(null,arguments)}),Ks=function(){return(Ks=a.asm._e).apply(null,arguments)},ru=function(){return(ru=a.asm.$e).apply(null,arguments)},eu=(a.__embind_initialize_bindings=function(){return(a.__embind_initialize_bindings=a.asm.af).apply(null,arguments)},function(){return(eu=a.asm.bf).apply(null,arguments)});a.dynCall_iij=function(){return(a.dynCall_iij=a.asm.cf).apply(null,arguments)},a.dynCall_iiiiiijii=function(){return(a.dynCall_iiiiiijii=a.asm.df).apply(null,arguments)},a.dynCall_jiji=function(){return(a.dynCall_jiji=a.asm.ef).apply(null,arguments)},a.dynCall_viijii=function(){return(a.dynCall_viijii=a.asm.ff).apply(null,arguments)},a.dynCall_iiiiij=function(){return(a.dynCall_iiiiij=a.asm.gf).apply(null,arguments)},a.dynCall_iiiiijj=function(){return(a.dynCall_iiiiijj=a.asm.hf).apply(null,arguments)},a.dynCall_iiiiiijj=function(){return(a.dynCall_iiiiiijj=a.asm.jf).apply(null,arguments)};function tu(){function r(){Ys||(Ys=!0,a.calledRun=!0,D||(a.noFSInit||Is.init.initialized||Is.init(),Is.ignorePermissions=!1,Ss.init(),K(L),t(a),a.onRuntimeInitialized&&a.onRuntimeInitialized(),function(){if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)r=a.postRun.shift(),j.unshift(r);var r;K(j)}()))}R>0||(!function(){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)r=a.preRun.shift(),I.unshift(r);var r;K(I)}(),R>0||(a.setStatus?(a.setStatus("Running..."),setTimeout((function(){setTimeout((function(){a.setStatus("")}),1),r()}),1)):r()))}if(a.GL=je,O=function r(){Ys||tu(),Ys||(O=r)},a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();return tu(),r.ready};
|
|
1
|
+
return function(r,e){var t,n,o=void 0,a=void 0!==(r=r||{})?r:{};a.ready=new Promise((r,e)=>{t=r,n=e});var i,s,u,f=Object.assign({},a),c="./this.program",l=(r,e)=>{throw e},d="object"==typeof window,m="function"==typeof importScripts,v="object"==typeof o&&"object"==typeof o.versions&&"string"==typeof o.versions.node,p="";if(v){var h=require("fs"),g=require("path");p=m?g.dirname(p)+"/":__dirname+"/",i=(r,e)=>(r=Z(r)?new URL(r):g.normalize(r),h.readFileSync(r,e?void 0:"utf8")),u=r=>{var e=i(r,!0);return e.buffer||(e=new Uint8Array(e)),e},s=(r,e,t,n=!0)=>{r=Z(r)?new URL(r):g.normalize(r),h.readFile(r,n?void 0:"utf8",(r,o)=>{r?t(r):e(n?o.buffer:o)})},!a.thisProgram&&o.argv.length>1&&(c=o.argv[1].replace(/\\/g,"/")),o.argv.slice(2),l=(r,e)=>{throw o.exitCode=r,e},a.inspect=()=>"[Emscripten Module object]"}else(d||m)&&(m?p=self.location.href:"undefined"!=typeof document&&document.currentScript&&(p=document.currentScript.src),e&&(p=e),p=0!==p.indexOf("blob:")?p.substr(0,p.replace(/[?#].*/,"").lastIndexOf("/")+1):"",i=r=>{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.send(null),e.responseText},m&&(u=r=>{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),s=(r,e,t)=>{var n=new XMLHttpRequest;n.open("GET",r,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?e(n.response):t()},n.onerror=t,n.send(null)},r=>document.title=r);var y,b=a.print||console.log.bind(console),w=a.printErr||console.error.bind(console);Object.assign(a,f),f=null,a.arguments&&a.arguments,a.thisProgram&&(c=a.thisProgram),a.quit&&(l=a.quit),a.wasmBinary&&(y=a.wasmBinary);var E,x=a.noExitRuntime||!0;"object"!=typeof WebAssembly&&G("no native wasm support detected");var _,k,P,C,A,T,B,S,$,D=!1;function F(r,e){r||G(e)}function M(){var r=E.buffer;a.HEAP8=_=new Int8Array(r),a.HEAP16=P=new Int16Array(r),a.HEAP32=A=new Int32Array(r),a.HEAPU8=k=new Uint8Array(r),a.HEAPU16=C=new Uint16Array(r),a.HEAPU32=T=new Uint32Array(r),a.HEAPF32=B=new Float32Array(r),a.HEAPF64=S=new Float64Array(r)}var I=[],L=[],j=[];function R(r){I.unshift(r)}function V(r){j.unshift(r)}var O=0,U=null,N=null;function W(r){O++,a.monitorRunDependencies&&a.monitorRunDependencies(O)}function z(r){if(O--,a.monitorRunDependencies&&a.monitorRunDependencies(O),0==O&&(null!==U&&(clearInterval(U),U=null),N)){var e=N;N=null,e()}}function G(r){a.onAbort&&a.onAbort(r),w(r="Aborted("+r+")"),D=!0,r+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(r);throw n(e),e}var H,q,Q,X;function Y(r){return r.startsWith("data:application/octet-stream;base64,")}function Z(r){return r.startsWith("file://")}function J(r){try{if(r==H&&y)return new Uint8Array(y);if(u)return u(r);throw"both async and sync fetching of the wasm failed"}catch(r){G(r)}}function K(r,e,t){return function(r){if(!y&&(d||m)){if("function"==typeof fetch&&!Z(r))return fetch(r,{credentials:"same-origin"}).then(e=>{if(!e.ok)throw"failed to load wasm binary file at '"+r+"'";return e.arrayBuffer()}).catch(()=>J(r));if(s)return new Promise((e,t)=>{s(r,r=>e(new Uint8Array(r)),t)})}return Promise.resolve().then(()=>J(r))}(r).then(r=>WebAssembly.instantiate(r,e)).then(r=>r).then(t,r=>{w("failed to asynchronously prepare wasm: "+r),G(r)})}function rr(r){this.name="ExitStatus",this.message=`Program terminated with exit(${r})`,this.status=r}function er(r){for(;r.length>0;)r.shift()(a)}function tr(r){this.excPtr=r,this.ptr=r-24,this.set_type=function(r){T[this.ptr+4>>2]=r},this.get_type=function(){return T[this.ptr+4>>2]},this.set_destructor=function(r){T[this.ptr+8>>2]=r},this.get_destructor=function(){return T[this.ptr+8>>2]},this.set_caught=function(r){r=r?1:0,_[this.ptr+12|0]=r},this.get_caught=function(){return 0!=_[this.ptr+12|0]},this.set_rethrown=function(r){r=r?1:0,_[this.ptr+13|0]=r},this.get_rethrown=function(){return 0!=_[this.ptr+13|0]},this.init=function(r,e){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(e)},this.set_adjusted_ptr=function(r){T[this.ptr+16>>2]=r},this.get_adjusted_ptr=function(){return T[this.ptr+16>>2]},this.get_exception_ptr=function(){if(nu(this.get_type()))return T[this.excPtr>>2];var r=this.get_adjusted_ptr();return 0!==r?r:this.excPtr}}Y(H="libktx.wasm")||(q=H,H=a.locateFile?a.locateFile(q,p):p+q);var nr={};function or(r){for(;r.length;){var e=r.pop();r.pop()(e)}}function ar(r){return this.fromWireType(A[r>>2])}var ir={},sr={},ur={};function fr(r){if(void 0===r)return"_unknown";var e=(r=r.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return e>=48&&e<=57?`_${r}`:r}function cr(r,e){return r=fr(r),{[r]:function(){return e.apply(this,arguments)}}[r]}function lr(r,e){var t=cr(e,function(r){this.name=e,this.message=r;var t=new Error(r).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))});return t.prototype=Object.create(r.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},t}var dr=void 0;function mr(r){throw new dr(r)}function vr(r,e,t){function n(e){var n=t(e);n.length!==r.length&&mr("Mismatched type converter count");for(var o=0;o<r.length;++o)wr(r[o],n[o])}r.forEach(function(r){ur[r]=e});var o=new Array(e.length),a=[],i=0;e.forEach((r,e)=>{sr.hasOwnProperty(r)?o[e]=sr[r]:(a.push(r),ir.hasOwnProperty(r)||(ir[r]=[]),ir[r].push(()=>{o[e]=sr[r],++i===a.length&&n(o)}))}),0===a.length&&n(o)}function pr(r){switch(r){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${r}`)}}var hr=void 0;function gr(r){for(var e="",t=r;k[t];)e+=hr[k[t++]];return e}var yr=void 0;function br(r){throw new yr(r)}function wr(r,e,t={}){if(!("argPackAdvance"in e))throw new TypeError("registerType registeredInstance requires argPackAdvance");var n=e.name;if(r||br(`type "${n}" must have a positive integer typeid pointer`),sr.hasOwnProperty(r)){if(t.ignoreDuplicateRegistrations)return;br(`Cannot register type '${n}' twice`)}if(sr[r]=e,delete ur[r],ir.hasOwnProperty(r)){var o=ir[r];delete ir[r],o.forEach(r=>r())}}function Er(r){if(!(this instanceof Wr))return!1;if(!(r instanceof Wr))return!1;for(var e=this.$$.ptrType.registeredClass,t=this.$$.ptr,n=r.$$.ptrType.registeredClass,o=r.$$.ptr;e.baseClass;)t=e.upcast(t),e=e.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return e===n&&t===o}function xr(r){br(r.$$.ptrType.registeredClass.name+" instance already deleted")}var _r=!1;function kr(r){}function Pr(r){r.count.value-=1,0===r.count.value&&function(r){r.smartPtr?r.smartPtrType.rawDestructor(r.smartPtr):r.ptrType.registeredClass.rawDestructor(r.ptr)}(r)}function Cr(r,e,t){if(e===t)return r;if(void 0===t.baseClass)return null;var n=Cr(r,e,t.baseClass);return null===n?null:t.downcast(n)}var Ar={};function Tr(){return Object.keys(Mr).length}function Br(){var r=[];for(var e in Mr)Mr.hasOwnProperty(e)&&r.push(Mr[e]);return r}var Sr=[];function $r(){for(;Sr.length;){var r=Sr.pop();r.$$.deleteScheduled=!1,r.delete()}}var Dr=void 0;function Fr(r){Dr=r,Sr.length&&Dr&&Dr($r)}var Mr={};function Ir(r,e){return e=function(r,e){for(void 0===e&&br("ptr should not be undefined");r.baseClass;)e=r.upcast(e),r=r.baseClass;return e}(r,e),Mr[e]}function Lr(r,e){return e.ptrType&&e.ptr||mr("makeClassHandle requires ptr and ptrType"),!!e.smartPtrType!==!!e.smartPtr&&mr("Both smartPtrType and smartPtr must be specified"),e.count={value:1},Rr(Object.create(r,{$$:{value:e}}))}function jr(r){var e=this.getPointee(r);if(!e)return this.destructor(r),null;var t=Ir(this.registeredClass,e);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=e,t.$$.smartPtr=r,t.clone();var n=t.clone();return this.destructor(r),n}function o(){return this.isSmartPointer?Lr(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:e,smartPtrType:this,smartPtr:r}):Lr(this.registeredClass.instancePrototype,{ptrType:this,ptr:r})}var a,i=this.registeredClass.getActualType(e),s=Ar[i];if(!s)return o.call(this);a=this.isConst?s.constPointerType:s.pointerType;var u=Cr(e,this.registeredClass,a.registeredClass);return null===u?o.call(this):this.isSmartPointer?Lr(a.registeredClass.instancePrototype,{ptrType:a,ptr:u,smartPtrType:this,smartPtr:r}):Lr(a.registeredClass.instancePrototype,{ptrType:a,ptr:u})}function Rr(r){return"undefined"==typeof FinalizationRegistry?(Rr=r=>r,r):(_r=new FinalizationRegistry(r=>{Pr(r.$$)}),Rr=r=>{var e=r.$$;if(!!e.smartPtr){var t={$$:e};_r.register(r,t,r)}return r},kr=r=>_r.unregister(r),Rr(r))}function Vr(){if(this.$$.ptr||xr(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var r,e=Rr(Object.create(Object.getPrototypeOf(this),{$$:{value:(r=this.$$,{count:r.count,deleteScheduled:r.deleteScheduled,preservePointerOnDelete:r.preservePointerOnDelete,ptr:r.ptr,ptrType:r.ptrType,smartPtr:r.smartPtr,smartPtrType:r.smartPtrType})}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function Or(){this.$$.ptr||xr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&br("Object already scheduled for deletion"),kr(this),Pr(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function Ur(){return!this.$$.ptr}function Nr(){return this.$$.ptr||xr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&br("Object already scheduled for deletion"),Sr.push(this),1===Sr.length&&Dr&&Dr($r),this.$$.deleteScheduled=!0,this}function Wr(){}function zr(r,e,t){if(void 0===r[e].overloadTable){var n=r[e];r[e]=function(){return r[e].overloadTable.hasOwnProperty(arguments.length)||br(`Function '${t}' called with an invalid number of arguments (${arguments.length}) - expects one of (${r[e].overloadTable})!`),r[e].overloadTable[arguments.length].apply(this,arguments)},r[e].overloadTable=[],r[e].overloadTable[n.argCount]=n}}function Gr(r,e,t){a.hasOwnProperty(r)?((void 0===t||void 0!==a[r].overloadTable&&void 0!==a[r].overloadTable[t])&&br(`Cannot register public name '${r}' twice`),zr(a,r,r),a.hasOwnProperty(t)&&br(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`),a[r].overloadTable[t]=e):(a[r]=e,void 0!==t&&(a[r].numArguments=t))}function Hr(r,e,t,n,o,a,i,s){this.name=r,this.constructor=e,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=o,this.getActualType=a,this.upcast=i,this.downcast=s,this.pureVirtualFunctions=[]}function qr(r,e,t){for(;e!==t;)e.upcast||br(`Expected null or instance of ${t.name}, got an instance of ${e.name}`),r=e.upcast(r),e=e.baseClass;return r}function Qr(r,e){if(null===e)return this.isReference&&br(`null is not a valid ${this.name}`),0;e.$$||br(`Cannot pass "${ye(e)}" as a ${this.name}`),e.$$.ptr||br(`Cannot pass deleted object as a pointer of type ${this.name}`);var t=e.$$.ptrType.registeredClass;return qr(e.$$.ptr,t,this.registeredClass)}function Xr(r,e){var t;if(null===e)return this.isReference&&br(`null is not a valid ${this.name}`),this.isSmartPointer?(t=this.rawConstructor(),null!==r&&r.push(this.rawDestructor,t),t):0;e.$$||br(`Cannot pass "${ye(e)}" as a ${this.name}`),e.$$.ptr||br(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&e.$$.ptrType.isConst&&br(`Cannot convert argument of type ${e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name} to parameter type ${this.name}`);var n=e.$$.ptrType.registeredClass;if(t=qr(e.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===e.$$.smartPtr&&br("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:e.$$.smartPtrType===this?t=e.$$.smartPtr:br(`Cannot convert argument of type ${e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:t=e.$$.smartPtr;break;case 2:if(e.$$.smartPtrType===this)t=e.$$.smartPtr;else{var o=e.clone();t=this.rawShare(t,pe.toHandle(function(){o.delete()})),null!==r&&r.push(this.rawDestructor,t)}break;default:br("Unsupporting sharing policy")}return t}function Yr(r,e){if(null===e)return this.isReference&&br(`null is not a valid ${this.name}`),0;e.$$||br(`Cannot pass "${ye(e)}" as a ${this.name}`),e.$$.ptr||br(`Cannot pass deleted object as a pointer of type ${this.name}`),e.$$.ptrType.isConst&&br(`Cannot convert argument of type ${e.$$.ptrType.name} to parameter type ${this.name}`);var t=e.$$.ptrType.registeredClass;return qr(e.$$.ptr,t,this.registeredClass)}function Zr(r){return this.rawGetPointee&&(r=this.rawGetPointee(r)),r}function Jr(r){this.rawDestructor&&this.rawDestructor(r)}function Kr(r){null!==r&&r.delete()}function re(r,e,t,n,o,a,i,s,u,f,c){this.name=r,this.registeredClass=e,this.isReference=t,this.isConst=n,this.isSmartPointer=o,this.pointeeType=a,this.sharingPolicy=i,this.rawGetPointee=s,this.rawConstructor=u,this.rawShare=f,this.rawDestructor=c,o||void 0!==e.baseClass?this.toWireType=Xr:n?(this.toWireType=Qr,this.destructorFunction=null):(this.toWireType=Yr,this.destructorFunction=null)}var ee=[];function te(r){var e=ee[r];return e||(r>=ee.length&&(ee.length=r+1),ee[r]=e=$.get(r)),e}function ne(r,e,t){return r.includes("j")?function(r,e,t){var n=a["dynCall_"+r];return t&&t.length?n.apply(null,[e].concat(t)):n.call(null,e)}(r,e,t):te(e).apply(null,t)}function oe(r,e){var t,n,o,a=(r=gr(r)).includes("j")?(t=r,n=e,o=[],function(){return o.length=0,Object.assign(o,arguments),ne(t,n,o)}):te(e);return"function"!=typeof a&&br(`unknown function pointer with signature ${r}: ${e}`),a}var ae=void 0;function ie(r){var e=tu(r),t=gr(e);return ru(e),t}function se(r,e){var t=[],n={};throw e.forEach(function r(e){n[e]||sr[e]||(ur[e]?ur[e].forEach(r):(t.push(e),n[e]=!0))}),new ae(`${r}: `+t.map(ie).join([", "]))}function ue(r,e){for(var t=[],n=0;n<r;n++)t.push(T[e+4*n>>2]);return t}function fe(r,e){if(!(r instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof r} which is not a function`);var t=cr(r.name||"unknownFunctionName",function(){});t.prototype=r.prototype;var n=new t,o=r.apply(n,e);return o instanceof Object?o:n}function ce(r,e,t,n,o,a){var i=e.length;i<2&&br("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==e[1]&&null!==t,u=!1,f=1;f<e.length;++f)if(null!==e[f]&&void 0===e[f].destructorFunction){u=!0;break}var c="void"!==e[0].name,l="",d="";for(f=0;f<i-2;++f)l+=(0!==f?", ":"")+"arg"+f,d+=(0!==f?", ":"")+"arg"+f+"Wired";var m=`\n return function ${fr(r)}(${l}) {\n if (arguments.length !== ${i-2}) {\n throwBindingError('function ${r} called with ${arguments.length} arguments, expected ${i-2} args!');\n }`;u&&(m+="var destructors = [];\n");var v=u?"destructors":"null",p=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],h=[br,n,o,or,e[0],e[1]];s&&(m+="var thisWired = classParam.toWireType("+v+", this);\n");for(f=0;f<i-2;++f)m+="var arg"+f+"Wired = argType"+f+".toWireType("+v+", arg"+f+"); // "+e[f+2].name+"\n",p.push("argType"+f),h.push(e[f+2]);if(s&&(d="thisWired"+(d.length>0?", ":"")+d),m+=(c||a?"var rv = ":"")+"invoker(fn"+(d.length>0?", ":"")+d+");\n",u)m+="runDestructors(destructors);\n";else for(f=s?1:2;f<e.length;++f){var g=1===f?"thisWired":"arg"+(f-2)+"Wired";null!==e[f].destructorFunction&&(m+=g+"_dtor("+g+"); // "+e[f].name+"\n",p.push(g+"_dtor"),h.push(e[f].destructorFunction))}return c&&(m+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),m+="}\n",p.push(m),fe(Function,p).apply(null,h)}function le(r,e,t){return r instanceof Object||br(`${t} with invalid "this": ${r}`),r instanceof e.registeredClass.constructor||br(`${t} incompatible with "this" of type ${r.constructor.name}`),r.$$.ptr||br(`cannot call emscripten binding method ${t} on deleted object`),qr(r.$$.ptr,r.$$.ptrType.registeredClass,e.registeredClass)}var de=new function(){this.allocated=[void 0],this.freelist=[],this.get=function(r){return this.allocated[r]},this.has=function(r){return void 0!==this.allocated[r]},this.allocate=function(r){var e=this.freelist.pop()||this.allocated.length;return this.allocated[e]=r,e},this.free=function(r){this.allocated[r]=void 0,this.freelist.push(r)}};function me(r){r>=de.reserved&&0===--de.get(r).refcount&&de.free(r)}function ve(){for(var r=0,e=de.reserved;e<de.allocated.length;++e)void 0!==de.allocated[e]&&++r;return r}var pe={toValue:r=>(r||br("Cannot use deleted val. handle = "+r),de.get(r).value),toHandle:r=>{switch(r){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return de.allocate({refcount:1,value:r})}}};function he(r,e,t){switch(e){case 0:return function(r){var e=t?_:k;return this.fromWireType(e[r])};case 1:return function(r){var e=t?P:C;return this.fromWireType(e[r>>1])};case 2:return function(r){var e=t?A:T;return this.fromWireType(e[r>>2])};default:throw new TypeError("Unknown integer type: "+r)}}function ge(r,e){var t=sr[r];return void 0===t&&br(e+" has unknown type "+ie(r)),t}function ye(r){if(null===r)return"null";var e=typeof r;return"object"===e||"array"===e||"function"===e?r.toString():""+r}function be(r,e){switch(e){case 2:return function(r){return this.fromWireType(B[r>>2])};case 3:return function(r){return this.fromWireType(S[r>>3])};default:throw new TypeError("Unknown float type: "+r)}}function we(r,e,t){switch(e){case 0:return t?function(r){return _[r]}:function(r){return k[r]};case 1:return t?function(r){return P[r>>1]}:function(r){return C[r>>1]};case 2:return t?function(r){return A[r>>2]}:function(r){return T[r>>2]};default:throw new TypeError("Unknown integer type: "+r)}}function Ee(r,e,t,n){if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i<r.length;++i){var s=r.charCodeAt(i);if(s>=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&r.charCodeAt(++i);if(s<=127){if(t>=a)break;e[t++]=s}else if(s<=2047){if(t+1>=a)break;e[t++]=192|s>>6,e[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;e[t++]=224|s>>12,e[t++]=128|s>>6&63,e[t++]=128|63&s}else{if(t+3>=a)break;e[t++]=240|s>>18,e[t++]=128|s>>12&63,e[t++]=128|s>>6&63,e[t++]=128|63&s}}return e[t]=0,t-o}function xe(r,e,t){return Ee(r,k,e,t)}function _e(r){for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n<=127?e++:n<=2047?e+=2:n>=55296&&n<=57343?(e+=4,++t):e+=3}return e}var ke="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function Pe(r,e,t){for(var n=e+t,o=e;r[o]&&!(o>=n);)++o;if(o-e>16&&r.buffer&&ke)return ke.decode(r.subarray(e,o));for(var a="";e<o;){var i=r[e++];if(128&i){var s=63&r[e++];if(192!=(224&i)){var u=63&r[e++];if((i=224==(240&i)?(15&i)<<12|s<<6|u:(7&i)<<18|s<<12|u<<6|63&r[e++])<65536)a+=String.fromCharCode(i);else{var f=i-65536;a+=String.fromCharCode(55296|f>>10,56320|1023&f)}}else a+=String.fromCharCode((31&i)<<6|s)}else a+=String.fromCharCode(i)}return a}function Ce(r,e){return r?Pe(k,r,e):""}var Ae="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Te(r,e){for(var t=r,n=t>>1,o=n+e/2;!(n>=o)&&C[n];)++n;if((t=n<<1)-r>32&&Ae)return Ae.decode(k.subarray(r,t));for(var a="",i=0;!(i>=e/2);++i){var s=P[r+2*i>>1];if(0==s)break;a+=String.fromCharCode(s)}return a}function Be(r,e,t){if(void 0===t&&(t=2147483647),t<2)return 0;for(var n=e,o=(t-=2)<2*r.length?t/2:r.length,a=0;a<o;++a){var i=r.charCodeAt(a);P[e>>1]=i,e+=2}return P[e>>1]=0,e-n}function Se(r){return 2*r.length}function $e(r,e){for(var t=0,n="";!(t>=e/4);){var o=A[r+4*t>>2];if(0==o)break;if(++t,o>=65536){var a=o-65536;n+=String.fromCharCode(55296|a>>10,56320|1023&a)}else n+=String.fromCharCode(o)}return n}function De(r,e,t){if(void 0===t&&(t=2147483647),t<4)return 0;for(var n=e,o=n+t-4,a=0;a<r.length;++a){var i=r.charCodeAt(a);if(i>=55296&&i<=57343)i=65536+((1023&i)<<10)|1023&r.charCodeAt(++a);if(A[e>>2]=i,(e+=4)+4>o)break}return A[e>>2]=0,e-n}function Fe(r){for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n>=55296&&n<=57343&&++t,e+=4}return e}var Me={};function Ie(r){var e=Me[r];return void 0===e?gr(r):e}var Le=[];var je=[];var Re={};var Ve={counter:1,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function(r){Ve.lastError||(Ve.lastError=r)},getNewId:function(r){for(var e=Ve.counter++,t=r.length;t<e;t++)r[t]=null;return e},MAX_TEMP_BUFFER_SIZE:2097152,numTempVertexBuffersPerSize:64,log2ceilLookup:function(r){return 32-Math.clz32(0===r?0:r-1)},generateTempBuffers:function(r,e){var t=Ve.log2ceilLookup(Ve.MAX_TEMP_BUFFER_SIZE);e.tempVertexBufferCounters1=[],e.tempVertexBufferCounters2=[],e.tempVertexBufferCounters1.length=e.tempVertexBufferCounters2.length=t+1,e.tempVertexBuffers1=[],e.tempVertexBuffers2=[],e.tempVertexBuffers1.length=e.tempVertexBuffers2.length=t+1,e.tempIndexBuffers=[],e.tempIndexBuffers.length=t+1;for(var n=0;n<=t;++n){e.tempIndexBuffers[n]=null,e.tempVertexBufferCounters1[n]=e.tempVertexBufferCounters2[n]=0;var o=Ve.numTempVertexBuffersPerSize;e.tempVertexBuffers1[n]=[],e.tempVertexBuffers2[n]=[];var a=e.tempVertexBuffers1[n],i=e.tempVertexBuffers2[n];a.length=i.length=o;for(var s=0;s<o;++s)a[s]=i[s]=null}if(r){e.tempQuadIndexBuffer=Ns.createBuffer(),e.GLctx.bindBuffer(34963,e.tempQuadIndexBuffer);for(var u=Ve.MAX_TEMP_BUFFER_SIZE>>1,f=new Uint16Array(u),c=(n=0,0);!(f[n++]=c,n>=u||(f[n++]=c+1,n>=u)||(f[n++]=c+2,n>=u)||(f[n++]=c,n>=u)||(f[n++]=c+2,n>=u)||(f[n++]=c+3,n>=u));)c+=4;e.GLctx.bufferData(34963,f,35044),e.GLctx.bindBuffer(34963,null)}},getTempVertexBuffer:function(r){var e=Ve.log2ceilLookup(r),t=Ve.currentContext.tempVertexBuffers1[e],n=Ve.currentContext.tempVertexBufferCounters1[e];Ve.currentContext.tempVertexBufferCounters1[e]=Ve.currentContext.tempVertexBufferCounters1[e]+1&Ve.numTempVertexBuffersPerSize-1;var o=t[n];if(o)return o;var a=Ns.getParameter(34964);return t[n]=Ns.createBuffer(),Ns.bindBuffer(34962,t[n]),Ns.bufferData(34962,1<<e,35048),Ns.bindBuffer(34962,a),t[n]},getTempIndexBuffer:function(r){var e=Ve.log2ceilLookup(r),t=Ve.currentContext.tempIndexBuffers[e];if(t)return t;var n=Ns.getParameter(34965);return Ve.currentContext.tempIndexBuffers[e]=Ns.createBuffer(),Ns.bindBuffer(34963,Ve.currentContext.tempIndexBuffers[e]),Ns.bufferData(34963,1<<e,35048),Ns.bindBuffer(34963,n),Ve.currentContext.tempIndexBuffers[e]},newRenderingFrameStarted:function(){if(Ve.currentContext){var r=Ve.currentContext.tempVertexBuffers1;Ve.currentContext.tempVertexBuffers1=Ve.currentContext.tempVertexBuffers2,Ve.currentContext.tempVertexBuffers2=r,r=Ve.currentContext.tempVertexBufferCounters1,Ve.currentContext.tempVertexBufferCounters1=Ve.currentContext.tempVertexBufferCounters2,Ve.currentContext.tempVertexBufferCounters2=r;for(var e=Ve.log2ceilLookup(Ve.MAX_TEMP_BUFFER_SIZE),t=0;t<=e;++t)Ve.currentContext.tempVertexBufferCounters1[t]=0}},getSource:function(r,e,t,n){for(var o="",a=0;a<e;++a){var i=n?A[n+4*a>>2]:-1;o+=Ce(A[t+4*a>>2],i<0?void 0:i)}return o},calcBufLength:function(r,e,t,n){return t>0?n*t:r*Ve.byteSizeByType[e-Ve.byteSizeByTypeRoot]*n},usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:function(r){Ve.resetBufferBinding=!1;for(var e=0;e<Ve.currentContext.maxVertexAttribs;++e){var t=Ve.currentContext.clientBuffers[e];if(t.clientside&&t.enabled){Ve.resetBufferBinding=!0;var n=Ve.calcBufLength(t.size,t.type,t.stride,r),o=Ve.getTempVertexBuffer(n);Ns.bindBuffer(34962,o),Ns.bufferSubData(34962,0,k.subarray(t.ptr,t.ptr+n)),t.vertexAttribPointerAdaptor.call(Ns,e,t.size,t.type,t.normalized,t.stride,0)}}},postDrawHandleClientVertexAttribBindings:function(){Ve.resetBufferBinding&&Ns.bindBuffer(34962,Ve.buffers[Ns.currentArrayBufferBinding])},createContext:function(r,e){if(a.preinitializedWebGLContext){var t=a.preinitializedWebGLContext;e.majorVersion=Number(t.getParameter(t.VERSION).match(/^WebGL (\d+).\d+/)[1])}else{if(!r.getContextSafariWebGL2Fixed){r.getContextSafariWebGL2Fixed=r.getContext,r.getContext=function(e,t){var n=r.getContextSafariWebGL2Fixed(e,t);return"webgl"==e==n instanceof WebGLRenderingContext?n:null}}t=e.majorVersion>1?r.getContext("webgl2",e):r.getContext("webgl",e)}return t?Ve.registerContext(t,e):0},registerContext:function(r,e){var t=Ve.getNewId(Ve.contexts),n={handle:t,attributes:e,version:e.majorVersion,GLctx:r};r.canvas&&(r.canvas.GLctxObject=n),Ve.contexts[t]=n,(void 0===e.enableExtensionsByDefault||e.enableExtensionsByDefault)&&Ve.initExtensions(n),n.maxVertexAttribs=n.GLctx.getParameter(34921),n.clientBuffers=[];for(var o=0;o<n.maxVertexAttribs;o++)n.clientBuffers[o]={enabled:!1,clientside:!1,size:0,type:0,normalized:0,stride:0,ptr:0,vertexAttribPointerAdaptor:null};return Ve.generateTempBuffers(!1,n),t},makeContextCurrent:function(r){return Ve.currentContext=Ve.contexts[r],a.ctx=Ns=Ve.currentContext&&Ve.currentContext.GLctx,!(r&&!Ns)},getContext:function(r){return Ve.contexts[r]},deleteContext:function(r){Ve.currentContext===Ve.contexts[r]&&(Ve.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(Ve.contexts[r].GLctx.canvas),Ve.contexts[r]&&Ve.contexts[r].GLctx.canvas&&(Ve.contexts[r].GLctx.canvas.GLctxObject=void 0),Ve.contexts[r]=null},initExtensions:function(r){if(r||(r=Ve.currentContext),!r.initExtensionsDone){r.initExtensionsDone=!0;var e,t=r.GLctx;!function(r){var e=r.getExtension("ANGLE_instanced_arrays");if(e)r.vertexAttribDivisor=function(r,t){e.vertexAttribDivisorANGLE(r,t)},r.drawArraysInstanced=function(r,t,n,o){e.drawArraysInstancedANGLE(r,t,n,o)},r.drawElementsInstanced=function(r,t,n,o,a){e.drawElementsInstancedANGLE(r,t,n,o,a)}}(t),function(r){var e=r.getExtension("OES_vertex_array_object");if(e)r.createVertexArray=function(){return e.createVertexArrayOES()},r.deleteVertexArray=function(r){e.deleteVertexArrayOES(r)},r.bindVertexArray=function(r){e.bindVertexArrayOES(r)},r.isVertexArray=function(r){return e.isVertexArrayOES(r)}}(t),function(r){var e=r.getExtension("WEBGL_draw_buffers");if(e)r.drawBuffers=function(r,t){e.drawBuffersWEBGL(r,t)}}(t),(e=t).dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),function(r){r.mdibvbi=r.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")}(t),r.version>=2&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query_webgl2")),(r.version<2||!t.disjointTimerQueryExt)&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query")),function(r){r.multiDrawWebgl=r.getExtension("WEBGL_multi_draw")}(t),(t.getSupportedExtensions()||[]).forEach(function(r){r.includes("lose_context")||r.includes("debug")||t.getExtension(r)})}}};var Oe=function(r){Ns.activeTexture(r)};var Ue=function(r,e){Ns.attachShader(Ve.programs[r],Ve.shaders[e])};var Ne=function(r,e){Ns.beginQuery(r,Ve.queries[e])};var We=function(r,e){Ns.disjointTimerQueryExt.beginQueryEXT(r,Ve.queries[e])};var ze=function(r){Ns.beginTransformFeedback(r)};var Ge=function(r,e,t){Ns.bindAttribLocation(Ve.programs[r],e,Ce(t))};var He=function(r,e){34962==r?Ns.currentArrayBufferBinding=e:34963==r&&(Ns.currentElementArrayBufferBinding=e),35051==r?Ns.currentPixelPackBufferBinding=e:35052==r&&(Ns.currentPixelUnpackBufferBinding=e),Ns.bindBuffer(r,Ve.buffers[e])};var qe=function(r,e,t){Ns.bindBufferBase(r,e,Ve.buffers[t])};var Qe=function(r,e,t,n,o){Ns.bindBufferRange(r,e,Ve.buffers[t],n,o)};var Xe=function(r,e){Ns.bindFramebuffer(r,Ve.framebuffers[e])};var Ye=function(r,e){Ns.bindRenderbuffer(r,Ve.renderbuffers[e])};var Ze=function(r,e){Ns.bindSampler(r,Ve.samplers[e])};var Je=function(r,e){Ns.bindTexture(r,Ve.textures[e])};var Ke=function(r,e){Ns.bindTransformFeedback(r,Ve.transformFeedbacks[e])};function rt(r){Ns.bindVertexArray(Ve.vaos[r]);var e=Ns.getParameter(34965);Ns.currentElementArrayBufferBinding=e?0|e.name:0}var et=rt,tt=rt;var nt=function(r,e,t,n){Ns.blendColor(r,e,t,n)};var ot=function(r){Ns.blendEquation(r)};var at=function(r,e){Ns.blendEquationSeparate(r,e)};var it=function(r,e){Ns.blendFunc(r,e)};var st=function(r,e,t,n){Ns.blendFuncSeparate(r,e,t,n)};var ut=function(r,e,t,n,o,a,i,s,u,f){Ns.blitFramebuffer(r,e,t,n,o,a,i,s,u,f)};var ft=function(r,e,t,n){Ve.currentContext.version>=2?t&&e?Ns.bufferData(r,k,n,t,e):Ns.bufferData(r,e,n):Ns.bufferData(r,t?k.subarray(t,t+e):e,n)};var ct=function(r,e,t,n){Ve.currentContext.version>=2?t&&Ns.bufferSubData(r,e,k,n,t):Ns.bufferSubData(r,e,k.subarray(n,n+t))};var lt=function(r){return Ns.checkFramebufferStatus(r)};var dt=function(r){Ns.clear(r)};var mt=function(r,e,t,n){Ns.clearBufferfi(r,e,t,n)};var vt=function(r,e,t){Ns.clearBufferfv(r,e,B,t>>2)};var pt=function(r,e,t){Ns.clearBufferiv(r,e,A,t>>2)};var ht=function(r,e,t){Ns.clearBufferuiv(r,e,T,t>>2)};var gt=function(r,e,t,n){Ns.clearColor(r,e,t,n)};var yt=function(r){Ns.clearDepth(r)};var bt=function(r){Ns.clearStencil(r)};function wt(r,e){return(r>>>0)+4294967296*e}var Et=function(r,e,t,n){var o=wt(t,n);return Ns.clientWaitSync(Ve.syncs[r],e,o)};var xt=function(r,e,t,n){Ns.colorMask(!!r,!!e,!!t,!!n)};var _t=function(r){Ns.compileShader(Ve.shaders[r])};var kt=function(r,e,t,n,o,a,i,s){Ve.currentContext.version>=2?Ns.currentPixelUnpackBufferBinding||!i?Ns.compressedTexImage2D(r,e,t,n,o,a,i,s):Ns.compressedTexImage2D(r,e,t,n,o,a,k,s,i):Ns.compressedTexImage2D(r,e,t,n,o,a,s?k.subarray(s,s+i):null)};var Pt=function(r,e,t,n,o,a,i,s,u){Ns.currentPixelUnpackBufferBinding?Ns.compressedTexImage3D(r,e,t,n,o,a,i,s,u):Ns.compressedTexImage3D(r,e,t,n,o,a,i,k,u,s)};var Ct=function(r,e,t,n,o,a,i,s,u){Ve.currentContext.version>=2?Ns.currentPixelUnpackBufferBinding||!s?Ns.compressedTexSubImage2D(r,e,t,n,o,a,i,s,u):Ns.compressedTexSubImage2D(r,e,t,n,o,a,i,k,u,s):Ns.compressedTexSubImage2D(r,e,t,n,o,a,i,u?k.subarray(u,u+s):null)};var At=function(r,e,t,n,o,a,i,s,u,f,c){Ns.currentPixelUnpackBufferBinding?Ns.compressedTexSubImage3D(r,e,t,n,o,a,i,s,u,f,c):Ns.compressedTexSubImage3D(r,e,t,n,o,a,i,s,u,k,c,f)};var Tt=function(r,e,t,n,o){Ns.copyBufferSubData(r,e,t,n,o)};var Bt=function(r,e,t,n,o,a,i,s){Ns.copyTexImage2D(r,e,t,n,o,a,i,s)};var St=function(r,e,t,n,o,a,i,s){Ns.copyTexSubImage2D(r,e,t,n,o,a,i,s)};var $t=function(r,e,t,n,o,a,i,s,u){Ns.copyTexSubImage3D(r,e,t,n,o,a,i,s,u)};var Dt=function(){var r=Ve.getNewId(Ve.programs),e=Ns.createProgram();return e.name=r,e.maxUniformLength=e.maxAttributeLength=e.maxUniformBlockNameLength=0,e.uniformIdCounter=1,Ve.programs[r]=e,r};var Ft=function(r){var e=Ve.getNewId(Ve.shaders);return Ve.shaders[e]=Ns.createShader(r),e};var Mt=function(r){Ns.cullFace(r)};var It=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=Ve.buffers[n];o&&(Ns.deleteBuffer(o),o.name=0,Ve.buffers[n]=null,n==Ns.currentArrayBufferBinding&&(Ns.currentArrayBufferBinding=0),n==Ns.currentElementArrayBufferBinding&&(Ns.currentElementArrayBufferBinding=0),n==Ns.currentPixelPackBufferBinding&&(Ns.currentPixelPackBufferBinding=0),n==Ns.currentPixelUnpackBufferBinding&&(Ns.currentPixelUnpackBufferBinding=0))}};var Lt=function(r,e){for(var t=0;t<r;++t){var n=A[e+4*t>>2],o=Ve.framebuffers[n];o&&(Ns.deleteFramebuffer(o),o.name=0,Ve.framebuffers[n]=null)}};var jt=function(r){if(r){var e=Ve.programs[r];e?(Ns.deleteProgram(e),e.name=0,Ve.programs[r]=null):Ve.recordError(1281)}};var Rt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=Ve.queries[n];o&&(Ns.deleteQuery(o),Ve.queries[n]=null)}};var Vt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=Ve.queries[n];o&&(Ns.disjointTimerQueryExt.deleteQueryEXT(o),Ve.queries[n]=null)}};var Ot=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=Ve.renderbuffers[n];o&&(Ns.deleteRenderbuffer(o),o.name=0,Ve.renderbuffers[n]=null)}};var Ut=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=Ve.samplers[n];o&&(Ns.deleteSampler(o),o.name=0,Ve.samplers[n]=null)}};var Nt=function(r){if(r){var e=Ve.shaders[r];e?(Ns.deleteShader(e),Ve.shaders[r]=null):Ve.recordError(1281)}};var Wt=function(r){if(r){var e=Ve.syncs[r];e?(Ns.deleteSync(e),e.name=0,Ve.syncs[r]=null):Ve.recordError(1281)}};var zt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=Ve.textures[n];o&&(Ns.deleteTexture(o),o.name=0,Ve.textures[n]=null)}};var Gt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=Ve.transformFeedbacks[n];o&&(Ns.deleteTransformFeedback(o),o.name=0,Ve.transformFeedbacks[n]=null)}};function Ht(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2];Ns.deleteVertexArray(Ve.vaos[n]),Ve.vaos[n]=null}}var qt=Ht,Qt=Ht;var Xt=function(r){Ns.depthFunc(r)};var Yt=function(r){Ns.depthMask(!!r)};var Zt=function(r,e){Ns.depthRange(r,e)};var Jt=function(r,e){Ns.detachShader(Ve.programs[r],Ve.shaders[e])};var Kt=function(r){Ns.disable(r)};var rn=function(r){Ve.currentContext.clientBuffers[r].enabled=!1,Ns.disableVertexAttribArray(r)};var en=function(r,e,t){Ve.preDrawHandleClientVertexAttribBindings(e+t),Ns.drawArrays(r,e,t),Ve.postDrawHandleClientVertexAttribBindings()};function tn(r,e,t,n){Ns.drawArraysInstanced(r,e,t,n)}var nn=tn,on=tn,an=tn,sn=tn,un=tn,fn=[];function cn(r,e){for(var t=fn[r],n=0;n<r;n++)t[n]=A[e+4*n>>2];Ns.drawBuffers(t)}var ln=cn,dn=cn,mn=cn;function vn(r,e,t,n){var o;if(!Ns.currentElementArrayBufferBinding){var a=Ve.calcBufLength(1,t,0,e);o=Ve.getTempIndexBuffer(a),Ns.bindBuffer(34963,o),Ns.bufferSubData(34963,0,k.subarray(n,n+a)),n=0}Ve.preDrawHandleClientVertexAttribBindings(e),Ns.drawElements(r,e,t,n),Ve.postDrawHandleClientVertexAttribBindings(e),Ns.currentElementArrayBufferBinding||Ns.bindBuffer(34963,null)}var pn=vn;function hn(r,e,t,n,o){Ns.drawElementsInstanced(r,e,t,n,o)}var gn=hn,yn=hn,bn=hn,wn=hn,En=hn;var xn=function(r,e,t,n,o,a){vn(r,n,o,a)};var _n=function(r){Ns.enable(r)};var kn=function(r){Ve.currentContext.clientBuffers[r].enabled=!0,Ns.enableVertexAttribArray(r)};var Pn=function(r){Ns.endQuery(r)};var Cn=function(r){Ns.disjointTimerQueryExt.endQueryEXT(r)};var An=function(){Ns.endTransformFeedback()};var Tn=function(r,e){var t=Ns.fenceSync(r,e);if(t){var n=Ve.getNewId(Ve.syncs);return t.name=n,Ve.syncs[n]=t,n}return 0};var Bn=function(){Ns.finish()};var Sn=function(){Ns.flush()};function $n(r){switch(r){case 34962:r=34964;break;case 34963:r=34965;break;case 35051:r=35053;break;case 35052:r=35055;break;case 35982:r=35983;break;case 36662:r=36662;break;case 36663:r=36663;break;case 35345:r=35368}var e=Ns.getParameter(r);return e?0|e.name:0}function Dn(r){switch(r){case 34962:case 34963:case 36662:case 36663:case 35051:case 35052:case 35882:case 35982:case 35345:return!0;default:return!1}}var Fn=function(r,e,t){if(!Dn(r))return Ve.recordError(1280),void w("GL_INVALID_ENUM in glFlushMappedBufferRange");var n=Ve.mappedBuffers[$n(r)];return n?16&n.access?e<0||t<0||e+t>n.length?(Ve.recordError(1281),void w("invalid range in glFlushMappedBufferRange")):void Ns.bufferSubData(r,n.offset,k.subarray(n.mem+e,n.mem+e+t)):(Ve.recordError(1282),void w("buffer was not mapped with GL_MAP_FLUSH_EXPLICIT_BIT in glFlushMappedBufferRange")):(Ve.recordError(1282),void w("buffer was never mapped in glFlushMappedBufferRange"))};var Mn=function(r,e,t,n){Ns.framebufferRenderbuffer(r,e,t,Ve.renderbuffers[n])};var In=function(r,e,t,n,o){Ns.framebufferTexture2D(r,e,t,Ve.textures[n],o)};var Ln=function(r,e,t,n,o){Ns.framebufferTextureLayer(r,e,Ve.textures[t],n,o)};var jn=function(r){Ns.frontFace(r)};function Rn(r,e,t,n){for(var o=0;o<r;o++){var a=Ns[t](),i=a&&Ve.getNewId(n);a?(a.name=i,n[i]=a):Ve.recordError(1282),A[e+4*o>>2]=i}}var Vn=function(r,e){Rn(r,e,"createBuffer",Ve.buffers)};var On=function(r,e){Rn(r,e,"createFramebuffer",Ve.framebuffers)};var Un=function(r,e){Rn(r,e,"createQuery",Ve.queries)};var Nn=function(r,e){for(var t=0;t<r;t++){var n=Ns.disjointTimerQueryExt.createQueryEXT();if(!n){for(Ve.recordError(1282);t<r;)A[e+4*t++>>2]=0;return}var o=Ve.getNewId(Ve.queries);n.name=o,Ve.queries[o]=n,A[e+4*t>>2]=o}};var Wn=function(r,e){Rn(r,e,"createRenderbuffer",Ve.renderbuffers)};var zn=function(r,e){Rn(r,e,"createSampler",Ve.samplers)};var Gn=function(r,e){Rn(r,e,"createTexture",Ve.textures)};var Hn=function(r,e){Rn(r,e,"createTransformFeedback",Ve.transformFeedbacks)};function qn(r,e){Rn(r,e,"createVertexArray",Ve.vaos)}var Qn=qn,Xn=qn;var Yn=function(r){Ns.generateMipmap(r)};function Zn(r,e,t,n,o,a,i,s){e=Ve.programs[e];var u=Ns[r](e,t);if(u){var f=s&&xe(u.name,s,n);o&&(A[o>>2]=f),a&&(A[a>>2]=u.size),i&&(A[i>>2]=u.type)}}var Jn=function(r,e,t,n,o,a,i){Zn("getActiveAttrib",r,e,t,n,o,a,i)};var Kn=function(r,e,t,n,o,a,i){Zn("getActiveUniform",r,e,t,n,o,a,i)};var ro=function(r,e,t,n,o){r=Ve.programs[r];var a=Ns.getActiveUniformBlockName(r,e);if(a)if(o&&t>0){var i=xe(a,o,t);n&&(A[n>>2]=i)}else n&&(A[n>>2]=0)};var eo=function(r,e,t,n){if(n)if(r=Ve.programs[r],35393!=t){var o=Ns.getActiveUniformBlockParameter(r,e,t);if(null!==o)if(35395==t)for(var a=0;a<o.length;a++)A[n+4*a>>2]=o[a];else A[n>>2]=o}else{var i=Ns.getActiveUniformBlockName(r,e);A[n>>2]=i.length+1}else Ve.recordError(1281)};var to=function(r,e,t,n,o){if(o)if(e>0&&0==t)Ve.recordError(1281);else{r=Ve.programs[r];for(var a=[],i=0;i<e;i++)a.push(A[t+4*i>>2]);var s=Ns.getActiveUniforms(r,a,n);if(s){var u=s.length;for(i=0;i<u;i++)A[o+4*i>>2]=s[i]}}else Ve.recordError(1281)};var no=function(r,e,t,n){var o=Ns.getAttachedShaders(Ve.programs[r]),a=o.length;a>e&&(a=e),A[t>>2]=a;for(var i=0;i<a;++i){var s=Ve.shaders.indexOf(o[i]);A[n+4*i>>2]=s}};var oo=function(r,e){return Ns.getAttribLocation(Ve.programs[r],Ce(e))};function ao(r,e){T[r>>2]=e,T[r+4>>2]=(e-T[r>>2])/4294967296}function io(r,e,t){if(e){var n=void 0;switch(r){case 36346:n=1;break;case 36344:return void(0!=t&&1!=t&&Ve.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var o=Ns.getParameter(34467);n=o?o.length:0;break;case 33309:if(Ve.currentContext.version<2)return void Ve.recordError(1282);n=2*(Ns.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(Ve.currentContext.version<2)return void Ve.recordError(1280);n=33307==r?3:0}if(void 0===n){var a=Ns.getParameter(r);switch(typeof a){case"number":n=a;break;case"boolean":n=a?1:0;break;case"string":return void Ve.recordError(1280);case"object":if(null===a)switch(r){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:n=0;break;default:return void Ve.recordError(1280)}else{if(a instanceof Float32Array||a instanceof Uint32Array||a instanceof Int32Array||a instanceof Array){for(var i=0;i<a.length;++i)switch(t){case 0:A[e+4*i>>2]=a[i];break;case 2:B[e+4*i>>2]=a[i];break;case 4:_[e+i|0]=a[i]?1:0}return}try{n=0|a.name}catch(e){return Ve.recordError(1280),void w("GL_INVALID_ENUM in glGet"+t+"v: Unknown object returned from WebGL getParameter("+r+")! (error: "+e+")")}}break;default:return Ve.recordError(1280),void w("GL_INVALID_ENUM in glGet"+t+"v: Native code calling glGet"+t+"v("+r+") and it returns "+a+" of type "+typeof a+"!")}}switch(t){case 1:ao(e,n);break;case 0:A[e>>2]=n;break;case 2:B[e>>2]=n;break;case 4:_[e|0]=n?1:0}}else Ve.recordError(1281)}var so=function(r,e){io(r,e,4)};var uo=function(r,e,t){t?ao(t,Ns.getBufferParameter(r,e)):Ve.recordError(1281)};var fo=function(r,e,t){t?A[t>>2]=Ns.getBufferParameter(r,e):Ve.recordError(1281)};var co=function(r,e,t){if(35005==e){var n=0,o=Ve.mappedBuffers[$n(r)];o&&(n=o.mem),A[t>>2]=n}else Ve.recordError(1280),w("GL_INVALID_ENUM in glGetBufferPointerv")};var lo=function(){var r=Ns.getError()||Ve.lastError;return Ve.lastError=0,r};var mo=function(r,e){io(r,e,2)};var vo=function(r,e){return Ns.getFragDataLocation(Ve.programs[r],Ce(e))};var po=function(r,e,t,n){var o=Ns.getFramebufferAttachmentParameter(r,e,t);(o instanceof WebGLRenderbuffer||o instanceof WebGLTexture)&&(o=0|o.name),A[n>>2]=o};function ho(r,e,t,n){if(t){var o,a=Ns.getIndexedParameter(r,e);switch(typeof a){case"boolean":o=a?1:0;break;case"number":o=a;break;case"object":if(null===a)switch(r){case 35983:case 35368:o=0;break;default:return void Ve.recordError(1280)}else{if(!(a instanceof WebGLBuffer))return void Ve.recordError(1280);o=0|a.name}break;default:return void Ve.recordError(1280)}switch(n){case 1:ao(t,o);break;case 0:A[t>>2]=o;break;case 2:B[t>>2]=o;break;case 4:_[t|0]=o?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+n}}else Ve.recordError(1281)}var go=function(r,e,t){ho(r,e,t,1)};var yo=function(r,e){io(r,e,1)};var bo=function(r,e,t){ho(r,e,t,0)};var wo=function(r,e){io(r,e,0)};var Eo=function(r,e,t,n,o){if(n<0)Ve.recordError(1281);else if(o){var a=Ns.getInternalformatParameter(r,e,t);if(null!==a)for(var i=0;i<a.length&&i<n;++i)A[o+4*i>>2]=a[i]}else Ve.recordError(1281)};var xo=function(r,e,t,n,o){Ve.recordError(1282)};var _o=function(r,e,t,n){var o=Ns.getProgramInfoLog(Ve.programs[r]);null===o&&(o="(unknown error)");var a=e>0&&n?xe(o,n,e):0;t&&(A[t>>2]=a)};var ko=function(r,e,t){if(t)if(r>=Ve.counter)Ve.recordError(1281);else if(r=Ve.programs[r],35716==e){var n=Ns.getProgramInfoLog(r);null===n&&(n="(unknown error)"),A[t>>2]=n.length+1}else if(35719==e){if(!r.maxUniformLength)for(var o=0;o<Ns.getProgramParameter(r,35718);++o)r.maxUniformLength=Math.max(r.maxUniformLength,Ns.getActiveUniform(r,o).name.length+1);A[t>>2]=r.maxUniformLength}else if(35722==e){if(!r.maxAttributeLength)for(o=0;o<Ns.getProgramParameter(r,35721);++o)r.maxAttributeLength=Math.max(r.maxAttributeLength,Ns.getActiveAttrib(r,o).name.length+1);A[t>>2]=r.maxAttributeLength}else if(35381==e){if(!r.maxUniformBlockNameLength)for(o=0;o<Ns.getProgramParameter(r,35382);++o)r.maxUniformBlockNameLength=Math.max(r.maxUniformBlockNameLength,Ns.getActiveUniformBlockName(r,o).length+1);A[t>>2]=r.maxUniformBlockNameLength}else A[t>>2]=Ns.getProgramParameter(r,e);else Ve.recordError(1281)};function Po(r,e,t){if(t){var n,o=Ve.queries[r];ao(t,"boolean"==typeof(n=Ve.currentContext.version<2?Ns.disjointTimerQueryExt.getQueryObjectEXT(o,e):Ns.getQueryParameter(o,e))?n?1:0:n)}else Ve.recordError(1281)}var Co=Po;function Ao(r,e,t){if(t){var n,o=Ve.queries[r],a=Ns.disjointTimerQueryExt.getQueryObjectEXT(o,e);n="boolean"==typeof a?a?1:0:a,A[t>>2]=n}else Ve.recordError(1281)}var To=Ao,Bo=Po;var So=function(r,e,t){if(t){var n,o=Ve.queries[r],a=Ns.getQueryParameter(o,e);n="boolean"==typeof a?a?1:0:a,A[t>>2]=n}else Ve.recordError(1281)},$o=Ao;var Do=function(r,e,t){t?A[t>>2]=Ns.getQuery(r,e):Ve.recordError(1281)};var Fo=function(r,e,t){t?A[t>>2]=Ns.disjointTimerQueryExt.getQueryEXT(r,e):Ve.recordError(1281)};var Mo=function(r,e,t){t?A[t>>2]=Ns.getRenderbufferParameter(r,e):Ve.recordError(1281)};var Io=function(r,e,t){t?B[t>>2]=Ns.getSamplerParameter(Ve.samplers[r],e):Ve.recordError(1281)};var Lo=function(r,e,t){t?A[t>>2]=Ns.getSamplerParameter(Ve.samplers[r],e):Ve.recordError(1281)};var jo=function(r,e,t,n){var o=Ns.getShaderInfoLog(Ve.shaders[r]);null===o&&(o="(unknown error)");var a=e>0&&n?xe(o,n,e):0;t&&(A[t>>2]=a)};var Ro=function(r,e,t,n){var o=Ns.getShaderPrecisionFormat(r,e);A[t>>2]=o.rangeMin,A[t+4>>2]=o.rangeMax,A[n>>2]=o.precision};var Vo=function(r,e,t,n){var o=Ns.getShaderSource(Ve.shaders[r]);if(o){var a=e>0&&n?xe(o,n,e):0;t&&(A[t>>2]=a)}};var Oo=function(r,e,t){if(t)if(35716==e){var n=Ns.getShaderInfoLog(Ve.shaders[r]);null===n&&(n="(unknown error)");var o=n?n.length+1:0;A[t>>2]=o}else if(35720==e){var a=Ns.getShaderSource(Ve.shaders[r]),i=a?a.length+1:0;A[t>>2]=i}else A[t>>2]=Ns.getShaderParameter(Ve.shaders[r],e);else Ve.recordError(1281)};function Uo(r){var e=_e(r)+1,t=eu(e);return t&&xe(r,t,e),t}var No=function(r){var e=Ve.stringCache[r];if(!e){switch(r){case 7939:var t=Ns.getSupportedExtensions()||[];e=Uo((t=t.concat(t.map(function(r){return"GL_"+r}))).join(" "));break;case 7936:case 7937:case 37445:case 37446:var n=Ns.getParameter(r);n||Ve.recordError(1280),e=n&&Uo(n);break;case 7938:var o=Ns.getParameter(7938);e=Uo(o=Ve.currentContext.version>=2?"OpenGL ES 3.0 ("+o+")":"OpenGL ES 2.0 ("+o+")");break;case 35724:var a=Ns.getParameter(35724),i=a.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==i&&(3==i[1].length&&(i[1]=i[1]+"0"),a="OpenGL ES GLSL ES "+i[1]+" ("+a+")"),e=Uo(a);break;default:Ve.recordError(1280)}Ve.stringCache[r]=e}return e};var Wo=function(r,e){if(Ve.currentContext.version<2)return Ve.recordError(1282),0;var t=Ve.stringiCache[r];if(t)return e<0||e>=t.length?(Ve.recordError(1281),0):t[e];if(7939===r){var n=Ns.getSupportedExtensions()||[];return n=(n=n.concat(n.map(function(r){return"GL_"+r}))).map(function(r){return Uo(r)}),t=Ve.stringiCache[r]=n,e<0||e>=t.length?(Ve.recordError(1281),0):t[e]}return Ve.recordError(1280),0};var zo=function(r,e,t,n,o){if(t<0)Ve.recordError(1281);else if(o){var a=Ns.getSyncParameter(Ve.syncs[r],e);null!==a&&(A[o>>2]=a,n&&(A[n>>2]=1))}else Ve.recordError(1281)};var Go=function(r,e,t){t?B[t>>2]=Ns.getTexParameter(r,e):Ve.recordError(1281)};var Ho=function(r,e,t){t?A[t>>2]=Ns.getTexParameter(r,e):Ve.recordError(1281)};var qo=function(r,e,t,n,o,a,i){r=Ve.programs[r];var s=Ns.getTransformFeedbackVarying(r,e);if(s){if(i&&t>0){var u=xe(s.name,i,t);n&&(A[n>>2]=u)}else n&&(A[n>>2]=0);o&&(A[o>>2]=s.size),a&&(A[a>>2]=s.type)}};var Qo=function(r,e){return Ns.getUniformBlockIndex(Ve.programs[r],Ce(e))};var Xo=function(r,e,t,n){if(n)if(e>0&&(0==t||0==n))Ve.recordError(1281);else{r=Ve.programs[r];for(var o=[],a=0;a<e;a++)o.push(Ce(A[t+4*a>>2]));var i=Ns.getUniformIndices(r,o);if(i){var s=i.length;for(a=0;a<s;a++)A[n+4*a>>2]=i[a]}}else Ve.recordError(1281)};function Yo(r){return"]"==r.slice(-1)&&r.lastIndexOf("[")}function Zo(r){var e,t,n=r.uniformLocsById,o=r.uniformSizeAndIdsByName;if(!n)for(r.uniformLocsById=n={},r.uniformArrayNamesById={},e=0;e<Ns.getProgramParameter(r,35718);++e){var a=Ns.getActiveUniform(r,e),i=a.name,s=a.size,u=Yo(i),f=u>0?i.slice(0,u):i,c=r.uniformIdCounter;for(r.uniformIdCounter+=s,o[f]=[s,c],t=0;t<s;++t)n[c]=t,r.uniformArrayNamesById[c++]=f}}var Jo=function(r,e){if(e=Ce(e),r=Ve.programs[r]){Zo(r);var t=r.uniformLocsById,n=0,o=e,a=Yo(e);a>0&&(s=e.slice(a+1),n=parseInt(s)>>>0,o=e.slice(0,a));var i=r.uniformSizeAndIdsByName[o];if(i&&n<i[0]&&(t[n+=i[1]]=t[n]||Ns.getUniformLocation(r,e)))return n}else Ve.recordError(1281);var s;return-1};function Ko(r){var e=Ns.currentProgram;if(e){var t=e.uniformLocsById[r];return"number"==typeof t&&(e.uniformLocsById[r]=t=Ns.getUniformLocation(e,e.uniformArrayNamesById[r]+(t>0?"["+t+"]":""))),t}Ve.recordError(1282)}function ra(r,e,t,n){if(t){Zo(r=Ve.programs[r]);var o=Ns.getUniform(r,Ko(e));if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:A[t>>2]=o;break;case 2:B[t>>2]=o}else for(var a=0;a<o.length;a++)switch(n){case 0:A[t+4*a>>2]=o[a];break;case 2:B[t+4*a>>2]=o[a]}}else Ve.recordError(1281)}var ea=function(r,e,t){ra(r,e,t,2)};var ta=function(r,e,t){ra(r,e,t,0)};var na=function(r,e,t){ra(r,e,t,0)};function oa(r,e,t,n){if(t){Ve.currentContext.clientBuffers[r].enabled&&w("glGetVertexAttrib*v on client-side array: not supported, bad data returned");var o=Ns.getVertexAttrib(r,e);if(34975==e)A[t>>2]=o&&o.name;else if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:A[t>>2]=o;break;case 2:B[t>>2]=o;break;case 5:A[t>>2]=Math.fround(o)}else for(var a=0;a<o.length;a++)switch(n){case 0:A[t+4*a>>2]=o[a];break;case 2:B[t+4*a>>2]=o[a];break;case 5:A[t+4*a>>2]=Math.fround(o[a])}}else Ve.recordError(1281)}function aa(r,e,t){oa(r,e,t,0)}var ia=aa,sa=aa;var ua=function(r,e,t){t?(Ve.currentContext.clientBuffers[r].enabled&&w("glGetVertexAttribPointer on client-side array: not supported, bad data returned"),A[t>>2]=Ns.getVertexAttribOffset(r,e)):Ve.recordError(1281)};var fa=function(r,e,t){oa(r,e,t,2)};var ca=function(r,e,t){oa(r,e,t,5)};var la=function(r,e){Ns.hint(r,e)};var da=function(r,e,t){for(var n=fn[e],o=0;o<e;o++)n[o]=A[t+4*o>>2];Ns.invalidateFramebuffer(r,n)};var ma=function(r,e,t,n,o,a,i){for(var s=fn[e],u=0;u<e;u++)s[u]=A[t+4*u>>2];Ns.invalidateSubFramebuffer(r,s,n,o,a,i)};var va=function(r){var e=Ve.buffers[r];return e?Ns.isBuffer(e):0};var pa=function(r){return Ns.isEnabled(r)};var ha=function(r){var e=Ve.framebuffers[r];return e?Ns.isFramebuffer(e):0};var ga=function(r){return(r=Ve.programs[r])?Ns.isProgram(r):0};var ya=function(r){var e=Ve.queries[r];return e?Ns.isQuery(e):0};var ba=function(r){var e=Ve.queries[r];return e?Ns.disjointTimerQueryExt.isQueryEXT(e):0};var wa=function(r){var e=Ve.renderbuffers[r];return e?Ns.isRenderbuffer(e):0};var Ea=function(r){var e=Ve.samplers[r];return e?Ns.isSampler(e):0};var xa=function(r){var e=Ve.shaders[r];return e?Ns.isShader(e):0};var _a=function(r){return Ns.isSync(Ve.syncs[r])};var ka=function(r){var e=Ve.textures[r];return e?Ns.isTexture(e):0};var Pa=function(r){return Ns.isTransformFeedback(Ve.transformFeedbacks[r])};function Ca(r){var e=Ve.vaos[r];return e?Ns.isVertexArray(e):0}var Aa=Ca,Ta=Ca;var Ba=function(r){Ns.lineWidth(r)};var Sa=function(r){r=Ve.programs[r],Ns.linkProgram(r),r.uniformLocsById=0,r.uniformSizeAndIdsByName={}};var $a=function(r,e,t,n){if(33&n)return w("glMapBufferRange access does not support MAP_READ or MAP_UNSYNCHRONIZED"),0;if(!(2&n))return w("glMapBufferRange access must include MAP_WRITE"),0;if(!(12&n))return w("glMapBufferRange access must include INVALIDATE_BUFFER or INVALIDATE_RANGE"),0;if(!Dn(r))return Ve.recordError(1280),w("GL_INVALID_ENUM in glMapBufferRange"),0;var o=eu(t);return o?(Ve.mappedBuffers[$n(r)]={offset:e,length:t,mem:o,access:n},o):0};var Da=function(){Ns.pauseTransformFeedback()};var Fa=function(r,e){3317==r&&(Ve.unpackAlignment=e),Ns.pixelStorei(r,e)};var Ma=function(r,e){Ns.polygonOffset(r,e)};var Ia=function(r,e,t,n){Ve.recordError(1280)};var La=function(r,e,t){Ve.recordError(1280)};var ja=function(r,e){Ns.disjointTimerQueryExt.queryCounterEXT(Ve.queries[r],e)};var Ra=function(r){Ns.readBuffer(r)};function Va(r){return 0==(r-=5120)?_:1==r?k:2==r?P:4==r?A:6==r?B:5==r||28922==r||28520==r||30779==r||30782==r?T:C}function Oa(r){return 31-Math.clz32(r.BYTES_PER_ELEMENT)}function Ua(r,e,t,n,o,a){var i=Va(r),s=Oa(i),u=1<<s,f=function(r){return{5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[r-6402]||1}(e)*u,c=function(r,e,t,n){var o;return e*(r*t+(o=n)-1&-o)}(t,n,f,Ve.unpackAlignment);return i.subarray(o>>s,o+c>>s)}var Na=function(r,e,t,n,o,a,i){if(Ve.currentContext.version>=2)if(Ns.currentPixelPackBufferBinding)Ns.readPixels(r,e,t,n,o,a,i);else{var s=Va(a);Ns.readPixels(r,e,t,n,o,a,s,i>>Oa(s))}else{var u=Ua(a,o,t,n,i);u?Ns.readPixels(r,e,t,n,o,a,u):Ve.recordError(1280)}};var Wa=function(){};var za=function(r,e,t,n){Ns.renderbufferStorage(r,e,t,n)};var Ga=function(r,e,t,n,o){Ns.renderbufferStorageMultisample(r,e,t,n,o)};var Ha=function(){Ns.resumeTransformFeedback()};var qa=function(r,e){Ns.sampleCoverage(r,!!e)};var Qa=function(r,e,t){Ns.samplerParameterf(Ve.samplers[r],e,t)};var Xa=function(r,e,t){var n=B[t>>2];Ns.samplerParameterf(Ve.samplers[r],e,n)};var Ya=function(r,e,t){Ns.samplerParameteri(Ve.samplers[r],e,t)};var Za=function(r,e,t){var n=A[t>>2];Ns.samplerParameteri(Ve.samplers[r],e,n)};var Ja=function(r,e,t,n){Ns.scissor(r,e,t,n)};var Ka=function(r,e,t,n,o){Ve.recordError(1280)};var ri=function(r,e,t,n){var o=Ve.getSource(r,e,t,n);Ns.shaderSource(Ve.shaders[r],o)};var ei=function(r,e,t){Ns.stencilFunc(r,e,t)};var ti=function(r,e,t,n){Ns.stencilFuncSeparate(r,e,t,n)};var ni=function(r){Ns.stencilMask(r)};var oi=function(r,e){Ns.stencilMaskSeparate(r,e)};var ai=function(r,e,t){Ns.stencilOp(r,e,t)};var ii=function(r,e,t,n){Ns.stencilOpSeparate(r,e,t,n)};var si=function(r,e,t,n,o,a,i,s,u){if(Ve.currentContext.version>=2)if(Ns.currentPixelUnpackBufferBinding)Ns.texImage2D(r,e,t,n,o,a,i,s,u);else if(u){var f=Va(s);Ns.texImage2D(r,e,t,n,o,a,i,s,f,u>>Oa(f))}else Ns.texImage2D(r,e,t,n,o,a,i,s,null);else Ns.texImage2D(r,e,t,n,o,a,i,s,u?Ua(s,i,n,o,u):null)};var ui=function(r,e,t,n,o,a,i,s,u,f){if(Ns.currentPixelUnpackBufferBinding)Ns.texImage3D(r,e,t,n,o,a,i,s,u,f);else if(f){var c=Va(u);Ns.texImage3D(r,e,t,n,o,a,i,s,u,c,f>>Oa(c))}else Ns.texImage3D(r,e,t,n,o,a,i,s,u,null)};var fi=function(r,e,t){Ns.texParameterf(r,e,t)};var ci=function(r,e,t){var n=B[t>>2];Ns.texParameterf(r,e,n)};var li=function(r,e,t){Ns.texParameteri(r,e,t)};var di=function(r,e,t){var n=A[t>>2];Ns.texParameteri(r,e,n)};var mi=function(r,e,t,n,o){Ns.texStorage2D(r,e,t,n,o)};var vi=function(r,e,t,n,o,a){Ns.texStorage3D(r,e,t,n,o,a)};var pi=function(r,e,t,n,o,a,i,s,u){if(Ve.currentContext.version>=2)if(Ns.currentPixelUnpackBufferBinding)Ns.texSubImage2D(r,e,t,n,o,a,i,s,u);else if(u){var f=Va(s);Ns.texSubImage2D(r,e,t,n,o,a,i,s,f,u>>Oa(f))}else Ns.texSubImage2D(r,e,t,n,o,a,i,s,null);else{var c=null;u&&(c=Ua(s,i,o,a,u)),Ns.texSubImage2D(r,e,t,n,o,a,i,s,c)}};var hi=function(r,e,t,n,o,a,i,s,u,f,c){if(Ns.currentPixelUnpackBufferBinding)Ns.texSubImage3D(r,e,t,n,o,a,i,s,u,f,c);else if(c){var l=Va(f);Ns.texSubImage3D(r,e,t,n,o,a,i,s,u,f,l,c>>Oa(l))}else Ns.texSubImage3D(r,e,t,n,o,a,i,s,u,f,null)};var gi=function(r,e,t,n){r=Ve.programs[r];for(var o=[],a=0;a<e;a++)o.push(Ce(A[t+4*a>>2]));Ns.transformFeedbackVaryings(r,o,n)};var yi=function(r,e){Ns.uniform1f(Ko(r),e)},bi=[];var wi=function(r,e,t){if(Ve.currentContext.version>=2)e&&Ns.uniform1fv(Ko(r),B,t>>2,e);else{if(e<=288)for(var n=bi[e-1],o=0;o<e;++o)n[o]=B[t+4*o>>2];else n=B.subarray(t>>2,t+4*e>>2);Ns.uniform1fv(Ko(r),n)}};var Ei=function(r,e){Ns.uniform1i(Ko(r),e)},xi=[];var _i=function(r,e,t){if(Ve.currentContext.version>=2)e&&Ns.uniform1iv(Ko(r),A,t>>2,e);else{if(e<=288)for(var n=xi[e-1],o=0;o<e;++o)n[o]=A[t+4*o>>2];else n=A.subarray(t>>2,t+4*e>>2);Ns.uniform1iv(Ko(r),n)}};var ki=function(r,e){Ns.uniform1ui(Ko(r),e)};var Pi=function(r,e,t){e&&Ns.uniform1uiv(Ko(r),T,t>>2,e)};var Ci=function(r,e,t){Ns.uniform2f(Ko(r),e,t)};var Ai=function(r,e,t){if(Ve.currentContext.version>=2)e&&Ns.uniform2fv(Ko(r),B,t>>2,2*e);else{if(e<=144)for(var n=bi[2*e-1],o=0;o<2*e;o+=2)n[o]=B[t+4*o>>2],n[o+1]=B[t+(4*o+4)>>2];else n=B.subarray(t>>2,t+8*e>>2);Ns.uniform2fv(Ko(r),n)}};var Ti=function(r,e,t){Ns.uniform2i(Ko(r),e,t)};var Bi=function(r,e,t){if(Ve.currentContext.version>=2)e&&Ns.uniform2iv(Ko(r),A,t>>2,2*e);else{if(e<=144)for(var n=xi[2*e-1],o=0;o<2*e;o+=2)n[o]=A[t+4*o>>2],n[o+1]=A[t+(4*o+4)>>2];else n=A.subarray(t>>2,t+8*e>>2);Ns.uniform2iv(Ko(r),n)}};var Si=function(r,e,t){Ns.uniform2ui(Ko(r),e,t)};var $i=function(r,e,t){e&&Ns.uniform2uiv(Ko(r),T,t>>2,2*e)};var Di=function(r,e,t,n){Ns.uniform3f(Ko(r),e,t,n)};var Fi=function(r,e,t){if(Ve.currentContext.version>=2)e&&Ns.uniform3fv(Ko(r),B,t>>2,3*e);else{if(e<=96)for(var n=bi[3*e-1],o=0;o<3*e;o+=3)n[o]=B[t+4*o>>2],n[o+1]=B[t+(4*o+4)>>2],n[o+2]=B[t+(4*o+8)>>2];else n=B.subarray(t>>2,t+12*e>>2);Ns.uniform3fv(Ko(r),n)}};var Mi=function(r,e,t,n){Ns.uniform3i(Ko(r),e,t,n)};var Ii=function(r,e,t){if(Ve.currentContext.version>=2)e&&Ns.uniform3iv(Ko(r),A,t>>2,3*e);else{if(e<=96)for(var n=xi[3*e-1],o=0;o<3*e;o+=3)n[o]=A[t+4*o>>2],n[o+1]=A[t+(4*o+4)>>2],n[o+2]=A[t+(4*o+8)>>2];else n=A.subarray(t>>2,t+12*e>>2);Ns.uniform3iv(Ko(r),n)}};var Li=function(r,e,t,n){Ns.uniform3ui(Ko(r),e,t,n)};var ji=function(r,e,t){e&&Ns.uniform3uiv(Ko(r),T,t>>2,3*e)};var Ri=function(r,e,t,n,o){Ns.uniform4f(Ko(r),e,t,n,o)};var Vi=function(r,e,t){if(Ve.currentContext.version>=2)e&&Ns.uniform4fv(Ko(r),B,t>>2,4*e);else{if(e<=72){var n=bi[4*e-1],o=B;t>>=2;for(var a=0;a<4*e;a+=4){var i=t+a;n[a]=o[i],n[a+1]=o[i+1],n[a+2]=o[i+2],n[a+3]=o[i+3]}}else n=B.subarray(t>>2,t+16*e>>2);Ns.uniform4fv(Ko(r),n)}};var Oi=function(r,e,t,n,o){Ns.uniform4i(Ko(r),e,t,n,o)};var Ui=function(r,e,t){if(Ve.currentContext.version>=2)e&&Ns.uniform4iv(Ko(r),A,t>>2,4*e);else{if(e<=72)for(var n=xi[4*e-1],o=0;o<4*e;o+=4)n[o]=A[t+4*o>>2],n[o+1]=A[t+(4*o+4)>>2],n[o+2]=A[t+(4*o+8)>>2],n[o+3]=A[t+(4*o+12)>>2];else n=A.subarray(t>>2,t+16*e>>2);Ns.uniform4iv(Ko(r),n)}};var Ni=function(r,e,t,n,o){Ns.uniform4ui(Ko(r),e,t,n,o)};var Wi=function(r,e,t){e&&Ns.uniform4uiv(Ko(r),T,t>>2,4*e)};var zi=function(r,e,t){r=Ve.programs[r],Ns.uniformBlockBinding(r,e,t)};var Gi=function(r,e,t,n){if(Ve.currentContext.version>=2)e&&Ns.uniformMatrix2fv(Ko(r),!!t,B,n>>2,4*e);else{if(e<=72)for(var o=bi[4*e-1],a=0;a<4*e;a+=4)o[a]=B[n+4*a>>2],o[a+1]=B[n+(4*a+4)>>2],o[a+2]=B[n+(4*a+8)>>2],o[a+3]=B[n+(4*a+12)>>2];else o=B.subarray(n>>2,n+16*e>>2);Ns.uniformMatrix2fv(Ko(r),!!t,o)}};var Hi=function(r,e,t,n){e&&Ns.uniformMatrix2x3fv(Ko(r),!!t,B,n>>2,6*e)};var qi=function(r,e,t,n){e&&Ns.uniformMatrix2x4fv(Ko(r),!!t,B,n>>2,8*e)};var Qi=function(r,e,t,n){if(Ve.currentContext.version>=2)e&&Ns.uniformMatrix3fv(Ko(r),!!t,B,n>>2,9*e);else{if(e<=32)for(var o=bi[9*e-1],a=0;a<9*e;a+=9)o[a]=B[n+4*a>>2],o[a+1]=B[n+(4*a+4)>>2],o[a+2]=B[n+(4*a+8)>>2],o[a+3]=B[n+(4*a+12)>>2],o[a+4]=B[n+(4*a+16)>>2],o[a+5]=B[n+(4*a+20)>>2],o[a+6]=B[n+(4*a+24)>>2],o[a+7]=B[n+(4*a+28)>>2],o[a+8]=B[n+(4*a+32)>>2];else o=B.subarray(n>>2,n+36*e>>2);Ns.uniformMatrix3fv(Ko(r),!!t,o)}};var Xi=function(r,e,t,n){e&&Ns.uniformMatrix3x2fv(Ko(r),!!t,B,n>>2,6*e)};var Yi=function(r,e,t,n){e&&Ns.uniformMatrix3x4fv(Ko(r),!!t,B,n>>2,12*e)};var Zi=function(r,e,t,n){if(Ve.currentContext.version>=2)e&&Ns.uniformMatrix4fv(Ko(r),!!t,B,n>>2,16*e);else{if(e<=18){var o=bi[16*e-1],a=B;n>>=2;for(var i=0;i<16*e;i+=16){var s=n+i;o[i]=a[s],o[i+1]=a[s+1],o[i+2]=a[s+2],o[i+3]=a[s+3],o[i+4]=a[s+4],o[i+5]=a[s+5],o[i+6]=a[s+6],o[i+7]=a[s+7],o[i+8]=a[s+8],o[i+9]=a[s+9],o[i+10]=a[s+10],o[i+11]=a[s+11],o[i+12]=a[s+12],o[i+13]=a[s+13],o[i+14]=a[s+14],o[i+15]=a[s+15]}}else o=B.subarray(n>>2,n+64*e>>2);Ns.uniformMatrix4fv(Ko(r),!!t,o)}};var Ji=function(r,e,t,n){e&&Ns.uniformMatrix4x2fv(Ko(r),!!t,B,n>>2,8*e)};var Ki=function(r,e,t,n){e&&Ns.uniformMatrix4x3fv(Ko(r),!!t,B,n>>2,12*e)};var rs=function(r){if(!Dn(r))return Ve.recordError(1280),w("GL_INVALID_ENUM in glUnmapBuffer"),0;var e=$n(r),t=Ve.mappedBuffers[e];return t?(Ve.mappedBuffers[e]=null,16&t.access||(Ve.currentContext.version>=2?Ns.bufferSubData(r,t.offset,k,t.mem,t.length):Ns.bufferSubData(r,t.offset,k.subarray(t.mem,t.mem+t.length))),ru(t.mem),1):(Ve.recordError(1282),w("buffer was never mapped in glUnmapBuffer"),0)};var es=function(r){r=Ve.programs[r],Ns.useProgram(r),Ns.currentProgram=r};var ts=function(r){Ns.validateProgram(Ve.programs[r])};var ns=function(r,e){Ns.vertexAttrib1f(r,e)};var os=function(r,e){Ns.vertexAttrib1f(r,B[e>>2])};var as=function(r,e,t){Ns.vertexAttrib2f(r,e,t)};var is=function(r,e){Ns.vertexAttrib2f(r,B[e>>2],B[e+4>>2])};var ss=function(r,e,t,n){Ns.vertexAttrib3f(r,e,t,n)};var us=function(r,e){Ns.vertexAttrib3f(r,B[e>>2],B[e+4>>2],B[e+8>>2])};var fs=function(r,e,t,n,o){Ns.vertexAttrib4f(r,e,t,n,o)};var cs=function(r,e){Ns.vertexAttrib4f(r,B[e>>2],B[e+4>>2],B[e+8>>2],B[e+12>>2])};function ls(r,e){Ns.vertexAttribDivisor(r,e)}var ds=ls,ms=ls,vs=ls,ps=ls,hs=ls;var gs=function(r,e,t,n,o){Ns.vertexAttribI4i(r,e,t,n,o)};var ys=function(r,e){Ns.vertexAttribI4i(r,A[e>>2],A[e+4>>2],A[e+8>>2],A[e+12>>2])};var bs=function(r,e,t,n,o){Ns.vertexAttribI4ui(r,e,t,n,o)};var ws=function(r,e){Ns.vertexAttribI4ui(r,T[e>>2],T[e+4>>2],T[e+8>>2],T[e+12>>2])};var Es=function(r,e,t,n,o){var a=Ve.currentContext.clientBuffers[r];if(!Ns.currentArrayBufferBinding)return a.size=e,a.type=t,a.normalized=!1,a.stride=n,a.ptr=o,a.clientside=!0,void(a.vertexAttribPointerAdaptor=function(r,e,t,n,o,a){this.vertexAttribIPointer(r,e,t,o,a)});a.clientside=!1,Ns.vertexAttribIPointer(r,e,t,n,o)};var xs=function(r,e,t,n,o,a){var i=Ve.currentContext.clientBuffers[r];if(!Ns.currentArrayBufferBinding)return i.size=e,i.type=t,i.normalized=n,i.stride=o,i.ptr=a,i.clientside=!0,void(i.vertexAttribPointerAdaptor=function(r,e,t,n,o,a){this.vertexAttribPointer(r,e,t,n,o,a)});i.clientside=!1,Ns.vertexAttribPointer(r,e,t,!!n,o,a)};var _s=function(r,e,t,n){Ns.viewport(r,e,t,n)};var ks=function(r,e,t,n){var o=wt(t,n);Ns.waitSync(Ve.syncs[r],e,o)};function Ps(r){var e=r-E.buffer.byteLength+65535>>>16;try{return E.grow(e),M(),1}catch(r){}}var Cs={};function As(){if(!As.strings){var r={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",_:c||"./this.program"};for(var e in Cs)void 0===Cs[e]?delete r[e]:r[e]=Cs[e];var t=[];for(var e in r)t.push(`${e}=${r[e]}`);As.strings=t}return As.strings}var Ts={isAbs:r=>"/"===r.charAt(0),splitPath:r=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(r).slice(1),normalizeArray:(r,e)=>{for(var t=0,n=r.length-1;n>=0;n--){var o=r[n];"."===o?r.splice(n,1):".."===o?(r.splice(n,1),t++):t&&(r.splice(n,1),t--)}if(e)for(;t;t--)r.unshift("..");return r},normalize:r=>{var e=Ts.isAbs(r),t="/"===r.substr(-1);return(r=Ts.normalizeArray(r.split("/").filter(r=>!!r),!e).join("/"))||e||(r="."),r&&t&&(r+="/"),(e?"/":"")+r},dirname:r=>{var e=Ts.splitPath(r),t=e[0],n=e[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:r=>{if("/"===r)return"/";var e=(r=(r=Ts.normalize(r)).replace(/\/$/,"")).lastIndexOf("/");return-1===e?r:r.substr(e+1)},join:function(){var r=Array.prototype.slice.call(arguments);return Ts.normalize(r.join("/"))},join2:(r,e)=>Ts.normalize(r+"/"+e)};function Bs(r){return(Bs=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return r=>crypto.getRandomValues(r);if(v)try{var r=require("crypto");if(r.randomFillSync)return e=>r.randomFillSync(e);var e=r.randomBytes;return r=>(r.set(e(r.byteLength)),r)}catch(r){}G("initRandomDevice")}())(r)}var Ss={resolve:function(){for(var r="",e=!1,t=arguments.length-1;t>=-1&&!e;t--){var n=t>=0?arguments[t]:js.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";r=n+"/"+r,e=Ts.isAbs(n)}return(e?"/":"")+(r=Ts.normalizeArray(r.split("/").filter(r=>!!r),!e).join("/"))||"."},relative:(r,e)=>{function t(r){for(var e=0;e<r.length&&""===r[e];e++);for(var t=r.length-1;t>=0&&""===r[t];t--);return e>t?[]:r.slice(e,t-e+1)}r=Ss.resolve(r).substr(1),e=Ss.resolve(e).substr(1);for(var n=t(r.split("/")),o=t(e.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s<a;s++)if(n[s]!==o[s]){i=s;break}var u=[];for(s=i;s<n.length;s++)u.push("..");return(u=u.concat(o.slice(i))).join("/")}};function $s(r,e,t){var n=t>0?t:_e(r)+1,o=new Array(n),a=Ee(r,o,0,o.length);return e&&(o.length=a),o}var Ds={ttys:[],init:function(){},shutdown:function(){},register:function(r,e){Ds.ttys[r]={input:[],output:[],ops:e},js.registerDevice(r,Ds.stream_ops)},stream_ops:{open:function(r){var e=Ds.ttys[r.node.rdev];if(!e)throw new js.ErrnoError(43);r.tty=e,r.seekable=!1},close:function(r){r.tty.ops.fsync(r.tty)},fsync:function(r){r.tty.ops.fsync(r.tty)},read:function(r,e,t,n,o){if(!r.tty||!r.tty.ops.get_char)throw new js.ErrnoError(60);for(var a=0,i=0;i<n;i++){var s;try{s=r.tty.ops.get_char(r.tty)}catch(r){throw new js.ErrnoError(29)}if(void 0===s&&0===a)throw new js.ErrnoError(6);if(null==s)break;a++,e[t+i]=s}return a&&(r.node.timestamp=Date.now()),a},write:function(r,e,t,n,o){if(!r.tty||!r.tty.ops.put_char)throw new js.ErrnoError(60);try{for(var a=0;a<n;a++)r.tty.ops.put_char(r.tty,e[t+a])}catch(r){throw new js.ErrnoError(29)}return n&&(r.node.timestamp=Date.now()),a}},default_tty_ops:{get_char:function(r){if(!r.input.length){var e=null;if(v){var t=Buffer.alloc(256),n=0;try{n=h.readSync(o.stdin.fd,t,0,256,-1)}catch(r){if(!r.toString().includes("EOF"))throw r;n=0}e=n>0?t.slice(0,n).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;r.input=$s(e,!0)}return r.input.shift()},put_char:function(r,e){null===e||10===e?(b(Pe(r.output,0)),r.output=[]):0!=e&&r.output.push(e)},fsync:function(r){r.output&&r.output.length>0&&(b(Pe(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,e){null===e||10===e?(w(Pe(r.output,0)),r.output=[]):0!=e&&r.output.push(e)},fsync:function(r){r.output&&r.output.length>0&&(w(Pe(r.output,0)),r.output=[])}}};function Fs(r){G()}var Ms={ops_table:null,mount:function(r){return Ms.createNode(null,"/",16895,0)},createNode:function(r,e,t,n){if(js.isBlkdev(t)||js.isFIFO(t))throw new js.ErrnoError(63);Ms.ops_table||(Ms.ops_table={dir:{node:{getattr:Ms.node_ops.getattr,setattr:Ms.node_ops.setattr,lookup:Ms.node_ops.lookup,mknod:Ms.node_ops.mknod,rename:Ms.node_ops.rename,unlink:Ms.node_ops.unlink,rmdir:Ms.node_ops.rmdir,readdir:Ms.node_ops.readdir,symlink:Ms.node_ops.symlink},stream:{llseek:Ms.stream_ops.llseek}},file:{node:{getattr:Ms.node_ops.getattr,setattr:Ms.node_ops.setattr},stream:{llseek:Ms.stream_ops.llseek,read:Ms.stream_ops.read,write:Ms.stream_ops.write,allocate:Ms.stream_ops.allocate,mmap:Ms.stream_ops.mmap,msync:Ms.stream_ops.msync}},link:{node:{getattr:Ms.node_ops.getattr,setattr:Ms.node_ops.setattr,readlink:Ms.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Ms.node_ops.getattr,setattr:Ms.node_ops.setattr},stream:js.chrdev_stream_ops}});var o=js.createNode(r,e,t,n);return js.isDir(o.mode)?(o.node_ops=Ms.ops_table.dir.node,o.stream_ops=Ms.ops_table.dir.stream,o.contents={}):js.isFile(o.mode)?(o.node_ops=Ms.ops_table.file.node,o.stream_ops=Ms.ops_table.file.stream,o.usedBytes=0,o.contents=null):js.isLink(o.mode)?(o.node_ops=Ms.ops_table.link.node,o.stream_ops=Ms.ops_table.link.stream):js.isChrdev(o.mode)&&(o.node_ops=Ms.ops_table.chrdev.node,o.stream_ops=Ms.ops_table.chrdev.stream),o.timestamp=Date.now(),r&&(r.contents[e]=o,r.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(r){return r.contents?r.contents.subarray?r.contents.subarray(0,r.usedBytes):new Uint8Array(r.contents):new Uint8Array(0)},expandFileStorage:function(r,e){var t=r.contents?r.contents.length:0;if(!(t>=e)){e=Math.max(e,t*(t<1048576?2:1.125)>>>0),0!=t&&(e=Math.max(e,256));var n=r.contents;r.contents=new Uint8Array(e),r.usedBytes>0&&r.contents.set(n.subarray(0,r.usedBytes),0)}},resizeFileStorage:function(r,e){if(r.usedBytes!=e)if(0==e)r.contents=null,r.usedBytes=0;else{var t=r.contents;r.contents=new Uint8Array(e),t&&r.contents.set(t.subarray(0,Math.min(e,r.usedBytes))),r.usedBytes=e}},node_ops:{getattr:function(r){var e={};return e.dev=js.isChrdev(r.mode)?r.id:1,e.ino=r.id,e.mode=r.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=r.rdev,js.isDir(r.mode)?e.size=4096:js.isFile(r.mode)?e.size=r.usedBytes:js.isLink(r.mode)?e.size=r.link.length:e.size=0,e.atime=new Date(r.timestamp),e.mtime=new Date(r.timestamp),e.ctime=new Date(r.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(r,e){void 0!==e.mode&&(r.mode=e.mode),void 0!==e.timestamp&&(r.timestamp=e.timestamp),void 0!==e.size&&Ms.resizeFileStorage(r,e.size)},lookup:function(r,e){throw js.genericErrors[44]},mknod:function(r,e,t,n){return Ms.createNode(r,e,t,n)},rename:function(r,e,t){if(js.isDir(r.mode)){var n;try{n=js.lookupNode(e,t)}catch(r){}if(n)for(var o in n.contents)throw new js.ErrnoError(55)}delete r.parent.contents[r.name],r.parent.timestamp=Date.now(),r.name=t,e.contents[t]=r,e.timestamp=r.parent.timestamp,r.parent=e},unlink:function(r,e){delete r.contents[e],r.timestamp=Date.now()},rmdir:function(r,e){var t=js.lookupNode(r,e);for(var n in t.contents)throw new js.ErrnoError(55);delete r.contents[e],r.timestamp=Date.now()},readdir:function(r){var e=[".",".."];for(var t in r.contents)r.contents.hasOwnProperty(t)&&e.push(t);return e},symlink:function(r,e,t){var n=Ms.createNode(r,e,41471,0);return n.link=t,n},readlink:function(r){if(!js.isLink(r.mode))throw new js.ErrnoError(28);return r.link}},stream_ops:{read:function(r,e,t,n,o){var a=r.node.contents;if(o>=r.node.usedBytes)return 0;var i=Math.min(r.node.usedBytes-o,n);if(i>8&&a.subarray)e.set(a.subarray(o,o+i),t);else for(var s=0;s<i;s++)e[t+s]=a[o+s];return i},write:function(r,e,t,n,o,a){if(e.buffer===_.buffer&&(a=!1),!n)return 0;var i=r.node;if(i.timestamp=Date.now(),e.subarray&&(!i.contents||i.contents.subarray)){if(a)return i.contents=e.subarray(t,t+n),i.usedBytes=n,n;if(0===i.usedBytes&&0===o)return i.contents=e.slice(t,t+n),i.usedBytes=n,n;if(o+n<=i.usedBytes)return i.contents.set(e.subarray(t,t+n),o),n}if(Ms.expandFileStorage(i,o+n),i.contents.subarray&&e.subarray)i.contents.set(e.subarray(t,t+n),o);else for(var s=0;s<n;s++)i.contents[o+s]=e[t+s];return i.usedBytes=Math.max(i.usedBytes,o+n),n},llseek:function(r,e,t){var n=e;if(1===t?n+=r.position:2===t&&js.isFile(r.node.mode)&&(n+=r.node.usedBytes),n<0)throw new js.ErrnoError(28);return n},allocate:function(r,e,t){Ms.expandFileStorage(r.node,e+t),r.node.usedBytes=Math.max(r.node.usedBytes,e+t)},mmap:function(r,e,t,n,o){if(!js.isFile(r.node.mode))throw new js.ErrnoError(43);var a,i,s=r.node.contents;if(2&o||s.buffer!==_.buffer){if((t>0||t+e<s.length)&&(s=s.subarray?s.subarray(t,t+e):Array.prototype.slice.call(s,t,t+e)),i=!0,!(a=Fs()))throw new js.ErrnoError(48);_.set(s,a)}else i=!1,a=s.byteOffset;return{ptr:a,allocated:i}},msync:function(r,e,t,n,o){return Ms.stream_ops.write(r,e,0,n,t,!1),0}}};var Is=a.preloadPlugins||[];function Ls(r,e){var t=0;return r&&(t|=365),e&&(t|=146),t}var js={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(r,e={})=>{if(!(r=Ss.resolve(r)))return{path:"",node:null};if((e=Object.assign({follow_mount:!0,recurse_count:0},e)).recurse_count>8)throw new js.ErrnoError(32);for(var t=r.split("/").filter(r=>!!r),n=js.root,o="/",a=0;a<t.length;a++){var i=a===t.length-1;if(i&&e.parent)break;if(n=js.lookupNode(n,t[a]),o=Ts.join2(o,t[a]),js.isMountpoint(n)&&(!i||i&&e.follow_mount)&&(n=n.mounted.root),!i||e.follow)for(var s=0;js.isLink(n.mode);){var u=js.readlink(o);if(o=Ss.resolve(Ts.dirname(o),u),n=js.lookupPath(o,{recurse_count:e.recurse_count+1}).node,s++>40)throw new js.ErrnoError(32)}}return{path:o,node:n}},getPath:r=>{for(var e;;){if(js.isRoot(r)){var t=r.mount.mountpoint;return e?"/"!==t[t.length-1]?`${t}/${e}`:t+e:t}e=e?`${r.name}/${e}`:r.name,r=r.parent}},hashName:(r,e)=>{for(var t=0,n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(r+t>>>0)%js.nameTable.length},hashAddNode:r=>{var e=js.hashName(r.parent.id,r.name);r.name_next=js.nameTable[e],js.nameTable[e]=r},hashRemoveNode:r=>{var e=js.hashName(r.parent.id,r.name);if(js.nameTable[e]===r)js.nameTable[e]=r.name_next;else for(var t=js.nameTable[e];t;){if(t.name_next===r){t.name_next=r.name_next;break}t=t.name_next}},lookupNode:(r,e)=>{var t=js.mayLookup(r);if(t)throw new js.ErrnoError(t,r);for(var n=js.hashName(r.id,e),o=js.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===r.id&&a===e)return o}return js.lookup(r,e)},createNode:(r,e,t,n)=>{var o=new js.FSNode(r,e,t,n);return js.hashAddNode(o),o},destroyNode:r=>{js.hashRemoveNode(r)},isRoot:r=>r===r.parent,isMountpoint:r=>!!r.mounted,isFile:r=>32768==(61440&r),isDir:r=>16384==(61440&r),isLink:r=>40960==(61440&r),isChrdev:r=>8192==(61440&r),isBlkdev:r=>24576==(61440&r),isFIFO:r=>4096==(61440&r),isSocket:r=>!(49152&~r),flagsToPermissionString:r=>{var e=["r","w","rw"][3&r];return 512&r&&(e+="w"),e},nodePermissions:(r,e)=>js.ignorePermissions||(!e.includes("r")||292&r.mode)&&(!e.includes("w")||146&r.mode)&&(!e.includes("x")||73&r.mode)?0:2,mayLookup:r=>{var e=js.nodePermissions(r,"x");return e||(r.node_ops.lookup?0:2)},mayCreate:(r,e)=>{try{js.lookupNode(r,e);return 20}catch(r){}return js.nodePermissions(r,"wx")},mayDelete:(r,e,t)=>{var n;try{n=js.lookupNode(r,e)}catch(r){return r.errno}var o=js.nodePermissions(r,"wx");if(o)return o;if(t){if(!js.isDir(n.mode))return 54;if(js.isRoot(n)||js.getPath(n)===js.cwd())return 10}else if(js.isDir(n.mode))return 31;return 0},mayOpen:(r,e)=>r?js.isLink(r.mode)?32:js.isDir(r.mode)&&("r"!==js.flagsToPermissionString(e)||512&e)?31:js.nodePermissions(r,js.flagsToPermissionString(e)):44,MAX_OPEN_FDS:4096,nextfd:()=>{for(var r=0;r<=js.MAX_OPEN_FDS;r++)if(!js.streams[r])return r;throw new js.ErrnoError(33)},getStream:r=>js.streams[r],createStream:(r,e=-1)=>(js.FSStream||(js.FSStream=function(){this.shared={}},js.FSStream.prototype={},Object.defineProperties(js.FSStream.prototype,{object:{get:function(){return this.node},set:function(r){this.node=r}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return!!(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(r){this.shared.flags=r}},position:{get:function(){return this.shared.position},set:function(r){this.shared.position=r}}})),r=Object.assign(new js.FSStream,r),-1==e&&(e=js.nextfd()),r.fd=e,js.streams[e]=r,r),closeStream:r=>{js.streams[r]=null},chrdev_stream_ops:{open:r=>{var e=js.getDevice(r.node.rdev);r.stream_ops=e.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek:()=>{throw new js.ErrnoError(70)}},major:r=>r>>8,minor:r=>255&r,makedev:(r,e)=>r<<8|e,registerDevice:(r,e)=>{js.devices[r]={stream_ops:e}},getDevice:r=>js.devices[r],getMounts:r=>{for(var e=[],t=[r];t.length;){var n=t.pop();e.push(n),t.push.apply(t,n.mounts)}return e},syncfs:(r,e)=>{"function"==typeof r&&(e=r,r=!1),js.syncFSRequests++,js.syncFSRequests>1&&w(`warning: ${js.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=js.getMounts(js.root.mount),n=0;function o(r){return js.syncFSRequests--,e(r)}function a(r){if(r)return a.errored?void 0:(a.errored=!0,o(r));++n>=t.length&&o(null)}t.forEach(e=>{if(!e.type.syncfs)return a(null);e.type.syncfs(e,r,a)})},mount:(r,e,t)=>{var n,o="/"===t,a=!t;if(o&&js.root)throw new js.ErrnoError(10);if(!o&&!a){var i=js.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,js.isMountpoint(n))throw new js.ErrnoError(10);if(!js.isDir(n.mode))throw new js.ErrnoError(54)}var s={type:r,opts:e,mountpoint:t,mounts:[]},u=r.mount(s);return u.mount=s,s.root=u,o?js.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount:r=>{var e=js.lookupPath(r,{follow_mount:!1});if(!js.isMountpoint(e.node))throw new js.ErrnoError(28);var t=e.node,n=t.mounted,o=js.getMounts(n);Object.keys(js.nameTable).forEach(r=>{for(var e=js.nameTable[r];e;){var t=e.name_next;o.includes(e.mount)&&js.destroyNode(e),e=t}}),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(r,e)=>r.node_ops.lookup(r,e),mknod:(r,e,t)=>{var n=js.lookupPath(r,{parent:!0}).node,o=Ts.basename(r);if(!o||"."===o||".."===o)throw new js.ErrnoError(28);var a=js.mayCreate(n,o);if(a)throw new js.ErrnoError(a);if(!n.node_ops.mknod)throw new js.ErrnoError(63);return n.node_ops.mknod(n,o,e,t)},create:(r,e)=>(e=void 0!==e?e:438,e&=4095,e|=32768,js.mknod(r,e,0)),mkdir:(r,e)=>(e=void 0!==e?e:511,e&=1023,e|=16384,js.mknod(r,e,0)),mkdirTree:(r,e)=>{for(var t=r.split("/"),n="",o=0;o<t.length;++o)if(t[o]){n+="/"+t[o];try{js.mkdir(n,e)}catch(r){if(20!=r.errno)throw r}}},mkdev:(r,e,t)=>(void 0===t&&(t=e,e=438),e|=8192,js.mknod(r,e,t)),symlink:(r,e)=>{if(!Ss.resolve(r))throw new js.ErrnoError(44);var t=js.lookupPath(e,{parent:!0}).node;if(!t)throw new js.ErrnoError(44);var n=Ts.basename(e),o=js.mayCreate(t,n);if(o)throw new js.ErrnoError(o);if(!t.node_ops.symlink)throw new js.ErrnoError(63);return t.node_ops.symlink(t,n,r)},rename:(r,e)=>{var t,n,o=Ts.dirname(r),a=Ts.dirname(e),i=Ts.basename(r),s=Ts.basename(e);if(t=js.lookupPath(r,{parent:!0}).node,n=js.lookupPath(e,{parent:!0}).node,!t||!n)throw new js.ErrnoError(44);if(t.mount!==n.mount)throw new js.ErrnoError(75);var u,f=js.lookupNode(t,i),c=Ss.relative(r,a);if("."!==c.charAt(0))throw new js.ErrnoError(28);if("."!==(c=Ss.relative(e,o)).charAt(0))throw new js.ErrnoError(55);try{u=js.lookupNode(n,s)}catch(r){}if(f!==u){var l=js.isDir(f.mode),d=js.mayDelete(t,i,l);if(d)throw new js.ErrnoError(d);if(d=u?js.mayDelete(n,s,l):js.mayCreate(n,s))throw new js.ErrnoError(d);if(!t.node_ops.rename)throw new js.ErrnoError(63);if(js.isMountpoint(f)||u&&js.isMountpoint(u))throw new js.ErrnoError(10);if(n!==t&&(d=js.nodePermissions(t,"w")))throw new js.ErrnoError(d);js.hashRemoveNode(f);try{t.node_ops.rename(f,n,s)}catch(r){throw r}finally{js.hashAddNode(f)}}},rmdir:r=>{var e=js.lookupPath(r,{parent:!0}).node,t=Ts.basename(r),n=js.lookupNode(e,t),o=js.mayDelete(e,t,!0);if(o)throw new js.ErrnoError(o);if(!e.node_ops.rmdir)throw new js.ErrnoError(63);if(js.isMountpoint(n))throw new js.ErrnoError(10);e.node_ops.rmdir(e,t),js.destroyNode(n)},readdir:r=>{var e=js.lookupPath(r,{follow:!0}).node;if(!e.node_ops.readdir)throw new js.ErrnoError(54);return e.node_ops.readdir(e)},unlink:r=>{var e=js.lookupPath(r,{parent:!0}).node;if(!e)throw new js.ErrnoError(44);var t=Ts.basename(r),n=js.lookupNode(e,t),o=js.mayDelete(e,t,!1);if(o)throw new js.ErrnoError(o);if(!e.node_ops.unlink)throw new js.ErrnoError(63);if(js.isMountpoint(n))throw new js.ErrnoError(10);e.node_ops.unlink(e,t),js.destroyNode(n)},readlink:r=>{var e=js.lookupPath(r).node;if(!e)throw new js.ErrnoError(44);if(!e.node_ops.readlink)throw new js.ErrnoError(28);return Ss.resolve(js.getPath(e.parent),e.node_ops.readlink(e))},stat:(r,e)=>{var t=js.lookupPath(r,{follow:!e}).node;if(!t)throw new js.ErrnoError(44);if(!t.node_ops.getattr)throw new js.ErrnoError(63);return t.node_ops.getattr(t)},lstat:r=>js.stat(r,!0),chmod:(r,e,t)=>{var n;"string"==typeof r?n=js.lookupPath(r,{follow:!t}).node:n=r;if(!n.node_ops.setattr)throw new js.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&e|-4096&n.mode,timestamp:Date.now()})},lchmod:(r,e)=>{js.chmod(r,e,!0)},fchmod:(r,e)=>{var t=js.getStream(r);if(!t)throw new js.ErrnoError(8);js.chmod(t.node,e)},chown:(r,e,t,n)=>{var o;"string"==typeof r?o=js.lookupPath(r,{follow:!n}).node:o=r;if(!o.node_ops.setattr)throw new js.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(r,e,t)=>{js.chown(r,e,t,!0)},fchown:(r,e,t)=>{var n=js.getStream(r);if(!n)throw new js.ErrnoError(8);js.chown(n.node,e,t)},truncate:(r,e)=>{if(e<0)throw new js.ErrnoError(28);var t;"string"==typeof r?t=js.lookupPath(r,{follow:!0}).node:t=r;if(!t.node_ops.setattr)throw new js.ErrnoError(63);if(js.isDir(t.mode))throw new js.ErrnoError(31);if(!js.isFile(t.mode))throw new js.ErrnoError(28);var n=js.nodePermissions(t,"w");if(n)throw new js.ErrnoError(n);t.node_ops.setattr(t,{size:e,timestamp:Date.now()})},ftruncate:(r,e)=>{var t=js.getStream(r);if(!t)throw new js.ErrnoError(8);if(!(2097155&t.flags))throw new js.ErrnoError(28);js.truncate(t.node,e)},utime:(r,e,t)=>{var n=js.lookupPath(r,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(e,t)})},open:(r,e,t)=>{if(""===r)throw new js.ErrnoError(44);var n;if(t=void 0===t?438:t,t=64&(e="string"==typeof e?function(r){var e={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[r];if(void 0===e)throw new Error(`Unknown file open mode: ${r}`);return e}(e):e)?4095&t|32768:0,"object"==typeof r)n=r;else{r=Ts.normalize(r);try{n=js.lookupPath(r,{follow:!(131072&e)}).node}catch(r){}}var o=!1;if(64&e)if(n){if(128&e)throw new js.ErrnoError(20)}else n=js.mknod(r,t,0),o=!0;if(!n)throw new js.ErrnoError(44);if(js.isChrdev(n.mode)&&(e&=-513),65536&e&&!js.isDir(n.mode))throw new js.ErrnoError(54);if(!o){var i=js.mayOpen(n,e);if(i)throw new js.ErrnoError(i)}512&e&&!o&&js.truncate(n,0),e&=-131713;var s=js.createStream({node:n,path:js.getPath(n),flags:e,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!a.logReadFiles||1&e||(js.readFiles||(js.readFiles={}),r in js.readFiles||(js.readFiles[r]=1)),s},close:r=>{if(js.isClosed(r))throw new js.ErrnoError(8);r.getdents&&(r.getdents=null);try{r.stream_ops.close&&r.stream_ops.close(r)}catch(r){throw r}finally{js.closeStream(r.fd)}r.fd=null},isClosed:r=>null===r.fd,llseek:(r,e,t)=>{if(js.isClosed(r))throw new js.ErrnoError(8);if(!r.seekable||!r.stream_ops.llseek)throw new js.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new js.ErrnoError(28);return r.position=r.stream_ops.llseek(r,e,t),r.ungotten=[],r.position},read:(r,e,t,n,o)=>{if(n<0||o<0)throw new js.ErrnoError(28);if(js.isClosed(r))throw new js.ErrnoError(8);if(1==(2097155&r.flags))throw new js.ErrnoError(8);if(js.isDir(r.node.mode))throw new js.ErrnoError(31);if(!r.stream_ops.read)throw new js.ErrnoError(28);var a=void 0!==o;if(a){if(!r.seekable)throw new js.ErrnoError(70)}else o=r.position;var i=r.stream_ops.read(r,e,t,n,o);return a||(r.position+=i),i},write:(r,e,t,n,o,a)=>{if(n<0||o<0)throw new js.ErrnoError(28);if(js.isClosed(r))throw new js.ErrnoError(8);if(!(2097155&r.flags))throw new js.ErrnoError(8);if(js.isDir(r.node.mode))throw new js.ErrnoError(31);if(!r.stream_ops.write)throw new js.ErrnoError(28);r.seekable&&1024&r.flags&&js.llseek(r,0,2);var i=void 0!==o;if(i){if(!r.seekable)throw new js.ErrnoError(70)}else o=r.position;var s=r.stream_ops.write(r,e,t,n,o,a);return i||(r.position+=s),s},allocate:(r,e,t)=>{if(js.isClosed(r))throw new js.ErrnoError(8);if(e<0||t<=0)throw new js.ErrnoError(28);if(!(2097155&r.flags))throw new js.ErrnoError(8);if(!js.isFile(r.node.mode)&&!js.isDir(r.node.mode))throw new js.ErrnoError(43);if(!r.stream_ops.allocate)throw new js.ErrnoError(138);r.stream_ops.allocate(r,e,t)},mmap:(r,e,t,n,o)=>{if(2&n&&!(2&o)&&2!=(2097155&r.flags))throw new js.ErrnoError(2);if(1==(2097155&r.flags))throw new js.ErrnoError(2);if(!r.stream_ops.mmap)throw new js.ErrnoError(43);return r.stream_ops.mmap(r,e,t,n,o)},msync:(r,e,t,n,o)=>r.stream_ops.msync?r.stream_ops.msync(r,e,t,n,o):0,munmap:r=>0,ioctl:(r,e,t)=>{if(!r.stream_ops.ioctl)throw new js.ErrnoError(59);return r.stream_ops.ioctl(r,e,t)},readFile:(r,e={})=>{if(e.flags=e.flags||0,e.encoding=e.encoding||"binary","utf8"!==e.encoding&&"binary"!==e.encoding)throw new Error(`Invalid encoding type "${e.encoding}"`);var t,n=js.open(r,e.flags),o=js.stat(r).size,a=new Uint8Array(o);return js.read(n,a,0,o,0),"utf8"===e.encoding?t=Pe(a,0):"binary"===e.encoding&&(t=a),js.close(n),t},writeFile:(r,e,t={})=>{t.flags=t.flags||577;var n=js.open(r,t.flags,t.mode);if("string"==typeof e){var o=new Uint8Array(_e(e)+1),a=Ee(e,o,0,o.length);js.write(n,o,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(e))throw new Error("Unsupported data type");js.write(n,e,0,e.byteLength,void 0,t.canOwn)}js.close(n)},cwd:()=>js.currentPath,chdir:r=>{var e=js.lookupPath(r,{follow:!0});if(null===e.node)throw new js.ErrnoError(44);if(!js.isDir(e.node.mode))throw new js.ErrnoError(54);var t=js.nodePermissions(e.node,"x");if(t)throw new js.ErrnoError(t);js.currentPath=e.path},createDefaultDirectories:()=>{js.mkdir("/tmp"),js.mkdir("/home"),js.mkdir("/home/web_user")},createDefaultDevices:()=>{js.mkdir("/dev"),js.registerDevice(js.makedev(1,3),{read:()=>0,write:(r,e,t,n,o)=>n}),js.mkdev("/dev/null",js.makedev(1,3)),Ds.register(js.makedev(5,0),Ds.default_tty_ops),Ds.register(js.makedev(6,0),Ds.default_tty1_ops),js.mkdev("/dev/tty",js.makedev(5,0)),js.mkdev("/dev/tty1",js.makedev(6,0));var r=new Uint8Array(1024),e=0,t=()=>(0===e&&(e=Bs(r).byteLength),r[--e]);js.createDevice("/dev","random",t),js.createDevice("/dev","urandom",t),js.mkdir("/dev/shm"),js.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{js.mkdir("/proc");var r=js.mkdir("/proc/self");js.mkdir("/proc/self/fd"),js.mount({mount:()=>{var e=js.createNode(r,"fd",16895,73);return e.node_ops={lookup:(r,e)=>{var t=+e,n=js.getStream(t);if(!n)throw new js.ErrnoError(8);var o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},e}},{},"/proc/self/fd")},createStandardStreams:()=>{a.stdin?js.createDevice("/dev","stdin",a.stdin):js.symlink("/dev/tty","/dev/stdin"),a.stdout?js.createDevice("/dev","stdout",null,a.stdout):js.symlink("/dev/tty","/dev/stdout"),a.stderr?js.createDevice("/dev","stderr",null,a.stderr):js.symlink("/dev/tty1","/dev/stderr");js.open("/dev/stdin",0),js.open("/dev/stdout",1),js.open("/dev/stderr",1)},ensureErrnoError:()=>{js.ErrnoError||(js.ErrnoError=function(r,e){this.name="ErrnoError",this.node=e,this.setErrno=function(r){this.errno=r},this.setErrno(r),this.message="FS error"},js.ErrnoError.prototype=new Error,js.ErrnoError.prototype.constructor=js.ErrnoError,[44].forEach(r=>{js.genericErrors[r]=new js.ErrnoError(r),js.genericErrors[r].stack="<generic error, no stack>"}))},staticInit:()=>{js.ensureErrnoError(),js.nameTable=new Array(4096),js.mount(Ms,{},"/"),js.createDefaultDirectories(),js.createDefaultDevices(),js.createSpecialDirectories(),js.filesystems={MEMFS:Ms}},init:(r,e,t)=>{js.init.initialized=!0,js.ensureErrnoError(),a.stdin=r||a.stdin,a.stdout=e||a.stdout,a.stderr=t||a.stderr,js.createStandardStreams()},quit:()=>{js.init.initialized=!1;for(var r=0;r<js.streams.length;r++){var e=js.streams[r];e&&js.close(e)}},findObject:(r,e)=>{var t=js.analyzePath(r,e);return t.exists?t.object:null},analyzePath:(r,e)=>{try{r=(n=js.lookupPath(r,{follow:!e})).path}catch(r){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=js.lookupPath(r,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=Ts.basename(r),n=js.lookupPath(r,{follow:!e}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(r){t.error=r.errno}return t},createPath:(r,e,t,n)=>{r="string"==typeof r?r:js.getPath(r);for(var o=e.split("/").reverse();o.length;){var a=o.pop();if(a){var i=Ts.join2(r,a);try{js.mkdir(i)}catch(r){}r=i}}return i},createFile:(r,e,t,n,o)=>{var a=Ts.join2("string"==typeof r?r:js.getPath(r),e),i=Ls(n,o);return js.create(a,i)},createDataFile:(r,e,t,n,o,a)=>{var i=e;r&&(r="string"==typeof r?r:js.getPath(r),i=e?Ts.join2(r,e):r);var s=Ls(n,o),u=js.create(i,s);if(t){if("string"==typeof t){for(var f=new Array(t.length),c=0,l=t.length;c<l;++c)f[c]=t.charCodeAt(c);t=f}js.chmod(u,146|s);var d=js.open(u,577);js.write(d,t,0,t.length,0,a),js.close(d),js.chmod(u,s)}return u},createDevice:(r,e,t,n)=>{var o=Ts.join2("string"==typeof r?r:js.getPath(r),e),a=Ls(!!t,!!n);js.createDevice.major||(js.createDevice.major=64);var i=js.makedev(js.createDevice.major++,0);return js.registerDevice(i,{open:r=>{r.seekable=!1},close:r=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(r,e,n,o,a)=>{for(var i=0,s=0;s<o;s++){var u;try{u=t()}catch(r){throw new js.ErrnoError(29)}if(void 0===u&&0===i)throw new js.ErrnoError(6);if(null==u)break;i++,e[n+s]=u}return i&&(r.node.timestamp=Date.now()),i},write:(r,e,t,o,a)=>{for(var i=0;i<o;i++)try{n(e[t+i])}catch(r){throw new js.ErrnoError(29)}return o&&(r.node.timestamp=Date.now()),i}}),js.mkdev(o,a,i)},forceLoadFile:r=>{if(r.isDevice||r.isFolder||r.link||r.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!i)throw new Error("Cannot load without read() or XMLHttpRequest.");try{r.contents=$s(i(r.url),!0),r.usedBytes=r.contents.length}catch(r){throw new js.ErrnoError(29)}},createLazyFile:(r,e,t,n,o)=>{function a(){this.lengthKnown=!1,this.chunks=[]}if(a.prototype.get=function(r){if(!(r>this.length-1||r<0)){var e=r%this.chunkSize,t=r/this.chunkSize|0;return this.getter(t)[e]}},a.prototype.setDataGetter=function(r){this.getter=r},a.prototype.cacheLength=function(){var r=new XMLHttpRequest;if(r.open("HEAD",t,!1),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw new Error("Couldn't load "+t+". Status: "+r.status);var e,n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,i=1048576;o||(i=n);var s=this;s.setDataGetter(r=>{var e=r*i,o=(r+1)*i-1;if(o=Math.min(o,n-1),void 0===s.chunks[r]&&(s.chunks[r]=((r,e)=>{if(r>e)throw new Error("invalid range ("+r+", "+e+") or no bytes requested!");if(e>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+r+"-"+e),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):$s(o.responseText||"",!0)})(e,o)),void 0===s.chunks[r])throw new Error("doXHR failed!");return s.chunks[r]}),!a&&n||(i=n=1,n=this.getter(0).length,i=n,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!m)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var i=new a;Object.defineProperties(i,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:i}}else s={isDevice:!1,url:t};var u=js.createFile(r,e,s,n,o);s.contents?u.contents=s.contents:s.url&&(u.contents=null,u.url=s.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var f={};function c(r,e,t,n,o){var a=r.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s<i;s++)e[t+s]=a[o+s];else for(s=0;s<i;s++)e[t+s]=a.get(o+s);return i}return Object.keys(u.stream_ops).forEach(r=>{var e=u.stream_ops[r];f[r]=function(){return js.forceLoadFile(u),e.apply(null,arguments)}}),f.read=(r,e,t,n,o)=>(js.forceLoadFile(u),c(r,e,t,n,o)),f.mmap=(r,e,t,n,o)=>{js.forceLoadFile(u);var a=Fs();if(!a)throw new js.ErrnoError(48);return c(r,_,a,e,t),{ptr:a,allocated:!0}},u.stream_ops=f,u}},Rs={DEFAULT_POLLMASK:5,calculateAt:function(r,e,t){if(Ts.isAbs(e))return e;var n;-100===r?n=js.cwd():n=Rs.getStreamFromFD(r).path;if(0==e.length){if(!t)throw new js.ErrnoError(44);return n}return Ts.join2(n,e)},doStat:function(r,e,t){try{var n=r(e)}catch(r){if(r&&r.node&&Ts.normalize(e)!==Ts.normalize(js.getPath(r.node)))return-54;throw r}A[t>>2]=n.dev,A[t+8>>2]=n.ino,A[t+12>>2]=n.mode,T[t+16>>2]=n.nlink,A[t+20>>2]=n.uid,A[t+24>>2]=n.gid,A[t+28>>2]=n.rdev,X=[n.size>>>0,(Q=n.size,+Math.abs(Q)>=1?Q>0?+Math.floor(Q/4294967296)>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],A[t+40>>2]=X[0],A[t+44>>2]=X[1],A[t+48>>2]=4096,A[t+52>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return X=[Math.floor(o/1e3)>>>0,(Q=Math.floor(o/1e3),+Math.abs(Q)>=1?Q>0?+Math.floor(Q/4294967296)>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],A[t+56>>2]=X[0],A[t+60>>2]=X[1],T[t+64>>2]=o%1e3*1e3,X=[Math.floor(a/1e3)>>>0,(Q=Math.floor(a/1e3),+Math.abs(Q)>=1?Q>0?+Math.floor(Q/4294967296)>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],A[t+72>>2]=X[0],A[t+76>>2]=X[1],T[t+80>>2]=a%1e3*1e3,X=[Math.floor(i/1e3)>>>0,(Q=Math.floor(i/1e3),+Math.abs(Q)>=1?Q>0?+Math.floor(Q/4294967296)>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],A[t+88>>2]=X[0],A[t+92>>2]=X[1],T[t+96>>2]=i%1e3*1e3,X=[n.ino>>>0,(Q=n.ino,+Math.abs(Q)>=1?Q>0?+Math.floor(Q/4294967296)>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],A[t+104>>2]=X[0],A[t+108>>2]=X[1],0},doMsync:function(r,e,t,n,o){if(!js.isFile(e.node.mode))throw new js.ErrnoError(43);if(2&n)return 0;var a=k.slice(r,r+t);js.msync(e,a,o,t,n)},varargs:void 0,get:function(){return Rs.varargs+=4,A[Rs.varargs-4>>2]},getStr:function(r){return Ce(r)},getStreamFromFD:function(r){var e=js.getStream(r);if(!e)throw new js.ErrnoError(8);return e}};function Vs(r){x||(a.onExit&&a.onExit(r),D=!0),l(r,new rr(r))}var Os=function(r,e){Vs(r)};function Us(r){return r%4==0&&(r%100!=0||r%400==0)}var Ns,Ws=[31,29,31,30,31,30,31,31,30,31,30,31],zs=[31,28,31,30,31,30,31,31,30,31,30,31];function Gs(r,e,t,n){var o=A[n+40>>2],a={tm_sec:A[n>>2],tm_min:A[n+4>>2],tm_hour:A[n+8>>2],tm_mday:A[n+12>>2],tm_mon:A[n+16>>2],tm_year:A[n+20>>2],tm_wday:A[n+24>>2],tm_yday:A[n+28>>2],tm_isdst:A[n+32>>2],tm_gmtoff:A[n+36>>2],tm_zone:o?Ce(o):""},i=Ce(t),s={"%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 u in s)i=i.replace(new RegExp(u,"g"),s[u]);var f=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function l(r,e,t){for(var n="number"==typeof r?r.toString():r||"";n.length<e;)n=t[0]+n;return n}function d(r,e){return l(r,e,"0")}function m(r,e){function t(r){return r<0?-1:r>0?1:0}var n;return 0===(n=t(r.getFullYear()-e.getFullYear()))&&0===(n=t(r.getMonth()-e.getMonth()))&&(n=t(r.getDate()-e.getDate())),n}function v(r){switch(r.getDay()){case 0:return new Date(r.getFullYear()-1,11,29);case 1:return r;case 2:return new Date(r.getFullYear(),0,3);case 3:return new Date(r.getFullYear(),0,2);case 4:return new Date(r.getFullYear(),0,1);case 5:return new Date(r.getFullYear()-1,11,31);case 6:return new Date(r.getFullYear()-1,11,30)}}function p(r){var e=function(r,e){for(var t=new Date(r.getTime());e>0;){var n=Us(t.getFullYear()),o=t.getMonth(),a=(n?Ws:zs)[o];if(!(e>a-t.getDate()))return t.setDate(t.getDate()+e),t;e-=a-t.getDate()+1,t.setDate(1),o<11?t.setMonth(o+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t}(new Date(r.tm_year+1900,0,1),r.tm_yday),t=new Date(e.getFullYear(),0,4),n=new Date(e.getFullYear()+1,0,4),o=v(t),a=v(n);return m(o,e)<=0?m(a,e)<=0?e.getFullYear()+1:e.getFullYear():e.getFullYear()-1}var h={"%a":function(r){return f[r.tm_wday].substring(0,3)},"%A":function(r){return f[r.tm_wday]},"%b":function(r){return c[r.tm_mon].substring(0,3)},"%B":function(r){return c[r.tm_mon]},"%C":function(r){return d((r.tm_year+1900)/100|0,2)},"%d":function(r){return d(r.tm_mday,2)},"%e":function(r){return l(r.tm_mday,2," ")},"%g":function(r){return p(r).toString().substring(2)},"%G":function(r){return p(r)},"%H":function(r){return d(r.tm_hour,2)},"%I":function(r){var e=r.tm_hour;return 0==e?e=12:e>12&&(e-=12),d(e,2)},"%j":function(r){return d(r.tm_mday+function(r,e){for(var t=0,n=0;n<=e;t+=r[n++]);return t}(Us(r.tm_year+1900)?Ws:zs,r.tm_mon-1),3)},"%m":function(r){return d(r.tm_mon+1,2)},"%M":function(r){return d(r.tm_min,2)},"%n":function(){return"\n"},"%p":function(r){return r.tm_hour>=0&&r.tm_hour<12?"AM":"PM"},"%S":function(r){return d(r.tm_sec,2)},"%t":function(){return"\t"},"%u":function(r){return r.tm_wday||7},"%U":function(r){var e=r.tm_yday+7-r.tm_wday;return d(Math.floor(e/7),2)},"%V":function(r){var e=Math.floor((r.tm_yday+7-(r.tm_wday+6)%7)/7);if((r.tm_wday+371-r.tm_yday-2)%7<=2&&e++,e){if(53==e){var t=(r.tm_wday+371-r.tm_yday)%7;4==t||3==t&&Us(r.tm_year)||(e=1)}}else{e=52;var n=(r.tm_wday+7-r.tm_yday-1)%7;(4==n||5==n&&Us(r.tm_year%400-1))&&e++}return d(e,2)},"%w":function(r){return r.tm_wday},"%W":function(r){var e=r.tm_yday+7-(r.tm_wday+6)%7;return d(Math.floor(e/7),2)},"%y":function(r){return(r.tm_year+1900).toString().substring(2)},"%Y":function(r){return r.tm_year+1900},"%z":function(r){var e=r.tm_gmtoff,t=e>=0;return e=(e=Math.abs(e)/60)/60*100+e%60,(t?"+":"-")+String("0000"+e).slice(-4)},"%Z":function(r){return r.tm_zone},"%%":function(){return"%"}};for(var u in i=i.replace(/%%/g,"\0\0"),h)i.includes(u)&&(i=i.replace(new RegExp(u,"g"),h[u](a)));var g,y,b=$s(i=i.replace(/\0\0/g,"%"),!1);return b.length>e?0:(g=b,y=r,_.set(g,y),b.length-1)}dr=a.InternalError=lr(Error,"InternalError"),function(){for(var r=new Array(256),e=0;e<256;++e)r[e]=String.fromCharCode(e);hr=r}(),yr=a.BindingError=lr(Error,"BindingError"),Wr.prototype.isAliasOf=Er,Wr.prototype.clone=Vr,Wr.prototype.delete=Or,Wr.prototype.isDeleted=Ur,Wr.prototype.deleteLater=Nr,a.getInheritedInstanceCount=Tr,a.getLiveInheritedInstances=Br,a.flushPendingDeletes=$r,a.setDelayFunction=Fr,re.prototype.getPointee=Zr,re.prototype.destructor=Jr,re.prototype.argPackAdvance=8,re.prototype.readValueFromPointer=ar,re.prototype.deleteObject=Kr,re.prototype.fromWireType=jr,ae=a.UnboundTypeError=lr(Error,"UnboundTypeError"),de.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),de.reserved=de.allocated.length,a.count_emval_handles=ve;for(var Hs=0;Hs<32;++Hs)fn.push(new Array(Hs));var qs=new Float32Array(288);for(Hs=0;Hs<288;++Hs)bi[Hs]=qs.subarray(0,Hs+1);var Qs=new Int32Array(288);for(Hs=0;Hs<288;++Hs)xi[Hs]=Qs.subarray(0,Hs+1);var Xs=function(r,e,t,n){r||(r=this),this.parent=r,this.mount=r.mount,this.mounted=null,this.id=js.nextInode++,this.name=e,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n},Ys=365,Zs=146;Object.defineProperties(Xs.prototype,{read:{get:function(){return(this.mode&Ys)===Ys},set:function(r){r?this.mode|=Ys:this.mode&=-366}},write:{get:function(){return(this.mode&Zs)===Zs},set:function(r){r?this.mode|=Zs:this.mode&=-147}},isFolder:{get:function(){return js.isDir(this.mode)}},isDevice:{get:function(){return js.isChrdev(this.mode)}}}),js.FSNode=Xs,js.createPreloadedFile=function(r,e,t,n,o,a,i,u,f,c){var l=e?Ss.resolve(Ts.join2(r,e)):r;function d(t){function s(t){c&&c(),u||js.createDataFile(r,e,t,n,o,f),a&&a(),z()}(function(r,e,t,n){"undefined"!=typeof Browser&&Browser.init();var o=!1;return Is.forEach(function(a){o||a.canHandle(e)&&(a.handle(r,e,t,n),o=!0)}),o})(t,l,s,()=>{i&&i(),z()})||s(t)}W(),"string"==typeof t?function(r,e,t,n){var o=n?"":`al ${r}`;s(r,t=>{F(t,`Loading data file "${r}" failed (no arrayBuffer).`),e(new Uint8Array(t)),o&&z()},e=>{if(!t)throw`Loading data file "${r}" failed.`;t()}),o&&W()}(t,r=>d(r),i):d(t)},js.staticInit();var Js,Ks={v:function(r,e,t){throw new tr(r).init(e,t),r},Fa:function(r){var e=nr[r];delete nr[r];var t=e.rawConstructor,n=e.rawDestructor,o=e.fields;vr([r],o.map(r=>r.getterReturnType).concat(o.map(r=>r.setterArgumentType)),r=>{var a={};return o.forEach((e,t)=>{var n=e.fieldName,i=r[t],s=e.getter,u=e.getterContext,f=r[t+o.length],c=e.setter,l=e.setterContext;a[n]={read:r=>i.fromWireType(s(u,r)),write:(r,e)=>{var t=[];c(l,r,f.toWireType(t,e)),or(t)}}}),[{name:e.name,fromWireType:function(r){var e={};for(var t in a)e[t]=a[t].read(r);return n(r),e},toWireType:function(r,e){for(var o in a)if(!(o in e))throw new TypeError(`Missing field: "${o}"`);var i=t();for(o in a)a[o].write(i,e[o]);return null!==r&&r.push(n,i),i},argPackAdvance:8,readValueFromPointer:ar,destructorFunction:n}]})},Oa:function(r,e,t,n,o){},Rb:function(r,e,t,n,o){var a=pr(t);wr(r,{name:e=gr(e),fromWireType:function(r){return!!r},toWireType:function(r,e){return e?n:o},argPackAdvance:8,readValueFromPointer:function(r){var n;if(1===t)n=_;else if(2===t)n=P;else{if(4!==t)throw new TypeError("Unknown boolean type size: "+e);n=A}return this.fromWireType(n[r>>a])},destructorFunction:null})},ua:function(r,e,t,n,o,i,s,u,f,c,l,d,m){l=gr(l),i=oe(o,i),u&&(u=oe(s,u)),c&&(c=oe(f,c)),m=oe(d,m);var v=fr(l);Gr(v,function(){se(`Cannot construct ${l} due to unbound types`,[n])}),vr([r,e,t],n?[n]:[],function(e){var t,o;e=e[0],o=n?(t=e.registeredClass).instancePrototype:Wr.prototype;var s=cr(v,function(){if(Object.getPrototypeOf(this)!==f)throw new yr("Use 'new' to construct "+l);if(void 0===d.constructor_body)throw new yr(l+" has no accessible constructor");var r=d.constructor_body[arguments.length];if(void 0===r)throw new yr(`Tried to invoke ctor of ${l} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return r.apply(this,arguments)}),f=Object.create(o,{constructor:{value:s}});s.prototype=f;var d=new Hr(l,s,f,m,t,i,u,c);d.baseClass&&(void 0===d.baseClass.__derivedClasses&&(d.baseClass.__derivedClasses=[]),d.baseClass.__derivedClasses.push(d));var p=new re(l,d,!0,!1,!1),h=new re(l+"*",d,!1,!1,!1),g=new re(l+" const*",d,!1,!0,!1);return Ar[r]={pointerType:h,constPointerType:g},function(r,e,t){a.hasOwnProperty(r)||mr("Replacing nonexistant public symbol"),void 0!==a[r].overloadTable&&void 0!==t?a[r].overloadTable[t]=e:(a[r]=e,a[r].argCount=t)}(v,s),[p,h,g]})},ja:function(r,e,t,n,o,a){F(e>0);var i=ue(e,t);o=oe(n,o),vr([],[r],function(r){var t=`constructor ${(r=r[0]).name}`;if(void 0===r.registeredClass.constructor_body&&(r.registeredClass.constructor_body=[]),void 0!==r.registeredClass.constructor_body[e-1])throw new yr(`Cannot register multiple constructors with identical number of parameters (${e-1}) for class '${r.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return r.registeredClass.constructor_body[e-1]=()=>{se(`Cannot construct ${r.name} due to unbound types`,i)},vr([],i,function(n){return n.splice(1,0,null),r.registeredClass.constructor_body[e-1]=ce(t,n,null,o,a),[]}),[]})},r:function(r,e,t,n,o,a,i,s,u){var f=ue(t,n);e=gr(e),a=oe(o,a),vr([],[r],function(r){var n=`${(r=r[0]).name}.${e}`;function o(){se(`Cannot call ${n} due to unbound types`,f)}e.startsWith("@@")&&(e=Symbol[e.substring(2)]),s&&r.registeredClass.pureVirtualFunctions.push(e);var c=r.registeredClass.instancePrototype,l=c[e];return void 0===l||void 0===l.overloadTable&&l.className!==r.name&&l.argCount===t-2?(o.argCount=t-2,o.className=r.name,c[e]=o):(zr(c,e,n),c[e].overloadTable[t-2]=o),vr([],f,function(o){var s=ce(n,o,r,a,i,u);return void 0===c[e].overloadTable?(s.argCount=t-2,c[e]=s):c[e].overloadTable[t-2]=s,[]}),[]})},f:function(r,e,t,n,o,a,i,s,u,f){e=gr(e),o=oe(n,o),vr([],[r],function(r){var n=`${(r=r[0]).name}.${e}`,c={get:function(){se(`Cannot access ${n} due to unbound types`,[t,i])},enumerable:!0,configurable:!0};return c.set=u?()=>{se(`Cannot access ${n} due to unbound types`,[t,i])}:r=>{br(n+" is a read-only property")},Object.defineProperty(r.registeredClass.instancePrototype,e,c),vr([],u?[t,i]:[t],function(t){var i=t[0],c={get:function(){var e=le(this,r,n+" getter");return i.fromWireType(o(a,e))},enumerable:!0};if(u){u=oe(s,u);var l=t[1];c.set=function(e){var t=le(this,r,n+" setter"),o=[];u(f,t,l.toWireType(o,e)),or(o)}}return Object.defineProperty(r.registeredClass.instancePrototype,e,c),[]}),[]})},Va:function(r,e){wr(r,{name:e=gr(e),fromWireType:function(r){var e=pe.toValue(r);return me(r),e},toWireType:function(r,e){return pe.toHandle(e)},argPackAdvance:8,readValueFromPointer:ar,destructorFunction:null})},g:function(r,e,t,n){var o=pr(t);function a(){}e=gr(e),a.values={},wr(r,{name:e,constructor:a,fromWireType:function(r){return this.constructor.values[r]},toWireType:function(r,e){return e.value},argPackAdvance:8,readValueFromPointer:he(e,o,n),destructorFunction:null}),Gr(e,a)},a:function(r,e,t){var n=ge(r,"enum");e=gr(e);var o=n.constructor,a=Object.create(n.constructor.prototype,{value:{value:t},constructor:{value:cr(`${n.name}_${e}`,function(){})}});o.values[t]=a,o[e]=a},u:function(r,e,t){var n=pr(t);wr(r,{name:e=gr(e),fromWireType:function(r){return r},toWireType:function(r,e){return e},argPackAdvance:8,readValueFromPointer:be(e,n),destructorFunction:null})},d:function(r,e,t,n,o){e=gr(e),-1===o&&(o=4294967295);var a=pr(t),i=r=>r;if(0===n){var s=32-8*t;i=r=>r<<s>>>s}var u=e.includes("unsigned");wr(r,{name:e,fromWireType:i,toWireType:u?function(r,e){return this.name,e>>>0}:function(r,e){return this.name,e},argPackAdvance:8,readValueFromPointer:we(e,a,0!==n),destructorFunction:null})},c:function(r,e,t){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];function o(r){var e=T,t=e[r>>=2],o=e[r+1];return new n(e.buffer,o,t)}wr(r,{name:t=gr(t),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},t:function(r,e){var t="std::string"===(e=gr(e));wr(r,{name:e,fromWireType:function(r){var e,n=T[r>>2],o=r+4;if(t)for(var a=o,i=0;i<=n;++i){var s=o+i;if(i==n||0==k[s]){var u=Ce(a,s-a);void 0===e?e=u:(e+=String.fromCharCode(0),e+=u),a=s+1}}else{var f=new Array(n);for(i=0;i<n;++i)f[i]=String.fromCharCode(k[o+i]);e=f.join("")}return ru(r),e},toWireType:function(r,e){var n;e instanceof ArrayBuffer&&(e=new Uint8Array(e));var o="string"==typeof e;o||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||br("Cannot pass non-string to std::string"),n=t&&o?_e(e):e.length;var a=eu(4+n+1),i=a+4;if(T[a>>2]=n,t&&o)xe(e,i,n+1);else if(o)for(var s=0;s<n;++s){var u=e.charCodeAt(s);u>255&&(ru(i),br("String has UTF-16 code units that do not fit in 8 bits")),k[i+s]=u}else for(s=0;s<n;++s)k[i+s]=e[s];return null!==r&&r.push(ru,a),a},argPackAdvance:8,readValueFromPointer:ar,destructorFunction:function(r){ru(r)}})},l:function(r,e,t){var n,o,a,i,s;t=gr(t),2===e?(n=Te,o=Be,i=Se,a=()=>C,s=1):4===e&&(n=$e,o=De,i=Fe,a=()=>T,s=2),wr(r,{name:t,fromWireType:function(r){for(var t,o=T[r>>2],i=a(),u=r+4,f=0;f<=o;++f){var c=r+4+f*e;if(f==o||0==i[c>>s]){var l=n(u,c-u);void 0===t?t=l:(t+=String.fromCharCode(0),t+=l),u=c+e}}return ru(r),t},toWireType:function(r,n){"string"!=typeof n&&br(`Cannot pass non-string to C++ string type ${t}`);var a=i(n),u=eu(4+a+e);return T[u>>2]=a>>s,o(n,u+4,a+e),null!==r&&r.push(ru,u),u},argPackAdvance:8,readValueFromPointer:ar,destructorFunction:function(r){ru(r)}})},Zc:function(r,e,t,n,o,a){nr[r]={name:gr(e),rawConstructor:oe(t,n),rawDestructor:oe(o,a),fields:[]}},m:function(r,e,t,n,o,a,i,s,u,f){nr[r].fields.push({fieldName:gr(e),getterReturnType:t,getter:oe(n,o),getterContext:a,setterArgumentType:i,setter:oe(s,u),setterContext:f})},ac:function(r,e){wr(r,{isVoid:!0,name:e=gr(e),argPackAdvance:0,fromWireType:function(){},toWireType:function(r,e){}})},k:function(r,e,t){r=pe.toValue(r),e=ge(e,"emval::as");var n=[],o=pe.toHandle(n);return T[t>>2]=o,e.toWireType(n,r)},td:function(r,e,t,n){(r=Le[r])(e=pe.toValue(e),t=Ie(t),null,n)},b:me,Ed:function(r,e){var t=function(r,e){for(var t=new Array(r),n=0;n<r;++n)t[n]=ge(T[e+4*n>>2],"parameter "+n);return t}(r,e),n=t[0],o=n.name+"_$"+t.slice(1).map(function(r){return r.name}).join("_")+"$",a=je[o];if(void 0!==a)return a;for(var i=["retType"],s=[n],u="",f=0;f<r-1;++f)u+=(0!==f?", ":"")+"arg"+f,i.push("argType"+f),s.push(t[1+f]);var c="return function "+fr("methodCaller_"+o)+"(handle, name, destructors, args) {\n",l=0;for(f=0;f<r-1;++f)c+=" var arg"+f+" = argType"+f+".readValueFromPointer(args"+(l?"+"+l:"")+");\n",l+=t[f+1].argPackAdvance;for(c+=" var rv = handle[name]("+u+");\n",f=0;f<r-1;++f)t[f+1].deleteObject&&(c+=" argType"+f+".deleteObject(arg"+f+");\n");n.isVoid||(c+=" return retType.toWireType(destructors, rv);\n"),c+="};\n",i.push(c);var d,m,v=fe(Function,i).apply(null,s);return d=v,m=Le.length,Le.push(d),a=m,je[o]=a,a},w:function(r){return r=Ie(r),pe.toHandle(a[r])},h:function(r,e){return r=pe.toValue(r),e=pe.toValue(e),pe.toHandle(r[e])},q:function(r){r>4&&(de.get(r).refcount+=1)},Pd:function(r,e,t,n){r=pe.toValue(r);var o=Re[e];return o||(o=function(r){for(var e="",t=0;t<r;++t)e+=(0!==t?", ":"")+"arg"+t;var n="return function emval_allocator_"+r+"(constructor, argTypes, args) {\n var HEAPU32 = getMemory();\n";for(t=0;t<r;++t)n+="var argType"+t+" = requireRegisteredType(HEAPU32[((argTypes)>>2)], 'parameter "+t+"');\nvar arg"+t+" = argType"+t+".readValueFromPointer(args);\nargs += argType"+t+"['argPackAdvance'];\nargTypes += 4;\n";return n+="var obj = new constructor("+e+");\nreturn valueToHandle(obj);\n}\n",new Function("requireRegisteredType","Module","valueToHandle","getMemory",n)(ge,a,pe.toHandle,()=>T)}(e),Re[e]=o),o(r,t,n)},e:function(r){return pe.toHandle(Ie(r))},id:function(){return pe.toHandle({})},j:function(r){or(pe.toValue(r)),me(r)},o:function(r,e,t){r=pe.toValue(r),e=pe.toValue(e),t=pe.toValue(t),r[e]=t},p:function(r,e){var t=(r=ge(r,"_emval_take_value")).readValueFromPointer(e);return pe.toHandle(t)},i:function(){G("")},ra:Oe,qa:Ue,Qc:Ne,Ja:We,tc:ze,pa:Ge,oa:He,qc:qe,rc:Qe,na:Xe,ma:Ye,wb:Ze,la:Je,ob:Ke,yc:et,Aa:tt,ka:nt,ia:ot,ha:at,ga:it,fa:st,Dc:ut,ea:ft,da:ct,ca:lt,ba:dt,Ub:mt,Vb:vt,Xb:pt,Wb:ht,aa:gt,$:yt,_:bt,Fb:Et,Z:xt,Y:_t,X:kt,Vc:Pt,W:Ct,Uc:At,Sb:Tt,V:Bt,U:St,Wc:$t,T:Dt,S:Ft,R:Mt,Q:It,P:Lt,O:jt,Sc:Rt,La:Vt,N:Ot,yb:Ut,M:Nt,Gb:Wt,L:zt,nb:Gt,xc:qt,za:Qt,K:Xt,J:Yt,I:Zt,H:Jt,G:Kt,F:rn,E:en,Kb:nn,va:on,Za:an,cd:sn,_a:un,Kc:ln,ad:dn,wa:mn,D:pn,Jb:gn,ta:yn,Xa:bn,Ya:wn,bd:En,_c:xn,C:_n,B:kn,Pc:Pn,Ia:Cn,sc:An,Ib:Tn,A:Bn,z:Sn,zc:Fn,y:Mn,x:In,Bc:Ln,Ve:jn,Ue:Vn,Se:On,Tc:Un,Ma:Nn,Re:Wn,zb:zn,Qe:Gn,mb:Hn,wc:Qn,ya:Xn,Te:Yn,Pe:Jn,Oe:Kn,Mb:ro,Nb:eo,Pb:to,Ne:no,Me:oo,Le:so,Ab:uo,Ke:fo,Lc:co,Je:lo,Ie:mo,fc:vo,He:po,Bb:go,Db:yo,uc:bo,Ge:wo,bb:Eo,ib:xo,Ee:_o,Fe:ko,Ca:Co,Ea:To,Ba:Bo,Nc:So,Da:$o,Oc:Do,Ga:Fo,De:Mo,qb:Io,rb:Lo,Be:jo,Ae:Ro,ze:Vo,Ce:Oo,ye:No,Tb:Wo,Cb:zo,xe:Go,we:Ho,oc:qo,Ob:Qo,Qb:Xo,te:Jo,ve:ea,ue:ta,gc:na,mc:ia,lc:sa,qe:ua,se:fa,re:ca,pe:la,fb:da,eb:ma,oe:va,ne:pa,me:ha,le:ga,Rc:ya,Ka:ba,ke:wa,xb:Ea,je:xa,Hb:_a,ie:ka,lb:Pa,vc:Aa,xa:Ta,he:Ba,ge:Sa,Ac:$a,kb:Da,fe:Fa,ee:Ma,hb:Ia,gb:La,Ha:ja,$c:Ra,de:Na,ce:Wa,be:za,Cc:Ga,jb:Ha,ae:qa,tb:Qa,sb:Xa,vb:Ya,ub:Za,$d:Ja,_d:Ka,Zd:ri,Yd:ei,Xd:ti,Wd:ni,Vd:oi,Ud:ai,Td:ii,Sd:si,Yc:ui,Rd:fi,Qd:ci,Od:li,Nd:di,db:mi,cb:vi,Md:pi,Xc:hi,pc:gi,Ld:yi,Kd:wi,Jd:Ei,Id:_i,ec:ki,$b:Pi,Hd:Ci,Gd:Ai,Fd:Ti,Dd:Bi,dc:Si,_b:$i,Cd:Di,Bd:Fi,Ad:Mi,zd:Ii,cc:Li,Zb:ji,yd:Ri,xd:Vi,wd:Oi,vd:Ui,bc:Ni,Yb:Wi,Lb:zi,ud:Gi,Jc:Hi,Hc:qi,sd:Qi,Ic:Xi,Fc:Yi,rd:Zi,Gc:Ji,Ec:Ki,Mc:rs,qd:es,pd:ts,od:ns,nd:os,md:as,ld:is,kd:ss,jd:us,hd:fs,gd:cs,pb:ds,sa:ms,$a:vs,dd:ps,ab:hs,kc:gs,ic:ys,jc:bs,hc:ws,nc:Es,fd:xs,ed:_s,Eb:ks,Wa:function(r,e,t){k.copyWithin(r,e,e+t)},Sa:function(r){var e=k.length,t=2147483648;if((r>>>=0)>t)return!1;for(var n=(r,e)=>r+(e-r%e)%e,o=1;o<=4;o*=2){var a=e*(1+.2/o);if(a=Math.min(a,r+100663296),Ps(Math.min(t,n(Math.max(r,a),65536))))return!0}return!1},Qa:function(r,e){var t=0;return As().forEach(function(n,o){var a=e+t;T[r+4*o>>2]=a,function(r,e){for(var t=0;t<r.length;++t)_[0|e++]=r.charCodeAt(t);_[0|e]=0}(n,a),t+=n.length+1}),0},Ra:function(r,e){var t=As();T[r>>2]=t.length;var n=0;return t.forEach(function(r){n+=r.length+1}),T[e>>2]=n,0},n:Os,Ta:function(r){try{var e=Rs.getStreamFromFD(r);return js.close(e),0}catch(r){if(void 0===js||"ErrnoError"!==r.name)throw r;return r.errno}},Ua:function(r,e,t,n){try{var o=function(r,e,t,n){for(var o=0,a=0;a<t;a++){var i=T[e>>2],s=T[e+4>>2];e+=8;var u=js.read(r,_,i,s,n);if(u<0)return-1;if(o+=u,u<s)break;void 0!==n&&(n+=u)}return o}(Rs.getStreamFromFD(r),e,t);return T[n>>2]=o,0}catch(r){if(void 0===js||"ErrnoError"!==r.name)throw r;return r.errno}},Na:function(r,e,t,n,o){try{var a=(u=t)+2097152>>>0<4194305-!!(s=e)?(s>>>0)+4294967296*u:NaN;if(isNaN(a))return 61;var i=Rs.getStreamFromFD(r);return js.llseek(i,a,n),X=[i.position>>>0,(Q=i.position,+Math.abs(Q)>=1?Q>0?+Math.floor(Q/4294967296)>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],A[o>>2]=X[0],A[o+4>>2]=X[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(r){if(void 0===js||"ErrnoError"!==r.name)throw r;return r.errno}var s,u},s:function(r,e,t,n){try{var o=function(r,e,t,n){for(var o=0,a=0;a<t;a++){var i=T[e>>2],s=T[e+4>>2];e+=8;var u=js.write(r,_,i,s,n);if(u<0)return-1;o+=u,void 0!==n&&(n+=u)}return o}(Rs.getStreamFromFD(r),e,t);return T[n>>2]=o,0}catch(r){if(void 0===js||"ErrnoError"!==r.name)throw r;return r.errno}},Pa:function(r,e,t,n,o){return Gs(r,e,t,n)}},ru=(function(){var r,e,t,o,i={a:Ks};function s(r,e){var t,n=r.exports;return a.asm=n,E=a.asm.We,M(),$=a.asm.Ye,t=a.asm.Xe,L.unshift(t),z(),n}if(W(),a.instantiateWasm)try{return a.instantiateWasm(i,s)}catch(r){w("Module.instantiateWasm callback failed with error: "+r),n(r)}(r=y,e=H,t=i,o=function(r){s(r.instance)},r||"function"!=typeof WebAssembly.instantiateStreaming||Y(e)||Z(e)||v||"function"!=typeof fetch?K(e,t,o):fetch(e,{credentials:"same-origin"}).then(r=>WebAssembly.instantiateStreaming(r,t).then(o,function(r){return w("wasm streaming compile failed: "+r),w("falling back to ArrayBuffer instantiation"),K(e,t,o)}))).catch(n)}(),function(){return(ru=a.asm.Ze).apply(null,arguments)}),eu=function(){return(eu=a.asm._e).apply(null,arguments)},tu=function(){return(tu=a.asm.$e).apply(null,arguments)},nu=(a.__embind_initialize_bindings=function(){return(a.__embind_initialize_bindings=a.asm.af).apply(null,arguments)},function(){return(nu=a.asm.bf).apply(null,arguments)});a.dynCall_iij=function(){return(a.dynCall_iij=a.asm.cf).apply(null,arguments)},a.dynCall_iiiiiijii=function(){return(a.dynCall_iiiiiijii=a.asm.df).apply(null,arguments)},a.dynCall_jiji=function(){return(a.dynCall_jiji=a.asm.ef).apply(null,arguments)},a.dynCall_viijii=function(){return(a.dynCall_viijii=a.asm.ff).apply(null,arguments)},a.dynCall_iiiiij=function(){return(a.dynCall_iiiiij=a.asm.gf).apply(null,arguments)},a.dynCall_iiiiijj=function(){return(a.dynCall_iiiiijj=a.asm.hf).apply(null,arguments)},a.dynCall_iiiiiijj=function(){return(a.dynCall_iiiiiijj=a.asm.jf).apply(null,arguments)};function ou(){function r(){Js||(Js=!0,a.calledRun=!0,D||(a.noFSInit||js.init.initialized||js.init(),js.ignorePermissions=!1,Ds.init(),er(L),t(a),a.onRuntimeInitialized&&a.onRuntimeInitialized(),function(){if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)V(a.postRun.shift());er(j)}()))}O>0||(!function(){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)R(a.preRun.shift());er(I)}(),O>0||(a.setStatus?(a.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a.setStatus("")},1),r()},1)):r()))}if(a.GL=Ve,N=function r(){Js||ou(),Js||(N=r)},a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();return ou(),r.ready};
|