UnityLoader.fd627f3dd26cb16deb4057ac27bfbc54=function(Module){var Module=void 0!==Module?Module:{};Module.preRun.push(function(){(Module.unityFileSystemInit||function(){Module.indexedDB||console.log("IndexedDB is not available. Data will not persist in cache and PlayerPrefs will not be saved."),FS.mkdir("/idbfs"),FS.mount(IDBFS,{},"/idbfs"),Module.addRunDependency("JS_FileSystem_Mount"),FS.syncfs(!0,function(e){Module.removeRunDependency("JS_FileSystem_Mount")})})()}),Module.SetFullscreen=function(e){if(void 0!==runtimeInitialized&&runtimeInitialized)if(void 0===JSEvents)console.log("Player not loaded yet.");else{var i=JSEvents.canPerformEventHandlerRequests;JSEvents.canPerformEventHandlerRequests=function(){return 1},Module.ccall("SetFullscreen",null,["number"],[e]),JSEvents.canPerformEventHandlerRequests=i}else console.log("Runtime not initialized yet.")},integrateWasmJS=function integrateWasmJS(){var method=Module.wasmJSMethod||"native-wasm";Module.wasmJSMethod=method;var wasmTextFile=Module.wasmTextFile||"build.wast",wasmBinaryFile=Module.wasmBinaryFile||"build.wasm",asmjsCodeFile=Module.asmjsCodeFile||"build.asm.js",wasmPageSize=65536,asm2wasmImports={"f64-rem":function(e,i){return e%i},"f64-to-int":function(e){return 0|e},"i32s-div":function(e,i){return(0|e)/(0|i)|0},"i32u-div":function(e,i){return(e>>>0)/(i>>>0)>>>0},"i32s-rem":function(e,i){return(0|e)%(0|i)|0},"i32u-rem":function(e,i){return(e>>>0)%(i>>>0)>>>0},debugger:function(){}},info={global:null,env:null,asm2wasm:asm2wasmImports,parent:Module},exports=null;function lookupImport(e,i){var n=info;if(e.indexOf(".")<0)n=(n||{})[e];else{var t=e.split(".");n=((n=(n||{})[t[0]])||{})[t[1]]}return i&&(n=(n||{})[i]),void 0===n&&abort("bad lookupImport to ("+e+")."+i),n}function mergeMemory(e){var i=Module.buffer;e.byteLength>2],n=i+e+15&-16;if((HEAP32[DYNAMICTOP_PTR>>2]=n,TOTAL_MEMORY<=n)&&!enlargeMemory())return HEAP32[DYNAMICTOP_PTR>>2]=i,0;return i}function alignMemory(e,i){return i=i||STACK_ALIGN,e=Math.ceil(e/i)*i}function getNativeTypeSize(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===e[e.length-1])return 4;if("i"!==e[0])return 0;var i=parseInt(e.substr(1));return assert(i%8==0),i/8}}function warnOnce(e){warnOnce.shown||(warnOnce.shown={}),warnOnce.shown[e]||(warnOnce.shown[e]=1,Module.printErr(e))}var functionPointers=new Array(0),funcWrappers={};function getFuncWrapper(i,n){if(i){assert(n),funcWrappers[n]||(funcWrappers[n]={});var e=funcWrappers[n];return e[i]||(1===n.length?e[i]=function(){return dynCall(n,i)}:2===n.length?e[i]=function(e){return dynCall(n,i,[e])}:e[i]=function(){return dynCall(n,i,Array.prototype.slice.call(arguments))}),e[i]}}function makeBigInt(e,i,n){return n?+(e>>>0)+4294967296*(i>>>0):+(e>>>0)+4294967296*(0|i)}function dynCall(e,i,n){return n&&n.length?Module["dynCall_"+e].apply(null,[i].concat(n)):Module["dynCall_"+e].call(null,i)}var GLOBAL_BASE=1024,ABORT=0,EXITSTATUS=0;function assert(e,i){e||abort("Assertion failed: "+i)}function getCFunc(e){var i=Module["_"+e];return assert(i,"Cannot call unknown function "+e+", make sure it is exported"),i}var JSfuncs={stackSave:function(){stackSave()},stackRestore:function(){stackRestore()},arrayToC:function(e){var i=stackAlloc(e.length);return writeArrayToMemory(e,i),i},stringToC:function(e){var i=0;if(null!=e&&0!==e){var n=1+(e.length<<2);stringToUTF8(e,i=stackAlloc(n),n)}return i}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};function ccall(e,i,n,t,r){var o=getCFunc(e),_=[],a=0;if(t)for(var l=0;l>0]=i;break;case"i16":HEAP16[e>>1]=i;break;case"i32":HEAP32[e>>2]=i;break;case"i64":tempI64=[i>>>0,(tempDouble=i,1<=+Math_abs(tempDouble)?0>>0:~~+Math_ceil((tempDouble-(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=i;break;case"double":HEAPF64[e>>3]=i;break;default:abort("invalid type for setValue: "+n)}}var ALLOC_NORMAL=0,ALLOC_STATIC=2,ALLOC_NONE=4;function allocate(e,i,n,t){var r,o;o="number"==typeof e?(r=!0,e):(r=!1,e.length);var _,a="string"==typeof i?i:null;if(_=n==ALLOC_NONE?t:["function"==typeof _malloc?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][void 0===n?ALLOC_STATIC:n](Math.max(o,a?1:i.length)),r){var l;for(assert(0==(3&(t=_))),l=_+(-4&o);t>2]=0;for(l=_+o;t>0]=0;return _}if("i8"===a)return e.subarray||e.slice?HEAPU8.set(e,_):HEAPU8.set(new Uint8Array(e),_),_;for(var u,s,c,f=0;f>0],(0!=n||i)&&(r++,!i||r!=i););i=i||r;var o="";if(t<128){for(var _;0>10,56320|1023&u)}else l+=String.fromCharCode((31&t)<<6|r);else l+=String.fromCharCode(t)}}function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}function stringToUTF8Array(e,i,n,t){if(!(0>6,i[n++]=128|63&a}else if(a<=65535){if(o<=n+2)break;i[n++]=224|a>>12,i[n++]=128|a>>6&63,i[n++]=128|63&a}else if(a<=2097151){if(o<=n+3)break;i[n++]=240|a>>18,i[n++]=128|a>>12&63,i[n++]=128|a>>6&63,i[n++]=128|63&a}else if(a<=67108863){if(o<=n+4)break;i[n++]=248|a>>24,i[n++]=128|a>>18&63,i[n++]=128|a>>12&63,i[n++]=128|a>>6&63,i[n++]=128|63&a}else{if(o<=n+5)break;i[n++]=252|a>>30,i[n++]=128|a>>24&63,i[n++]=128|a>>18&63,i[n++]=128|a>>12&63,i[n++]=128|a>>6&63,i[n++]=128|63&a}}return i[n]=0,n-r}function stringToUTF8(e,i,n){return stringToUTF8Array(e,HEAPU8,i,n)}function lengthBytesUTF8(e){for(var i=0,n=0;n>2]>i)return!1;var n=TOTAL_MEMORY;for(TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);TOTAL_MEMORY>2];)TOTAL_MEMORY=TOTAL_MEMORY<=536870912?alignUp(2*TOTAL_MEMORY,e):Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,e),i);var t=Module.reallocBuffer(TOTAL_MEMORY);return t&&t.byteLength==TOTAL_MEMORY?(updateGlobalBuffer(t),updateGlobalBufferViews(),!0):(TOTAL_MEMORY=n,!1)}STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1,Module.reallocBuffer||(Module.reallocBuffer=function(e){var i;try{if(ArrayBuffer.transfer)i=ArrayBuffer.transfer(buffer,e);else{var n=HEAP8;i=new ArrayBuffer(e),new Int8Array(i).set(n)}}catch(e){return!1}return!!_emscripten_replace_memory(i)&&i});try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get),byteLength(new ArrayBuffer(4))}catch(e){byteLength=function(e){return e.byteLength}}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||268435456;function getTotalMemory(){return TOTAL_MEMORY}if(TOTAL_MEMORY>0]=e.charCodeAt(t);n||(HEAP8[i>>0]=0)}var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_max=Math.max,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var i=dependenciesFulfilled;dependenciesFulfilled=null,i()}}Module.preloadedImages={},Module.preloadedAudios={};var memoryInitializer=null,dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(e){return String.prototype.startsWith?e.startsWith(dataURIPrefix):0===e.indexOf(dataURIPrefix)}function integrateWasmJS(){var e="build.wast",o="build.wasm",i="build.temp.asm.js";"function"==typeof Module.locateFile&&(isDataURI(e)||(e=Module.locateFile(e)),isDataURI(o)||(o=Module.locateFile(o)),isDataURI(i)||(i=Module.locateFile(i)));var _={global:null,env:null,asm2wasm:{"f64-rem":function(e,i){return e%i},debugger:function(){}},parent:Module},a=null;function l(){try{if(Module.wasmBinary)return new Uint8Array(Module.wasmBinary);if(Module.readBinary)return Module.readBinary(o);throw"on the web, we need the wasm binary to be preloaded and set on Module['wasmBinary']. emcc.py will do that for you when generating HTML (but not JS)"}catch(e){abort(e)}}function u(e,i){if("object"!=typeof WebAssembly)return Module.printErr("no native wasm support detected"),!1;if(!(Module.wasmMemory instanceof WebAssembly.Memory))return Module.printErr("no native wasm Memory in use"),!1;function n(e,i){(a=e.exports).memory&&function(e){var i=Module.buffer;e.byteLength>2)+i*o,a=r.buffer;(a.copyToChannel||function(e,i,n){var t=e.subarray(0,Math.min(e.length,this.length-(0|n)));this.getChannelData(0|i).set(t,0|n)}).apply(a,[HEAPF32.subarray(_,_+i),o,0])}return WEBAudio.audioInstances.push(r)-1}function _JS_Sound_Play(e,i,n,t){if(_JS_Sound_Stop(i,0),0!=WEBAudio.audioWebEnabled){var r=WEBAudio.audioInstances[e],o=WEBAudio.audioInstances[i];if(r.buffer)try{o.playBuffer(WEBAudio.audioContext.currentTime+t,r.buffer,n)}catch(e){console.error("playBuffer error. Exception: "+e)}else console.log("Trying to play sound which is not loaded.")}}function _JS_Sound_ReleaseInstance(e){WEBAudio.audioInstances[e]=null}function _JS_Sound_Set3D(e,i){var n=WEBAudio.audioInstances[e];n.threeD!=i&&(n.threeD=i,n.setupPanning())}function _JS_Sound_SetListenerOrientation(e,i,n,t,r,o){0!=WEBAudio.audioWebEnabled&&(WEBAudio.audioContext.listener.forwardX?(WEBAudio.audioContext.listener.forwardX.setValueAtTime(-e,WEBAudio.audioContext.currentTime),WEBAudio.audioContext.listener.forwardY.setValueAtTime(-i,WEBAudio.audioContext.currentTime),WEBAudio.audioContext.listener.forwardZ.setValueAtTime(-n,WEBAudio.audioContext.currentTime),WEBAudio.audioContext.listener.upX.setValueAtTime(t,WEBAudio.audioContext.currentTime),WEBAudio.audioContext.listener.upY.setValueAtTime(r,WEBAudio.audioContext.currentTime),WEBAudio.audioContext.listener.upZ.setValueAtTime(o,WEBAudio.audioContext.currentTime)):WEBAudio.audioContext.listener.setOrientation(-e,-i,-n,t,r,o))}function _JS_Sound_SetListenerPosition(e,i,n){0!=WEBAudio.audioWebEnabled&&(WEBAudio.audioContext.listener.positionX?(WEBAudio.audioContext.listener.positionX.setValueAtTime(e,WEBAudio.audioContext.currentTime),WEBAudio.audioContext.listener.positionY.setValueAtTime(i,WEBAudio.audioContext.currentTime),WEBAudio.audioContext.listener.positionZ.setValueAtTime(n,WEBAudio.audioContext.currentTime)):WEBAudio.audioContext.listener.setPosition(e,i,n))}function _JS_Sound_SetLoop(e,i){0!=WEBAudio.audioWebEnabled&&(WEBAudio.audioInstances[e].source.loop=i)}function _JS_Sound_SetLoopPoints(e,i,n){if(0!=WEBAudio.audioWebEnabled){var t=WEBAudio.audioInstances[e];t.source.loopStart=i,t.source.loopEnd=n}}function _JS_Sound_SetPitch(e,i){0!=WEBAudio.audioWebEnabled&&WEBAudio.audioInstances[e].source.playbackRate.setValueAtTime(i,WEBAudio.audioContext.currentTime)}function _JS_Sound_SetPosition(e,i,n,t){0!=WEBAudio.audioWebEnabled&&WEBAudio.audioInstances[e].panner.setPosition(i,n,t)}function _JS_Sound_SetVolume(e,i){0!=WEBAudio.audioWebEnabled&&WEBAudio.audioInstances[e].gain.gain.setValueAtTime(i,WEBAudio.audioContext.currentTime)}function _JS_Sound_Stop(e,i){if(0!=WEBAudio.audioWebEnabled){var n=WEBAudio.audioInstances[e];if(n.source.buffer){try{n.source.stop(WEBAudio.audioContext.currentTime+i)}catch(e){n.source.disconnect()}0==i&&(n.source.onended=function(){},n.setup())}}}function _JS_SystemInfo_GetBrowserName(e,i){var n=UnityLoader.SystemInfo.browser;return e&&stringToUTF8(n,e,i),lengthBytesUTF8(n)}function _JS_SystemInfo_GetBrowserVersionString(e,i){var n=UnityLoader.SystemInfo.browserVersion;return e&&stringToUTF8(n,e,i),lengthBytesUTF8(n)}function _JS_SystemInfo_GetCurrentCanvasHeight(){return Module.canvas.clientHeight}function _JS_SystemInfo_GetCurrentCanvasWidth(){return Module.canvas.clientWidth}function _JS_SystemInfo_GetDocumentURL(e,i){return e&&stringToUTF8("https://files.crazygames.com/",e,i),lengthBytesUTF8("https://files.crazygames.com/")}function _JS_SystemInfo_GetGPUInfo(e,i){var n=UnityLoader.SystemInfo.gpu;return e&&stringToUTF8(n,e,i),lengthBytesUTF8(n)}function _JS_SystemInfo_GetHeight(){return UnityLoader.SystemInfo.height}function _JS_SystemInfo_GetLanguage(e,i){var n=UnityLoader.SystemInfo.language;return e&&stringToUTF8(n,e,i),lengthBytesUTF8(n)}function _JS_SystemInfo_GetMemory(){return TOTAL_MEMORY/1048576}function _JS_SystemInfo_GetOS(e,i){var n=UnityLoader.SystemInfo.os+" "+UnityLoader.SystemInfo.osVersion;return e&&stringToUTF8(n,e,i),lengthBytesUTF8(n)}function _JS_SystemInfo_GetWidth(){return UnityLoader.SystemInfo.width}function _JS_SystemInfo_HasCursorLock(){return UnityLoader.SystemInfo.hasCursorLock}function _JS_SystemInfo_HasFullscreen(){return UnityLoader.SystemInfo.hasFullscreen}function _JS_SystemInfo_HasWebGL(){return UnityLoader.SystemInfo.hasWebGL}function _JS_SystemInfo_IsMobile(){return UnityLoader.SystemInfo.mobile}function _JS_WebGL_InitContextAttributes(e){return HEAP32[e>>2]=1,HEAP32[e+4>>2]=1,HEAP32[e+8>>2]=1,HEAP32[e+12>>2]=0,HEAP32[e+16>>2]=Module.webglContextAttributes.premultipliedAlpha,HEAP32[e+20>>2]=Module.webglContextAttributes.preserveDrawingBuffer,HEAP32[e+24>>2]=0,HEAP32[e+28>>2]=0,HEAP32[e+32>>2]=1,HEAP32[e+36>>2]=0,HEAP32[e+40>>2]=1,HEAP32[e+44>>2]=0}var wr={requestInstances:{},nextRequestId:1};function _JS_WebRequest_Abort(e){wr.requestInstances[e].abort()}function _JS_WebRequest_Create(e,i){var n=new XMLHttpRequest,t=Pointer_stringify(e),r=Pointer_stringify(i);return n.open(r,t,!0),n.responseType="arraybuffer",wr.requestInstances[wr.nextRequestId]=n,wr.nextRequestId++}function _JS_WebRequest_GetResponseHeaders(e,i,n){var t=wr.requestInstances[e].getAllResponseHeaders();return i&&stringToUTF8(t,i,n),lengthBytesUTF8(t)}function _JS_WebRequest_Release(e){var i=wr.requestInstances[e];i.onload=null,i.onerror=null,i.ontimeout=null,i.onabort=null,delete i,wr.requestInstances[e]=null}function _JS_WebRequest_Send(e,i,n){var t=wr.requestInstances[e];try{0>2]=e),e}var PATH={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,i){for(var n=0,t=e.length-1;0<=t;t--){var r=e[t];"."===r?e.splice(t,1):".."===r?(e.splice(t,1),n++):n&&(e.splice(t,1),n--)}if(i)for(;n;n--)e.unshift("..");return e},normalize:function(e){var i="/"===e.charAt(0),n="/"===e.substr(-1);return(e=PATH.normalizeArray(e.split("/").filter(function(e){return!!e}),!i).join("/"))||i||(e="."),e&&n&&(e+="/"),(i?"/":"")+e},dirname:function(e){var i=PATH.splitPath(e),n=i[0],t=i[1];return n||t?n+(t=t&&t.substr(0,t.length-1)):"."},basename:function(e){if("/"===e)return"/";var i=e.lastIndexOf("/");return-1===i?e:e.substr(i+1)},extname:function(e){return PATH.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return PATH.normalize(e.join("/"))},join2:function(e,i){return PATH.normalize(e+"/"+i)},resolve:function(){for(var e="",i=!1,n=arguments.length-1;-1<=n&&!i;n--){var t=0<=n?arguments[n]:FS.cwd();if("string"!=typeof t)throw new TypeError("Arguments to path.resolve must be strings");if(!t)return"";e=t+"/"+e,i="/"===t.charAt(0)}return(i?"/":"")+(e=PATH.normalizeArray(e.split("/").filter(function(e){return!!e}),!i).join("/"))||"."},relative:function(e,i){function n(e){for(var i=0;ie.contents.length&&(e.contents=MEMFS.getFileDataAsRegularArray(e),e.usedBytes=e.contents.length),!e.contents||e.contents.subarray){var n=e.contents?e.contents.length:0;if(i<=n)return;i=Math.max(i,n*(n<1048576?2:1.125)|0),0!=n&&(i=Math.max(i,256));var t=e.contents;return e.contents=new Uint8Array(i),void(0i)e.contents.length=i;else for(;e.contents.length=e.node.usedBytes)return 0;var _=Math.min(e.node.usedBytes-r,t);if(assert(0<=_),8<_&&o.subarray)i.set(o.subarray(r,r+_),n);else for(var a=0;a<_;a++)i[n+a]=o[r+a];return _},write:function(e,i,n,t,r,o){if(!t)return 0;var _=e.node;if(_.timestamp=Date.now(),i.subarray&&(!_.contents||_.contents.subarray)){if(o)return _.contents=i.subarray(n,n+t),_.usedBytes=t;if(0===_.usedBytes&&0===r)return _.contents=new Uint8Array(i.subarray(n,n+t)),_.usedBytes=t;if(r+t<=_.usedBytes)return _.contents.set(i.subarray(n,n+t),r),t}if(MEMFS.expandFileStorage(_,r+t),_.contents.subarray&&i.subarray)_.contents.set(i.subarray(n,n+t),r);else for(var a=0;an.timestamp)&&(_.push(e),o++)});var n=[];if(Object.keys(r.entries).forEach(function(e){r.entries[e];t.entries[e]||(n.push(e),o++)}),!o)return i(null);var a=0,e=("remote"===t.type?t.db:r.db).transaction([IDBFS.DB_STORE_NAME],"readwrite"),l=e.objectStore(IDBFS.DB_STORE_NAME);function u(e){return e?u.errored?void 0:(u.errored=!0,i(e)):++a>=o?i(null):void 0}e.onerror=function(e){u(this.error),e.preventDefault()},_.sort().forEach(function(n){"local"===r.type?IDBFS.loadRemoteEntry(l,n,function(e,i){if(e)return u(e);IDBFS.storeLocalEntry(n,i,u)}):IDBFS.loadLocalEntry(n,function(e,i){if(e)return u(e);IDBFS.storeRemoteEntry(l,n,i,u)})}),n.sort().reverse().forEach(function(e){"local"===r.type?IDBFS.removeLocalEntry(e,u):IDBFS.removeRemoteEntry(l,e,u)})}},NODEFS={isWindows:!1,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var e=process.binding("constants");e.fs&&(e=e.fs),NODEFS.flagsForNodeMap={1024:e.O_APPEND,64:e.O_CREAT,128:e.O_EXCL,0:e.O_RDONLY,2:e.O_RDWR,4096:e.O_SYNC,512:e.O_TRUNC,1:e.O_WRONLY}},bufferFrom:function(e){return Buffer.alloc?Buffer.from(e):new Buffer(e)},mount:function(e){return assert(ENVIRONMENT_IS_NODE),NODEFS.createNode(null,"/",NODEFS.getMode(e.opts.root),0)},createNode:function(e,i,n,t){if(!FS.isDir(n)&&!FS.isFile(n)&&!FS.isLink(n))throw new FS.ErrnoError(ERRNO_CODES.EINVAL);var r=FS.createNode(e,i,n);return r.node_ops=NODEFS.node_ops,r.stream_ops=NODEFS.stream_ops,r},getMode:function(e){var i;try{i=fs.lstatSync(e),NODEFS.isWindows&&(i.mode=i.mode|(292&i.mode)>>2)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return i.mode},realPath:function(e){for(var i=[];e.parent!==e;)i.push(e.name),e=e.parent;return i.push(e.mount.opts.root),i.reverse(),PATH.join.apply(null,i)},flagsForNode:function(e){e&=-2097153,e&=-2049,e&=-32769,e&=-524289;var i=0;for(var n in NODEFS.flagsForNodeMap)e&n&&(i|=NODEFS.flagsForNodeMap[n],e^=n);if(e)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);return i},node_ops:{getattr:function(e){var i,n=NODEFS.realPath(e);try{i=fs.lstatSync(n)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return NODEFS.isWindows&&!i.blksize&&(i.blksize=4096),NODEFS.isWindows&&!i.blocks&&(i.blocks=(i.size+i.blksize-1)/i.blksize|0),{dev:i.dev,ino:i.ino,mode:i.mode,nlink:i.nlink,uid:i.uid,gid:i.gid,rdev:i.rdev,size:i.size,atime:i.atime,mtime:i.mtime,ctime:i.ctime,blksize:i.blksize,blocks:i.blocks}},setattr:function(e,i){var n=NODEFS.realPath(e);try{if(void 0!==i.mode&&(fs.chmodSync(n,i.mode),e.mode=i.mode),void 0!==i.timestamp){var t=new Date(i.timestamp);fs.utimesSync(n,t,t)}void 0!==i.size&&fs.truncateSync(n,i.size)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},lookup:function(e,i){var n=PATH.join2(NODEFS.realPath(e),i),t=NODEFS.getMode(n);return NODEFS.createNode(e,i,t)},mknod:function(e,i,n,t){var r=NODEFS.createNode(e,i,n,t),o=NODEFS.realPath(r);try{FS.isDir(r.mode)?fs.mkdirSync(o,r.mode):fs.writeFileSync(o,"",{mode:r.mode})}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return r},rename:function(e,i,n){var t=NODEFS.realPath(e),r=PATH.join2(NODEFS.realPath(i),n);try{fs.renameSync(t,r)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},unlink:function(e,i){var n=PATH.join2(NODEFS.realPath(e),i);try{fs.unlinkSync(n)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},rmdir:function(e,i){var n=PATH.join2(NODEFS.realPath(e),i);try{fs.rmdirSync(n)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readdir:function(e){var i=NODEFS.realPath(e);try{return fs.readdirSync(i)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},symlink:function(e,i,n){var t=PATH.join2(NODEFS.realPath(e),i);try{fs.symlinkSync(n,t)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readlink:function(e){var i=NODEFS.realPath(e);try{return i=fs.readlinkSync(i),i=NODEJS_PATH.relative(NODEJS_PATH.resolve(e.mount.opts.root),i)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}},stream_ops:{open:function(e){var i=NODEFS.realPath(e.node);try{FS.isFile(e.node.mode)&&(e.nfd=fs.openSync(i,NODEFS.flagsForNode(e.flags)))}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},close:function(e){try{FS.isFile(e.node.mode)&&e.nfd&&fs.closeSync(e.nfd)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},read:function(e,i,n,t,r){if(0===t)return 0;try{return fs.readSync(e.nfd,NODEFS.bufferFrom(i.buffer),n,t,r)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}},write:function(e,i,n,t,r){try{return fs.writeSync(e.nfd,NODEFS.bufferFrom(i.buffer),n,t,r)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}},llseek:function(e,i,n){var t=i;if(1===n)t+=e.position;else if(2===n&&FS.isFile(e.node.mode))try{t+=fs.fstatSync(e.nfd).size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(t<0)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);return t}}},WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(e){assert(ENVIRONMENT_IS_WORKER),WORKERFS.reader||(WORKERFS.reader=new FileReaderSync);var o=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0),_={};function t(e){for(var i=e.split("/"),n=o,t=0;t=e.node.size)return 0;var o=e.node.contents.slice(r,r+t),_=WORKERFS.reader.readAsArrayBuffer(o);return i.set(new Uint8Array(_),n),o.size},write:function(e,i,n,t,r){throw new FS.ErrnoError(ERRNO_CODES.EIO)},llseek:function(e,i,n){var t=i;if(1===n?t+=e.position:2===n&&FS.isFile(e.node.mode)&&(t+=e.node.size),t<0)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);return t}}};STATICTOP+=16,STATICTOP+=16,STATICTOP+=16;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(e,i){if(i=i||{},!(e=PATH.resolve(FS.cwd(),e)))return{path:"",node:null};var n={follow_mount:!0,recurse_count:0};for(var t in n)void 0===i[t]&&(i[t]=n[t]);if(8>>0)%FS.nameTable.length},hashAddNode:function(e){var i=FS.hashName(e.parent.id,e.name);e.name_next=FS.nameTable[i],FS.nameTable[i]=e},hashRemoveNode:function(e){var i=FS.hashName(e.parent.id,e.name);if(FS.nameTable[i]===e)FS.nameTable[i]=e.name_next;else for(var n=FS.nameTable[i];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode:function(e,i){var n=FS.mayLookup(e);if(n)throw new FS.ErrnoError(n,e);for(var t=FS.hashName(e.id,i),r=FS.nameTable[t];r;r=r.name_next){var o=r.name;if(r.parent.id===e.id&&o===i)return r}return FS.lookup(e,i)},createNode:function(e,i,n,t){if(!FS.FSNode){FS.FSNode=function(e,i,n,t){e=e||this,this.parent=e,this.mount=e.mount,this.mounted=null,this.id=FS.nextInode++,this.name=i,this.mode=n,this.node_ops={},this.stream_ops={},this.rdev=t},FS.FSNode.prototype={};Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var r=new FS.FSNode(e,i,n,t);return FS.hashAddNode(r),r},destroyNode:function(e){FS.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return 49152==(49152&e)},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(e){var i=FS.flagModes[e];if(void 0===i)throw new Error("Unknown file open mode: "+e);return i},flagsToPermissionString:function(e){var i=["r","w","rw"][3&e];return 512&e&&(i+="w"),i},nodePermissions:function(e,i){return FS.ignorePermissions||(-1===i.indexOf("r")||292&e.mode)&&(-1===i.indexOf("w")||146&e.mode)&&(-1===i.indexOf("x")||73&e.mode)?0:ERRNO_CODES.EACCES},mayLookup:function(e){var i=FS.nodePermissions(e,"x");return i||(e.node_ops.lookup?0:ERRNO_CODES.EACCES)},mayCreate:function(e,i){try{FS.lookupNode(e,i);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(e,"wx")},mayDelete:function(e,i,n){var t;try{t=FS.lookupNode(e,i)}catch(e){return e.errno}var r=FS.nodePermissions(e,"wx");if(r)return r;if(n){if(!FS.isDir(t.mode))return ERRNO_CODES.ENOTDIR;if(FS.isRoot(t)||FS.getPath(t)===FS.cwd())return ERRNO_CODES.EBUSY}else if(FS.isDir(t.mode))return ERRNO_CODES.EISDIR;return 0},mayOpen:function(e,i){return e?FS.isLink(e.mode)?ERRNO_CODES.ELOOP:FS.isDir(e.mode)&&("r"!==FS.flagsToPermissionString(i)||512&i)?ERRNO_CODES.EISDIR:FS.nodePermissions(e,FS.flagsToPermissionString(i)):ERRNO_CODES.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(e,i){e=e||0,i=i||FS.MAX_OPEN_FDS;for(var n=e;n<=i;n++)if(!FS.streams[n])return n;throw new FS.ErrnoError(ERRNO_CODES.EMFILE)},getStream:function(e){return FS.streams[e]},createStream:function(e,i,n){FS.FSStream||(FS.FSStream=function(){},FS.FSStream.prototype={},Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var t=new FS.FSStream;for(var r in e)t[r]=e[r];e=t;var o=FS.nextfd(i,n);return e.fd=o,FS.streams[o]=e},closeStream:function(e){FS.streams[e]=null},chrdev_stream_ops:{open:function(e){var i=FS.getDevice(e.node.rdev);e.stream_ops=i.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,i){return e<<8|i},registerDevice:function(e,i){FS.devices[e]={stream_ops:i}},getDevice:function(e){return FS.devices[e]},getMounts:function(e){for(var i=[],n=[e];n.length;){var t=n.pop();i.push(t),n.push.apply(n,t.mounts)}return i},syncfs:function(i,n){"function"==typeof i&&(n=i,i=!1),FS.syncFSRequests++,1=t.length&&o(null)}t.forEach(function(e){if(!e.type.syncfs)return _(null);e.type.syncfs(e,i,_)})},mount:function(e,i,n){var t,r="/"===n,o=!n;if(r&&FS.root)throw new FS.ErrnoError(ERRNO_CODES.EBUSY);if(!r&&!o){var _=FS.lookupPath(n,{follow_mount:!1});if(n=_.path,t=_.node,FS.isMountpoint(t))throw new FS.ErrnoError(ERRNO_CODES.EBUSY);if(!FS.isDir(t.mode))throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var a={type:e,opts:i,mountpoint:n,mounts:[]},l=e.mount(a);return(l.mount=a).root=l,r?FS.root=l:t&&(t.mounted=a,t.mount&&t.mount.mounts.push(a)),l},unmount:function(e){var i=FS.lookupPath(e,{follow_mount:!1});if(!FS.isMountpoint(i.node))throw new FS.ErrnoError(ERRNO_CODES.EINVAL);var n=i.node,t=n.mounted,r=FS.getMounts(t);Object.keys(FS.nameTable).forEach(function(e){for(var i=FS.nameTable[e];i;){var n=i.name_next;-1!==r.indexOf(i.mount)&&FS.destroyNode(i),i=n}}),n.mounted=null;var o=n.mount.mounts.indexOf(t);assert(-1!==o),n.mount.mounts.splice(o,1)},lookup:function(e,i){return e.node_ops.lookup(e,i)},mknod:function(e,i,n){var t=FS.lookupPath(e,{parent:!0}).node,r=PATH.basename(e);if(!r||"."===r||".."===r)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);var o=FS.mayCreate(t,r);if(o)throw new FS.ErrnoError(o);if(!t.node_ops.mknod)throw new FS.ErrnoError(ERRNO_CODES.EPERM);return t.node_ops.mknod(t,r,i,n)},create:function(e,i){return i=void 0!==i?i:438,i&=4095,i|=32768,FS.mknod(e,i,0)},mkdir:function(e,i){return i=void 0!==i?i:511,i&=1023,i|=16384,FS.mknod(e,i,0)},mkdirTree:function(e,i){for(var n=e.split("/"),t="",r=0;rthis.length-1||e<0)){var i=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[i]}},r.prototype.setDataGetter=function(e){this.getter=e},r.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",a,!1),e.send(null),!(200<=e.status&&e.status<300||304===e.status))throw new Error("Couldn't load "+a+". Status: "+e.status);var i,t=Number(e.getResponseHeader("Content-length")),n=(i=e.getResponseHeader("Accept-Ranges"))&&"bytes"===i,r=(i=e.getResponseHeader("Content-Encoding"))&&"gzip"===i,o=1048576;n||(o=t);var _=this;_.setDataGetter(function(e){var i=e*o,n=(e+1)*o-1;if(n=Math.min(n,t-1),void 0===_.chunks[e]&&(_.chunks[e]=function(e,i){if(i=o.length)return 0;var _=Math.min(o.length-r,t);if(assert(0<=_),o.slice)for(var a=0;a<_;a++)i[n+a]=o[r+a];else for(a=0;a<_;a++)i[n+a]=o.get(r+a);return _},l.stream_ops=u,l},createPreloadedFile:function(r,o,e,_,a,l,u,s,c,f){Browser.init();var d=o?PATH.resolve(PATH.join2(r,o)):r,p=getUniqueRunDependency("cp "+d);function i(i){function n(e){f&&f(),s||FS.createDataFile(r,o,e,_,a,c),l&&l(),removeRunDependency(p)}var t=!1;Module.preloadPlugins.forEach(function(e){t||e.canHandle(d)&&(e.handle(i,d,n,function(){u&&u(),removeRunDependency(p)}),t=!0)}),t||n(i)}addRunDependency(p),"string"==typeof e?Browser.asyncLoad(e,function(e){i(e)},u):i(e)},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(i,a,l){a=a||function(){},l=l||function(){};var e=FS.indexedDB();try{var u=e.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return l(e)}u.onupgradeneeded=function(){console.log("creating db"),u.result.createObjectStore(FS.DB_STORE_NAME)},u.onsuccess=function(){var e=u.result.transaction([FS.DB_STORE_NAME],"readwrite"),n=e.objectStore(FS.DB_STORE_NAME),t=0,r=0,o=i.length;function _(){(0==r?a:l)()}i.forEach(function(e){var i=n.put(FS.analyzePath(e).object.contents,e);i.onsuccess=function(){++t+r==o&&_()},i.onerror=function(){t+ ++r==o&&_()}}),e.onerror=l},u.onerror=l},loadFilesFromDB:function(a,l,u){l=l||function(){},u=u||function(){};var e=FS.indexedDB();try{var s=e.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return u(e)}s.onupgradeneeded=u,s.onsuccess=function(){var e=s.result;try{var i=e.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){return void u(e)}var n=i.objectStore(FS.DB_STORE_NAME),t=0,r=0,o=a.length;function _(){(0==r?l:u)()}a.forEach(function(e){var i=n.get(e);i.onsuccess=function(){FS.analyzePath(e).exists&&FS.unlink(e),FS.createDataFile(PATH.dirname(e),PATH.basename(e),i.result,!0,!0,!0),++t+r==o&&_()},i.onerror=function(){t+ ++r==o&&_()}}),i.onerror=u},s.onerror=u}};function _emscripten_set_main_loop_timing(e,i){if(Browser.mainLoop.timingMode=e,Browser.mainLoop.timingValue=i,!Browser.mainLoop.func)return 1;if(0==e)Browser.mainLoop.scheduler=function(){var e=0|Math.max(0,Browser.mainLoop.tickStartTime+i-_emscripten_get_now());setTimeout(Browser.mainLoop.runner,e)},Browser.mainLoop.method="timeout";else if(1==e)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(2==e){if("undefined"==typeof setImmediate){var n=[],t="setimmediate";addEventListener("message",function(e){e.data!==t&&e.data.target!==t||(e.stopPropagation(),n.shift()())},!0),setImmediate=function(e){n.push(e),ENVIRONMENT_IS_WORKER?(void 0===Module.setImmediates&&(Module.setImmediates=[]),Module.setImmediates.push(e),postMessage({target:t})):postMessage(t,"*")}}Browser.mainLoop.scheduler=function(){setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(e,i,n,t,r){var o;Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=e,Browser.mainLoop.arg=t,o=void 0!==t?function(){Module.dynCall_vi(e,t)}:function(){Module.dynCall_v(e)};var _=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT)if(0>r-6&63;r-=6,n+=i[_]}return 2==r?(n+=i[(3&t)<<4],n+="=="):4==r&&(n+=i[(15&t)<<2],n+="="),n}(i),o(u))},u.src=l,Browser.safeSetTimeout(function(){o(u)},1e4)},Module.preloadPlugins.push(i);var n=Module.canvas;n&&(n.requestPointerLock=n.requestPointerLock||n.mozRequestPointerLock||n.webkitRequestPointerLock||n.msRequestPointerLock||function(){},n.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},n.exitPointerLock=n.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",t,!1),document.addEventListener("mozpointerlockchange",t,!1),document.addEventListener("webkitpointerlockchange",t,!1),document.addEventListener("mspointerlockchange",t,!1),Module.elementPointerLock&&n.addEventListener("click",function(e){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),e.preventDefault())},!1))}function t(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}},createContext:function(e,i,n,t){if(i&&Module.ctx&&e==Module.canvas)return Module.ctx;var r,o;if(i){var _={antialias:!1,alpha:!1};if(t)for(var a in t)_[a]=t[a];(o=GL.createContext(e,_))&&(r=GL.getContext(o).GLctx)}else r=e.getContext("2d");return r?(n&&(i||assert(void 0===GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=r,i&&GL.makeContextCurrent(o),Module.useWebGL=i,Browser.moduleContextCreatedCallbacks.forEach(function(e){e()}),Browser.init()),r):null},destroyContext:function(e,i,n){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(e,i,n){Browser.lockPointer=e,Browser.resizeCanvas=i,Browser.vrDevice=n,void 0===Browser.lockPointer&&(Browser.lockPointer=!0),void 0===Browser.resizeCanvas&&(Browser.resizeCanvas=!1),void 0===Browser.vrDevice&&(Browser.vrDevice=null);var t=Module.canvas;function r(){Browser.isFullscreen=!1;var e=t.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(t.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},t.exitFullscreen=t.exitFullscreen.bind(document),Browser.lockPointer&&t.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(e.parentNode.insertBefore(t,e),e.parentNode.removeChild(e),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(t)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",r,!1),document.addEventListener("mozfullscreenchange",r,!1),document.addEventListener("webkitfullscreenchange",r,!1),document.addEventListener("MSFullscreenChange",r,!1));var o=document.createElement("div");t.parentNode.insertBefore(o,t),o.appendChild(t),o.requestFullscreen=o.requestFullscreen||o.mozRequestFullScreen||o.msRequestFullscreen||(o.webkitRequestFullscreen?function(){o.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(o.webkitRequestFullScreen?function(){o.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),n?o.requestFullscreen({vrDisplay:n}):o.requestFullscreen()},requestFullScreen:function(e,i,n){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(e,i,n){return Browser.requestFullscreen(e,i,n)},Browser.requestFullscreen(e,i,n)},nextRAF:0,fakeRequestAnimationFrame:function(e){var i=Date.now();if(0===Browser.nextRAF)Browser.nextRAF=i+1e3/60;else for(;i+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var n=Math.max(Browser.nextRAF-i,0);setTimeout(e,n)},requestAnimationFrame:function(e){"undefined"==typeof window?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!ABORT)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,0>2];e|=8388608,HEAP32[SDL.screen>>2]=e}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(void 0!==SDL){var e=HEAPU32[SDL.screen>>2];e&=-8388609,HEAP32[SDL.screen>>2]=e}Browser.updateResizeListeners()},updateCanvasDimensions:function(e,i,n){i&&n?(e.widthNative=i,e.heightNative=n):(i=e.widthNative,n=e.heightNative);var t=i,r=n;if(Module.forcedAspectRatio&&0>2],i=HEAP32[n>>2]):(___buildEnvironment.called=!0,ENV.USER=ENV.LOGNAME="web_user",ENV.PATH="/",ENV.PWD="/",ENV.HOME="/home/web_user",ENV.LANG="C.UTF-8",ENV._=Module.thisProgram,i=staticAlloc(1024),n=staticAlloc(256),HEAP32[n>>2]=i,HEAP32[_environ>>2]=n);var t=[],r=0;for(var o in e)if("string"==typeof e[o]){var _=o+"="+e[o];t.push(_),r+=_.length}if(1024>2]=i,i+=_.length+1}HEAP32[n+4*t.length>>2]=0}STATICTOP+=16;var ENV={};function _getenv(e){return 0===e?0:(e=Pointer_stringify(e),ENV.hasOwnProperty(e)?(_getenv.ret&&_free(_getenv.ret),_getenv.ret=allocateUTF8(ENV[e]),_getenv.ret):0)}function _putenv(e){if(0===e)return ___setErrNo(ERRNO_CODES.EINVAL),-1;var i=(e=Pointer_stringify(e)).indexOf("=");if(""===e||-1===e.indexOf("="))return ___setErrNo(ERRNO_CODES.EINVAL),-1;var n=e.slice(0,i),t=e.slice(i+1);return n in ENV&&ENV[n]===t||(ENV[n]=t,___buildEnvironment(ENV)),0}function _SDL_RWFromConstMem(e,i){var n=SDL.rwops.length;return SDL.rwops.push({bytes:e,count:i}),n}function _TTF_FontHeight(e){return SDL.fonts[e].size}function _TTF_SizeText(e,i,n,t){var r=SDL.fonts[e];return n&&(HEAP32[n>>2]=SDL.estimateTextWidth(r,Pointer_stringify(i))),t&&(HEAP32[t>>2]=r.size),0}function _TTF_RenderText_Solid(e,i,n){i=Pointer_stringify(i)||" ";var t=SDL.fonts[e],r=SDL.estimateTextWidth(t,i),o=t.size;n=SDL.loadColorToCSSRGB(n);var _=SDL.makeFontString(o,t.name),a=SDL.makeSurface(r,o,0,!1,"text:"+i),l=SDL.surfaces[a];return l.ctx.save(),l.ctx.fillStyle=n,l.ctx.font=_,l.ctx.textBaseline="bottom",l.ctx.fillText(i,0,0|o),l.ctx.restore(),a}function _Mix_HaltMusic(){var e=SDL.music.audio;return e&&(e.src=e.src,e.currentPosition=0,e.pause()),SDL.music.audio=null,SDL.hookMusicFinished&&Module.dynCall_v(SDL.hookMusicFinished),0}function _Mix_PlayMusic(e,i){SDL.music.audio&&(SDL.music.audio.paused||Module.printErr("Music is already playing. "+SDL.music.source),SDL.music.audio.pause());var n,t=SDL.audios[e];return t.webAudio?((n={}).resource=t,n.paused=!1,n.currentPosition=0,n.play=function(){SDL.playWebAudio(this)},n.pause=function(){SDL.pauseWebAudio(this)}):t.audio&&(n=t.audio),n.onended=function(){SDL.music.audio==this&&_Mix_HaltMusic()},n.loop=0!=i,n.volume=SDL.music.volume,(SDL.music.audio=n).play(),0}function _Mix_FreeChunk(e){SDL.audios[e]=null}function _Mix_LoadWAV_RW(e,i){var n=SDL.rwops[e];if(void 0===n)return 0;var t,r,o,_="";if(void 0!==n.filename){_=PATH.resolve(n.filename);var a=Module.preloadedAudios[_];if(!a){null===a&&Module.printErr("Trying to reuse preloaded audio, but freePreloadedMediaOnUse is set!"),Module.noAudioDecoding||warnOnce("Cannot find preloaded audio "+_);try{o=FS.readFile(_)}catch(e){return Module.printErr("Couldn't find file for: "+_),0}}Module.freePreloadedMediaOnUse&&(Module.preloadedAudios[_]=null),t=a}else{if(void 0===n.bytes)return 0;o=SDL.webAudioAvailable()?HEAPU8.buffer.slice(n.bytes,n.bytes+n.count):HEAPU8.subarray(n.bytes,n.bytes+n.count)}var l=o&&o.buffer||o,u=void 0===Module.SDL_canPlayWithWebAudio||Module.SDL_canPlayWithWebAudio(_,l);if(void 0!==o&&SDL.webAudioAvailable()&&u){t=void 0,r={onDecodeComplete:[]},SDL.audioContext.decodeAudioData(l,function(e){r.decodedBuffer=e,r.onDecodeComplete.forEach(function(e){e()}),r.onDecodeComplete=void 0})}else if(void 0===t&&o){var s=new Blob([o],{type:n.mimetype}),c=URL.createObjectURL(s);(t=new Audio).src=c,t.mozAudioChannelType="content"}var f=SDL.audios.length;return SDL.audios.push({source:_,audio:t,webAudio:r}),f}function _Mix_PlayChannel(e,i,n){var t=SDL.audios[i];if(!t)return-1;if(!t.audio&&!t.webAudio)return-1;if(-1==e){for(var r=SDL.channelMinimumNumber;r>2]=i.buffer),HEAP32[e+20>>2]=i.buffer,e==SDL.screen&&Module.screenIsReadOnly&&i.image)return 0;if(SDL.defaults.discardOnLock){if(i.image||(i.image=i.ctx.createImageData(i.width,i.height)),!SDL.defaults.opaqueFrontBuffer)return}else i.image=i.ctx.getImageData(0,0,i.width,i.height);if(e==SDL.screen&&SDL.defaults.opaqueFrontBuffer)for(var n=i.image.data,t=n.length,r=0;r>0],s[f++]=HEAPU8[c++>>0],s[f++]=HEAPU8[c++>>0],s[f++]=255;else if(2==o.bpp)for(u=o.size,s=l.data,c=o.data,f=0,d=0;d>0],m=HEAPU8[c++>>0];s[f++]=p,s[f++]=p,s[f++]=p,s[f++]=m}else{if(1!=o.bpp)return Module.printErr("cannot handle bpp "+o.bpp),0;for(u=o.size,s=l.data,c=o.data,f=0,d=0;d>0];s[f++]=v,s[f++]=v,s[f++]=v,s[f++]=255}}a.ctx.putImageData(l,0,0)}else a.ctx.drawImage(o,0,0,o.width,o.height,0,0,o.width,o.height);return a.ctx.globalCompositeOperation="source-over",_SDL_LockSurface(_),a.locked--,SDL.GL&&(a.canvas=a.ctx=null),_}finally{n()}}function _SDL_RWFromFile(e,i){var n=SDL.rwops.length,t=Pointer_stringify(e);return SDL.rwops.push({filename:t,mimetype:Browser.getMimetype(t)}),n}function _IMG_Load(e){return _IMG_Load_RW(_SDL_RWFromFile(e),1)}function _SDL_UpperBlitScaled(e,i,n,t){return SDL.blitSurface(e,i,n,t,!0)}function _SDL_UpperBlit(e,i,n,t){return SDL.blitSurface(e,i,n,t,!1)}function _SDL_GetTicks(){return Date.now()-SDL.startTime|0}var SDL={defaults:{width:320,height:200,copyOnLock:!0,discardOnLock:!1,opaqueFrontBuffer:!0},version:null,surfaces:{},canvasPool:[],events:[],fonts:[null],audios:[null],rwops:[null],music:{audio:null,volume:1},mixerFrequency:22050,mixerFormat:32784,mixerNumChannels:2,mixerChunkSize:1024,channelMinimumNumber:0,GL:!1,glAttributes:{0:3,1:3,2:2,3:0,4:0,5:1,6:16,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:1,16:0,17:0,18:0},keyboardState:null,keyboardMap:{},canRequestFullscreen:!1,isRequestingFullscreen:!1,textInput:!1,startTime:null,initFlags:0,buttonState:0,modState:0,DOMButtons:[0,0,0],DOMEventToSDLEvent:{},TOUCH_DEFAULT_ID:0,eventHandler:null,eventHandlerContext:null,eventHandlerTemp:0,keyCodes:{16:1249,17:1248,18:1250,20:1081,33:1099,34:1102,35:1101,36:1098,37:1104,38:1106,39:1103,40:1105,44:316,45:1097,46:127,91:1251,93:1125,96:1122,97:1113,98:1114,99:1115,100:1116,101:1117,102:1118,103:1119,104:1120,105:1121,106:1109,107:1111,109:1110,110:1123,111:1108,112:1082,113:1083,114:1084,115:1085,116:1086,117:1087,118:1088,119:1089,120:1090,121:1091,122:1092,123:1093,124:1128,125:1129,126:1130,127:1131,128:1132,129:1133,130:1134,131:1135,132:1136,133:1137,134:1138,135:1139,144:1107,160:94,161:33,162:34,163:35,164:36,165:37,166:38,167:95,168:40,169:41,170:42,171:43,172:124,173:45,174:123,175:125,176:126,181:127,182:129,183:128,188:44,190:46,191:47,192:96,219:91,220:92,221:93,222:39,224:1251},scanCodes:{8:42,9:43,13:40,27:41,32:44,35:204,39:53,44:54,46:55,47:56,48:39,49:30,50:31,51:32,52:33,53:34,54:35,55:36,56:37,57:38,58:203,59:51,61:46,91:47,92:49,93:48,96:52,97:4,98:5,99:6,100:7,101:8,102:9,103:10,104:11,105:12,106:13,107:14,108:15,109:16,110:17,111:18,112:19,113:20,114:21,115:22,116:23,117:24,118:25,119:26,120:27,121:28,122:29,127:76,305:224,308:226,316:70},loadRect:function(e){return{x:HEAP32[e+0>>2],y:HEAP32[e+4>>2],w:HEAP32[e+8>>2],h:HEAP32[e+12>>2]}},updateRect:function(e,i){HEAP32[e>>2]=i.x,HEAP32[e+4>>2]=i.y,HEAP32[e+8>>2]=i.w,HEAP32[e+12>>2]=i.h},intersectionOfRects:function(e,i){var n=Math.max(e.x,i.x),t=Math.max(e.y,i.y),r=Math.min(e.x+e.w,i.x+i.w),o=Math.min(e.y+e.h,i.y+i.h);return{x:n,y:t,w:Math.max(n,r)-n,h:Math.max(t,o)-t}},checkPixelFormat:function(e){},loadColorToCSSRGB:function(e){var i=HEAP32[e>>2];return"rgb("+(255&i)+","+(i>>8&255)+","+(i>>16&255)+")"},loadColorToCSSRGBA:function(e){var i=HEAP32[e>>2];return"rgba("+(255&i)+","+(i>>8&255)+","+(i>>16&255)+","+(i>>24&255)/255+")"},translateColorToCSSRGBA:function(e){return"rgba("+(255&e)+","+(e>>8&255)+","+(e>>16&255)+","+(e>>>24)/255+")"},translateRGBAToCSSRGBA:function(e,i,n,t){return"rgba("+(255&e)+","+(255&i)+","+(255&n)+","+(255&t)/255+")"},translateRGBAToColor:function(e,i,n,t){return e|i<<8|n<<16|t<<24},makeSurface:function(e,i,n,t,r,o,_,a,l){var u,s=1&(n=n||0),c=2097152&n,f=67108864&n,d=_malloc(60),p=_malloc(44),m=c?1:4,v=0;s||f||(v=_malloc(e*i*4)),HEAP32[d>>2]=n,HEAP32[d+4>>2]=p,HEAP32[d+8>>2]=e,HEAP32[d+12>>2]=i,HEAP32[d+16>>2]=e*m,HEAP32[d+20>>2]=v,HEAP32[d+36>>2]=0,HEAP32[d+40>>2]=0,HEAP32[d+44>>2]=Module.canvas.width,HEAP32[d+48>>2]=Module.canvas.height,HEAP32[d+56>>2]=1,HEAP32[p>>2]=-2042224636,HEAP32[p+4>>2]=0,HEAP8[p+8>>0]=8*m,HEAP8[p+9>>0]=m,HEAP32[p+12>>2]=o||255,HEAP32[p+16>>2]=_||65280,HEAP32[p+20>>2]=a||16711680,HEAP32[p+24>>2]=l||4278190080,SDL.GL=SDL.GL||f,t?u=Module.canvas:((u=0>0]]}},freeSurface:function(e){var i=e+56,n=HEAP32[i>>2];if(1>2]=n-1;else{var t=SDL.surfaces[e];!t.usePageCanvas&&t.canvas&&SDL.canvasPool.push(t.canvas),t.buffer&&_free(t.buffer),_free(t.pixelFormat),_free(e),SDL.surfaces[e]=null,e===SDL.screen&&(SDL.screen=null)}},blitSurface__deps:["SDL_LockSurface"],blitSurface:function(e,i,n,t,r){var o,_,a,l,u=SDL.surfaces[e],s=SDL.surfaces[n];if(o=i?SDL.loadRect(i):{x:0,y:0,w:u.width,h:u.height},_=t?SDL.loadRect(t):{x:0,y:0,w:u.width,h:u.height},s.clipRect){var c=r&&0!==o.w?o.w/_.w:1,f=r&&0!==o.h?o.h/_.h:1;_=SDL.intersectionOfRects(s.clipRect,_),o.w=_.w*c,o.h=_.h*f,t&&SDL.updateRect(t,_)}if(l=r?(a=_.w,_.h):(a=o.w,o.h),0===o.w||0===o.h||0===a||0===l)return 0;var d=s.ctx.globalAlpha;return s.ctx.globalAlpha=u.alpha/255,s.ctx.drawImage(u.canvas,o.x,o.y,o.w,o.h,_.x,_.y,a,l),s.ctx.globalAlpha=d,n!=SDL.screen&&(warnOnce("WARNING: copying canvas data to memory for compatibility"),_SDL_LockSurface(n),s.locked--),0},downFingers:{},savedKeydown:null,receiveEvent:function(e){function i(){for(var e in SDL.keyboardMap)SDL.events.push({type:"keyup",keyCode:SDL.keyboardMap[e]})}switch(e.type){case"touchstart":case"touchmove":e.preventDefault();var n=[];if("touchstart"===e.type)for(var t=0;t>0]=i,SDL.modState=(HEAP8[SDL.keyboardState+1248>>0]?64:0)|(HEAP8[SDL.keyboardState+1249>>0]?1:0)|(HEAP8[SDL.keyboardState+1250>>0]?256:0)|(HEAP8[SDL.keyboardState+1252>>0]?128:0)|(HEAP8[SDL.keyboardState+1253>>0]?2:0)|(HEAP8[SDL.keyboardState+1254>>0]?512:0),i?SDL.keyboardMap[n]=e.keyCode:delete SDL.keyboardMap[n];break;case"mousedown":case"mouseup":"mousedown"==e.type?SDL.buttonState|=1<>2]=SDL.DOMEventToSDLEvent[e.type],HEAP8[i+8>>0]=t?1:0,HEAP8[i+9>>0]=0,HEAP32[i+12>>2]=n,HEAP32[i+16>>2]=r,HEAP16[i+20>>1]=SDL.modState,HEAP32[i+24>>2]=e.keypressCharCode||r;break;case"keypress":HEAP32[i>>2]=SDL.DOMEventToSDLEvent[e.type];for(var o=intArrayFromString(String.fromCharCode(e.charCode)),_=0;_>0]=o[_];break;case"mousedown":case"mouseup":case"mousemove":if("mousemove"!=e.type){t="mousedown"===e.type;HEAP32[i>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP32[i+4>>2]=0,HEAP32[i+8>>2]=0,HEAP32[i+12>>2]=0,HEAP8[i+16>>0]=e.button+1,HEAP8[i+17>>0]=t?1:0,HEAP32[i+20>>2]=Browser.mouseX,HEAP32[i+24>>2]=Browser.mouseY}else HEAP32[i>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP32[i+4>>2]=0,HEAP32[i+8>>2]=0,HEAP32[i+12>>2]=0,HEAP32[i+16>>2]=SDL.buttonState,HEAP32[i+20>>2]=Browser.mouseX,HEAP32[i+24>>2]=Browser.mouseY,HEAP32[i+28>>2]=Browser.mouseMovementX,HEAP32[i+32>>2]=Browser.mouseMovementY;break;case"wheel":HEAP32[i>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP32[i+16>>2]=e.deltaX,HEAP32[i+20>>2]=e.deltaY;break;case"touchstart":case"touchend":case"touchmove":var a=e.touch;if(!Browser.touches[a.identifier])break;var l=Module.canvas.width,u=Module.canvas.height,s=Browser.touches[a.identifier].x/l,c=Browser.touches[a.identifier].y/u,f=s-Browser.lastTouches[a.identifier].x/l,d=c-Browser.lastTouches[a.identifier].y/u;if(void 0===a.deviceID&&(a.deviceID=SDL.TOUCH_DEFAULT_ID),0==f&&0==d&&"touchmove"===e.type)return!1;HEAP32[i>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP32[i+4>>2]=_SDL_GetTicks(),tempI64=[a.deviceID>>>0,(tempDouble=a.deviceID,1<=+Math_abs(tempDouble)?0>>0:~~+Math_ceil((tempDouble-(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[i+8>>2]=tempI64[0],HEAP32[i+12>>2]=tempI64[1],tempI64=[a.identifier>>>0,(tempDouble=a.identifier,1<=+Math_abs(tempDouble)?0>>0:~~+Math_ceil((tempDouble-(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[i+16>>2]=tempI64[0],HEAP32[i+20>>2]=tempI64[1],HEAPF32[i+24>>2]=s,HEAPF32[i+28>>2]=c,HEAPF32[i+32>>2]=f,HEAPF32[i+36>>2]=d,void 0!==a.force?HEAPF32[i+40>>2]=a.force:HEAPF32[i+40>>2]="touchend"==e.type?0:1;break;case"unload":HEAP32[i>>2]=SDL.DOMEventToSDLEvent[e.type];break;case"resize":HEAP32[i>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP32[i+4>>2]=e.w,HEAP32[i+8>>2]=e.h;break;case"joystick_button_up":case"joystick_button_down":var p="joystick_button_up"===e.type?0:1;HEAP32[i>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP8[i+4>>0]=e.index,HEAP8[i+5>>0]=e.button,HEAP8[i+6>>0]=p;break;case"joystick_axis_motion":HEAP32[i>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP8[i+4>>0]=e.index,HEAP8[i+5>>0]=e.axis,HEAP32[i+8>>2]=SDL.joystickAxisValueConversion(e.value);break;case"focus":HEAP32[i>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP32[i+4>>2]=0,HEAP8[i+8>>0]=12;break;case"blur":HEAP32[i>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP32[i+4>>2]=0,HEAP8[i+8>>0]=13;break;case"visibilitychange":var m=e.visible?1:2;HEAP32[i>>2]=SDL.DOMEventToSDLEvent[e.type],HEAP32[i+4>>2]=0,HEAP8[i+8>>0]=m;break;default:throw"Unhandled SDL event: "+e.type}},makeFontString:function(e,i){return"'"!=i.charAt(0)&&'"'!=i.charAt(0)&&(i='"'+i+'"'),e+"px "+i+", serif"},estimateTextWidth:function(e,i){var n=e.size,t=SDL.makeFontString(n,e.name),r=SDL.ttfContext;r.save(),r.font=t;var o=0|r.measureText(i).width;return r.restore(),o},allocateChannels:function(e){if(!(SDL.numChannels&&SDL.numChannels>=e&&0!=e)){SDL.numChannels=e,SDL.channels=[];for(var i=0;i>1]/32768;else if(8==SDL.audio.format)for(_=0;_>0];o[_]=(0<=a?a-128:a+128)/128}}},debugSurface:function(e){console.log("dumping surface "+[e.surf,e.source,e.width,e.height]);for(var i=e.ctx.getImageData(0,0,e.width,e.height).data,n=Math.min(e.width,e.height),t=0;te&&0<=e?i[e]:null}};function _SDL_GL_SwapBuffers(){Browser.doSwapBuffers&&Browser.doSwapBuffers()}function _ShowBanner(e,i){"undefined"!=typeof gdsdk&&gdsdk.showBanner()}function ___cxa_allocate_exception(e){return _malloc(e)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(e){if(!e||EXCEPTIONS.infos[e])return e;for(var i in EXCEPTIONS.infos){if(EXCEPTIONS.infos[i].adjusted===e)return i}return e},addRef:function(e){e&&EXCEPTIONS.infos[e].refcount++},decRef:function(e){if(e){var i=EXCEPTIONS.infos[e];assert(0>2]=e,e=___cxa_find_matching_catch.buffer;for(var r=0;r>2],i.adjusted=e,0|(setTempRet0(t[r]),e);return e=HEAP32[e>>2],0|(setTempRet0(n),e)}function ___cxa_throw(e,i,n){throw EXCEPTIONS.infos[e]={ptr:e,adjusted:e,type:i,destructor:n,refcount:0,caught:!1,rethrown:!1},EXCEPTIONS.last=e,"uncaught_exception"in __ZSt18uncaught_exceptionv?__ZSt18uncaught_exceptionv.uncaught_exception++:__ZSt18uncaught_exceptionv.uncaught_exception=1,e}function ___gxx_personality_v0(){}function ___lock(){}function ___map_file(e,i){return ___setErrNo(ERRNO_CODES.EPERM),-1}var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(e,i){if("/"!==i[0]){var n;if(-100===e)n=FS.cwd();else{var t=FS.getStream(e);if(!t)throw new FS.ErrnoError(ERRNO_CODES.EBADF);n=t.path}i=PATH.join2(n,i)}return i},doStat:function(e,i,n){try{var t=e(i)}catch(e){if(e&&e.node&&PATH.normalize(i)!==PATH.normalize(FS.getPath(e.node)))return-ERRNO_CODES.ENOTDIR;throw e}return HEAP32[n>>2]=t.dev,HEAP32[n+4>>2]=0,HEAP32[n+8>>2]=t.ino,HEAP32[n+12>>2]=t.mode,HEAP32[n+16>>2]=t.nlink,HEAP32[n+20>>2]=t.uid,HEAP32[n+24>>2]=t.gid,HEAP32[n+28>>2]=t.rdev,HEAP32[n+32>>2]=0,HEAP32[n+36>>2]=t.size,HEAP32[n+40>>2]=4096,HEAP32[n+44>>2]=t.blocks,HEAP32[n+48>>2]=t.atime.getTime()/1e3|0,HEAP32[n+52>>2]=0,HEAP32[n+56>>2]=t.mtime.getTime()/1e3|0,HEAP32[n+60>>2]=0,HEAP32[n+64>>2]=t.ctime.getTime()/1e3|0,HEAP32[n+68>>2]=0,HEAP32[n+72>>2]=t.ino,0},doMsync:function(e,i,n,t){var r=new Uint8Array(HEAPU8.subarray(e,e+n));FS.msync(i,r,0,n,t)},doMkdir:function(e,i){return"/"===(e=PATH.normalize(e))[e.length-1]&&(e=e.substr(0,e.length-1)),FS.mkdir(e,i,0),0},doMknod:function(e,i,n){switch(61440&i){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}return FS.mknod(e,i,n),0},doReadlink:function(e,i,n){if(n<=0)return-ERRNO_CODES.EINVAL;var t=FS.readlink(e),r=Math.min(n,lengthBytesUTF8(t)),o=HEAP8[i+r];return stringToUTF8(t,i,n+1),HEAP8[i+r]=o,r},doAccess:function(e,i){if(-8&i)return-ERRNO_CODES.EINVAL;var n;n=FS.lookupPath(e,{follow:!0}).node;var t="";return 4&i&&(t+="r"),2&i&&(t+="w"),1&i&&(t+="x"),t&&FS.nodePermissions(n,t)?-ERRNO_CODES.EACCES:0},doDup:function(e,i,n){var t=FS.getStream(n);return t&&FS.close(t),FS.open(e,i,0,n,n).fd},doReadv:function(e,i,n,t){for(var r=0,o=0;o>2],a=HEAP32[i+(8*o+4)>>2],l=FS.read(e,HEAP8,_,a,t);if(l<0)return-1;if(r+=l,l>2],a=HEAP32[i+(8*o+4)>>2],l=FS.write(e,HEAP8,_,a,t);if(l<0)return-1;r+=l}return r},varargs:0,get:function(e){return SYSCALLS.varargs+=4,HEAP32[SYSCALLS.varargs-4>>2]},getStr:function(){return Pointer_stringify(SYSCALLS.get())},getStreamFromFD:function(){var e=FS.getStream(SYSCALLS.get());if(!e)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return e},getSocketFromFD:function(){var e=SOCKFS.getSocket(SYSCALLS.get());if(!e)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return e},getSocketAddress:function(e){var i=SYSCALLS.get(),n=SYSCALLS.get();if(e&&0===i)return null;var t=__read_sockaddr(i,n);if(t.errno)throw new FS.ErrnoError(t.errno);return t.addr=DNS.lookup_addr(t.addr)||t.addr,t},get64:function(){var e=SYSCALLS.get(),i=SYSCALLS.get();return assert(0<=e?0===i:-1===i),e},getZero:function(){assert(0===SYSCALLS.get())}};function ___syscall10(e,i){SYSCALLS.varargs=i;try{var n=SYSCALLS.getStr();return FS.unlink(n),0}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall122(e,i){SYSCALLS.varargs=i;try{var n=SYSCALLS.get();if(!n)return-ERRNO_CODES.EFAULT;var t={sysname:0,nodename:65,domainname:325,machine:260,version:195,release:130,__size__:390};function r(e,i){writeAsciiToMemory(i,n+t[e])}return r("sysname","Emscripten"),r("nodename","emscripten"),r("release","1.0"),r("version","#1"),r("machine","x86-JS"),0}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall140(e,i){SYSCALLS.varargs=i;try{var n=SYSCALLS.getStreamFromFD(),t=(SYSCALLS.get(),SYSCALLS.get()),r=SYSCALLS.get(),o=SYSCALLS.get(),_=t;return FS.llseek(n,_,o),HEAP32[r>>2]=n.position,n.getdents&&0===_&&0===o&&(n.getdents=null),0}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall145(e,i){SYSCALLS.varargs=i;try{var n=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),r=SYSCALLS.get();return SYSCALLS.doReadv(n,t,r)}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall146(e,i){SYSCALLS.varargs=i;try{var n=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),r=SYSCALLS.get();return SYSCALLS.doWritev(n,t,r)}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall15(e,i){SYSCALLS.varargs=i;try{var n=SYSCALLS.getStr(),t=SYSCALLS.get();return FS.chmod(n,t),0}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall168(e,i){SYSCALLS.varargs=i;try{for(var n=SYSCALLS.get(),t=SYSCALLS.get(),r=(SYSCALLS.get(),0),o=0;o>2],l=HEAP16[_+4>>1],u=32,s=FS.getStream(a);s&&(u=SYSCALLS.DEFAULT_POLLMASK,s.stream_ops.poll&&(u=s.stream_ops.poll(s))),(u&=24|l)&&r++,HEAP16[_+6>>1]=u}return r}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall183(e,i){SYSCALLS.varargs=i;try{var n=SYSCALLS.get(),t=SYSCALLS.get();if(0===t)return-ERRNO_CODES.EINVAL;var r=FS.cwd();return t>2]=_,HEAP32[t+o+4>>2]=n.position,HEAP16[t+o+8>>1]=268,HEAP8[t+o+10>>0]=a,stringToUTF8(l,t+o+11,256),o+=268}return o}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall221(e,i){SYSCALLS.varargs=i;try{var n=SYSCALLS.getStreamFromFD();switch(SYSCALLS.get()){case 0:return(t=SYSCALLS.get())<0?-ERRNO_CODES.EINVAL:FS.open(n.path,n.flags,0,t).fd;case 1:case 2:return 0;case 3:return n.flags;case 4:var t=SYSCALLS.get();return n.flags|=t,0;case 12:case 12:t=SYSCALLS.get();return HEAP16[t+0>>1]=2,0;case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:return ___setErrNo(ERRNO_CODES.EINVAL),-1;default:return-ERRNO_CODES.EINVAL}}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall268(e,i){SYSCALLS.varargs=i;try{SYSCALLS.getStr();var n=SYSCALLS.get(),t=SYSCALLS.get();return assert(64===n),HEAP32[t+4>>2]=4096,HEAP32[t+40>>2]=4096,HEAP32[t+8>>2]=1e6,HEAP32[t+12>>2]=5e5,HEAP32[t+16>>2]=5e5,HEAP32[t+20>>2]=FS.nextInode,HEAP32[t+24>>2]=1e6,HEAP32[t+28>>2]=42,HEAP32[t+44>>2]=2,HEAP32[t+36>>2]=255,0}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall3(e,i){SYSCALLS.varargs=i;try{var n=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),r=SYSCALLS.get();return FS.read(n,HEAP8,t,r)}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall33(e,i){SYSCALLS.varargs=i;try{var n=SYSCALLS.getStr(),t=SYSCALLS.get();return SYSCALLS.doAccess(n,t)}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall38(e,i){SYSCALLS.varargs=i;try{var n=SYSCALLS.getStr(),t=SYSCALLS.getStr();return FS.rename(n,t),0}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall39(e,i){SYSCALLS.varargs=i;try{var n=SYSCALLS.getStr(),t=SYSCALLS.get();return SYSCALLS.doMkdir(n,t)}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall4(e,i){SYSCALLS.varargs=i;try{var n=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),r=SYSCALLS.get();return FS.write(n,HEAP8,t,r)}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall40(e,i){SYSCALLS.varargs=i;try{var n=SYSCALLS.getStr();return FS.rmdir(n),0}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall41(e,i){SYSCALLS.varargs=i;try{var n=SYSCALLS.getStreamFromFD();return FS.open(n.path,n.flags,0).fd}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount:function(e){return FS.createNode(null,"/",16895,0)},createPipe:function(){var e={buckets:[]};e.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var i=PIPEFS.nextname(),n=PIPEFS.nextname(),t=FS.createNode(PIPEFS.root,i,4096,0),r=FS.createNode(PIPEFS.root,n,4096,0);t.pipe=e,r.pipe=e;var o=FS.createStream({path:i,node:t,flags:FS.modeStringToFlags("r"),seekable:!1,stream_ops:PIPEFS.stream_ops});t.stream=o;var _=FS.createStream({path:n,node:r,flags:FS.modeStringToFlags("w"),seekable:!1,stream_ops:PIPEFS.stream_ops});return r.stream=_,{readable_fd:o.fd,writable_fd:_.fd}},stream_ops:{poll:function(e){var i=e.node.pipe;if(1==(2097155&e.flags))return 260;if(0>2]=t.readable_fd,HEAP32[n+4>>2]=t.writable_fd,0}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall5(e,i){SYSCALLS.varargs=i;try{var n=SYSCALLS.getStr(),t=SYSCALLS.get(),r=SYSCALLS.get();return FS.open(n,t,r).fd}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall54(e,i){SYSCALLS.varargs=i;try{var n=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get();switch(t){case 21509:case 21505:return n.tty?0:-ERRNO_CODES.ENOTTY;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return n.tty?0:-ERRNO_CODES.ENOTTY;case 21519:if(!n.tty)return-ERRNO_CODES.ENOTTY;var r=SYSCALLS.get();return HEAP32[r>>2]=0;case 21520:return n.tty?-ERRNO_CODES.EINVAL:-ERRNO_CODES.ENOTTY;case 21531:r=SYSCALLS.get();return FS.ioctl(n,t,r);case 21523:return n.tty?0:-ERRNO_CODES.ENOTTY;default:abort("bad ioctl syscall "+t)}}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall6(e,i){SYSCALLS.varargs=i;try{var n=SYSCALLS.getStreamFromFD();return FS.close(n),0}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall85(e,i){SYSCALLS.varargs=i;try{var n=SYSCALLS.getStr(),t=SYSCALLS.get(),r=SYSCALLS.get();return SYSCALLS.doReadlink(n,t,r)}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall91(e,i){SYSCALLS.varargs=i;try{var n=SYSCALLS.get(),t=SYSCALLS.get(),r=SYSCALLS.mappings[n];if(!r)return 0;if(t===r.len){var o=FS.getStream(r.fd);SYSCALLS.doMsync(n,o,t,r.flags),FS.munmap(o),SYSCALLS.mappings[n]=null,r.allocated&&_free(r.malloc)}return 0}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___unlock(){}function _abort(){Module.abort()}function _atexit(e,i){__ATEXIT__.unshift({func:e,arg:i})}function _clock(){return void 0===_clock.start&&(_clock.start=Date.now()),1e3*(Date.now()-_clock.start)|0}function _emscripten_get_now_res(){return ENVIRONMENT_IS_NODE?1:"undefined"!=typeof dateNow||(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self.performance&&self.performance.now?1e3:1e6}function _emscripten_get_now_is_monotonic(){return ENVIRONMENT_IS_NODE||"undefined"!=typeof dateNow||(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self.performance&&self.performance.now}function _clock_getres(e,i){var n;if(0===e)n=1e6;else{if(1!==e||!_emscripten_get_now_is_monotonic())return ___setErrNo(ERRNO_CODES.EINVAL),-1;n=_emscripten_get_now_res()}return HEAP32[i>>2]=n/1e9|0,HEAP32[i+4>>2]=n,0}function _clock_gettime(e,i){var n;if(0===e)n=Date.now();else{if(1!==e||!_emscripten_get_now_is_monotonic())return ___setErrNo(ERRNO_CODES.EINVAL),-1;n=_emscripten_get_now()}return HEAP32[i>>2]=n/1e3|0,HEAP32[i+4>>2]=n%1e3*1e3*1e3|0,0}function _difftime(e,i){return e-i}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:!1,staticInit:function(){if("undefined"!=typeof window){window.addEventListener("gamepadconnected",function(){++JSEvents.numGamepadsConnected}),window.addEventListener("gamepaddisconnected",function(){--JSEvents.numGamepadsConnected});var e=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null;e&&(JSEvents.numGamepadsConnected=e.length)}},registerRemoveEventListeners:function(){JSEvents.removeEventListenersRegistered||(__ATEXIT__.push(function(){for(var e=JSEvents.eventHandlers.length-1;0<=e;--e)JSEvents._removeHandler(e)}),JSEvents.removeEventListenersRegistered=!0)},findEventTarget:function(e){return e?("number"==typeof e&&(e=Pointer_stringify(e)),"#window"==e?window:"#document"==e?document:"#screen"==e?window.screen:"#canvas"==e?Module.canvas:"string"==typeof e?document.getElementById(e):e):window},deferredCalls:[],deferCall:function(e,i,n){function t(e,i){if(e.length==i.length){for(var n in e)if(e[n]!=i[n])return;return 1}}for(var r in JSEvents.deferredCalls){var o=JSEvents.deferredCalls[r];if(o.targetFunction==e&&t(o.argsList,n))return}JSEvents.deferredCalls.push({targetFunction:e,precedence:i,argsList:n}),JSEvents.deferredCalls.sort(function(e,i){return e.precedence>2]=i.location,HEAP32[JSEvents.keyEvent+68>>2]=i.ctrlKey,HEAP32[JSEvents.keyEvent+72>>2]=i.shiftKey,HEAP32[JSEvents.keyEvent+76>>2]=i.altKey,HEAP32[JSEvents.keyEvent+80>>2]=i.metaKey,HEAP32[JSEvents.keyEvent+84>>2]=i.repeat,stringToUTF8(i.locale?i.locale:"",JSEvents.keyEvent+88,32),stringToUTF8(i.char?i.char:"",JSEvents.keyEvent+120,32),HEAP32[JSEvents.keyEvent+152>>2]=i.charCode,HEAP32[JSEvents.keyEvent+156>>2]=i.keyCode,HEAP32[JSEvents.keyEvent+160>>2]=i.which,Module.dynCall_iiii(t,r,JSEvents.keyEvent,n)&&i.preventDefault()},useCapture:i};JSEvents.registerOrRemoveHandler(_)},getBoundingClientRectOrZeros:function(e){return e.getBoundingClientRect?e.getBoundingClientRect():{left:0,top:0}},fillMouseEventData:function(e,i,n){if(HEAPF64[e>>3]=JSEvents.tick(),HEAP32[e+8>>2]=i.screenX,HEAP32[e+12>>2]=i.screenY,HEAP32[e+16>>2]=i.clientX,HEAP32[e+20>>2]=i.clientY,HEAP32[e+24>>2]=i.ctrlKey,HEAP32[e+28>>2]=i.shiftKey,HEAP32[e+32>>2]=i.altKey,HEAP32[e+36>>2]=i.metaKey,HEAP16[e+40>>1]=i.button,HEAP16[e+42>>1]=i.buttons,HEAP32[e+44>>2]=i.movementX||i.mozMovementX||i.webkitMovementX||i.screenX-JSEvents.previousScreenX,HEAP32[e+48>>2]=i.movementY||i.mozMovementY||i.webkitMovementY||i.screenY-JSEvents.previousScreenY,Module.canvas){var t=Module.canvas.getBoundingClientRect();HEAP32[e+60>>2]=i.clientX-t.left,HEAP32[e+64>>2]=i.clientY-t.top}else HEAP32[e+60>>2]=0,HEAP32[e+64>>2]=0;if(n){t=JSEvents.getBoundingClientRectOrZeros(n);HEAP32[e+52>>2]=i.clientX-t.left,HEAP32[e+56>>2]=i.clientY-t.top}else HEAP32[e+52>>2]=0,HEAP32[e+56>>2]=0;"wheel"!==i.type&&"mousewheel"!==i.type&&(JSEvents.previousScreenX=i.screenX,JSEvents.previousScreenY=i.screenY)},registerMouseEventCallback:function(n,t,e,r,o,i){JSEvents.mouseEvent||(JSEvents.mouseEvent=_malloc(72));var _={target:n=JSEvents.findEventTarget(n),allowsDeferredCalls:"mousemove"!=i&&"mouseenter"!=i&&"mouseleave"!=i,eventTypeString:i,callbackfunc:r,handlerFunc:function(e){var i=e||window.event;JSEvents.fillMouseEventData(JSEvents.mouseEvent,i,n),Module.dynCall_iiii(r,o,JSEvents.mouseEvent,t)&&i.preventDefault()},useCapture:e};JSEvents.isInternetExplorer()&&"mousedown"==i&&(_.allowsDeferredCalls=!1),JSEvents.registerOrRemoveHandler(_)},registerWheelEventCallback:function(n,t,e,r,o,i){JSEvents.wheelEvent||(JSEvents.wheelEvent=_malloc(104));var _={target:n=JSEvents.findEventTarget(n),allowsDeferredCalls:!0,eventTypeString:i,callbackfunc:r,handlerFunc:"wheel"==i?function(e){var i=e||window.event;JSEvents.fillMouseEventData(JSEvents.wheelEvent,i,n),HEAPF64[JSEvents.wheelEvent+72>>3]=i.deltaX,HEAPF64[JSEvents.wheelEvent+80>>3]=i.deltaY,HEAPF64[JSEvents.wheelEvent+88>>3]=i.deltaZ,HEAP32[JSEvents.wheelEvent+96>>2]=i.deltaMode,Module.dynCall_iiii(r,o,JSEvents.wheelEvent,t)&&i.preventDefault()}:function(e){var i=e||window.event;JSEvents.fillMouseEventData(JSEvents.wheelEvent,i,n),HEAPF64[JSEvents.wheelEvent+72>>3]=i.wheelDeltaX||0,HEAPF64[JSEvents.wheelEvent+80>>3]=-(i.wheelDeltaY?i.wheelDeltaY:i.wheelDelta),HEAPF64[JSEvents.wheelEvent+88>>3]=0,HEAP32[JSEvents.wheelEvent+96>>2]=0,Module.dynCall_iiii(r,o,JSEvents.wheelEvent,t)&&i.preventDefault()},useCapture:e};JSEvents.registerOrRemoveHandler(_)},pageScrollPos:function(){return 0>2]=i.detail,HEAP32[JSEvents.uiEvent+4>>2]=document.body.clientWidth,HEAP32[JSEvents.uiEvent+8>>2]=document.body.clientHeight,HEAP32[JSEvents.uiEvent+12>>2]=window.innerWidth,HEAP32[JSEvents.uiEvent+16>>2]=window.innerHeight,HEAP32[JSEvents.uiEvent+20>>2]=window.outerWidth,HEAP32[JSEvents.uiEvent+24>>2]=window.outerHeight,HEAP32[JSEvents.uiEvent+28>>2]=n[0],HEAP32[JSEvents.uiEvent+32>>2]=n[1],Module.dynCall_iiii(o,_,JSEvents.uiEvent,r)&&i.preventDefault()}},useCapture:e};JSEvents.registerOrRemoveHandler(n)},getNodeNameForTarget:function(e){return e?e==window?"#window":e==window.screen?"#screen":e&&e.nodeName?e.nodeName:"":""},registerFocusEventCallback:function(e,r,i,o,_,n){JSEvents.focusEvent||(JSEvents.focusEvent=_malloc(256));var t={target:JSEvents.findEventTarget(e),allowsDeferredCalls:!1,eventTypeString:n,callbackfunc:o,handlerFunc:function(e){var i=e||window.event,n=JSEvents.getNodeNameForTarget(i.target),t=i.target.id?i.target.id:"";stringToUTF8(n,JSEvents.focusEvent+0,128),stringToUTF8(t,JSEvents.focusEvent+128,128),Module.dynCall_iiii(o,_,JSEvents.focusEvent,r)&&i.preventDefault()},useCapture:i};JSEvents.registerOrRemoveHandler(t)},tick:function(){return window.performance&&window.performance.now?window.performance.now():Date.now()},registerDeviceOrientationEventCallback:function(e,n,i,t,r,o){JSEvents.deviceOrientationEvent||(JSEvents.deviceOrientationEvent=_malloc(40));var _={target:JSEvents.findEventTarget(e),allowsDeferredCalls:!1,eventTypeString:o,callbackfunc:t,handlerFunc:function(e){var i=e||window.event;HEAPF64[JSEvents.deviceOrientationEvent>>3]=JSEvents.tick(),HEAPF64[JSEvents.deviceOrientationEvent+8>>3]=i.alpha,HEAPF64[JSEvents.deviceOrientationEvent+16>>3]=i.beta,HEAPF64[JSEvents.deviceOrientationEvent+24>>3]=i.gamma,HEAP32[JSEvents.deviceOrientationEvent+32>>2]=i.absolute,Module.dynCall_iiii(t,r,JSEvents.deviceOrientationEvent,n)&&i.preventDefault()},useCapture:i};JSEvents.registerOrRemoveHandler(_)},registerDeviceMotionEventCallback:function(e,n,i,t,r,o){JSEvents.deviceMotionEvent||(JSEvents.deviceMotionEvent=_malloc(80));var _={target:JSEvents.findEventTarget(e),allowsDeferredCalls:!1,eventTypeString:o,callbackfunc:t,handlerFunc:function(e){var i=e||window.event;HEAPF64[JSEvents.deviceMotionEvent>>3]=JSEvents.tick(),HEAPF64[JSEvents.deviceMotionEvent+8>>3]=i.acceleration.x,HEAPF64[JSEvents.deviceMotionEvent+16>>3]=i.acceleration.y,HEAPF64[JSEvents.deviceMotionEvent+24>>3]=i.acceleration.z,HEAPF64[JSEvents.deviceMotionEvent+32>>3]=i.accelerationIncludingGravity.x,HEAPF64[JSEvents.deviceMotionEvent+40>>3]=i.accelerationIncludingGravity.y,HEAPF64[JSEvents.deviceMotionEvent+48>>3]=i.accelerationIncludingGravity.z,HEAPF64[JSEvents.deviceMotionEvent+56>>3]=i.rotationRate.alpha,HEAPF64[JSEvents.deviceMotionEvent+64>>3]=i.rotationRate.beta,HEAPF64[JSEvents.deviceMotionEvent+72>>3]=i.rotationRate.gamma,Module.dynCall_iiii(t,r,JSEvents.deviceMotionEvent,n)&&i.preventDefault()},useCapture:i};JSEvents.registerOrRemoveHandler(_)},screenOrientation:function(){if(window.screen)return window.screen.orientation||window.screen.mozOrientation||window.screen.webkitOrientation||window.screen.msOrientation},fillOrientationChangeEventData:function(e,i){var n=JSEvents.screenOrientation(),t=["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"].indexOf(n);-1==t&&(t=["portrait","portrait","landscape","landscape"].indexOf(n)),HEAP32[e>>2]=1<>2]=window.orientation},registerOrientationChangeEventCallback:function(e,n,i,t,r,o){JSEvents.orientationChangeEvent||(JSEvents.orientationChangeEvent=_malloc(8)),e=e?JSEvents.findEventTarget(e):window.screen;"orientationchange"==o&&void 0!==window.screen.mozOrientation&&(o="mozorientationchange");var _={target:e,allowsDeferredCalls:!1,eventTypeString:o,callbackfunc:t,handlerFunc:function(e){var i=e||window.event;JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent,i),Module.dynCall_iiii(t,r,JSEvents.orientationChangeEvent,n)&&i.preventDefault()},useCapture:i};JSEvents.registerOrRemoveHandler(_)},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled},fillFullscreenChangeEventData:function(e,i){var n=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement,t=!!n;HEAP32[e>>2]=t,HEAP32[e+4>>2]=JSEvents.fullscreenEnabled();var r=t?n:JSEvents.previousFullscreenElement,o=JSEvents.getNodeNameForTarget(r),_=r&&r.id?r.id:"";stringToUTF8(o,e+8,128),stringToUTF8(_,e+136,128),HEAP32[e+264>>2]=r?r.clientWidth:0,HEAP32[e+268>>2]=r?r.clientHeight:0,HEAP32[e+272>>2]=screen.width,HEAP32[e+276>>2]=screen.height,t&&(JSEvents.previousFullscreenElement=n)},registerFullscreenChangeEventCallback:function(e,n,i,t,r,o){JSEvents.fullscreenChangeEvent||(JSEvents.fullscreenChangeEvent=_malloc(280));var _={target:e=e?JSEvents.findEventTarget(e):document,allowsDeferredCalls:!1,eventTypeString:o,callbackfunc:t,handlerFunc:function(e){var i=e||window.event;JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent,i),Module.dynCall_iiii(t,r,JSEvents.fullscreenChangeEvent,n)&&i.preventDefault()},useCapture:i};JSEvents.registerOrRemoveHandler(_)},resizeCanvasForFullscreen:function(e,i){var n=__registerRestoreOldStyle(e),t=i.softFullscreen?window.innerWidth:screen.width,r=i.softFullscreen?window.innerHeight:screen.height,o=e.getBoundingClientRect(),_=o.right-o.left,a=o.bottom-o.top,l=e.width,u=e.height;if(3==i.scaleMode)__setLetterbox(e,(r-a)/2,(t-_)/2),t=_,r=a;else if(2==i.scaleMode)if(t*u>2]=t;var r=JSEvents.getNodeNameForTarget(n),o=n&&n.id?n.id:"";stringToUTF8(r,e+4,128),stringToUTF8(o,e+132,128)},registerPointerlockChangeEventCallback:function(e,n,i,t,r,o){JSEvents.pointerlockChangeEvent||(JSEvents.pointerlockChangeEvent=_malloc(260));var _={target:e=e?JSEvents.findEventTarget(e):document,allowsDeferredCalls:!1,eventTypeString:o,callbackfunc:t,handlerFunc:function(e){var i=e||window.event;JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent,i),Module.dynCall_iiii(t,r,JSEvents.pointerlockChangeEvent,n)&&i.preventDefault()},useCapture:i};JSEvents.registerOrRemoveHandler(_)},registerPointerlockErrorEventCallback:function(e,n,i,t,r,o){var _={target:e=e?JSEvents.findEventTarget(e):document,allowsDeferredCalls:!1,eventTypeString:o,callbackfunc:t,handlerFunc:function(e){var i=e||window.event;Module.dynCall_iiii(t,r,0,n)&&i.preventDefault()},useCapture:i};JSEvents.registerOrRemoveHandler(_)},requestPointerLock:function(e){if(e.requestPointerLock)e.requestPointerLock();else if(e.mozRequestPointerLock)e.mozRequestPointerLock();else if(e.webkitRequestPointerLock)e.webkitRequestPointerLock();else{if(!e.msRequestPointerLock)return document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock?-3:-1;e.msRequestPointerLock()}return 0},fillVisibilityChangeEventData:function(e,i){var n=["hidden","visible","prerender","unloaded"].indexOf(document.visibilityState);HEAP32[e>>2]=document.hidden,HEAP32[e+4>>2]=n},registerVisibilityChangeEventCallback:function(e,n,i,t,r,o){JSEvents.visibilityChangeEvent||(JSEvents.visibilityChangeEvent=_malloc(8));var _={target:e=e?JSEvents.findEventTarget(e):document,allowsDeferredCalls:!1,eventTypeString:o,callbackfunc:t,handlerFunc:function(e){var i=e||window.event;JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent,i),Module.dynCall_iiii(t,r,JSEvents.visibilityChangeEvent,n)&&i.preventDefault()},useCapture:i};JSEvents.registerOrRemoveHandler(_)},registerTouchEventCallback:function(s,c,e,f,d,i){JSEvents.touchEvent||(JSEvents.touchEvent=_malloc(1684));var n={target:s=JSEvents.findEventTarget(s),allowsDeferredCalls:"touchstart"==i||"touchend"==i,eventTypeString:i,callbackfunc:f,handlerFunc:function(e){for(var i=e||window.event,n={},t=0;t>2]=i.ctrlKey,HEAP32[o+8>>2]=i.shiftKey,HEAP32[o+12>>2]=i.altKey,HEAP32[o+16>>2]=i.metaKey,o+=20;var _=Module.canvas?Module.canvas.getBoundingClientRect():void 0,a=JSEvents.getBoundingClientRectOrZeros(s),l=0;for(var t in n){var u=n[t];if(HEAP32[o>>2]=u.identifier,HEAP32[o+4>>2]=u.screenX,HEAP32[o+8>>2]=u.screenY,HEAP32[o+12>>2]=u.clientX,HEAP32[o+16>>2]=u.clientY,HEAP32[o+20>>2]=u.pageX,HEAP32[o+24>>2]=u.pageY,HEAP32[o+28>>2]=u.changed,HEAP32[o+32>>2]=u.onTarget,_?(HEAP32[o+44>>2]=u.clientX-_.left,HEAP32[o+48>>2]=u.clientY-_.top):(HEAP32[o+44>>2]=0,HEAP32[o+48>>2]=0),HEAP32[o+36>>2]=u.clientX-a.left,HEAP32[o+40>>2]=u.clientY-a.top,o+=52,32<=++l)break}HEAP32[JSEvents.touchEvent>>2]=l,Module.dynCall_iiii(f,d,JSEvents.touchEvent,c)&&i.preventDefault()},useCapture:e};JSEvents.registerOrRemoveHandler(n)},fillGamepadEventData:function(e,i){HEAPF64[e>>3]=i.timestamp;for(var n=0;n>3]=i.axes[n];for(n=0;n>3]=i.buttons[n].value:HEAPF64[e+8*n+528>>3]=i.buttons[n];for(n=0;n>2]=i.buttons[n].pressed:HEAP32[e+4*n+1040>>2]=1==i.buttons[n];HEAP32[e+1296>>2]=i.connected,HEAP32[e+1300>>2]=i.index,HEAP32[e+8>>2]=i.axes.length,HEAP32[e+12>>2]=i.buttons.length,stringToUTF8(i.id,e+1304,64),stringToUTF8(i.mapping,e+1368,64)},registerGamepadEventCallback:function(e,n,i,t,r,o){JSEvents.gamepadEvent||(JSEvents.gamepadEvent=_malloc(1432));var _={target:JSEvents.findEventTarget(e),allowsDeferredCalls:!0,eventTypeString:o,callbackfunc:t,handlerFunc:function(e){var i=e||window.event;JSEvents.fillGamepadEventData(JSEvents.gamepadEvent,i.gamepad),Module.dynCall_iiii(t,r,JSEvents.gamepadEvent,n)&&i.preventDefault()},useCapture:i};JSEvents.registerOrRemoveHandler(_)},registerBeforeUnloadEventCallback:function(e,t,i,r,o,n){var _={target:JSEvents.findEventTarget(e),allowsDeferredCalls:!1,eventTypeString:n,callbackfunc:r,handlerFunc:function(e){var i=e||window.event,n=Module.dynCall_iiii(r,o,0,t);if(n=n&&Pointer_stringify(n))return i.preventDefault(),i.returnValue=n},useCapture:i};JSEvents.registerOrRemoveHandler(_)},battery:function(){return navigator.battery||navigator.mozBattery||navigator.webkitBattery},fillBatteryEventData:function(e,i){HEAPF64[e>>3]=i.chargingTime,HEAPF64[e+8>>3]=i.dischargingTime,HEAPF64[e+16>>3]=i.level,HEAP32[e+24>>2]=i.charging},registerBatteryEventCallback:function(e,n,i,t,r,o){JSEvents.batteryEvent||(JSEvents.batteryEvent=_malloc(32));var _={target:JSEvents.findEventTarget(e),allowsDeferredCalls:!1,eventTypeString:o,callbackfunc:t,handlerFunc:function(e){var i=e||window.event;JSEvents.fillBatteryEventData(JSEvents.batteryEvent,JSEvents.battery()),Module.dynCall_iiii(t,r,JSEvents.batteryEvent,n)&&i.preventDefault()},useCapture:i};JSEvents.registerOrRemoveHandler(_)},registerWebGlEventCallback:function(e,n,i,t,r,o){e=e||Module.canvas;var _={target:JSEvents.findEventTarget(e),allowsDeferredCalls:!1,eventTypeString:o,callbackfunc:t,handlerFunc:function(e){var i=e||window.event;Module.dynCall_iiii(t,r,0,n)&&i.preventDefault()},useCapture:i};JSEvents.registerOrRemoveHandler(_)}},__currentFullscreenStrategy={};function _emscripten_exit_fullscreen(){if(void 0===JSEvents.fullscreenEnabled())return-1;if(JSEvents.removeDeferredCalls(JSEvents.requestFullscreen),document.exitFullscreen)document.exitFullscreen();else if(document.msExitFullscreen)document.msExitFullscreen();else if(document.mozCancelFullScreen)document.mozCancelFullScreen();else{if(!document.webkitExitFullscreen)return-1;document.webkitExitFullscreen()}return __currentFullscreenStrategy.canvasResizedCallback&&Module.dynCall_iiii(__currentFullscreenStrategy.canvasResizedCallback,37,0,__currentFullscreenStrategy.canvasResizedCallbackUserData),0}function _emscripten_exit_pointerlock(){if(JSEvents.removeDeferredCalls(JSEvents.requestPointerLock),document.exitPointerLock)document.exitPointerLock();else if(document.msExitPointerLock)document.msExitPointerLock();else if(document.mozExitPointerLock)document.mozExitPointerLock();else{if(!document.webkitExitPointerLock)return-1;document.webkitExitPointerLock()}return 0}function _emscripten_get_fullscreen_status(e){return void 0===JSEvents.fullscreenEnabled()?-1:(JSEvents.fillFullscreenChangeEventData(e),0)}function __emscripten_sample_gamepad_data(){JSEvents.numGamepadsConnected&&(Browser.mainLoop.currentFrameNumber===JSEvents.lastGamepadStateFrame&&Browser.mainLoop.currentFrameNumber||(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null,JSEvents.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber))}function _emscripten_get_gamepad_status(e,i){return __emscripten_sample_gamepad_data(),JSEvents.lastGamepadState?e<0||e>=JSEvents.lastGamepadState.length?-5:JSEvents.lastGamepadState[e]?(JSEvents.fillGamepadEventData(i,JSEvents.lastGamepadState[e]),0):-7:-1}function _emscripten_get_main_loop_timing(e,i){e&&(HEAP32[e>>2]=Browser.mainLoop.timingMode),i&&(HEAP32[i>>2]=Browser.mainLoop.timingValue)}function _emscripten_get_num_gamepads(){return JSEvents.numGamepadsConnected?(__emscripten_sample_gamepad_data(),JSEvents.lastGamepadState?JSEvents.lastGamepadState.length:-1):0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],queries:[],samplers:[],transformFeedbacks:[],syncs:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},stringiCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var e=0;e>2];_=a<0?Pointer_stringify(HEAP32[n+4*o>>2]):Pointer_stringify(HEAP32[n+4*o>>2],a)}else _=Pointer_stringify(HEAP32[n+4*o>>2]);r+=_}return r},createContext:function(e,i){var n;void 0===i.majorVersion&&void 0===i.minorVersion&&("undefined"!=typeof WebGL2RenderingContext?i.majorVersion=2:i.majorVersion=1,i.minorVersion=0);var t="?";function r(e){t=e.statusMessage||t}try{e.addEventListener("webglcontextcreationerror",r,!1);try{if(1==i.majorVersion&&0==i.minorVersion)n=e.getContext("webgl",i)||e.getContext("experimental-webgl",i);else{if(2!=i.majorVersion||0!=i.minorVersion)throw"Unsupported WebGL context version "+majorVersion+"."+minorVersion+"!";n=e.getContext("webgl2",i)}}finally{e.removeEventListener("webglcontextcreationerror",r,!1)}if(!n)throw":("}catch(e){return Module.print("Could not create canvas: "+[t,e,JSON.stringify(i)]),0}return n?GL.registerContext(n,i):0},registerContext:function(e,i){var n=GL.getNewId(GL.contexts),t={handle:n,attributes:i,version:i.majorVersion,GLctx:e};function r(){var e=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);return!!e&&parseInt(e[2],10)}return t.supportsWebGL2EntryPoints=2<=t.version&&(!1===r()||58<=r()),e.canvas&&(e.canvas.GLctxObject=t),GL.contexts[n]=t,void 0!==i.enableExtensionsByDefault&&!i.enableExtensionsByDefault||GL.initExtensions(t),n},makeContextCurrent:function(e){var i=GL.contexts[e];return!!i&&(GLctx=Module.ctx=i.GLctx,GL.currentContext=i,!0)},getContext:function(e){return GL.contexts[e]},deleteContext:function(e){GL.currentContext===GL.contexts[e]&&(GL.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(GL.contexts[e].GLctx.canvas),GL.contexts[e]&&GL.contexts[e].GLctx.canvas&&(GL.contexts[e].GLctx.canvas.GLctxObject=void 0),GL.contexts[e]=null},initExtensions:function(e){if(!(e=e||GL.currentContext).initExtensionsDone){e.initExtensionsDone=!0;var i=e.GLctx;if(e.maxVertexAttribs=i.getParameter(i.MAX_VERTEX_ATTRIBS),e.version<2){var o=i.getExtension("ANGLE_instanced_arrays");o&&(i.vertexAttribDivisor=function(e,i){o.vertexAttribDivisorANGLE(e,i)},i.drawArraysInstanced=function(e,i,n,t){o.drawArraysInstancedANGLE(e,i,n,t)},i.drawElementsInstanced=function(e,i,n,t,r){o.drawElementsInstancedANGLE(e,i,n,t,r)});var n=i.getExtension("OES_vertex_array_object");n&&(i.createVertexArray=function(){return n.createVertexArrayOES()},i.deleteVertexArray=function(e){n.deleteVertexArrayOES(e)},i.bindVertexArray=function(e){n.bindVertexArrayOES(e)},i.isVertexArray=function(e){return n.isVertexArrayOES(e)});var t=i.getExtension("WEBGL_draw_buffers");t&&(i.drawBuffers=function(e,i){t.drawBuffersWEBGL(e,i)})}i.disjointTimerQueryExt=i.getExtension("EXT_disjoint_timer_query");var r=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","WEBGL_compressed_texture_atc","WEBKIT_WEBGL_compressed_texture_pvrtc","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_frag_depth","EXT_sRGB","WEBGL_draw_buffers","WEBGL_shared_resources","EXT_shader_texture_lod","EXT_color_buffer_float"],_=i.getSupportedExtensions();_&&0<_.length&&i.getSupportedExtensions().forEach(function(e){-1!=r.indexOf(e)&&i.getExtension(e)})}},populateUniformTable:function(e){var i=GL.programs[e];GL.programInfos[e]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};for(var n=GL.programInfos[e],t=n.uniforms,r=GLctx.getProgramParameter(i,GLctx.ACTIVE_UNIFORMS),o=0;o>2],r=GL.buffers[t];r&&(GLctx.deleteBuffer(r),r.name=0,GL.buffers[t]=null,t==GL.currArrayBuffer&&(GL.currArrayBuffer=0),t==GL.currElementArrayBuffer&&(GL.currElementArrayBuffer=0))}}function _emscripten_glDeleteFramebuffers(e,i){for(var n=0;n>2],r=GL.framebuffers[t];r&&(GLctx.deleteFramebuffer(r),r.name=0,GL.framebuffers[t]=null)}}function _emscripten_glDeleteObjectARB(){Module.printErr("missing function: emscripten_glDeleteObjectARB"),abort(-1)}function _emscripten_glDeleteProgram(e){if(e){var i=GL.programs[e];i?(GLctx.deleteProgram(i),i.name=0,GL.programs[e]=null,GL.programInfos[e]=null):GL.recordError(1281)}}function _emscripten_glDeleteRenderbuffers(e,i){for(var n=0;n>2],r=GL.renderbuffers[t];r&&(GLctx.deleteRenderbuffer(r),r.name=0,GL.renderbuffers[t]=null)}}function _emscripten_glDeleteShader(e){if(e){var i=GL.shaders[e];i?(GLctx.deleteShader(i),GL.shaders[e]=null):GL.recordError(1281)}}function _emscripten_glDeleteTextures(e,i){for(var n=0;n>2],r=GL.textures[t];r&&(GLctx.deleteTexture(r),r.name=0,GL.textures[t]=null)}}function _emscripten_glDeleteVertexArrays(e,i){for(var n=0;n>2];GLctx.deleteVertexArray(GL.vaos[t]),GL.vaos[t]=null}}function _emscripten_glDepthFunc(e){GLctx.depthFunc(e)}function _emscripten_glDepthMask(e){GLctx.depthMask(!!e)}function _emscripten_glDepthRange(e,i){GLctx.depthRange(e,i)}function _emscripten_glDepthRangef(e,i){GLctx.depthRange(e,i)}function _emscripten_glDetachShader(e,i){GLctx.detachShader(GL.programs[e],GL.shaders[i])}function _emscripten_glDisable(e){GLctx.disable(e)}function _emscripten_glDisableVertexAttribArray(e){GLctx.disableVertexAttribArray(e)}function _emscripten_glDrawArrays(e,i,n){GLctx.drawArrays(e,i,n)}function _emscripten_glDrawArraysInstanced(e,i,n,t){GLctx.drawArraysInstanced(e,i,n,t)}function _emscripten_glDrawBuffers(e,i){for(var n=GL.tempFixedLengthArray[e],t=0;t>2];GLctx.drawBuffers(n)}function _emscripten_glDrawElements(e,i,n,t){GLctx.drawElements(e,i,n,t)}function _emscripten_glDrawElementsInstanced(e,i,n,t,r){GLctx.drawElementsInstanced(e,i,n,t,r)}function _emscripten_glDrawRangeElements(e,i,n,t,r,o){_emscripten_glDrawElements(e,t,r,o),GLctx.drawElements(e,t,r,o)}function _emscripten_glEnable(e){GLctx.enable(e)}function _emscripten_glEnableClientState(){Module.printErr("missing function: emscripten_glEnableClientState"),abort(-1)}function _emscripten_glEnableVertexAttribArray(e){GLctx.enableVertexAttribArray(e)}function _emscripten_glFinish(){GLctx.finish()}function _emscripten_glFlush(){GLctx.flush()}function _emscripten_glFramebufferRenderbuffer(e,i,n,t){GLctx.framebufferRenderbuffer(e,i,n,GL.renderbuffers[t])}function _emscripten_glFramebufferTexture2D(e,i,n,t,r){GLctx.framebufferTexture2D(e,i,n,GL.textures[t],r)}function _emscripten_glFrontFace(e){GLctx.frontFace(e)}function _emscripten_glFrustum(){Module.printErr("missing function: emscripten_glFrustum"),abort(-1)}function _emscripten_glGenBuffers(e,i){for(var n=0;n>2]=0;return}var r=GL.getNewId(GL.buffers);t.name=r,GL.buffers[r]=t,HEAP32[i+4*n>>2]=r}}function _emscripten_glGenFramebuffers(e,i){for(var n=0;n>2]=0;return}var r=GL.getNewId(GL.framebuffers);t.name=r,GL.framebuffers[r]=t,HEAP32[i+4*n>>2]=r}}function _emscripten_glGenRenderbuffers(e,i){for(var n=0;n>2]=0;return}var r=GL.getNewId(GL.renderbuffers);t.name=r,GL.renderbuffers[r]=t,HEAP32[i+4*n>>2]=r}}function _emscripten_glGenTextures(e,i){for(var n=0;n>2]=0;return}var r=GL.getNewId(GL.textures);t.name=r,GL.textures[r]=t,HEAP32[i+4*n>>2]=r}}function _emscripten_glGenVertexArrays(e,i){for(var n=0;n>2]=0;return}var r=GL.getNewId(GL.vaos);t.name=r,GL.vaos[r]=t,HEAP32[i+4*n>>2]=r}}function _emscripten_glGenerateMipmap(e){GLctx.generateMipmap(e)}function _emscripten_glGetActiveAttrib(e,i,n,t,r,o,_){e=GL.programs[e];var a=GLctx.getActiveAttrib(e,i);if(a){if(0>2]=l)}else t&&(HEAP32[t>>2]=0);r&&(HEAP32[r>>2]=a.size),o&&(HEAP32[o>>2]=a.type)}}function _emscripten_glGetActiveUniform(e,i,n,t,r,o,_){e=GL.programs[e];var a=GLctx.getActiveUniform(e,i);if(a){if(0>2]=l)}else t&&(HEAP32[t>>2]=0);r&&(HEAP32[r>>2]=a.size),o&&(HEAP32[o>>2]=a.type)}}function _emscripten_glGetAttachedShaders(e,i,n,t){var r=GLctx.getAttachedShaders(GL.programs[e]),o=r.length;i>2]=o;for(var _=0;_>2]=a}}function _emscripten_glGetAttribLocation(e,i){return e=GL.programs[e],i=Pointer_stringify(i),GLctx.getAttribLocation(e,i)}function emscriptenWebGLGet(e,i,n){if(i){var t=void 0;switch(e){case 36346:t=1;break;case 36344:return void("Integer"!==n&&"Integer64"!==n&&GL.recordError(1280));case 34814:case 36345:t=0;break;case 34466:t=GLctx.getParameter(34467).length;break;case 33309:if(GLctx.canvas.GLctxObject.version<2)return void GL.recordError(1282);t=2*GLctx.getSupportedExtensions().length;break;case 33307:case 33308:if(GLctx.canvas.GLctxObject.version<2)return void GL.recordError(1280);t=33307==e?3:0}if(void 0===t){var r=GLctx.getParameter(e);switch(typeof r){case"number":t=r;break;case"boolean":t=r?1:0;break;case"string":return void GL.recordError(1280);case"object":if(null===r)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 35097:case 36389:case 34068:t=0;break;default:return void GL.recordError(1280)}else{if(r instanceof Float32Array||r instanceof Uint32Array||r instanceof Int32Array||r instanceof Array){for(var o=0;o>2]=r[o];break;case"Float":HEAPF32[i+4*o>>2]=r[o];break;case"Boolean":HEAP8[i+o>>0]=r[o]?1:0;break;default:throw"internal glGet error, bad type: "+n}return}if(!(r instanceof WebGLBuffer||r instanceof WebGLProgram||r instanceof WebGLFramebuffer||r instanceof WebGLRenderbuffer||r instanceof WebGLQuery||r instanceof WebGLSampler||r instanceof WebGLSync||r instanceof WebGLTransformFeedback||r instanceof WebGLVertexArrayObject||r instanceof WebGLTexture))return void GL.recordError(1280);t=0|r.name}break;default:return void GL.recordError(1280)}}switch(n){case"Integer64":tempI64=[t>>>0,(tempDouble=t,1<=+Math_abs(tempDouble)?0>>0:~~+Math_ceil((tempDouble-(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[i>>2]=tempI64[0],HEAP32[i+4>>2]=tempI64[1];break;case"Integer":HEAP32[i>>2]=t;break;case"Float":HEAPF32[i>>2]=t;break;case"Boolean":HEAP8[i>>0]=t?1:0;break;default:throw"internal glGet error, bad type: "+n}}else GL.recordError(1281)}function _emscripten_glGetBooleanv(e,i){emscriptenWebGLGet(e,i,"Boolean")}function _emscripten_glGetBufferParameteriv(e,i,n){n?HEAP32[n>>2]=GLctx.getBufferParameter(e,i):GL.recordError(1281)}function _emscripten_glGetError(){if(GL.lastError){var e=GL.lastError;return GL.lastError=0,e}return GLctx.getError()}function _emscripten_glGetFloatv(e,i){emscriptenWebGLGet(e,i,"Float")}function _emscripten_glGetFramebufferAttachmentParameteriv(e,i,n,t){var r=GLctx.getFramebufferAttachmentParameter(e,i,n);HEAP32[t>>2]=r}function _emscripten_glGetInfoLogARB(){Module.printErr("missing function: emscripten_glGetInfoLogARB"),abort(-1)}function _emscripten_glGetIntegerv(e,i){emscriptenWebGLGet(e,i,"Integer")}function _emscripten_glGetObjectParameterivARB(){Module.printErr("missing function: emscripten_glGetObjectParameterivARB"),abort(-1)}function _emscripten_glGetPointerv(){Module.printErr("missing function: emscripten_glGetPointerv"),abort(-1)}function _emscripten_glGetProgramInfoLog(e,i,n,t){var r=GLctx.getProgramInfoLog(GL.programs[e]);if(null===r&&(r="(unknown error)"),0>2]=o)}else n&&(HEAP32[n>>2]=0)}function _emscripten_glGetProgramiv(e,i,n){if(n)if(e>=GL.counter)GL.recordError(1281);else{var t=GL.programInfos[e];if(t)if(35716==i){var r=GLctx.getProgramInfoLog(GL.programs[e]);null===r&&(r="(unknown error)"),HEAP32[n>>2]=r.length+1}else if(35719==i)HEAP32[n>>2]=t.maxUniformLength;else if(35722==i){if(-1==t.maxAttributeLength){e=GL.programs[e];for(var o=GLctx.getProgramParameter(e,GLctx.ACTIVE_ATTRIBUTES),_=t.maxAttributeLength=0;_>2]=t.maxAttributeLength}else if(35381==i){if(-1==t.maxUniformBlockNameLength){e=GL.programs[e];var l=GLctx.getProgramParameter(e,GLctx.ACTIVE_UNIFORM_BLOCKS);for(_=t.maxUniformBlockNameLength=0;_>2]=t.maxUniformBlockNameLength}else HEAP32[n>>2]=GLctx.getProgramParameter(GL.programs[e],i);else GL.recordError(1282)}else GL.recordError(1281)}function _emscripten_glGetRenderbufferParameteriv(e,i,n){n?HEAP32[n>>2]=GLctx.getRenderbufferParameter(e,i):GL.recordError(1281)}function _emscripten_glGetShaderInfoLog(e,i,n,t){var r=GLctx.getShaderInfoLog(GL.shaders[e]);if(null===r&&(r="(unknown error)"),0>2]=o)}else n&&(HEAP32[n>>2]=0)}function _emscripten_glGetShaderPrecisionFormat(e,i,n,t){var r=GLctx.getShaderPrecisionFormat(e,i);HEAP32[n>>2]=r.rangeMin,HEAP32[n+4>>2]=r.rangeMax,HEAP32[t>>2]=r.precision}function _emscripten_glGetShaderSource(e,i,n,t){var r=GLctx.getShaderSource(GL.shaders[e]);if(r)if(0>2]=o)}else n&&(HEAP32[n>>2]=0)}function _emscripten_glGetShaderiv(e,i,n){if(n)if(35716==i){var t=GLctx.getShaderInfoLog(GL.shaders[e]);null===t&&(t="(unknown error)"),HEAP32[n>>2]=t.length+1}else if(35720==i){var r=GLctx.getShaderSource(GL.shaders[e]),o=null===r||0==r.length?0:r.length+1;HEAP32[n>>2]=o}else HEAP32[n>>2]=GLctx.getShaderParameter(GL.shaders[e],i);else GL.recordError(1281)}function _emscripten_glGetString(e){if(GL.stringCache[e])return GL.stringCache[e];var i;switch(e){case 7936:case 7937:case 37445:case 37446:i=allocate(intArrayFromString(GLctx.getParameter(e)),"i8",ALLOC_NORMAL);break;case 7938:var n=GLctx.getParameter(GLctx.VERSION);i=allocate(intArrayFromString(n=2<=GLctx.canvas.GLctxObject.version?"OpenGL ES 3.0 ("+n+")":"OpenGL ES 2.0 ("+n+")"),"i8",ALLOC_NORMAL);break;case 7939:for(var t=GLctx.getSupportedExtensions(),r=[],o=0;o>2]=GLctx.getTexParameter(e,i):GL.recordError(1281)}function _emscripten_glGetTexParameteriv(e,i,n){n?HEAP32[n>>2]=GLctx.getTexParameter(e,i):GL.recordError(1281)}function _emscripten_glGetUniformLocation(e,i){var n=0;if(-1!==(i=Pointer_stringify(i)).indexOf("]",i.length-1)){var t=i.lastIndexOf("["),r=i.slice(t+1,-1);if(0>2]=r;break;case"Float":HEAPF32[n>>2]=r;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+t}else for(var o=0;o>2]=r[o];break;case"Float":HEAPF32[n+4*o>>2]=r[o];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+t}}else GL.recordError(1281)}function _emscripten_glGetUniformfv(e,i,n){emscriptenWebGLGetUniform(e,i,n,"Float")}function _emscripten_glGetUniformiv(e,i,n){emscriptenWebGLGetUniform(e,i,n,"Integer")}function _emscripten_glGetVertexAttribPointerv(e,i,n){n?HEAP32[n>>2]=GLctx.getVertexAttribOffset(e,i):GL.recordError(1281)}function emscriptenWebGLGetVertexAttrib(e,i,n,t){if(n){var r=GLctx.getVertexAttrib(e,i);if(34975==i)HEAP32[n>>2]=r.name;else if("number"==typeof r||"boolean"==typeof r)switch(t){case"Integer":HEAP32[n>>2]=r;break;case"Float":HEAPF32[n>>2]=r;break;case"FloatToInteger":HEAP32[n>>2]=Math.fround(r);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+t}else for(var o=0;o>2]=r[o];break;case"Float":HEAPF32[n+4*o>>2]=r[o];break;case"FloatToInteger":HEAP32[n+4*o>>2]=Math.fround(r[o]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+t}}else GL.recordError(1281)}function _emscripten_glGetVertexAttribfv(e,i,n){emscriptenWebGLGetVertexAttrib(e,i,n,"Float")}function _emscripten_glGetVertexAttribiv(e,i,n){emscriptenWebGLGetVertexAttrib(e,i,n,"FloatToInteger")}function _emscripten_glHint(e,i){GLctx.hint(e,i)}function _emscripten_glIsBuffer(e){var i=GL.buffers[e];return i?GLctx.isBuffer(i):0}function _emscripten_glIsEnabled(e){return GLctx.isEnabled(e)}function _emscripten_glIsFramebuffer(e){var i=GL.framebuffers[e];return i?GLctx.isFramebuffer(i):0}function _emscripten_glIsProgram(e){return(e=GL.programs[e])?GLctx.isProgram(e):0}function _emscripten_glIsRenderbuffer(e){var i=GL.renderbuffers[e];return i?GLctx.isRenderbuffer(i):0}function _emscripten_glIsShader(e){var i=GL.shaders[e];return i?GLctx.isShader(i):0}function _emscripten_glIsTexture(e){return(e=GL.textures[e])?GLctx.isTexture(e):0}function _emscripten_glIsVertexArray(e){var i=GL.vaos[e];return i?GLctx.isVertexArray(i):0}function _emscripten_glLineWidth(e){GLctx.lineWidth(e)}function _emscripten_glLinkProgram(e){GLctx.linkProgram(GL.programs[e]),GL.programInfos[e]=null,GL.populateUniformTable(e)}function _emscripten_glLoadIdentity(){throw"Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}function _emscripten_glLoadMatrixf(){Module.printErr("missing function: emscripten_glLoadMatrixf"),abort(-1)}function _emscripten_glMatrixMode(){throw"Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}function _emscripten_glNormalPointer(){Module.printErr("missing function: emscripten_glNormalPointer"),abort(-1)}function _emscripten_glPixelStorei(e,i){3333==e?GL.packAlignment=i:3317==e&&(GL.unpackAlignment=i),GLctx.pixelStorei(e,i)}function _emscripten_glPolygonOffset(e,i){GLctx.polygonOffset(e,i)}function emscriptenWebGLComputeImageSize(e,i,n,t){var r,o,_=e*n,a=(r=_,o=t,Math.floor((r+o-1)/o)*o);return i<=0?0:(i-1)*a+_}function emscriptenWebGLGetTexPixelData(e,i,n,t,r,o){var _,a;switch(i){case 6406:case 6409:case 6402:case 6403:case 36244:a=1;break;case 6410:case 33319:case 33320:a=2;break;case 6407:case 35904:case 36248:a=3;break;case 6408:case 35906:case 36249:a=4;break;default:return GL.recordError(1280),null}switch(e){case 5121:case 5120:_=+a;break;case 5123:case 36193:case 5131:case 5122:_=2*a;break;case 5125:case 5126:case 5124:_=4*a;break;case 34042:case 35902:case 33640:case 35899:case 34042:_=4;break;case 33635:case 32819:case 32820:_=2;break;default:return GL.recordError(1280),null}var l=emscriptenWebGLComputeImageSize(n,t,_,GL.unpackAlignment);switch(e){case 5120:return HEAP8.subarray(r,r+l);case 5121:return HEAPU8.subarray(r,r+l);case 5122:return HEAP16.subarray(r>>1,r+l>>1);case 5124:return HEAP32.subarray(r>>2,r+l>>2);case 5126:return HEAPF32.subarray(r>>2,r+l>>2);case 5125:case 34042:case 35902:case 33640:case 35899:case 34042:return HEAPU32.subarray(r>>2,r+l>>2);case 5123:case 33635:case 32819:case 32820:case 36193:case 5131:return HEAPU16.subarray(r>>1,r+l>>1);default:return GL.recordError(1280),null}}function emscriptenWebGLGetHeapForType(e){switch(e){case 5120:return HEAP8;case 5121:return HEAPU8;case 5122:return HEAP16;case 5123:case 33635:case 32819:case 32820:case 36193:case 5131:return HEAPU16;case 5124:return HEAP32;case 5125:case 34042:case 35902:case 33640:case 35899:case 34042:return HEAPU32;case 5126:return HEAPF32;default:return null}}function emscriptenWebGLGetShiftForType(e){switch(e){case 5120:case 5121:return 0;case 5122:case 5123:case 33635:case 32819:case 32820:case 36193:case 5131:return 1;case 5124:case 5126:case 5125:case 34042:case 35902:case 33640:case 35899:case 34042:return 2;default:return 0}}function _emscripten_glReadPixels(e,i,n,t,r,o,_){if(GL.currentContext.supportsWebGL2EntryPoints)GLctx.currentPixelPackBufferBinding?GLctx.readPixels(e,i,n,t,r,o,_):GLctx.readPixels(e,i,n,t,r,o,emscriptenWebGLGetHeapForType(o),_>>emscriptenWebGLGetShiftForType(o));else{var a=emscriptenWebGLGetTexPixelData(o,r,n,t,_,r);a?GLctx.readPixels(e,i,n,t,r,o,a):GL.recordError(1280)}}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(e,i,n,t){GLctx.renderbufferStorage(e,i,n,t)}function _emscripten_glRotatef(){Module.printErr("missing function: emscripten_glRotatef"),abort(-1)}function _emscripten_glSampleCoverage(e,i){GLctx.sampleCoverage(e,!!i)}function _emscripten_glScissor(e,i,n,t){GLctx.scissor(e,i,n,t)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(e,i,n,t){var r=GL.getSource(e,i,n,t);GLctx.shaderSource(GL.shaders[e],r)}function _emscripten_glStencilFunc(e,i,n){GLctx.stencilFunc(e,i,n)}function _emscripten_glStencilFuncSeparate(e,i,n,t){GLctx.stencilFuncSeparate(e,i,n,t)}function _emscripten_glStencilMask(e){GLctx.stencilMask(e)}function _emscripten_glStencilMaskSeparate(e,i){GLctx.stencilMaskSeparate(e,i)}function _emscripten_glStencilOp(e,i,n){GLctx.stencilOp(e,i,n)}function _emscripten_glStencilOpSeparate(e,i,n,t){GLctx.stencilOpSeparate(e,i,n,t)}function _emscripten_glTexCoordPointer(){Module.printErr("missing function: emscripten_glTexCoordPointer"),abort(-1)}function _emscripten_glTexImage2D(e,i,n,t,r,o,_,a,l){if(GL.currentContext.supportsWebGL2EntryPoints)GLctx.currentPixelUnpackBufferBinding?GLctx.texImage2D(e,i,n,t,r,o,_,a,l):0!=l?GLctx.texImage2D(e,i,n,t,r,o,_,a,emscriptenWebGLGetHeapForType(a),l>>emscriptenWebGLGetShiftForType(a)):GLctx.texImage2D(e,i,n,t,r,o,_,a,null);else{var u=null;l&&(u=emscriptenWebGLGetTexPixelData(a,_,t,r,l,n)),GLctx.texImage2D(e,i,n,t,r,o,_,a,u)}}function _emscripten_glTexParameterf(e,i,n){GLctx.texParameterf(e,i,n)}function _emscripten_glTexParameterfv(e,i,n){var t=HEAPF32[n>>2];GLctx.texParameterf(e,i,t)}function _emscripten_glTexParameteri(e,i,n){GLctx.texParameteri(e,i,n)}function _emscripten_glTexParameteriv(e,i,n){var t=HEAP32[n>>2];GLctx.texParameteri(e,i,t)}function _emscripten_glTexSubImage2D(e,i,n,t,r,o,_,a,l){if(GL.currentContext.supportsWebGL2EntryPoints)GLctx.currentPixelUnpackBufferBinding?GLctx.texSubImage2D(e,i,n,t,r,o,_,a,l):0!=l?GLctx.texSubImage2D(e,i,n,t,r,o,_,a,emscriptenWebGLGetHeapForType(a),l>>emscriptenWebGLGetShiftForType(a)):GLctx.texSubImage2D(e,i,n,t,r,o,_,a,null);else{var u=null;l&&(u=emscriptenWebGLGetTexPixelData(a,_,r,o,l,0)),GLctx.texSubImage2D(e,i,n,t,r,o,_,a,u)}}function _emscripten_glUniform1f(e,i){GLctx.uniform1f(GL.uniforms[e],i)}function _emscripten_glUniform1fv(e,i,n){if(GL.currentContext.supportsWebGL2EntryPoints)GLctx.uniform1fv(GL.uniforms[e],HEAPF32,n>>2,i);else{var t;if(i<=GL.MINI_TEMP_BUFFER_SIZE){t=GL.miniTempBufferViews[i-1];for(var r=0;r>2]}else t=HEAPF32.subarray(n>>2,n+4*i>>2);GLctx.uniform1fv(GL.uniforms[e],t)}}function _emscripten_glUniform1i(e,i){GLctx.uniform1i(GL.uniforms[e],i)}function _emscripten_glUniform1iv(e,i,n){GL.currentContext.supportsWebGL2EntryPoints?GLctx.uniform1iv(GL.uniforms[e],HEAP32,n>>2,i):GLctx.uniform1iv(GL.uniforms[e],HEAP32.subarray(n>>2,n+4*i>>2))}function _emscripten_glUniform2f(e,i,n){GLctx.uniform2f(GL.uniforms[e],i,n)}function _emscripten_glUniform2fv(e,i,n){if(GL.currentContext.supportsWebGL2EntryPoints)GLctx.uniform2fv(GL.uniforms[e],HEAPF32,n>>2,2*i);else{var t;if(2*i<=GL.MINI_TEMP_BUFFER_SIZE){t=GL.miniTempBufferViews[2*i-1];for(var r=0;r<2*i;r+=2)t[r]=HEAPF32[n+4*r>>2],t[r+1]=HEAPF32[n+(4*r+4)>>2]}else t=HEAPF32.subarray(n>>2,n+8*i>>2);GLctx.uniform2fv(GL.uniforms[e],t)}}function _emscripten_glUniform2i(e,i,n){GLctx.uniform2i(GL.uniforms[e],i,n)}function _emscripten_glUniform2iv(e,i,n){GL.currentContext.supportsWebGL2EntryPoints?GLctx.uniform2iv(GL.uniforms[e],HEAP32,n>>2,2*i):GLctx.uniform2iv(GL.uniforms[e],HEAP32.subarray(n>>2,n+8*i>>2))}function _emscripten_glUniform3f(e,i,n,t){GLctx.uniform3f(GL.uniforms[e],i,n,t)}function _emscripten_glUniform3fv(e,i,n){if(GL.currentContext.supportsWebGL2EntryPoints)GLctx.uniform3fv(GL.uniforms[e],HEAPF32,n>>2,3*i);else{var t;if(3*i<=GL.MINI_TEMP_BUFFER_SIZE){t=GL.miniTempBufferViews[3*i-1];for(var r=0;r<3*i;r+=3)t[r]=HEAPF32[n+4*r>>2],t[r+1]=HEAPF32[n+(4*r+4)>>2],t[r+2]=HEAPF32[n+(4*r+8)>>2]}else t=HEAPF32.subarray(n>>2,n+12*i>>2);GLctx.uniform3fv(GL.uniforms[e],t)}}function _emscripten_glUniform3i(e,i,n,t){GLctx.uniform3i(GL.uniforms[e],i,n,t)}function _emscripten_glUniform3iv(e,i,n){GL.currentContext.supportsWebGL2EntryPoints?GLctx.uniform3iv(GL.uniforms[e],HEAP32,n>>2,3*i):GLctx.uniform3iv(GL.uniforms[e],HEAP32.subarray(n>>2,n+12*i>>2))}function _emscripten_glUniform4f(e,i,n,t,r){GLctx.uniform4f(GL.uniforms[e],i,n,t,r)}function _emscripten_glUniform4fv(e,i,n){if(GL.currentContext.supportsWebGL2EntryPoints)GLctx.uniform4fv(GL.uniforms[e],HEAPF32,n>>2,4*i);else{var t;if(4*i<=GL.MINI_TEMP_BUFFER_SIZE){t=GL.miniTempBufferViews[4*i-1];for(var r=0;r<4*i;r+=4)t[r]=HEAPF32[n+4*r>>2],t[r+1]=HEAPF32[n+(4*r+4)>>2],t[r+2]=HEAPF32[n+(4*r+8)>>2],t[r+3]=HEAPF32[n+(4*r+12)>>2]}else t=HEAPF32.subarray(n>>2,n+16*i>>2);GLctx.uniform4fv(GL.uniforms[e],t)}}function _emscripten_glUniform4i(e,i,n,t,r){GLctx.uniform4i(GL.uniforms[e],i,n,t,r)}function _emscripten_glUniform4iv(e,i,n){GL.currentContext.supportsWebGL2EntryPoints?GLctx.uniform4iv(GL.uniforms[e],HEAP32,n>>2,4*i):GLctx.uniform4iv(GL.uniforms[e],HEAP32.subarray(n>>2,n+16*i>>2))}function _emscripten_glUniformMatrix2fv(e,i,n,t){if(GL.currentContext.supportsWebGL2EntryPoints)GLctx.uniformMatrix2fv(GL.uniforms[e],!!n,HEAPF32,t>>2,4*i);else{var r;if(4*i<=GL.MINI_TEMP_BUFFER_SIZE){r=GL.miniTempBufferViews[4*i-1];for(var o=0;o<4*i;o+=4)r[o]=HEAPF32[t+4*o>>2],r[o+1]=HEAPF32[t+(4*o+4)>>2],r[o+2]=HEAPF32[t+(4*o+8)>>2],r[o+3]=HEAPF32[t+(4*o+12)>>2]}else r=HEAPF32.subarray(t>>2,t+16*i>>2);GLctx.uniformMatrix2fv(GL.uniforms[e],!!n,r)}}function _emscripten_glUniformMatrix3fv(e,i,n,t){if(GL.currentContext.supportsWebGL2EntryPoints)GLctx.uniformMatrix3fv(GL.uniforms[e],!!n,HEAPF32,t>>2,9*i);else{var r;if(9*i<=GL.MINI_TEMP_BUFFER_SIZE){r=GL.miniTempBufferViews[9*i-1];for(var o=0;o<9*i;o+=9)r[o]=HEAPF32[t+4*o>>2],r[o+1]=HEAPF32[t+(4*o+4)>>2],r[o+2]=HEAPF32[t+(4*o+8)>>2],r[o+3]=HEAPF32[t+(4*o+12)>>2],r[o+4]=HEAPF32[t+(4*o+16)>>2],r[o+5]=HEAPF32[t+(4*o+20)>>2],r[o+6]=HEAPF32[t+(4*o+24)>>2],r[o+7]=HEAPF32[t+(4*o+28)>>2],r[o+8]=HEAPF32[t+(4*o+32)>>2]}else r=HEAPF32.subarray(t>>2,t+36*i>>2);GLctx.uniformMatrix3fv(GL.uniforms[e],!!n,r)}}function _emscripten_glUniformMatrix4fv(e,i,n,t){if(GL.currentContext.supportsWebGL2EntryPoints)GLctx.uniformMatrix4fv(GL.uniforms[e],!!n,HEAPF32,t>>2,16*i);else{var r;if(16*i<=GL.MINI_TEMP_BUFFER_SIZE){r=GL.miniTempBufferViews[16*i-1];for(var o=0;o<16*i;o+=16)r[o]=HEAPF32[t+4*o>>2],r[o+1]=HEAPF32[t+(4*o+4)>>2],r[o+2]=HEAPF32[t+(4*o+8)>>2],r[o+3]=HEAPF32[t+(4*o+12)>>2],r[o+4]=HEAPF32[t+(4*o+16)>>2],r[o+5]=HEAPF32[t+(4*o+20)>>2],r[o+6]=HEAPF32[t+(4*o+24)>>2],r[o+7]=HEAPF32[t+(4*o+28)>>2],r[o+8]=HEAPF32[t+(4*o+32)>>2],r[o+9]=HEAPF32[t+(4*o+36)>>2],r[o+10]=HEAPF32[t+(4*o+40)>>2],r[o+11]=HEAPF32[t+(4*o+44)>>2],r[o+12]=HEAPF32[t+(4*o+48)>>2],r[o+13]=HEAPF32[t+(4*o+52)>>2],r[o+14]=HEAPF32[t+(4*o+56)>>2],r[o+15]=HEAPF32[t+(4*o+60)>>2]}else r=HEAPF32.subarray(t>>2,t+64*i>>2);GLctx.uniformMatrix4fv(GL.uniforms[e],!!n,r)}}function _emscripten_glUseProgram(e){GLctx.useProgram(e?GL.programs[e]:null)}function _emscripten_glValidateProgram(e){GLctx.validateProgram(GL.programs[e])}function _emscripten_glVertexAttrib1f(e,i){GLctx.vertexAttrib1f(e,i)}function _emscripten_glVertexAttrib1fv(e,i){GLctx.vertexAttrib1f(e,HEAPF32[i>>2])}function _emscripten_glVertexAttrib2f(e,i,n){GLctx.vertexAttrib2f(e,i,n)}function _emscripten_glVertexAttrib2fv(e,i){GLctx.vertexAttrib2f(e,HEAPF32[i>>2],HEAPF32[i+4>>2])}function _emscripten_glVertexAttrib3f(e,i,n,t){GLctx.vertexAttrib3f(e,i,n,t)}function _emscripten_glVertexAttrib3fv(e,i){GLctx.vertexAttrib3f(e,HEAPF32[i>>2],HEAPF32[i+4>>2],HEAPF32[i+8>>2])}function _emscripten_glVertexAttrib4f(e,i,n,t,r){GLctx.vertexAttrib4f(e,i,n,t,r)}function _emscripten_glVertexAttrib4fv(e,i){GLctx.vertexAttrib4f(e,HEAPF32[i>>2],HEAPF32[i+4>>2],HEAPF32[i+8>>2],HEAPF32[i+12>>2])}function _emscripten_glVertexAttribDivisor(e,i){GLctx.vertexAttribDivisor(e,i)}function _emscripten_glVertexAttribPointer(e,i,n,t,r,o){GLctx.vertexAttribPointer(e,i,n,!!t,r,o)}function _emscripten_glVertexPointer(){throw"Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}function _emscripten_glViewport(e,i,n,t){GLctx.viewport(e,i,n,t)}function _emscripten_is_webgl_context_lost(e){return!Module.ctx||Module.ctx.isContextLost()}function __setLetterbox(e,i,n){JSEvents.isInternetExplorer()?(e.style.marginLeft=e.style.marginRight=n+"px",e.style.marginTop=e.style.marginBottom=i+"px"):(e.style.paddingLeft=e.style.paddingRight=n+"px",e.style.paddingTop=e.style.paddingBottom=i+"px")}function _emscripten_do_request_fullscreen(e,i){return void 0===JSEvents.fullscreenEnabled()?-1:JSEvents.fullscreenEnabled()?(e=e||"#canvas",(e=JSEvents.findEventTarget(e))?e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.mozRequestFullscreen||e.webkitRequestFullscreen?JSEvents.canPerformEventHandlerRequests()?JSEvents.requestFullscreen(e,i):i.deferUntilInEventHandler?(JSEvents.deferCall(JSEvents.requestFullscreen,1,[e,i]),1):-2:-3:-4):-3}function _emscripten_request_fullscreen(e,i){var n={scaleMode:0,canvasResolutionScaleMode:0,filteringMode:0};return n.deferUntilInEventHandler=i,_emscripten_do_request_fullscreen(e,n)}function _emscripten_request_pointerlock(e,i){return e=e||"#canvas",(e=JSEvents.findEventTarget(e))?e.requestPointerLock||e.mozRequestPointerLock||e.webkitRequestPointerLock||e.msRequestPointerLock?JSEvents.canPerformEventHandlerRequests()?JSEvents.requestPointerLock(e):i?(JSEvents.deferCall(JSEvents.requestPointerLock,2,[e]),1):-2:-1:-4}function _emscripten_set_blur_callback(e,i,n,t){return JSEvents.registerFocusEventCallback(e,i,n,t,12,"blur"),0}function _emscripten_set_canvas_size(e,i){Browser.setCanvasSize(e,i)}function _emscripten_set_devicemotion_callback(e,i,n){return JSEvents.registerDeviceMotionEventCallback(window,e,i,n,17,"devicemotion"),0}function _emscripten_set_deviceorientation_callback(e,i,n){return JSEvents.registerDeviceOrientationEventCallback(window,e,i,n,16,"deviceorientation"),0}function _emscripten_set_focus_callback(e,i,n,t){return JSEvents.registerFocusEventCallback(e,i,n,t,13,"focus"),0}function _emscripten_set_fullscreenchange_callback(e,i,n,t){if(void 0===JSEvents.fullscreenEnabled())return-1;if(e){if(!(e=JSEvents.findEventTarget(e)))return-4}else e=document;return JSEvents.registerFullscreenChangeEventCallback(e,i,n,t,19,"fullscreenchange"),JSEvents.registerFullscreenChangeEventCallback(e,i,n,t,19,"mozfullscreenchange"),JSEvents.registerFullscreenChangeEventCallback(e,i,n,t,19,"webkitfullscreenchange"),JSEvents.registerFullscreenChangeEventCallback(e,i,n,t,19,"msfullscreenchange"),0}function _emscripten_set_keydown_callback(e,i,n,t){return JSEvents.registerKeyEventCallback(e,i,n,t,2,"keydown"),0}function _emscripten_set_keypress_callback(e,i,n,t){return JSEvents.registerKeyEventCallback(e,i,n,t,1,"keypress"),0}function _emscripten_set_keyup_callback(e,i,n,t){return JSEvents.registerKeyEventCallback(e,i,n,t,3,"keyup"),0}function _emscripten_set_mousedown_callback(e,i,n,t){return JSEvents.registerMouseEventCallback(e,i,n,t,5,"mousedown"),0}function _emscripten_set_mousemove_callback(e,i,n,t){return JSEvents.registerMouseEventCallback(e,i,n,t,8,"mousemove"),0}function _emscripten_set_mouseup_callback(e,i,n,t){return JSEvents.registerMouseEventCallback(e,i,n,t,6,"mouseup"),0}function _emscripten_set_touchcancel_callback(e,i,n,t){return JSEvents.registerTouchEventCallback(e,i,n,t,25,"touchcancel"),0}function _emscripten_set_touchend_callback(e,i,n,t){return JSEvents.registerTouchEventCallback(e,i,n,t,23,"touchend"),0}function _emscripten_set_touchmove_callback(e,i,n,t){return JSEvents.registerTouchEventCallback(e,i,n,t,24,"touchmove"),0}function _emscripten_set_touchstart_callback(e,i,n,t){return JSEvents.registerTouchEventCallback(e,i,n,t,22,"touchstart"),0}function _emscripten_set_wheel_callback(e,i,n,t){return void 0!==(e=JSEvents.findEventTarget(e)).onwheel?(JSEvents.registerWheelEventCallback(e,i,n,t,9,"wheel"),0):void 0!==e.onmousewheel?(JSEvents.registerWheelEventCallback(e,i,n,t,9,"mousewheel"),0):-1}function _emscripten_webgl_create_context(e,i){var n,t={};return t.alpha=!!HEAP32[i>>2],t.depth=!!HEAP32[i+4>>2],t.stencil=!!HEAP32[i+8>>2],t.antialias=!!HEAP32[i+12>>2],t.premultipliedAlpha=!!HEAP32[i+16>>2],t.preserveDrawingBuffer=!!HEAP32[i+20>>2],t.preferLowPowerToHighPerformance=!!HEAP32[i+24>>2],t.failIfMajorPerformanceCaveat=!!HEAP32[i+28>>2],t.majorVersion=HEAP32[i+32>>2],t.minorVersion=HEAP32[i+36>>2],t.explicitSwapControl=HEAP32[i+44>>2],(n=(e=Pointer_stringify(e))&&"#canvas"!==e||!Module.canvas?GL.offscreenCanvases[e]||JSEvents.findEventTarget(e):Module.canvas.id?GL.offscreenCanvases[Module.canvas.id]||JSEvents.findEventTarget(Module.canvas.id):Module.canvas)?t.explicitSwapControl?(console.error("emscripten_webgl_create_context failed: explicitSwapControl is not supported, please rebuild with -s OFFSCREENCANVAS_SUPPORT=1 to enable targeting the experimental OffscreenCanvas specification!"),0):GL.createContext(n,t):0}function _emscripten_webgl_destroy_context(e){GL.deleteContext(e)}function _emscripten_webgl_enable_extension(e,i){var n=GL.getContext(e),t=Pointer_stringify(i);return 0==t.indexOf("GL_")&&(t=t.substr(3)),n.GLctx.getExtension(t)?1:0}function _emscripten_webgl_get_current_context(){return GL.currentContext?GL.currentContext.handle:0}function _emscripten_webgl_make_context_current(e){return GL.makeContextCurrent(e)?0:-5}function __exit(e){Module.exit(e)}function _exit(e){__exit(e)}function _flock(e,i){return 0}function _getpwuid(e){return 0}function _gettimeofday(e){var i=Date.now();return HEAP32[e>>2]=i/1e3|0,HEAP32[e+4>>2]=i%1e3*1e3|0,0}function _glActiveTexture(e){GLctx.activeTexture(e)}function _glAttachShader(e,i){GLctx.attachShader(GL.programs[e],GL.shaders[i])}function _glBeginQuery(e,i){GLctx.beginQuery(e,i?GL.queries[i]:null)}function _glBeginTransformFeedback(e){GLctx.beginTransformFeedback(e)}function _glBindAttribLocation(e,i,n){n=Pointer_stringify(n),GLctx.bindAttribLocation(GL.programs[e],i,n)}function _glBindBuffer(e,i){var n=i?GL.buffers[i]:null;35051==e?GLctx.currentPixelPackBufferBinding=i:35052==e&&(GLctx.currentPixelUnpackBufferBinding=i),GLctx.bindBuffer(e,n)}function _glBindBufferBase(e,i,n){var t=n?GL.buffers[n]:null;GLctx.bindBufferBase(e,i,t)}function _glBindFramebuffer(e,i){GLctx.bindFramebuffer(e,i?GL.framebuffers[i]:null)}function _glBindRenderbuffer(e,i){GLctx.bindRenderbuffer(e,i?GL.renderbuffers[i]:null)}function _glBindSampler(e,i){GLctx.bindSampler(e,i?GL.samplers[i]:null)}function _glBindTexture(e,i){GLctx.bindTexture(e,i?GL.textures[i]:null)}function _glBindTransformFeedback(e,i){var n=i?GL.transformFeedbacks[i]:null;!i||n?GLctx.bindTransformFeedback(e,n):GL.recordError(1282)}function _glBindVertexArray(e){GLctx.bindVertexArray(GL.vaos[e])}function _glBlendEquation(e){GLctx.blendEquation(e)}function _glBlendEquationSeparate(e,i){GLctx.blendEquationSeparate(e,i)}function _glBlendFuncSeparate(e,i,n,t){GLctx.blendFuncSeparate(e,i,n,t)}function _glBlitFramebuffer(e,i,n,t,r,o,_,a,l,u){GLctx.blitFramebuffer(e,i,n,t,r,o,_,a,l,u)}function _glBufferData(e,i,n,t){if(n){if(GL.currentContext.supportsWebGL2EntryPoints)return void GLctx.bufferData(e,HEAPU8,t,n,i);GLctx.bufferData(e,HEAPU8.subarray(n,n+i),t)}else GLctx.bufferData(e,i,t)}function _glBufferSubData(e,i,n,t){GL.currentContext.supportsWebGL2EntryPoints?GLctx.bufferSubData(e,i,HEAPU8,t,n):GLctx.bufferSubData(e,i,HEAPU8.subarray(t,t+n))}function _glCheckFramebufferStatus(e){return GLctx.checkFramebufferStatus(e)}function _glClear(e){GLctx.clear(e)}function _glClearColor(e,i,n,t){GLctx.clearColor(e,i,n,t)}function _glClearDepthf(e){GLctx.clearDepth(e)}function _glClearStencil(e){GLctx.clearStencil(e)}function _glClientWaitSync(e,i,n,t){t>>>=0;var r=4294967295==(n>>>=0)&&4294967295==t?-1:makeBigInt(n,t,!0);return GLctx.clientWaitSync(GL.syncs[e],i,r)}function _glColorMask(e,i,n,t){GLctx.colorMask(!!e,!!i,!!n,!!t)}function _glCompileShader(e){GLctx.compileShader(GL.shaders[e])}function _glCompressedTexImage2D(e,i,n,t,r,o,_,a){GL.currentContext.supportsWebGL2EntryPoints?GLctx.compressedTexImage2D(e,i,n,t,r,o,HEAPU8,a,_):GLctx.compressedTexImage2D(e,i,n,t,r,o,a?HEAPU8.subarray(a,a+_):null)}function _glCompressedTexSubImage2D(e,i,n,t,r,o,_,a,l){GL.currentContext.supportsWebGL2EntryPoints?GLctx.compressedTexSubImage2D(e,i,n,t,r,o,_,HEAPU8,l,a):GLctx.compressedTexSubImage2D(e,i,n,t,r,o,_,l?HEAPU8.subarray(l,l+a):null)}function _glCompressedTexSubImage3D(e,i,n,t,r,o,_,a,l,u,s){GL.currentContext.supportsWebGL2EntryPoints?GLctx.compressedTexSubImage3D(e,i,n,t,r,o,_,a,l,HEAPU8,s,u):GLctx.compressedTexSubImage3D(e,i,n,t,r,o,_,a,l,s?HEAPU8.subarray(s,s+u):null)}function _glCopyBufferSubData(e,i,n,t,r){GLctx.copyBufferSubData(e,i,n,t,r)}function _glCopyTexImage2D(e,i,n,t,r,o,_,a){GLctx.copyTexImage2D(e,i,n,t,r,o,_,a)}function _glCopyTexSubImage2D(e,i,n,t,r,o,_,a){GLctx.copyTexSubImage2D(e,i,n,t,r,o,_,a)}function _glCreateProgram(){var e=GL.getNewId(GL.programs),i=GLctx.createProgram();return i.name=e,GL.programs[e]=i,e}function _glCreateShader(e){var i=GL.getNewId(GL.shaders);return GL.shaders[i]=GLctx.createShader(e),i}function _glCullFace(e){GLctx.cullFace(e)}function _glDeleteBuffers(e,i){for(var n=0;n>2],r=GL.buffers[t];r&&(GLctx.deleteBuffer(r),r.name=0,GL.buffers[t]=null,t==GL.currArrayBuffer&&(GL.currArrayBuffer=0),t==GL.currElementArrayBuffer&&(GL.currElementArrayBuffer=0))}}function _glDeleteFramebuffers(e,i){for(var n=0;n>2],r=GL.framebuffers[t];r&&(GLctx.deleteFramebuffer(r),r.name=0,GL.framebuffers[t]=null)}}function _glDeleteProgram(e){if(e){var i=GL.programs[e];i?(GLctx.deleteProgram(i),i.name=0,GL.programs[e]=null,GL.programInfos[e]=null):GL.recordError(1281)}}function _glDeleteQueries(e,i){for(var n=0;n>2],r=GL.queries[t];r&&(GLctx.deleteQuery(r),GL.queries[t]=null)}}function _glDeleteRenderbuffers(e,i){for(var n=0;n>2],r=GL.renderbuffers[t];r&&(GLctx.deleteRenderbuffer(r),r.name=0,GL.renderbuffers[t]=null)}}function _glDeleteSamplers(e,i){for(var n=0;n>2],r=GL.samplers[t];r&&(GLctx.deleteSampler(r),r.name=0,GL.samplers[t]=null)}}function _glDeleteShader(e){if(e){var i=GL.shaders[e];i?(GLctx.deleteShader(i),GL.shaders[e]=null):GL.recordError(1281)}}function _glDeleteSync(e){if(e){var i=GL.syncs[e];i?(GLctx.deleteSync(i),i.name=0,GL.syncs[e]=null):GL.recordError(1281)}}function _glDeleteTextures(e,i){for(var n=0;n>2],r=GL.textures[t];r&&(GLctx.deleteTexture(r),r.name=0,GL.textures[t]=null)}}function _glDeleteTransformFeedbacks(e,i){for(var n=0;n>2],r=GL.transformFeedbacks[t];r&&(GLctx.deleteTransformFeedback(r),r.name=0,GL.transformFeedbacks[t]=null)}}function _glDeleteVertexArrays(e,i){for(var n=0;n>2];GLctx.deleteVertexArray(GL.vaos[t]),GL.vaos[t]=null}}function _glDepthFunc(e){GLctx.depthFunc(e)}function _glDepthMask(e){GLctx.depthMask(!!e)}function _glDetachShader(e,i){GLctx.detachShader(GL.programs[e],GL.shaders[i])}function _glDisable(e){GLctx.disable(e)}function _glDisableVertexAttribArray(e){GLctx.disableVertexAttribArray(e)}function _glDrawArrays(e,i,n){GLctx.drawArrays(e,i,n)}function _glDrawArraysInstanced(e,i,n,t){GLctx.drawArraysInstanced(e,i,n,t)}function _glDrawBuffers(e,i){for(var n=GL.tempFixedLengthArray[e],t=0;t>2];GLctx.drawBuffers(n)}function _glDrawElements(e,i,n,t){GLctx.drawElements(e,i,n,t)}function _glDrawElementsInstanced(e,i,n,t,r){GLctx.drawElementsInstanced(e,i,n,t,r)}function _glEnable(e){GLctx.enable(e)}function _glEnableVertexAttribArray(e){GLctx.enableVertexAttribArray(e)}function _glEndQuery(e){GLctx.endQuery(e)}function _glEndTransformFeedback(){GLctx.endTransformFeedback()}function _glFenceSync(e,i){var n=GLctx.fenceSync(e,i);if(n){var t=GL.getNewId(GL.syncs);return n.name=t,GL.syncs[t]=n,t}return 0}function _glFinish(){GLctx.finish()}function _glFlush(){GLctx.flush()}function emscriptenWebGLGetBufferBinding(e){switch(e){case 34962:e=34964;break;case 34963:e=34965;break;case 35051:e=35053;break;case 35052:e=35055;break;case 35982:e=35983;break;case 36662:e=36662;break;case 36663:e=36663;break;case 35345:e=35368}var i=GLctx.getParameter(e);return i?0|i.name:0}function emscriptenWebGLValidateMapBufferTarget(e){switch(e){case 34962:case 34963:case 36662:case 36663:case 35051:case 35052:case 35882:case 35982:case 35345:return!0;default:return!1}}function _glFlushMappedBufferRange(e,i,n){if(!emscriptenWebGLValidateMapBufferTarget(e))return GL.recordError(1280),void Module.printErr("GL_INVALID_ENUM in glFlushMappedBufferRange");var t=GL.mappedBuffers[emscriptenWebGLGetBufferBinding(e)];return t?16&t.access?i<0||n<0||i+n>t.length?(GL.recordError(1281),void Module.printError("invalid range in glFlushMappedBufferRange")):void GLctx.bufferSubData(e,t.offset,HEAPU8.subarray(t.mem+i,t.mem+i+n)):(GL.recordError(1282),void Module.printError("buffer was not mapped with GL_MAP_FLUSH_EXPLICIT_BIT in glFlushMappedBufferRange")):(GL.recordError(1282),void Module.printError("buffer was never mapped in glFlushMappedBufferRange"))}function _glFramebufferRenderbuffer(e,i,n,t){GLctx.framebufferRenderbuffer(e,i,n,GL.renderbuffers[t])}function _glFramebufferTexture2D(e,i,n,t,r){GLctx.framebufferTexture2D(e,i,n,GL.textures[t],r)}function _glFramebufferTextureLayer(e,i,n,t,r){GLctx.framebufferTextureLayer(e,i,GL.textures[n],t,r)}function _glFrontFace(e){GLctx.frontFace(e)}function _glGenBuffers(e,i){for(var n=0;n>2]=0;return}var r=GL.getNewId(GL.buffers);t.name=r,GL.buffers[r]=t,HEAP32[i+4*n>>2]=r}}function _glGenFramebuffers(e,i){for(var n=0;n>2]=0;return}var r=GL.getNewId(GL.framebuffers);t.name=r,GL.framebuffers[r]=t,HEAP32[i+4*n>>2]=r}}function _glGenQueries(e,i){for(var n=0;n>2]=0;return}var r=GL.getNewId(GL.queries);t.name=r,GL.queries[r]=t,HEAP32[i+4*n>>2]=r}}function _glGenRenderbuffers(e,i){for(var n=0;n>2]=0;return}var r=GL.getNewId(GL.renderbuffers);t.name=r,GL.renderbuffers[r]=t,HEAP32[i+4*n>>2]=r}}function _glGenSamplers(e,i){for(var n=0;n>2]=0;return}var r=GL.getNewId(GL.samplers);t.name=r,GL.samplers[r]=t,HEAP32[i+4*n>>2]=r}}function _glGenTextures(e,i){for(var n=0;n>2]=0;return}var r=GL.getNewId(GL.textures);t.name=r,GL.textures[r]=t,HEAP32[i+4*n>>2]=r}}function _glGenTransformFeedbacks(e,i){for(var n=0;n>2]=0;return}var r=GL.getNewId(GL.transformFeedbacks);t.name=r,GL.transformFeedbacks[r]=t,HEAP32[i+4*n>>2]=r}}function _glGenVertexArrays(e,i){for(var n=0;n>2]=0;return}var r=GL.getNewId(GL.vaos);t.name=r,GL.vaos[r]=t,HEAP32[i+4*n>>2]=r}}function _glGenerateMipmap(e){GLctx.generateMipmap(e)}function _glGetActiveAttrib(e,i,n,t,r,o,_){e=GL.programs[e];var a=GLctx.getActiveAttrib(e,i);if(a){if(0>2]=l)}else t&&(HEAP32[t>>2]=0);r&&(HEAP32[r>>2]=a.size),o&&(HEAP32[o>>2]=a.type)}}function _glGetActiveUniform(e,i,n,t,r,o,_){e=GL.programs[e];var a=GLctx.getActiveUniform(e,i);if(a){if(0>2]=l)}else t&&(HEAP32[t>>2]=0);r&&(HEAP32[r>>2]=a.size),o&&(HEAP32[o>>2]=a.type)}}function _glGetActiveUniformBlockName(e,i,n,t,r){e=GL.programs[e];var o=GLctx.getActiveUniformBlockName(e,i);if(o)if(r&&0>2]=_)}else t&&(HEAP32[t>>2]=0)}function _glGetActiveUniformBlockiv(e,i,n,t){if(t)switch(e=GL.programs[e],n){case 35393:var r=GLctx.getActiveUniformBlockName(e,i);return void(HEAP32[t>>2]=r.length+1);default:var o=GLctx.getActiveUniformBlockParameter(e,i,n);if(!o)return;if("number"==typeof o)HEAP32[t>>2]=o;else for(var _=0;_>2]=o[_]}else GL.recordError(1281)}function _glGetActiveUniformsiv(e,i,n,t,r){if(r)if(0>2]);var a=GLctx.getActiveUniforms(e,o,t);if(a){var l=a.length;for(_=0;_>2]=a[_]}}else GL.recordError(1281)}function _glGetAttribLocation(e,i){return e=GL.programs[e],i=Pointer_stringify(i),GLctx.getAttribLocation(e,i)}function _glGetError(){if(GL.lastError){var e=GL.lastError;return GL.lastError=0,e}return GLctx.getError()}function _glGetFramebufferAttachmentParameteriv(e,i,n,t){var r=GLctx.getFramebufferAttachmentParameter(e,i,n);HEAP32[t>>2]=r}function emscriptenWebGLGetIndexed(e,i,n,t){if(n){var r,o=GLctx.getIndexedParameter(e,i);switch(typeof o){case"boolean":r=o?1:0;break;case"number":r=o;break;case"object":if(null===o)switch(e){case 35983:case 35368:r=0;break;default:return void GL.recordError(1280)}else{if(!(o instanceof WebGLBuffer))return void GL.recordError(1280);r=0|o.name}break;default:return void GL.recordError(1280)}switch(t){case"Integer64":tempI64=[r>>>0,(tempDouble=r,1<=+Math_abs(tempDouble)?0>>0:~~+Math_ceil((tempDouble-(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[n>>2]=tempI64[0],HEAP32[n+4>>2]=tempI64[1];break;case"Integer":HEAP32[n>>2]=r;break;case"Float":HEAPF32[n>>2]=r;break;case"Boolean":HEAP8[n>>0]=r?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+t}}else GL.recordError(1281)}function _glGetIntegeri_v(e,i,n){emscriptenWebGLGetIndexed(e,i,n,"Integer")}function _glGetIntegerv(e,i){emscriptenWebGLGet(e,i,"Integer")}function _glGetProgramBinary(e,i,n,t,r){GL.recordError(1282)}function _glGetProgramInfoLog(e,i,n,t){var r=GLctx.getProgramInfoLog(GL.programs[e]);if(null===r&&(r="(unknown error)"),0>2]=o)}else n&&(HEAP32[n>>2]=0)}function _glGetProgramiv(e,i,n){if(n)if(e>=GL.counter)GL.recordError(1281);else{var t=GL.programInfos[e];if(t)if(35716==i){var r=GLctx.getProgramInfoLog(GL.programs[e]);null===r&&(r="(unknown error)"),HEAP32[n>>2]=r.length+1}else if(35719==i)HEAP32[n>>2]=t.maxUniformLength;else if(35722==i){if(-1==t.maxAttributeLength){e=GL.programs[e];for(var o=GLctx.getProgramParameter(e,GLctx.ACTIVE_ATTRIBUTES),_=t.maxAttributeLength=0;_>2]=t.maxAttributeLength}else if(35381==i){if(-1==t.maxUniformBlockNameLength){e=GL.programs[e];var l=GLctx.getProgramParameter(e,GLctx.ACTIVE_UNIFORM_BLOCKS);for(_=t.maxUniformBlockNameLength=0;_>2]=t.maxUniformBlockNameLength}else HEAP32[n>>2]=GLctx.getProgramParameter(GL.programs[e],i);else GL.recordError(1282)}else GL.recordError(1281)}function _glGetRenderbufferParameteriv(e,i,n){n?HEAP32[n>>2]=GLctx.getRenderbufferParameter(e,i):GL.recordError(1281)}function _glGetShaderInfoLog(e,i,n,t){var r=GLctx.getShaderInfoLog(GL.shaders[e]);if(null===r&&(r="(unknown error)"),0>2]=o)}else n&&(HEAP32[n>>2]=0)}function _glGetShaderPrecisionFormat(e,i,n,t){var r=GLctx.getShaderPrecisionFormat(e,i);HEAP32[n>>2]=r.rangeMin,HEAP32[n+4>>2]=r.rangeMax,HEAP32[t>>2]=r.precision}function _glGetShaderSource(e,i,n,t){var r=GLctx.getShaderSource(GL.shaders[e]);if(r)if(0>2]=o)}else n&&(HEAP32[n>>2]=0)}function _glGetShaderiv(e,i,n){if(n)if(35716==i){var t=GLctx.getShaderInfoLog(GL.shaders[e]);null===t&&(t="(unknown error)"),HEAP32[n>>2]=t.length+1}else if(35720==i){var r=GLctx.getShaderSource(GL.shaders[e]),o=null===r||0==r.length?0:r.length+1;HEAP32[n>>2]=o}else HEAP32[n>>2]=GLctx.getShaderParameter(GL.shaders[e],i);else GL.recordError(1281)}function _glGetString(e){if(GL.stringCache[e])return GL.stringCache[e];var i;switch(e){case 7936:case 7937:case 37445:case 37446:i=allocate(intArrayFromString(GLctx.getParameter(e)),"i8",ALLOC_NORMAL);break;case 7938:var n=GLctx.getParameter(GLctx.VERSION);i=allocate(intArrayFromString(n=2<=GLctx.canvas.GLctxObject.version?"OpenGL ES 3.0 ("+n+")":"OpenGL ES 2.0 ("+n+")"),"i8",ALLOC_NORMAL);break;case 7939:for(var t=GLctx.getSupportedExtensions(),r=[],o=0;o=n.length?(GL.recordError(1281),0):n[i];switch(e){case 7939:for(var t=GLctx.getSupportedExtensions(),r=[],o=0;o=n.length?(GL.recordError(1281),0):n[i];default:return GL.recordError(1280),0}}function _glGetTexParameteriv(e,i,n){n?HEAP32[n>>2]=GLctx.getTexParameter(e,i):GL.recordError(1281)}function _glGetUniformBlockIndex(e,i){return e=GL.programs[e],i=Pointer_stringify(i),GLctx.getUniformBlockIndex(e,i)}function _glGetUniformIndices(e,i,n,t){if(t)if(0>2]));var _=GLctx.getUniformIndices(e,r);if(_){var a=_.length;for(o=0;o>2]=_[o]}}else GL.recordError(1281)}function _glGetUniformLocation(e,i){var n=0;if(-1!==(i=Pointer_stringify(i)).indexOf("]",i.length-1)){var t=i.lastIndexOf("["),r=i.slice(t+1,-1);if(0>2];GLctx.invalidateFramebuffer(e,t)}function _glIsEnabled(e){return GLctx.isEnabled(e)}function _glIsVertexArray(e){var i=GL.vaos[e];return i?GLctx.isVertexArray(i):0}function _glLinkProgram(e){GLctx.linkProgram(GL.programs[e]),GL.programInfos[e]=null,GL.populateUniformTable(e)}function _glMapBufferRange(e,i,n,t){if(26!=t&&10!=t)return Module.printErr("glMapBufferRange is only supported when access is MAP_WRITE|INVALIDATE_BUFFER"),0;if(!emscriptenWebGLValidateMapBufferTarget(e))return GL.recordError(1280),Module.printErr("GL_INVALID_ENUM in glMapBufferRange"),0;var r=_malloc(n);return r?(GL.mappedBuffers[emscriptenWebGLGetBufferBinding(e)]={offset:i,length:n,mem:r,access:t},r):0}function _glPixelStorei(e,i){3333==e?GL.packAlignment=i:3317==e&&(GL.unpackAlignment=i),GLctx.pixelStorei(e,i)}function _glPolygonOffset(e,i){GLctx.polygonOffset(e,i)}function _glProgramBinary(e,i,n,t){GL.recordError(1280)}function _glProgramParameteri(e,i,n){GL.recordError(1280)}function _glReadBuffer(e){GLctx.readBuffer(e)}function _glReadPixels(e,i,n,t,r,o,_){if(GL.currentContext.supportsWebGL2EntryPoints)GLctx.currentPixelPackBufferBinding?GLctx.readPixels(e,i,n,t,r,o,_):GLctx.readPixels(e,i,n,t,r,o,emscriptenWebGLGetHeapForType(o),_>>emscriptenWebGLGetShiftForType(o));else{var a=emscriptenWebGLGetTexPixelData(o,r,n,t,_,r);a?GLctx.readPixels(e,i,n,t,r,o,a):GL.recordError(1280)}}function _glRenderbufferStorage(e,i,n,t){GLctx.renderbufferStorage(e,i,n,t)}function _glRenderbufferStorageMultisample(e,i,n,t,r){GLctx.renderbufferStorageMultisample(e,i,n,t,r)}function _glSamplerParameteri(e,i,n){GLctx.samplerParameteri(e?GL.samplers[e]:null,i,n)}function _glScissor(e,i,n,t){GLctx.scissor(e,i,n,t)}function _glShaderSource(e,i,n,t){var r=GL.getSource(e,i,n,t);GLctx.shaderSource(GL.shaders[e],r)}function _glStencilFuncSeparate(e,i,n,t){GLctx.stencilFuncSeparate(e,i,n,t)}function _glStencilMask(e){GLctx.stencilMask(e)}function _glStencilOpSeparate(e,i,n,t){GLctx.stencilOpSeparate(e,i,n,t)}function _glTexImage2D(e,i,n,t,r,o,_,a,l){if(GL.currentContext.supportsWebGL2EntryPoints)GLctx.currentPixelUnpackBufferBinding?GLctx.texImage2D(e,i,n,t,r,o,_,a,l):0!=l?GLctx.texImage2D(e,i,n,t,r,o,_,a,emscriptenWebGLGetHeapForType(a),l>>emscriptenWebGLGetShiftForType(a)):GLctx.texImage2D(e,i,n,t,r,o,_,a,null);else{var u=null;l&&(u=emscriptenWebGLGetTexPixelData(a,_,t,r,l,n)),GLctx.texImage2D(e,i,n,t,r,o,_,a,u)}}function _glTexImage3D(e,i,n,t,r,o,_,a,l,u){GLctx.currentPixelUnpackBufferBinding?GLctx.texImage3D(e,i,n,t,r,o,_,a,l,u):0!=u?GLctx.texImage3D(e,i,n,t,r,o,_,a,l,emscriptenWebGLGetHeapForType(l),u>>emscriptenWebGLGetShiftForType(l)):GLctx.texImage3D(e,i,n,t,r,o,_,a,l,null)}function _glTexParameterf(e,i,n){GLctx.texParameterf(e,i,n)}function _glTexParameteri(e,i,n){GLctx.texParameteri(e,i,n)}function _glTexParameteriv(e,i,n){var t=HEAP32[n>>2];GLctx.texParameteri(e,i,t)}function _glTexStorage2D(e,i,n,t,r){GLctx.texStorage2D(e,i,n,t,r)}function _glTexStorage3D(e,i,n,t,r,o){GLctx.texStorage3D(e,i,n,t,r,o)}function _glTexSubImage2D(e,i,n,t,r,o,_,a,l){if(GL.currentContext.supportsWebGL2EntryPoints)GLctx.currentPixelUnpackBufferBinding?GLctx.texSubImage2D(e,i,n,t,r,o,_,a,l):0!=l?GLctx.texSubImage2D(e,i,n,t,r,o,_,a,emscriptenWebGLGetHeapForType(a),l>>emscriptenWebGLGetShiftForType(a)):GLctx.texSubImage2D(e,i,n,t,r,o,_,a,null);else{var u=null;l&&(u=emscriptenWebGLGetTexPixelData(a,_,r,o,l,0)),GLctx.texSubImage2D(e,i,n,t,r,o,_,a,u)}}function _glTexSubImage3D(e,i,n,t,r,o,_,a,l,u,s){GLctx.currentPixelUnpackBufferBinding?GLctx.texSubImage3D(e,i,n,t,r,o,_,a,l,u,s):0!=s?GLctx.texSubImage3D(e,i,n,t,r,o,_,a,l,u,emscriptenWebGLGetHeapForType(u),s>>emscriptenWebGLGetShiftForType(u)):GLctx.texSubImage3D(e,i,n,t,r,o,_,a,l,u,null)}function _glTransformFeedbackVaryings(e,i,n,t){e=GL.programs[e];for(var r=[],o=0;o>2]));GLctx.transformFeedbackVaryings(e,r,t)}function _glUniform1fv(e,i,n){if(GL.currentContext.supportsWebGL2EntryPoints)GLctx.uniform1fv(GL.uniforms[e],HEAPF32,n>>2,i);else{var t;if(i<=GL.MINI_TEMP_BUFFER_SIZE){t=GL.miniTempBufferViews[i-1];for(var r=0;r>2]}else t=HEAPF32.subarray(n>>2,n+4*i>>2);GLctx.uniform1fv(GL.uniforms[e],t)}}function _glUniform1i(e,i){GLctx.uniform1i(GL.uniforms[e],i)}function _glUniform1iv(e,i,n){GL.currentContext.supportsWebGL2EntryPoints?GLctx.uniform1iv(GL.uniforms[e],HEAP32,n>>2,i):GLctx.uniform1iv(GL.uniforms[e],HEAP32.subarray(n>>2,n+4*i>>2))}function _glUniform1uiv(e,i,n){GL.currentContext.supportsWebGL2EntryPoints?GLctx.uniform1uiv(GL.uniforms[e],HEAPU32,n>>2,i):GLctx.uniform1uiv(GL.uniforms[e],HEAPU32.subarray(n>>2,n+4*i>>2))}function _glUniform2fv(e,i,n){if(GL.currentContext.supportsWebGL2EntryPoints)GLctx.uniform2fv(GL.uniforms[e],HEAPF32,n>>2,2*i);else{var t;if(2*i<=GL.MINI_TEMP_BUFFER_SIZE){t=GL.miniTempBufferViews[2*i-1];for(var r=0;r<2*i;r+=2)t[r]=HEAPF32[n+4*r>>2],t[r+1]=HEAPF32[n+(4*r+4)>>2]}else t=HEAPF32.subarray(n>>2,n+8*i>>2);GLctx.uniform2fv(GL.uniforms[e],t)}}function _glUniform2iv(e,i,n){GL.currentContext.supportsWebGL2EntryPoints?GLctx.uniform2iv(GL.uniforms[e],HEAP32,n>>2,2*i):GLctx.uniform2iv(GL.uniforms[e],HEAP32.subarray(n>>2,n+8*i>>2))}function _glUniform2uiv(e,i,n){GL.currentContext.supportsWebGL2EntryPoints?GLctx.uniform2uiv(GL.uniforms[e],HEAPU32,n>>2,2*i):GLctx.uniform2uiv(GL.uniforms[e],HEAPU32.subarray(n>>2,n+8*i>>2))}function _glUniform3fv(e,i,n){if(GL.currentContext.supportsWebGL2EntryPoints)GLctx.uniform3fv(GL.uniforms[e],HEAPF32,n>>2,3*i);else{var t;if(3*i<=GL.MINI_TEMP_BUFFER_SIZE){t=GL.miniTempBufferViews[3*i-1];for(var r=0;r<3*i;r+=3)t[r]=HEAPF32[n+4*r>>2],t[r+1]=HEAPF32[n+(4*r+4)>>2],t[r+2]=HEAPF32[n+(4*r+8)>>2]}else t=HEAPF32.subarray(n>>2,n+12*i>>2);GLctx.uniform3fv(GL.uniforms[e],t)}}function _glUniform3iv(e,i,n){GL.currentContext.supportsWebGL2EntryPoints?GLctx.uniform3iv(GL.uniforms[e],HEAP32,n>>2,3*i):GLctx.uniform3iv(GL.uniforms[e],HEAP32.subarray(n>>2,n+12*i>>2))}function _glUniform3uiv(e,i,n){GL.currentContext.supportsWebGL2EntryPoints?GLctx.uniform3uiv(GL.uniforms[e],HEAPU32,n>>2,3*i):GLctx.uniform3uiv(GL.uniforms[e],HEAPU32.subarray(n>>2,n+12*i>>2))}function _glUniform4fv(e,i,n){if(GL.currentContext.supportsWebGL2EntryPoints)GLctx.uniform4fv(GL.uniforms[e],HEAPF32,n>>2,4*i);else{var t;if(4*i<=GL.MINI_TEMP_BUFFER_SIZE){t=GL.miniTempBufferViews[4*i-1];for(var r=0;r<4*i;r+=4)t[r]=HEAPF32[n+4*r>>2],t[r+1]=HEAPF32[n+(4*r+4)>>2],t[r+2]=HEAPF32[n+(4*r+8)>>2],t[r+3]=HEAPF32[n+(4*r+12)>>2]}else t=HEAPF32.subarray(n>>2,n+16*i>>2);GLctx.uniform4fv(GL.uniforms[e],t)}}function _glUniform4iv(e,i,n){GL.currentContext.supportsWebGL2EntryPoints?GLctx.uniform4iv(GL.uniforms[e],HEAP32,n>>2,4*i):GLctx.uniform4iv(GL.uniforms[e],HEAP32.subarray(n>>2,n+16*i>>2))}function _glUniform4uiv(e,i,n){GL.currentContext.supportsWebGL2EntryPoints?GLctx.uniform4uiv(GL.uniforms[e],HEAPU32,n>>2,4*i):GLctx.uniform4uiv(GL.uniforms[e],HEAPU32.subarray(n>>2,n+16*i>>2))}function _glUniformBlockBinding(e,i,n){e=GL.programs[e],GLctx.uniformBlockBinding(e,i,n)}function _glUniformMatrix3fv(e,i,n,t){if(GL.currentContext.supportsWebGL2EntryPoints)GLctx.uniformMatrix3fv(GL.uniforms[e],!!n,HEAPF32,t>>2,9*i);else{var r;if(9*i<=GL.MINI_TEMP_BUFFER_SIZE){r=GL.miniTempBufferViews[9*i-1];for(var o=0;o<9*i;o+=9)r[o]=HEAPF32[t+4*o>>2],r[o+1]=HEAPF32[t+(4*o+4)>>2],r[o+2]=HEAPF32[t+(4*o+8)>>2],r[o+3]=HEAPF32[t+(4*o+12)>>2],r[o+4]=HEAPF32[t+(4*o+16)>>2],r[o+5]=HEAPF32[t+(4*o+20)>>2],r[o+6]=HEAPF32[t+(4*o+24)>>2],r[o+7]=HEAPF32[t+(4*o+28)>>2],r[o+8]=HEAPF32[t+(4*o+32)>>2]}else r=HEAPF32.subarray(t>>2,t+36*i>>2);GLctx.uniformMatrix3fv(GL.uniforms[e],!!n,r)}}function _glUniformMatrix4fv(e,i,n,t){if(GL.currentContext.supportsWebGL2EntryPoints)GLctx.uniformMatrix4fv(GL.uniforms[e],!!n,HEAPF32,t>>2,16*i);else{var r;if(16*i<=GL.MINI_TEMP_BUFFER_SIZE){r=GL.miniTempBufferViews[16*i-1];for(var o=0;o<16*i;o+=16)r[o]=HEAPF32[t+4*o>>2],r[o+1]=HEAPF32[t+(4*o+4)>>2],r[o+2]=HEAPF32[t+(4*o+8)>>2],r[o+3]=HEAPF32[t+(4*o+12)>>2],r[o+4]=HEAPF32[t+(4*o+16)>>2],r[o+5]=HEAPF32[t+(4*o+20)>>2],r[o+6]=HEAPF32[t+(4*o+24)>>2],r[o+7]=HEAPF32[t+(4*o+28)>>2],r[o+8]=HEAPF32[t+(4*o+32)>>2],r[o+9]=HEAPF32[t+(4*o+36)>>2],r[o+10]=HEAPF32[t+(4*o+40)>>2],r[o+11]=HEAPF32[t+(4*o+44)>>2],r[o+12]=HEAPF32[t+(4*o+48)>>2],r[o+13]=HEAPF32[t+(4*o+52)>>2],r[o+14]=HEAPF32[t+(4*o+56)>>2],r[o+15]=HEAPF32[t+(4*o+60)>>2]}else r=HEAPF32.subarray(t>>2,t+64*i>>2);GLctx.uniformMatrix4fv(GL.uniforms[e],!!n,r)}}function _glUnmapBuffer(e){if(!emscriptenWebGLValidateMapBufferTarget(e))return GL.recordError(1280),Module.printErr("GL_INVALID_ENUM in glUnmapBuffer"),0;var i=emscriptenWebGLGetBufferBinding(e),n=GL.mappedBuffers[i];return n?(GL.mappedBuffers[i]=null,16&n.access||(GL.currentContext.supportsWebGL2EntryPoints?GLctx.bufferSubData(e,n.offset,HEAPU8,n.mem,n.length):GLctx.bufferSubData(e,n.offset,HEAPU8.subarray(n.mem,n.mem+n.length))),_free(n.mem),1):(GL.recordError(1282),Module.printError("buffer was never mapped in glUnmapBuffer"),0)}function _glUseProgram(e){GLctx.useProgram(e?GL.programs[e]:null)}function _glValidateProgram(e){GLctx.validateProgram(GL.programs[e])}function _glVertexAttrib4f(e,i,n,t,r){GLctx.vertexAttrib4f(e,i,n,t,r)}function _glVertexAttrib4fv(e,i){GLctx.vertexAttrib4f(e,HEAPF32[i>>2],HEAPF32[i+4>>2],HEAPF32[i+8>>2],HEAPF32[i+12>>2])}function _glVertexAttribIPointer(e,i,n,t,r){var o=GL.currentContext.clientBuffers[e];if(!GL.currArrayBuffer)return o.size=i,o.type=n,o.normalized=!1,o.stride=t,o.ptr=r,void(o.clientside=!0);o.clientside=!1,GLctx.vertexAttribIPointer(e,i,n,t,r)}function _glVertexAttribPointer(e,i,n,t,r,o){GLctx.vertexAttribPointer(e,i,n,!!t,r,o)}function _glViewport(e,i,n,t){GLctx.viewport(e,i,n,t)}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _gmtime_r(e,i){var n=new Date(1e3*HEAP32[e>>2]);HEAP32[i>>2]=n.getUTCSeconds(),HEAP32[i+4>>2]=n.getUTCMinutes(),HEAP32[i+8>>2]=n.getUTCHours(),HEAP32[i+12>>2]=n.getUTCDate(),HEAP32[i+16>>2]=n.getUTCMonth(),HEAP32[i+20>>2]=n.getUTCFullYear()-1900,HEAP32[i+24>>2]=n.getUTCDay(),HEAP32[i+36>>2]=0,HEAP32[i+32>>2]=0;var t=Date.UTC(n.getUTCFullYear(),0,1,0,0,0,0),r=(n.getTime()-t)/864e5|0;return HEAP32[i+28>>2]=r,HEAP32[i+40>>2]=___tm_timezone,i}function _gmtime(e){return _gmtime_r(e,___tm_current)}var _llvm_ceil_f32=Math_ceil,_llvm_ceil_f64=Math_ceil,cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function _llvm_cttz_i32(e){var i=0;return(0|(i=0|HEAP8[cttz_i8+(255&(e|=0))>>0]))<8?0|i:(0|(i=0|HEAP8[cttz_i8+(e>>8&255)>>0]))<8?i+8|0:(0|(i=0|HEAP8[cttz_i8+(e>>16&255)>>0]))<8?i+16|0:24+(0|HEAP8[cttz_i8+(e>>>24)>>0])|0}function _llvm_eh_typeid_for(e){return e}function _llvm_exp2_f32(e){return Math.pow(2,e)}var _llvm_fabs_f32=Math_abs,_llvm_fabs_f64=Math_abs,_llvm_floor_f32=Math_floor,_llvm_floor_f64=Math_floor,_llvm_pow_f32=Math_pow,_llvm_pow_f64=Math_pow;function _llvm_trap(){abort("trap!")}var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;function _tzset(){if(!_tzset.called){_tzset.called=!0,HEAP32[_timezone>>2]=60*(new Date).getTimezoneOffset();var e=new Date(2e3,0,1),i=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(e.getTimezoneOffset()!=i.getTimezoneOffset());var n=_(e),t=_(i),r=allocate(intArrayFromString(n),"i8",ALLOC_NORMAL),o=allocate(intArrayFromString(t),"i8",ALLOC_NORMAL);i.getTimezoneOffset()>2]=r,HEAP32[_tzname+4>>2]=o):(HEAP32[_tzname>>2]=o,HEAP32[_tzname+4>>2]=r)}function _(e){var i=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return i?i[1]:"GMT"}}function _localtime_r(e,i){_tzset();var n=new Date(1e3*HEAP32[e>>2]);HEAP32[i>>2]=n.getSeconds(),HEAP32[i+4>>2]=n.getMinutes(),HEAP32[i+8>>2]=n.getHours(),HEAP32[i+12>>2]=n.getDate(),HEAP32[i+16>>2]=n.getMonth(),HEAP32[i+20>>2]=n.getFullYear()-1900,HEAP32[i+24>>2]=n.getDay();var t=new Date(n.getFullYear(),0,1),r=(n.getTime()-t.getTime())/864e5|0;HEAP32[i+28>>2]=r,HEAP32[i+36>>2]=-60*n.getTimezoneOffset();var o=new Date(2e3,6,1).getTimezoneOffset(),_=t.getTimezoneOffset(),a=0|(o!=_&&n.getTimezoneOffset()==Math.min(_,o));HEAP32[i+32>>2]=a;var l=HEAP32[_tzname+(a?4:0)>>2];return HEAP32[i+40>>2]=l,i}function _localtime(e){return _localtime_r(e,___tm_current)}function _longjmp(e,i){throw Module.setThrew(e,i||1),"longjmp"}function _emscripten_memcpy_big(e,i,n){return HEAPU8.set(HEAPU8.subarray(i,i+n),e),e}function _mktime(e){_tzset();var i=new Date(HEAP32[e+20>>2]+1900,HEAP32[e+16>>2],HEAP32[e+12>>2],HEAP32[e+8>>2],HEAP32[e+4>>2],HEAP32[e>>2],0),n=HEAP32[e+32>>2],t=i.getTimezoneOffset(),r=new Date(i.getFullYear(),0,1),o=new Date(2e3,6,1).getTimezoneOffset(),_=r.getTimezoneOffset(),a=Math.min(_,o);if(n<0)HEAP32[e+32>>2]=Number(o!=_&&a==t);else if(0>2]=i.getDay();var s=(i.getTime()-r.getTime())/864e5|0;return HEAP32[e+28>>2]=s,i.getTime()/1e3|0}function _pthread_attr_destroy(e){return 0}function _pthread_attr_init(e){return 0}function _pthread_cond_destroy(){return 0}function _pthread_cond_init(){return 0}function _pthread_cond_signal(){return 0}function _pthread_cond_timedwait(){return 0}function _pthread_cond_wait(){return 0}function _pthread_create(){return 11}function _pthread_detach(){}STATICTOP+=16;var PTHREAD_SPECIFIC={};function _pthread_getspecific(e){return PTHREAD_SPECIFIC[e]||0}var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(e,i){return 0==e?ERRNO_CODES.EINVAL:(HEAP32[e>>2]=PTHREAD_SPECIFIC_NEXT_KEY,PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0,PTHREAD_SPECIFIC_NEXT_KEY++,0)}function _pthread_key_delete(e){return e in PTHREAD_SPECIFIC?(delete PTHREAD_SPECIFIC[e],0):ERRNO_CODES.EINVAL}function _pthread_mutex_destroy(){}function _pthread_mutex_init(){}function _pthread_mutexattr_destroy(){}function _pthread_mutexattr_init(){}function _pthread_mutexattr_settype(){}function _pthread_once(e,i){_pthread_once.seen||(_pthread_once.seen={}),e in _pthread_once.seen||(Module.dynCall_v(i),_pthread_once.seen[e]=1)}function _pthread_rwlock_init(){return 0}function _pthread_rwlock_rdlock(){return 0}function _pthread_rwlock_unlock(){return 0}function _pthread_rwlock_wrlock(){return 0}function _pthread_setspecific(e,i){return e in PTHREAD_SPECIFIC?(PTHREAD_SPECIFIC[e]=i,0):ERRNO_CODES.EINVAL}function _sched_yield(){return 0}function _setenv(e,i,n){if(0===e)return ___setErrNo(ERRNO_CODES.EINVAL),-1;var t=Pointer_stringify(e),r=Pointer_stringify(i);return""===t||-1!==t.indexOf("=")?(___setErrNo(ERRNO_CODES.EINVAL),-1):(ENV.hasOwnProperty(t)&&!n||(ENV[t]=r,___buildEnvironment(ENV)),0)}function __isLeapYear(e){return e%4==0&&(e%100!=0||e%400==0)}function __arraySum(e,i){for(var n=0,t=0;t<=i;n+=e[t++]);return n}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31],__MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31],GLctx;function __addDays(e,i){for(var n=new Date(e.getTime());0o-n.getDate()))return n.setDate(n.getDate()+i),n;i-=o-n.getDate()+1,n.setDate(1),r<11?n.setMonth(r+1):(n.setMonth(0),n.setFullYear(n.getFullYear()+1))}return n}function _strftime(e,i,n,t){var r=HEAP32[t+40>>2],o={tm_sec:HEAP32[t>>2],tm_min:HEAP32[t+4>>2],tm_hour:HEAP32[t+8>>2],tm_mday:HEAP32[t+12>>2],tm_mon:HEAP32[t+16>>2],tm_year:HEAP32[t+20>>2],tm_wday:HEAP32[t+24>>2],tm_yday:HEAP32[t+28>>2],tm_isdst:HEAP32[t+32>>2],tm_gmtoff:HEAP32[t+36>>2],tm_zone:r?Pointer_stringify(r):""},_=Pointer_stringify(n),a={"%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"};for(var l in a)_=_.replace(new RegExp(l,"g"),a[l]);var u=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],s=["January","February","March","April","May","June","July","August","September","October","November","December"];function c(e,i,n){for(var t="number"==typeof e?e.toString():e||"";t.lengthi?0:(writeArrayToMemory(g,e),g.length-1)}function _sysconf(e){switch(e){case 30:return PAGE_SIZE;case 85:return 2147418112/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator&&navigator.hardwareConcurrency||1}return ___setErrNo(ERRNO_CODES.EINVAL),-1}function _time(e){var i=Date.now()/1e3|0;return e&&(HEAP32[e>>2]=i),i}function _unsetenv(e){return 0===e||""===(e=Pointer_stringify(e))||-1!==e.indexOf("=")?(___setErrNo(ERRNO_CODES.EINVAL),-1):(ENV.hasOwnProperty(e)&&(delete ENV[e],___buildEnvironment(ENV)),0)}function _utime(e,i){var n;if(i){n=HEAP32[i+4>>2],n*=1e3}else n=Date.now();e=Pointer_stringify(e);try{return FS.utime(e,n,n),0}catch(e){return FS.handleFSError(e),-1}}if(FS.staticInit(),__ATINIT__.unshift(function(){Module.noFSInit||FS.init.initialized||FS.init()}),__ATMAIN__.push(function(){FS.ignorePermissions=!1}),__ATEXIT__.push(function(){FS.quit()}),Module.FS_createPath=FS.createPath,Module.FS_createDataFile=FS.createDataFile,__ATINIT__.unshift(function(){TTY.init()}),__ATEXIT__.push(function(){TTY.shutdown()}),ENVIRONMENT_IS_NODE){var fs=require("fs"),NODEJS_PATH=require("path");NODEFS.staticInit()}function intArrayFromString(e,i,n){var t=0>2]=DYNAMIC_BASE,staticSealed=!0,Module.wasmTableSize=49970,Module.wasmMaxTableSize=49970,Module.asmGlobalArg={},Module.asmLibraryArg={abort:abort,assert:assert,enlargeMemory:enlargeMemory,getTotalMemory:getTotalMemory,abortOnCannotGrowMemory:abortOnCannotGrowMemory,invoke_di:invoke_di,invoke_diddi:invoke_diddi,invoke_didi:invoke_didi,invoke_difi:invoke_difi,invoke_dii:invoke_dii,invoke_diidi:invoke_diidi,invoke_diii:invoke_diii,invoke_diiidi:invoke_diiidi,invoke_diiii:invoke_diiii,invoke_diiiii:invoke_diiiii,invoke_diji:invoke_diji,invoke_dijji:invoke_dijji,invoke_f:invoke_f,invoke_ff:invoke_ff,invoke_fff:invoke_fff,invoke_fi:invoke_fi,invoke_fidi:invoke_fidi,invoke_fif:invoke_fif,invoke_fiff:invoke_fiff,invoke_fifffi:invoke_fifffi,invoke_fiffi:invoke_fiffi,invoke_fiffifffi:invoke_fiffifffi,invoke_fifi:invoke_fifi,invoke_fifii:invoke_fifii,invoke_fii:invoke_fii,invoke_fiif:invoke_fiif,invoke_fiiffi:invoke_fiiffi,invoke_fiifi:invoke_fiifi,invoke_fiii:invoke_fiii,invoke_fiiifi:invoke_fiiifi,invoke_fiiifii:invoke_fiiifii,invoke_fiiii:invoke_fiiii,invoke_fiiiiiifiiiiiif:invoke_fiiiiiifiiiiiif,invoke_fiiiiiiiifiiiif:invoke_fiiiiiiiifiiiif,invoke_fiji:invoke_fiji,invoke_i:invoke_i,invoke_ii:invoke_ii,invoke_iiddi:invoke_iiddi,invoke_iidi:invoke_iidi,invoke_iidii:invoke_iidii,invoke_iidji:invoke_iidji,invoke_iif:invoke_iif,invoke_iifff:invoke_iifff,invoke_iifffi:invoke_iifffi,invoke_iiffi:invoke_iiffi,invoke_iifi:invoke_iifi,invoke_iifii:invoke_iifii,invoke_iifiii:invoke_iifiii,invoke_iii:invoke_iii,invoke_iiid:invoke_iiid,invoke_iiidi:invoke_iiidi,invoke_iiidii:invoke_iiidii,invoke_iiif:invoke_iiif,invoke_iiifi:invoke_iiifi,invoke_iiififiii:invoke_iiififiii,invoke_iiifii:invoke_iiifii,invoke_iiifiifi:invoke_iiifiifi,invoke_iiifiifiii:invoke_iiifiifiii,invoke_iiifiii:invoke_iiifiii,invoke_iiifiiii:invoke_iiifiiii,invoke_iiii:invoke_iiii,invoke_iiiiffi:invoke_iiiiffi,invoke_iiiifi:invoke_iiiifi,invoke_iiiififiiii:invoke_iiiififiiii,invoke_iiiifii:invoke_iiiifii,invoke_iiiifiifiii:invoke_iiiifiifiii,invoke_iiiifiii:invoke_iiiifiii,invoke_iiiifiiii:invoke_iiiifiiii,invoke_iiiifiiiii:invoke_iiiifiiiii,invoke_iiiii:invoke_iiiii,invoke_iiiiiffiiiiiii:invoke_iiiiiffiiiiiii,invoke_iiiiifi:invoke_iiiiifi,invoke_iiiiifii:invoke_iiiiifii,invoke_iiiiifiif:invoke_iiiiifiif,invoke_iiiiifiii:invoke_iiiiifiii,invoke_iiiiifiiiif:invoke_iiiiifiiiif,invoke_iiiiifiiiiif:invoke_iiiiifiiiiif,invoke_iiiiifiiiiii:invoke_iiiiifiiiiii,invoke_iiiiii:invoke_iiiiii,invoke_iiiiiifffiiifiii:invoke_iiiiiifffiiifiii,invoke_iiiiiiffiiiiiiiiiffffiii:invoke_iiiiiiffiiiiiiiiiffffiii,invoke_iiiiiiffiiiiiiiiiffffiiii:invoke_iiiiiiffiiiiiiiiiffffiiii,invoke_iiiiiiffiiiiiiiiiiiiiii:invoke_iiiiiiffiiiiiiiiiiiiiii,invoke_iiiiiifiif:invoke_iiiiiifiif,invoke_iiiiiii:invoke_iiiiiii,invoke_iiiiiiif:invoke_iiiiiiif,invoke_iiiiiiii:invoke_iiiiiiii,invoke_iiiiiiiii:invoke_iiiiiiiii,invoke_iiiiiiiiii:invoke_iiiiiiiiii,invoke_iiiiiiiiiiffffii:invoke_iiiiiiiiiiffffii,invoke_iiiiiiiiiii:invoke_iiiiiiiiiii,invoke_iiiiiiiiiiii:invoke_iiiiiiiiiiii,invoke_iiiiiiiiiiiiffffii:invoke_iiiiiiiiiiiiffffii,invoke_iiiiiiiiiiiii:invoke_iiiiiiiiiiiii,invoke_iiiiiiiiiiiiii:invoke_iiiiiiiiiiiiii,invoke_iiiiiiiiiiiiiii:invoke_iiiiiiiiiiiiiii,invoke_iiiiiijii:invoke_iiiiiijii,invoke_iiiiijii:invoke_iiiiijii,invoke_iiiij:invoke_iiiij,invoke_iiij:invoke_iiij,invoke_iiiji:invoke_iiiji,invoke_iiijii:invoke_iiijii,invoke_iiijiii:invoke_iiijiii,invoke_iiijjii:invoke_iiijjii,invoke_iiijjiiii:invoke_iiijjiiii,invoke_iij:invoke_iij,invoke_iiji:invoke_iiji,invoke_iijii:invoke_iijii,invoke_iijji:invoke_iijji,invoke_iijjii:invoke_iijjii,invoke_iijjji:invoke_iijjji,invoke_ijj:invoke_ijj,invoke_j:invoke_j,invoke_ji:invoke_ji,invoke_jidi:invoke_jidi,invoke_jidji:invoke_jidji,invoke_jifi:invoke_jifi,invoke_jii:invoke_jii,invoke_jiii:invoke_jiii,invoke_jiiii:invoke_jiiii,invoke_jiiiii:invoke_jiiiii,invoke_jiiiiiii:invoke_jiiiiiii,invoke_jiiiji:invoke_jiiiji,invoke_jiiji:invoke_jiiji,invoke_jiijiii:invoke_jiijiii,invoke_jiji:invoke_jiji,invoke_jijii:invoke_jijii,invoke_jijji:invoke_jijji,invoke_jijjji:invoke_jijjji,invoke_v:invoke_v,invoke_vd:invoke_vd,invoke_vdd:invoke_vdd,invoke_vdddddd:invoke_vdddddd,invoke_vf:invoke_vf,invoke_vff:invoke_vff,invoke_vffff:invoke_vffff,invoke_vfi:invoke_vfi,invoke_vi:invoke_vi,invoke_vid:invoke_vid,invoke_vidi:invoke_vidi,invoke_vif:invoke_vif,invoke_viff:invoke_viff,invoke_vifff:invoke_vifff,invoke_viffff:invoke_viffff,invoke_viffffi:invoke_viffffi,invoke_viffffii:invoke_viffffii,invoke_viffffiii:invoke_viffffiii,invoke_vifffi:invoke_vifffi,invoke_vifffii:invoke_vifffii,invoke_viffi:invoke_viffi,invoke_viffii:invoke_viffii,invoke_vifi:invoke_vifi,invoke_vifii:invoke_vifii,invoke_vifiii:invoke_vifiii,invoke_vifiiii:invoke_vifiiii,invoke_vifiiiiiiiiiiiii:invoke_vifiiiiiiiiiiiii,invoke_vifiiiiiiiiiiiiiiiiii:invoke_vifiiiiiiiiiiiiiiiiii,invoke_vifiiiiiiiiiiiiiiiiiiiiiii:invoke_vifiiiiiiiiiiiiiiiiiiiiiii,invoke_vifiiiiiiiiiiiiiiiiiiiiiiiiiiii:invoke_vifiiiiiiiiiiiiiiiiiiiiiiiiiiii,invoke_vii:invoke_vii,invoke_viidi:invoke_viidi,invoke_viidii:invoke_viidii,invoke_viif:invoke_viif,invoke_viiff:invoke_viiff,invoke_viifff:invoke_viifff,invoke_viiffffiii:invoke_viiffffiii,invoke_viifffi:invoke_viifffi,invoke_viiffi:invoke_viiffi,invoke_viiffii:invoke_viiffii,invoke_viiffiii:invoke_viiffiii,invoke_viifi:invoke_viifi,invoke_viifii:invoke_viifii,invoke_viifiii:invoke_viifiii,invoke_viifiiii:invoke_viifiiii,invoke_viii:invoke_viii,invoke_viiif:invoke_viiif,invoke_viiiffi:invoke_viiiffi,invoke_viiiffii:invoke_viiiffii,invoke_viiifi:invoke_viiifi,invoke_viiifiiiii:invoke_viiifiiiii,invoke_viiii:invoke_viiii,invoke_viiiif:invoke_viiiif,invoke_viiiifi:invoke_viiiifi,invoke_viiiifii:invoke_viiiifii,invoke_viiiifiiiiif:invoke_viiiifiiiiif,invoke_viiiii:invoke_viiiii,invoke_viiiiif:invoke_viiiiif,invoke_viiiiiffi:invoke_viiiiiffi,invoke_viiiiifii:invoke_viiiiifii,invoke_viiiiii:invoke_viiiiii,invoke_viiiiiif:invoke_viiiiiif,invoke_viiiiiiffii:invoke_viiiiiiffii,invoke_viiiiiii:invoke_viiiiiii,invoke_viiiiiiii:invoke_viiiiiiii,invoke_viiiiiiiii:invoke_viiiiiiiii,invoke_viiiiiiiiii:invoke_viiiiiiiiii,invoke_viiiiiiiiiifi:invoke_viiiiiiiiiifi,invoke_viiiiiiiiiii:invoke_viiiiiiiiiii,invoke_viiiiiiiiiiii:invoke_viiiiiiiiiiii,invoke_viiiiiiiiiiiii:invoke_viiiiiiiiiiiii,invoke_viiiiiiiiiiiiii:invoke_viiiiiiiiiiiiii,invoke_viiiiiiiiiiiiiii:invoke_viiiiiiiiiiiiiii,invoke_viiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii:invoke_viiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii,invoke_viiiiijiiii:invoke_viiiiijiiii,invoke_viiiji:invoke_viiiji,invoke_viiijiii:invoke_viiijiii,invoke_viiijiiiiii:invoke_viiijiiiiii,invoke_viiijji:invoke_viiijji,invoke_viiijjii:invoke_viiijjii,invoke_viij:invoke_viij,invoke_viiji:invoke_viiji,invoke_viijii:invoke_viijii,invoke_viijijiii:invoke_viijijiii,invoke_viijijji:invoke_viijijji,invoke_viijj:invoke_viijj,invoke_viijji:invoke_viijji,invoke_viijjii:invoke_viijjii,invoke_viijjji:invoke_viijjji,invoke_vij:invoke_vij,invoke_viji:invoke_viji,invoke_vijii:invoke_vijii,invoke_vijiii:invoke_vijiii,invoke_vijiiii:invoke_vijiiii,invoke_vijiijiii:invoke_vijiijiii,invoke_vijiji:invoke_vijiji,invoke_vijj:invoke_vijj,invoke_vijji:invoke_vijji,invoke_vijjiiiiii:invoke_vijjiiiiii,invoke_vjji:invoke_vjji,_GetRefererDomain:_GetRefererDomain,_IMG_Load:_IMG_Load,_IMG_Load_RW:_IMG_Load_RW,_InitApi:_InitApi,_JS_Cursor_SetImage:_JS_Cursor_SetImage,_JS_Cursor_SetShow:_JS_Cursor_SetShow,_JS_Eval_ClearTimeout:_JS_Eval_ClearTimeout,_JS_Eval_SetTimeout:_JS_Eval_SetTimeout,_JS_FileSystem_SetSyncInterval:_JS_FileSystem_SetSyncInterval,_JS_FileSystem_Sync:_JS_FileSystem_Sync,_JS_Log_StackTrace:_JS_Log_StackTrace,_JS_Sound_Create_Channel:_JS_Sound_Create_Channel,_JS_Sound_GetLength:_JS_Sound_GetLength,_JS_Sound_GetLoadState:_JS_Sound_GetLoadState,_JS_Sound_Init:_JS_Sound_Init,_JS_Sound_Load:_JS_Sound_Load,_JS_Sound_Load_PCM:_JS_Sound_Load_PCM,_JS_Sound_Play:_JS_Sound_Play,_JS_Sound_ReleaseInstance:_JS_Sound_ReleaseInstance,_JS_Sound_Set3D:_JS_Sound_Set3D,_JS_Sound_SetListenerOrientation:_JS_Sound_SetListenerOrientation,_JS_Sound_SetListenerPosition:_JS_Sound_SetListenerPosition,_JS_Sound_SetLoop:_JS_Sound_SetLoop,_JS_Sound_SetLoopPoints:_JS_Sound_SetLoopPoints,_JS_Sound_SetPitch:_JS_Sound_SetPitch,_JS_Sound_SetPosition:_JS_Sound_SetPosition,_JS_Sound_SetVolume:_JS_Sound_SetVolume,_JS_Sound_Stop:_JS_Sound_Stop,_JS_SystemInfo_GetBrowserName:_JS_SystemInfo_GetBrowserName,_JS_SystemInfo_GetBrowserVersionString:_JS_SystemInfo_GetBrowserVersionString,_JS_SystemInfo_GetCurrentCanvasHeight:_JS_SystemInfo_GetCurrentCanvasHeight,_JS_SystemInfo_GetCurrentCanvasWidth:_JS_SystemInfo_GetCurrentCanvasWidth,_JS_SystemInfo_GetDocumentURL:_JS_SystemInfo_GetDocumentURL,_JS_SystemInfo_GetGPUInfo:_JS_SystemInfo_GetGPUInfo,_JS_SystemInfo_GetHeight:_JS_SystemInfo_GetHeight,_JS_SystemInfo_GetLanguage:_JS_SystemInfo_GetLanguage,_JS_SystemInfo_GetMemory:_JS_SystemInfo_GetMemory,_JS_SystemInfo_GetOS:_JS_SystemInfo_GetOS,_JS_SystemInfo_GetWidth:_JS_SystemInfo_GetWidth,_JS_SystemInfo_HasCursorLock:_JS_SystemInfo_HasCursorLock,_JS_SystemInfo_HasFullscreen:_JS_SystemInfo_HasFullscreen,_JS_SystemInfo_HasWebGL:_JS_SystemInfo_HasWebGL,_JS_SystemInfo_IsMobile:_JS_SystemInfo_IsMobile,_JS_WebGL_InitContextAttributes:_JS_WebGL_InitContextAttributes,_JS_WebRequest_Abort:_JS_WebRequest_Abort,_JS_WebRequest_Create:_JS_WebRequest_Create,_JS_WebRequest_GetResponseHeaders:_JS_WebRequest_GetResponseHeaders,_JS_WebRequest_Release:_JS_WebRequest_Release,_JS_WebRequest_Send:_JS_WebRequest_Send,_JS_WebRequest_SetProgressHandler:_JS_WebRequest_SetProgressHandler,_JS_WebRequest_SetRequestHeader:_JS_WebRequest_SetRequestHeader,_JS_WebRequest_SetResponseHandler:_JS_WebRequest_SetResponseHandler,_JS_WebRequest_SetTimeout:_JS_WebRequest_SetTimeout,_Mix_FreeChunk:_Mix_FreeChunk,_Mix_HaltMusic:_Mix_HaltMusic,_Mix_LoadWAV_RW:_Mix_LoadWAV_RW,_Mix_PlayChannel:_Mix_PlayChannel,_Mix_PlayMusic:_Mix_PlayMusic,_SDL_CloseAudio:_SDL_CloseAudio,_SDL_FreeRW:_SDL_FreeRW,_SDL_GL_SwapBuffers:_SDL_GL_SwapBuffers,_SDL_GetTicks:_SDL_GetTicks,_SDL_LockSurface:_SDL_LockSurface,_SDL_PauseAudio:_SDL_PauseAudio,_SDL_RWFromConstMem:_SDL_RWFromConstMem,_SDL_RWFromFile:_SDL_RWFromFile,_SDL_UpperBlit:_SDL_UpperBlit,_SDL_UpperBlitScaled:_SDL_UpperBlitScaled,_ShowBanner:_ShowBanner,_TTF_FontHeight:_TTF_FontHeight,_TTF_RenderText_Solid:_TTF_RenderText_Solid,_TTF_SizeText:_TTF_SizeText,__ZSt18uncaught_exceptionv:__ZSt18uncaught_exceptionv,___buildEnvironment:___buildEnvironment,___cxa_allocate_exception:___cxa_allocate_exception,___cxa_begin_catch:___cxa_begin_catch,___cxa_end_catch:___cxa_end_catch,___cxa_find_matching_catch:___cxa_find_matching_catch,___cxa_find_matching_catch_2:___cxa_find_matching_catch_2,___cxa_find_matching_catch_3:___cxa_find_matching_catch_3,___cxa_find_matching_catch_4:___cxa_find_matching_catch_4,___cxa_free_exception:___cxa_free_exception,___cxa_pure_virtual:___cxa_pure_virtual,___cxa_rethrow:___cxa_rethrow,___cxa_throw:___cxa_throw,___gxx_personality_v0:___gxx_personality_v0,___lock:___lock,___map_file:___map_file,___resumeException:___resumeException,___setErrNo:___setErrNo,___syscall10:___syscall10,___syscall122:___syscall122,___syscall140:___syscall140,___syscall145:___syscall145,___syscall146:___syscall146,___syscall15:___syscall15,___syscall168:___syscall168,___syscall183:___syscall183,___syscall192:___syscall192,___syscall193:___syscall193,___syscall194:___syscall194,___syscall195:___syscall195,___syscall196:___syscall196,___syscall197:___syscall197,___syscall199:___syscall199,___syscall202:___syscall202,___syscall220:___syscall220,___syscall221:___syscall221,___syscall268:___syscall268,___syscall3:___syscall3,___syscall33:___syscall33,___syscall38:___syscall38,___syscall39:___syscall39,___syscall4:___syscall4,___syscall40:___syscall40,___syscall41:___syscall41,___syscall42:___syscall42,___syscall5:___syscall5,___syscall54:___syscall54,___syscall6:___syscall6,___syscall85:___syscall85,___syscall91:___syscall91,___unlock:___unlock,__addDays:__addDays,__arraySum:__arraySum,__emscripten_sample_gamepad_data:__emscripten_sample_gamepad_data,__exit:__exit,__isLeapYear:__isLeapYear,__setLetterbox:__setLetterbox,_abort:_abort,_atexit:_atexit,_clock:_clock,_clock_getres:_clock_getres,_clock_gettime:_clock_gettime,_difftime:_difftime,_emscripten_asm_const_iii:_emscripten_asm_const_iii,_emscripten_do_request_fullscreen:_emscripten_do_request_fullscreen,_emscripten_exit_fullscreen:_emscripten_exit_fullscreen,_emscripten_exit_pointerlock:_emscripten_exit_pointerlock,_emscripten_get_fullscreen_status:_emscripten_get_fullscreen_status,_emscripten_get_gamepad_status:_emscripten_get_gamepad_status,_emscripten_get_main_loop_timing:_emscripten_get_main_loop_timing,_emscripten_get_now:_emscripten_get_now,_emscripten_get_now_is_monotonic:_emscripten_get_now_is_monotonic,_emscripten_get_now_res:_emscripten_get_now_res,_emscripten_get_num_gamepads:_emscripten_get_num_gamepads,_emscripten_glActiveTexture:_emscripten_glActiveTexture,_emscripten_glAttachShader:_emscripten_glAttachShader,_emscripten_glBindAttribLocation:_emscripten_glBindAttribLocation,_emscripten_glBindBuffer:_emscripten_glBindBuffer,_emscripten_glBindFramebuffer:_emscripten_glBindFramebuffer,_emscripten_glBindProgramARB:_emscripten_glBindProgramARB,_emscripten_glBindRenderbuffer:_emscripten_glBindRenderbuffer,_emscripten_glBindTexture:_emscripten_glBindTexture,_emscripten_glBindVertexArray:_emscripten_glBindVertexArray,_emscripten_glBlendColor:_emscripten_glBlendColor,_emscripten_glBlendEquation:_emscripten_glBlendEquation,_emscripten_glBlendEquationSeparate:_emscripten_glBlendEquationSeparate,_emscripten_glBlendFunc:_emscripten_glBlendFunc,_emscripten_glBlendFuncSeparate:_emscripten_glBlendFuncSeparate,_emscripten_glBufferData:_emscripten_glBufferData,_emscripten_glBufferSubData:_emscripten_glBufferSubData,_emscripten_glCheckFramebufferStatus:_emscripten_glCheckFramebufferStatus,_emscripten_glClear:_emscripten_glClear,_emscripten_glClearColor:_emscripten_glClearColor,_emscripten_glClearDepth:_emscripten_glClearDepth,_emscripten_glClearDepthf:_emscripten_glClearDepthf,_emscripten_glClearStencil:_emscripten_glClearStencil,_emscripten_glClientActiveTexture:_emscripten_glClientActiveTexture,_emscripten_glColorMask:_emscripten_glColorMask,_emscripten_glColorPointer:_emscripten_glColorPointer,_emscripten_glCompileShader:_emscripten_glCompileShader,_emscripten_glCompressedTexImage2D:_emscripten_glCompressedTexImage2D,_emscripten_glCompressedTexSubImage2D:_emscripten_glCompressedTexSubImage2D,_emscripten_glCopyTexImage2D:_emscripten_glCopyTexImage2D,_emscripten_glCopyTexSubImage2D:_emscripten_glCopyTexSubImage2D,_emscripten_glCreateProgram:_emscripten_glCreateProgram,_emscripten_glCreateShader:_emscripten_glCreateShader,_emscripten_glCullFace:_emscripten_glCullFace,_emscripten_glDeleteBuffers:_emscripten_glDeleteBuffers,_emscripten_glDeleteFramebuffers:_emscripten_glDeleteFramebuffers,_emscripten_glDeleteObjectARB:_emscripten_glDeleteObjectARB,_emscripten_glDeleteProgram:_emscripten_glDeleteProgram,_emscripten_glDeleteRenderbuffers:_emscripten_glDeleteRenderbuffers,_emscripten_glDeleteShader:_emscripten_glDeleteShader,_emscripten_glDeleteTextures:_emscripten_glDeleteTextures,_emscripten_glDeleteVertexArrays:_emscripten_glDeleteVertexArrays,_emscripten_glDepthFunc:_emscripten_glDepthFunc,_emscripten_glDepthMask:_emscripten_glDepthMask,_emscripten_glDepthRange:_emscripten_glDepthRange,_emscripten_glDepthRangef:_emscripten_glDepthRangef,_emscripten_glDetachShader:_emscripten_glDetachShader,_emscripten_glDisable:_emscripten_glDisable,_emscripten_glDisableVertexAttribArray:_emscripten_glDisableVertexAttribArray,_emscripten_glDrawArrays:_emscripten_glDrawArrays,_emscripten_glDrawArraysInstanced:_emscripten_glDrawArraysInstanced,_emscripten_glDrawBuffers:_emscripten_glDrawBuffers,_emscripten_glDrawElements:_emscripten_glDrawElements,_emscripten_glDrawElementsInstanced:_emscripten_glDrawElementsInstanced,_emscripten_glDrawRangeElements:_emscripten_glDrawRangeElements,_emscripten_glEnable:_emscripten_glEnable,_emscripten_glEnableClientState:_emscripten_glEnableClientState,_emscripten_glEnableVertexAttribArray:_emscripten_glEnableVertexAttribArray,_emscripten_glFinish:_emscripten_glFinish,_emscripten_glFlush:_emscripten_glFlush,_emscripten_glFramebufferRenderbuffer:_emscripten_glFramebufferRenderbuffer,_emscripten_glFramebufferTexture2D:_emscripten_glFramebufferTexture2D,_emscripten_glFrontFace:_emscripten_glFrontFace,_emscripten_glFrustum:_emscripten_glFrustum,_emscripten_glGenBuffers:_emscripten_glGenBuffers,_emscripten_glGenFramebuffers:_emscripten_glGenFramebuffers,_emscripten_glGenRenderbuffers:_emscripten_glGenRenderbuffers,_emscripten_glGenTextures:_emscripten_glGenTextures,_emscripten_glGenVertexArrays:_emscripten_glGenVertexArrays,_emscripten_glGenerateMipmap:_emscripten_glGenerateMipmap,_emscripten_glGetActiveAttrib:_emscripten_glGetActiveAttrib,_emscripten_glGetActiveUniform:_emscripten_glGetActiveUniform,_emscripten_glGetAttachedShaders:_emscripten_glGetAttachedShaders,_emscripten_glGetAttribLocation:_emscripten_glGetAttribLocation,_emscripten_glGetBooleanv:_emscripten_glGetBooleanv,_emscripten_glGetBufferParameteriv:_emscripten_glGetBufferParameteriv,_emscripten_glGetError:_emscripten_glGetError,_emscripten_glGetFloatv:_emscripten_glGetFloatv,_emscripten_glGetFramebufferAttachmentParameteriv:_emscripten_glGetFramebufferAttachmentParameteriv,_emscripten_glGetInfoLogARB:_emscripten_glGetInfoLogARB,_emscripten_glGetIntegerv:_emscripten_glGetIntegerv,_emscripten_glGetObjectParameterivARB:_emscripten_glGetObjectParameterivARB,_emscripten_glGetPointerv:_emscripten_glGetPointerv,_emscripten_glGetProgramInfoLog:_emscripten_glGetProgramInfoLog,_emscripten_glGetProgramiv:_emscripten_glGetProgramiv,_emscripten_glGetRenderbufferParameteriv:_emscripten_glGetRenderbufferParameteriv,_emscripten_glGetShaderInfoLog:_emscripten_glGetShaderInfoLog,_emscripten_glGetShaderPrecisionFormat:_emscripten_glGetShaderPrecisionFormat,_emscripten_glGetShaderSource:_emscripten_glGetShaderSource,_emscripten_glGetShaderiv:_emscripten_glGetShaderiv,_emscripten_glGetString:_emscripten_glGetString,_emscripten_glGetTexParameterfv:_emscripten_glGetTexParameterfv,_emscripten_glGetTexParameteriv:_emscripten_glGetTexParameteriv,_emscripten_glGetUniformLocation:_emscripten_glGetUniformLocation,_emscripten_glGetUniformfv:_emscripten_glGetUniformfv,_emscripten_glGetUniformiv:_emscripten_glGetUniformiv,_emscripten_glGetVertexAttribPointerv:_emscripten_glGetVertexAttribPointerv,_emscripten_glGetVertexAttribfv:_emscripten_glGetVertexAttribfv,_emscripten_glGetVertexAttribiv:_emscripten_glGetVertexAttribiv,_emscripten_glHint:_emscripten_glHint,_emscripten_glIsBuffer:_emscripten_glIsBuffer,_emscripten_glIsEnabled:_emscripten_glIsEnabled,_emscripten_glIsFramebuffer:_emscripten_glIsFramebuffer,_emscripten_glIsProgram:_emscripten_glIsProgram,_emscripten_glIsRenderbuffer:_emscripten_glIsRenderbuffer,_emscripten_glIsShader:_emscripten_glIsShader,_emscripten_glIsTexture:_emscripten_glIsTexture,_emscripten_glIsVertexArray:_emscripten_glIsVertexArray,_emscripten_glLineWidth:_emscripten_glLineWidth,_emscripten_glLinkProgram:_emscripten_glLinkProgram,_emscripten_glLoadIdentity:_emscripten_glLoadIdentity,_emscripten_glLoadMatrixf:_emscripten_glLoadMatrixf,_emscripten_glMatrixMode:_emscripten_glMatrixMode,_emscripten_glNormalPointer:_emscripten_glNormalPointer,_emscripten_glPixelStorei:_emscripten_glPixelStorei,_emscripten_glPolygonOffset:_emscripten_glPolygonOffset,_emscripten_glReadPixels:_emscripten_glReadPixels,_emscripten_glReleaseShaderCompiler:_emscripten_glReleaseShaderCompiler,_emscripten_glRenderbufferStorage:_emscripten_glRenderbufferStorage,_emscripten_glRotatef:_emscripten_glRotatef,_emscripten_glSampleCoverage:_emscripten_glSampleCoverage,_emscripten_glScissor:_emscripten_glScissor,_emscripten_glShaderBinary:_emscripten_glShaderBinary,_emscripten_glShaderSource:_emscripten_glShaderSource,_emscripten_glStencilFunc:_emscripten_glStencilFunc,_emscripten_glStencilFuncSeparate:_emscripten_glStencilFuncSeparate,_emscripten_glStencilMask:_emscripten_glStencilMask,_emscripten_glStencilMaskSeparate:_emscripten_glStencilMaskSeparate,_emscripten_glStencilOp:_emscripten_glStencilOp,_emscripten_glStencilOpSeparate:_emscripten_glStencilOpSeparate,_emscripten_glTexCoordPointer:_emscripten_glTexCoordPointer,_emscripten_glTexImage2D:_emscripten_glTexImage2D,_emscripten_glTexParameterf:_emscripten_glTexParameterf,_emscripten_glTexParameterfv:_emscripten_glTexParameterfv,_emscripten_glTexParameteri:_emscripten_glTexParameteri,_emscripten_glTexParameteriv:_emscripten_glTexParameteriv,_emscripten_glTexSubImage2D:_emscripten_glTexSubImage2D,_emscripten_glUniform1f:_emscripten_glUniform1f,_emscripten_glUniform1fv:_emscripten_glUniform1fv,_emscripten_glUniform1i:_emscripten_glUniform1i,_emscripten_glUniform1iv:_emscripten_glUniform1iv,_emscripten_glUniform2f:_emscripten_glUniform2f,_emscripten_glUniform2fv:_emscripten_glUniform2fv,_emscripten_glUniform2i:_emscripten_glUniform2i,_emscripten_glUniform2iv:_emscripten_glUniform2iv,_emscripten_glUniform3f:_emscripten_glUniform3f,_emscripten_glUniform3fv:_emscripten_glUniform3fv,_emscripten_glUniform3i:_emscripten_glUniform3i,_emscripten_glUniform3iv:_emscripten_glUniform3iv,_emscripten_glUniform4f:_emscripten_glUniform4f,_emscripten_glUniform4fv:_emscripten_glUniform4fv,_emscripten_glUniform4i:_emscripten_glUniform4i,_emscripten_glUniform4iv:_emscripten_glUniform4iv,_emscripten_glUniformMatrix2fv:_emscripten_glUniformMatrix2fv,_emscripten_glUniformMatrix3fv:_emscripten_glUniformMatrix3fv,_emscripten_glUniformMatrix4fv:_emscripten_glUniformMatrix4fv,_emscripten_glUseProgram:_emscripten_glUseProgram,_emscripten_glValidateProgram:_emscripten_glValidateProgram,_emscripten_glVertexAttrib1f:_emscripten_glVertexAttrib1f,_emscripten_glVertexAttrib1fv:_emscripten_glVertexAttrib1fv,_emscripten_glVertexAttrib2f:_emscripten_glVertexAttrib2f,_emscripten_glVertexAttrib2fv:_emscripten_glVertexAttrib2fv,_emscripten_glVertexAttrib3f:_emscripten_glVertexAttrib3f,_emscripten_glVertexAttrib3fv:_emscripten_glVertexAttrib3fv,_emscripten_glVertexAttrib4f:_emscripten_glVertexAttrib4f,_emscripten_glVertexAttrib4fv:_emscripten_glVertexAttrib4fv,_emscripten_glVertexAttribDivisor:_emscripten_glVertexAttribDivisor,_emscripten_glVertexAttribPointer:_emscripten_glVertexAttribPointer,_emscripten_glVertexPointer:_emscripten_glVertexPointer,_emscripten_glViewport:_emscripten_glViewport,_emscripten_is_webgl_context_lost:_emscripten_is_webgl_context_lost,_emscripten_memcpy_big:_emscripten_memcpy_big,_emscripten_request_fullscreen:_emscripten_request_fullscreen,_emscripten_request_pointerlock:_emscripten_request_pointerlock,_emscripten_set_blur_callback:_emscripten_set_blur_callback,_emscripten_set_canvas_size:_emscripten_set_canvas_size,_emscripten_set_devicemotion_callback:_emscripten_set_devicemotion_callback,_emscripten_set_deviceorientation_callback:_emscripten_set_deviceorientation_callback,_emscripten_set_focus_callback:_emscripten_set_focus_callback,_emscripten_set_fullscreenchange_callback:_emscripten_set_fullscreenchange_callback,_emscripten_set_keydown_callback:_emscripten_set_keydown_callback,_emscripten_set_keypress_callback:_emscripten_set_keypress_callback,_emscripten_set_keyup_callback:_emscripten_set_keyup_callback,_emscripten_set_main_loop:_emscripten_set_main_loop,_emscripten_set_main_loop_timing:_emscripten_set_main_loop_timing,_emscripten_set_mousedown_callback:_emscripten_set_mousedown_callback,_emscripten_set_mousemove_callback:_emscripten_set_mousemove_callback,_emscripten_set_mouseup_callback:_emscripten_set_mouseup_callback,_emscripten_set_touchcancel_callback:_emscripten_set_touchcancel_callback,_emscripten_set_touchend_callback:_emscripten_set_touchend_callback,_emscripten_set_touchmove_callback:_emscripten_set_touchmove_callback,_emscripten_set_touchstart_callback:_emscripten_set_touchstart_callback,_emscripten_set_wheel_callback:_emscripten_set_wheel_callback,_emscripten_webgl_create_context:_emscripten_webgl_create_context,_emscripten_webgl_destroy_context:_emscripten_webgl_destroy_context,_emscripten_webgl_enable_extension:_emscripten_webgl_enable_extension,_emscripten_webgl_get_current_context:_emscripten_webgl_get_current_context,_emscripten_webgl_make_context_current:_emscripten_webgl_make_context_current,_exit:_exit,_flock:_flock,_getenv:_getenv,_getpwuid:_getpwuid,_gettimeofday:_gettimeofday,_glActiveTexture:_glActiveTexture,_glAttachShader:_glAttachShader,_glBeginQuery:_glBeginQuery,_glBeginTransformFeedback:_glBeginTransformFeedback,_glBindAttribLocation:_glBindAttribLocation,_glBindBuffer:_glBindBuffer,_glBindBufferBase:_glBindBufferBase,_glBindFramebuffer:_glBindFramebuffer,_glBindRenderbuffer:_glBindRenderbuffer,_glBindSampler:_glBindSampler,_glBindTexture:_glBindTexture,_glBindTransformFeedback:_glBindTransformFeedback,_glBindVertexArray:_glBindVertexArray,_glBlendEquation:_glBlendEquation,_glBlendEquationSeparate:_glBlendEquationSeparate,_glBlendFuncSeparate:_glBlendFuncSeparate,_glBlitFramebuffer:_glBlitFramebuffer,_glBufferData:_glBufferData,_glBufferSubData:_glBufferSubData,_glCheckFramebufferStatus:_glCheckFramebufferStatus,_glClear:_glClear,_glClearColor:_glClearColor,_glClearDepthf:_glClearDepthf,_glClearStencil:_glClearStencil,_glClientWaitSync:_glClientWaitSync,_glColorMask:_glColorMask,_glCompileShader:_glCompileShader,_glCompressedTexImage2D:_glCompressedTexImage2D,_glCompressedTexSubImage2D:_glCompressedTexSubImage2D,_glCompressedTexSubImage3D:_glCompressedTexSubImage3D,_glCopyBufferSubData:_glCopyBufferSubData,_glCopyTexImage2D:_glCopyTexImage2D,_glCopyTexSubImage2D:_glCopyTexSubImage2D,_glCreateProgram:_glCreateProgram,_glCreateShader:_glCreateShader,_glCullFace:_glCullFace,_glDeleteBuffers:_glDeleteBuffers,_glDeleteFramebuffers:_glDeleteFramebuffers,_glDeleteProgram:_glDeleteProgram,_glDeleteQueries:_glDeleteQueries,_glDeleteRenderbuffers:_glDeleteRenderbuffers,_glDeleteSamplers:_glDeleteSamplers,_glDeleteShader:_glDeleteShader,_glDeleteSync:_glDeleteSync,_glDeleteTextures:_glDeleteTextures,_glDeleteTransformFeedbacks:_glDeleteTransformFeedbacks,_glDeleteVertexArrays:_glDeleteVertexArrays,_glDepthFunc:_glDepthFunc,_glDepthMask:_glDepthMask,_glDetachShader:_glDetachShader,_glDisable:_glDisable,_glDisableVertexAttribArray:_glDisableVertexAttribArray,_glDrawArrays:_glDrawArrays,_glDrawArraysInstanced:_glDrawArraysInstanced,_glDrawBuffers:_glDrawBuffers,_glDrawElements:_glDrawElements,_glDrawElementsInstanced:_glDrawElementsInstanced,_glEnable:_glEnable,_glEnableVertexAttribArray:_glEnableVertexAttribArray,_glEndQuery:_glEndQuery,_glEndTransformFeedback:_glEndTransformFeedback,_glFenceSync:_glFenceSync,_glFinish:_glFinish,_glFlush:_glFlush,_glFlushMappedBufferRange:_glFlushMappedBufferRange,_glFramebufferRenderbuffer:_glFramebufferRenderbuffer,_glFramebufferTexture2D:_glFramebufferTexture2D,_glFramebufferTextureLayer:_glFramebufferTextureLayer,_glFrontFace:_glFrontFace,_glGenBuffers:_glGenBuffers,_glGenFramebuffers:_glGenFramebuffers,_glGenQueries:_glGenQueries,_glGenRenderbuffers:_glGenRenderbuffers,_glGenSamplers:_glGenSamplers,_glGenTextures:_glGenTextures,_glGenTransformFeedbacks:_glGenTransformFeedbacks,_glGenVertexArrays:_glGenVertexArrays,_glGenerateMipmap:_glGenerateMipmap,_glGetActiveAttrib:_glGetActiveAttrib,_glGetActiveUniform:_glGetActiveUniform,_glGetActiveUniformBlockName:_glGetActiveUniformBlockName,_glGetActiveUniformBlockiv:_glGetActiveUniformBlockiv,_glGetActiveUniformsiv:_glGetActiveUniformsiv,_glGetAttribLocation:_glGetAttribLocation,_glGetError:_glGetError,_glGetFramebufferAttachmentParameteriv:_glGetFramebufferAttachmentParameteriv,_glGetIntegeri_v:_glGetIntegeri_v,_glGetIntegerv:_glGetIntegerv,_glGetProgramBinary:_glGetProgramBinary,_glGetProgramInfoLog:_glGetProgramInfoLog,_glGetProgramiv:_glGetProgramiv,_glGetRenderbufferParameteriv:_glGetRenderbufferParameteriv,_glGetShaderInfoLog:_glGetShaderInfoLog,_glGetShaderPrecisionFormat:_glGetShaderPrecisionFormat,_glGetShaderSource:_glGetShaderSource,_glGetShaderiv:_glGetShaderiv,_glGetString:_glGetString,_glGetStringi:_glGetStringi,_glGetTexParameteriv:_glGetTexParameteriv,_glGetUniformBlockIndex:_glGetUniformBlockIndex,_glGetUniformIndices:_glGetUniformIndices,_glGetUniformLocation:_glGetUniformLocation,_glGetUniformiv:_glGetUniformiv,_glGetVertexAttribiv:_glGetVertexAttribiv,_glInvalidateFramebuffer:_glInvalidateFramebuffer,_glIsEnabled:_glIsEnabled,_glIsVertexArray:_glIsVertexArray,_glLinkProgram:_glLinkProgram,_glMapBufferRange:_glMapBufferRange,_glPixelStorei:_glPixelStorei,_glPolygonOffset:_glPolygonOffset,_glProgramBinary:_glProgramBinary,_glProgramParameteri:_glProgramParameteri,_glReadBuffer:_glReadBuffer,_glReadPixels:_glReadPixels,_glRenderbufferStorage:_glRenderbufferStorage,_glRenderbufferStorageMultisample:_glRenderbufferStorageMultisample,_glSamplerParameteri:_glSamplerParameteri,_glScissor:_glScissor,_glShaderSource:_glShaderSource,_glStencilFuncSeparate:_glStencilFuncSeparate,_glStencilMask:_glStencilMask,_glStencilOpSeparate:_glStencilOpSeparate,_glTexImage2D:_glTexImage2D,_glTexImage3D:_glTexImage3D,_glTexParameterf:_glTexParameterf,_glTexParameteri:_glTexParameteri,_glTexParameteriv:_glTexParameteriv,_glTexStorage2D:_glTexStorage2D,_glTexStorage3D:_glTexStorage3D,_glTexSubImage2D:_glTexSubImage2D,_glTexSubImage3D:_glTexSubImage3D,_glTransformFeedbackVaryings:_glTransformFeedbackVaryings,_glUniform1fv:_glUniform1fv,_glUniform1i:_glUniform1i,_glUniform1iv:_glUniform1iv,_glUniform1uiv:_glUniform1uiv,_glUniform2fv:_glUniform2fv,_glUniform2iv:_glUniform2iv,_glUniform2uiv:_glUniform2uiv,_glUniform3fv:_glUniform3fv,_glUniform3iv:_glUniform3iv,_glUniform3uiv:_glUniform3uiv,_glUniform4fv:_glUniform4fv,_glUniform4iv:_glUniform4iv,_glUniform4uiv:_glUniform4uiv,_glUniformBlockBinding:_glUniformBlockBinding,_glUniformMatrix3fv:_glUniformMatrix3fv,_glUniformMatrix4fv:_glUniformMatrix4fv,_glUnmapBuffer:_glUnmapBuffer,_glUseProgram:_glUseProgram,_glValidateProgram:_glValidateProgram,_glVertexAttrib4f:_glVertexAttrib4f,_glVertexAttrib4fv:_glVertexAttrib4fv,_glVertexAttribIPointer:_glVertexAttribIPointer,_glVertexAttribPointer:_glVertexAttribPointer,_glViewport:_glViewport,_gmtime:_gmtime,_gmtime_r:_gmtime_r,_llvm_ceil_f32:_llvm_ceil_f32,_llvm_ceil_f64:_llvm_ceil_f64,_llvm_cttz_i32:_llvm_cttz_i32,_llvm_eh_typeid_for:_llvm_eh_typeid_for,_llvm_exp2_f32:_llvm_exp2_f32,_llvm_fabs_f32:_llvm_fabs_f32,_llvm_fabs_f64:_llvm_fabs_f64,_llvm_floor_f32:_llvm_floor_f32,_llvm_floor_f64:_llvm_floor_f64,_llvm_pow_f32:_llvm_pow_f32,_llvm_pow_f64:_llvm_pow_f64,_llvm_trap:_llvm_trap,_localtime:_localtime,_localtime_r:_localtime_r,_longjmp:_longjmp,_mktime:_mktime,_pthread_attr_destroy:_pthread_attr_destroy,_pthread_attr_init:_pthread_attr_init,_pthread_cond_destroy:_pthread_cond_destroy,_pthread_cond_init:_pthread_cond_init,_pthread_cond_signal:_pthread_cond_signal,_pthread_cond_timedwait:_pthread_cond_timedwait,_pthread_cond_wait:_pthread_cond_wait,_pthread_create:_pthread_create,_pthread_detach:_pthread_detach,_pthread_getspecific:_pthread_getspecific,_pthread_key_create:_pthread_key_create,_pthread_key_delete:_pthread_key_delete,_pthread_mutex_destroy:_pthread_mutex_destroy,_pthread_mutex_init:_pthread_mutex_init,_pthread_mutexattr_destroy:_pthread_mutexattr_destroy,_pthread_mutexattr_init:_pthread_mutexattr_init,_pthread_mutexattr_settype:_pthread_mutexattr_settype,_pthread_once:_pthread_once,_pthread_rwlock_init:_pthread_rwlock_init,_pthread_rwlock_rdlock:_pthread_rwlock_rdlock,_pthread_rwlock_unlock:_pthread_rwlock_unlock,_pthread_rwlock_wrlock:_pthread_rwlock_wrlock,_pthread_setspecific:_pthread_setspecific,_putenv:_putenv,_sched_yield:_sched_yield,_setenv:_setenv,_strftime:_strftime,_sysconf:_sysconf,_time:_time,_tzset:_tzset,_unsetenv:_unsetenv,_utime:_utime,emscriptenWebGLComputeImageSize:emscriptenWebGLComputeImageSize,emscriptenWebGLGet:emscriptenWebGLGet,emscriptenWebGLGetBufferBinding:emscriptenWebGLGetBufferBinding,emscriptenWebGLGetHeapForType:emscriptenWebGLGetHeapForType,emscriptenWebGLGetIndexed:emscriptenWebGLGetIndexed,emscriptenWebGLGetShiftForType:emscriptenWebGLGetShiftForType,emscriptenWebGLGetTexPixelData:emscriptenWebGLGetTexPixelData,emscriptenWebGLGetUniform:emscriptenWebGLGetUniform,emscriptenWebGLGetVertexAttrib:emscriptenWebGLGetVertexAttrib,emscriptenWebGLValidateMapBufferTarget:emscriptenWebGLValidateMapBufferTarget,DYNAMICTOP_PTR:DYNAMICTOP_PTR,tempDoublePtr:tempDoublePtr,ABORT:ABORT,STACKTOP:STACKTOP,STACK_MAX:STACK_MAX,cttz_i8:cttz_i8};var asm=Module.asm(Module.asmGlobalArg,Module.asmLibraryArg,buffer);Module.asm=asm;var _SendMessage=Module._SendMessage=function(){return Module.asm._SendMessage.apply(null,arguments)},_SendMessageFloat=Module._SendMessageFloat=function(){return Module.asm._SendMessageFloat.apply(null,arguments)},_SendMessageString=Module._SendMessageString=function(){return Module.asm._SendMessageString.apply(null,arguments)},_SetFullscreen=Module._SetFullscreen=function(){return Module.asm._SetFullscreen.apply(null,arguments)},__GLOBAL__sub_I_AIScriptingClasses_cpp=Module.__GLOBAL__sub_I_AIScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_AIScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_ARScriptingClasses_cpp=Module.__GLOBAL__sub_I_ARScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_ARScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_AccessibilityScriptingClasses_cpp=Module.__GLOBAL__sub_I_AccessibilityScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_AccessibilityScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_AnimationClip_cpp=Module.__GLOBAL__sub_I_AnimationClip_cpp=function(){return Module.asm.__GLOBAL__sub_I_AnimationClip_cpp.apply(null,arguments)},__GLOBAL__sub_I_AnimationScriptingClasses_cpp=Module.__GLOBAL__sub_I_AnimationScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_AnimationScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_AppDomain_cpp=Module.__GLOBAL__sub_I_AppDomain_cpp=function(){return Module.asm.__GLOBAL__sub_I_AppDomain_cpp.apply(null,arguments)},__GLOBAL__sub_I_ArrayMetadata_cpp=Module.__GLOBAL__sub_I_ArrayMetadata_cpp=function(){return Module.asm.__GLOBAL__sub_I_ArrayMetadata_cpp.apply(null,arguments)},__GLOBAL__sub_I_Assembly_cpp=Module.__GLOBAL__sub_I_Assembly_cpp=function(){return Module.asm.__GLOBAL__sub_I_Assembly_cpp.apply(null,arguments)},__GLOBAL__sub_I_Assembly_cpp_45058=Module.__GLOBAL__sub_I_Assembly_cpp_45058=function(){return Module.asm.__GLOBAL__sub_I_Assembly_cpp_45058.apply(null,arguments)},__GLOBAL__sub_I_AssetBundleFileSystem_cpp=Module.__GLOBAL__sub_I_AssetBundleFileSystem_cpp=function(){return Module.asm.__GLOBAL__sub_I_AssetBundleFileSystem_cpp.apply(null,arguments)},__GLOBAL__sub_I_AssetBundleScriptingClasses_cpp=Module.__GLOBAL__sub_I_AssetBundleScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_AssetBundleScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_AudioScriptingClasses_cpp=Module.__GLOBAL__sub_I_AudioScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_AudioScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_Avatar_cpp=Module.__GLOBAL__sub_I_Avatar_cpp=function(){return Module.asm.__GLOBAL__sub_I_Avatar_cpp.apply(null,arguments)},__GLOBAL__sub_I_BoehmGC_cpp=Module.__GLOBAL__sub_I_BoehmGC_cpp=function(){return Module.asm.__GLOBAL__sub_I_BoehmGC_cpp.apply(null,arguments)},__GLOBAL__sub_I_Class_cpp=Module.__GLOBAL__sub_I_Class_cpp=function(){return Module.asm.__GLOBAL__sub_I_Class_cpp.apply(null,arguments)},__GLOBAL__sub_I_ClothScriptingClasses_cpp=Module.__GLOBAL__sub_I_ClothScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_ClothScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_CmEventProfiler_cpp=Module.__GLOBAL__sub_I_CmEventProfiler_cpp=function(){return Module.asm.__GLOBAL__sub_I_CmEventProfiler_cpp.apply(null,arguments)},__GLOBAL__sub_I_Console_cpp=Module.__GLOBAL__sub_I_Console_cpp=function(){return Module.asm.__GLOBAL__sub_I_Console_cpp.apply(null,arguments)},__GLOBAL__sub_I_ConstraintManager_cpp=Module.__GLOBAL__sub_I_ConstraintManager_cpp=function(){return Module.asm.__GLOBAL__sub_I_ConstraintManager_cpp.apply(null,arguments)},__GLOBAL__sub_I_DirectorScriptingClasses_cpp=Module.__GLOBAL__sub_I_DirectorScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_DirectorScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_Environment_cpp=Module.__GLOBAL__sub_I_Environment_cpp=function(){return Module.asm.__GLOBAL__sub_I_Environment_cpp.apply(null,arguments)},__GLOBAL__sub_I_Error_cpp=Module.__GLOBAL__sub_I_Error_cpp=function(){return Module.asm.__GLOBAL__sub_I_Error_cpp.apply(null,arguments)},__GLOBAL__sub_I_External_Yoga_Yoga_0_cpp=Module.__GLOBAL__sub_I_External_Yoga_Yoga_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_External_Yoga_Yoga_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_File_cpp=Module.__GLOBAL__sub_I_File_cpp=function(){return Module.asm.__GLOBAL__sub_I_File_cpp.apply(null,arguments)},__GLOBAL__sub_I_GCHandle_cpp=Module.__GLOBAL__sub_I_GCHandle_cpp=function(){return Module.asm.__GLOBAL__sub_I_GCHandle_cpp.apply(null,arguments)},__GLOBAL__sub_I_GarbageCollector_cpp=Module.__GLOBAL__sub_I_GarbageCollector_cpp=function(){return Module.asm.__GLOBAL__sub_I_GarbageCollector_cpp.apply(null,arguments)},__GLOBAL__sub_I_GenericMetadata_cpp=Module.__GLOBAL__sub_I_GenericMetadata_cpp=function(){return Module.asm.__GLOBAL__sub_I_GenericMetadata_cpp.apply(null,arguments)},__GLOBAL__sub_I_GenericMethod_cpp=Module.__GLOBAL__sub_I_GenericMethod_cpp=function(){return Module.asm.__GLOBAL__sub_I_GenericMethod_cpp.apply(null,arguments)},__GLOBAL__sub_I_IMGUIScriptingClasses_cpp=Module.__GLOBAL__sub_I_IMGUIScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_IMGUIScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_Il2CppCodeRegistration_cpp=Module.__GLOBAL__sub_I_Il2CppCodeRegistration_cpp=function(){return Module.asm.__GLOBAL__sub_I_Il2CppCodeRegistration_cpp.apply(null,arguments)},__GLOBAL__sub_I_Image_cpp=Module.__GLOBAL__sub_I_Image_cpp=function(){return Module.asm.__GLOBAL__sub_I_Image_cpp.apply(null,arguments)},__GLOBAL__sub_I_InputScriptingClasses_cpp=Module.__GLOBAL__sub_I_InputScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_InputScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_Interlocked_cpp=Module.__GLOBAL__sub_I_Interlocked_cpp=function(){return Module.asm.__GLOBAL__sub_I_Interlocked_cpp.apply(null,arguments)},__GLOBAL__sub_I_LibraryLoader_cpp=Module.__GLOBAL__sub_I_LibraryLoader_cpp=function(){return Module.asm.__GLOBAL__sub_I_LibraryLoader_cpp.apply(null,arguments)},__GLOBAL__sub_I_MemoryMappedFile_cpp=Module.__GLOBAL__sub_I_MemoryMappedFile_cpp=function(){return Module.asm.__GLOBAL__sub_I_MemoryMappedFile_cpp.apply(null,arguments)},__GLOBAL__sub_I_MetadataCache_cpp=Module.__GLOBAL__sub_I_MetadataCache_cpp=function(){return Module.asm.__GLOBAL__sub_I_MetadataCache_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_AssetBundle_Public_1_cpp=Module.__GLOBAL__sub_I_Modules_AssetBundle_Public_1_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_AssetBundle_Public_1_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_Audio_Public_0_cpp=Module.__GLOBAL__sub_I_Modules_Audio_Public_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_Audio_Public_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_Audio_Public_1_cpp=Module.__GLOBAL__sub_I_Modules_Audio_Public_1_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_Audio_Public_1_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_Audio_Public_3_cpp=Module.__GLOBAL__sub_I_Modules_Audio_Public_3_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_Audio_Public_3_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_CloudWebServices_Public_Session_0_cpp=Module.__GLOBAL__sub_I_Modules_CloudWebServices_Public_Session_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_CloudWebServices_Public_Session_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_Grid_Public_0_cpp=Module.__GLOBAL__sub_I_Modules_Grid_Public_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_Grid_Public_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_IMGUI_0_cpp=Module.__GLOBAL__sub_I_Modules_IMGUI_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_IMGUI_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_IMGUI_1_cpp=Module.__GLOBAL__sub_I_Modules_IMGUI_1_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_IMGUI_1_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_Physics2D_0_cpp=Module.__GLOBAL__sub_I_Modules_Physics2D_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_Physics2D_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_Physics2D_Public_0_cpp=Module.__GLOBAL__sub_I_Modules_Physics2D_Public_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_Physics2D_Public_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_Profiler_Public_0_cpp=Module.__GLOBAL__sub_I_Modules_Profiler_Public_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_Profiler_Public_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_Profiler_Runtime_0_cpp=Module.__GLOBAL__sub_I_Modules_Profiler_Runtime_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_Profiler_Runtime_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_Terrain_Public_0_cpp=Module.__GLOBAL__sub_I_Modules_Terrain_Public_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_Terrain_Public_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_Terrain_Public_1_cpp=Module.__GLOBAL__sub_I_Modules_Terrain_Public_1_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_Terrain_Public_1_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_Terrain_Public_2_cpp=Module.__GLOBAL__sub_I_Modules_Terrain_Public_2_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_Terrain_Public_2_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_Terrain_VR_0_cpp=Module.__GLOBAL__sub_I_Modules_Terrain_VR_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_Terrain_VR_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_TextRendering_Public_0_cpp=Module.__GLOBAL__sub_I_Modules_TextRendering_Public_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_TextRendering_Public_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_Tilemap_0_cpp=Module.__GLOBAL__sub_I_Modules_Tilemap_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_Tilemap_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_Tilemap_Public_0_cpp=Module.__GLOBAL__sub_I_Modules_Tilemap_Public_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_Tilemap_Public_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_UnityWebRequest_Public_0_cpp=Module.__GLOBAL__sub_I_Modules_UnityWebRequest_Public_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_UnityWebRequest_Public_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Modules_XR_Subsystems_Input_Public_1_cpp=Module.__GLOBAL__sub_I_Modules_XR_Subsystems_Input_Public_1_cpp=function(){return Module.asm.__GLOBAL__sub_I_Modules_XR_Subsystems_Input_Public_1_cpp.apply(null,arguments)},__GLOBAL__sub_I_NativeDelegateMethodCache_cpp=Module.__GLOBAL__sub_I_NativeDelegateMethodCache_cpp=function(){return Module.asm.__GLOBAL__sub_I_NativeDelegateMethodCache_cpp.apply(null,arguments)},__GLOBAL__sub_I_ParticleSystemRenderer_cpp=Module.__GLOBAL__sub_I_ParticleSystemRenderer_cpp=function(){return Module.asm.__GLOBAL__sub_I_ParticleSystemRenderer_cpp.apply(null,arguments)},__GLOBAL__sub_I_ParticleSystemScriptingClasses_cpp=Module.__GLOBAL__sub_I_ParticleSystemScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_ParticleSystemScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_Path_cpp=Module.__GLOBAL__sub_I_Path_cpp=function(){return Module.asm.__GLOBAL__sub_I_Path_cpp.apply(null,arguments)},__GLOBAL__sub_I_Physics2DScriptingClasses_cpp=Module.__GLOBAL__sub_I_Physics2DScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_Physics2DScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_PhysicsScriptingClasses_cpp=Module.__GLOBAL__sub_I_PhysicsScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_PhysicsScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_PlatformDependent_WebGL_Source_0_cpp=Module.__GLOBAL__sub_I_PlatformDependent_WebGL_Source_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_PlatformDependent_WebGL_Source_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_PxsFluidDynamics_cpp=Module.__GLOBAL__sub_I_PxsFluidDynamics_cpp=function(){return Module.asm.__GLOBAL__sub_I_PxsFluidDynamics_cpp.apply(null,arguments)},__GLOBAL__sub_I_RCW_cpp=Module.__GLOBAL__sub_I_RCW_cpp=function(){return Module.asm.__GLOBAL__sub_I_RCW_cpp.apply(null,arguments)},__GLOBAL__sub_I_Reflection_cpp=Module.__GLOBAL__sub_I_Reflection_cpp=function(){return Module.asm.__GLOBAL__sub_I_Reflection_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_2D_Sorting_0_cpp=Module.__GLOBAL__sub_I_Runtime_2D_Sorting_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_2D_Sorting_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_2D_SpriteAtlas_0_cpp=Module.__GLOBAL__sub_I_Runtime_2D_SpriteAtlas_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_2D_SpriteAtlas_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Allocator_1_cpp=Module.__GLOBAL__sub_I_Runtime_Allocator_1_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Allocator_1_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Animation_0_cpp=Module.__GLOBAL__sub_I_Runtime_Animation_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Animation_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Animation_1_cpp=Module.__GLOBAL__sub_I_Runtime_Animation_1_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Animation_1_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Animation_4_cpp=Module.__GLOBAL__sub_I_Runtime_Animation_4_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Animation_4_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Application_0_cpp=Module.__GLOBAL__sub_I_Runtime_Application_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Application_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_BaseClasses_0_cpp=Module.__GLOBAL__sub_I_Runtime_BaseClasses_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_BaseClasses_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_BaseClasses_1_cpp=Module.__GLOBAL__sub_I_Runtime_BaseClasses_1_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_BaseClasses_1_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_BaseClasses_2_cpp=Module.__GLOBAL__sub_I_Runtime_BaseClasses_2_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_BaseClasses_2_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_BaseClasses_3_cpp=Module.__GLOBAL__sub_I_Runtime_BaseClasses_3_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_BaseClasses_3_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Burst_0_cpp=Module.__GLOBAL__sub_I_Runtime_Burst_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Burst_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Camera_0_cpp=Module.__GLOBAL__sub_I_Runtime_Camera_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Camera_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Camera_2_cpp=Module.__GLOBAL__sub_I_Runtime_Camera_2_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Camera_2_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Camera_3_cpp=Module.__GLOBAL__sub_I_Runtime_Camera_3_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Camera_3_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Camera_5_cpp=Module.__GLOBAL__sub_I_Runtime_Camera_5_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Camera_5_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Camera_6_cpp=Module.__GLOBAL__sub_I_Runtime_Camera_6_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Camera_6_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Camera_Culling_0_cpp=Module.__GLOBAL__sub_I_Runtime_Camera_Culling_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Camera_Culling_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Camera_RenderLayers_0_cpp=Module.__GLOBAL__sub_I_Runtime_Camera_RenderLayers_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Camera_RenderLayers_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Camera_RenderLoops_0_cpp=Module.__GLOBAL__sub_I_Runtime_Camera_RenderLoops_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Camera_RenderLoops_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Camera_RenderLoops_2_cpp=Module.__GLOBAL__sub_I_Runtime_Camera_RenderLoops_2_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Camera_RenderLoops_2_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Cloth_0_cpp=Module.__GLOBAL__sub_I_Runtime_Cloth_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Cloth_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Containers_0_cpp=Module.__GLOBAL__sub_I_Runtime_Containers_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Containers_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Core_Callbacks_0_cpp=Module.__GLOBAL__sub_I_Runtime_Core_Callbacks_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Core_Callbacks_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Director_Core_1_cpp=Module.__GLOBAL__sub_I_Runtime_Director_Core_1_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Director_Core_1_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Dynamics_0_cpp=Module.__GLOBAL__sub_I_Runtime_Dynamics_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Dynamics_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Dynamics_1_cpp=Module.__GLOBAL__sub_I_Runtime_Dynamics_1_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Dynamics_1_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Geometry_2_cpp=Module.__GLOBAL__sub_I_Runtime_Geometry_2_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Geometry_2_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_GfxDevice_0_cpp=Module.__GLOBAL__sub_I_Runtime_GfxDevice_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_GfxDevice_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_GfxDevice_1_cpp=Module.__GLOBAL__sub_I_Runtime_GfxDevice_1_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_GfxDevice_1_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_GfxDevice_2_cpp=Module.__GLOBAL__sub_I_Runtime_GfxDevice_2_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_GfxDevice_2_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_GfxDevice_3_cpp=Module.__GLOBAL__sub_I_Runtime_GfxDevice_3_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_GfxDevice_3_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Graphics_0_cpp=Module.__GLOBAL__sub_I_Runtime_Graphics_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Graphics_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Graphics_10_cpp=Module.__GLOBAL__sub_I_Runtime_Graphics_10_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Graphics_10_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Graphics_11_cpp=Module.__GLOBAL__sub_I_Runtime_Graphics_11_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Graphics_11_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Graphics_1_cpp=Module.__GLOBAL__sub_I_Runtime_Graphics_1_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Graphics_1_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Graphics_5_cpp=Module.__GLOBAL__sub_I_Runtime_Graphics_5_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Graphics_5_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Graphics_6_cpp=Module.__GLOBAL__sub_I_Runtime_Graphics_6_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Graphics_6_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Graphics_8_cpp=Module.__GLOBAL__sub_I_Runtime_Graphics_8_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Graphics_8_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Graphics_9_cpp=Module.__GLOBAL__sub_I_Runtime_Graphics_9_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Graphics_9_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Graphics_Billboard_0_cpp=Module.__GLOBAL__sub_I_Runtime_Graphics_Billboard_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Graphics_Billboard_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Graphics_LOD_0_cpp=Module.__GLOBAL__sub_I_Runtime_Graphics_LOD_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Graphics_LOD_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Graphics_Mesh_0_cpp=Module.__GLOBAL__sub_I_Runtime_Graphics_Mesh_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Graphics_Mesh_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Graphics_Mesh_1_cpp=Module.__GLOBAL__sub_I_Runtime_Graphics_Mesh_1_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Graphics_Mesh_1_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Graphics_Mesh_3_cpp=Module.__GLOBAL__sub_I_Runtime_Graphics_Mesh_3_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Graphics_Mesh_3_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Graphics_ScriptableRenderLoop_0_cpp=Module.__GLOBAL__sub_I_Runtime_Graphics_ScriptableRenderLoop_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Graphics_ScriptableRenderLoop_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Input_0_cpp=Module.__GLOBAL__sub_I_Runtime_Input_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Input_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Interfaces_0_cpp=Module.__GLOBAL__sub_I_Runtime_Interfaces_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Interfaces_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Interfaces_1_cpp=Module.__GLOBAL__sub_I_Runtime_Interfaces_1_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Interfaces_1_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Interfaces_2_cpp=Module.__GLOBAL__sub_I_Runtime_Interfaces_2_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Interfaces_2_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Jobs_0_cpp=Module.__GLOBAL__sub_I_Runtime_Jobs_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Jobs_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Jobs_ScriptBindings_0_cpp=Module.__GLOBAL__sub_I_Runtime_Jobs_ScriptBindings_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Jobs_ScriptBindings_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Logging_0_cpp=Module.__GLOBAL__sub_I_Runtime_Logging_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Logging_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Math_2_cpp=Module.__GLOBAL__sub_I_Runtime_Math_2_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Math_2_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Math_Random_0_cpp=Module.__GLOBAL__sub_I_Runtime_Math_Random_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Math_Random_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Misc_0_cpp=Module.__GLOBAL__sub_I_Runtime_Misc_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Misc_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Misc_2_cpp=Module.__GLOBAL__sub_I_Runtime_Misc_2_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Misc_2_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Misc_4_cpp=Module.__GLOBAL__sub_I_Runtime_Misc_4_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Misc_4_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Misc_5_cpp=Module.__GLOBAL__sub_I_Runtime_Misc_5_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Misc_5_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Modules_0_cpp=Module.__GLOBAL__sub_I_Runtime_Modules_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Modules_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_0_cpp=Module.__GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_1_cpp=Module.__GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_1_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Mono_SerializationBackend_DirectMemoryAccess_1_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_ParticleSystem_Modules_3_cpp=Module.__GLOBAL__sub_I_Runtime_ParticleSystem_Modules_3_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_ParticleSystem_Modules_3_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_PluginInterface_0_cpp=Module.__GLOBAL__sub_I_Runtime_PluginInterface_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_PluginInterface_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_PreloadManager_0_cpp=Module.__GLOBAL__sub_I_Runtime_PreloadManager_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_PreloadManager_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_SceneManager_0_cpp=Module.__GLOBAL__sub_I_Runtime_SceneManager_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_SceneManager_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_ScriptingBackend_Il2Cpp_0_cpp=Module.__GLOBAL__sub_I_Runtime_ScriptingBackend_Il2Cpp_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_ScriptingBackend_Il2Cpp_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Scripting_0_cpp=Module.__GLOBAL__sub_I_Runtime_Scripting_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Scripting_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Scripting_3_cpp=Module.__GLOBAL__sub_I_Runtime_Scripting_3_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Scripting_3_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_0_cpp=Module.__GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_1_cpp=Module.__GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_1_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Serialize_TransferFunctions_1_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Shaders_0_cpp=Module.__GLOBAL__sub_I_Runtime_Shaders_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Shaders_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Shaders_1_cpp=Module.__GLOBAL__sub_I_Runtime_Shaders_1_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Shaders_1_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_0_cpp=Module.__GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_1_cpp=Module.__GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_1_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Shaders_ShaderImpl_1_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Transform_0_cpp=Module.__GLOBAL__sub_I_Runtime_Transform_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Transform_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Transform_1_cpp=Module.__GLOBAL__sub_I_Runtime_Transform_1_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Transform_1_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_UI_0_cpp=Module.__GLOBAL__sub_I_Runtime_UI_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_UI_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_UI_1_cpp=Module.__GLOBAL__sub_I_Runtime_UI_1_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_UI_1_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_UI_2_cpp=Module.__GLOBAL__sub_I_Runtime_UI_2_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_UI_2_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Utilities_2_cpp=Module.__GLOBAL__sub_I_Runtime_Utilities_2_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Utilities_2_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Utilities_4_cpp=Module.__GLOBAL__sub_I_Runtime_Utilities_4_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Utilities_4_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Utilities_5_cpp=Module.__GLOBAL__sub_I_Runtime_Utilities_5_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Utilities_5_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Utilities_6_cpp=Module.__GLOBAL__sub_I_Runtime_Utilities_6_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Utilities_6_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Utilities_8_cpp=Module.__GLOBAL__sub_I_Runtime_Utilities_8_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Utilities_8_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_VR_2_cpp=Module.__GLOBAL__sub_I_Runtime_VR_2_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_VR_2_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_VR_PluginInterface_0_cpp=Module.__GLOBAL__sub_I_Runtime_VR_PluginInterface_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_VR_PluginInterface_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Vehicles_0_cpp=Module.__GLOBAL__sub_I_Runtime_Vehicles_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Vehicles_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_Video_0_cpp=Module.__GLOBAL__sub_I_Runtime_Video_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_Video_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_VirtualFileSystem_0_cpp=Module.__GLOBAL__sub_I_Runtime_VirtualFileSystem_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_VirtualFileSystem_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_cpp=Module.__GLOBAL__sub_I_Runtime_cpp=function(){return Module.asm.__GLOBAL__sub_I_Runtime_cpp.apply(null,arguments)},__GLOBAL__sub_I_Runtime_cpp_45598=Module.__GLOBAL__sub_I_Runtime_cpp_45598=function(){return Module.asm.__GLOBAL__sub_I_Runtime_cpp_45598.apply(null,arguments)},__GLOBAL__sub_I_Shader_cpp=Module.__GLOBAL__sub_I_Shader_cpp=function(){return Module.asm.__GLOBAL__sub_I_Shader_cpp.apply(null,arguments)},__GLOBAL__sub_I_ShapeModule_cpp=Module.__GLOBAL__sub_I_ShapeModule_cpp=function(){return Module.asm.__GLOBAL__sub_I_ShapeModule_cpp.apply(null,arguments)},__GLOBAL__sub_I_Socket_cpp=Module.__GLOBAL__sub_I_Socket_cpp=function(){return Module.asm.__GLOBAL__sub_I_Socket_cpp.apply(null,arguments)},__GLOBAL__sub_I_SparseTextureGLES_cpp=Module.__GLOBAL__sub_I_SparseTextureGLES_cpp=function(){return Module.asm.__GLOBAL__sub_I_SparseTextureGLES_cpp.apply(null,arguments)},__GLOBAL__sub_I_SpriteRendererJobs_cpp=Module.__GLOBAL__sub_I_SpriteRendererJobs_cpp=function(){return Module.asm.__GLOBAL__sub_I_SpriteRendererJobs_cpp.apply(null,arguments)},__GLOBAL__sub_I_StackTrace_cpp=Module.__GLOBAL__sub_I_StackTrace_cpp=function(){return Module.asm.__GLOBAL__sub_I_StackTrace_cpp.apply(null,arguments)},__GLOBAL__sub_I_String_cpp=Module.__GLOBAL__sub_I_String_cpp=function(){return Module.asm.__GLOBAL__sub_I_String_cpp.apply(null,arguments)},__GLOBAL__sub_I_SwCollision_cpp=Module.__GLOBAL__sub_I_SwCollision_cpp=function(){return Module.asm.__GLOBAL__sub_I_SwCollision_cpp.apply(null,arguments)},__GLOBAL__sub_I_SwInterCollision_cpp=Module.__GLOBAL__sub_I_SwInterCollision_cpp=function(){return Module.asm.__GLOBAL__sub_I_SwInterCollision_cpp.apply(null,arguments)},__GLOBAL__sub_I_SwSelfCollision_cpp=Module.__GLOBAL__sub_I_SwSelfCollision_cpp=function(){return Module.asm.__GLOBAL__sub_I_SwSelfCollision_cpp.apply(null,arguments)},__GLOBAL__sub_I_SwSolverKernel_cpp=Module.__GLOBAL__sub_I_SwSolverKernel_cpp=function(){return Module.asm.__GLOBAL__sub_I_SwSolverKernel_cpp.apply(null,arguments)},__GLOBAL__sub_I_TerrainScriptingClasses_cpp=Module.__GLOBAL__sub_I_TerrainScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_TerrainScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_TextRenderingScriptingClasses_cpp=Module.__GLOBAL__sub_I_TextRenderingScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_TextRenderingScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_ThreadImpl_cpp=Module.__GLOBAL__sub_I_ThreadImpl_cpp=function(){return Module.asm.__GLOBAL__sub_I_ThreadImpl_cpp.apply(null,arguments)},__GLOBAL__sub_I_Thread_cpp=Module.__GLOBAL__sub_I_Thread_cpp=function(){return Module.asm.__GLOBAL__sub_I_Thread_cpp.apply(null,arguments)},__GLOBAL__sub_I_Thread_cpp_44564=Module.__GLOBAL__sub_I_Thread_cpp_44564=function(){return Module.asm.__GLOBAL__sub_I_Thread_cpp_44564.apply(null,arguments)},__GLOBAL__sub_I_TilemapScriptingClasses_cpp=Module.__GLOBAL__sub_I_TilemapScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_TilemapScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_TransformFeedbackSkinning_cpp=Module.__GLOBAL__sub_I_TransformFeedbackSkinning_cpp=function(){return Module.asm.__GLOBAL__sub_I_TransformFeedbackSkinning_cpp.apply(null,arguments)},__GLOBAL__sub_I_Transform_cpp=Module.__GLOBAL__sub_I_Transform_cpp=function(){return Module.asm.__GLOBAL__sub_I_Transform_cpp.apply(null,arguments)},__GLOBAL__sub_I_UIElementsScriptingClasses_cpp=Module.__GLOBAL__sub_I_UIElementsScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_UIElementsScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_UIScriptingClasses_cpp=Module.__GLOBAL__sub_I_UIScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_UIScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_UnityAdsSettings_cpp=Module.__GLOBAL__sub_I_UnityAdsSettings_cpp=function(){return Module.asm.__GLOBAL__sub_I_UnityAdsSettings_cpp.apply(null,arguments)},__GLOBAL__sub_I_UnityAnalyticsScriptingClasses_cpp=Module.__GLOBAL__sub_I_UnityAnalyticsScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_UnityAnalyticsScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_UnityWebRequestScriptingClasses_cpp=Module.__GLOBAL__sub_I_UnityWebRequestScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_UnityWebRequestScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_VideoScriptingClasses_cpp=Module.__GLOBAL__sub_I_VideoScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_VideoScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_Wind_cpp=Module.__GLOBAL__sub_I_Wind_cpp=function(){return Module.asm.__GLOBAL__sub_I_Wind_cpp.apply(null,arguments)},__GLOBAL__sub_I_XRScriptingClasses_cpp=Module.__GLOBAL__sub_I_XRScriptingClasses_cpp=function(){return Module.asm.__GLOBAL__sub_I_XRScriptingClasses_cpp.apply(null,arguments)},__GLOBAL__sub_I_artifacts_WebGL_codegenerator_0_cpp=Module.__GLOBAL__sub_I_artifacts_WebGL_codegenerator_0_cpp=function(){return Module.asm.__GLOBAL__sub_I_artifacts_WebGL_codegenerator_0_cpp.apply(null,arguments)},__GLOBAL__sub_I_umbra_cpp=Module.__GLOBAL__sub_I_umbra_cpp=function(){return Module.asm.__GLOBAL__sub_I_umbra_cpp.apply(null,arguments)},___cxa_can_catch=Module.___cxa_can_catch=function(){return Module.asm.___cxa_can_catch.apply(null,arguments)},___cxa_is_pointer_type=Module.___cxa_is_pointer_type=function(){return Module.asm.___cxa_is_pointer_type.apply(null,arguments)},___cxx_global_var_init_110=Module.___cxx_global_var_init_110=function(){return Module.asm.___cxx_global_var_init_110.apply(null,arguments)},___cxx_global_var_init_124=Module.___cxx_global_var_init_124=function(){return Module.asm.___cxx_global_var_init_124.apply(null,arguments)},___cxx_global_var_init_13=Module.___cxx_global_var_init_13=function(){return Module.asm.___cxx_global_var_init_13.apply(null,arguments)},___cxx_global_var_init_18=Module.___cxx_global_var_init_18=function(){return Module.asm.___cxx_global_var_init_18.apply(null,arguments)},___cxx_global_var_init_21=Module.___cxx_global_var_init_21=function(){return Module.asm.___cxx_global_var_init_21.apply(null,arguments)},___cxx_global_var_init_2_812=Module.___cxx_global_var_init_2_812=function(){return Module.asm.___cxx_global_var_init_2_812.apply(null,arguments)},___cxx_global_var_init_3064=Module.___cxx_global_var_init_3064=function(){return Module.asm.___cxx_global_var_init_3064.apply(null,arguments)},___cxx_global_var_init_34=Module.___cxx_global_var_init_34=function(){return Module.asm.___cxx_global_var_init_34.apply(null,arguments)},___errno_location=Module.___errno_location=function(){return Module.asm.___errno_location.apply(null,arguments)},_emscripten_replace_memory=Module._emscripten_replace_memory=function(){return Module.asm._emscripten_replace_memory.apply(null,arguments)},_free=Module._free=function(){return Module.asm._free.apply(null,arguments)},_htonl=Module._htonl=function(){return Module.asm._htonl.apply(null,arguments)},_htons=Module._htons=function(){return Module.asm._htons.apply(null,arguments)},_llvm_bswap_i16=Module._llvm_bswap_i16=function(){return Module.asm._llvm_bswap_i16.apply(null,arguments)},_llvm_bswap_i32=Module._llvm_bswap_i32=function(){return Module.asm._llvm_bswap_i32.apply(null,arguments)},_llvm_ctlz_i64=Module._llvm_ctlz_i64=function(){return Module.asm._llvm_ctlz_i64.apply(null,arguments)},_main=Module._main=function(){return Module.asm._main.apply(null,arguments)},_malloc=Module._malloc=function(){return Module.asm._malloc.apply(null,arguments)},_memalign=Module._memalign=function(){return Module.asm._memalign.apply(null,arguments)},_memcpy=Module._memcpy=function(){return Module.asm._memcpy.apply(null,arguments)},_memmove=Module._memmove=function(){return Module.asm._memmove.apply(null,arguments)},_memset=Module._memset=function(){return Module.asm._memset.apply(null,arguments)},_ntohs=Module._ntohs=function(){return Module.asm._ntohs.apply(null,arguments)},_pthread_cond_broadcast=Module._pthread_cond_broadcast=function(){return Module.asm._pthread_cond_broadcast.apply(null,arguments)},_pthread_mutex_lock=Module._pthread_mutex_lock=function(){return Module.asm._pthread_mutex_lock.apply(null,arguments)},_pthread_mutex_unlock=Module._pthread_mutex_unlock=function(){return Module.asm._pthread_mutex_unlock.apply(null,arguments)},_realloc=Module._realloc=function(){return Module.asm._realloc.apply(null,arguments)},_roundf=Module._roundf=function(){return Module.asm._roundf.apply(null,arguments)},_saveSetjmp=Module._saveSetjmp=function(){return Module.asm._saveSetjmp.apply(null,arguments)},_sbrk=Module._sbrk=function(){return Module.asm._sbrk.apply(null,arguments)},_strstr=Module._strstr=function(){return Module.asm._strstr.apply(null,arguments)},_testSetjmp=Module._testSetjmp=function(){return Module.asm._testSetjmp.apply(null,arguments)},establishStackSpace=Module.establishStackSpace=function(){return Module.asm.establishStackSpace.apply(null,arguments)},getTempRet0=Module.getTempRet0=function(){return Module.asm.getTempRet0.apply(null,arguments)},runPostSets=Module.runPostSets=function(){return Module.asm.runPostSets.apply(null,arguments)},setTempRet0=Module.setTempRet0=function(){return Module.asm.setTempRet0.apply(null,arguments)},setThrew=Module.setThrew=function(){return Module.asm.setThrew.apply(null,arguments)},stackAlloc=Module.stackAlloc=function(){return Module.asm.stackAlloc.apply(null,arguments)},stackRestore=Module.stackRestore=function(){return Module.asm.stackRestore.apply(null,arguments)},stackSave=Module.stackSave=function(){return Module.asm.stackSave.apply(null,arguments)},dynCall_di=Module.dynCall_di=function(){return Module.asm.dynCall_di.apply(null,arguments)},dynCall_diddi=Module.dynCall_diddi=function(){return Module.asm.dynCall_diddi.apply(null,arguments)},dynCall_didi=Module.dynCall_didi=function(){return Module.asm.dynCall_didi.apply(null,arguments)},dynCall_difi=Module.dynCall_difi=function(){return Module.asm.dynCall_difi.apply(null,arguments)},dynCall_dii=Module.dynCall_dii=function(){return Module.asm.dynCall_dii.apply(null,arguments)},dynCall_diidi=Module.dynCall_diidi=function(){return Module.asm.dynCall_diidi.apply(null,arguments)},dynCall_diii=Module.dynCall_diii=function(){return Module.asm.dynCall_diii.apply(null,arguments)},dynCall_diiidi=Module.dynCall_diiidi=function(){return Module.asm.dynCall_diiidi.apply(null,arguments)},dynCall_diiii=Module.dynCall_diiii=function(){return Module.asm.dynCall_diiii.apply(null,arguments)},dynCall_diiiii=Module.dynCall_diiiii=function(){return Module.asm.dynCall_diiiii.apply(null,arguments)},dynCall_diji=Module.dynCall_diji=function(){return Module.asm.dynCall_diji.apply(null,arguments)},dynCall_dijji=Module.dynCall_dijji=function(){return Module.asm.dynCall_dijji.apply(null,arguments)},dynCall_f=Module.dynCall_f=function(){return Module.asm.dynCall_f.apply(null,arguments)},dynCall_ff=Module.dynCall_ff=function(){return Module.asm.dynCall_ff.apply(null,arguments)},dynCall_fff=Module.dynCall_fff=function(){return Module.asm.dynCall_fff.apply(null,arguments)},dynCall_fi=Module.dynCall_fi=function(){return Module.asm.dynCall_fi.apply(null,arguments)},dynCall_fidi=Module.dynCall_fidi=function(){return Module.asm.dynCall_fidi.apply(null,arguments)},dynCall_fif=Module.dynCall_fif=function(){return Module.asm.dynCall_fif.apply(null,arguments)},dynCall_fiff=Module.dynCall_fiff=function(){return Module.asm.dynCall_fiff.apply(null,arguments)},dynCall_fifffi=Module.dynCall_fifffi=function(){return Module.asm.dynCall_fifffi.apply(null,arguments)},dynCall_fiffi=Module.dynCall_fiffi=function(){return Module.asm.dynCall_fiffi.apply(null,arguments)},dynCall_fiffifffi=Module.dynCall_fiffifffi=function(){return Module.asm.dynCall_fiffifffi.apply(null,arguments)},dynCall_fifi=Module.dynCall_fifi=function(){return Module.asm.dynCall_fifi.apply(null,arguments)},dynCall_fifii=Module.dynCall_fifii=function(){return Module.asm.dynCall_fifii.apply(null,arguments)},dynCall_fii=Module.dynCall_fii=function(){return Module.asm.dynCall_fii.apply(null,arguments)},dynCall_fiif=Module.dynCall_fiif=function(){return Module.asm.dynCall_fiif.apply(null,arguments)},dynCall_fiiffi=Module.dynCall_fiiffi=function(){return Module.asm.dynCall_fiiffi.apply(null,arguments)},dynCall_fiifi=Module.dynCall_fiifi=function(){return Module.asm.dynCall_fiifi.apply(null,arguments)},dynCall_fiii=Module.dynCall_fiii=function(){return Module.asm.dynCall_fiii.apply(null,arguments)},dynCall_fiiifi=Module.dynCall_fiiifi=function(){return Module.asm.dynCall_fiiifi.apply(null,arguments)},dynCall_fiiifii=Module.dynCall_fiiifii=function(){return Module.asm.dynCall_fiiifii.apply(null,arguments)},dynCall_fiiii=Module.dynCall_fiiii=function(){return Module.asm.dynCall_fiiii.apply(null,arguments)},dynCall_fiiiiiifiiiiiif=Module.dynCall_fiiiiiifiiiiiif=function(){return Module.asm.dynCall_fiiiiiifiiiiiif.apply(null,arguments)},dynCall_fiiiiiiiifiiiif=Module.dynCall_fiiiiiiiifiiiif=function(){return Module.asm.dynCall_fiiiiiiiifiiiif.apply(null,arguments)},dynCall_fiji=Module.dynCall_fiji=function(){return Module.asm.dynCall_fiji.apply(null,arguments)},dynCall_i=Module.dynCall_i=function(){return Module.asm.dynCall_i.apply(null,arguments)},dynCall_ii=Module.dynCall_ii=function(){return Module.asm.dynCall_ii.apply(null,arguments)},dynCall_iiddi=Module.dynCall_iiddi=function(){return Module.asm.dynCall_iiddi.apply(null,arguments)},dynCall_iidi=Module.dynCall_iidi=function(){return Module.asm.dynCall_iidi.apply(null,arguments)},dynCall_iidii=Module.dynCall_iidii=function(){return Module.asm.dynCall_iidii.apply(null,arguments)},dynCall_iidji=Module.dynCall_iidji=function(){return Module.asm.dynCall_iidji.apply(null,arguments)},dynCall_iif=Module.dynCall_iif=function(){return Module.asm.dynCall_iif.apply(null,arguments)},dynCall_iifff=Module.dynCall_iifff=function(){return Module.asm.dynCall_iifff.apply(null,arguments)},dynCall_iifffi=Module.dynCall_iifffi=function(){return Module.asm.dynCall_iifffi.apply(null,arguments)},dynCall_iiffi=Module.dynCall_iiffi=function(){return Module.asm.dynCall_iiffi.apply(null,arguments)},dynCall_iifi=Module.dynCall_iifi=function(){return Module.asm.dynCall_iifi.apply(null,arguments)},dynCall_iifii=Module.dynCall_iifii=function(){return Module.asm.dynCall_iifii.apply(null,arguments)},dynCall_iifiii=Module.dynCall_iifiii=function(){return Module.asm.dynCall_iifiii.apply(null,arguments)},dynCall_iii=Module.dynCall_iii=function(){return Module.asm.dynCall_iii.apply(null,arguments)},dynCall_iiid=Module.dynCall_iiid=function(){return Module.asm.dynCall_iiid.apply(null,arguments)},dynCall_iiidi=Module.dynCall_iiidi=function(){return Module.asm.dynCall_iiidi.apply(null,arguments)},dynCall_iiidii=Module.dynCall_iiidii=function(){return Module.asm.dynCall_iiidii.apply(null,arguments)},dynCall_iiif=Module.dynCall_iiif=function(){return Module.asm.dynCall_iiif.apply(null,arguments)},dynCall_iiifi=Module.dynCall_iiifi=function(){return Module.asm.dynCall_iiifi.apply(null,arguments)},dynCall_iiififiii=Module.dynCall_iiififiii=function(){return Module.asm.dynCall_iiififiii.apply(null,arguments)},dynCall_iiifii=Module.dynCall_iiifii=function(){return Module.asm.dynCall_iiifii.apply(null,arguments)},dynCall_iiifiifi=Module.dynCall_iiifiifi=function(){return Module.asm.dynCall_iiifiifi.apply(null,arguments)},dynCall_iiifiifiii=Module.dynCall_iiifiifiii=function(){return Module.asm.dynCall_iiifiifiii.apply(null,arguments)},dynCall_iiifiii=Module.dynCall_iiifiii=function(){return Module.asm.dynCall_iiifiii.apply(null,arguments)},dynCall_iiifiiii=Module.dynCall_iiifiiii=function(){return Module.asm.dynCall_iiifiiii.apply(null,arguments)},dynCall_iiii=Module.dynCall_iiii=function(){return Module.asm.dynCall_iiii.apply(null,arguments)},dynCall_iiiiffi=Module.dynCall_iiiiffi=function(){return Module.asm.dynCall_iiiiffi.apply(null,arguments)},dynCall_iiiifi=Module.dynCall_iiiifi=function(){return Module.asm.dynCall_iiiifi.apply(null,arguments)},dynCall_iiiififiiii=Module.dynCall_iiiififiiii=function(){return Module.asm.dynCall_iiiififiiii.apply(null,arguments)},dynCall_iiiifii=Module.dynCall_iiiifii=function(){return Module.asm.dynCall_iiiifii.apply(null,arguments)},dynCall_iiiifiifiii=Module.dynCall_iiiifiifiii=function(){return Module.asm.dynCall_iiiifiifiii.apply(null,arguments)},dynCall_iiiifiii=Module.dynCall_iiiifiii=function(){return Module.asm.dynCall_iiiifiii.apply(null,arguments)},dynCall_iiiifiiii=Module.dynCall_iiiifiiii=function(){return Module.asm.dynCall_iiiifiiii.apply(null,arguments)},dynCall_iiiifiiiii=Module.dynCall_iiiifiiiii=function(){return Module.asm.dynCall_iiiifiiiii.apply(null,arguments)},dynCall_iiiii=Module.dynCall_iiiii=function(){return Module.asm.dynCall_iiiii.apply(null,arguments)},dynCall_iiiiiffiiiiiii=Module.dynCall_iiiiiffiiiiiii=function(){return Module.asm.dynCall_iiiiiffiiiiiii.apply(null,arguments)},dynCall_iiiiifi=Module.dynCall_iiiiifi=function(){return Module.asm.dynCall_iiiiifi.apply(null,arguments)},dynCall_iiiiifii=Module.dynCall_iiiiifii=function(){return Module.asm.dynCall_iiiiifii.apply(null,arguments)},dynCall_iiiiifiif=Module.dynCall_iiiiifiif=function(){return Module.asm.dynCall_iiiiifiif.apply(null,arguments)},dynCall_iiiiifiii=Module.dynCall_iiiiifiii=function(){return Module.asm.dynCall_iiiiifiii.apply(null,arguments)},dynCall_iiiiifiiiif=Module.dynCall_iiiiifiiiif=function(){return Module.asm.dynCall_iiiiifiiiif.apply(null,arguments)},dynCall_iiiiifiiiiif=Module.dynCall_iiiiifiiiiif=function(){return Module.asm.dynCall_iiiiifiiiiif.apply(null,arguments)},dynCall_iiiiifiiiiii=Module.dynCall_iiiiifiiiiii=function(){return Module.asm.dynCall_iiiiifiiiiii.apply(null,arguments)},dynCall_iiiiii=Module.dynCall_iiiiii=function(){return Module.asm.dynCall_iiiiii.apply(null,arguments)},dynCall_iiiiiifffiiifiii=Module.dynCall_iiiiiifffiiifiii=function(){return Module.asm.dynCall_iiiiiifffiiifiii.apply(null,arguments)},dynCall_iiiiiiffiiiiiiiiiffffiii=Module.dynCall_iiiiiiffiiiiiiiiiffffiii=function(){return Module.asm.dynCall_iiiiiiffiiiiiiiiiffffiii.apply(null,arguments)},dynCall_iiiiiiffiiiiiiiiiffffiiii=Module.dynCall_iiiiiiffiiiiiiiiiffffiiii=function(){return Module.asm.dynCall_iiiiiiffiiiiiiiiiffffiiii.apply(null,arguments)},dynCall_iiiiiiffiiiiiiiiiiiiiii=Module.dynCall_iiiiiiffiiiiiiiiiiiiiii=function(){return Module.asm.dynCall_iiiiiiffiiiiiiiiiiiiiii.apply(null,arguments)},dynCall_iiiiiifiif=Module.dynCall_iiiiiifiif=function(){return Module.asm.dynCall_iiiiiifiif.apply(null,arguments)},dynCall_iiiiiii=Module.dynCall_iiiiiii=function(){return Module.asm.dynCall_iiiiiii.apply(null,arguments)},dynCall_iiiiiiif=Module.dynCall_iiiiiiif=function(){return Module.asm.dynCall_iiiiiiif.apply(null,arguments)},dynCall_iiiiiiii=Module.dynCall_iiiiiiii=function(){return Module.asm.dynCall_iiiiiiii.apply(null,arguments)},dynCall_iiiiiiiii=Module.dynCall_iiiiiiiii=function(){return Module.asm.dynCall_iiiiiiiii.apply(null,arguments)},dynCall_iiiiiiiiii=Module.dynCall_iiiiiiiiii=function(){return Module.asm.dynCall_iiiiiiiiii.apply(null,arguments)},dynCall_iiiiiiiiiiffffii=Module.dynCall_iiiiiiiiiiffffii=function(){return Module.asm.dynCall_iiiiiiiiiiffffii.apply(null,arguments)},dynCall_iiiiiiiiiii=Module.dynCall_iiiiiiiiiii=function(){return Module.asm.dynCall_iiiiiiiiiii.apply(null,arguments)},dynCall_iiiiiiiiiiii=Module.dynCall_iiiiiiiiiiii=function(){return Module.asm.dynCall_iiiiiiiiiiii.apply(null,arguments)},dynCall_iiiiiiiiiiiiffffii=Module.dynCall_iiiiiiiiiiiiffffii=function(){return Module.asm.dynCall_iiiiiiiiiiiiffffii.apply(null,arguments)},dynCall_iiiiiiiiiiiii=Module.dynCall_iiiiiiiiiiiii=function(){return Module.asm.dynCall_iiiiiiiiiiiii.apply(null,arguments)},dynCall_iiiiiiiiiiiiii=Module.dynCall_iiiiiiiiiiiiii=function(){return Module.asm.dynCall_iiiiiiiiiiiiii.apply(null,arguments)},dynCall_iiiiiiiiiiiiiii=Module.dynCall_iiiiiiiiiiiiiii=function(){return Module.asm.dynCall_iiiiiiiiiiiiiii.apply(null,arguments)},dynCall_iiiiiijii=Module.dynCall_iiiiiijii=function(){return Module.asm.dynCall_iiiiiijii.apply(null,arguments)},dynCall_iiiiijii=Module.dynCall_iiiiijii=function(){return Module.asm.dynCall_iiiiijii.apply(null,arguments)},dynCall_iiiij=Module.dynCall_iiiij=function(){return Module.asm.dynCall_iiiij.apply(null,arguments)},dynCall_iiij=Module.dynCall_iiij=function(){return Module.asm.dynCall_iiij.apply(null,arguments)},dynCall_iiiji=Module.dynCall_iiiji=function(){return Module.asm.dynCall_iiiji.apply(null,arguments)},dynCall_iiijii=Module.dynCall_iiijii=function(){return Module.asm.dynCall_iiijii.apply(null,arguments)},dynCall_iiijiii=Module.dynCall_iiijiii=function(){return Module.asm.dynCall_iiijiii.apply(null,arguments)},dynCall_iiijjii=Module.dynCall_iiijjii=function(){return Module.asm.dynCall_iiijjii.apply(null,arguments)},dynCall_iiijjiiii=Module.dynCall_iiijjiiii=function(){return Module.asm.dynCall_iiijjiiii.apply(null,arguments)},dynCall_iij=Module.dynCall_iij=function(){return Module.asm.dynCall_iij.apply(null,arguments)},dynCall_iiji=Module.dynCall_iiji=function(){return Module.asm.dynCall_iiji.apply(null,arguments)},dynCall_iijii=Module.dynCall_iijii=function(){return Module.asm.dynCall_iijii.apply(null,arguments)},dynCall_iijji=Module.dynCall_iijji=function(){return Module.asm.dynCall_iijji.apply(null,arguments)},dynCall_iijjii=Module.dynCall_iijjii=function(){return Module.asm.dynCall_iijjii.apply(null,arguments)},dynCall_iijjji=Module.dynCall_iijjji=function(){return Module.asm.dynCall_iijjji.apply(null,arguments)},dynCall_ijj=Module.dynCall_ijj=function(){return Module.asm.dynCall_ijj.apply(null,arguments)},dynCall_j=Module.dynCall_j=function(){return Module.asm.dynCall_j.apply(null,arguments)},dynCall_ji=Module.dynCall_ji=function(){return Module.asm.dynCall_ji.apply(null,arguments)},dynCall_jidi=Module.dynCall_jidi=function(){return Module.asm.dynCall_jidi.apply(null,arguments)},dynCall_jidji=Module.dynCall_jidji=function(){return Module.asm.dynCall_jidji.apply(null,arguments)},dynCall_jifi=Module.dynCall_jifi=function(){return Module.asm.dynCall_jifi.apply(null,arguments)},dynCall_jii=Module.dynCall_jii=function(){return Module.asm.dynCall_jii.apply(null,arguments)},dynCall_jiii=Module.dynCall_jiii=function(){return Module.asm.dynCall_jiii.apply(null,arguments)},dynCall_jiiii=Module.dynCall_jiiii=function(){return Module.asm.dynCall_jiiii.apply(null,arguments)},dynCall_jiiiii=Module.dynCall_jiiiii=function(){return Module.asm.dynCall_jiiiii.apply(null,arguments)},dynCall_jiiiiiii=Module.dynCall_jiiiiiii=function(){return Module.asm.dynCall_jiiiiiii.apply(null,arguments)},dynCall_jiiiji=Module.dynCall_jiiiji=function(){return Module.asm.dynCall_jiiiji.apply(null,arguments)},dynCall_jiiji=Module.dynCall_jiiji=function(){return Module.asm.dynCall_jiiji.apply(null,arguments)},dynCall_jiijiii=Module.dynCall_jiijiii=function(){return Module.asm.dynCall_jiijiii.apply(null,arguments)},dynCall_jiji=Module.dynCall_jiji=function(){return Module.asm.dynCall_jiji.apply(null,arguments)},dynCall_jijii=Module.dynCall_jijii=function(){return Module.asm.dynCall_jijii.apply(null,arguments)},dynCall_jijji=Module.dynCall_jijji=function(){return Module.asm.dynCall_jijji.apply(null,arguments)},dynCall_jijjji=Module.dynCall_jijjji=function(){return Module.asm.dynCall_jijjji.apply(null,arguments)},dynCall_v=Module.dynCall_v=function(){return Module.asm.dynCall_v.apply(null,arguments)},dynCall_vd=Module.dynCall_vd=function(){return Module.asm.dynCall_vd.apply(null,arguments)},dynCall_vdd=Module.dynCall_vdd=function(){return Module.asm.dynCall_vdd.apply(null,arguments)},dynCall_vdddddd=Module.dynCall_vdddddd=function(){return Module.asm.dynCall_vdddddd.apply(null,arguments)},dynCall_vf=Module.dynCall_vf=function(){return Module.asm.dynCall_vf.apply(null,arguments)},dynCall_vff=Module.dynCall_vff=function(){return Module.asm.dynCall_vff.apply(null,arguments)},dynCall_vffff=Module.dynCall_vffff=function(){return Module.asm.dynCall_vffff.apply(null,arguments)},dynCall_vfi=Module.dynCall_vfi=function(){return Module.asm.dynCall_vfi.apply(null,arguments)},dynCall_vi=Module.dynCall_vi=function(){return Module.asm.dynCall_vi.apply(null,arguments)},dynCall_vid=Module.dynCall_vid=function(){return Module.asm.dynCall_vid.apply(null,arguments)},dynCall_vidi=Module.dynCall_vidi=function(){return Module.asm.dynCall_vidi.apply(null,arguments)},dynCall_vif=Module.dynCall_vif=function(){return Module.asm.dynCall_vif.apply(null,arguments)},dynCall_viff=Module.dynCall_viff=function(){return Module.asm.dynCall_viff.apply(null,arguments)},dynCall_vifff=Module.dynCall_vifff=function(){return Module.asm.dynCall_vifff.apply(null,arguments)},dynCall_viffff=Module.dynCall_viffff=function(){return Module.asm.dynCall_viffff.apply(null,arguments)},dynCall_viffffi=Module.dynCall_viffffi=function(){return Module.asm.dynCall_viffffi.apply(null,arguments)},dynCall_viffffii=Module.dynCall_viffffii=function(){return Module.asm.dynCall_viffffii.apply(null,arguments)},dynCall_viffffiii=Module.dynCall_viffffiii=function(){return Module.asm.dynCall_viffffiii.apply(null,arguments)},dynCall_vifffi=Module.dynCall_vifffi=function(){return Module.asm.dynCall_vifffi.apply(null,arguments)},dynCall_vifffii=Module.dynCall_vifffii=function(){return Module.asm.dynCall_vifffii.apply(null,arguments)},dynCall_viffi=Module.dynCall_viffi=function(){return Module.asm.dynCall_viffi.apply(null,arguments)},dynCall_viffii=Module.dynCall_viffii=function(){return Module.asm.dynCall_viffii.apply(null,arguments)},dynCall_vifi=Module.dynCall_vifi=function(){return Module.asm.dynCall_vifi.apply(null,arguments)},dynCall_vifii=Module.dynCall_vifii=function(){return Module.asm.dynCall_vifii.apply(null,arguments)},dynCall_vifiii=Module.dynCall_vifiii=function(){return Module.asm.dynCall_vifiii.apply(null,arguments)},dynCall_vifiiii=Module.dynCall_vifiiii=function(){return Module.asm.dynCall_vifiiii.apply(null,arguments)},dynCall_vifiiiiiiiiiiiii=Module.dynCall_vifiiiiiiiiiiiii=function(){return Module.asm.dynCall_vifiiiiiiiiiiiii.apply(null,arguments)},dynCall_vifiiiiiiiiiiiiiiiiii=Module.dynCall_vifiiiiiiiiiiiiiiiiii=function(){return Module.asm.dynCall_vifiiiiiiiiiiiiiiiiii.apply(null,arguments)},dynCall_vifiiiiiiiiiiiiiiiiiiiiiii=Module.dynCall_vifiiiiiiiiiiiiiiiiiiiiiii=function(){return Module.asm.dynCall_vifiiiiiiiiiiiiiiiiiiiiiii.apply(null,arguments)},dynCall_vifiiiiiiiiiiiiiiiiiiiiiiiiiiii=Module.dynCall_vifiiiiiiiiiiiiiiiiiiiiiiiiiiii=function(){return Module.asm.dynCall_vifiiiiiiiiiiiiiiiiiiiiiiiiiiii.apply(null,arguments)},dynCall_vii=Module.dynCall_vii=function(){return Module.asm.dynCall_vii.apply(null,arguments)},dynCall_viidi=Module.dynCall_viidi=function(){return Module.asm.dynCall_viidi.apply(null,arguments)},dynCall_viidii=Module.dynCall_viidii=function(){return Module.asm.dynCall_viidii.apply(null,arguments)},dynCall_viif=Module.dynCall_viif=function(){return Module.asm.dynCall_viif.apply(null,arguments)},dynCall_viiff=Module.dynCall_viiff=function(){return Module.asm.dynCall_viiff.apply(null,arguments)},dynCall_viifff=Module.dynCall_viifff=function(){return Module.asm.dynCall_viifff.apply(null,arguments)},dynCall_viiffffiii=Module.dynCall_viiffffiii=function(){return Module.asm.dynCall_viiffffiii.apply(null,arguments)},dynCall_viifffi=Module.dynCall_viifffi=function(){return Module.asm.dynCall_viifffi.apply(null,arguments)},dynCall_viiffi=Module.dynCall_viiffi=function(){return Module.asm.dynCall_viiffi.apply(null,arguments)},dynCall_viiffii=Module.dynCall_viiffii=function(){return Module.asm.dynCall_viiffii.apply(null,arguments)},dynCall_viiffiii=Module.dynCall_viiffiii=function(){return Module.asm.dynCall_viiffiii.apply(null,arguments)},dynCall_viifi=Module.dynCall_viifi=function(){return Module.asm.dynCall_viifi.apply(null,arguments)},dynCall_viifii=Module.dynCall_viifii=function(){return Module.asm.dynCall_viifii.apply(null,arguments)},dynCall_viifiii=Module.dynCall_viifiii=function(){return Module.asm.dynCall_viifiii.apply(null,arguments)},dynCall_viifiiii=Module.dynCall_viifiiii=function(){return Module.asm.dynCall_viifiiii.apply(null,arguments)},dynCall_viii=Module.dynCall_viii=function(){return Module.asm.dynCall_viii.apply(null,arguments)},dynCall_viiif=Module.dynCall_viiif=function(){return Module.asm.dynCall_viiif.apply(null,arguments)},dynCall_viiiffi=Module.dynCall_viiiffi=function(){return Module.asm.dynCall_viiiffi.apply(null,arguments)},dynCall_viiiffii=Module.dynCall_viiiffii=function(){return Module.asm.dynCall_viiiffii.apply(null,arguments)},dynCall_viiifi=Module.dynCall_viiifi=function(){return Module.asm.dynCall_viiifi.apply(null,arguments)},dynCall_viiifiiiii=Module.dynCall_viiifiiiii=function(){return Module.asm.dynCall_viiifiiiii.apply(null,arguments)},dynCall_viiii=Module.dynCall_viiii=function(){return Module.asm.dynCall_viiii.apply(null,arguments)},dynCall_viiiif=Module.dynCall_viiiif=function(){return Module.asm.dynCall_viiiif.apply(null,arguments)},dynCall_viiiifi=Module.dynCall_viiiifi=function(){return Module.asm.dynCall_viiiifi.apply(null,arguments)},dynCall_viiiifii=Module.dynCall_viiiifii=function(){return Module.asm.dynCall_viiiifii.apply(null,arguments)},dynCall_viiiifiiiiif=Module.dynCall_viiiifiiiiif=function(){return Module.asm.dynCall_viiiifiiiiif.apply(null,arguments)},dynCall_viiiii=Module.dynCall_viiiii=function(){return Module.asm.dynCall_viiiii.apply(null,arguments)},dynCall_viiiiif=Module.dynCall_viiiiif=function(){return Module.asm.dynCall_viiiiif.apply(null,arguments)},dynCall_viiiiiffi=Module.dynCall_viiiiiffi=function(){return Module.asm.dynCall_viiiiiffi.apply(null,arguments)},dynCall_viiiiifii=Module.dynCall_viiiiifii=function(){return Module.asm.dynCall_viiiiifii.apply(null,arguments)},dynCall_viiiiii=Module.dynCall_viiiiii=function(){return Module.asm.dynCall_viiiiii.apply(null,arguments)},dynCall_viiiiiif=Module.dynCall_viiiiiif=function(){return Module.asm.dynCall_viiiiiif.apply(null,arguments)},dynCall_viiiiiiffii=Module.dynCall_viiiiiiffii=function(){return Module.asm.dynCall_viiiiiiffii.apply(null,arguments)},dynCall_viiiiiii=Module.dynCall_viiiiiii=function(){return Module.asm.dynCall_viiiiiii.apply(null,arguments)},dynCall_viiiiiiii=Module.dynCall_viiiiiiii=function(){return Module.asm.dynCall_viiiiiiii.apply(null,arguments)},dynCall_viiiiiiiii=Module.dynCall_viiiiiiiii=function(){return Module.asm.dynCall_viiiiiiiii.apply(null,arguments)},dynCall_viiiiiiiiii=Module.dynCall_viiiiiiiiii=function(){return Module.asm.dynCall_viiiiiiiiii.apply(null,arguments)},dynCall_viiiiiiiiiifi=Module.dynCall_viiiiiiiiiifi=function(){return Module.asm.dynCall_viiiiiiiiiifi.apply(null,arguments)},dynCall_viiiiiiiiiii=Module.dynCall_viiiiiiiiiii=function(){return Module.asm.dynCall_viiiiiiiiiii.apply(null,arguments)},dynCall_viiiiiiiiiiii=Module.dynCall_viiiiiiiiiiii=function(){return Module.asm.dynCall_viiiiiiiiiiii.apply(null,arguments)},dynCall_viiiiiiiiiiiii=Module.dynCall_viiiiiiiiiiiii=function(){return Module.asm.dynCall_viiiiiiiiiiiii.apply(null,arguments)},dynCall_viiiiiiiiiiiiii=Module.dynCall_viiiiiiiiiiiiii=function(){return Module.asm.dynCall_viiiiiiiiiiiiii.apply(null,arguments)},dynCall_viiiiiiiiiiiiiii=Module.dynCall_viiiiiiiiiiiiiii=function(){return Module.asm.dynCall_viiiiiiiiiiiiiii.apply(null,arguments)},dynCall_viiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii=Module.dynCall_viiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii=function(){return Module.asm.dynCall_viiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii.apply(null,arguments)},dynCall_viiiiijiiii=Module.dynCall_viiiiijiiii=function(){return Module.asm.dynCall_viiiiijiiii.apply(null,arguments)},dynCall_viiiji=Module.dynCall_viiiji=function(){return Module.asm.dynCall_viiiji.apply(null,arguments)},dynCall_viiijiii=Module.dynCall_viiijiii=function(){return Module.asm.dynCall_viiijiii.apply(null,arguments)},dynCall_viiijiiiiii=Module.dynCall_viiijiiiiii=function(){return Module.asm.dynCall_viiijiiiiii.apply(null,arguments)},dynCall_viiijji=Module.dynCall_viiijji=function(){return Module.asm.dynCall_viiijji.apply(null,arguments)},dynCall_viiijjii=Module.dynCall_viiijjii=function(){return Module.asm.dynCall_viiijjii.apply(null,arguments)},dynCall_viij=Module.dynCall_viij=function(){return Module.asm.dynCall_viij.apply(null,arguments)},dynCall_viiji=Module.dynCall_viiji=function(){return Module.asm.dynCall_viiji.apply(null,arguments)},dynCall_viijii=Module.dynCall_viijii=function(){return Module.asm.dynCall_viijii.apply(null,arguments)},dynCall_viijijiii=Module.dynCall_viijijiii=function(){return Module.asm.dynCall_viijijiii.apply(null,arguments)},dynCall_viijijji=Module.dynCall_viijijji=function(){return Module.asm.dynCall_viijijji.apply(null,arguments)},dynCall_viijj=Module.dynCall_viijj=function(){return Module.asm.dynCall_viijj.apply(null,arguments)},dynCall_viijji=Module.dynCall_viijji=function(){return Module.asm.dynCall_viijji.apply(null,arguments)},dynCall_viijjii=Module.dynCall_viijjii=function(){return Module.asm.dynCall_viijjii.apply(null,arguments)},dynCall_viijjji=Module.dynCall_viijjji=function(){return Module.asm.dynCall_viijjji.apply(null,arguments)},dynCall_vij=Module.dynCall_vij=function(){return Module.asm.dynCall_vij.apply(null,arguments)},dynCall_viji=Module.dynCall_viji=function(){return Module.asm.dynCall_viji.apply(null,arguments)},dynCall_vijii=Module.dynCall_vijii=function(){return Module.asm.dynCall_vijii.apply(null,arguments)},dynCall_vijiii=Module.dynCall_vijiii=function(){return Module.asm.dynCall_vijiii.apply(null,arguments)},dynCall_vijiiii=Module.dynCall_vijiiii=function(){return Module.asm.dynCall_vijiiii.apply(null,arguments)},dynCall_vijiijiii=Module.dynCall_vijiijiii=function(){return Module.asm.dynCall_vijiijiii.apply(null,arguments)},dynCall_vijiji=Module.dynCall_vijiji=function(){return Module.asm.dynCall_vijiji.apply(null,arguments)},dynCall_vijj=Module.dynCall_vijj=function(){return Module.asm.dynCall_vijj.apply(null,arguments)},dynCall_vijji=Module.dynCall_vijji=function(){return Module.asm.dynCall_vijji.apply(null,arguments)},dynCall_vijjiiiiii=Module.dynCall_vijjiiiiii=function(){return Module.asm.dynCall_vijjiiiiii.apply(null,arguments)},dynCall_vjji=Module.dynCall_vjji=function(){return Module.asm.dynCall_vjji.apply(null,arguments)},initialStackTop;function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}Module.asm=asm,Module.ccall=ccall,Module.cwrap=cwrap,Module.stackTrace=stackTrace,Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.FS_createPath=FS.createPath,Module.FS_createDataFile=FS.createDataFile,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var calledMain=!1;function run(e){function i(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,0>2]=allocateUTF8OnStack(Module.thisProgram);for(var t=1;t>2)+t]=allocateUTF8OnStack(e[t-1]);HEAP32[(n>>2)+i]=0;try{exit(Module._main(i,n,0),!0)}catch(e){if(e instanceof ExitStatus)return;if("SimulateInfiniteLoop"==e)return void(Module.noExitRuntime=!0);var r=e;e&&"object"==typeof e&&e.stack&&(r=[e,e.stack]),Module.printErr("exception thrown: "+r),Module.quit(1,e)}finally{calledMain=!0}},Module.run=run,Module.exit=exit,Module.abort=abort,Module.preInit)for("function"==typeof Module.preInit&&(Module.preInit=[Module.preInit]);0