From 07b4b2ebb7237a733544614c18c87c46c958de3b Mon Sep 17 00:00:00 2001 From: blankhex Date: Sun, 20 Jul 2025 10:51:19 +0000 Subject: [PATCH] deploy: 72fbf406a70b360e8ef6a491f027e1f8618acab7 --- data.pak | Bin 368257 -> 369791 bytes eulamadness.js | 2 +- eulamadness.wasm | Bin 1303407 -> 1382079 bytes 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/data.pak b/data.pak index b60247746f5bdb101c2807d4dbf7591fa68c3c78..f243df837efa9c09496a6d5a846e96033cb898cf 100644 GIT binary patch delta 1641 zcmY+ETTC2P7=RB8OJQ3zZKYBl+KL)_fp*bo)wMKjv9^_lrj_8O&ETeTNsB9#YYS1rcc=(~yfz{19QON{Zw7im&wmO|o5&V2uw@BjaE zCNmlSi%k!{-Bf$xz@ay8j~T&SuJ)MWc&$3^YMA|Ze@pFb@XpuuvtQQK@131=O*a_s z8FU5b3;_5f;YvF*)|<_YvV7avtp7~^NZ+(fUF^)9Ie-1bzV46HWRUeH#x8Wv^vyUF z@5BHeWIH11bh<6Y#|GoVRTm-2j<>GT12a~5qifQ}lLCPvc;x=9V3pESeGyr743n4o*sO0T)URYY zH~F3%aWWD^xs}M}Loq3jCfot~ToPvch43)6qkQ_zgnOhXH{y~8E;$H^%KCDW6tmk? zgXx$rga|zBjs(M!;LC8qq~`2IW|$+0Va^GaxEN3p&Q#oiL>@^#Neb|aM}#s9B{7f| zT!_mAU^HmnW-Xn8jQs6||FCZwZ-r>_QCzBy@gmp&xMuYAUn)Zj;MBY!@P%dRx zsI1_QpdmU;q$zJa^Au1e4gEFKLgrPLaMWQSd8>M>$aP2@8G#5T{gF_d)?N@VAOSM8piqoVM+J)K5Gz4i zWH~5uBH~yG5kvw)9M1@dgS@up5JK?e(Zh#-SX2JoZ+%`^bMutD#t<`=*XCZA$#Al% z9G}g;*kt%=b2;ufdTX=Vyzr#@>cU#Jd;WQK--793yuQM!dgi;-hSCN#JO7ln`efd% z{y4v_&T7_&*K9VuzB)|mx?+dAv8Y!)TTH8t;#Q-zt*_0hW{REa(Bk9jOmSV6R%M-? zD_*bIVh)s>1k9!~%NLW`sx{Sz+PXNYs*5jZ&AwZ7s;vvP4-d7j&TO_i%W41H{Hf9r z^epiEn~T1*Ey$S zWwYvyTNnWT)c!Ne?o_|Wvw9NaMiT^JVa*MRo8W8 z0LYnE+zAh9^LH-mC$xwAeH?&ynpUm7*AZN;t*SnF7l6`c3`dNwR6o54z}5#*o zJ$cGTc(}DF3~=Kvk`_g+b#B0=r9@A7?OasQBAdkyzCRMV<8H+1g```Xy^t5Vvt5mi zT@Ma-X*;I3TDT2gW8=M$_mSahH;I-cvfc2LO36d|j1f{Xj**G)=gCl6Ag$$)HdDTB zBdZk$8LlYARUIMEs)uH!+MHCg(Z$haUzci*;u@d0n2Al|V2%%wlEC{00U+f9=*^DB zmHn~n>4cJrE2)Ex6YT|BJYlP5Vu{%3RqL*!{nH76s9@D}eDrcQ-K=d=KY-C;)l1oA zvpIdPQGi9a)tav!Xx#SXk^p(ps%hm~Y%==)vX}n$$UT6OE~{oH6s7qke&_uc09!3q zjA10lcRR1V2H5oB)I#n0{9F#wM6?DI?vOy zbmrm)nzVB(KT%$$27aN+eEA!7s{KP9@Xs=ToU`*Nuh8&r8>&pB4Rz-DZZw%0KgxOP zydPC2C!)?A6VYV01W;b34h2wU-VC75tnWpWDRrX!i2AV;Ri-zHI33cXk2~Fl#3FRl$!4Rs<8zI!0uR>@t&+J3_Dc|E-k8m(>+7AB!f5-o` diff --git a/eulamadness.js b/eulamadness.js index fc5d562..4cca570 100644 --- a/eulamadness.js +++ b/eulamadness.js @@ -1 +1 @@ -var Module=typeof Module!="undefined"?Module:{};var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");var wasmBinaryFile;wasmBinaryFile="eulamadness.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw`failed to load wasm binary file at '${binaryFile}'`}return response["arrayBuffer"]()}).catch(()=>getBinarySync(binaryFile))}else if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["bg"];updateMemoryViews();wasmTable=wasmExports["dg"];addOnInit(wasmExports["cg"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);return false}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;var ASM_CONSTS={456480:$0=>{var str=UTF8ToString($0)+"\n\n"+"Abort/Retry/Ignore/AlwaysIgnore? [ariA] :";var reply=window.prompt(str,"i");if(reply===null){reply="i"}return allocate(intArrayFromString(reply),"i8",ALLOC_NORMAL)},456705:()=>{if(typeof AudioContext!=="undefined"){return true}else if(typeof webkitAudioContext!=="undefined"){return true}return false},456852:()=>{if(typeof navigator.mediaDevices!=="undefined"&&typeof navigator.mediaDevices.getUserMedia!=="undefined"){return true}else if(typeof navigator.webkitGetUserMedia!=="undefined"){return true}return false},457086:$0=>{if(typeof Module["SDL2"]==="undefined"){Module["SDL2"]={}}var SDL2=Module["SDL2"];if(!$0){SDL2.audio={}}else{SDL2.capture={}}if(!SDL2.audioContext){if(typeof AudioContext!=="undefined"){SDL2.audioContext=new AudioContext}else if(typeof webkitAudioContext!=="undefined"){SDL2.audioContext=new webkitAudioContext}if(SDL2.audioContext){autoResumeAudioContext(SDL2.audioContext)}}return SDL2.audioContext===undefined?-1:0},457579:()=>{var SDL2=Module["SDL2"];return SDL2.audioContext.sampleRate},457647:($0,$1,$2,$3)=>{var SDL2=Module["SDL2"];var have_microphone=function(stream){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer);SDL2.capture.silenceTimer=undefined}SDL2.capture.mediaStreamNode=SDL2.audioContext.createMediaStreamSource(stream);SDL2.capture.scriptProcessorNode=SDL2.audioContext.createScriptProcessor($1,$0,1);SDL2.capture.scriptProcessorNode.onaudioprocess=function(audioProcessingEvent){if(SDL2===undefined||SDL2.capture===undefined){return}audioProcessingEvent.outputBuffer.getChannelData(0).fill(0);SDL2.capture.currentCaptureBuffer=audioProcessingEvent.inputBuffer;dynCall("vi",$2,[$3])};SDL2.capture.mediaStreamNode.connect(SDL2.capture.scriptProcessorNode);SDL2.capture.scriptProcessorNode.connect(SDL2.audioContext.destination);SDL2.capture.stream=stream};var no_microphone=function(error){};SDL2.capture.silenceBuffer=SDL2.audioContext.createBuffer($0,$1,SDL2.audioContext.sampleRate);SDL2.capture.silenceBuffer.getChannelData(0).fill(0);var silence_callback=function(){SDL2.capture.currentCaptureBuffer=SDL2.capture.silenceBuffer;dynCall("vi",$2,[$3])};SDL2.capture.silenceTimer=setTimeout(silence_callback,$1/SDL2.audioContext.sampleRate*1e3);if(navigator.mediaDevices!==undefined&&navigator.mediaDevices.getUserMedia!==undefined){navigator.mediaDevices.getUserMedia({audio:true,video:false}).then(have_microphone).catch(no_microphone)}else if(navigator.webkitGetUserMedia!==undefined){navigator.webkitGetUserMedia({audio:true,video:false},have_microphone,no_microphone)}},459299:($0,$1,$2,$3)=>{var SDL2=Module["SDL2"];SDL2.audio.scriptProcessorNode=SDL2.audioContext["createScriptProcessor"]($1,0,$0);SDL2.audio.scriptProcessorNode["onaudioprocess"]=function(e){if(SDL2===undefined||SDL2.audio===undefined){return}SDL2.audio.currentOutputBuffer=e["outputBuffer"];dynCall("vi",$2,[$3])};SDL2.audio.scriptProcessorNode["connect"](SDL2.audioContext["destination"])},459709:($0,$1)=>{var SDL2=Module["SDL2"];var numChannels=SDL2.capture.currentCaptureBuffer.numberOfChannels;for(var c=0;c{var SDL2=Module["SDL2"];var numChannels=SDL2.audio.currentOutputBuffer["numberOfChannels"];for(var c=0;c>2]}}},460794:$0=>{var SDL2=Module["SDL2"];if($0){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer)}if(SDL2.capture.stream!==undefined){var tracks=SDL2.capture.stream.getAudioTracks();for(var i=0;i{var w=$0;var h=$1;var pixels=$2;if(!Module["SDL2"])Module["SDL2"]={};var SDL2=Module["SDL2"];if(SDL2.ctxCanvas!==Module["canvas"]){SDL2.ctx=Module["createContext"](Module["canvas"],false,true);SDL2.ctxCanvas=Module["canvas"]}if(SDL2.w!==w||SDL2.h!==h||SDL2.imageCtx!==SDL2.ctx){SDL2.image=SDL2.ctx.createImageData(w,h);SDL2.w=w;SDL2.h=h;SDL2.imageCtx=SDL2.ctx}var data=SDL2.image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=255;src++;dst+=4}}else{if(SDL2.data32Data!==data){SDL2.data32=new Int32Array(data.buffer);SDL2.data8=new Uint8Array(data.buffer);SDL2.data32Data=data}var data32=SDL2.data32;num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=SDL2.data8;var i=3;var j=i+4*num;if(num%8==0){while(i{var w=$0;var h=$1;var hot_x=$2;var hot_y=$3;var pixels=$4;var canvas=document.createElement("canvas");canvas.width=w;canvas.height=h;var ctx=canvas.getContext("2d");var image=ctx.createImageData(w,h);var data=image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=val>>24&255;src++;dst+=4}}else{var data32=new Int32Array(data.buffer);num=data32.length;data32.set(HEAP32.subarray(src,src+num))}ctx.putImageData(image,0,0);var url=hot_x===0&&hot_y===0?"url("+canvas.toDataURL()+"), auto":"url("+canvas.toDataURL()+") "+hot_x+" "+hot_y+", auto";var urlBuf=_malloc(url.length+1);stringToUTF8(url,urlBuf,url.length+1);return urlBuf},464424:$0=>{if(Module["canvas"]){Module["canvas"].style["cursor"]=UTF8ToString($0)}},464507:()=>{if(Module["canvas"]){Module["canvas"].style["cursor"]="none"}},464576:()=>window.innerWidth,464606:()=>window.innerHeight};function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var noExitRuntime=Module["noExitRuntime"]||true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var exceptionCaught=[];var uncaughtExceptionCount=0;var ___cxa_begin_catch=ptr=>{var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);___cxa_increment_exception_refcount(info.excPtr);return info.get_exception_ptr()};var exceptionLast=0;var ___cxa_end_catch=()=>{_setThrew(0,0);var info=exceptionCaught.pop();___cxa_decrement_exception_refcount(info.excPtr);exceptionLast=0};class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>2]=type}get_type(){return HEAPU32[this.ptr+4>>2]}set_destructor(destructor){HEAPU32[this.ptr+8>>2]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>2]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12]=caught}get_caught(){return HEAP8[this.ptr+12]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13]=rethrown}get_rethrown(){return HEAP8[this.ptr+13]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>2]}get_exception_ptr(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var ___resumeException=ptr=>{if(!exceptionLast){exceptionLast=ptr}throw exceptionLast};var findMatchingCatch=args=>{var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}for(var arg in args){var caughtType=args[arg];if(caughtType===0||caughtType===thrownType){break}var adjusted_ptr_addr=info.ptr+16;if(___cxa_can_catch(caughtType,thrownType,adjusted_ptr_addr)){setTempRet0(caughtType);return thrown}}setTempRet0(thrownType);return thrown};var ___cxa_find_matching_catch_2=()=>findMatchingCatch([]);var ___cxa_find_matching_catch_3=arg0=>findMatchingCatch([arg0]);var ___cxa_rethrow=()=>{var info=exceptionCaught.pop();if(!info){abort("no exception to throw")}var ptr=info.excPtr;if(!info.get_rethrown()){exceptionCaught.push(info);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}exceptionLast=ptr;throw exceptionLast};var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};var ___cxa_uncaught_exceptions=()=>uncaughtExceptionCount;var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var mmapAlloc=size=>{abort()};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url,arrayBuffer=>{onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={"r":0,"r+":2,"w":512|64|1,"w+":512|64|2,"a":1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class{constructor(errno){this.name="ErrnoError";this.errno=errno}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev;this.readMode=292|73;this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;iFS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""});FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init(input,output,error){FS.init.initialized=true;Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret},getp(){return SYSCALLS.get()},getStr(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.getp();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=SYSCALLS.getp();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=SYSCALLS.getp();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.getp();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.getp();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=SYSCALLS.getp();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __emscripten_fs_load_embedded_files=ptr=>{do{var name_addr=HEAPU32[ptr>>2];ptr+=4;var len=HEAPU32[ptr>>2];ptr+=4;var content=HEAPU32[ptr>>2];ptr+=4;var name=UTF8ToString(name_addr);FS.createPath("/",PATH.dirname(name),true,true);FS.createDataFile(name,null,HEAP8.subarray(content,content+len),true,true,true)}while(HEAPU32[ptr>>2])};var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var _abort=()=>{abort("")};var _emscripten_set_main_loop_timing=(mode,value)=>{Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof Browser.setImmediate=="undefined"){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);Browser.setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}else{Browser.setImmediate=setImmediate}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){Browser.setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0};var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var setMainLoop=(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)=>{Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(!checkIsRunning())return;if(typeof SDL=="object")SDL.audio?.queueNewAudioData?.();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var safeSetTimeout=(func,timeout)=>setTimeout(()=>{callUserCallback(func)},timeout);var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}};var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining{var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);preloadedImages[name]=canvas;URL.revokeObjectURL(url);onload?.(byteArray)};img.onerror=event=>{err(`Image ${url} could not be decoded`);onerror?.()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;preloadedAudios[name]=audio;onload?.(byteArray)}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err(`warning: browser could not fully decode audio ${name}, trying slower base64 approach`);function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",ev=>{if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:typeof WebGL2RenderingContext!="undefined"?2:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},destroyContext(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}Module["onFullScreen"]?.(Browser.isFullscreen);Module["onFullscreen"]?.(Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},exitFullscreen(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout(func,timeout){return safeSetTimeout(func,timeout)},safeRequestAnimationFrame(func){return Browser.requestAnimationFrame(()=>{callUserCallback(func)})},getMimetype(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia(func){window.getUserMedia||=navigator["getUserMedia"]||navigator["mozGetUserMedia"];window.getUserMedia(func)},getMovementX(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(pageX,pageY){var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;var adjustedX=pageX-(scrollX+rect.left);var adjustedY=pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);return{x:adjustedX,y:adjustedY}},setMouseCoords(pageX,pageY){const{x:x,y:y}=Browser.calculateMouseCoords(pageX,pageY);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y},calculateMouseEvent(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var coords=Browser.calculateMouseCoords(touch.pageX,touch.pageY);if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];last||=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}Browser.setMouseCoords(event.pageX,event.pageY)}},resizeListeners:[],updateResizeListeners(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAPU32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};var _eglBindAPI=api=>{if(api==12448){EGL.setErrorCode(12288);return 1}EGL.setErrorCode(12300);return 0};var _eglChooseConfig=(display,attrib_list,configs,config_size,numConfigs)=>EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs);var webgl_enable_ANGLE_instanced_arrays=ctx=>{var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=(index,divisor)=>ext["vertexAttribDivisorANGLE"](index,divisor);ctx["drawArraysInstanced"]=(mode,first,count,primcount)=>ext["drawArraysInstancedANGLE"](mode,first,count,primcount);ctx["drawElementsInstanced"]=(mode,count,type,indices,primcount)=>ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount);return 1}};var webgl_enable_OES_vertex_array_object=ctx=>{var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=()=>ext["createVertexArrayOES"]();ctx["deleteVertexArray"]=vao=>ext["deleteVertexArrayOES"](vao);ctx["bindVertexArray"]=vao=>ext["bindVertexArrayOES"](vao);ctx["isVertexArray"]=vao=>ext["isVertexArrayOES"](vao);return 1}};var webgl_enable_WEBGL_draw_buffers=ctx=>{var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=(n,bufs)=>ext["drawBuffersWEBGL"](n,bufs);return 1}};var webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"));var webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"));var webgl_enable_WEBGL_multi_draw=ctx=>!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"));var getEmscriptenSupportedExtensions=ctx=>{var supportedExtensions=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw"];return(ctx.getSupportedExtensions()||[]).filter(ext=>supportedExtensions.includes(ext))};var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:errorCode=>{if(!GL.lastError){GL.lastError=errorCode}},getNewId:table=>{var ret=GL.counter++;for(var i=table.length;i{for(var i=0;i>2]=id}},getSource:(shader,count,string,length)=>{var source="";for(var i=0;i>2]:undefined;source+=UTF8ToString(HEAPU32[string+i*4>>2],len)}return source},createContext:(canvas,webGLContextAttributes)=>{if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;function fixedGetContext(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}canvas.getContext=fixedGetContext}var ctx=webGLContextAttributes.majorVersion>1?canvas.getContext("webgl2",webGLContextAttributes):canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:(ctx,webGLContextAttributes)=>{var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:contextHandle=>{GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext?.GLctx;return!(contextHandle&&!GLctx)},getContext:contextHandle=>GL.contexts[contextHandle],deleteContext:contextHandle=>{if(GL.currentContext===GL.contexts[contextHandle]){GL.currentContext=null}if(typeof JSEvents=="object"){JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas)}if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas){GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined}GL.contexts[contextHandle]=null},initExtensions:context=>{context||=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_ANGLE_instanced_arrays(GLctx);webgl_enable_OES_vertex_array_object(GLctx);webgl_enable_WEBGL_draw_buffers(GLctx);webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(context.version>=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}webgl_enable_WEBGL_multi_draw(GLctx);getEmscriptenSupportedExtensions(GLctx).forEach(ext=>{if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var _eglCreateContext=(display,config,hmm,contextAttribs)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion<2||glesContextVersion>3){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Module["canvas"],EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Module.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}};var _eglCreateWindowSurface=(display,config,win,attrib_list)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006};var _eglDestroyContext=(display,context)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1};var _eglDestroySurface=(display,surface)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1};var _eglGetConfigAttrib=(display,config,attribute,value)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>2]=EGL.contextAttributes.alpha?32:24;return 1;case 12321:HEAP32[value>>2]=EGL.contextAttributes.alpha?8:0;return 1;case 12322:HEAP32[value>>2]=8;return 1;case 12323:HEAP32[value>>2]=8;return 1;case 12324:HEAP32[value>>2]=8;return 1;case 12325:HEAP32[value>>2]=EGL.contextAttributes.depth?24:0;return 1;case 12326:HEAP32[value>>2]=EGL.contextAttributes.stencil?8:0;return 1;case 12327:HEAP32[value>>2]=12344;return 1;case 12328:HEAP32[value>>2]=62002;return 1;case 12329:HEAP32[value>>2]=0;return 1;case 12330:HEAP32[value>>2]=4096;return 1;case 12331:HEAP32[value>>2]=16777216;return 1;case 12332:HEAP32[value>>2]=4096;return 1;case 12333:HEAP32[value>>2]=0;return 1;case 12334:HEAP32[value>>2]=0;return 1;case 12335:HEAP32[value>>2]=12344;return 1;case 12337:HEAP32[value>>2]=EGL.contextAttributes.antialias?4:0;return 1;case 12338:HEAP32[value>>2]=EGL.contextAttributes.antialias?1:0;return 1;case 12339:HEAP32[value>>2]=4;return 1;case 12340:HEAP32[value>>2]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>2]=-1;return 1;case 12345:case 12346:HEAP32[value>>2]=0;return 1;case 12347:HEAP32[value>>2]=0;return 1;case 12348:HEAP32[value>>2]=1;return 1;case 12349:case 12350:HEAP32[value>>2]=0;return 1;case 12351:HEAP32[value>>2]=12430;return 1;case 12352:HEAP32[value>>2]=4;return 1;case 12354:HEAP32[value>>2]=0;return 1;default:EGL.setErrorCode(12292);return 0}};var _eglGetDisplay=nativeDisplayType=>{EGL.setErrorCode(12288);if(nativeDisplayType!=0&&nativeDisplayType!=1){return 0}return 62e3};var _eglGetError=()=>EGL.errorCode;var _eglInitialize=(display,majorVersion,minorVersion)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1};var _eglMakeCurrent=(display,draw,read,context)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var _eglQueryString=(display,name)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.setErrorCode(12288);if(EGL.stringCache[name])return EGL.stringCache[name];var ret;switch(name){case 12371:ret=stringToNewUTF8("Emscripten");break;case 12372:ret=stringToNewUTF8("1.4 Emscripten EGL");break;case 12373:ret=stringToNewUTF8("");break;case 12429:ret=stringToNewUTF8("OpenGL_ES");break;default:EGL.setErrorCode(12300);return 0}EGL.stringCache[name]=ret;return ret};var _eglSwapBuffers=(dpy,surface)=>{if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0};var _eglSwapInterval=(display,interval)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1};var _eglTerminate=display=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1};var _eglWaitClient=()=>{EGL.setErrorCode(12288);return 1};var _eglWaitGL=_eglWaitClient;var _eglWaitNative=nativeEngineId=>{EGL.setErrorCode(12288);return 1};var readEmAsmArgsArray=[];var readEmAsmArgs=(sigPtr,buf)=>{readEmAsmArgsArray.length=0;var ch;while(ch=HEAPU8[sigPtr++]){var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?HEAPU32[buf>>2]:ch==105?HEAP32[buf>>2]:HEAPF64[buf>>3]);buf+=wide?8:4}return readEmAsmArgsArray};var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code](...args)};var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);var runMainThreadEmAsm=(emAsmAddr,sigPtr,argbuf,sync)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[emAsmAddr](...args)};var _emscripten_asm_const_int_sync_on_main_thread=(emAsmAddr,sigPtr,argbuf)=>runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,1);var _emscripten_asm_const_ptr_sync_on_main_thread=(emAsmAddr,sigPtr,argbuf)=>runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,1);var _emscripten_cancel_main_loop=()=>{Browser.mainLoop.pause();Browser.mainLoop.func=null};var _emscripten_date_now=()=>Date.now();var withStackSave=f=>{var stack=stackSave();var ret=f();stackRestore(stack);return ret};var JSEvents={removeAllEventListeners(){while(JSEvents.eventHandlers.length){JSEvents._removeHandler(JSEvents.eventHandlers.length-1)}JSEvents.deferredCalls=[]},inEventHandler:0,deferredCalls:[],deferCall(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort((x,y)=>x.precedence{for(var i=0;icString>2?UTF8ToString(cString):cString;var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];var findEventTarget=target=>{target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement};var findCanvasEventTarget=findEventTarget;var _emscripten_get_canvas_element_size=(target,width,height)=>{var canvas=findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height};var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var getCanvasElementSize=target=>withStackSave(()=>{var w=stackAlloc(8);var h=w+4;var targetInt=stringToUTF8OnStack(target.id);var ret=_emscripten_get_canvas_element_size(targetInt,w,h);var size=[HEAP32[w>>2],HEAP32[h>>2]];return size});var _emscripten_set_canvas_element_size=(target,width,height)=>{var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0};var setCanvasElementSize=(target,width,height)=>{if(!target.controlTransferredOffscreen){target.width=width;target.height=height}else{withStackSave(()=>{var targetInt=stringToUTF8OnStack(target.id);_emscripten_set_canvas_element_size(targetInt,width,height)})}};var wasmTableMirror=[];var wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var registerRestoreOldStyle=canvas=>{var canvasSize=getCanvasElementSize(canvas);var oldWidth=canvasSize[0];var oldHeight=canvasSize[1];var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.webkitFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);setCanvasElementSize(canvas,oldWidth,oldHeight);canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(currentFullscreenStrategy.canvasResizedCallback){getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);return restoreOldStyle};var setLetterbox=(element,topBottom,leftRight)=>{element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"};var getBoundingClientRect=e=>specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0};var JSEvents_resizeCanvasForFullscreen=(target,strategy)=>{var restoreOldStyle=registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?innerWidth:screen.width;var cssHeight=strategy.softFullscreen?innerHeight:screen.height;var rect=getBoundingClientRect(target);var windowedCssWidth=rect.width;var windowedCssHeight=rect.height;var canvasSize=getCanvasElementSize(target);var windowedRttWidth=canvasSize[0];var windowedRttHeight=canvasSize[1];if(strategy.scaleMode==3){setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight{if(strategy.scaleMode!=0||strategy.canvasResolutionScaleMode!=0){JSEvents_resizeCanvasForFullscreen(target,strategy)}if(target.requestFullscreen){target.requestFullscreen()}else if(target.webkitRequestFullscreen){target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}else{return JSEvents.fullscreenEnabled()?-3:-1}currentFullscreenStrategy=strategy;if(strategy.canvasResizedCallback){getWasmTableEntry(strategy.canvasResizedCallback)(37,0,strategy.canvasResizedCallbackUserData)}return 0};var _emscripten_exit_fullscreen=()=>{if(!JSEvents.fullscreenEnabled())return-1;JSEvents.removeDeferredCalls(JSEvents_requestFullscreen);var d=specialHTMLTargets[1];if(d.exitFullscreen){d.fullscreenElement&&d.exitFullscreen()}else if(d.webkitExitFullscreen){d.webkitFullscreenElement&&d.webkitExitFullscreen()}else{return-1}return 0};var requestPointerLock=target=>{if(target.requestPointerLock){target.requestPointerLock()}else{if(document.body.requestPointerLock){return-3}return-1}return 0};var _emscripten_exit_pointerlock=()=>{JSEvents.removeDeferredCalls(requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else{return-1}return 0};var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var _emscripten_force_exit=status=>{__emscripten_runtime_keepalive_clear();_exit(status)};var _emscripten_get_device_pixel_ratio=()=>typeof devicePixelRatio=="number"&&devicePixelRatio||1;var _emscripten_get_element_css_size=(target,width,height)=>{target=findEventTarget(target);if(!target)return-4;var rect=getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0};var fillGamepadEventData=(eventStruct,e)=>{HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)};var _emscripten_get_gamepad_status=(index,gamepadState)=>{if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0};var _emscripten_get_num_gamepads=()=>JSEvents.lastGamepadState.length;var _emscripten_get_screen_size=(width,height)=>{HEAP32[width>>2]=screen.width;HEAP32[height>>2]=screen.height};var _glActiveTexture=x0=>GLctx.activeTexture(x0);var _emscripten_glActiveTexture=_glActiveTexture;var _glAttachShader=(program,shader)=>{GLctx.attachShader(GL.programs[program],GL.shaders[shader])};var _emscripten_glAttachShader=_glAttachShader;var _glBeginQuery=(target,id)=>{GLctx.beginQuery(target,GL.queries[id])};var _emscripten_glBeginQuery=_glBeginQuery;var _glBeginQueryEXT=(target,id)=>{GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])};var _emscripten_glBeginQueryEXT=_glBeginQueryEXT;var _glBeginTransformFeedback=x0=>GLctx.beginTransformFeedback(x0);var _emscripten_glBeginTransformFeedback=_glBeginTransformFeedback;var _glBindAttribLocation=(program,index,name)=>{GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))};var _emscripten_glBindAttribLocation=_glBindAttribLocation;var _glBindBuffer=(target,buffer)=>{if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])};var _emscripten_glBindBuffer=_glBindBuffer;var _glBindBufferBase=(target,index,buffer)=>{GLctx.bindBufferBase(target,index,GL.buffers[buffer])};var _emscripten_glBindBufferBase=_glBindBufferBase;var _glBindBufferRange=(target,index,buffer,offset,ptrsize)=>{GLctx.bindBufferRange(target,index,GL.buffers[buffer],offset,ptrsize)};var _emscripten_glBindBufferRange=_glBindBufferRange;var _glBindFramebuffer=(target,framebuffer)=>{GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])};var _emscripten_glBindFramebuffer=_glBindFramebuffer;var _glBindRenderbuffer=(target,renderbuffer)=>{GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])};var _emscripten_glBindRenderbuffer=_glBindRenderbuffer;var _glBindSampler=(unit,sampler)=>{GLctx.bindSampler(unit,GL.samplers[sampler])};var _emscripten_glBindSampler=_glBindSampler;var _glBindTexture=(target,texture)=>{GLctx.bindTexture(target,GL.textures[texture])};var _emscripten_glBindTexture=_glBindTexture;var _glBindTransformFeedback=(target,id)=>{GLctx.bindTransformFeedback(target,GL.transformFeedbacks[id])};var _emscripten_glBindTransformFeedback=_glBindTransformFeedback;var _glBindVertexArray=vao=>{GLctx.bindVertexArray(GL.vaos[vao])};var _emscripten_glBindVertexArray=_glBindVertexArray;var _glBindVertexArrayOES=_glBindVertexArray;var _emscripten_glBindVertexArrayOES=_glBindVertexArrayOES;var _glBlendColor=(x0,x1,x2,x3)=>GLctx.blendColor(x0,x1,x2,x3);var _emscripten_glBlendColor=_glBlendColor;var _glBlendEquation=x0=>GLctx.blendEquation(x0);var _emscripten_glBlendEquation=_glBlendEquation;var _glBlendEquationSeparate=(x0,x1)=>GLctx.blendEquationSeparate(x0,x1);var _emscripten_glBlendEquationSeparate=_glBlendEquationSeparate;var _glBlendFunc=(x0,x1)=>GLctx.blendFunc(x0,x1);var _emscripten_glBlendFunc=_glBlendFunc;var _glBlendFuncSeparate=(x0,x1,x2,x3)=>GLctx.blendFuncSeparate(x0,x1,x2,x3);var _emscripten_glBlendFuncSeparate=_glBlendFuncSeparate;var _glBlitFramebuffer=(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)=>GLctx.blitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9);var _emscripten_glBlitFramebuffer=_glBlitFramebuffer;var _glBufferData=(target,size,data,usage)=>{if(GL.currentContext.version>=2){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}return}GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)};var _emscripten_glBufferData=_glBufferData;var _glBufferSubData=(target,offset,size,data)=>{if(GL.currentContext.version>=2){size&&GLctx.bufferSubData(target,offset,HEAPU8,data,size);return}GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))};var _emscripten_glBufferSubData=_glBufferSubData;var _glCheckFramebufferStatus=x0=>GLctx.checkFramebufferStatus(x0);var _emscripten_glCheckFramebufferStatus=_glCheckFramebufferStatus;var _glClear=x0=>GLctx.clear(x0);var _emscripten_glClear=_glClear;var _glClearBufferfi=(x0,x1,x2,x3)=>GLctx.clearBufferfi(x0,x1,x2,x3);var _emscripten_glClearBufferfi=_glClearBufferfi;var _glClearBufferfv=(buffer,drawbuffer,value)=>{GLctx.clearBufferfv(buffer,drawbuffer,HEAPF32,value>>2)};var _emscripten_glClearBufferfv=_glClearBufferfv;var _glClearBufferiv=(buffer,drawbuffer,value)=>{GLctx.clearBufferiv(buffer,drawbuffer,HEAP32,value>>2)};var _emscripten_glClearBufferiv=_glClearBufferiv;var _glClearBufferuiv=(buffer,drawbuffer,value)=>{GLctx.clearBufferuiv(buffer,drawbuffer,HEAPU32,value>>2)};var _emscripten_glClearBufferuiv=_glClearBufferuiv;var _glClearColor=(x0,x1,x2,x3)=>GLctx.clearColor(x0,x1,x2,x3);var _emscripten_glClearColor=_glClearColor;var _glClearDepthf=x0=>GLctx.clearDepth(x0);var _emscripten_glClearDepthf=_glClearDepthf;var _glClearStencil=x0=>GLctx.clearStencil(x0);var _emscripten_glClearStencil=_glClearStencil;var convertI32PairToI53=(lo,hi)=>(lo>>>0)+hi*4294967296;var _glClientWaitSync=(sync,flags,timeout_low,timeout_high)=>{var timeout=convertI32PairToI53(timeout_low,timeout_high);return GLctx.clientWaitSync(GL.syncs[sync],flags,timeout)};var _emscripten_glClientWaitSync=_glClientWaitSync;var _glColorMask=(red,green,blue,alpha)=>{GLctx.colorMask(!!red,!!green,!!blue,!!alpha)};var _emscripten_glColorMask=_glColorMask;var _glCompileShader=shader=>{GLctx.compileShader(GL.shaders[shader])};var _emscripten_glCompileShader=_glCompileShader;var _glCompressedTexImage2D=(target,level,internalFormat,width,height,border,imageSize,data)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data)}else{GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,HEAPU8,data,imageSize)}return}GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)};var _emscripten_glCompressedTexImage2D=_glCompressedTexImage2D;var _glCompressedTexImage3D=(target,level,internalFormat,width,height,depth,border,imageSize,data)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data)}else{GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,HEAPU8,data,imageSize)}};var _emscripten_glCompressedTexImage3D=_glCompressedTexImage3D;var _glCompressedTexSubImage2D=(target,level,xoffset,yoffset,width,height,format,imageSize,data)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data)}else{GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,HEAPU8,data,imageSize)}return}GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data,data+imageSize):null)};var _emscripten_glCompressedTexSubImage2D=_glCompressedTexSubImage2D;var _glCompressedTexSubImage3D=(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)}else{GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,HEAPU8,data,imageSize)}};var _emscripten_glCompressedTexSubImage3D=_glCompressedTexSubImage3D;var _glCopyBufferSubData=(x0,x1,x2,x3,x4)=>GLctx.copyBufferSubData(x0,x1,x2,x3,x4);var _emscripten_glCopyBufferSubData=_glCopyBufferSubData;var _glCopyTexImage2D=(x0,x1,x2,x3,x4,x5,x6,x7)=>GLctx.copyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7);var _emscripten_glCopyTexImage2D=_glCopyTexImage2D;var _glCopyTexSubImage2D=(x0,x1,x2,x3,x4,x5,x6,x7)=>GLctx.copyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7);var _emscripten_glCopyTexSubImage2D=_glCopyTexSubImage2D;var _glCopyTexSubImage3D=(x0,x1,x2,x3,x4,x5,x6,x7,x8)=>GLctx.copyTexSubImage3D(x0,x1,x2,x3,x4,x5,x6,x7,x8);var _emscripten_glCopyTexSubImage3D=_glCopyTexSubImage3D;var _glCreateProgram=()=>{var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id};var _emscripten_glCreateProgram=_glCreateProgram;var _glCreateShader=shaderType=>{var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id};var _emscripten_glCreateShader=_glCreateShader;var _glCullFace=x0=>GLctx.cullFace(x0);var _emscripten_glCullFace=_glCullFace;var _glDeleteBuffers=(n,buffers)=>{for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GLctx.currentPixelPackBufferBinding)GLctx.currentPixelPackBufferBinding=0;if(id==GLctx.currentPixelUnpackBufferBinding)GLctx.currentPixelUnpackBufferBinding=0}};var _emscripten_glDeleteBuffers=_glDeleteBuffers;var _glDeleteFramebuffers=(n,framebuffers)=>{for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}};var _emscripten_glDeleteFramebuffers=_glDeleteFramebuffers;var _glDeleteProgram=id=>{if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null};var _emscripten_glDeleteProgram=_glDeleteProgram;var _glDeleteQueries=(n,ids)=>{for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.deleteQuery(query);GL.queries[id]=null}};var _emscripten_glDeleteQueries=_glDeleteQueries;var _glDeleteQueriesEXT=(n,ids)=>{for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.queries[id]=null}};var _emscripten_glDeleteQueriesEXT=_glDeleteQueriesEXT;var _glDeleteRenderbuffers=(n,renderbuffers)=>{for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}};var _emscripten_glDeleteRenderbuffers=_glDeleteRenderbuffers;var _glDeleteSamplers=(n,samplers)=>{for(var i=0;i>2];var sampler=GL.samplers[id];if(!sampler)continue;GLctx.deleteSampler(sampler);sampler.name=0;GL.samplers[id]=null}};var _emscripten_glDeleteSamplers=_glDeleteSamplers;var _glDeleteShader=id=>{if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null};var _emscripten_glDeleteShader=_glDeleteShader;var _glDeleteSync=id=>{if(!id)return;var sync=GL.syncs[id];if(!sync){GL.recordError(1281);return}GLctx.deleteSync(sync);sync.name=0;GL.syncs[id]=null};var _emscripten_glDeleteSync=_glDeleteSync;var _glDeleteTextures=(n,textures)=>{for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}};var _emscripten_glDeleteTextures=_glDeleteTextures;var _glDeleteTransformFeedbacks=(n,ids)=>{for(var i=0;i>2];var transformFeedback=GL.transformFeedbacks[id];if(!transformFeedback)continue;GLctx.deleteTransformFeedback(transformFeedback);transformFeedback.name=0;GL.transformFeedbacks[id]=null}};var _emscripten_glDeleteTransformFeedbacks=_glDeleteTransformFeedbacks;var _glDeleteVertexArrays=(n,vaos)=>{for(var i=0;i>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}};var _emscripten_glDeleteVertexArrays=_glDeleteVertexArrays;var _glDeleteVertexArraysOES=_glDeleteVertexArrays;var _emscripten_glDeleteVertexArraysOES=_glDeleteVertexArraysOES;var _glDepthFunc=x0=>GLctx.depthFunc(x0);var _emscripten_glDepthFunc=_glDepthFunc;var _glDepthMask=flag=>{GLctx.depthMask(!!flag)};var _emscripten_glDepthMask=_glDepthMask;var _glDepthRangef=(x0,x1)=>GLctx.depthRange(x0,x1);var _emscripten_glDepthRangef=_glDepthRangef;var _glDetachShader=(program,shader)=>{GLctx.detachShader(GL.programs[program],GL.shaders[shader])};var _emscripten_glDetachShader=_glDetachShader;var _glDisable=x0=>GLctx.disable(x0);var _emscripten_glDisable=_glDisable;var _glDisableVertexAttribArray=index=>{GLctx.disableVertexAttribArray(index)};var _emscripten_glDisableVertexAttribArray=_glDisableVertexAttribArray;var _glDrawArrays=(mode,first,count)=>{GLctx.drawArrays(mode,first,count)};var _emscripten_glDrawArrays=_glDrawArrays;var _glDrawArraysInstanced=(mode,first,count,primcount)=>{GLctx.drawArraysInstanced(mode,first,count,primcount)};var _emscripten_glDrawArraysInstanced=_glDrawArraysInstanced;var _glDrawArraysInstancedANGLE=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedANGLE=_glDrawArraysInstancedANGLE;var _glDrawArraysInstancedARB=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedARB=_glDrawArraysInstancedARB;var _glDrawArraysInstancedEXT=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedEXT=_glDrawArraysInstancedEXT;var _glDrawArraysInstancedNV=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedNV=_glDrawArraysInstancedNV;var tempFixedLengthArray=[];var _glDrawBuffers=(n,bufs)=>{var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx.drawBuffers(bufArray)};var _emscripten_glDrawBuffers=_glDrawBuffers;var _glDrawBuffersEXT=_glDrawBuffers;var _emscripten_glDrawBuffersEXT=_glDrawBuffersEXT;var _glDrawBuffersWEBGL=_glDrawBuffers;var _emscripten_glDrawBuffersWEBGL=_glDrawBuffersWEBGL;var _glDrawElements=(mode,count,type,indices)=>{GLctx.drawElements(mode,count,type,indices)};var _emscripten_glDrawElements=_glDrawElements;var _glDrawElementsInstanced=(mode,count,type,indices,primcount)=>{GLctx.drawElementsInstanced(mode,count,type,indices,primcount)};var _emscripten_glDrawElementsInstanced=_glDrawElementsInstanced;var _glDrawElementsInstancedANGLE=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedANGLE=_glDrawElementsInstancedANGLE;var _glDrawElementsInstancedARB=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedARB=_glDrawElementsInstancedARB;var _glDrawElementsInstancedEXT=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedEXT=_glDrawElementsInstancedEXT;var _glDrawElementsInstancedNV=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedNV=_glDrawElementsInstancedNV;var _glDrawRangeElements=(mode,start,end,count,type,indices)=>{_glDrawElements(mode,count,type,indices)};var _emscripten_glDrawRangeElements=_glDrawRangeElements;var _glEnable=x0=>GLctx.enable(x0);var _emscripten_glEnable=_glEnable;var _glEnableVertexAttribArray=index=>{GLctx.enableVertexAttribArray(index)};var _emscripten_glEnableVertexAttribArray=_glEnableVertexAttribArray;var _glEndQuery=x0=>GLctx.endQuery(x0);var _emscripten_glEndQuery=_glEndQuery;var _glEndQueryEXT=target=>{GLctx.disjointTimerQueryExt["endQueryEXT"](target)};var _emscripten_glEndQueryEXT=_glEndQueryEXT;var _glEndTransformFeedback=()=>GLctx.endTransformFeedback();var _emscripten_glEndTransformFeedback=_glEndTransformFeedback;var _glFenceSync=(condition,flags)=>{var sync=GLctx.fenceSync(condition,flags);if(sync){var id=GL.getNewId(GL.syncs);sync.name=id;GL.syncs[id]=sync;return id}return 0};var _emscripten_glFenceSync=_glFenceSync;var _glFinish=()=>GLctx.finish();var _emscripten_glFinish=_glFinish;var _glFlush=()=>GLctx.flush();var _emscripten_glFlush=_glFlush;var _glFramebufferRenderbuffer=(target,attachment,renderbuffertarget,renderbuffer)=>{GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])};var _emscripten_glFramebufferRenderbuffer=_glFramebufferRenderbuffer;var _glFramebufferTexture2D=(target,attachment,textarget,texture,level)=>{GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)};var _emscripten_glFramebufferTexture2D=_glFramebufferTexture2D;var _glFramebufferTextureLayer=(target,attachment,texture,level,layer)=>{GLctx.framebufferTextureLayer(target,attachment,GL.textures[texture],level,layer)};var _emscripten_glFramebufferTextureLayer=_glFramebufferTextureLayer;var _glFrontFace=x0=>GLctx.frontFace(x0);var _emscripten_glFrontFace=_glFrontFace;var _glGenBuffers=(n,buffers)=>{GL.genObject(n,buffers,"createBuffer",GL.buffers)};var _emscripten_glGenBuffers=_glGenBuffers;var _glGenFramebuffers=(n,ids)=>{GL.genObject(n,ids,"createFramebuffer",GL.framebuffers)};var _emscripten_glGenFramebuffers=_glGenFramebuffers;var _glGenQueries=(n,ids)=>{GL.genObject(n,ids,"createQuery",GL.queries)};var _emscripten_glGenQueries=_glGenQueries;var _glGenQueriesEXT=(n,ids)=>{for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.queries);query.name=id;GL.queries[id]=query;HEAP32[ids+i*4>>2]=id}};var _emscripten_glGenQueriesEXT=_glGenQueriesEXT;var _glGenRenderbuffers=(n,renderbuffers)=>{GL.genObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)};var _emscripten_glGenRenderbuffers=_glGenRenderbuffers;var _glGenSamplers=(n,samplers)=>{GL.genObject(n,samplers,"createSampler",GL.samplers)};var _emscripten_glGenSamplers=_glGenSamplers;var _glGenTextures=(n,textures)=>{GL.genObject(n,textures,"createTexture",GL.textures)};var _emscripten_glGenTextures=_glGenTextures;var _glGenTransformFeedbacks=(n,ids)=>{GL.genObject(n,ids,"createTransformFeedback",GL.transformFeedbacks)};var _emscripten_glGenTransformFeedbacks=_glGenTransformFeedbacks;var _glGenVertexArrays=(n,arrays)=>{GL.genObject(n,arrays,"createVertexArray",GL.vaos)};var _emscripten_glGenVertexArrays=_glGenVertexArrays;var _glGenVertexArraysOES=_glGenVertexArrays;var _emscripten_glGenVertexArraysOES=_glGenVertexArraysOES;var _glGenerateMipmap=x0=>GLctx.generateMipmap(x0);var _emscripten_glGenerateMipmap=_glGenerateMipmap;var __glGetActiveAttribOrUniform=(funcName,program,index,bufSize,length,size,type,name)=>{program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}};var _glGetActiveAttrib=(program,index,bufSize,length,size,type,name)=>{__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)};var _emscripten_glGetActiveAttrib=_glGetActiveAttrib;var _glGetActiveUniform=(program,index,bufSize,length,size,type,name)=>{__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)};var _emscripten_glGetActiveUniform=_glGetActiveUniform;var _glGetActiveUniformBlockName=(program,uniformBlockIndex,bufSize,length,uniformBlockName)=>{program=GL.programs[program];var result=GLctx.getActiveUniformBlockName(program,uniformBlockIndex);if(!result)return;if(uniformBlockName&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(result,uniformBlockName,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}};var _emscripten_glGetActiveUniformBlockName=_glGetActiveUniformBlockName;var _glGetActiveUniformBlockiv=(program,uniformBlockIndex,pname,params)=>{if(!params){GL.recordError(1281);return}program=GL.programs[program];if(pname==35393){var name=GLctx.getActiveUniformBlockName(program,uniformBlockIndex);HEAP32[params>>2]=name.length+1;return}var result=GLctx.getActiveUniformBlockParameter(program,uniformBlockIndex,pname);if(result===null)return;if(pname==35395){for(var i=0;i>2]=result[i]}}else{HEAP32[params>>2]=result}};var _emscripten_glGetActiveUniformBlockiv=_glGetActiveUniformBlockiv;var _glGetActiveUniformsiv=(program,uniformCount,uniformIndices,pname,params)=>{if(!params){GL.recordError(1281);return}if(uniformCount>0&&uniformIndices==0){GL.recordError(1281);return}program=GL.programs[program];var ids=[];for(var i=0;i>2])}var result=GLctx.getActiveUniforms(program,ids,pname);if(!result)return;var len=result.length;for(var i=0;i>2]=result[i]}};var _emscripten_glGetActiveUniformsiv=_glGetActiveUniformsiv;var _glGetAttachedShaders=(program,maxCount,count,shaders)=>{var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}};var _emscripten_glGetAttachedShaders=_glGetAttachedShaders;var _glGetAttribLocation=(program,name)=>GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name));var _emscripten_glGetAttribLocation=_glGetAttribLocation;var writeI53ToI64=(ptr,num)=>{HEAPU32[ptr>>2]=num;var lower=HEAPU32[ptr>>2];HEAPU32[ptr+4>>2]=(num-lower)/4294967296};var webglGetExtensions=function $webglGetExtensions(){var exts=getEmscriptenSupportedExtensions(GLctx);exts=exts.concat(exts.map(e=>"GL_"+e));return exts};var emscriptenWebGLGet=(name_,p,type)=>{if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 34814:case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break;case 33309:if(GL.currentContext.version<2){GL.recordError(1282);return}ret=webglGetExtensions().length;break;case 33307:case 33308:if(GL.currentContext.version<2){GL.recordError(1280);return}ret=name_==33307?3:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Unknown object returned from WebGL getParameter(${name_})! (error: ${e})`);return}}break;default:GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Native code calling glGet${type}v(${name_}) and it returns ${result} of type ${typeof result}!`);return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p]=ret?1:0;break}};var _glGetBooleanv=(name_,p)=>emscriptenWebGLGet(name_,p,4);var _emscripten_glGetBooleanv=_glGetBooleanv;var _glGetBufferParameteri64v=(target,value,data)=>{if(!data){GL.recordError(1281);return}writeI53ToI64(data,GLctx.getBufferParameter(target,value))};var _emscripten_glGetBufferParameteri64v=_glGetBufferParameteri64v;var _glGetBufferParameteriv=(target,value,data)=>{if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)};var _emscripten_glGetBufferParameteriv=_glGetBufferParameteriv;var _glGetError=()=>{var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error};var _emscripten_glGetError=_glGetError;var _glGetFloatv=(name_,p)=>emscriptenWebGLGet(name_,p,2);var _emscripten_glGetFloatv=_glGetFloatv;var _glGetFragDataLocation=(program,name)=>GLctx.getFragDataLocation(GL.programs[program],UTF8ToString(name));var _emscripten_glGetFragDataLocation=_glGetFragDataLocation;var _glGetFramebufferAttachmentParameteriv=(target,attachment,pname,params)=>{var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result};var _emscripten_glGetFramebufferAttachmentParameteriv=_glGetFramebufferAttachmentParameteriv;var emscriptenWebGLGetIndexed=(target,index,data,type)=>{if(!data){GL.recordError(1281);return}var result=GLctx.getIndexedParameter(target,index);var ret;switch(typeof result){case"boolean":ret=result?1:0;break;case"number":ret=result;break;case"object":if(result===null){switch(target){case 35983:case 35368:ret=0;break;default:{GL.recordError(1280);return}}}else if(result instanceof WebGLBuffer){ret=result.name|0}else{GL.recordError(1280);return}break;default:GL.recordError(1280);return}switch(type){case 1:writeI53ToI64(data,ret);break;case 0:HEAP32[data>>2]=ret;break;case 2:HEAPF32[data>>2]=ret;break;case 4:HEAP8[data]=ret?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+type}};var _glGetInteger64i_v=(target,index,data)=>emscriptenWebGLGetIndexed(target,index,data,1);var _emscripten_glGetInteger64i_v=_glGetInteger64i_v;var _glGetInteger64v=(name_,p)=>{emscriptenWebGLGet(name_,p,1)};var _emscripten_glGetInteger64v=_glGetInteger64v;var _glGetIntegeri_v=(target,index,data)=>emscriptenWebGLGetIndexed(target,index,data,0);var _emscripten_glGetIntegeri_v=_glGetIntegeri_v;var _glGetIntegerv=(name_,p)=>emscriptenWebGLGet(name_,p,0);var _emscripten_glGetIntegerv=_glGetIntegerv;var _glGetInternalformativ=(target,internalformat,pname,bufSize,params)=>{if(bufSize<0){GL.recordError(1281);return}if(!params){GL.recordError(1281);return}var ret=GLctx.getInternalformatParameter(target,internalformat,pname);if(ret===null)return;for(var i=0;i>2]=ret[i]}};var _emscripten_glGetInternalformativ=_glGetInternalformativ;var _glGetProgramBinary=(program,bufSize,length,binaryFormat,binary)=>{GL.recordError(1282)};var _emscripten_glGetProgramBinary=_glGetProgramBinary;var _glGetProgramInfoLog=(program,maxLength,length,infoLog)=>{var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _emscripten_glGetProgramInfoLog=_glGetProgramInfoLog;var _glGetProgramiv=(program,pname,p)=>{if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}};var _emscripten_glGetProgramiv=_glGetProgramiv;var _glGetQueryObjecti64vEXT=(id,pname,params)=>{if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;if(GL.currentContext.version<2){param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}else{param=GLctx.getQueryParameter(query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)};var _emscripten_glGetQueryObjecti64vEXT=_glGetQueryObjecti64vEXT;var _glGetQueryObjectivEXT=(id,pname,params)=>{if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret};var _emscripten_glGetQueryObjectivEXT=_glGetQueryObjectivEXT;var _glGetQueryObjectui64vEXT=_glGetQueryObjecti64vEXT;var _emscripten_glGetQueryObjectui64vEXT=_glGetQueryObjectui64vEXT;var _glGetQueryObjectuiv=(id,pname,params)=>{if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.getQueryParameter(query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret};var _emscripten_glGetQueryObjectuiv=_glGetQueryObjectuiv;var _glGetQueryObjectuivEXT=_glGetQueryObjectivEXT;var _emscripten_glGetQueryObjectuivEXT=_glGetQueryObjectuivEXT;var _glGetQueryiv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getQuery(target,pname)};var _emscripten_glGetQueryiv=_glGetQueryiv;var _glGetQueryivEXT=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)};var _emscripten_glGetQueryivEXT=_glGetQueryivEXT;var _glGetRenderbufferParameteriv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)};var _emscripten_glGetRenderbufferParameteriv=_glGetRenderbufferParameteriv;var _glGetSamplerParameterfv=(sampler,pname,params)=>{if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getSamplerParameter(GL.samplers[sampler],pname)};var _emscripten_glGetSamplerParameterfv=_glGetSamplerParameterfv;var _glGetSamplerParameteriv=(sampler,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getSamplerParameter(GL.samplers[sampler],pname)};var _emscripten_glGetSamplerParameteriv=_glGetSamplerParameteriv;var _glGetShaderInfoLog=(shader,maxLength,length,infoLog)=>{var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _emscripten_glGetShaderInfoLog=_glGetShaderInfoLog;var _glGetShaderPrecisionFormat=(shaderType,precisionType,range,precision)=>{var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision};var _emscripten_glGetShaderPrecisionFormat=_glGetShaderPrecisionFormat;var _glGetShaderSource=(shader,bufSize,length,source)=>{var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _emscripten_glGetShaderSource=_glGetShaderSource;var _glGetShaderiv=(shader,pname,p)=>{if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}};var _emscripten_glGetShaderiv=_glGetShaderiv;var _glGetString=name_=>{var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:ret=stringToNewUTF8(webglGetExtensions().join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s?stringToNewUTF8(s):0;break;case 7938:var glVersion=GLctx.getParameter(7938);if(GL.currentContext.version>=2)glVersion=`OpenGL ES 3.0 (${glVersion})`;else{glVersion=`OpenGL ES 2.0 (${glVersion})`}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion=`OpenGL ES GLSL ES ${ver_num[1]} (${glslVersion})`}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret};var _emscripten_glGetString=_glGetString;var _glGetStringi=(name,index)=>{if(GL.currentContext.version<2){GL.recordError(1282);return 0}var stringiCache=GL.stringiCache[name];if(stringiCache){if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index]}switch(name){case 7939:var exts=webglGetExtensions().map(stringToNewUTF8);stringiCache=GL.stringiCache[name]=exts;if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index];default:GL.recordError(1280);return 0}};var _emscripten_glGetStringi=_glGetStringi;var _glGetSynciv=(sync,pname,bufSize,length,values)=>{if(bufSize<0){GL.recordError(1281);return}if(!values){GL.recordError(1281);return}var ret=GLctx.getSyncParameter(GL.syncs[sync],pname);if(ret!==null){HEAP32[values>>2]=ret;if(length)HEAP32[length>>2]=1}};var _emscripten_glGetSynciv=_glGetSynciv;var _glGetTexParameterfv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)};var _emscripten_glGetTexParameterfv=_glGetTexParameterfv;var _glGetTexParameteriv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)};var _emscripten_glGetTexParameteriv=_glGetTexParameteriv;var _glGetTransformFeedbackVarying=(program,index,bufSize,length,size,type,name)=>{program=GL.programs[program];var info=GLctx.getTransformFeedbackVarying(program,index);if(!info)return;if(name&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type};var _emscripten_glGetTransformFeedbackVarying=_glGetTransformFeedbackVarying;var _glGetUniformBlockIndex=(program,uniformBlockName)=>GLctx.getUniformBlockIndex(GL.programs[program],UTF8ToString(uniformBlockName));var _emscripten_glGetUniformBlockIndex=_glGetUniformBlockIndex;var _glGetUniformIndices=(program,uniformCount,uniformNames,uniformIndices)=>{if(!uniformIndices){GL.recordError(1281);return}if(uniformCount>0&&(uniformNames==0||uniformIndices==0)){GL.recordError(1281);return}program=GL.programs[program];var names=[];for(var i=0;i>2]));var result=GLctx.getUniformIndices(program,names);if(!result)return;var len=result.length;for(var i=0;i>2]=result[i]}};var _emscripten_glGetUniformIndices=_glGetUniformIndices;var jstoi_q=str=>parseInt(str);var webglGetLeftBracePos=name=>name.slice(-1)=="]"&&name.lastIndexOf("[");var webglPrepareUniformLocationsBeforeFirstUse=program=>{var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j{name=UTF8ToString(name);if(program=GL.programs[program]){webglPrepareUniformLocationsBeforeFirstUse(program);var uniformLocsById=program.uniformLocsById;var arrayIndex=0;var uniformBaseName=name;var leftBrace=webglGetLeftBracePos(name);if(leftBrace>0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex{var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc=="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?`[${webglLoc}]`:""))}return webglLoc}else{GL.recordError(1282)}};var emscriptenWebGLGetUniform=(program,location,params,type)=>{if(!params){GL.recordError(1281);return}program=GL.programs[program];webglPrepareUniformLocationsBeforeFirstUse(program);var data=GLctx.getUniform(program,webglGetUniformLocation(location));if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}};var _glGetUniformfv=(program,location,params)=>{emscriptenWebGLGetUniform(program,location,params,2)};var _emscripten_glGetUniformfv=_glGetUniformfv;var _glGetUniformiv=(program,location,params)=>{emscriptenWebGLGetUniform(program,location,params,0)};var _emscripten_glGetUniformiv=_glGetUniformiv;var _glGetUniformuiv=(program,location,params)=>emscriptenWebGLGetUniform(program,location,params,0);var _emscripten_glGetUniformuiv=_glGetUniformuiv;var emscriptenWebGLGetVertexAttrib=(index,pname,params,type)=>{if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}};var _glGetVertexAttribIiv=(index,pname,params)=>{emscriptenWebGLGetVertexAttrib(index,pname,params,0)};var _emscripten_glGetVertexAttribIiv=_glGetVertexAttribIiv;var _glGetVertexAttribIuiv=_glGetVertexAttribIiv;var _emscripten_glGetVertexAttribIuiv=_glGetVertexAttribIuiv;var _glGetVertexAttribPointerv=(index,pname,pointer)=>{if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)};var _emscripten_glGetVertexAttribPointerv=_glGetVertexAttribPointerv;var _glGetVertexAttribfv=(index,pname,params)=>{emscriptenWebGLGetVertexAttrib(index,pname,params,2)};var _emscripten_glGetVertexAttribfv=_glGetVertexAttribfv;var _glGetVertexAttribiv=(index,pname,params)=>{emscriptenWebGLGetVertexAttrib(index,pname,params,5)};var _emscripten_glGetVertexAttribiv=_glGetVertexAttribiv;var _glHint=(x0,x1)=>GLctx.hint(x0,x1);var _emscripten_glHint=_glHint;var _glInvalidateFramebuffer=(target,numAttachments,attachments)=>{var list=tempFixedLengthArray[numAttachments];for(var i=0;i>2]}GLctx.invalidateFramebuffer(target,list)};var _emscripten_glInvalidateFramebuffer=_glInvalidateFramebuffer;var _glInvalidateSubFramebuffer=(target,numAttachments,attachments,x,y,width,height)=>{var list=tempFixedLengthArray[numAttachments];for(var i=0;i>2]}GLctx.invalidateSubFramebuffer(target,list,x,y,width,height)};var _emscripten_glInvalidateSubFramebuffer=_glInvalidateSubFramebuffer;var _glIsBuffer=buffer=>{var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)};var _emscripten_glIsBuffer=_glIsBuffer;var _glIsEnabled=x0=>GLctx.isEnabled(x0);var _emscripten_glIsEnabled=_glIsEnabled;var _glIsFramebuffer=framebuffer=>{var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)};var _emscripten_glIsFramebuffer=_glIsFramebuffer;var _glIsProgram=program=>{program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)};var _emscripten_glIsProgram=_glIsProgram;var _glIsQuery=id=>{var query=GL.queries[id];if(!query)return 0;return GLctx.isQuery(query)};var _emscripten_glIsQuery=_glIsQuery;var _glIsQueryEXT=id=>{var query=GL.queries[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)};var _emscripten_glIsQueryEXT=_glIsQueryEXT;var _glIsRenderbuffer=renderbuffer=>{var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)};var _emscripten_glIsRenderbuffer=_glIsRenderbuffer;var _glIsSampler=id=>{var sampler=GL.samplers[id];if(!sampler)return 0;return GLctx.isSampler(sampler)};var _emscripten_glIsSampler=_glIsSampler;var _glIsShader=shader=>{var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)};var _emscripten_glIsShader=_glIsShader;var _glIsSync=sync=>GLctx.isSync(GL.syncs[sync]);var _emscripten_glIsSync=_glIsSync;var _glIsTexture=id=>{var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)};var _emscripten_glIsTexture=_glIsTexture;var _glIsTransformFeedback=id=>GLctx.isTransformFeedback(GL.transformFeedbacks[id]);var _emscripten_glIsTransformFeedback=_glIsTransformFeedback;var _glIsVertexArray=array=>{var vao=GL.vaos[array];if(!vao)return 0;return GLctx.isVertexArray(vao)};var _emscripten_glIsVertexArray=_glIsVertexArray;var _glIsVertexArrayOES=_glIsVertexArray;var _emscripten_glIsVertexArrayOES=_glIsVertexArrayOES;var _glLineWidth=x0=>GLctx.lineWidth(x0);var _emscripten_glLineWidth=_glLineWidth;var _glLinkProgram=program=>{program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}};var _emscripten_glLinkProgram=_glLinkProgram;var _glPauseTransformFeedback=()=>GLctx.pauseTransformFeedback();var _emscripten_glPauseTransformFeedback=_glPauseTransformFeedback;var _glPixelStorei=(pname,param)=>{if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)};var _emscripten_glPixelStorei=_glPixelStorei;var _glPolygonOffset=(x0,x1)=>GLctx.polygonOffset(x0,x1);var _emscripten_glPolygonOffset=_glPolygonOffset;var _glProgramBinary=(program,binaryFormat,binary,length)=>{GL.recordError(1280)};var _emscripten_glProgramBinary=_glProgramBinary;var _glProgramParameteri=(program,pname,value)=>{GL.recordError(1280)};var _emscripten_glProgramParameteri=_glProgramParameteri;var _glQueryCounterEXT=(id,target)=>{GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)};var _emscripten_glQueryCounterEXT=_glQueryCounterEXT;var _glReadBuffer=x0=>GLctx.readBuffer(x0);var _emscripten_glReadBuffer=_glReadBuffer;var computeUnpackAlignedImageSize=(width,height,sizePerPixel,alignment)=>{function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize};var colorChannelsInGlTextureFormat=format=>{var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1};var heapObjectForWebGLType=type=>{type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16};var toTypedArrayIndex=(pointer,heap)=>pointer>>>31-Math.clz32(heap.BYTES_PER_ELEMENT);var emscriptenWebGLGetTexPixelData=(type,format,width,height,pixels,internalFormat)=>{var heap=heapObjectForWebGLType(type);var sizePerPixel=colorChannelsInGlTextureFormat(format)*heap.BYTES_PER_ELEMENT;var bytes=computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);return heap.subarray(toTypedArrayIndex(pixels,heap),toTypedArrayIndex(pixels+bytes,heap))};var _glReadPixels=(x,y,width,height,format,type,pixels)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels)}else{var heap=heapObjectForWebGLType(type);var target=toTypedArrayIndex(pixels,heap);GLctx.readPixels(x,y,width,height,format,type,heap,target)}return}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)};var _emscripten_glReadPixels=_glReadPixels;var _glReleaseShaderCompiler=()=>{};var _emscripten_glReleaseShaderCompiler=_glReleaseShaderCompiler;var _glRenderbufferStorage=(x0,x1,x2,x3)=>GLctx.renderbufferStorage(x0,x1,x2,x3);var _emscripten_glRenderbufferStorage=_glRenderbufferStorage;var _glRenderbufferStorageMultisample=(x0,x1,x2,x3,x4)=>GLctx.renderbufferStorageMultisample(x0,x1,x2,x3,x4);var _emscripten_glRenderbufferStorageMultisample=_glRenderbufferStorageMultisample;var _glResumeTransformFeedback=()=>GLctx.resumeTransformFeedback();var _emscripten_glResumeTransformFeedback=_glResumeTransformFeedback;var _glSampleCoverage=(value,invert)=>{GLctx.sampleCoverage(value,!!invert)};var _emscripten_glSampleCoverage=_glSampleCoverage;var _glSamplerParameterf=(sampler,pname,param)=>{GLctx.samplerParameterf(GL.samplers[sampler],pname,param)};var _emscripten_glSamplerParameterf=_glSamplerParameterf;var _glSamplerParameterfv=(sampler,pname,params)=>{var param=HEAPF32[params>>2];GLctx.samplerParameterf(GL.samplers[sampler],pname,param)};var _emscripten_glSamplerParameterfv=_glSamplerParameterfv;var _glSamplerParameteri=(sampler,pname,param)=>{GLctx.samplerParameteri(GL.samplers[sampler],pname,param)};var _emscripten_glSamplerParameteri=_glSamplerParameteri;var _glSamplerParameteriv=(sampler,pname,params)=>{var param=HEAP32[params>>2];GLctx.samplerParameteri(GL.samplers[sampler],pname,param)};var _emscripten_glSamplerParameteriv=_glSamplerParameteriv;var _glScissor=(x0,x1,x2,x3)=>GLctx.scissor(x0,x1,x2,x3);var _emscripten_glScissor=_glScissor;var _glShaderBinary=(count,shaders,binaryformat,binary,length)=>{GL.recordError(1280)};var _emscripten_glShaderBinary=_glShaderBinary;var _glShaderSource=(shader,count,string,length)=>{var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)};var _emscripten_glShaderSource=_glShaderSource;var _glStencilFunc=(x0,x1,x2)=>GLctx.stencilFunc(x0,x1,x2);var _emscripten_glStencilFunc=_glStencilFunc;var _glStencilFuncSeparate=(x0,x1,x2,x3)=>GLctx.stencilFuncSeparate(x0,x1,x2,x3);var _emscripten_glStencilFuncSeparate=_glStencilFuncSeparate;var _glStencilMask=x0=>GLctx.stencilMask(x0);var _emscripten_glStencilMask=_glStencilMask;var _glStencilMaskSeparate=(x0,x1)=>GLctx.stencilMaskSeparate(x0,x1);var _emscripten_glStencilMaskSeparate=_glStencilMaskSeparate;var _glStencilOp=(x0,x1,x2)=>GLctx.stencilOp(x0,x1,x2);var _emscripten_glStencilOp=_glStencilOp;var _glStencilOpSeparate=(x0,x1,x2,x3)=>GLctx.stencilOpSeparate(x0,x1,x2,x3);var _emscripten_glStencilOpSeparate=_glStencilOpSeparate;var _glTexImage2D=(target,level,internalFormat,width,height,border,format,type,pixels)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,toTypedArrayIndex(pixels,heap))}else{GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,null)}return}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)};var _emscripten_glTexImage2D=_glTexImage2D;var _glTexImage3D=(target,level,internalFormat,width,height,depth,border,format,type,pixels)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,heap,toTypedArrayIndex(pixels,heap))}else{GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,null)}};var _emscripten_glTexImage3D=_glTexImage3D;var _glTexParameterf=(x0,x1,x2)=>GLctx.texParameterf(x0,x1,x2);var _emscripten_glTexParameterf=_glTexParameterf;var _glTexParameterfv=(target,pname,params)=>{var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)};var _emscripten_glTexParameterfv=_glTexParameterfv;var _glTexParameteri=(x0,x1,x2)=>GLctx.texParameteri(x0,x1,x2);var _emscripten_glTexParameteri=_glTexParameteri;var _glTexParameteriv=(target,pname,params)=>{var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)};var _emscripten_glTexParameteriv=_glTexParameteriv;var _glTexStorage2D=(x0,x1,x2,x3,x4)=>GLctx.texStorage2D(x0,x1,x2,x3,x4);var _emscripten_glTexStorage2D=_glTexStorage2D;var _glTexStorage3D=(x0,x1,x2,x3,x4,x5)=>GLctx.texStorage3D(x0,x1,x2,x3,x4,x5);var _emscripten_glTexStorage3D=_glTexStorage3D;var _glTexSubImage2D=(target,level,xoffset,yoffset,width,height,format,type,pixels)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,heap,toTypedArrayIndex(pixels,heap));return}}var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0):null;GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)};var _emscripten_glTexSubImage2D=_glTexSubImage2D;var _glTexSubImage3D=(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,heap,toTypedArrayIndex(pixels,heap))}else{GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,null)}};var _emscripten_glTexSubImage3D=_glTexSubImage3D;var _glTransformFeedbackVaryings=(program,count,varyings,bufferMode)=>{program=GL.programs[program];var vars=[];for(var i=0;i>2]));GLctx.transformFeedbackVaryings(program,vars,bufferMode)};var _emscripten_glTransformFeedbackVaryings=_glTransformFeedbackVaryings;var _glUniform1f=(location,v0)=>{GLctx.uniform1f(webglGetUniformLocation(location),v0)};var _emscripten_glUniform1f=_glUniform1f;var miniTempWebGLFloatBuffers=[];var _glUniform1fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform1fv(webglGetUniformLocation(location),HEAPF32,value>>2,count);return}if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(webglGetUniformLocation(location),view)};var _emscripten_glUniform1fv=_glUniform1fv;var _glUniform1i=(location,v0)=>{GLctx.uniform1i(webglGetUniformLocation(location),v0)};var _emscripten_glUniform1i=_glUniform1i;var miniTempWebGLIntBuffers=[];var _glUniform1iv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform1iv(webglGetUniformLocation(location),HEAP32,value>>2,count);return}if(count<=288){var view=miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(webglGetUniformLocation(location),view)};var _emscripten_glUniform1iv=_glUniform1iv;var _glUniform1ui=(location,v0)=>{GLctx.uniform1ui(webglGetUniformLocation(location),v0)};var _emscripten_glUniform1ui=_glUniform1ui;var _glUniform1uiv=(location,count,value)=>{count&&GLctx.uniform1uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count)};var _emscripten_glUniform1uiv=_glUniform1uiv;var _glUniform2f=(location,v0,v1)=>{GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)};var _emscripten_glUniform2f=_glUniform2f;var _glUniform2fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform2fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*2);return}if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(webglGetUniformLocation(location),view)};var _emscripten_glUniform2fv=_glUniform2fv;var _glUniform2i=(location,v0,v1)=>{GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)};var _emscripten_glUniform2i=_glUniform2i;var _glUniform2iv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform2iv(webglGetUniformLocation(location),HEAP32,value>>2,count*2);return}if(count<=144){var view=miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(webglGetUniformLocation(location),view)};var _emscripten_glUniform2iv=_glUniform2iv;var _glUniform2ui=(location,v0,v1)=>{GLctx.uniform2ui(webglGetUniformLocation(location),v0,v1)};var _emscripten_glUniform2ui=_glUniform2ui;var _glUniform2uiv=(location,count,value)=>{count&&GLctx.uniform2uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*2)};var _emscripten_glUniform2uiv=_glUniform2uiv;var _glUniform3f=(location,v0,v1,v2)=>{GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)};var _emscripten_glUniform3f=_glUniform3f;var _glUniform3fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform3fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*3);return}if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(webglGetUniformLocation(location),view)};var _emscripten_glUniform3fv=_glUniform3fv;var _glUniform3i=(location,v0,v1,v2)=>{GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)};var _emscripten_glUniform3i=_glUniform3i;var _glUniform3iv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform3iv(webglGetUniformLocation(location),HEAP32,value>>2,count*3);return}if(count<=96){var view=miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(webglGetUniformLocation(location),view)};var _emscripten_glUniform3iv=_glUniform3iv;var _glUniform3ui=(location,v0,v1,v2)=>{GLctx.uniform3ui(webglGetUniformLocation(location),v0,v1,v2)};var _emscripten_glUniform3ui=_glUniform3ui;var _glUniform3uiv=(location,count,value)=>{count&&GLctx.uniform3uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*3)};var _emscripten_glUniform3uiv=_glUniform3uiv;var _glUniform4f=(location,v0,v1,v2,v3)=>{GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)};var _emscripten_glUniform4f=_glUniform4f;var _glUniform4fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform4fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*4);return}if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value=value>>2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(webglGetUniformLocation(location),view)};var _emscripten_glUniform4fv=_glUniform4fv;var _glUniform4i=(location,v0,v1,v2,v3)=>{GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)};var _emscripten_glUniform4i=_glUniform4i;var _glUniform4iv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform4iv(webglGetUniformLocation(location),HEAP32,value>>2,count*4);return}if(count<=72){var view=miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(webglGetUniformLocation(location),view)};var _emscripten_glUniform4iv=_glUniform4iv;var _glUniform4ui=(location,v0,v1,v2,v3)=>{GLctx.uniform4ui(webglGetUniformLocation(location),v0,v1,v2,v3)};var _emscripten_glUniform4ui=_glUniform4ui;var _glUniform4uiv=(location,count,value)=>{count&&GLctx.uniform4uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*4)};var _emscripten_glUniform4uiv=_glUniform4uiv;var _glUniformBlockBinding=(program,uniformBlockIndex,uniformBlockBinding)=>{program=GL.programs[program];GLctx.uniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding)};var _emscripten_glUniformBlockBinding=_glUniformBlockBinding;var _glUniformMatrix2fv=(location,count,transpose,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*4);return}if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,view)};var _emscripten_glUniformMatrix2fv=_glUniformMatrix2fv;var _glUniformMatrix2x3fv=(location,count,transpose,value)=>{count&&GLctx.uniformMatrix2x3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*6)};var _emscripten_glUniformMatrix2x3fv=_glUniformMatrix2x3fv;var _glUniformMatrix2x4fv=(location,count,transpose,value)=>{count&&GLctx.uniformMatrix2x4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*8)};var _emscripten_glUniformMatrix2x4fv=_glUniformMatrix2x4fv;var _glUniformMatrix3fv=(location,count,transpose,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*9);return}if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)};var _emscripten_glUniformMatrix3fv=_glUniformMatrix3fv;var _glUniformMatrix3x2fv=(location,count,transpose,value)=>{count&&GLctx.uniformMatrix3x2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*6)};var _emscripten_glUniformMatrix3x2fv=_glUniformMatrix3x2fv;var _glUniformMatrix3x4fv=(location,count,transpose,value)=>{count&&GLctx.uniformMatrix3x4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*12)};var _emscripten_glUniformMatrix3x4fv=_glUniformMatrix3x4fv;var _glUniformMatrix4fv=(location,count,transpose,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*16);return}if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value=value>>2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)};var _emscripten_glUniformMatrix4fv=_glUniformMatrix4fv;var _glUniformMatrix4x2fv=(location,count,transpose,value)=>{count&&GLctx.uniformMatrix4x2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*8)};var _emscripten_glUniformMatrix4x2fv=_glUniformMatrix4x2fv;var _glUniformMatrix4x3fv=(location,count,transpose,value)=>{count&&GLctx.uniformMatrix4x3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*12)};var _emscripten_glUniformMatrix4x3fv=_glUniformMatrix4x3fv;var _glUseProgram=program=>{program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program};var _emscripten_glUseProgram=_glUseProgram;var _glValidateProgram=program=>{GLctx.validateProgram(GL.programs[program])};var _emscripten_glValidateProgram=_glValidateProgram;var _glVertexAttrib1f=(x0,x1)=>GLctx.vertexAttrib1f(x0,x1);var _emscripten_glVertexAttrib1f=_glVertexAttrib1f;var _glVertexAttrib1fv=(index,v)=>{GLctx.vertexAttrib1f(index,HEAPF32[v>>2])};var _emscripten_glVertexAttrib1fv=_glVertexAttrib1fv;var _glVertexAttrib2f=(x0,x1,x2)=>GLctx.vertexAttrib2f(x0,x1,x2);var _emscripten_glVertexAttrib2f=_glVertexAttrib2f;var _glVertexAttrib2fv=(index,v)=>{GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])};var _emscripten_glVertexAttrib2fv=_glVertexAttrib2fv;var _glVertexAttrib3f=(x0,x1,x2,x3)=>GLctx.vertexAttrib3f(x0,x1,x2,x3);var _emscripten_glVertexAttrib3f=_glVertexAttrib3f;var _glVertexAttrib3fv=(index,v)=>{GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])};var _emscripten_glVertexAttrib3fv=_glVertexAttrib3fv;var _glVertexAttrib4f=(x0,x1,x2,x3,x4)=>GLctx.vertexAttrib4f(x0,x1,x2,x3,x4);var _emscripten_glVertexAttrib4f=_glVertexAttrib4f;var _glVertexAttrib4fv=(index,v)=>{GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])};var _emscripten_glVertexAttrib4fv=_glVertexAttrib4fv;var _glVertexAttribDivisor=(index,divisor)=>{GLctx.vertexAttribDivisor(index,divisor)};var _emscripten_glVertexAttribDivisor=_glVertexAttribDivisor;var _glVertexAttribDivisorANGLE=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorANGLE=_glVertexAttribDivisorANGLE;var _glVertexAttribDivisorARB=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorARB=_glVertexAttribDivisorARB;var _glVertexAttribDivisorEXT=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorEXT=_glVertexAttribDivisorEXT;var _glVertexAttribDivisorNV=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorNV=_glVertexAttribDivisorNV;var _glVertexAttribI4i=(x0,x1,x2,x3,x4)=>GLctx.vertexAttribI4i(x0,x1,x2,x3,x4);var _emscripten_glVertexAttribI4i=_glVertexAttribI4i;var _glVertexAttribI4iv=(index,v)=>{GLctx.vertexAttribI4i(index,HEAP32[v>>2],HEAP32[v+4>>2],HEAP32[v+8>>2],HEAP32[v+12>>2])};var _emscripten_glVertexAttribI4iv=_glVertexAttribI4iv;var _glVertexAttribI4ui=(x0,x1,x2,x3,x4)=>GLctx.vertexAttribI4ui(x0,x1,x2,x3,x4);var _emscripten_glVertexAttribI4ui=_glVertexAttribI4ui;var _glVertexAttribI4uiv=(index,v)=>{GLctx.vertexAttribI4ui(index,HEAPU32[v>>2],HEAPU32[v+4>>2],HEAPU32[v+8>>2],HEAPU32[v+12>>2])};var _emscripten_glVertexAttribI4uiv=_glVertexAttribI4uiv;var _glVertexAttribIPointer=(index,size,type,stride,ptr)=>{GLctx.vertexAttribIPointer(index,size,type,stride,ptr)};var _emscripten_glVertexAttribIPointer=_glVertexAttribIPointer;var _glVertexAttribPointer=(index,size,type,normalized,stride,ptr)=>{GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)};var _emscripten_glVertexAttribPointer=_glVertexAttribPointer;var _glViewport=(x0,x1,x2,x3)=>GLctx.viewport(x0,x1,x2,x3);var _emscripten_glViewport=_glViewport;var _glWaitSync=(sync,flags,timeout_low,timeout_high)=>{var timeout=convertI32PairToI53(timeout_low,timeout_high);GLctx.waitSync(GL.syncs[sync],flags,timeout)};var _emscripten_glWaitSync=_glWaitSync;var _emscripten_has_asyncify=()=>0;var _emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var doRequestFullscreen=(target,strategy)=>{if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.webkitRequestFullscreen){return-3}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents_requestFullscreen,1,[target,strategy]);return 1}return-2}return JSEvents_requestFullscreen(target,strategy)};var _emscripten_request_fullscreen_strategy=(target,deferUntilInEventHandler,fullscreenStrategy)=>{var strategy={scaleMode:HEAP32[fullscreenStrategy>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>2],filteringMode:HEAP32[fullscreenStrategy+8>>2],deferUntilInEventHandler:deferUntilInEventHandler,canvasResizedCallback:HEAP32[fullscreenStrategy+12>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>2]};return doRequestFullscreen(target,strategy)};var _emscripten_request_pointerlock=(target,deferUntilInEventHandler)=>{target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(requestPointerLock,2,[target]);return 1}return-2}return requestPointerLock(target)};var abortOnCannotGrowMemory=requestedSize=>{abort("OOM")};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;abortOnCannotGrowMemory(requestedSize)};var _emscripten_sample_gamepad_data=()=>{try{if(navigator.getGamepads)return(JSEvents.lastGamepadState=navigator.getGamepads())?0:-1}catch(e){navigator.getGamepads=null}return-1};var registerBeforeUnloadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString)=>{var beforeUnloadEventHandlerFunc=(e=event)=>{var confirmationMessage=getWasmTableEntry(callbackfunc)(eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=UTF8ToString(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:beforeUnloadEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_beforeunload_callback_on_thread=(userData,callbackfunc,targetThread)=>{if(typeof onbeforeunload=="undefined")return-1;if(targetThread!==1)return-5;return registerBeforeUnloadEventCallback(2,userData,true,callbackfunc,28,"beforeunload")};var registerFocusEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.focusEvent)JSEvents.focusEvent=_malloc(256);var focusEventHandlerFunc=(e=event)=>{var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(getWasmTableEntry(callbackfunc)(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_blur_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread);var _emscripten_set_element_css_size=(target,width,height)=>{target=findEventTarget(target);if(!target)return-4;target.style.width=width+"px";target.style.height=height+"px";return 0};var _emscripten_set_focus_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread);var fillFullscreenChangeEventData=eventStruct=>{var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement?.id||"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}};var registerFullscreenChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=(e=event)=>{var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_fullscreenchange_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread)};var registerGamepadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=(e=event)=>{var gamepadEvent=JSEvents.gamepadEvent;fillGamepadEventData(gamepadEvent,e["gamepad"]);if(getWasmTableEntry(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_gamepadconnected_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(_emscripten_sample_gamepad_data())return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread)};var _emscripten_set_gamepaddisconnected_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(_emscripten_sample_gamepad_data())return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread)};var registerKeyEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(176);var keyEventHandlerFunc=e=>{var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;HEAP32[idx+7]=e.repeat;HEAP32[idx+8]=e.charCode;HEAP32[idx+9]=e.keyCode;HEAP32[idx+10]=e.which;stringToUTF8(e.key||"",keyEventData+44,32);stringToUTF8(e.code||"",keyEventData+76,32);stringToUTF8(e.char||"",keyEventData+108,32);stringToUTF8(e.locale||"",keyEventData+140,32);if(getWasmTableEntry(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_keydown_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);var _emscripten_set_keypress_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);var _emscripten_set_keyup_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread);var _emscripten_set_main_loop=(func,fps,simulateInfiniteLoop)=>{var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)};var fillMouseEventData=(eventStruct,e,target)=>{HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP32[idx+6]=e.ctrlKey;HEAP32[idx+7]=e.shiftKey;HEAP32[idx+8]=e.altKey;HEAP32[idx+9]=e.metaKey;HEAP16[idx*2+20]=e.button;HEAP16[idx*2+21]=e.buttons;HEAP32[idx+11]=e["movementX"];HEAP32[idx+12]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+13]=e.clientX-(rect.left|0);HEAP32[idx+14]=e.clientY-(rect.top|0)};var registerMouseEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=findEventTarget(target);var mouseEventHandlerFunc=(e=event)=>{fillMouseEventData(JSEvents.mouseEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_mousedown_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread);var _emscripten_set_mouseenter_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter",targetThread);var _emscripten_set_mouseleave_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave",targetThread);var _emscripten_set_mousemove_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread);var _emscripten_set_mouseup_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread);var fillPointerlockChangeEventData=eventStruct=>{var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement?.id||"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)};var registerPointerlockChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.pointerlockChangeEvent)JSEvents.pointerlockChangeEvent=_malloc(260);var pointerlockChangeEventHandlerFunc=(e=event)=>{var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(pointerlockChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_pointerlockchange_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange",targetThread);return registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange",targetThread)};var registerUiEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.uiEvent)JSEvents.uiEvent=_malloc(36);target=findEventTarget(target);var uiEventHandlerFunc=(e=event)=>{if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>2]=0;HEAP32[uiEvent+4>>2]=b.clientWidth;HEAP32[uiEvent+8>>2]=b.clientHeight;HEAP32[uiEvent+12>>2]=innerWidth;HEAP32[uiEvent+16>>2]=innerHeight;HEAP32[uiEvent+20>>2]=outerWidth;HEAP32[uiEvent+24>>2]=outerHeight;HEAP32[uiEvent+28>>2]=pageXOffset|0;HEAP32[uiEvent+32>>2]=pageYOffset|0;if(getWasmTableEntry(callbackfunc)(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_resize_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread);var registerTouchEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1696);target=findEventTarget(target);var touchEventHandlerFunc=e=>{var t,touches={},et=e.touches;for(var i=0;i>3]=e.timeStamp;var idx=touchEvent>>2;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;idx+=7;var targetRect=getBoundingClientRect(target);var numTouches=0;for(var i in touches){t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-(targetRect.left|0);HEAP32[idx+10]=t.clientY-(targetRect.top|0);idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent+8>>2]=numTouches;if(getWasmTableEntry(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_touchcancel_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);var _emscripten_set_touchend_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);var _emscripten_set_touchmove_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);var _emscripten_set_touchstart_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);var fillVisibilityChangeEventData=eventStruct=>{var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP32[eventStruct>>2]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState};var registerVisibilityChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.visibilityChangeEvent)JSEvents.visibilityChangeEvent=_malloc(8);var visibilityChangeEventHandlerFunc=(e=event)=>{var visibilityChangeEvent=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(visibilityChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_visibilitychange_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(!specialHTMLTargets[1]){return-4}return registerVisibilityChangeEventCallback(specialHTMLTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread)};var registerWheelEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.wheelEvent)JSEvents.wheelEvent=_malloc(104);var wheelHandlerFunc=(e=event)=>{var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+72>>3]=e["deltaX"];HEAPF64[wheelEvent+80>>3]=e["deltaY"];HEAPF64[wheelEvent+88>>3]=e["deltaZ"];HEAP32[wheelEvent+96>>2]=e["deltaMode"];if(getWasmTableEntry(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:wheelHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_wheel_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{target=findEventTarget(target);if(!target)return-4;if(typeof target.onwheel!="undefined"){return registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread)}else{return-1}};var _emscripten_set_window_title=title=>document.title=UTF8ToString(title);var _emscripten_sleep=()=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_sleep"};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var arraySum=(array,index)=>{var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum};var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];var addDays=(date,days)=>{var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var _strftime=(s,maxsize,format,tm)=>{var tm_zone=HEAPU32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":date=>WEEKDAYS[date.tm_wday].substring(0,3),"%A":date=>WEEKDAYS[date.tm_wday],"%b":date=>MONTHS[date.tm_mon].substring(0,3),"%B":date=>MONTHS[date.tm_mon],"%C":date=>{var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":date=>leadingNulls(date.tm_mday,2),"%e":date=>leadingSomething(date.tm_mday,2," "),"%g":date=>getWeekBasedYear(date).toString().substring(2),"%G":getWeekBasedYear,"%H":date=>leadingNulls(date.tm_hour,2),"%I":date=>{var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":date=>leadingNulls(date.tm_mday+arraySum(isLeapYear(date.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,date.tm_mon-1),3),"%m":date=>leadingNulls(date.tm_mon+1,2),"%M":date=>leadingNulls(date.tm_min,2),"%n":()=>"\n","%p":date=>{if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":date=>leadingNulls(date.tm_sec,2),"%t":()=>"\t","%u":date=>date.tm_wday||7,"%U":date=>{var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":date=>{var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":date=>date.tm_wday,"%W":date=>{var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":date=>(date.tm_year+1900).toString().substring(2),"%Y":date=>date.tm_year+1900,"%z":date=>{var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":date=>date.tm_zone,"%%":()=>"%"};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1};var _strftime_l=(s,maxsize,format,tm,loc)=>_strftime(s,maxsize,format,tm);var listenOnce=(object,event,func)=>{object.addEventListener(event,func,{"once":true})};var autoResumeAudioContext=(ctx,elements)=>{if(!elements){elements=[document,document.getElementById("canvas")]}["keydown","mousedown","touchstart"].forEach(event=>{elements.forEach(element=>{if(element){listenOnce(element,event,()=>{if(ctx.state==="suspended")ctx.resume()})}})})};var dynCallLegacy=(sig,ptr,args)=>{var f=Module["dynCall_"+sig];return f(ptr,...args)};var dynCall=(sig,ptr,args=[])=>{if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr)(...args);return rtn};FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_unlink"]=FS.unlink;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["requestFullscreen"]=Browser.requestFullscreen;Module["requestAnimationFrame"]=Browser.requestAnimationFrame;Module["setCanvasSize"]=Browser.setCanvasSize;Module["pauseMainLoop"]=Browser.mainLoop.pause;Module["resumeMainLoop"]=Browser.mainLoop.resume;Module["getUserMedia"]=Browser.getUserMedia;Module["createContext"]=Browser.createContext;var preloadedImages={};var preloadedAudios={};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){miniTempWebGLIntBuffers[i]=miniTempWebGLIntBuffersStorage.subarray(0,i+1)}var wasmImports={q:___cxa_begin_catch,u:___cxa_end_catch,a:___cxa_find_matching_catch_2,h:___cxa_find_matching_catch_3,G:___cxa_rethrow,n:___cxa_throw,bb:___cxa_uncaught_exceptions,b:___resumeException,ha:___syscall_fcntl64,hb:___syscall_ioctl,ib:___syscall_openat,Ed:__emscripten_fs_load_embedded_files,jb:__emscripten_get_now_is_monotonic,C:_abort,Xa:_eglBindAPI,gb:_eglChooseConfig,Oa:_eglCreateContext,Qa:_eglCreateWindowSurface,Pa:_eglDestroyContext,Ra:_eglDestroySurface,ob:_eglGetConfigAttrib,ba:_eglGetDisplay,Na:_eglGetError,Ya:_eglInitialize,Sa:_eglMakeCurrent,Ma:_eglQueryString,Ta:_eglSwapBuffers,Ua:_eglSwapInterval,ab:_eglTerminate,Wa:_eglWaitGL,Va:_eglWaitNative,Qc:_emscripten_asm_const_int,p:_emscripten_asm_const_int_sync_on_main_thread,na:_emscripten_asm_const_ptr_sync_on_main_thread,oa:_emscripten_cancel_main_loop,ia:_emscripten_date_now,Ha:_emscripten_exit_fullscreen,Ka:_emscripten_exit_pointerlock,td:_emscripten_force_exit,x:_emscripten_get_device_pixel_ratio,t:_emscripten_get_element_css_size,la:_emscripten_get_gamepad_status,D:_emscripten_get_now,vc:_emscripten_get_num_gamepads,La:_emscripten_get_screen_size,$f:_emscripten_glActiveTexture,_f:_emscripten_glAttachShader,bd:_emscripten_glBeginQuery,Da:_emscripten_glBeginQueryEXT,Jc:_emscripten_glBeginTransformFeedback,Zf:_emscripten_glBindAttribLocation,Yf:_emscripten_glBindBuffer,Gc:_emscripten_glBindBufferBase,Hc:_emscripten_glBindBufferRange,Xf:_emscripten_glBindFramebuffer,Wf:_emscripten_glBindRenderbuffer,Nb:_emscripten_glBindSampler,Vf:_emscripten_glBindTexture,Fb:_emscripten_glBindTransformFeedback,Oc:_emscripten_glBindVertexArray,va:_emscripten_glBindVertexArrayOES,Uf:_emscripten_glBlendColor,Tf:_emscripten_glBlendEquation,Sf:_emscripten_glBlendEquationSeparate,Rf:_emscripten_glBlendFunc,Qf:_emscripten_glBlendFuncSeparate,Sc:_emscripten_glBlitFramebuffer,Pf:_emscripten_glBufferData,Of:_emscripten_glBufferSubData,Nf:_emscripten_glCheckFramebufferStatus,Mf:_emscripten_glClear,ic:_emscripten_glClearBufferfi,jc:_emscripten_glClearBufferfv,lc:_emscripten_glClearBufferiv,kc:_emscripten_glClearBufferuiv,Lf:_emscripten_glClearColor,Kf:_emscripten_glClearDepthf,Jf:_emscripten_glClearStencil,Wb:_emscripten_glClientWaitSync,If:_emscripten_glColorMask,Hf:_emscripten_glCompileShader,Gf:_emscripten_glCompressedTexImage2D,gd:_emscripten_glCompressedTexImage3D,Ff:_emscripten_glCompressedTexSubImage2D,fd:_emscripten_glCompressedTexSubImage3D,gc:_emscripten_glCopyBufferSubData,Ef:_emscripten_glCopyTexImage2D,Df:_emscripten_glCopyTexSubImage2D,hd:_emscripten_glCopyTexSubImage3D,Cf:_emscripten_glCreateProgram,Bf:_emscripten_glCreateShader,Af:_emscripten_glCullFace,zf:_emscripten_glDeleteBuffers,yf:_emscripten_glDeleteFramebuffers,xf:_emscripten_glDeleteProgram,dd:_emscripten_glDeleteQueries,Fa:_emscripten_glDeleteQueriesEXT,wf:_emscripten_glDeleteRenderbuffers,Pb:_emscripten_glDeleteSamplers,vf:_emscripten_glDeleteShader,Xb:_emscripten_glDeleteSync,uf:_emscripten_glDeleteTextures,Eb:_emscripten_glDeleteTransformFeedbacks,Nc:_emscripten_glDeleteVertexArrays,ua:_emscripten_glDeleteVertexArraysOES,tf:_emscripten_glDepthFunc,sf:_emscripten_glDepthMask,rf:_emscripten_glDepthRangef,qf:_emscripten_glDetachShader,pf:_emscripten_glDisable,of:_emscripten_glDisableVertexAttribArray,nf:_emscripten_glDrawArrays,$b:_emscripten_glDrawArraysInstanced,qa:_emscripten_glDrawArraysInstancedANGLE,nb:_emscripten_glDrawArraysInstancedARB,od:_emscripten_glDrawArraysInstancedEXT,pb:_emscripten_glDrawArraysInstancedNV,Zc:_emscripten_glDrawBuffers,md:_emscripten_glDrawBuffersEXT,ra:_emscripten_glDrawBuffersWEBGL,mf:_emscripten_glDrawElements,_b:_emscripten_glDrawElementsInstanced,pa:_emscripten_glDrawElementsInstancedANGLE,lb:_emscripten_glDrawElementsInstancedARB,mb:_emscripten_glDrawElementsInstancedEXT,nd:_emscripten_glDrawElementsInstancedNV,kd:_emscripten_glDrawRangeElements,lf:_emscripten_glEnable,kf:_emscripten_glEnableVertexAttribArray,ad:_emscripten_glEndQuery,Ca:_emscripten_glEndQueryEXT,Ic:_emscripten_glEndTransformFeedback,Zb:_emscripten_glFenceSync,jf:_emscripten_glFinish,hf:_emscripten_glFlush,gf:_emscripten_glFramebufferRenderbuffer,ff:_emscripten_glFramebufferTexture2D,Pc:_emscripten_glFramebufferTextureLayer,ef:_emscripten_glFrontFace,df:_emscripten_glGenBuffers,bf:_emscripten_glGenFramebuffers,ed:_emscripten_glGenQueries,Ga:_emscripten_glGenQueriesEXT,af:_emscripten_glGenRenderbuffers,Qb:_emscripten_glGenSamplers,$e:_emscripten_glGenTextures,Db:_emscripten_glGenTransformFeedbacks,Mc:_emscripten_glGenVertexArrays,ta:_emscripten_glGenVertexArraysOES,cf:_emscripten_glGenerateMipmap,_e:_emscripten_glGetActiveAttrib,Ze:_emscripten_glGetActiveUniform,bc:_emscripten_glGetActiveUniformBlockName,cc:_emscripten_glGetActiveUniformBlockiv,ec:_emscripten_glGetActiveUniformsiv,Ye:_emscripten_glGetAttachedShaders,Xe:_emscripten_glGetAttribLocation,We:_emscripten_glGetBooleanv,Rb:_emscripten_glGetBufferParameteri64v,Ve:_emscripten_glGetBufferParameteriv,Ue:_emscripten_glGetError,Te:_emscripten_glGetFloatv,uc:_emscripten_glGetFragDataLocation,Se:_emscripten_glGetFramebufferAttachmentParameteriv,Sb:_emscripten_glGetInteger64i_v,Ub:_emscripten_glGetInteger64v,Kc:_emscripten_glGetIntegeri_v,Re:_emscripten_glGetIntegerv,sb:_emscripten_glGetInternalformativ,zb:_emscripten_glGetProgramBinary,Pe:_emscripten_glGetProgramInfoLog,Qe:_emscripten_glGetProgramiv,xa:_emscripten_glGetQueryObjecti64vEXT,za:_emscripten_glGetQueryObjectivEXT,wa:_emscripten_glGetQueryObjectui64vEXT,_c:_emscripten_glGetQueryObjectuiv,ya:_emscripten_glGetQueryObjectuivEXT,$c:_emscripten_glGetQueryiv,Aa:_emscripten_glGetQueryivEXT,Oe:_emscripten_glGetRenderbufferParameteriv,Hb:_emscripten_glGetSamplerParameterfv,Ib:_emscripten_glGetSamplerParameteriv,Me:_emscripten_glGetShaderInfoLog,Ke:_emscripten_glGetShaderPrecisionFormat,Je:_emscripten_glGetShaderSource,Ne:_emscripten_glGetShaderiv,Ie:_emscripten_glGetString,hc:_emscripten_glGetStringi,Tb:_emscripten_glGetSynciv,He:_emscripten_glGetTexParameterfv,Ge:_emscripten_glGetTexParameteriv,Ec:_emscripten_glGetTransformFeedbackVarying,dc:_emscripten_glGetUniformBlockIndex,fc:_emscripten_glGetUniformIndices,De:_emscripten_glGetUniformLocation,Fe:_emscripten_glGetUniformfv,Ee:_emscripten_glGetUniformiv,wc:_emscripten_glGetUniformuiv,Cc:_emscripten_glGetVertexAttribIiv,Bc:_emscripten_glGetVertexAttribIuiv,Ae:_emscripten_glGetVertexAttribPointerv,Ce:_emscripten_glGetVertexAttribfv,Be:_emscripten_glGetVertexAttribiv,ze:_emscripten_glHint,wb:_emscripten_glInvalidateFramebuffer,vb:_emscripten_glInvalidateSubFramebuffer,ye:_emscripten_glIsBuffer,xe:_emscripten_glIsEnabled,we:_emscripten_glIsFramebuffer,ve:_emscripten_glIsProgram,cd:_emscripten_glIsQuery,Ea:_emscripten_glIsQueryEXT,ue:_emscripten_glIsRenderbuffer,Ob:_emscripten_glIsSampler,te:_emscripten_glIsShader,Yb:_emscripten_glIsSync,se:_emscripten_glIsTexture,Cb:_emscripten_glIsTransformFeedback,Lc:_emscripten_glIsVertexArray,sa:_emscripten_glIsVertexArrayOES,re:_emscripten_glLineWidth,qe:_emscripten_glLinkProgram,Bb:_emscripten_glPauseTransformFeedback,pe:_emscripten_glPixelStorei,oe:_emscripten_glPolygonOffset,yb:_emscripten_glProgramBinary,xb:_emscripten_glProgramParameteri,Ba:_emscripten_glQueryCounterEXT,ld:_emscripten_glReadBuffer,ne:_emscripten_glReadPixels,me:_emscripten_glReleaseShaderCompiler,le:_emscripten_glRenderbufferStorage,Rc:_emscripten_glRenderbufferStorageMultisample,Ab:_emscripten_glResumeTransformFeedback,ke:_emscripten_glSampleCoverage,Kb:_emscripten_glSamplerParameterf,Jb:_emscripten_glSamplerParameterfv,Mb:_emscripten_glSamplerParameteri,Lb:_emscripten_glSamplerParameteriv,je:_emscripten_glScissor,ie:_emscripten_glShaderBinary,he:_emscripten_glShaderSource,ge:_emscripten_glStencilFunc,fe:_emscripten_glStencilFuncSeparate,ee:_emscripten_glStencilMask,de:_emscripten_glStencilMaskSeparate,ce:_emscripten_glStencilOp,be:_emscripten_glStencilOpSeparate,ae:_emscripten_glTexImage2D,jd:_emscripten_glTexImage3D,$d:_emscripten_glTexParameterf,_d:_emscripten_glTexParameterfv,Zd:_emscripten_glTexParameteri,Yd:_emscripten_glTexParameteriv,ub:_emscripten_glTexStorage2D,tb:_emscripten_glTexStorage3D,Xd:_emscripten_glTexSubImage2D,id:_emscripten_glTexSubImage3D,Fc:_emscripten_glTransformFeedbackVaryings,Wd:_emscripten_glUniform1f,Vd:_emscripten_glUniform1fv,Ud:_emscripten_glUniform1i,Td:_emscripten_glUniform1iv,tc:_emscripten_glUniform1ui,pc:_emscripten_glUniform1uiv,Sd:_emscripten_glUniform2f,Rd:_emscripten_glUniform2fv,Qd:_emscripten_glUniform2i,Pd:_emscripten_glUniform2iv,sc:_emscripten_glUniform2ui,oc:_emscripten_glUniform2uiv,Od:_emscripten_glUniform3f,Nd:_emscripten_glUniform3fv,Md:_emscripten_glUniform3i,Ld:_emscripten_glUniform3iv,rc:_emscripten_glUniform3ui,nc:_emscripten_glUniform3uiv,Kd:_emscripten_glUniform4f,Jd:_emscripten_glUniform4fv,Id:_emscripten_glUniform4i,Hd:_emscripten_glUniform4iv,qc:_emscripten_glUniform4ui,mc:_emscripten_glUniform4uiv,ac:_emscripten_glUniformBlockBinding,Gd:_emscripten_glUniformMatrix2fv,Yc:_emscripten_glUniformMatrix2x3fv,Wc:_emscripten_glUniformMatrix2x4fv,Fd:_emscripten_glUniformMatrix3fv,Xc:_emscripten_glUniformMatrix3x2fv,Uc:_emscripten_glUniformMatrix3x4fv,Dd:_emscripten_glUniformMatrix4fv,Vc:_emscripten_glUniformMatrix4x2fv,Tc:_emscripten_glUniformMatrix4x3fv,Cd:_emscripten_glUseProgram,Bd:_emscripten_glValidateProgram,Ad:_emscripten_glVertexAttrib1f,zd:_emscripten_glVertexAttrib1fv,yd:_emscripten_glVertexAttrib2f,xd:_emscripten_glVertexAttrib2fv,wd:_emscripten_glVertexAttrib3f,vd:_emscripten_glVertexAttrib3fv,ud:_emscripten_glVertexAttrib4f,sd:_emscripten_glVertexAttrib4fv,Gb:_emscripten_glVertexAttribDivisor,ag:_emscripten_glVertexAttribDivisorANGLE,qb:_emscripten_glVertexAttribDivisorARB,pd:_emscripten_glVertexAttribDivisorEXT,rb:_emscripten_glVertexAttribDivisorNV,Ac:_emscripten_glVertexAttribI4i,yc:_emscripten_glVertexAttribI4iv,zc:_emscripten_glVertexAttribI4ui,xc:_emscripten_glVertexAttribI4uiv,Dc:_emscripten_glVertexAttribIPointer,rd:_emscripten_glVertexAttribPointer,qd:_emscripten_glViewport,Vb:_emscripten_glWaitSync,F:_emscripten_has_asyncify,kb:_emscripten_memcpy_js,Ia:_emscripten_request_fullscreen_strategy,aa:_emscripten_request_pointerlock,cb:_emscripten_resize_heap,ma:_emscripten_sample_gamepad_data,I:_emscripten_set_beforeunload_callback_on_thread,U:_emscripten_set_blur_callback_on_thread,w:_emscripten_set_canvas_element_size,B:_emscripten_set_element_css_size,V:_emscripten_set_focus_callback_on_thread,L:_emscripten_set_fullscreenchange_callback_on_thread,ka:_emscripten_set_gamepadconnected_callback_on_thread,ja:_emscripten_set_gamepaddisconnected_callback_on_thread,O:_emscripten_set_keydown_callback_on_thread,M:_emscripten_set_keypress_callback_on_thread,N:_emscripten_set_keyup_callback_on_thread,Le:_emscripten_set_main_loop,_:_emscripten_set_mousedown_callback_on_thread,Y:_emscripten_set_mouseenter_callback_on_thread,X:_emscripten_set_mouseleave_callback_on_thread,$:_emscripten_set_mousemove_callback_on_thread,Z:_emscripten_set_mouseup_callback_on_thread,P:_emscripten_set_pointerlockchange_callback_on_thread,K:_emscripten_set_resize_callback_on_thread,Q:_emscripten_set_touchcancel_callback_on_thread,S:_emscripten_set_touchend_callback_on_thread,R:_emscripten_set_touchmove_callback_on_thread,T:_emscripten_set_touchstart_callback_on_thread,J:_emscripten_set_visibilitychange_callback_on_thread,W:_emscripten_set_wheel_callback_on_thread,Ja:_emscripten_set_window_title,E:_emscripten_sleep,db:_environ_get,eb:_environ_sizes_get,fa:_fd_close,fb:_fd_read,_a:_fd_seek,ga:_fd_write,ca:invoke_diii,da:invoke_fiii,g:invoke_i,c:invoke_ii,e:invoke_iii,i:invoke_iiii,l:invoke_iiiii,o:invoke_iiiiii,s:invoke_iiiiiii,ea:invoke_iiiiiiii,A:invoke_iiiiiiiiiiii,Za:invoke_jiiii,j:invoke_v,k:invoke_vi,d:invoke_vii,f:invoke_viii,m:invoke_viiii,y:invoke_viiiii,H:invoke_viiiiii,r:invoke_viiiiiii,v:invoke_viiiiiiiiii,z:invoke_viiiiiiiiiiiiiii,$a:_strftime_l};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["cg"])();var ___cxa_free_exception=a0=>(___cxa_free_exception=wasmExports["__cxa_free_exception"])(a0);var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["eg"])(a0,a1);var _malloc=a0=>(_malloc=wasmExports["fg"])(a0);var _setThrew=(a0,a1)=>(_setThrew=wasmExports["gg"])(a0,a1);var setTempRet0=a0=>(setTempRet0=wasmExports["hg"])(a0);var stackSave=()=>(stackSave=wasmExports["ig"])();var stackRestore=a0=>(stackRestore=wasmExports["jg"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["kg"])(a0);var ___cxa_decrement_exception_refcount=a0=>(___cxa_decrement_exception_refcount=wasmExports["lg"])(a0);var ___cxa_increment_exception_refcount=a0=>(___cxa_increment_exception_refcount=wasmExports["mg"])(a0);var ___cxa_can_catch=(a0,a1,a2)=>(___cxa_can_catch=wasmExports["ng"])(a0,a1,a2);var ___cxa_is_pointer_type=a0=>(___cxa_is_pointer_type=wasmExports["og"])(a0);var dynCall_jiji=Module["dynCall_jiji"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["pg"])(a0,a1,a2,a3,a4);var dynCall_ji=Module["dynCall_ji"]=(a0,a1)=>(dynCall_ji=Module["dynCall_ji"]=wasmExports["qg"])(a0,a1);var dynCall_viijii=Module["dynCall_viijii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_viijii=Module["dynCall_viijii"]=wasmExports["rg"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_jiiii=Module["dynCall_jiiii"]=(a0,a1,a2,a3,a4)=>(dynCall_jiiii=Module["dynCall_jiiii"]=wasmExports["sg"])(a0,a1,a2,a3,a4);var dynCall_iiiiij=Module["dynCall_iiiiij"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiiiij=Module["dynCall_iiiiij"]=wasmExports["tg"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=wasmExports["ug"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=wasmExports["vg"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var ___emscripten_embedded_file_data=Module["___emscripten_embedded_file_data"]=400924;function invoke_ii(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_fiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_unlink"]=FS.unlink;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args=[]){var entryFunction=_main;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args=arguments_){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run(); +var Module=typeof Module!="undefined"?Module:{};var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");var wasmBinaryFile;wasmBinaryFile="eulamadness.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw`failed to load wasm binary file at '${binaryFile}'`}return response["arrayBuffer"]()}).catch(()=>getBinarySync(binaryFile))}else if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["eg"];updateMemoryViews();wasmTable=wasmExports["gg"];addOnInit(wasmExports["fg"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);return false}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;var ASM_CONSTS={483232:$0=>{var str=UTF8ToString($0)+"\n\n"+"Abort/Retry/Ignore/AlwaysIgnore? [ariA] :";var reply=window.prompt(str,"i");if(reply===null){reply="i"}return allocate(intArrayFromString(reply),"i8",ALLOC_NORMAL)},483457:()=>{if(typeof AudioContext!=="undefined"){return true}else if(typeof webkitAudioContext!=="undefined"){return true}return false},483604:()=>{if(typeof navigator.mediaDevices!=="undefined"&&typeof navigator.mediaDevices.getUserMedia!=="undefined"){return true}else if(typeof navigator.webkitGetUserMedia!=="undefined"){return true}return false},483838:$0=>{if(typeof Module["SDL2"]==="undefined"){Module["SDL2"]={}}var SDL2=Module["SDL2"];if(!$0){SDL2.audio={}}else{SDL2.capture={}}if(!SDL2.audioContext){if(typeof AudioContext!=="undefined"){SDL2.audioContext=new AudioContext}else if(typeof webkitAudioContext!=="undefined"){SDL2.audioContext=new webkitAudioContext}if(SDL2.audioContext){autoResumeAudioContext(SDL2.audioContext)}}return SDL2.audioContext===undefined?-1:0},484331:()=>{var SDL2=Module["SDL2"];return SDL2.audioContext.sampleRate},484399:($0,$1,$2,$3)=>{var SDL2=Module["SDL2"];var have_microphone=function(stream){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer);SDL2.capture.silenceTimer=undefined}SDL2.capture.mediaStreamNode=SDL2.audioContext.createMediaStreamSource(stream);SDL2.capture.scriptProcessorNode=SDL2.audioContext.createScriptProcessor($1,$0,1);SDL2.capture.scriptProcessorNode.onaudioprocess=function(audioProcessingEvent){if(SDL2===undefined||SDL2.capture===undefined){return}audioProcessingEvent.outputBuffer.getChannelData(0).fill(0);SDL2.capture.currentCaptureBuffer=audioProcessingEvent.inputBuffer;dynCall("vi",$2,[$3])};SDL2.capture.mediaStreamNode.connect(SDL2.capture.scriptProcessorNode);SDL2.capture.scriptProcessorNode.connect(SDL2.audioContext.destination);SDL2.capture.stream=stream};var no_microphone=function(error){};SDL2.capture.silenceBuffer=SDL2.audioContext.createBuffer($0,$1,SDL2.audioContext.sampleRate);SDL2.capture.silenceBuffer.getChannelData(0).fill(0);var silence_callback=function(){SDL2.capture.currentCaptureBuffer=SDL2.capture.silenceBuffer;dynCall("vi",$2,[$3])};SDL2.capture.silenceTimer=setTimeout(silence_callback,$1/SDL2.audioContext.sampleRate*1e3);if(navigator.mediaDevices!==undefined&&navigator.mediaDevices.getUserMedia!==undefined){navigator.mediaDevices.getUserMedia({audio:true,video:false}).then(have_microphone).catch(no_microphone)}else if(navigator.webkitGetUserMedia!==undefined){navigator.webkitGetUserMedia({audio:true,video:false},have_microphone,no_microphone)}},486051:($0,$1,$2,$3)=>{var SDL2=Module["SDL2"];SDL2.audio.scriptProcessorNode=SDL2.audioContext["createScriptProcessor"]($1,0,$0);SDL2.audio.scriptProcessorNode["onaudioprocess"]=function(e){if(SDL2===undefined||SDL2.audio===undefined){return}SDL2.audio.currentOutputBuffer=e["outputBuffer"];dynCall("vi",$2,[$3])};SDL2.audio.scriptProcessorNode["connect"](SDL2.audioContext["destination"])},486461:($0,$1)=>{var SDL2=Module["SDL2"];var numChannels=SDL2.capture.currentCaptureBuffer.numberOfChannels;for(var c=0;c{var SDL2=Module["SDL2"];var numChannels=SDL2.audio.currentOutputBuffer["numberOfChannels"];for(var c=0;c>2]}}},487546:$0=>{var SDL2=Module["SDL2"];if($0){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer)}if(SDL2.capture.stream!==undefined){var tracks=SDL2.capture.stream.getAudioTracks();for(var i=0;i{var w=$0;var h=$1;var pixels=$2;if(!Module["SDL2"])Module["SDL2"]={};var SDL2=Module["SDL2"];if(SDL2.ctxCanvas!==Module["canvas"]){SDL2.ctx=Module["createContext"](Module["canvas"],false,true);SDL2.ctxCanvas=Module["canvas"]}if(SDL2.w!==w||SDL2.h!==h||SDL2.imageCtx!==SDL2.ctx){SDL2.image=SDL2.ctx.createImageData(w,h);SDL2.w=w;SDL2.h=h;SDL2.imageCtx=SDL2.ctx}var data=SDL2.image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=255;src++;dst+=4}}else{if(SDL2.data32Data!==data){SDL2.data32=new Int32Array(data.buffer);SDL2.data8=new Uint8Array(data.buffer);SDL2.data32Data=data}var data32=SDL2.data32;num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=SDL2.data8;var i=3;var j=i+4*num;if(num%8==0){while(i{var w=$0;var h=$1;var hot_x=$2;var hot_y=$3;var pixels=$4;var canvas=document.createElement("canvas");canvas.width=w;canvas.height=h;var ctx=canvas.getContext("2d");var image=ctx.createImageData(w,h);var data=image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=val>>24&255;src++;dst+=4}}else{var data32=new Int32Array(data.buffer);num=data32.length;data32.set(HEAP32.subarray(src,src+num))}ctx.putImageData(image,0,0);var url=hot_x===0&&hot_y===0?"url("+canvas.toDataURL()+"), auto":"url("+canvas.toDataURL()+") "+hot_x+" "+hot_y+", auto";var urlBuf=_malloc(url.length+1);stringToUTF8(url,urlBuf,url.length+1);return urlBuf},491176:$0=>{if(Module["canvas"]){Module["canvas"].style["cursor"]=UTF8ToString($0)}},491259:()=>{if(Module["canvas"]){Module["canvas"].style["cursor"]="none"}},491328:()=>window.innerWidth,491358:()=>window.innerHeight};function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var noExitRuntime=Module["noExitRuntime"]||true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var exceptionCaught=[];var uncaughtExceptionCount=0;var ___cxa_begin_catch=ptr=>{var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);___cxa_increment_exception_refcount(info.excPtr);return info.get_exception_ptr()};var exceptionLast=0;var ___cxa_end_catch=()=>{_setThrew(0,0);var info=exceptionCaught.pop();___cxa_decrement_exception_refcount(info.excPtr);exceptionLast=0};class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>2]=type}get_type(){return HEAPU32[this.ptr+4>>2]}set_destructor(destructor){HEAPU32[this.ptr+8>>2]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>2]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12]=caught}get_caught(){return HEAP8[this.ptr+12]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13]=rethrown}get_rethrown(){return HEAP8[this.ptr+13]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>2]}get_exception_ptr(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var ___resumeException=ptr=>{if(!exceptionLast){exceptionLast=ptr}throw exceptionLast};var findMatchingCatch=args=>{var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}for(var arg in args){var caughtType=args[arg];if(caughtType===0||caughtType===thrownType){break}var adjusted_ptr_addr=info.ptr+16;if(___cxa_can_catch(caughtType,thrownType,adjusted_ptr_addr)){setTempRet0(caughtType);return thrown}}setTempRet0(thrownType);return thrown};var ___cxa_find_matching_catch_2=()=>findMatchingCatch([]);var ___cxa_find_matching_catch_3=arg0=>findMatchingCatch([arg0]);var ___cxa_rethrow=()=>{var info=exceptionCaught.pop();if(!info){abort("no exception to throw")}var ptr=info.excPtr;if(!info.get_rethrown()){exceptionCaught.push(info);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}exceptionLast=ptr;throw exceptionLast};var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};var ___cxa_uncaught_exceptions=()=>uncaughtExceptionCount;var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var mmapAlloc=size=>{abort()};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url,arrayBuffer=>{onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={"r":0,"r+":2,"w":512|64|1,"w+":512|64|2,"a":1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class{constructor(errno){this.name="ErrnoError";this.errno=errno}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev;this.readMode=292|73;this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;iFS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""});FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init(input,output,error){FS.init.initialized=true;Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret},getp(){return SYSCALLS.get()},getStr(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.getp();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=SYSCALLS.getp();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=SYSCALLS.getp();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.getp();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.getp();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=SYSCALLS.getp();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __emscripten_fs_load_embedded_files=ptr=>{do{var name_addr=HEAPU32[ptr>>2];ptr+=4;var len=HEAPU32[ptr>>2];ptr+=4;var content=HEAPU32[ptr>>2];ptr+=4;var name=UTF8ToString(name_addr);FS.createPath("/",PATH.dirname(name),true,true);FS.createDataFile(name,null,HEAP8.subarray(content,content+len),true,true,true)}while(HEAPU32[ptr>>2])};var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var _abort=()=>{abort("")};var _emscripten_set_main_loop_timing=(mode,value)=>{Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof Browser.setImmediate=="undefined"){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);Browser.setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}else{Browser.setImmediate=setImmediate}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){Browser.setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0};var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var setMainLoop=(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)=>{Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(!checkIsRunning())return;if(typeof SDL=="object")SDL.audio?.queueNewAudioData?.();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var safeSetTimeout=(func,timeout)=>setTimeout(()=>{callUserCallback(func)},timeout);var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}};var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining{var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);preloadedImages[name]=canvas;URL.revokeObjectURL(url);onload?.(byteArray)};img.onerror=event=>{err(`Image ${url} could not be decoded`);onerror?.()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;preloadedAudios[name]=audio;onload?.(byteArray)}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err(`warning: browser could not fully decode audio ${name}, trying slower base64 approach`);function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",ev=>{if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:typeof WebGL2RenderingContext!="undefined"?2:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},destroyContext(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}Module["onFullScreen"]?.(Browser.isFullscreen);Module["onFullscreen"]?.(Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},exitFullscreen(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout(func,timeout){return safeSetTimeout(func,timeout)},safeRequestAnimationFrame(func){return Browser.requestAnimationFrame(()=>{callUserCallback(func)})},getMimetype(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia(func){window.getUserMedia||=navigator["getUserMedia"]||navigator["mozGetUserMedia"];window.getUserMedia(func)},getMovementX(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(pageX,pageY){var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;var adjustedX=pageX-(scrollX+rect.left);var adjustedY=pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);return{x:adjustedX,y:adjustedY}},setMouseCoords(pageX,pageY){const{x:x,y:y}=Browser.calculateMouseCoords(pageX,pageY);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y},calculateMouseEvent(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var coords=Browser.calculateMouseCoords(touch.pageX,touch.pageY);if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];last||=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}Browser.setMouseCoords(event.pageX,event.pageY)}},resizeListeners:[],updateResizeListeners(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAPU32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};var _eglBindAPI=api=>{if(api==12448){EGL.setErrorCode(12288);return 1}EGL.setErrorCode(12300);return 0};var _eglChooseConfig=(display,attrib_list,configs,config_size,numConfigs)=>EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs);var webgl_enable_ANGLE_instanced_arrays=ctx=>{var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=(index,divisor)=>ext["vertexAttribDivisorANGLE"](index,divisor);ctx["drawArraysInstanced"]=(mode,first,count,primcount)=>ext["drawArraysInstancedANGLE"](mode,first,count,primcount);ctx["drawElementsInstanced"]=(mode,count,type,indices,primcount)=>ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount);return 1}};var webgl_enable_OES_vertex_array_object=ctx=>{var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=()=>ext["createVertexArrayOES"]();ctx["deleteVertexArray"]=vao=>ext["deleteVertexArrayOES"](vao);ctx["bindVertexArray"]=vao=>ext["bindVertexArrayOES"](vao);ctx["isVertexArray"]=vao=>ext["isVertexArrayOES"](vao);return 1}};var webgl_enable_WEBGL_draw_buffers=ctx=>{var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=(n,bufs)=>ext["drawBuffersWEBGL"](n,bufs);return 1}};var webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"));var webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"));var webgl_enable_WEBGL_multi_draw=ctx=>!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"));var getEmscriptenSupportedExtensions=ctx=>{var supportedExtensions=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw"];return(ctx.getSupportedExtensions()||[]).filter(ext=>supportedExtensions.includes(ext))};var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:errorCode=>{if(!GL.lastError){GL.lastError=errorCode}},getNewId:table=>{var ret=GL.counter++;for(var i=table.length;i{for(var i=0;i>2]=id}},getSource:(shader,count,string,length)=>{var source="";for(var i=0;i>2]:undefined;source+=UTF8ToString(HEAPU32[string+i*4>>2],len)}return source},createContext:(canvas,webGLContextAttributes)=>{if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;function fixedGetContext(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}canvas.getContext=fixedGetContext}var ctx=webGLContextAttributes.majorVersion>1?canvas.getContext("webgl2",webGLContextAttributes):canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:(ctx,webGLContextAttributes)=>{var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:contextHandle=>{GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext?.GLctx;return!(contextHandle&&!GLctx)},getContext:contextHandle=>GL.contexts[contextHandle],deleteContext:contextHandle=>{if(GL.currentContext===GL.contexts[contextHandle]){GL.currentContext=null}if(typeof JSEvents=="object"){JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas)}if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas){GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined}GL.contexts[contextHandle]=null},initExtensions:context=>{context||=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_ANGLE_instanced_arrays(GLctx);webgl_enable_OES_vertex_array_object(GLctx);webgl_enable_WEBGL_draw_buffers(GLctx);webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(context.version>=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}webgl_enable_WEBGL_multi_draw(GLctx);getEmscriptenSupportedExtensions(GLctx).forEach(ext=>{if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var _eglCreateContext=(display,config,hmm,contextAttribs)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion<2||glesContextVersion>3){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Module["canvas"],EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Module.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}};var _eglCreateWindowSurface=(display,config,win,attrib_list)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006};var _eglDestroyContext=(display,context)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1};var _eglDestroySurface=(display,surface)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1};var _eglGetConfigAttrib=(display,config,attribute,value)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>2]=EGL.contextAttributes.alpha?32:24;return 1;case 12321:HEAP32[value>>2]=EGL.contextAttributes.alpha?8:0;return 1;case 12322:HEAP32[value>>2]=8;return 1;case 12323:HEAP32[value>>2]=8;return 1;case 12324:HEAP32[value>>2]=8;return 1;case 12325:HEAP32[value>>2]=EGL.contextAttributes.depth?24:0;return 1;case 12326:HEAP32[value>>2]=EGL.contextAttributes.stencil?8:0;return 1;case 12327:HEAP32[value>>2]=12344;return 1;case 12328:HEAP32[value>>2]=62002;return 1;case 12329:HEAP32[value>>2]=0;return 1;case 12330:HEAP32[value>>2]=4096;return 1;case 12331:HEAP32[value>>2]=16777216;return 1;case 12332:HEAP32[value>>2]=4096;return 1;case 12333:HEAP32[value>>2]=0;return 1;case 12334:HEAP32[value>>2]=0;return 1;case 12335:HEAP32[value>>2]=12344;return 1;case 12337:HEAP32[value>>2]=EGL.contextAttributes.antialias?4:0;return 1;case 12338:HEAP32[value>>2]=EGL.contextAttributes.antialias?1:0;return 1;case 12339:HEAP32[value>>2]=4;return 1;case 12340:HEAP32[value>>2]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>2]=-1;return 1;case 12345:case 12346:HEAP32[value>>2]=0;return 1;case 12347:HEAP32[value>>2]=0;return 1;case 12348:HEAP32[value>>2]=1;return 1;case 12349:case 12350:HEAP32[value>>2]=0;return 1;case 12351:HEAP32[value>>2]=12430;return 1;case 12352:HEAP32[value>>2]=4;return 1;case 12354:HEAP32[value>>2]=0;return 1;default:EGL.setErrorCode(12292);return 0}};var _eglGetDisplay=nativeDisplayType=>{EGL.setErrorCode(12288);if(nativeDisplayType!=0&&nativeDisplayType!=1){return 0}return 62e3};var _eglGetError=()=>EGL.errorCode;var _eglInitialize=(display,majorVersion,minorVersion)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1};var _eglMakeCurrent=(display,draw,read,context)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var _eglQueryString=(display,name)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.setErrorCode(12288);if(EGL.stringCache[name])return EGL.stringCache[name];var ret;switch(name){case 12371:ret=stringToNewUTF8("Emscripten");break;case 12372:ret=stringToNewUTF8("1.4 Emscripten EGL");break;case 12373:ret=stringToNewUTF8("");break;case 12429:ret=stringToNewUTF8("OpenGL_ES");break;default:EGL.setErrorCode(12300);return 0}EGL.stringCache[name]=ret;return ret};var _eglSwapBuffers=(dpy,surface)=>{if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0};var _eglSwapInterval=(display,interval)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1};var _eglTerminate=display=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1};var _eglWaitClient=()=>{EGL.setErrorCode(12288);return 1};var _eglWaitGL=_eglWaitClient;var _eglWaitNative=nativeEngineId=>{EGL.setErrorCode(12288);return 1};var readEmAsmArgsArray=[];var readEmAsmArgs=(sigPtr,buf)=>{readEmAsmArgsArray.length=0;var ch;while(ch=HEAPU8[sigPtr++]){var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?HEAPU32[buf>>2]:ch==105?HEAP32[buf>>2]:HEAPF64[buf>>3]);buf+=wide?8:4}return readEmAsmArgsArray};var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code](...args)};var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);var runMainThreadEmAsm=(emAsmAddr,sigPtr,argbuf,sync)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[emAsmAddr](...args)};var _emscripten_asm_const_int_sync_on_main_thread=(emAsmAddr,sigPtr,argbuf)=>runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,1);var _emscripten_asm_const_ptr_sync_on_main_thread=(emAsmAddr,sigPtr,argbuf)=>runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,1);var _emscripten_cancel_main_loop=()=>{Browser.mainLoop.pause();Browser.mainLoop.func=null};var _emscripten_date_now=()=>Date.now();var withStackSave=f=>{var stack=stackSave();var ret=f();stackRestore(stack);return ret};var JSEvents={removeAllEventListeners(){while(JSEvents.eventHandlers.length){JSEvents._removeHandler(JSEvents.eventHandlers.length-1)}JSEvents.deferredCalls=[]},inEventHandler:0,deferredCalls:[],deferCall(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort((x,y)=>x.precedence{for(var i=0;icString>2?UTF8ToString(cString):cString;var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];var findEventTarget=target=>{target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement};var findCanvasEventTarget=findEventTarget;var _emscripten_get_canvas_element_size=(target,width,height)=>{var canvas=findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height};var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var getCanvasElementSize=target=>withStackSave(()=>{var w=stackAlloc(8);var h=w+4;var targetInt=stringToUTF8OnStack(target.id);var ret=_emscripten_get_canvas_element_size(targetInt,w,h);var size=[HEAP32[w>>2],HEAP32[h>>2]];return size});var _emscripten_set_canvas_element_size=(target,width,height)=>{var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0};var setCanvasElementSize=(target,width,height)=>{if(!target.controlTransferredOffscreen){target.width=width;target.height=height}else{withStackSave(()=>{var targetInt=stringToUTF8OnStack(target.id);_emscripten_set_canvas_element_size(targetInt,width,height)})}};var wasmTableMirror=[];var wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var registerRestoreOldStyle=canvas=>{var canvasSize=getCanvasElementSize(canvas);var oldWidth=canvasSize[0];var oldHeight=canvasSize[1];var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.webkitFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);setCanvasElementSize(canvas,oldWidth,oldHeight);canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(currentFullscreenStrategy.canvasResizedCallback){getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);return restoreOldStyle};var setLetterbox=(element,topBottom,leftRight)=>{element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"};var getBoundingClientRect=e=>specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0};var JSEvents_resizeCanvasForFullscreen=(target,strategy)=>{var restoreOldStyle=registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?innerWidth:screen.width;var cssHeight=strategy.softFullscreen?innerHeight:screen.height;var rect=getBoundingClientRect(target);var windowedCssWidth=rect.width;var windowedCssHeight=rect.height;var canvasSize=getCanvasElementSize(target);var windowedRttWidth=canvasSize[0];var windowedRttHeight=canvasSize[1];if(strategy.scaleMode==3){setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight{if(strategy.scaleMode!=0||strategy.canvasResolutionScaleMode!=0){JSEvents_resizeCanvasForFullscreen(target,strategy)}if(target.requestFullscreen){target.requestFullscreen()}else if(target.webkitRequestFullscreen){target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}else{return JSEvents.fullscreenEnabled()?-3:-1}currentFullscreenStrategy=strategy;if(strategy.canvasResizedCallback){getWasmTableEntry(strategy.canvasResizedCallback)(37,0,strategy.canvasResizedCallbackUserData)}return 0};var _emscripten_exit_fullscreen=()=>{if(!JSEvents.fullscreenEnabled())return-1;JSEvents.removeDeferredCalls(JSEvents_requestFullscreen);var d=specialHTMLTargets[1];if(d.exitFullscreen){d.fullscreenElement&&d.exitFullscreen()}else if(d.webkitExitFullscreen){d.webkitFullscreenElement&&d.webkitExitFullscreen()}else{return-1}return 0};var requestPointerLock=target=>{if(target.requestPointerLock){target.requestPointerLock()}else{if(document.body.requestPointerLock){return-3}return-1}return 0};var _emscripten_exit_pointerlock=()=>{JSEvents.removeDeferredCalls(requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else{return-1}return 0};var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var _emscripten_force_exit=status=>{__emscripten_runtime_keepalive_clear();_exit(status)};var _emscripten_get_device_pixel_ratio=()=>typeof devicePixelRatio=="number"&&devicePixelRatio||1;var _emscripten_get_element_css_size=(target,width,height)=>{target=findEventTarget(target);if(!target)return-4;var rect=getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0};var fillGamepadEventData=(eventStruct,e)=>{HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)};var _emscripten_get_gamepad_status=(index,gamepadState)=>{if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0};var _emscripten_get_num_gamepads=()=>JSEvents.lastGamepadState.length;var _emscripten_get_screen_size=(width,height)=>{HEAP32[width>>2]=screen.width;HEAP32[height>>2]=screen.height};var _glActiveTexture=x0=>GLctx.activeTexture(x0);var _emscripten_glActiveTexture=_glActiveTexture;var _glAttachShader=(program,shader)=>{GLctx.attachShader(GL.programs[program],GL.shaders[shader])};var _emscripten_glAttachShader=_glAttachShader;var _glBeginQuery=(target,id)=>{GLctx.beginQuery(target,GL.queries[id])};var _emscripten_glBeginQuery=_glBeginQuery;var _glBeginQueryEXT=(target,id)=>{GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])};var _emscripten_glBeginQueryEXT=_glBeginQueryEXT;var _glBeginTransformFeedback=x0=>GLctx.beginTransformFeedback(x0);var _emscripten_glBeginTransformFeedback=_glBeginTransformFeedback;var _glBindAttribLocation=(program,index,name)=>{GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))};var _emscripten_glBindAttribLocation=_glBindAttribLocation;var _glBindBuffer=(target,buffer)=>{if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])};var _emscripten_glBindBuffer=_glBindBuffer;var _glBindBufferBase=(target,index,buffer)=>{GLctx.bindBufferBase(target,index,GL.buffers[buffer])};var _emscripten_glBindBufferBase=_glBindBufferBase;var _glBindBufferRange=(target,index,buffer,offset,ptrsize)=>{GLctx.bindBufferRange(target,index,GL.buffers[buffer],offset,ptrsize)};var _emscripten_glBindBufferRange=_glBindBufferRange;var _glBindFramebuffer=(target,framebuffer)=>{GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])};var _emscripten_glBindFramebuffer=_glBindFramebuffer;var _glBindRenderbuffer=(target,renderbuffer)=>{GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])};var _emscripten_glBindRenderbuffer=_glBindRenderbuffer;var _glBindSampler=(unit,sampler)=>{GLctx.bindSampler(unit,GL.samplers[sampler])};var _emscripten_glBindSampler=_glBindSampler;var _glBindTexture=(target,texture)=>{GLctx.bindTexture(target,GL.textures[texture])};var _emscripten_glBindTexture=_glBindTexture;var _glBindTransformFeedback=(target,id)=>{GLctx.bindTransformFeedback(target,GL.transformFeedbacks[id])};var _emscripten_glBindTransformFeedback=_glBindTransformFeedback;var _glBindVertexArray=vao=>{GLctx.bindVertexArray(GL.vaos[vao])};var _emscripten_glBindVertexArray=_glBindVertexArray;var _glBindVertexArrayOES=_glBindVertexArray;var _emscripten_glBindVertexArrayOES=_glBindVertexArrayOES;var _glBlendColor=(x0,x1,x2,x3)=>GLctx.blendColor(x0,x1,x2,x3);var _emscripten_glBlendColor=_glBlendColor;var _glBlendEquation=x0=>GLctx.blendEquation(x0);var _emscripten_glBlendEquation=_glBlendEquation;var _glBlendEquationSeparate=(x0,x1)=>GLctx.blendEquationSeparate(x0,x1);var _emscripten_glBlendEquationSeparate=_glBlendEquationSeparate;var _glBlendFunc=(x0,x1)=>GLctx.blendFunc(x0,x1);var _emscripten_glBlendFunc=_glBlendFunc;var _glBlendFuncSeparate=(x0,x1,x2,x3)=>GLctx.blendFuncSeparate(x0,x1,x2,x3);var _emscripten_glBlendFuncSeparate=_glBlendFuncSeparate;var _glBlitFramebuffer=(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)=>GLctx.blitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9);var _emscripten_glBlitFramebuffer=_glBlitFramebuffer;var _glBufferData=(target,size,data,usage)=>{if(GL.currentContext.version>=2){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}return}GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)};var _emscripten_glBufferData=_glBufferData;var _glBufferSubData=(target,offset,size,data)=>{if(GL.currentContext.version>=2){size&&GLctx.bufferSubData(target,offset,HEAPU8,data,size);return}GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))};var _emscripten_glBufferSubData=_glBufferSubData;var _glCheckFramebufferStatus=x0=>GLctx.checkFramebufferStatus(x0);var _emscripten_glCheckFramebufferStatus=_glCheckFramebufferStatus;var _glClear=x0=>GLctx.clear(x0);var _emscripten_glClear=_glClear;var _glClearBufferfi=(x0,x1,x2,x3)=>GLctx.clearBufferfi(x0,x1,x2,x3);var _emscripten_glClearBufferfi=_glClearBufferfi;var _glClearBufferfv=(buffer,drawbuffer,value)=>{GLctx.clearBufferfv(buffer,drawbuffer,HEAPF32,value>>2)};var _emscripten_glClearBufferfv=_glClearBufferfv;var _glClearBufferiv=(buffer,drawbuffer,value)=>{GLctx.clearBufferiv(buffer,drawbuffer,HEAP32,value>>2)};var _emscripten_glClearBufferiv=_glClearBufferiv;var _glClearBufferuiv=(buffer,drawbuffer,value)=>{GLctx.clearBufferuiv(buffer,drawbuffer,HEAPU32,value>>2)};var _emscripten_glClearBufferuiv=_glClearBufferuiv;var _glClearColor=(x0,x1,x2,x3)=>GLctx.clearColor(x0,x1,x2,x3);var _emscripten_glClearColor=_glClearColor;var _glClearDepthf=x0=>GLctx.clearDepth(x0);var _emscripten_glClearDepthf=_glClearDepthf;var _glClearStencil=x0=>GLctx.clearStencil(x0);var _emscripten_glClearStencil=_glClearStencil;var convertI32PairToI53=(lo,hi)=>(lo>>>0)+hi*4294967296;var _glClientWaitSync=(sync,flags,timeout_low,timeout_high)=>{var timeout=convertI32PairToI53(timeout_low,timeout_high);return GLctx.clientWaitSync(GL.syncs[sync],flags,timeout)};var _emscripten_glClientWaitSync=_glClientWaitSync;var _glColorMask=(red,green,blue,alpha)=>{GLctx.colorMask(!!red,!!green,!!blue,!!alpha)};var _emscripten_glColorMask=_glColorMask;var _glCompileShader=shader=>{GLctx.compileShader(GL.shaders[shader])};var _emscripten_glCompileShader=_glCompileShader;var _glCompressedTexImage2D=(target,level,internalFormat,width,height,border,imageSize,data)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data)}else{GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,HEAPU8,data,imageSize)}return}GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)};var _emscripten_glCompressedTexImage2D=_glCompressedTexImage2D;var _glCompressedTexImage3D=(target,level,internalFormat,width,height,depth,border,imageSize,data)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data)}else{GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,HEAPU8,data,imageSize)}};var _emscripten_glCompressedTexImage3D=_glCompressedTexImage3D;var _glCompressedTexSubImage2D=(target,level,xoffset,yoffset,width,height,format,imageSize,data)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data)}else{GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,HEAPU8,data,imageSize)}return}GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data,data+imageSize):null)};var _emscripten_glCompressedTexSubImage2D=_glCompressedTexSubImage2D;var _glCompressedTexSubImage3D=(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)}else{GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,HEAPU8,data,imageSize)}};var _emscripten_glCompressedTexSubImage3D=_glCompressedTexSubImage3D;var _glCopyBufferSubData=(x0,x1,x2,x3,x4)=>GLctx.copyBufferSubData(x0,x1,x2,x3,x4);var _emscripten_glCopyBufferSubData=_glCopyBufferSubData;var _glCopyTexImage2D=(x0,x1,x2,x3,x4,x5,x6,x7)=>GLctx.copyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7);var _emscripten_glCopyTexImage2D=_glCopyTexImage2D;var _glCopyTexSubImage2D=(x0,x1,x2,x3,x4,x5,x6,x7)=>GLctx.copyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7);var _emscripten_glCopyTexSubImage2D=_glCopyTexSubImage2D;var _glCopyTexSubImage3D=(x0,x1,x2,x3,x4,x5,x6,x7,x8)=>GLctx.copyTexSubImage3D(x0,x1,x2,x3,x4,x5,x6,x7,x8);var _emscripten_glCopyTexSubImage3D=_glCopyTexSubImage3D;var _glCreateProgram=()=>{var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id};var _emscripten_glCreateProgram=_glCreateProgram;var _glCreateShader=shaderType=>{var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id};var _emscripten_glCreateShader=_glCreateShader;var _glCullFace=x0=>GLctx.cullFace(x0);var _emscripten_glCullFace=_glCullFace;var _glDeleteBuffers=(n,buffers)=>{for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GLctx.currentPixelPackBufferBinding)GLctx.currentPixelPackBufferBinding=0;if(id==GLctx.currentPixelUnpackBufferBinding)GLctx.currentPixelUnpackBufferBinding=0}};var _emscripten_glDeleteBuffers=_glDeleteBuffers;var _glDeleteFramebuffers=(n,framebuffers)=>{for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}};var _emscripten_glDeleteFramebuffers=_glDeleteFramebuffers;var _glDeleteProgram=id=>{if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null};var _emscripten_glDeleteProgram=_glDeleteProgram;var _glDeleteQueries=(n,ids)=>{for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.deleteQuery(query);GL.queries[id]=null}};var _emscripten_glDeleteQueries=_glDeleteQueries;var _glDeleteQueriesEXT=(n,ids)=>{for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.queries[id]=null}};var _emscripten_glDeleteQueriesEXT=_glDeleteQueriesEXT;var _glDeleteRenderbuffers=(n,renderbuffers)=>{for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}};var _emscripten_glDeleteRenderbuffers=_glDeleteRenderbuffers;var _glDeleteSamplers=(n,samplers)=>{for(var i=0;i>2];var sampler=GL.samplers[id];if(!sampler)continue;GLctx.deleteSampler(sampler);sampler.name=0;GL.samplers[id]=null}};var _emscripten_glDeleteSamplers=_glDeleteSamplers;var _glDeleteShader=id=>{if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null};var _emscripten_glDeleteShader=_glDeleteShader;var _glDeleteSync=id=>{if(!id)return;var sync=GL.syncs[id];if(!sync){GL.recordError(1281);return}GLctx.deleteSync(sync);sync.name=0;GL.syncs[id]=null};var _emscripten_glDeleteSync=_glDeleteSync;var _glDeleteTextures=(n,textures)=>{for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}};var _emscripten_glDeleteTextures=_glDeleteTextures;var _glDeleteTransformFeedbacks=(n,ids)=>{for(var i=0;i>2];var transformFeedback=GL.transformFeedbacks[id];if(!transformFeedback)continue;GLctx.deleteTransformFeedback(transformFeedback);transformFeedback.name=0;GL.transformFeedbacks[id]=null}};var _emscripten_glDeleteTransformFeedbacks=_glDeleteTransformFeedbacks;var _glDeleteVertexArrays=(n,vaos)=>{for(var i=0;i>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}};var _emscripten_glDeleteVertexArrays=_glDeleteVertexArrays;var _glDeleteVertexArraysOES=_glDeleteVertexArrays;var _emscripten_glDeleteVertexArraysOES=_glDeleteVertexArraysOES;var _glDepthFunc=x0=>GLctx.depthFunc(x0);var _emscripten_glDepthFunc=_glDepthFunc;var _glDepthMask=flag=>{GLctx.depthMask(!!flag)};var _emscripten_glDepthMask=_glDepthMask;var _glDepthRangef=(x0,x1)=>GLctx.depthRange(x0,x1);var _emscripten_glDepthRangef=_glDepthRangef;var _glDetachShader=(program,shader)=>{GLctx.detachShader(GL.programs[program],GL.shaders[shader])};var _emscripten_glDetachShader=_glDetachShader;var _glDisable=x0=>GLctx.disable(x0);var _emscripten_glDisable=_glDisable;var _glDisableVertexAttribArray=index=>{GLctx.disableVertexAttribArray(index)};var _emscripten_glDisableVertexAttribArray=_glDisableVertexAttribArray;var _glDrawArrays=(mode,first,count)=>{GLctx.drawArrays(mode,first,count)};var _emscripten_glDrawArrays=_glDrawArrays;var _glDrawArraysInstanced=(mode,first,count,primcount)=>{GLctx.drawArraysInstanced(mode,first,count,primcount)};var _emscripten_glDrawArraysInstanced=_glDrawArraysInstanced;var _glDrawArraysInstancedANGLE=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedANGLE=_glDrawArraysInstancedANGLE;var _glDrawArraysInstancedARB=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedARB=_glDrawArraysInstancedARB;var _glDrawArraysInstancedEXT=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedEXT=_glDrawArraysInstancedEXT;var _glDrawArraysInstancedNV=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedNV=_glDrawArraysInstancedNV;var tempFixedLengthArray=[];var _glDrawBuffers=(n,bufs)=>{var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx.drawBuffers(bufArray)};var _emscripten_glDrawBuffers=_glDrawBuffers;var _glDrawBuffersEXT=_glDrawBuffers;var _emscripten_glDrawBuffersEXT=_glDrawBuffersEXT;var _glDrawBuffersWEBGL=_glDrawBuffers;var _emscripten_glDrawBuffersWEBGL=_glDrawBuffersWEBGL;var _glDrawElements=(mode,count,type,indices)=>{GLctx.drawElements(mode,count,type,indices)};var _emscripten_glDrawElements=_glDrawElements;var _glDrawElementsInstanced=(mode,count,type,indices,primcount)=>{GLctx.drawElementsInstanced(mode,count,type,indices,primcount)};var _emscripten_glDrawElementsInstanced=_glDrawElementsInstanced;var _glDrawElementsInstancedANGLE=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedANGLE=_glDrawElementsInstancedANGLE;var _glDrawElementsInstancedARB=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedARB=_glDrawElementsInstancedARB;var _glDrawElementsInstancedEXT=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedEXT=_glDrawElementsInstancedEXT;var _glDrawElementsInstancedNV=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedNV=_glDrawElementsInstancedNV;var _glDrawRangeElements=(mode,start,end,count,type,indices)=>{_glDrawElements(mode,count,type,indices)};var _emscripten_glDrawRangeElements=_glDrawRangeElements;var _glEnable=x0=>GLctx.enable(x0);var _emscripten_glEnable=_glEnable;var _glEnableVertexAttribArray=index=>{GLctx.enableVertexAttribArray(index)};var _emscripten_glEnableVertexAttribArray=_glEnableVertexAttribArray;var _glEndQuery=x0=>GLctx.endQuery(x0);var _emscripten_glEndQuery=_glEndQuery;var _glEndQueryEXT=target=>{GLctx.disjointTimerQueryExt["endQueryEXT"](target)};var _emscripten_glEndQueryEXT=_glEndQueryEXT;var _glEndTransformFeedback=()=>GLctx.endTransformFeedback();var _emscripten_glEndTransformFeedback=_glEndTransformFeedback;var _glFenceSync=(condition,flags)=>{var sync=GLctx.fenceSync(condition,flags);if(sync){var id=GL.getNewId(GL.syncs);sync.name=id;GL.syncs[id]=sync;return id}return 0};var _emscripten_glFenceSync=_glFenceSync;var _glFinish=()=>GLctx.finish();var _emscripten_glFinish=_glFinish;var _glFlush=()=>GLctx.flush();var _emscripten_glFlush=_glFlush;var _glFramebufferRenderbuffer=(target,attachment,renderbuffertarget,renderbuffer)=>{GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])};var _emscripten_glFramebufferRenderbuffer=_glFramebufferRenderbuffer;var _glFramebufferTexture2D=(target,attachment,textarget,texture,level)=>{GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)};var _emscripten_glFramebufferTexture2D=_glFramebufferTexture2D;var _glFramebufferTextureLayer=(target,attachment,texture,level,layer)=>{GLctx.framebufferTextureLayer(target,attachment,GL.textures[texture],level,layer)};var _emscripten_glFramebufferTextureLayer=_glFramebufferTextureLayer;var _glFrontFace=x0=>GLctx.frontFace(x0);var _emscripten_glFrontFace=_glFrontFace;var _glGenBuffers=(n,buffers)=>{GL.genObject(n,buffers,"createBuffer",GL.buffers)};var _emscripten_glGenBuffers=_glGenBuffers;var _glGenFramebuffers=(n,ids)=>{GL.genObject(n,ids,"createFramebuffer",GL.framebuffers)};var _emscripten_glGenFramebuffers=_glGenFramebuffers;var _glGenQueries=(n,ids)=>{GL.genObject(n,ids,"createQuery",GL.queries)};var _emscripten_glGenQueries=_glGenQueries;var _glGenQueriesEXT=(n,ids)=>{for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.queries);query.name=id;GL.queries[id]=query;HEAP32[ids+i*4>>2]=id}};var _emscripten_glGenQueriesEXT=_glGenQueriesEXT;var _glGenRenderbuffers=(n,renderbuffers)=>{GL.genObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)};var _emscripten_glGenRenderbuffers=_glGenRenderbuffers;var _glGenSamplers=(n,samplers)=>{GL.genObject(n,samplers,"createSampler",GL.samplers)};var _emscripten_glGenSamplers=_glGenSamplers;var _glGenTextures=(n,textures)=>{GL.genObject(n,textures,"createTexture",GL.textures)};var _emscripten_glGenTextures=_glGenTextures;var _glGenTransformFeedbacks=(n,ids)=>{GL.genObject(n,ids,"createTransformFeedback",GL.transformFeedbacks)};var _emscripten_glGenTransformFeedbacks=_glGenTransformFeedbacks;var _glGenVertexArrays=(n,arrays)=>{GL.genObject(n,arrays,"createVertexArray",GL.vaos)};var _emscripten_glGenVertexArrays=_glGenVertexArrays;var _glGenVertexArraysOES=_glGenVertexArrays;var _emscripten_glGenVertexArraysOES=_glGenVertexArraysOES;var _glGenerateMipmap=x0=>GLctx.generateMipmap(x0);var _emscripten_glGenerateMipmap=_glGenerateMipmap;var __glGetActiveAttribOrUniform=(funcName,program,index,bufSize,length,size,type,name)=>{program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}};var _glGetActiveAttrib=(program,index,bufSize,length,size,type,name)=>{__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)};var _emscripten_glGetActiveAttrib=_glGetActiveAttrib;var _glGetActiveUniform=(program,index,bufSize,length,size,type,name)=>{__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)};var _emscripten_glGetActiveUniform=_glGetActiveUniform;var _glGetActiveUniformBlockName=(program,uniformBlockIndex,bufSize,length,uniformBlockName)=>{program=GL.programs[program];var result=GLctx.getActiveUniformBlockName(program,uniformBlockIndex);if(!result)return;if(uniformBlockName&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(result,uniformBlockName,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}};var _emscripten_glGetActiveUniformBlockName=_glGetActiveUniformBlockName;var _glGetActiveUniformBlockiv=(program,uniformBlockIndex,pname,params)=>{if(!params){GL.recordError(1281);return}program=GL.programs[program];if(pname==35393){var name=GLctx.getActiveUniformBlockName(program,uniformBlockIndex);HEAP32[params>>2]=name.length+1;return}var result=GLctx.getActiveUniformBlockParameter(program,uniformBlockIndex,pname);if(result===null)return;if(pname==35395){for(var i=0;i>2]=result[i]}}else{HEAP32[params>>2]=result}};var _emscripten_glGetActiveUniformBlockiv=_glGetActiveUniformBlockiv;var _glGetActiveUniformsiv=(program,uniformCount,uniformIndices,pname,params)=>{if(!params){GL.recordError(1281);return}if(uniformCount>0&&uniformIndices==0){GL.recordError(1281);return}program=GL.programs[program];var ids=[];for(var i=0;i>2])}var result=GLctx.getActiveUniforms(program,ids,pname);if(!result)return;var len=result.length;for(var i=0;i>2]=result[i]}};var _emscripten_glGetActiveUniformsiv=_glGetActiveUniformsiv;var _glGetAttachedShaders=(program,maxCount,count,shaders)=>{var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}};var _emscripten_glGetAttachedShaders=_glGetAttachedShaders;var _glGetAttribLocation=(program,name)=>GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name));var _emscripten_glGetAttribLocation=_glGetAttribLocation;var writeI53ToI64=(ptr,num)=>{HEAPU32[ptr>>2]=num;var lower=HEAPU32[ptr>>2];HEAPU32[ptr+4>>2]=(num-lower)/4294967296};var webglGetExtensions=function $webglGetExtensions(){var exts=getEmscriptenSupportedExtensions(GLctx);exts=exts.concat(exts.map(e=>"GL_"+e));return exts};var emscriptenWebGLGet=(name_,p,type)=>{if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 34814:case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break;case 33309:if(GL.currentContext.version<2){GL.recordError(1282);return}ret=webglGetExtensions().length;break;case 33307:case 33308:if(GL.currentContext.version<2){GL.recordError(1280);return}ret=name_==33307?3:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Unknown object returned from WebGL getParameter(${name_})! (error: ${e})`);return}}break;default:GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Native code calling glGet${type}v(${name_}) and it returns ${result} of type ${typeof result}!`);return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p]=ret?1:0;break}};var _glGetBooleanv=(name_,p)=>emscriptenWebGLGet(name_,p,4);var _emscripten_glGetBooleanv=_glGetBooleanv;var _glGetBufferParameteri64v=(target,value,data)=>{if(!data){GL.recordError(1281);return}writeI53ToI64(data,GLctx.getBufferParameter(target,value))};var _emscripten_glGetBufferParameteri64v=_glGetBufferParameteri64v;var _glGetBufferParameteriv=(target,value,data)=>{if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)};var _emscripten_glGetBufferParameteriv=_glGetBufferParameteriv;var _glGetError=()=>{var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error};var _emscripten_glGetError=_glGetError;var _glGetFloatv=(name_,p)=>emscriptenWebGLGet(name_,p,2);var _emscripten_glGetFloatv=_glGetFloatv;var _glGetFragDataLocation=(program,name)=>GLctx.getFragDataLocation(GL.programs[program],UTF8ToString(name));var _emscripten_glGetFragDataLocation=_glGetFragDataLocation;var _glGetFramebufferAttachmentParameteriv=(target,attachment,pname,params)=>{var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result};var _emscripten_glGetFramebufferAttachmentParameteriv=_glGetFramebufferAttachmentParameteriv;var emscriptenWebGLGetIndexed=(target,index,data,type)=>{if(!data){GL.recordError(1281);return}var result=GLctx.getIndexedParameter(target,index);var ret;switch(typeof result){case"boolean":ret=result?1:0;break;case"number":ret=result;break;case"object":if(result===null){switch(target){case 35983:case 35368:ret=0;break;default:{GL.recordError(1280);return}}}else if(result instanceof WebGLBuffer){ret=result.name|0}else{GL.recordError(1280);return}break;default:GL.recordError(1280);return}switch(type){case 1:writeI53ToI64(data,ret);break;case 0:HEAP32[data>>2]=ret;break;case 2:HEAPF32[data>>2]=ret;break;case 4:HEAP8[data]=ret?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+type}};var _glGetInteger64i_v=(target,index,data)=>emscriptenWebGLGetIndexed(target,index,data,1);var _emscripten_glGetInteger64i_v=_glGetInteger64i_v;var _glGetInteger64v=(name_,p)=>{emscriptenWebGLGet(name_,p,1)};var _emscripten_glGetInteger64v=_glGetInteger64v;var _glGetIntegeri_v=(target,index,data)=>emscriptenWebGLGetIndexed(target,index,data,0);var _emscripten_glGetIntegeri_v=_glGetIntegeri_v;var _glGetIntegerv=(name_,p)=>emscriptenWebGLGet(name_,p,0);var _emscripten_glGetIntegerv=_glGetIntegerv;var _glGetInternalformativ=(target,internalformat,pname,bufSize,params)=>{if(bufSize<0){GL.recordError(1281);return}if(!params){GL.recordError(1281);return}var ret=GLctx.getInternalformatParameter(target,internalformat,pname);if(ret===null)return;for(var i=0;i>2]=ret[i]}};var _emscripten_glGetInternalformativ=_glGetInternalformativ;var _glGetProgramBinary=(program,bufSize,length,binaryFormat,binary)=>{GL.recordError(1282)};var _emscripten_glGetProgramBinary=_glGetProgramBinary;var _glGetProgramInfoLog=(program,maxLength,length,infoLog)=>{var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _emscripten_glGetProgramInfoLog=_glGetProgramInfoLog;var _glGetProgramiv=(program,pname,p)=>{if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}};var _emscripten_glGetProgramiv=_glGetProgramiv;var _glGetQueryObjecti64vEXT=(id,pname,params)=>{if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;if(GL.currentContext.version<2){param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}else{param=GLctx.getQueryParameter(query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)};var _emscripten_glGetQueryObjecti64vEXT=_glGetQueryObjecti64vEXT;var _glGetQueryObjectivEXT=(id,pname,params)=>{if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret};var _emscripten_glGetQueryObjectivEXT=_glGetQueryObjectivEXT;var _glGetQueryObjectui64vEXT=_glGetQueryObjecti64vEXT;var _emscripten_glGetQueryObjectui64vEXT=_glGetQueryObjectui64vEXT;var _glGetQueryObjectuiv=(id,pname,params)=>{if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.getQueryParameter(query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret};var _emscripten_glGetQueryObjectuiv=_glGetQueryObjectuiv;var _glGetQueryObjectuivEXT=_glGetQueryObjectivEXT;var _emscripten_glGetQueryObjectuivEXT=_glGetQueryObjectuivEXT;var _glGetQueryiv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getQuery(target,pname)};var _emscripten_glGetQueryiv=_glGetQueryiv;var _glGetQueryivEXT=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)};var _emscripten_glGetQueryivEXT=_glGetQueryivEXT;var _glGetRenderbufferParameteriv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)};var _emscripten_glGetRenderbufferParameteriv=_glGetRenderbufferParameteriv;var _glGetSamplerParameterfv=(sampler,pname,params)=>{if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getSamplerParameter(GL.samplers[sampler],pname)};var _emscripten_glGetSamplerParameterfv=_glGetSamplerParameterfv;var _glGetSamplerParameteriv=(sampler,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getSamplerParameter(GL.samplers[sampler],pname)};var _emscripten_glGetSamplerParameteriv=_glGetSamplerParameteriv;var _glGetShaderInfoLog=(shader,maxLength,length,infoLog)=>{var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _emscripten_glGetShaderInfoLog=_glGetShaderInfoLog;var _glGetShaderPrecisionFormat=(shaderType,precisionType,range,precision)=>{var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision};var _emscripten_glGetShaderPrecisionFormat=_glGetShaderPrecisionFormat;var _glGetShaderSource=(shader,bufSize,length,source)=>{var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _emscripten_glGetShaderSource=_glGetShaderSource;var _glGetShaderiv=(shader,pname,p)=>{if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}};var _emscripten_glGetShaderiv=_glGetShaderiv;var _glGetString=name_=>{var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:ret=stringToNewUTF8(webglGetExtensions().join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s?stringToNewUTF8(s):0;break;case 7938:var glVersion=GLctx.getParameter(7938);if(GL.currentContext.version>=2)glVersion=`OpenGL ES 3.0 (${glVersion})`;else{glVersion=`OpenGL ES 2.0 (${glVersion})`}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion=`OpenGL ES GLSL ES ${ver_num[1]} (${glslVersion})`}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret};var _emscripten_glGetString=_glGetString;var _glGetStringi=(name,index)=>{if(GL.currentContext.version<2){GL.recordError(1282);return 0}var stringiCache=GL.stringiCache[name];if(stringiCache){if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index]}switch(name){case 7939:var exts=webglGetExtensions().map(stringToNewUTF8);stringiCache=GL.stringiCache[name]=exts;if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index];default:GL.recordError(1280);return 0}};var _emscripten_glGetStringi=_glGetStringi;var _glGetSynciv=(sync,pname,bufSize,length,values)=>{if(bufSize<0){GL.recordError(1281);return}if(!values){GL.recordError(1281);return}var ret=GLctx.getSyncParameter(GL.syncs[sync],pname);if(ret!==null){HEAP32[values>>2]=ret;if(length)HEAP32[length>>2]=1}};var _emscripten_glGetSynciv=_glGetSynciv;var _glGetTexParameterfv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)};var _emscripten_glGetTexParameterfv=_glGetTexParameterfv;var _glGetTexParameteriv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)};var _emscripten_glGetTexParameteriv=_glGetTexParameteriv;var _glGetTransformFeedbackVarying=(program,index,bufSize,length,size,type,name)=>{program=GL.programs[program];var info=GLctx.getTransformFeedbackVarying(program,index);if(!info)return;if(name&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type};var _emscripten_glGetTransformFeedbackVarying=_glGetTransformFeedbackVarying;var _glGetUniformBlockIndex=(program,uniformBlockName)=>GLctx.getUniformBlockIndex(GL.programs[program],UTF8ToString(uniformBlockName));var _emscripten_glGetUniformBlockIndex=_glGetUniformBlockIndex;var _glGetUniformIndices=(program,uniformCount,uniformNames,uniformIndices)=>{if(!uniformIndices){GL.recordError(1281);return}if(uniformCount>0&&(uniformNames==0||uniformIndices==0)){GL.recordError(1281);return}program=GL.programs[program];var names=[];for(var i=0;i>2]));var result=GLctx.getUniformIndices(program,names);if(!result)return;var len=result.length;for(var i=0;i>2]=result[i]}};var _emscripten_glGetUniformIndices=_glGetUniformIndices;var jstoi_q=str=>parseInt(str);var webglGetLeftBracePos=name=>name.slice(-1)=="]"&&name.lastIndexOf("[");var webglPrepareUniformLocationsBeforeFirstUse=program=>{var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j{name=UTF8ToString(name);if(program=GL.programs[program]){webglPrepareUniformLocationsBeforeFirstUse(program);var uniformLocsById=program.uniformLocsById;var arrayIndex=0;var uniformBaseName=name;var leftBrace=webglGetLeftBracePos(name);if(leftBrace>0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex{var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc=="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?`[${webglLoc}]`:""))}return webglLoc}else{GL.recordError(1282)}};var emscriptenWebGLGetUniform=(program,location,params,type)=>{if(!params){GL.recordError(1281);return}program=GL.programs[program];webglPrepareUniformLocationsBeforeFirstUse(program);var data=GLctx.getUniform(program,webglGetUniformLocation(location));if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}};var _glGetUniformfv=(program,location,params)=>{emscriptenWebGLGetUniform(program,location,params,2)};var _emscripten_glGetUniformfv=_glGetUniformfv;var _glGetUniformiv=(program,location,params)=>{emscriptenWebGLGetUniform(program,location,params,0)};var _emscripten_glGetUniformiv=_glGetUniformiv;var _glGetUniformuiv=(program,location,params)=>emscriptenWebGLGetUniform(program,location,params,0);var _emscripten_glGetUniformuiv=_glGetUniformuiv;var emscriptenWebGLGetVertexAttrib=(index,pname,params,type)=>{if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}};var _glGetVertexAttribIiv=(index,pname,params)=>{emscriptenWebGLGetVertexAttrib(index,pname,params,0)};var _emscripten_glGetVertexAttribIiv=_glGetVertexAttribIiv;var _glGetVertexAttribIuiv=_glGetVertexAttribIiv;var _emscripten_glGetVertexAttribIuiv=_glGetVertexAttribIuiv;var _glGetVertexAttribPointerv=(index,pname,pointer)=>{if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)};var _emscripten_glGetVertexAttribPointerv=_glGetVertexAttribPointerv;var _glGetVertexAttribfv=(index,pname,params)=>{emscriptenWebGLGetVertexAttrib(index,pname,params,2)};var _emscripten_glGetVertexAttribfv=_glGetVertexAttribfv;var _glGetVertexAttribiv=(index,pname,params)=>{emscriptenWebGLGetVertexAttrib(index,pname,params,5)};var _emscripten_glGetVertexAttribiv=_glGetVertexAttribiv;var _glHint=(x0,x1)=>GLctx.hint(x0,x1);var _emscripten_glHint=_glHint;var _glInvalidateFramebuffer=(target,numAttachments,attachments)=>{var list=tempFixedLengthArray[numAttachments];for(var i=0;i>2]}GLctx.invalidateFramebuffer(target,list)};var _emscripten_glInvalidateFramebuffer=_glInvalidateFramebuffer;var _glInvalidateSubFramebuffer=(target,numAttachments,attachments,x,y,width,height)=>{var list=tempFixedLengthArray[numAttachments];for(var i=0;i>2]}GLctx.invalidateSubFramebuffer(target,list,x,y,width,height)};var _emscripten_glInvalidateSubFramebuffer=_glInvalidateSubFramebuffer;var _glIsBuffer=buffer=>{var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)};var _emscripten_glIsBuffer=_glIsBuffer;var _glIsEnabled=x0=>GLctx.isEnabled(x0);var _emscripten_glIsEnabled=_glIsEnabled;var _glIsFramebuffer=framebuffer=>{var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)};var _emscripten_glIsFramebuffer=_glIsFramebuffer;var _glIsProgram=program=>{program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)};var _emscripten_glIsProgram=_glIsProgram;var _glIsQuery=id=>{var query=GL.queries[id];if(!query)return 0;return GLctx.isQuery(query)};var _emscripten_glIsQuery=_glIsQuery;var _glIsQueryEXT=id=>{var query=GL.queries[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)};var _emscripten_glIsQueryEXT=_glIsQueryEXT;var _glIsRenderbuffer=renderbuffer=>{var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)};var _emscripten_glIsRenderbuffer=_glIsRenderbuffer;var _glIsSampler=id=>{var sampler=GL.samplers[id];if(!sampler)return 0;return GLctx.isSampler(sampler)};var _emscripten_glIsSampler=_glIsSampler;var _glIsShader=shader=>{var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)};var _emscripten_glIsShader=_glIsShader;var _glIsSync=sync=>GLctx.isSync(GL.syncs[sync]);var _emscripten_glIsSync=_glIsSync;var _glIsTexture=id=>{var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)};var _emscripten_glIsTexture=_glIsTexture;var _glIsTransformFeedback=id=>GLctx.isTransformFeedback(GL.transformFeedbacks[id]);var _emscripten_glIsTransformFeedback=_glIsTransformFeedback;var _glIsVertexArray=array=>{var vao=GL.vaos[array];if(!vao)return 0;return GLctx.isVertexArray(vao)};var _emscripten_glIsVertexArray=_glIsVertexArray;var _glIsVertexArrayOES=_glIsVertexArray;var _emscripten_glIsVertexArrayOES=_glIsVertexArrayOES;var _glLineWidth=x0=>GLctx.lineWidth(x0);var _emscripten_glLineWidth=_glLineWidth;var _glLinkProgram=program=>{program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}};var _emscripten_glLinkProgram=_glLinkProgram;var _glPauseTransformFeedback=()=>GLctx.pauseTransformFeedback();var _emscripten_glPauseTransformFeedback=_glPauseTransformFeedback;var _glPixelStorei=(pname,param)=>{if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)};var _emscripten_glPixelStorei=_glPixelStorei;var _glPolygonOffset=(x0,x1)=>GLctx.polygonOffset(x0,x1);var _emscripten_glPolygonOffset=_glPolygonOffset;var _glProgramBinary=(program,binaryFormat,binary,length)=>{GL.recordError(1280)};var _emscripten_glProgramBinary=_glProgramBinary;var _glProgramParameteri=(program,pname,value)=>{GL.recordError(1280)};var _emscripten_glProgramParameteri=_glProgramParameteri;var _glQueryCounterEXT=(id,target)=>{GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)};var _emscripten_glQueryCounterEXT=_glQueryCounterEXT;var _glReadBuffer=x0=>GLctx.readBuffer(x0);var _emscripten_glReadBuffer=_glReadBuffer;var computeUnpackAlignedImageSize=(width,height,sizePerPixel,alignment)=>{function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize};var colorChannelsInGlTextureFormat=format=>{var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1};var heapObjectForWebGLType=type=>{type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16};var toTypedArrayIndex=(pointer,heap)=>pointer>>>31-Math.clz32(heap.BYTES_PER_ELEMENT);var emscriptenWebGLGetTexPixelData=(type,format,width,height,pixels,internalFormat)=>{var heap=heapObjectForWebGLType(type);var sizePerPixel=colorChannelsInGlTextureFormat(format)*heap.BYTES_PER_ELEMENT;var bytes=computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);return heap.subarray(toTypedArrayIndex(pixels,heap),toTypedArrayIndex(pixels+bytes,heap))};var _glReadPixels=(x,y,width,height,format,type,pixels)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels)}else{var heap=heapObjectForWebGLType(type);var target=toTypedArrayIndex(pixels,heap);GLctx.readPixels(x,y,width,height,format,type,heap,target)}return}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)};var _emscripten_glReadPixels=_glReadPixels;var _glReleaseShaderCompiler=()=>{};var _emscripten_glReleaseShaderCompiler=_glReleaseShaderCompiler;var _glRenderbufferStorage=(x0,x1,x2,x3)=>GLctx.renderbufferStorage(x0,x1,x2,x3);var _emscripten_glRenderbufferStorage=_glRenderbufferStorage;var _glRenderbufferStorageMultisample=(x0,x1,x2,x3,x4)=>GLctx.renderbufferStorageMultisample(x0,x1,x2,x3,x4);var _emscripten_glRenderbufferStorageMultisample=_glRenderbufferStorageMultisample;var _glResumeTransformFeedback=()=>GLctx.resumeTransformFeedback();var _emscripten_glResumeTransformFeedback=_glResumeTransformFeedback;var _glSampleCoverage=(value,invert)=>{GLctx.sampleCoverage(value,!!invert)};var _emscripten_glSampleCoverage=_glSampleCoverage;var _glSamplerParameterf=(sampler,pname,param)=>{GLctx.samplerParameterf(GL.samplers[sampler],pname,param)};var _emscripten_glSamplerParameterf=_glSamplerParameterf;var _glSamplerParameterfv=(sampler,pname,params)=>{var param=HEAPF32[params>>2];GLctx.samplerParameterf(GL.samplers[sampler],pname,param)};var _emscripten_glSamplerParameterfv=_glSamplerParameterfv;var _glSamplerParameteri=(sampler,pname,param)=>{GLctx.samplerParameteri(GL.samplers[sampler],pname,param)};var _emscripten_glSamplerParameteri=_glSamplerParameteri;var _glSamplerParameteriv=(sampler,pname,params)=>{var param=HEAP32[params>>2];GLctx.samplerParameteri(GL.samplers[sampler],pname,param)};var _emscripten_glSamplerParameteriv=_glSamplerParameteriv;var _glScissor=(x0,x1,x2,x3)=>GLctx.scissor(x0,x1,x2,x3);var _emscripten_glScissor=_glScissor;var _glShaderBinary=(count,shaders,binaryformat,binary,length)=>{GL.recordError(1280)};var _emscripten_glShaderBinary=_glShaderBinary;var _glShaderSource=(shader,count,string,length)=>{var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)};var _emscripten_glShaderSource=_glShaderSource;var _glStencilFunc=(x0,x1,x2)=>GLctx.stencilFunc(x0,x1,x2);var _emscripten_glStencilFunc=_glStencilFunc;var _glStencilFuncSeparate=(x0,x1,x2,x3)=>GLctx.stencilFuncSeparate(x0,x1,x2,x3);var _emscripten_glStencilFuncSeparate=_glStencilFuncSeparate;var _glStencilMask=x0=>GLctx.stencilMask(x0);var _emscripten_glStencilMask=_glStencilMask;var _glStencilMaskSeparate=(x0,x1)=>GLctx.stencilMaskSeparate(x0,x1);var _emscripten_glStencilMaskSeparate=_glStencilMaskSeparate;var _glStencilOp=(x0,x1,x2)=>GLctx.stencilOp(x0,x1,x2);var _emscripten_glStencilOp=_glStencilOp;var _glStencilOpSeparate=(x0,x1,x2,x3)=>GLctx.stencilOpSeparate(x0,x1,x2,x3);var _emscripten_glStencilOpSeparate=_glStencilOpSeparate;var _glTexImage2D=(target,level,internalFormat,width,height,border,format,type,pixels)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,toTypedArrayIndex(pixels,heap))}else{GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,null)}return}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)};var _emscripten_glTexImage2D=_glTexImage2D;var _glTexImage3D=(target,level,internalFormat,width,height,depth,border,format,type,pixels)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,heap,toTypedArrayIndex(pixels,heap))}else{GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,null)}};var _emscripten_glTexImage3D=_glTexImage3D;var _glTexParameterf=(x0,x1,x2)=>GLctx.texParameterf(x0,x1,x2);var _emscripten_glTexParameterf=_glTexParameterf;var _glTexParameterfv=(target,pname,params)=>{var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)};var _emscripten_glTexParameterfv=_glTexParameterfv;var _glTexParameteri=(x0,x1,x2)=>GLctx.texParameteri(x0,x1,x2);var _emscripten_glTexParameteri=_glTexParameteri;var _glTexParameteriv=(target,pname,params)=>{var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)};var _emscripten_glTexParameteriv=_glTexParameteriv;var _glTexStorage2D=(x0,x1,x2,x3,x4)=>GLctx.texStorage2D(x0,x1,x2,x3,x4);var _emscripten_glTexStorage2D=_glTexStorage2D;var _glTexStorage3D=(x0,x1,x2,x3,x4,x5)=>GLctx.texStorage3D(x0,x1,x2,x3,x4,x5);var _emscripten_glTexStorage3D=_glTexStorage3D;var _glTexSubImage2D=(target,level,xoffset,yoffset,width,height,format,type,pixels)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,heap,toTypedArrayIndex(pixels,heap));return}}var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0):null;GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)};var _emscripten_glTexSubImage2D=_glTexSubImage2D;var _glTexSubImage3D=(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,heap,toTypedArrayIndex(pixels,heap))}else{GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,null)}};var _emscripten_glTexSubImage3D=_glTexSubImage3D;var _glTransformFeedbackVaryings=(program,count,varyings,bufferMode)=>{program=GL.programs[program];var vars=[];for(var i=0;i>2]));GLctx.transformFeedbackVaryings(program,vars,bufferMode)};var _emscripten_glTransformFeedbackVaryings=_glTransformFeedbackVaryings;var _glUniform1f=(location,v0)=>{GLctx.uniform1f(webglGetUniformLocation(location),v0)};var _emscripten_glUniform1f=_glUniform1f;var miniTempWebGLFloatBuffers=[];var _glUniform1fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform1fv(webglGetUniformLocation(location),HEAPF32,value>>2,count);return}if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(webglGetUniformLocation(location),view)};var _emscripten_glUniform1fv=_glUniform1fv;var _glUniform1i=(location,v0)=>{GLctx.uniform1i(webglGetUniformLocation(location),v0)};var _emscripten_glUniform1i=_glUniform1i;var miniTempWebGLIntBuffers=[];var _glUniform1iv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform1iv(webglGetUniformLocation(location),HEAP32,value>>2,count);return}if(count<=288){var view=miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(webglGetUniformLocation(location),view)};var _emscripten_glUniform1iv=_glUniform1iv;var _glUniform1ui=(location,v0)=>{GLctx.uniform1ui(webglGetUniformLocation(location),v0)};var _emscripten_glUniform1ui=_glUniform1ui;var _glUniform1uiv=(location,count,value)=>{count&&GLctx.uniform1uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count)};var _emscripten_glUniform1uiv=_glUniform1uiv;var _glUniform2f=(location,v0,v1)=>{GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)};var _emscripten_glUniform2f=_glUniform2f;var _glUniform2fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform2fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*2);return}if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(webglGetUniformLocation(location),view)};var _emscripten_glUniform2fv=_glUniform2fv;var _glUniform2i=(location,v0,v1)=>{GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)};var _emscripten_glUniform2i=_glUniform2i;var _glUniform2iv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform2iv(webglGetUniformLocation(location),HEAP32,value>>2,count*2);return}if(count<=144){var view=miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(webglGetUniformLocation(location),view)};var _emscripten_glUniform2iv=_glUniform2iv;var _glUniform2ui=(location,v0,v1)=>{GLctx.uniform2ui(webglGetUniformLocation(location),v0,v1)};var _emscripten_glUniform2ui=_glUniform2ui;var _glUniform2uiv=(location,count,value)=>{count&&GLctx.uniform2uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*2)};var _emscripten_glUniform2uiv=_glUniform2uiv;var _glUniform3f=(location,v0,v1,v2)=>{GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)};var _emscripten_glUniform3f=_glUniform3f;var _glUniform3fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform3fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*3);return}if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(webglGetUniformLocation(location),view)};var _emscripten_glUniform3fv=_glUniform3fv;var _glUniform3i=(location,v0,v1,v2)=>{GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)};var _emscripten_glUniform3i=_glUniform3i;var _glUniform3iv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform3iv(webglGetUniformLocation(location),HEAP32,value>>2,count*3);return}if(count<=96){var view=miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(webglGetUniformLocation(location),view)};var _emscripten_glUniform3iv=_glUniform3iv;var _glUniform3ui=(location,v0,v1,v2)=>{GLctx.uniform3ui(webglGetUniformLocation(location),v0,v1,v2)};var _emscripten_glUniform3ui=_glUniform3ui;var _glUniform3uiv=(location,count,value)=>{count&&GLctx.uniform3uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*3)};var _emscripten_glUniform3uiv=_glUniform3uiv;var _glUniform4f=(location,v0,v1,v2,v3)=>{GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)};var _emscripten_glUniform4f=_glUniform4f;var _glUniform4fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform4fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*4);return}if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value=value>>2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(webglGetUniformLocation(location),view)};var _emscripten_glUniform4fv=_glUniform4fv;var _glUniform4i=(location,v0,v1,v2,v3)=>{GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)};var _emscripten_glUniform4i=_glUniform4i;var _glUniform4iv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform4iv(webglGetUniformLocation(location),HEAP32,value>>2,count*4);return}if(count<=72){var view=miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(webglGetUniformLocation(location),view)};var _emscripten_glUniform4iv=_glUniform4iv;var _glUniform4ui=(location,v0,v1,v2,v3)=>{GLctx.uniform4ui(webglGetUniformLocation(location),v0,v1,v2,v3)};var _emscripten_glUniform4ui=_glUniform4ui;var _glUniform4uiv=(location,count,value)=>{count&&GLctx.uniform4uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*4)};var _emscripten_glUniform4uiv=_glUniform4uiv;var _glUniformBlockBinding=(program,uniformBlockIndex,uniformBlockBinding)=>{program=GL.programs[program];GLctx.uniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding)};var _emscripten_glUniformBlockBinding=_glUniformBlockBinding;var _glUniformMatrix2fv=(location,count,transpose,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*4);return}if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,view)};var _emscripten_glUniformMatrix2fv=_glUniformMatrix2fv;var _glUniformMatrix2x3fv=(location,count,transpose,value)=>{count&&GLctx.uniformMatrix2x3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*6)};var _emscripten_glUniformMatrix2x3fv=_glUniformMatrix2x3fv;var _glUniformMatrix2x4fv=(location,count,transpose,value)=>{count&&GLctx.uniformMatrix2x4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*8)};var _emscripten_glUniformMatrix2x4fv=_glUniformMatrix2x4fv;var _glUniformMatrix3fv=(location,count,transpose,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*9);return}if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)};var _emscripten_glUniformMatrix3fv=_glUniformMatrix3fv;var _glUniformMatrix3x2fv=(location,count,transpose,value)=>{count&&GLctx.uniformMatrix3x2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*6)};var _emscripten_glUniformMatrix3x2fv=_glUniformMatrix3x2fv;var _glUniformMatrix3x4fv=(location,count,transpose,value)=>{count&&GLctx.uniformMatrix3x4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*12)};var _emscripten_glUniformMatrix3x4fv=_glUniformMatrix3x4fv;var _glUniformMatrix4fv=(location,count,transpose,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*16);return}if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value=value>>2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)};var _emscripten_glUniformMatrix4fv=_glUniformMatrix4fv;var _glUniformMatrix4x2fv=(location,count,transpose,value)=>{count&&GLctx.uniformMatrix4x2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*8)};var _emscripten_glUniformMatrix4x2fv=_glUniformMatrix4x2fv;var _glUniformMatrix4x3fv=(location,count,transpose,value)=>{count&&GLctx.uniformMatrix4x3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*12)};var _emscripten_glUniformMatrix4x3fv=_glUniformMatrix4x3fv;var _glUseProgram=program=>{program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program};var _emscripten_glUseProgram=_glUseProgram;var _glValidateProgram=program=>{GLctx.validateProgram(GL.programs[program])};var _emscripten_glValidateProgram=_glValidateProgram;var _glVertexAttrib1f=(x0,x1)=>GLctx.vertexAttrib1f(x0,x1);var _emscripten_glVertexAttrib1f=_glVertexAttrib1f;var _glVertexAttrib1fv=(index,v)=>{GLctx.vertexAttrib1f(index,HEAPF32[v>>2])};var _emscripten_glVertexAttrib1fv=_glVertexAttrib1fv;var _glVertexAttrib2f=(x0,x1,x2)=>GLctx.vertexAttrib2f(x0,x1,x2);var _emscripten_glVertexAttrib2f=_glVertexAttrib2f;var _glVertexAttrib2fv=(index,v)=>{GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])};var _emscripten_glVertexAttrib2fv=_glVertexAttrib2fv;var _glVertexAttrib3f=(x0,x1,x2,x3)=>GLctx.vertexAttrib3f(x0,x1,x2,x3);var _emscripten_glVertexAttrib3f=_glVertexAttrib3f;var _glVertexAttrib3fv=(index,v)=>{GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])};var _emscripten_glVertexAttrib3fv=_glVertexAttrib3fv;var _glVertexAttrib4f=(x0,x1,x2,x3,x4)=>GLctx.vertexAttrib4f(x0,x1,x2,x3,x4);var _emscripten_glVertexAttrib4f=_glVertexAttrib4f;var _glVertexAttrib4fv=(index,v)=>{GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])};var _emscripten_glVertexAttrib4fv=_glVertexAttrib4fv;var _glVertexAttribDivisor=(index,divisor)=>{GLctx.vertexAttribDivisor(index,divisor)};var _emscripten_glVertexAttribDivisor=_glVertexAttribDivisor;var _glVertexAttribDivisorANGLE=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorANGLE=_glVertexAttribDivisorANGLE;var _glVertexAttribDivisorARB=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorARB=_glVertexAttribDivisorARB;var _glVertexAttribDivisorEXT=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorEXT=_glVertexAttribDivisorEXT;var _glVertexAttribDivisorNV=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorNV=_glVertexAttribDivisorNV;var _glVertexAttribI4i=(x0,x1,x2,x3,x4)=>GLctx.vertexAttribI4i(x0,x1,x2,x3,x4);var _emscripten_glVertexAttribI4i=_glVertexAttribI4i;var _glVertexAttribI4iv=(index,v)=>{GLctx.vertexAttribI4i(index,HEAP32[v>>2],HEAP32[v+4>>2],HEAP32[v+8>>2],HEAP32[v+12>>2])};var _emscripten_glVertexAttribI4iv=_glVertexAttribI4iv;var _glVertexAttribI4ui=(x0,x1,x2,x3,x4)=>GLctx.vertexAttribI4ui(x0,x1,x2,x3,x4);var _emscripten_glVertexAttribI4ui=_glVertexAttribI4ui;var _glVertexAttribI4uiv=(index,v)=>{GLctx.vertexAttribI4ui(index,HEAPU32[v>>2],HEAPU32[v+4>>2],HEAPU32[v+8>>2],HEAPU32[v+12>>2])};var _emscripten_glVertexAttribI4uiv=_glVertexAttribI4uiv;var _glVertexAttribIPointer=(index,size,type,stride,ptr)=>{GLctx.vertexAttribIPointer(index,size,type,stride,ptr)};var _emscripten_glVertexAttribIPointer=_glVertexAttribIPointer;var _glVertexAttribPointer=(index,size,type,normalized,stride,ptr)=>{GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)};var _emscripten_glVertexAttribPointer=_glVertexAttribPointer;var _glViewport=(x0,x1,x2,x3)=>GLctx.viewport(x0,x1,x2,x3);var _emscripten_glViewport=_glViewport;var _glWaitSync=(sync,flags,timeout_low,timeout_high)=>{var timeout=convertI32PairToI53(timeout_low,timeout_high);GLctx.waitSync(GL.syncs[sync],flags,timeout)};var _emscripten_glWaitSync=_glWaitSync;var _emscripten_has_asyncify=()=>0;var _emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var doRequestFullscreen=(target,strategy)=>{if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.webkitRequestFullscreen){return-3}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents_requestFullscreen,1,[target,strategy]);return 1}return-2}return JSEvents_requestFullscreen(target,strategy)};var _emscripten_request_fullscreen_strategy=(target,deferUntilInEventHandler,fullscreenStrategy)=>{var strategy={scaleMode:HEAP32[fullscreenStrategy>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>2],filteringMode:HEAP32[fullscreenStrategy+8>>2],deferUntilInEventHandler:deferUntilInEventHandler,canvasResizedCallback:HEAP32[fullscreenStrategy+12>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>2]};return doRequestFullscreen(target,strategy)};var _emscripten_request_pointerlock=(target,deferUntilInEventHandler)=>{target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(requestPointerLock,2,[target]);return 1}return-2}return requestPointerLock(target)};var abortOnCannotGrowMemory=requestedSize=>{abort("OOM")};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;abortOnCannotGrowMemory(requestedSize)};var _emscripten_sample_gamepad_data=()=>{try{if(navigator.getGamepads)return(JSEvents.lastGamepadState=navigator.getGamepads())?0:-1}catch(e){navigator.getGamepads=null}return-1};var registerBeforeUnloadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString)=>{var beforeUnloadEventHandlerFunc=(e=event)=>{var confirmationMessage=getWasmTableEntry(callbackfunc)(eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=UTF8ToString(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:beforeUnloadEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_beforeunload_callback_on_thread=(userData,callbackfunc,targetThread)=>{if(typeof onbeforeunload=="undefined")return-1;if(targetThread!==1)return-5;return registerBeforeUnloadEventCallback(2,userData,true,callbackfunc,28,"beforeunload")};var registerFocusEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.focusEvent)JSEvents.focusEvent=_malloc(256);var focusEventHandlerFunc=(e=event)=>{var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(getWasmTableEntry(callbackfunc)(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_blur_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread);var _emscripten_set_element_css_size=(target,width,height)=>{target=findEventTarget(target);if(!target)return-4;target.style.width=width+"px";target.style.height=height+"px";return 0};var _emscripten_set_focus_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread);var fillFullscreenChangeEventData=eventStruct=>{var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement?.id||"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}};var registerFullscreenChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=(e=event)=>{var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_fullscreenchange_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread)};var registerGamepadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=(e=event)=>{var gamepadEvent=JSEvents.gamepadEvent;fillGamepadEventData(gamepadEvent,e["gamepad"]);if(getWasmTableEntry(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_gamepadconnected_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(_emscripten_sample_gamepad_data())return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread)};var _emscripten_set_gamepaddisconnected_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(_emscripten_sample_gamepad_data())return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread)};var registerKeyEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(176);var keyEventHandlerFunc=e=>{var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;HEAP32[idx+7]=e.repeat;HEAP32[idx+8]=e.charCode;HEAP32[idx+9]=e.keyCode;HEAP32[idx+10]=e.which;stringToUTF8(e.key||"",keyEventData+44,32);stringToUTF8(e.code||"",keyEventData+76,32);stringToUTF8(e.char||"",keyEventData+108,32);stringToUTF8(e.locale||"",keyEventData+140,32);if(getWasmTableEntry(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_keydown_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);var _emscripten_set_keypress_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);var _emscripten_set_keyup_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread);var _emscripten_set_main_loop=(func,fps,simulateInfiniteLoop)=>{var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)};var fillMouseEventData=(eventStruct,e,target)=>{HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP32[idx+6]=e.ctrlKey;HEAP32[idx+7]=e.shiftKey;HEAP32[idx+8]=e.altKey;HEAP32[idx+9]=e.metaKey;HEAP16[idx*2+20]=e.button;HEAP16[idx*2+21]=e.buttons;HEAP32[idx+11]=e["movementX"];HEAP32[idx+12]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+13]=e.clientX-(rect.left|0);HEAP32[idx+14]=e.clientY-(rect.top|0)};var registerMouseEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=findEventTarget(target);var mouseEventHandlerFunc=(e=event)=>{fillMouseEventData(JSEvents.mouseEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_mousedown_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread);var _emscripten_set_mouseenter_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter",targetThread);var _emscripten_set_mouseleave_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave",targetThread);var _emscripten_set_mousemove_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread);var _emscripten_set_mouseup_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread);var fillPointerlockChangeEventData=eventStruct=>{var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement?.id||"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)};var registerPointerlockChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.pointerlockChangeEvent)JSEvents.pointerlockChangeEvent=_malloc(260);var pointerlockChangeEventHandlerFunc=(e=event)=>{var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(pointerlockChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_pointerlockchange_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange",targetThread);return registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange",targetThread)};var registerUiEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.uiEvent)JSEvents.uiEvent=_malloc(36);target=findEventTarget(target);var uiEventHandlerFunc=(e=event)=>{if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>2]=0;HEAP32[uiEvent+4>>2]=b.clientWidth;HEAP32[uiEvent+8>>2]=b.clientHeight;HEAP32[uiEvent+12>>2]=innerWidth;HEAP32[uiEvent+16>>2]=innerHeight;HEAP32[uiEvent+20>>2]=outerWidth;HEAP32[uiEvent+24>>2]=outerHeight;HEAP32[uiEvent+28>>2]=pageXOffset|0;HEAP32[uiEvent+32>>2]=pageYOffset|0;if(getWasmTableEntry(callbackfunc)(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_resize_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread);var registerTouchEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1696);target=findEventTarget(target);var touchEventHandlerFunc=e=>{var t,touches={},et=e.touches;for(var i=0;i>3]=e.timeStamp;var idx=touchEvent>>2;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;idx+=7;var targetRect=getBoundingClientRect(target);var numTouches=0;for(var i in touches){t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-(targetRect.left|0);HEAP32[idx+10]=t.clientY-(targetRect.top|0);idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent+8>>2]=numTouches;if(getWasmTableEntry(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_touchcancel_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);var _emscripten_set_touchend_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);var _emscripten_set_touchmove_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);var _emscripten_set_touchstart_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);var fillVisibilityChangeEventData=eventStruct=>{var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP32[eventStruct>>2]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState};var registerVisibilityChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.visibilityChangeEvent)JSEvents.visibilityChangeEvent=_malloc(8);var visibilityChangeEventHandlerFunc=(e=event)=>{var visibilityChangeEvent=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(visibilityChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_visibilitychange_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(!specialHTMLTargets[1]){return-4}return registerVisibilityChangeEventCallback(specialHTMLTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread)};var registerWheelEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.wheelEvent)JSEvents.wheelEvent=_malloc(104);var wheelHandlerFunc=(e=event)=>{var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+72>>3]=e["deltaX"];HEAPF64[wheelEvent+80>>3]=e["deltaY"];HEAPF64[wheelEvent+88>>3]=e["deltaZ"];HEAP32[wheelEvent+96>>2]=e["deltaMode"];if(getWasmTableEntry(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:wheelHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_wheel_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{target=findEventTarget(target);if(!target)return-4;if(typeof target.onwheel!="undefined"){return registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread)}else{return-1}};var _emscripten_set_window_title=title=>document.title=UTF8ToString(title);var _emscripten_sleep=()=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_sleep"};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var arraySum=(array,index)=>{var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum};var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];var addDays=(date,days)=>{var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var _strftime=(s,maxsize,format,tm)=>{var tm_zone=HEAPU32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":date=>WEEKDAYS[date.tm_wday].substring(0,3),"%A":date=>WEEKDAYS[date.tm_wday],"%b":date=>MONTHS[date.tm_mon].substring(0,3),"%B":date=>MONTHS[date.tm_mon],"%C":date=>{var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":date=>leadingNulls(date.tm_mday,2),"%e":date=>leadingSomething(date.tm_mday,2," "),"%g":date=>getWeekBasedYear(date).toString().substring(2),"%G":getWeekBasedYear,"%H":date=>leadingNulls(date.tm_hour,2),"%I":date=>{var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":date=>leadingNulls(date.tm_mday+arraySum(isLeapYear(date.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,date.tm_mon-1),3),"%m":date=>leadingNulls(date.tm_mon+1,2),"%M":date=>leadingNulls(date.tm_min,2),"%n":()=>"\n","%p":date=>{if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":date=>leadingNulls(date.tm_sec,2),"%t":()=>"\t","%u":date=>date.tm_wday||7,"%U":date=>{var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":date=>{var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":date=>date.tm_wday,"%W":date=>{var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":date=>(date.tm_year+1900).toString().substring(2),"%Y":date=>date.tm_year+1900,"%z":date=>{var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":date=>date.tm_zone,"%%":()=>"%"};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1};var _strftime_l=(s,maxsize,format,tm,loc)=>_strftime(s,maxsize,format,tm);var listenOnce=(object,event,func)=>{object.addEventListener(event,func,{"once":true})};var autoResumeAudioContext=(ctx,elements)=>{if(!elements){elements=[document,document.getElementById("canvas")]}["keydown","mousedown","touchstart"].forEach(event=>{elements.forEach(element=>{if(element){listenOnce(element,event,()=>{if(ctx.state==="suspended")ctx.resume()})}})})};var dynCallLegacy=(sig,ptr,args)=>{var f=Module["dynCall_"+sig];return f(ptr,...args)};var dynCall=(sig,ptr,args=[])=>{if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr)(...args);return rtn};FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_unlink"]=FS.unlink;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["requestFullscreen"]=Browser.requestFullscreen;Module["requestAnimationFrame"]=Browser.requestAnimationFrame;Module["setCanvasSize"]=Browser.setCanvasSize;Module["pauseMainLoop"]=Browser.mainLoop.pause;Module["resumeMainLoop"]=Browser.mainLoop.resume;Module["getUserMedia"]=Browser.getUserMedia;Module["createContext"]=Browser.createContext;var preloadedImages={};var preloadedAudios={};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){miniTempWebGLIntBuffers[i]=miniTempWebGLIntBuffersStorage.subarray(0,i+1)}var wasmImports={p:___cxa_begin_catch,v:___cxa_end_catch,a:___cxa_find_matching_catch_2,h:___cxa_find_matching_catch_3,I:___cxa_rethrow,o:___cxa_throw,ab:___cxa_uncaught_exceptions,b:___resumeException,ha:___syscall_fcntl64,fb:___syscall_ioctl,gb:___syscall_openat,ad:__emscripten_fs_load_embedded_files,hb:__emscripten_get_now_is_monotonic,D:_abort,Ua:_eglBindAPI,Xa:_eglChooseConfig,La:_eglCreateContext,Na:_eglCreateWindowSurface,Ma:_eglDestroyContext,Oa:_eglDestroySurface,Za:_eglGetConfigAttrib,ca:_eglGetDisplay,Ka:_eglGetError,Va:_eglInitialize,Pa:_eglMakeCurrent,Ja:_eglQueryString,Qa:_eglSwapBuffers,Ra:_eglSwapInterval,Wa:_eglTerminate,Ta:_eglWaitGL,Sa:_eglWaitNative,mc:_emscripten_asm_const_int,q:_emscripten_asm_const_int_sync_on_main_thread,na:_emscripten_asm_const_ptr_sync_on_main_thread,oa:_emscripten_cancel_main_loop,ia:_emscripten_date_now,Ea:_emscripten_exit_fullscreen,Ha:_emscripten_exit_pointerlock,Rc:_emscripten_force_exit,y:_emscripten_get_device_pixel_ratio,u:_emscripten_get_element_css_size,la:_emscripten_get_gamepad_status,H:_emscripten_get_now,Tb:_emscripten_get_num_gamepads,Ia:_emscripten_get_screen_size,$f:_emscripten_glActiveTexture,_f:_emscripten_glAttachShader,$c:_emscripten_glBeginQuery,Aa:_emscripten_glBeginQueryEXT,Hc:_emscripten_glBeginTransformFeedback,Zf:_emscripten_glBindAttribLocation,Yf:_emscripten_glBindBuffer,Ec:_emscripten_glBindBufferBase,Fc:_emscripten_glBindBufferRange,Xf:_emscripten_glBindFramebuffer,Wf:_emscripten_glBindRenderbuffer,Kb:_emscripten_glBindSampler,Vf:_emscripten_glBindTexture,Cb:_emscripten_glBindTransformFeedback,Mc:_emscripten_glBindVertexArray,sa:_emscripten_glBindVertexArrayOES,Uf:_emscripten_glBlendColor,Tf:_emscripten_glBlendEquation,Sf:_emscripten_glBlendEquationSeparate,Rf:_emscripten_glBlendFunc,Qf:_emscripten_glBlendFuncSeparate,Pc:_emscripten_glBlitFramebuffer,Pf:_emscripten_glBufferData,Of:_emscripten_glBufferSubData,Nf:_emscripten_glCheckFramebufferStatus,Mf:_emscripten_glClear,gc:_emscripten_glClearBufferfi,hc:_emscripten_glClearBufferfv,jc:_emscripten_glClearBufferiv,ic:_emscripten_glClearBufferuiv,Lf:_emscripten_glClearColor,Kf:_emscripten_glClearDepthf,Jf:_emscripten_glClearStencil,Ub:_emscripten_glClientWaitSync,If:_emscripten_glColorMask,Hf:_emscripten_glCompileShader,Gf:_emscripten_glCompressedTexImage2D,fd:_emscripten_glCompressedTexImage3D,Ff:_emscripten_glCompressedTexSubImage2D,ed:_emscripten_glCompressedTexSubImage3D,ec:_emscripten_glCopyBufferSubData,Ef:_emscripten_glCopyTexImage2D,Df:_emscripten_glCopyTexSubImage2D,gd:_emscripten_glCopyTexSubImage3D,Cf:_emscripten_glCreateProgram,Bf:_emscripten_glCreateShader,Af:_emscripten_glCullFace,zf:_emscripten_glDeleteBuffers,yf:_emscripten_glDeleteFramebuffers,xf:_emscripten_glDeleteProgram,cd:_emscripten_glDeleteQueries,Ca:_emscripten_glDeleteQueriesEXT,wf:_emscripten_glDeleteRenderbuffers,Mb:_emscripten_glDeleteSamplers,vf:_emscripten_glDeleteShader,Vb:_emscripten_glDeleteSync,uf:_emscripten_glDeleteTextures,Bb:_emscripten_glDeleteTransformFeedbacks,Lc:_emscripten_glDeleteVertexArrays,ra:_emscripten_glDeleteVertexArraysOES,tf:_emscripten_glDepthFunc,sf:_emscripten_glDepthMask,rf:_emscripten_glDepthRangef,qf:_emscripten_glDetachShader,pf:_emscripten_glDisable,of:_emscripten_glDisableVertexAttribArray,nf:_emscripten_glDrawArrays,Zb:_emscripten_glDrawArraysInstanced,cg:_emscripten_glDrawArraysInstancedANGLE,lb:_emscripten_glDrawArraysInstancedARB,od:_emscripten_glDrawArraysInstancedEXT,mb:_emscripten_glDrawArraysInstancedNV,Xc:_emscripten_glDrawBuffers,md:_emscripten_glDrawBuffersEXT,dg:_emscripten_glDrawBuffersWEBGL,mf:_emscripten_glDrawElements,Yb:_emscripten_glDrawElementsInstanced,bg:_emscripten_glDrawElementsInstancedANGLE,jb:_emscripten_glDrawElementsInstancedARB,kb:_emscripten_glDrawElementsInstancedEXT,nd:_emscripten_glDrawElementsInstancedNV,jd:_emscripten_glDrawRangeElements,lf:_emscripten_glEnable,kf:_emscripten_glEnableVertexAttribArray,_c:_emscripten_glEndQuery,za:_emscripten_glEndQueryEXT,Gc:_emscripten_glEndTransformFeedback,Xb:_emscripten_glFenceSync,jf:_emscripten_glFinish,hf:_emscripten_glFlush,gf:_emscripten_glFramebufferRenderbuffer,ff:_emscripten_glFramebufferTexture2D,Nc:_emscripten_glFramebufferTextureLayer,ef:_emscripten_glFrontFace,df:_emscripten_glGenBuffers,bf:_emscripten_glGenFramebuffers,dd:_emscripten_glGenQueries,Da:_emscripten_glGenQueriesEXT,af:_emscripten_glGenRenderbuffers,Nb:_emscripten_glGenSamplers,$e:_emscripten_glGenTextures,Ab:_emscripten_glGenTransformFeedbacks,Kc:_emscripten_glGenVertexArrays,qa:_emscripten_glGenVertexArraysOES,cf:_emscripten_glGenerateMipmap,_e:_emscripten_glGetActiveAttrib,Ze:_emscripten_glGetActiveUniform,$b:_emscripten_glGetActiveUniformBlockName,ac:_emscripten_glGetActiveUniformBlockiv,cc:_emscripten_glGetActiveUniformsiv,Ye:_emscripten_glGetAttachedShaders,Xe:_emscripten_glGetAttribLocation,We:_emscripten_glGetBooleanv,Ob:_emscripten_glGetBufferParameteri64v,Ve:_emscripten_glGetBufferParameteriv,Ue:_emscripten_glGetError,Te:_emscripten_glGetFloatv,tc:_emscripten_glGetFragDataLocation,Se:_emscripten_glGetFramebufferAttachmentParameteriv,Pb:_emscripten_glGetInteger64i_v,Rb:_emscripten_glGetInteger64v,Ic:_emscripten_glGetIntegeri_v,Re:_emscripten_glGetIntegerv,pb:_emscripten_glGetInternalformativ,wb:_emscripten_glGetProgramBinary,Pe:_emscripten_glGetProgramInfoLog,Qe:_emscripten_glGetProgramiv,ua:_emscripten_glGetQueryObjecti64vEXT,wa:_emscripten_glGetQueryObjectivEXT,ta:_emscripten_glGetQueryObjectui64vEXT,Yc:_emscripten_glGetQueryObjectuiv,va:_emscripten_glGetQueryObjectuivEXT,Zc:_emscripten_glGetQueryiv,xa:_emscripten_glGetQueryivEXT,Oe:_emscripten_glGetRenderbufferParameteriv,Eb:_emscripten_glGetSamplerParameterfv,Fb:_emscripten_glGetSamplerParameteriv,Me:_emscripten_glGetShaderInfoLog,Le:_emscripten_glGetShaderPrecisionFormat,Ke:_emscripten_glGetShaderSource,Ne:_emscripten_glGetShaderiv,Je:_emscripten_glGetString,fc:_emscripten_glGetStringi,Qb:_emscripten_glGetSynciv,Ie:_emscripten_glGetTexParameterfv,He:_emscripten_glGetTexParameteriv,Cc:_emscripten_glGetTransformFeedbackVarying,bc:_emscripten_glGetUniformBlockIndex,dc:_emscripten_glGetUniformIndices,De:_emscripten_glGetUniformLocation,Ge:_emscripten_glGetUniformfv,Fe:_emscripten_glGetUniformiv,uc:_emscripten_glGetUniformuiv,Ac:_emscripten_glGetVertexAttribIiv,zc:_emscripten_glGetVertexAttribIuiv,Ae:_emscripten_glGetVertexAttribPointerv,Ce:_emscripten_glGetVertexAttribfv,Be:_emscripten_glGetVertexAttribiv,ze:_emscripten_glHint,tb:_emscripten_glInvalidateFramebuffer,sb:_emscripten_glInvalidateSubFramebuffer,ye:_emscripten_glIsBuffer,xe:_emscripten_glIsEnabled,we:_emscripten_glIsFramebuffer,ve:_emscripten_glIsProgram,bd:_emscripten_glIsQuery,Ba:_emscripten_glIsQueryEXT,ue:_emscripten_glIsRenderbuffer,Lb:_emscripten_glIsSampler,te:_emscripten_glIsShader,Wb:_emscripten_glIsSync,se:_emscripten_glIsTexture,zb:_emscripten_glIsTransformFeedback,Jc:_emscripten_glIsVertexArray,pa:_emscripten_glIsVertexArrayOES,re:_emscripten_glLineWidth,qe:_emscripten_glLinkProgram,yb:_emscripten_glPauseTransformFeedback,pe:_emscripten_glPixelStorei,oe:_emscripten_glPolygonOffset,vb:_emscripten_glProgramBinary,ub:_emscripten_glProgramParameteri,ya:_emscripten_glQueryCounterEXT,kd:_emscripten_glReadBuffer,ne:_emscripten_glReadPixels,me:_emscripten_glReleaseShaderCompiler,le:_emscripten_glRenderbufferStorage,Oc:_emscripten_glRenderbufferStorageMultisample,xb:_emscripten_glResumeTransformFeedback,ke:_emscripten_glSampleCoverage,Hb:_emscripten_glSamplerParameterf,Gb:_emscripten_glSamplerParameterfv,Jb:_emscripten_glSamplerParameteri,Ib:_emscripten_glSamplerParameteriv,je:_emscripten_glScissor,ie:_emscripten_glShaderBinary,he:_emscripten_glShaderSource,ge:_emscripten_glStencilFunc,fe:_emscripten_glStencilFuncSeparate,ee:_emscripten_glStencilMask,de:_emscripten_glStencilMaskSeparate,ce:_emscripten_glStencilOp,be:_emscripten_glStencilOpSeparate,ae:_emscripten_glTexImage2D,id:_emscripten_glTexImage3D,$d:_emscripten_glTexParameterf,_d:_emscripten_glTexParameterfv,Zd:_emscripten_glTexParameteri,Yd:_emscripten_glTexParameteriv,rb:_emscripten_glTexStorage2D,qb:_emscripten_glTexStorage3D,Xd:_emscripten_glTexSubImage2D,hd:_emscripten_glTexSubImage3D,Dc:_emscripten_glTransformFeedbackVaryings,Wd:_emscripten_glUniform1f,Vd:_emscripten_glUniform1fv,Ud:_emscripten_glUniform1i,Td:_emscripten_glUniform1iv,sc:_emscripten_glUniform1ui,oc:_emscripten_glUniform1uiv,Sd:_emscripten_glUniform2f,Qd:_emscripten_glUniform2fv,Pd:_emscripten_glUniform2i,Od:_emscripten_glUniform2iv,rc:_emscripten_glUniform2ui,nc:_emscripten_glUniform2uiv,Nd:_emscripten_glUniform3f,Md:_emscripten_glUniform3fv,Ld:_emscripten_glUniform3i,Kd:_emscripten_glUniform3iv,qc:_emscripten_glUniform3ui,lc:_emscripten_glUniform3uiv,Jd:_emscripten_glUniform4f,Id:_emscripten_glUniform4fv,Hd:_emscripten_glUniform4i,Fd:_emscripten_glUniform4iv,pc:_emscripten_glUniform4ui,kc:_emscripten_glUniform4uiv,_b:_emscripten_glUniformBlockBinding,Ed:_emscripten_glUniformMatrix2fv,Wc:_emscripten_glUniformMatrix2x3fv,Uc:_emscripten_glUniformMatrix2x4fv,Dd:_emscripten_glUniformMatrix3fv,Vc:_emscripten_glUniformMatrix3x2fv,Sc:_emscripten_glUniformMatrix3x4fv,Cd:_emscripten_glUniformMatrix4fv,Tc:_emscripten_glUniformMatrix4x2fv,Qc:_emscripten_glUniformMatrix4x3fv,Bd:_emscripten_glUseProgram,Ad:_emscripten_glValidateProgram,zd:_emscripten_glVertexAttrib1f,yd:_emscripten_glVertexAttrib1fv,xd:_emscripten_glVertexAttrib2f,wd:_emscripten_glVertexAttrib2fv,vd:_emscripten_glVertexAttrib3f,ud:_emscripten_glVertexAttrib3fv,td:_emscripten_glVertexAttrib4f,sd:_emscripten_glVertexAttrib4fv,Db:_emscripten_glVertexAttribDivisor,ag:_emscripten_glVertexAttribDivisorANGLE,nb:_emscripten_glVertexAttribDivisorARB,pd:_emscripten_glVertexAttribDivisorEXT,ob:_emscripten_glVertexAttribDivisorNV,yc:_emscripten_glVertexAttribI4i,wc:_emscripten_glVertexAttribI4iv,xc:_emscripten_glVertexAttribI4ui,vc:_emscripten_glVertexAttribI4uiv,Bc:_emscripten_glVertexAttribIPointer,rd:_emscripten_glVertexAttribPointer,qd:_emscripten_glViewport,Sb:_emscripten_glWaitSync,G:_emscripten_has_asyncify,ib:_emscripten_memcpy_js,Fa:_emscripten_request_fullscreen_strategy,ba:_emscripten_request_pointerlock,bb:_emscripten_resize_heap,ma:_emscripten_sample_gamepad_data,J:_emscripten_set_beforeunload_callback_on_thread,V:_emscripten_set_blur_callback_on_thread,x:_emscripten_set_canvas_element_size,C:_emscripten_set_element_css_size,W:_emscripten_set_focus_callback_on_thread,M:_emscripten_set_fullscreenchange_callback_on_thread,ka:_emscripten_set_gamepadconnected_callback_on_thread,ja:_emscripten_set_gamepaddisconnected_callback_on_thread,P:_emscripten_set_keydown_callback_on_thread,N:_emscripten_set_keypress_callback_on_thread,O:_emscripten_set_keyup_callback_on_thread,Ee:_emscripten_set_main_loop,$:_emscripten_set_mousedown_callback_on_thread,Z:_emscripten_set_mouseenter_callback_on_thread,Y:_emscripten_set_mouseleave_callback_on_thread,aa:_emscripten_set_mousemove_callback_on_thread,_:_emscripten_set_mouseup_callback_on_thread,Q:_emscripten_set_pointerlockchange_callback_on_thread,L:_emscripten_set_resize_callback_on_thread,R:_emscripten_set_touchcancel_callback_on_thread,T:_emscripten_set_touchend_callback_on_thread,S:_emscripten_set_touchmove_callback_on_thread,U:_emscripten_set_touchstart_callback_on_thread,K:_emscripten_set_visibilitychange_callback_on_thread,X:_emscripten_set_wheel_callback_on_thread,Ga:_emscripten_set_window_title,F:_emscripten_sleep,cb:_environ_get,db:_environ_sizes_get,fa:_fd_close,eb:_fd_read,_a:_fd_seek,ga:_fd_write,Rd:invoke_di,ld:invoke_dii,E:invoke_diii,da:invoke_fiii,g:invoke_i,c:invoke_ii,e:invoke_iii,i:invoke_iiii,l:invoke_iiiii,n:invoke_iiiiii,s:invoke_iiiiiii,ea:invoke_iiiiiiii,A:invoke_iiiiiiiiiiii,Ya:invoke_jiiii,j:invoke_v,k:invoke_vi,Gd:invoke_vid,d:invoke_vii,f:invoke_viii,m:invoke_viiii,t:invoke_viiiii,B:invoke_viiiiii,r:invoke_viiiiiii,w:invoke_viiiiiiiiii,z:invoke_viiiiiiiiiiiiiii,$a:_strftime_l};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["fg"])();var ___cxa_free_exception=a0=>(___cxa_free_exception=wasmExports["__cxa_free_exception"])(a0);var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["hg"])(a0,a1);var _malloc=a0=>(_malloc=wasmExports["ig"])(a0);var _setThrew=(a0,a1)=>(_setThrew=wasmExports["jg"])(a0,a1);var setTempRet0=a0=>(setTempRet0=wasmExports["kg"])(a0);var stackSave=()=>(stackSave=wasmExports["lg"])();var stackRestore=a0=>(stackRestore=wasmExports["mg"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["ng"])(a0);var ___cxa_decrement_exception_refcount=a0=>(___cxa_decrement_exception_refcount=wasmExports["og"])(a0);var ___cxa_increment_exception_refcount=a0=>(___cxa_increment_exception_refcount=wasmExports["pg"])(a0);var ___cxa_can_catch=(a0,a1,a2)=>(___cxa_can_catch=wasmExports["qg"])(a0,a1,a2);var ___cxa_is_pointer_type=a0=>(___cxa_is_pointer_type=wasmExports["rg"])(a0);var dynCall_jiji=Module["dynCall_jiji"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["sg"])(a0,a1,a2,a3,a4);var dynCall_ji=Module["dynCall_ji"]=(a0,a1)=>(dynCall_ji=Module["dynCall_ji"]=wasmExports["tg"])(a0,a1);var dynCall_viijii=Module["dynCall_viijii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_viijii=Module["dynCall_viijii"]=wasmExports["ug"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_jiiii=Module["dynCall_jiiii"]=(a0,a1,a2,a3,a4)=>(dynCall_jiiii=Module["dynCall_jiiii"]=wasmExports["vg"])(a0,a1,a2,a3,a4);var dynCall_iiiiij=Module["dynCall_iiiiij"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiiiij=Module["dynCall_iiiiij"]=wasmExports["wg"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=wasmExports["xg"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=wasmExports["yg"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var ___emscripten_embedded_file_data=Module["___emscripten_embedded_file_data"]=406576;function invoke_ii(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_di(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vid(index,a1,a2){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_dii(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_fiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_unlink"]=FS.unlink;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args=[]){var entryFunction=_main;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args=arguments_){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run(); diff --git a/eulamadness.wasm b/eulamadness.wasm index daea0bc435af273c495091270e8da4205616f662..0231e565d72e8c062091e5cd463caacd6d3776a2 100755 GIT binary patch delta 330010 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 delta 252961 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�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 X`$p&E94~X%v=bdG`MY^UPfz