From 94e6d6d912739ef57980175551e291d986e6b6fe Mon Sep 17 00:00:00 2001 From: MeGaL0DoN <62940883+MeGaL0DoN@users.noreply.github.com> Date: Tue, 26 Nov 2024 20:52:20 -0800 Subject: [PATCH] Add files via upload --- MegaBoy.js | 2 +- MegaBoy.wasm | Bin 1015005 -> 1019492 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/MegaBoy.js b/MegaBoy.js index cbd81f6..3532ea3 100644 --- a/MegaBoy.js +++ b/MegaBoy.js @@ -1 +1 @@ -var Module=typeof Module!="undefined"?Module:{};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";if(ENVIRONMENT_IS_NODE){}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);var ret=fs.readFileSync(filename);return ret};readAsync=(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return new Promise((resolve,reject)=>{fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)reject(err);else resolve(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)}{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=>{if(isFileURI(url)){return new Promise((reject,resolve)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response)}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}return fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}}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"];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://");function findWasmBinary(){var f="MegaBoy.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return readAsync(binaryFile).then(response=>new Uint8Array(response),()=>getBinarySync(binaryFile))}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);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 getWasmImports(){return{a:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["Kb"];updateMemoryViews();wasmTable=wasmExports["Wb"];addOnInit(wasmExports["Lb"]);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}}if(!wasmBinaryFile)wasmBinaryFile=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;var ASM_CONSTS={157424:()=>window.screen.width*window.devicePixelRatio,157482:()=>window.screen.height*window.devicePixelRatio,157541:()=>window.devicePixelRatio,157577:()=>window.devicePixelRatio,157613:()=>window.innerWidth,157643:()=>window.innerHeight,157674:()=>{FS.mkdir("/data");FS.mount(IDBFS,{autoPersist:true},"/data");FS.syncfs(true,function(err){if(err!=null){console.log(err)}FS.mkdir("/batterySaves");FS.mount(IDBFS,{autoPersist:true},"/batterySaves");FS.syncfs(true,function(err){if(err!=null){console.log(err)}});Module.ccall("runApp",null,[],[])})},158018:($0,$1,$2,$3,$4)=>{if(typeof window==="undefined"||(window.AudioContext||window.webkitAudioContext)===undefined){return 0}if(typeof window.miniaudio==="undefined"){window.miniaudio={referenceCount:0};window.miniaudio.device_type={};window.miniaudio.device_type.playback=$0;window.miniaudio.device_type.capture=$1;window.miniaudio.device_type.duplex=$2;window.miniaudio.device_state={};window.miniaudio.device_state.stopped=$3;window.miniaudio.device_state.started=$4;miniaudio.devices=[];miniaudio.track_device=function(device){for(var iDevice=0;iDevice0){if(miniaudio.devices[miniaudio.devices.length-1]==null){miniaudio.devices.pop()}else{break}}};miniaudio.untrack_device=function(device){for(var iDevice=0;iDevice{Module._ma_device__on_notification_unlocked(device.pDevice)},error=>{console.error("Failed to resume audiocontext",error)})}}miniaudio.unlock_event_types.map(function(event_type){document.removeEventListener(event_type,miniaudio.unlock,true)})};miniaudio.unlock_event_types.map(function(event_type){document.addEventListener(event_type,miniaudio.unlock,true)})}window.miniaudio.referenceCount+=1;return 1},160176:()=>{if(typeof window.miniaudio!=="undefined"){window.miniaudio.referenceCount-=1;if(window.miniaudio.referenceCount===0){delete window.miniaudio}}},160340:()=>navigator.mediaDevices!==undefined&&navigator.mediaDevices.getUserMedia!==undefined,160444:()=>{try{var temp=new(window.AudioContext||window.webkitAudioContext);var sampleRate=temp.sampleRate;temp.close();return sampleRate}catch(e){return 0}},160615:($0,$1,$2,$3,$4,$5)=>{var deviceType=$0;var channels=$1;var sampleRate=$2;var bufferSize=$3;var pIntermediaryBuffer=$4;var pDevice=$5;if(typeof window.miniaudio==="undefined"){return-1}var device={};var audioContextOptions={};if(deviceType==window.miniaudio.device_type.playback&&sampleRate!=0){audioContextOptions.sampleRate=sampleRate}device.webaudio=new(window.AudioContext||window.webkitAudioContext)(audioContextOptions);device.webaudio.suspend();device.state=window.miniaudio.device_state.stopped;var channelCountIn=0;var channelCountOut=channels;if(deviceType!=window.miniaudio.device_type.playback){channelCountIn=channels}device.scriptNode=device.webaudio.createScriptProcessor(bufferSize,channelCountIn,channelCountOut);device.scriptNode.onaudioprocess=function(e){if(device.intermediaryBufferView==null||device.intermediaryBufferView.length==0){device.intermediaryBufferView=new Float32Array(Module.HEAPF32.buffer,pIntermediaryBuffer,bufferSize*channels)}if(deviceType==miniaudio.device_type.capture||deviceType==miniaudio.device_type.duplex){for(var iChannel=0;iChannelminiaudio.get_device_by_index($0).webaudio.sampleRate,163509:$0=>{var device=miniaudio.get_device_by_index($0);if(device.scriptNode!==undefined){device.scriptNode.onaudioprocess=function(e){};device.scriptNode.disconnect();device.scriptNode=undefined}if(device.streamNode!==undefined){device.streamNode.disconnect();device.streamNode=undefined}device.webaudio.close();device.webaudio=undefined;device.pDevice=undefined},163902:$0=>{miniaudio.untrack_device_by_index($0)},163945:$0=>{var device=miniaudio.get_device_by_index($0);device.webaudio.resume();device.state=miniaudio.device_state.started},164070:$0=>{var device=miniaudio.get_device_by_index($0);device.webaudio.suspend();device.state=miniaudio.device_state.stopped}};function upload(accept_types,callback,callback_data){globalThis["open_file"]=function(e){const file_reader=new FileReader;file_reader.onload=event=>{const uint8Arr=new Uint8Array(event.target.result);const data_ptr=Module["_malloc"](uint8Arr.length);const data_on_heap=new Uint8Array(Module["HEAPU8"].buffer,data_ptr,uint8Arr.length);data_on_heap.set(uint8Arr);Module["ccall"]("upload_file_return","number",["string","string","number","number","number","number"],[event.target.filename,event.target.mime_type,data_on_heap.byteOffset,uint8Arr.length,callback,callback_data]);Module["_free"](data_ptr)};file_reader.filename=e.target.files[0].name;file_reader.mime_type=e.target.files[0].type;file_reader.readAsArrayBuffer(e.target.files[0])};var file_selector=document.createElement("input");file_selector.setAttribute("type","file");file_selector.setAttribute("onchange",'globalThis["open_file"](event)');file_selector.style.outline="none";file_selector.addEventListener("cancel",()=>{Module["ccall"]("upload_file_return","number",["string","string","number","number","number","number"],["","",0,0,callback,callback_data])});file_selector.setAttribute("accept",UTF8ToString(accept_types));var is_safari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);if(is_safari){var dialog=document.createElement("dialog");dialog.setAttribute("id","EmJsFileDialog");file_selector.setAttribute("onclick",'var dg = document.getElementById("EmJsFileDialog"); dg.close(); dg.remove()');dialog.appendChild(file_selector);var cancel_button=document.createElement("button");cancel_button.textContent="Cancel";cancel_button.setAttribute("onclick",'var dg = document.getElementById("EmJsFileDialog"); dg.close(); dg.remove()');var lineBreak=document.createElement("br");dialog.appendChild(lineBreak);dialog.appendChild(cancel_button);document.body.append(dialog);dialog.showModal()}else{file_selector.click()}}function download(filename,mime_type,buffer,buffer_size){var a=document.createElement("a");a.download=UTF8ToString(filename);a.href=URL.createObjectURL(new Blob([new Uint8Array(Module["HEAPU8"].buffer,buffer,buffer_size)],{type:UTF8ToString(mime_type)}));a.click()}function ImGui_ImplGlfw_EmscriptenOpenURL(url){url=url?UTF8ToString(url):null;if(url)window.open(url,"_blank")}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;var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();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 exceptionLast=0;var uncaughtExceptionCount=0;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};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,0,BUFSIZE)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var 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},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).then(arrayBuffer=>{onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},err=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var IDBFS={dbs:{},indexedDB:()=>{if(typeof indexedDB!="undefined")return indexedDB;var ret=null;if(typeof window=="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",queuePersist:mount=>{function onPersistComplete(){if(mount.idbPersistState==="again")startPersist();else mount.idbPersistState=0}function startPersist(){mount.idbPersistState="idb";IDBFS.syncfs(mount,false,onPersistComplete)}if(!mount.idbPersistState){mount.idbPersistState=setTimeout(startPersist,0)}else if(mount.idbPersistState==="idb"){mount.idbPersistState="again"}},mount:mount=>{var mnt=MEMFS.mount(mount);if(mount?.opts?.autoPersist){mnt.idbPersistState=0;var memfs_node_ops=mnt.node_ops;mnt.node_ops=Object.assign({},mnt.node_ops);mnt.node_ops.mknod=(parent,name,mode,dev)=>{var node=memfs_node_ops.mknod(parent,name,mode,dev);node.node_ops=mnt.node_ops;node.idbfs_mount=mnt.mount;node.memfs_stream_ops=node.stream_ops;node.stream_ops=Object.assign({},node.stream_ops);node.stream_ops.write=(stream,buffer,offset,length,position,canOwn)=>{stream.node.isModified=true;return node.memfs_stream_ops.write(stream,buffer,offset,length,position,canOwn)};node.stream_ops.close=stream=>{var n=stream.node;if(n.isModified){IDBFS.queuePersist(n.idbfs_mount);n.isModified=false}if(n.memfs_stream_ops.close)return n.memfs_stream_ops.close(stream)};return node};mnt.node_ops.mkdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.mkdir(...args));mnt.node_ops.rmdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rmdir(...args));mnt.node_ops.symlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.symlink(...args));mnt.node_ops.unlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.unlink(...args));mnt.node_ops.rename=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rename(...args))}return mnt},syncfs:(mount,populate,callback)=>{IDBFS.getLocalSet(mount,(err,local)=>{if(err)return callback(err);IDBFS.getRemoteSet(mount,(err,remote)=>{if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},quit:()=>{Object.values(IDBFS.dbs).forEach(value=>value.close());IDBFS.dbs={}},getDB:(name,callback)=>{var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=e=>{var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=()=>{db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=e=>{callback(e.target.error);e.preventDefault()}},getLocalSet:(mount,callback)=>{var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return p=>PATH.join2(root,p)}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push(...FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:(mount,callback)=>{var entries={};IDBFS.getDB(mount.mountpoint,(err,db)=>{if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=e=>{callback(e.target.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=event=>{var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:(path,callback)=>{var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:(path,entry,callback)=>{try{if(FS.isDir(entry["mode"])){FS.mkdirTree(path,entry["mode"])}else if(FS.isFile(entry["mode"])){FS.writeFile(path,entry["contents"],{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry["mode"]);FS.utime(path,entry["timestamp"],entry["timestamp"])}catch(e){return callback(e)}callback(null)},removeLocalEntry:(path,callback)=>{try{var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:(store,path,callback)=>{var req=store.get(path);req.onsuccess=event=>callback(null,event.target.result);req.onerror=e=>{callback(e.target.error);e.preventDefault()}},storeRemoteEntry:(store,path,entry,callback)=>{try{var req=store.put(entry,path)}catch(e){callback(e);return}req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},removeRemoteEntry:(store,path,callback)=>{var req=store.delete(path);req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},reconcile:(src,dst,callback)=>{var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e["timestamp"].getTime()!=e2["timestamp"].getTime()){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){if(!src.entries[key]){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=transaction.onabort=e=>{done(e.target.error);e.preventDefault()};transaction.oncomplete=e=>{if(!errored){callback(null)}};create.sort().forEach(path=>{if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(err,entry)=>{if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,(err,entry)=>{if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(path=>{if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var 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,IDBFS:IDBFS}},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)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function syscallGetVarargI(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret}var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>{abort("")};var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var __emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};var setTempRet0=val=>__emscripten_tempret_set(val);var __mktime_js=function(tmPtr){var ret=(()=>{var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getYear();var timeMs=date.getTime();if(isNaN(timeMs)){return-1}return timeMs/1e3})();return setTempRet0((tempDouble=ret,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),ret>>>0};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset{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_double=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);var _emscripten_date_now=()=>Date.now();var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};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 call of JSEvents.deferredCalls){if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort((x,y)=>x.precedencecall.targetFunction!=targetFunction)},canPerformEventHandlerRequests(){if(navigator.userActivation){return navigator.userActivation.isActive}return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls(){if(!JSEvents.canPerformEventHandlerRequests()){return}var deferredCalls=JSEvents.deferredCalls;JSEvents.deferredCalls=[];for(var call of deferredCalls){call.targetFunction(...call.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(target,eventTypeString)=>{for(var i=0;icString>2?UTF8ToString(cString):cString;var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];var findEventTarget=target=>{target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement};var 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 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 _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 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:2};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)}Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}else{if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var coords=Browser.calculateMouseCoords(touch.pageX,touch.pageY);if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];last||=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}Browser.setMouseCoords(event.pageX,event.pageY)}},resizeListeners:[],updateResizeListeners(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h{Browser.mainLoop.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){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 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 _emscripten_set_main_loop=(func,fps,simulateInfiniteLoop)=>{var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)};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 fillVisibilityChangeEventData=eventStruct=>{var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP8[eventStruct]=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 ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_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 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=["EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw"];return(ctx.getSupportedExtensions()||[]).filter(ext=>supportedExtensions.includes(ext))};var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:errorCode=>{if(!GL.lastError){GL.lastError=errorCode}},getNewId:table=>{var ret=GL.counter++;for(var i=table.length;i{for(var i=0;i>2]=id}},getSource:(shader,count,string,length)=>{var source="";for(var i=0;i>2]:undefined;source+=UTF8ToString(HEAPU32[string+i*4>>2],len)}return source},createContext:(canvas,webGLContextAttributes)=>{if(!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=canvas.getContext("webgl2",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_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 _glActiveTexture=x0=>GLctx.activeTexture(x0);var _glAttachShader=(program,shader)=>{GLctx.attachShader(GL.programs[program],GL.shaders[shader])};var _glBindBuffer=(target,buffer)=>{if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])};var _glBindTexture=(target,texture)=>{GLctx.bindTexture(target,GL.textures[texture])};var _glBindVertexArray=vao=>{GLctx.bindVertexArray(GL.vaos[vao])};var _glBindVertexArrayOES=_glBindVertexArray;var _glBlendEquation=x0=>GLctx.blendEquation(x0);var _glBlendEquationSeparate=(x0,x1)=>GLctx.blendEquationSeparate(x0,x1);var _glBlendFunc=(x0,x1)=>GLctx.blendFunc(x0,x1);var _glBlendFuncSeparate=(x0,x1,x2,x3)=>GLctx.blendFuncSeparate(x0,x1,x2,x3);var _glBufferData=(target,size,data,usage)=>{if(true){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}return}GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)};var _glBufferSubData=(target,offset,size,data)=>{if(true){size&&GLctx.bufferSubData(target,offset,HEAPU8,data,size);return}GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))};var _glClear=x0=>GLctx.clear(x0);var _glClearColor=(x0,x1,x2,x3)=>GLctx.clearColor(x0,x1,x2,x3);var _glCompileShader=shader=>{GLctx.compileShader(GL.shaders[shader])};var _glCreateProgram=()=>{var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id};var _glCreateShader=shaderType=>{var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id};var _glDeleteShader=id=>{if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null};var _glDeleteVertexArrays=(n,vaos)=>{for(var i=0;i>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}};var _glDeleteVertexArraysOES=_glDeleteVertexArrays;var _glDetachShader=(program,shader)=>{GLctx.detachShader(GL.programs[program],GL.shaders[shader])};var _glDisable=x0=>GLctx.disable(x0);var _glDrawElements=(mode,count,type,indices)=>{GLctx.drawElements(mode,count,type,indices)};var _glEnable=x0=>GLctx.enable(x0);var _glEnableVertexAttribArray=index=>{GLctx.enableVertexAttribArray(index)};var _glGenBuffers=(n,buffers)=>{GL.genObject(n,buffers,"createBuffer",GL.buffers)};var _glGenTextures=(n,textures)=>{GL.genObject(n,textures,"createTexture",GL.textures)};var _glGenVertexArrays=(n,arrays)=>{GL.genObject(n,arrays,"createVertexArray",GL.vaos)};var _glGenVertexArraysOES=_glGenVertexArrays;var _glGenerateMipmap=x0=>GLctx.generateMipmap(x0);var _glGetAttribLocation=(program,name)=>GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name));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 _glGetIntegerv=(name_,p)=>emscriptenWebGLGet(name_,p,0);var _glGetProgramInfoLog=(program,maxLength,length,infoLog)=>{var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _glGetProgramiv=(program,pname,p)=>{if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}};var _glGetShaderInfoLog=(shader,maxLength,length,infoLog)=>{var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _glGetShaderiv=(shader,pname,p)=>{if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}};var 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&&arrayIndexGLctx.isEnabled(x0);var _glIsProgram=program=>{program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)};var _glLinkProgram=program=>{program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}};var computeUnpackAlignedImageSize=(width,height,sizePerPixel)=>{function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=(GL.unpackRowLength||width)*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,GL.unpackAlignment);return height*alignedRowSize};var colorChannelsInGlTextureFormat=format=>{var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1};var heapObjectForWebGLType=type=>{type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16};var toTypedArrayIndex=(pointer,heap)=>pointer>>>31-Math.clz32(heap.BYTES_PER_ELEMENT);var emscriptenWebGLGetTexPixelData=(type,format,width,height,pixels,internalFormat)=>{var heap=heapObjectForWebGLType(type);var sizePerPixel=colorChannelsInGlTextureFormat(format)*heap.BYTES_PER_ELEMENT;var bytes=computeUnpackAlignedImageSize(width,height,sizePerPixel);return heap.subarray(toTypedArrayIndex(pixels,heap),toTypedArrayIndex(pixels+bytes,heap))};var _glReadPixels=(x,y,width,height,format,type,pixels)=>{if(true){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels);return}var heap=heapObjectForWebGLType(type);var target=toTypedArrayIndex(pixels,heap);GLctx.readPixels(x,y,width,height,format,type,heap,target);return}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)};var _glScissor=(x0,x1,x2,x3)=>GLctx.scissor(x0,x1,x2,x3);var _glShaderSource=(shader,count,string,length)=>{var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)};var _glTexImage2D=(target,level,internalFormat,width,height,border,format,type,pixels)=>{if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels);return}if(pixels){var heap=heapObjectForWebGLType(type);var index=toTypedArrayIndex(pixels,heap);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,index);return}}var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null;GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)};var _glTexParameteri=(x0,x1,x2)=>GLctx.texParameteri(x0,x1,x2);var _glTexSubImage2D=(target,level,xoffset,yoffset,width,height,format,type,pixels)=>{if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels);return}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 webglGetUniformLocation=location=>{var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc=="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?`[${webglLoc}]`:""))}return webglLoc}else{GL.recordError(1282)}};var _glUniform1f=(location,v0)=>{GLctx.uniform1f(webglGetUniformLocation(location),v0)};var _glUniform1i=(location,v0)=>{GLctx.uniform1i(webglGetUniformLocation(location),v0)};var _glUniform2f=(location,v0,v1)=>{GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)};var _glUniformMatrix4fv=(location,count,transpose,value)=>{count&&GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*16)};var _glUseProgram=program=>{program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program};var _glVertexAttribPointer=(index,size,type,normalized,stride,ptr)=>{GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)};var _glViewport=(x0,x1,x2,x3)=>GLctx.viewport(x0,x1,x2,x3);function GLFW_Window(id,width,height,framebufferWidth,framebufferHeight,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.framebufferWidth=framebufferWidth;this.framebufferHeight=framebufferHeight;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=Object.assign({},GLFW.hints);this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=0;this.windowSizeFunc=0;this.windowCloseFunc=0;this.windowRefreshFunc=0;this.windowFocusFunc=0;this.windowIconifyFunc=0;this.windowMaximizeFunc=0;this.framebufferSizeFunc=0;this.windowContentScaleFunc=0;this.mouseButtonFunc=0;this.cursorPosFunc=0;this.cursorEnterFunc=0;this.scrollFunc=0;this.dropFunc=0;this.keyFunc=0;this.charFunc=0;this.userptr=0}var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var _emscripten_set_window_title=title=>document.title=UTF8ToString(title);var GLFW={WindowFromId:id=>{if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:0,errorFunc:0,monitorFunc:0,active:null,scale:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,devicePixelRatioMQL:null,hints:null,primaryTouchId:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,131082:0,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0,139276:0},DOMToGLFWKeyCode:keycode=>{switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 96;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 224:return 343;case 93:return 348;default:return-1}},getModBits:win=>{var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343]||win.keys[348])mod|=8;return mod},onKeyPress:event=>{if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;getWasmTableEntry(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:(keyCode,status)=>{if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(GLFW.active.keyFunc){if(repeat)status=2;getWasmTableEntry(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))}},onGamepadConnected:event=>{GLFW.refreshJoysticks()},onGamepadDisconnected:event=>{GLFW.refreshJoysticks()},onKeydown:event=>{GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:event=>{GLFW.onKeyChanged(event.keyCode,0)},onBlur:event=>{if(!GLFW.active)return;for(var i=0;i{if(!GLFW.active)return;if(event.type==="touchmove"){event.preventDefault();let primaryChanged=false;for(let i of event.changedTouches){if(GLFW.primaryTouchId===i.identifier){Browser.setMouseCoords(i.pageX,i.pageY);primaryChanged=true;break}}if(!primaryChanged){return}}else{Browser.calculateMouseEvent(event)}if(event.target!=Module["canvas"]||!GLFW.active.cursorPosFunc)return;if(GLFW.active.cursorPosFunc){getWasmTableEntry(GLFW.active.cursorPosFunc)(GLFW.active.id,Browser.mouseX,Browser.mouseY)}},DOMToGLFWMouseButton:event=>{var eventButton=event["button"];if(eventButton>0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:event=>{if(!GLFW.active)return;if(event.target!=Module["canvas"])return;if(GLFW.active.cursorEnterFunc){getWasmTableEntry(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)}},onMouseleave:event=>{if(!GLFW.active)return;if(event.target!=Module["canvas"])return;if(GLFW.active.cursorEnterFunc){getWasmTableEntry(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)}},onMouseButtonChanged:(event,status)=>{if(!GLFW.active)return;if(event.target!=Module["canvas"])return;const isTouchType=event.type==="touchstart"||event.type==="touchend"||event.type==="touchcancel";let eventButton=0;if(isTouchType){event.preventDefault();let primaryChanged=false;if(GLFW.primaryTouchId===null&&event.type==="touchstart"&&event.targetTouches.length>0){const chosenTouch=event.targetTouches[0];GLFW.primaryTouchId=chosenTouch.identifier;Browser.setMouseCoords(chosenTouch.pageX,chosenTouch.pageY);primaryChanged=true}else if(event.type==="touchend"||event.type==="touchcancel"){for(let i of event.changedTouches){if(GLFW.primaryTouchId===i.identifier){GLFW.primaryTouchId=null;primaryChanged=true;break}}}if(!primaryChanged){return}}else{Browser.calculateMouseEvent(event);eventButton=GLFW.DOMToGLFWMouseButton(event)}if(status==1){GLFW.active.buttons|=1<{if(!GLFW.active)return;GLFW.onMouseButtonChanged(event,1)},onMouseButtonUp:event=>{if(!GLFW.active)return;GLFW.onMouseButtonChanged(event,0)},onMouseWheel:event=>{var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=delta;if(event.type=="mousewheel"){sx=event.wheelDeltaX}else{sx=event.deltaX}getWasmTableEntry(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:(width,height,framebufferWidth,framebufferHeight)=>{if(!GLFW.active)return;var resizeNeeded=false;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){if(!GLFW.active.fullscreen){resizeNeeded=width!=screen.width||height!=screen.height;GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}}else if(GLFW.active.fullscreen==true){resizeNeeded=width!=GLFW.active.storedWidth||height!=GLFW.active.storedHeight;GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height)}else if(GLFW.active.width!=width||GLFW.active.height!=height||GLFW.active.framebufferWidth!=framebufferWidth||GLFW.active.framebufferHeight!=framebufferHeight){GLFW.active.width=width;GLFW.active.height=height;GLFW.active.framebufferWidth=framebufferWidth;GLFW.active.framebufferHeight=framebufferHeight;GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:()=>{if(!GLFW.active)return;if(GLFW.active.windowSizeFunc){getWasmTableEntry(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)}},onFramebufferSizeChanged:()=>{if(!GLFW.active)return;if(GLFW.active.framebufferSizeFunc){getWasmTableEntry(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.framebufferWidth,GLFW.active.framebufferHeight)}},onWindowContentScaleChanged:scale=>{GLFW.scale=scale;if(!GLFW.active)return;if(GLFW.active.windowContentScaleFunc){getWasmTableEntry(GLFW.active.windowContentScaleFunc)(GLFW.active.id,GLFW.scale,GLFW.scale)}},getTime:()=>_emscripten_get_now()/1e3,setWindowTitle:(winid,title)=>{var win=GLFW.WindowFromId(winid);if(!win)return;win.title=title;if(GLFW.active.id==win.id){_emscripten_set_window_title(title)}},setJoystickCallback:cbfun=>{var prevcbfun=GLFW.joystickFunc;GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks();return prevcbfun},joys:{},lastGamepadState:[],lastGamepadStateFrame:null,refreshJoysticks:()=>{if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads||[];GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy>2]=gamepad.axes[i]}}else{if(GLFW.joys[joy]){out("glfw joystick disconnected",joy);if(GLFW.joystickFunc){getWasmTableEntry(GLFW.joystickFunc)(joy,262146)}_free(GLFW.joys[joy].id);_free(GLFW.joys[joy].buttons);_free(GLFW.joys[joy].axes);delete GLFW.joys[joy]}}}}},setKeyCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.keyFunc;win.keyFunc=cbfun;return prevcbfun},setCharCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.charFunc;win.charFunc=cbfun;return prevcbfun},setMouseButtonCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.mouseButtonFunc;win.mouseButtonFunc=cbfun;return prevcbfun},setCursorPosCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.cursorPosFunc;win.cursorPosFunc=cbfun;return prevcbfun},setScrollCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.scrollFunc;win.scrollFunc=cbfun;return prevcbfun},setDropCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.dropFunc;win.dropFunc=cbfun;return prevcbfun},onDrop:event=>{if(!GLFW.active||!GLFW.active.dropFunc)return;if(!event.dataTransfer||!event.dataTransfer.files||event.dataTransfer.files.length==0)return;event.preventDefault();var filenames=_malloc(event.dataTransfer.files.length*4);var filenamesArray=[];var count=event.dataTransfer.files.length;var written=0;var drop_dir=".glfw_dropped_files";FS.createPath("/",drop_dir);function save(file){var path="/"+drop_dir+"/"+file.name.replace(/\//g,"_");var reader=new FileReader;reader.onloadend=e=>{if(reader.readyState!=2){++written;out("failed to read dropped file: "+file.name+": "+reader.error);return}var data=e.target.result;FS.writeFile(path,new Uint8Array(data));if(++written===count){getWasmTableEntry(GLFW.active.dropFunc)(GLFW.active.id,count,filenames);for(var i=0;i>2]=filename}for(var i=0;i{if(!GLFW.active||!GLFW.active.dropFunc)return;event.preventDefault();return false},setWindowSizeCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowSizeFunc;win.windowSizeFunc=cbfun;return prevcbfun},setWindowCloseCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowCloseFunc;win.windowCloseFunc=cbfun;return prevcbfun},setWindowRefreshCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowRefreshFunc;win.windowRefreshFunc=cbfun;return prevcbfun},onClickRequestPointerLock:e=>{if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();e.preventDefault()}},setInputMode:(winid,mode,value)=>{var win=GLFW.WindowFromId(winid);if(!win)return;switch(mode){case 208897:{switch(value){case 212993:{win.inputModes[mode]=value;Module["canvas"].removeEventListener("click",GLFW.onClickRequestPointerLock,true);Module["canvas"].exitPointerLock();break}case 212994:{err("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented");break}case 212995:{win.inputModes[mode]=value;Module["canvas"].addEventListener("click",GLFW.onClickRequestPointerLock,true);Module["canvas"].requestPointerLock();break}default:{err(`glfwSetInputMode called with unknown value parameter value: ${value}`);break}}break}case 208898:{err("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented");break}case 208899:{err("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented");break}case 208900:{err("glfwSetInputMode called with GLFW_LOCK_KEY_MODS mode not implemented");break}case 3342341:{err("glfwSetInputMode called with GLFW_RAW_MOUSE_MOTION mode not implemented");break}default:{err(`glfwSetInputMode called with unknown mode parameter value: ${mode}`);break}}},getKey:(winid,key)=>{var win=GLFW.WindowFromId(winid);if(!win)return 0;return win.keys[key]},getMouseButton:(winid,button)=>{var win=GLFW.WindowFromId(winid);if(!win)return 0;return(win.buttons&1<0},getCursorPos:(winid,x,y)=>{HEAPF64[x>>3]=Browser.mouseX;HEAPF64[y>>3]=Browser.mouseY},getMousePos:(winid,x,y)=>{HEAP32[x>>2]=Browser.mouseX;HEAP32[y>>2]=Browser.mouseY},setCursorPos:(winid,x,y)=>{},getWindowPos:(winid,x,y)=>{var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){HEAP32[x>>2]=wx}if(y){HEAP32[y>>2]=wy}},setWindowPos:(winid,x,y)=>{var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:(winid,width,height)=>{var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){HEAP32[width>>2]=ww}if(height){HEAP32[height>>2]=wh}},setWindowSize:(winid,width,height)=>{var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){Browser.setCanvasSize(width,height)}},defaultWindowHints:()=>{GLFW.hints=Object.assign({},GLFW.defaultHints)},createWindow:(width,height,title,monitor,share)=>{var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;const canvas=Module["canvas"];var win=new GLFW_Window(id,canvas.clientWidth,canvas.clientHeight,canvas.width,canvas.height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;GLFW.adjustCanvasDimensions();return win.id},destroyWindow:winid=>{var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc){getWasmTableEntry(win.windowCloseFunc)(win.id)}GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i{},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);Browser.updateResizeListeners()}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas);Browser.updateResizeListeners()}}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()},updateCanvasDimensions(canvas,wNative,hNative){const scale=GLFW.getHiDPIScale();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{var win=GLFW.WindowFromId(winid);if(!win)return;const isHiDPIAware=GLFW.isHiDPIAware();win.attributes[attrib]=value;if(isHiDPIAware!==GLFW.isHiDPIAware())GLFW.adjustCanvasDimensions()},getDevicePixelRatio(){return typeof devicePixelRatio=="number"&&devicePixelRatio||1},isHiDPIAware(){if(GLFW.active)return GLFW.active.attributes[139276]>0;else return false},adjustCanvasDimensions(){const canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,canvas.clientWidth,canvas.clientHeight);Browser.updateResizeListeners()},getHiDPIScale(){return GLFW.isHiDPIAware()?GLFW.scale:1},onDevicePixelRatioChange(){GLFW.onWindowContentScaleChanged(GLFW.getDevicePixelRatio());GLFW.adjustCanvasDimensions()},GLFW2ParamToGLFW3Param:param=>{var table={196609:0,196610:0,196611:0,196612:0,196613:0,196614:0,131073:0,131074:0,131075:0,131076:0,131077:135169,131078:135170,131079:135171,131080:135172,131081:135173,131082:135174,131083:135183,131084:135175,131085:135176,131086:135177,131087:135178,131088:135179,131089:135180,131090:0,131091:135181,131092:139266,131093:139267,131094:139270,131095:139271,131096:139272};return table[param]}};var _glfwCreateStandardCursor=shape=>{};var _glfwCreateWindow=(width,height,title,monitor,share)=>GLFW.createWindow(width,height,title,monitor,share);var _glfwDestroyWindow=winid=>GLFW.destroyWindow(winid);var _glfwFocusWindow=winid=>{};var _glfwGetClipboardString=win=>{};var _glfwGetCurrentContext=()=>GLFW.active?GLFW.active.id:0;var _glfwGetCursorPos=(winid,x,y)=>GLFW.getCursorPos(winid,x,y);var _glfwGetFramebufferSize=(winid,width,height)=>{var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.framebufferWidth;wh=win.framebufferHeight}if(width){HEAP32[width>>2]=ww}if(height){HEAP32[height>>2]=wh}};var _glfwGetInputMode=(winid,mode)=>{var win=GLFW.WindowFromId(winid);if(!win)return;switch(mode){case 208897:{if(Browser.pointerLock){win.inputModes[mode]=212995}else{win.inputModes[mode]=212993}}}return win.inputModes[mode]};var _glfwGetJoystickAxes=(joy,count)=>{GLFW.refreshJoysticks();var state=GLFW.joys[joy];if(!state||!state.axes){HEAP32[count>>2]=0;return}HEAP32[count>>2]=state.axesCount;return state.axes};var _glfwGetJoystickButtons=(joy,count)=>{GLFW.refreshJoysticks();var state=GLFW.joys[joy];if(!state||!state.buttons){HEAP32[count>>2]=0;return}HEAP32[count>>2]=state.buttonsCount;return state.buttons};var _glfwGetKey=(winid,key)=>GLFW.getKey(winid,key);var _glfwGetMonitorContentScale=(monitor,x,y)=>{HEAPF32[x>>2]=GLFW.scale;HEAPF32[y>>2]=GLFW.scale};var _glfwGetMonitorPos=(monitor,x,y)=>{HEAP32[x>>2]=0;HEAP32[y>>2]=0};var _glfwGetMonitorWorkarea=(monitor,x,y,w,h)=>{HEAP32[x>>2]=0;HEAP32[y>>2]=0;HEAP32[w>>2]=screen.availWidth;HEAP32[h>>2]=screen.availHeight};var _glfwGetMonitors=count=>{HEAP32[count>>2]=1;if(!GLFW.monitors){GLFW.monitors=_malloc(4);HEAP32[GLFW.monitors>>2]=1}return GLFW.monitors};var _glfwGetTime=()=>GLFW.getTime()-GLFW.initialTime;var _glfwGetVideoMode=monitor=>0;var _glfwGetWindowAttrib=(winid,attrib)=>{var win=GLFW.WindowFromId(winid);if(!win)return 0;return win.attributes[attrib]};var _glfwGetWindowContentScale=(winid,x,y)=>{HEAPF32[x>>2]=GLFW.scale;HEAPF32[y>>2]=GLFW.scale};var _glfwGetWindowPos=(winid,x,y)=>GLFW.getWindowPos(winid,x,y);var _glfwGetWindowSize=(winid,width,height)=>GLFW.getWindowSize(winid,width,height);var _glfwInit=()=>{if(GLFW.windows)return 1;GLFW.initialTime=GLFW.getTime();GLFW.defaultWindowHints();GLFW.windows=new Array;GLFW.active=null;GLFW.scale=GLFW.getDevicePixelRatio();window.addEventListener("gamepadconnected",GLFW.onGamepadConnected,true);window.addEventListener("gamepaddisconnected",GLFW.onGamepadDisconnected,true);window.addEventListener("keydown",GLFW.onKeydown,true);window.addEventListener("keypress",GLFW.onKeyPress,true);window.addEventListener("keyup",GLFW.onKeyup,true);window.addEventListener("blur",GLFW.onBlur,true);GLFW.devicePixelRatioMQL=window.matchMedia("(resolution: "+GLFW.getDevicePixelRatio()+"dppx)");GLFW.devicePixelRatioMQL.addEventListener("change",GLFW.onDevicePixelRatioChange);Module["canvas"].addEventListener("touchmove",GLFW.onMousemove,true);Module["canvas"].addEventListener("touchstart",GLFW.onMouseButtonDown,true);Module["canvas"].addEventListener("touchcancel",GLFW.onMouseButtonUp,true);Module["canvas"].addEventListener("touchend",GLFW.onMouseButtonUp,true);Module["canvas"].addEventListener("mousemove",GLFW.onMousemove,true);Module["canvas"].addEventListener("mousedown",GLFW.onMouseButtonDown,true);Module["canvas"].addEventListener("mouseup",GLFW.onMouseButtonUp,true);Module["canvas"].addEventListener("wheel",GLFW.onMouseWheel,true);Module["canvas"].addEventListener("mousewheel",GLFW.onMouseWheel,true);Module["canvas"].addEventListener("mouseenter",GLFW.onMouseenter,true);Module["canvas"].addEventListener("mouseleave",GLFW.onMouseleave,true);Module["canvas"].addEventListener("drop",GLFW.onDrop,true);Module["canvas"].addEventListener("dragover",GLFW.onDragover,true);Browser.requestFullscreen=GLFW.requestFullscreen;Browser.calculateMouseCoords=GLFW.calculateMouseCoords;Browser.updateCanvasDimensions=GLFW.updateCanvasDimensions;Browser.resizeListeners.push((width,height)=>{if(GLFW.isHiDPIAware()){var canvas=Module["canvas"];GLFW.onCanvasResize(canvas.clientWidth,canvas.clientHeight,width,height)}else{GLFW.onCanvasResize(width,height,width,height)}});return 1};var _glfwMakeContextCurrent=winid=>{};var _glfwPollEvents=()=>{};var _glfwSetCharCallback=(winid,cbfun)=>GLFW.setCharCallback(winid,cbfun);var _glfwSetClipboardString=(win,string)=>{};var _glfwSetCursor=(winid,cursor)=>{};var _glfwSetCursorEnterCallback=(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.cursorEnterFunc;win.cursorEnterFunc=cbfun;return prevcbfun};var _glfwSetCursorPos=(winid,x,y)=>GLFW.setCursorPos(winid,x,y);var _glfwSetCursorPosCallback=(winid,cbfun)=>GLFW.setCursorPosCallback(winid,cbfun);var _glfwSetDropCallback=(winid,cbfun)=>GLFW.setDropCallback(winid,cbfun);var _glfwSetErrorCallback=cbfun=>{var prevcbfun=GLFW.errorFunc;GLFW.errorFunc=cbfun;return prevcbfun};var _glfwSetInputMode=(winid,mode,value)=>{GLFW.setInputMode(winid,mode,value)};var _glfwSetKeyCallback=(winid,cbfun)=>GLFW.setKeyCallback(winid,cbfun);var _glfwSetMonitorCallback=cbfun=>{var prevcbfun=GLFW.monitorFunc;GLFW.monitorFunc=cbfun;return prevcbfun};var _glfwSetMouseButtonCallback=(winid,cbfun)=>GLFW.setMouseButtonCallback(winid,cbfun);var _glfwSetScrollCallback=(winid,cbfun)=>GLFW.setScrollCallback(winid,cbfun);var _glfwSetWindowCloseCallback=(winid,cbfun)=>GLFW.setWindowCloseCallback(winid,cbfun);var _glfwSetWindowContentScaleCallback=(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowContentScaleFunc;win.windowContentScaleFunc=cbfun;return prevcbfun};var _glfwSetWindowFocusCallback=(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowFocusFunc;win.windowFocusFunc=cbfun;return prevcbfun};var _glfwSetWindowOpacity=(winid,opacity)=>{};var _glfwSetWindowPos=(winid,x,y)=>GLFW.setWindowPos(winid,x,y);var _glfwSetWindowPosCallback=(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowPosFunc;win.windowPosFunc=cbfun;return prevcbfun};var _glfwSetWindowRefreshCallback=(winid,cbfun)=>GLFW.setWindowRefreshCallback(winid,cbfun);var _glfwSetWindowSize=(winid,width,height)=>GLFW.setWindowSize(winid,width,height);var _glfwSetWindowSizeCallback=(winid,cbfun)=>GLFW.setWindowSizeCallback(winid,cbfun);var _glfwSetWindowTitle=(winid,title)=>GLFW.setWindowTitle(winid,title);var _glfwShowWindow=winid=>{};var _glfwSwapBuffers=winid=>GLFW.swapBuffers(winid);var _glfwSwapInterval=interval=>{interval=Math.abs(interval);if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval)};var _glfwTerminate=()=>{window.removeEventListener("gamepadconnected",GLFW.onGamepadConnected,true);window.removeEventListener("gamepaddisconnected",GLFW.onGamepadDisconnected,true);window.removeEventListener("keydown",GLFW.onKeydown,true);window.removeEventListener("keypress",GLFW.onKeyPress,true);window.removeEventListener("keyup",GLFW.onKeyup,true);window.removeEventListener("blur",GLFW.onBlur,true);Module["canvas"].removeEventListener("touchmove",GLFW.onMousemove,true);Module["canvas"].removeEventListener("touchstart",GLFW.onMouseButtonDown,true);Module["canvas"].removeEventListener("touchcancel",GLFW.onMouseButtonUp,true);Module["canvas"].removeEventListener("touchend",GLFW.onMouseButtonUp,true);Module["canvas"].removeEventListener("mousemove",GLFW.onMousemove,true);Module["canvas"].removeEventListener("mousedown",GLFW.onMouseButtonDown,true);Module["canvas"].removeEventListener("mouseup",GLFW.onMouseButtonUp,true);Module["canvas"].removeEventListener("wheel",GLFW.onMouseWheel,true);Module["canvas"].removeEventListener("mousewheel",GLFW.onMouseWheel,true);Module["canvas"].removeEventListener("mouseenter",GLFW.onMouseenter,true);Module["canvas"].removeEventListener("mouseleave",GLFW.onMouseleave,true);Module["canvas"].removeEventListener("drop",GLFW.onDrop,true);Module["canvas"].removeEventListener("dragover",GLFW.onDragover,true);if(GLFW.devicePixelRatioMQL)GLFW.devicePixelRatioMQL.removeEventListener("change",GLFW.onDevicePixelRatioChange);Module["canvas"].width=Module["canvas"].height=1;GLFW.windows=null;GLFW.active=null};var _glfwWaitEvents=()=>{};var _glfwWindowHint=(target,hint)=>{GLFW.hints[target]=hint};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i(___wasm_call_ctors=wasmExports["Lb"])();var _upload_file_return=Module["_upload_file_return"]=(a0,a1,a2,a3,a4,a5)=>(_upload_file_return=Module["_upload_file_return"]=wasmExports["Mb"])(a0,a1,a2,a3,a4,a5);var _runApp=Module["_runApp"]=()=>(_runApp=Module["_runApp"]=wasmExports["Nb"])();var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["Ob"])(a0,a1);var __Z35ma_device__on_notification_unlockedP9ma_device=Module["__Z35ma_device__on_notification_unlockedP9ma_device"]=a0=>(__Z35ma_device__on_notification_unlockedP9ma_device=Module["__Z35ma_device__on_notification_unlockedP9ma_device"]=wasmExports["Pb"])(a0);var _ma_malloc_emscripten=Module["_ma_malloc_emscripten"]=(a0,a1)=>(_ma_malloc_emscripten=Module["_ma_malloc_emscripten"]=wasmExports["Qb"])(a0,a1);var _ma_free_emscripten=Module["_ma_free_emscripten"]=(a0,a1)=>(_ma_free_emscripten=Module["_ma_free_emscripten"]=wasmExports["Rb"])(a0,a1);var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=(a0,a1,a2)=>(_ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=wasmExports["Sb"])(a0,a1,a2);var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=(a0,a1,a2)=>(_ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=wasmExports["Tb"])(a0,a1,a2);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["Ub"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["Vb"])(a0);var __emscripten_tempret_set=a0=>(__emscripten_tempret_set=wasmExports["Xb"])(a0);var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["Yb"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["Zb"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["_b"])();var ___cxa_is_pointer_type=a0=>(___cxa_is_pointer_type=wasmExports["$b"])(a0);Module["ccall"]=ccall;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();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 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";if(ENVIRONMENT_IS_NODE){}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);var ret=fs.readFileSync(filename);return ret};readAsync=(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return new Promise((resolve,reject)=>{fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)reject(err);else resolve(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)}{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=>{if(isFileURI(url)){return new Promise((reject,resolve)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response)}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}return fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}}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"];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://");function findWasmBinary(){var f="MegaBoy.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return readAsync(binaryFile).then(response=>new Uint8Array(response),()=>getBinarySync(binaryFile))}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);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 getWasmImports(){return{a:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["Kb"];updateMemoryViews();wasmTable=wasmExports["Wb"];addOnInit(wasmExports["Lb"]);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}}if(!wasmBinaryFile)wasmBinaryFile=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;var ASM_CONSTS={157520:()=>window.screen.width*window.devicePixelRatio,157578:()=>window.screen.height*window.devicePixelRatio,157637:()=>window.devicePixelRatio,157673:()=>window.devicePixelRatio,157709:()=>window.innerWidth,157739:()=>window.innerHeight,157770:()=>{FS.mkdir("/data");FS.mount(IDBFS,{autoPersist:true},"/data");FS.syncfs(true,function(err){if(err!=null){console.log(err)}FS.mkdir("/batterySaves");FS.mount(IDBFS,{autoPersist:true},"/batterySaves");FS.syncfs(true,function(err){if(err!=null){console.log(err)}});Module.ccall("runApp",null,[],[])})},158114:($0,$1,$2,$3,$4)=>{if(typeof window==="undefined"||(window.AudioContext||window.webkitAudioContext)===undefined){return 0}if(typeof window.miniaudio==="undefined"){window.miniaudio={referenceCount:0};window.miniaudio.device_type={};window.miniaudio.device_type.playback=$0;window.miniaudio.device_type.capture=$1;window.miniaudio.device_type.duplex=$2;window.miniaudio.device_state={};window.miniaudio.device_state.stopped=$3;window.miniaudio.device_state.started=$4;miniaudio.devices=[];miniaudio.track_device=function(device){for(var iDevice=0;iDevice0){if(miniaudio.devices[miniaudio.devices.length-1]==null){miniaudio.devices.pop()}else{break}}};miniaudio.untrack_device=function(device){for(var iDevice=0;iDevice{Module._ma_device__on_notification_unlocked(device.pDevice)},error=>{console.error("Failed to resume audiocontext",error)})}}miniaudio.unlock_event_types.map(function(event_type){document.removeEventListener(event_type,miniaudio.unlock,true)})};miniaudio.unlock_event_types.map(function(event_type){document.addEventListener(event_type,miniaudio.unlock,true)})}window.miniaudio.referenceCount+=1;return 1},160272:()=>{if(typeof window.miniaudio!=="undefined"){window.miniaudio.referenceCount-=1;if(window.miniaudio.referenceCount===0){delete window.miniaudio}}},160436:()=>navigator.mediaDevices!==undefined&&navigator.mediaDevices.getUserMedia!==undefined,160540:()=>{try{var temp=new(window.AudioContext||window.webkitAudioContext);var sampleRate=temp.sampleRate;temp.close();return sampleRate}catch(e){return 0}},160711:($0,$1,$2,$3,$4,$5)=>{var deviceType=$0;var channels=$1;var sampleRate=$2;var bufferSize=$3;var pIntermediaryBuffer=$4;var pDevice=$5;if(typeof window.miniaudio==="undefined"){return-1}var device={};var audioContextOptions={};if(deviceType==window.miniaudio.device_type.playback&&sampleRate!=0){audioContextOptions.sampleRate=sampleRate}device.webaudio=new(window.AudioContext||window.webkitAudioContext)(audioContextOptions);device.webaudio.suspend();device.state=window.miniaudio.device_state.stopped;var channelCountIn=0;var channelCountOut=channels;if(deviceType!=window.miniaudio.device_type.playback){channelCountIn=channels}device.scriptNode=device.webaudio.createScriptProcessor(bufferSize,channelCountIn,channelCountOut);device.scriptNode.onaudioprocess=function(e){if(device.intermediaryBufferView==null||device.intermediaryBufferView.length==0){device.intermediaryBufferView=new Float32Array(Module.HEAPF32.buffer,pIntermediaryBuffer,bufferSize*channels)}if(deviceType==miniaudio.device_type.capture||deviceType==miniaudio.device_type.duplex){for(var iChannel=0;iChannelminiaudio.get_device_by_index($0).webaudio.sampleRate,163605:$0=>{var device=miniaudio.get_device_by_index($0);if(device.scriptNode!==undefined){device.scriptNode.onaudioprocess=function(e){};device.scriptNode.disconnect();device.scriptNode=undefined}if(device.streamNode!==undefined){device.streamNode.disconnect();device.streamNode=undefined}device.webaudio.close();device.webaudio=undefined;device.pDevice=undefined},163998:$0=>{miniaudio.untrack_device_by_index($0)},164041:$0=>{var device=miniaudio.get_device_by_index($0);device.webaudio.resume();device.state=miniaudio.device_state.started},164166:$0=>{var device=miniaudio.get_device_by_index($0);device.webaudio.suspend();device.state=miniaudio.device_state.stopped}};function upload(accept_types,callback,callback_data){globalThis["open_file"]=function(e){const file_reader=new FileReader;file_reader.onload=event=>{const uint8Arr=new Uint8Array(event.target.result);const data_ptr=Module["_malloc"](uint8Arr.length);const data_on_heap=new Uint8Array(Module["HEAPU8"].buffer,data_ptr,uint8Arr.length);data_on_heap.set(uint8Arr);Module["ccall"]("upload_file_return","number",["string","string","number","number","number","number"],[event.target.filename,event.target.mime_type,data_on_heap.byteOffset,uint8Arr.length,callback,callback_data]);Module["_free"](data_ptr)};file_reader.filename=e.target.files[0].name;file_reader.mime_type=e.target.files[0].type;file_reader.readAsArrayBuffer(e.target.files[0])};var file_selector=document.createElement("input");file_selector.setAttribute("type","file");file_selector.setAttribute("onchange",'globalThis["open_file"](event)');file_selector.style.outline="none";file_selector.addEventListener("cancel",()=>{Module["ccall"]("upload_file_return","number",["string","string","number","number","number","number"],["","",0,0,callback,callback_data])});file_selector.setAttribute("accept",UTF8ToString(accept_types));var is_safari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);if(is_safari){var dialog=document.createElement("dialog");dialog.setAttribute("id","EmJsFileDialog");file_selector.setAttribute("onclick",'var dg = document.getElementById("EmJsFileDialog"); dg.close(); dg.remove()');dialog.appendChild(file_selector);var cancel_button=document.createElement("button");cancel_button.textContent="Cancel";cancel_button.setAttribute("onclick",'var dg = document.getElementById("EmJsFileDialog"); dg.close(); dg.remove()');var lineBreak=document.createElement("br");dialog.appendChild(lineBreak);dialog.appendChild(cancel_button);document.body.append(dialog);dialog.showModal()}else{file_selector.click()}}function download(filename,mime_type,buffer,buffer_size){var a=document.createElement("a");a.download=UTF8ToString(filename);a.href=URL.createObjectURL(new Blob([new Uint8Array(Module["HEAPU8"].buffer,buffer,buffer_size)],{type:UTF8ToString(mime_type)}));a.click()}function ImGui_ImplGlfw_EmscriptenOpenURL(url){url=url?UTF8ToString(url):null;if(url)window.open(url,"_blank")}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;var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();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 exceptionLast=0;var uncaughtExceptionCount=0;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};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,0,BUFSIZE)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var 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},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).then(arrayBuffer=>{onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},err=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var IDBFS={dbs:{},indexedDB:()=>{if(typeof indexedDB!="undefined")return indexedDB;var ret=null;if(typeof window=="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",queuePersist:mount=>{function onPersistComplete(){if(mount.idbPersistState==="again")startPersist();else mount.idbPersistState=0}function startPersist(){mount.idbPersistState="idb";IDBFS.syncfs(mount,false,onPersistComplete)}if(!mount.idbPersistState){mount.idbPersistState=setTimeout(startPersist,0)}else if(mount.idbPersistState==="idb"){mount.idbPersistState="again"}},mount:mount=>{var mnt=MEMFS.mount(mount);if(mount?.opts?.autoPersist){mnt.idbPersistState=0;var memfs_node_ops=mnt.node_ops;mnt.node_ops=Object.assign({},mnt.node_ops);mnt.node_ops.mknod=(parent,name,mode,dev)=>{var node=memfs_node_ops.mknod(parent,name,mode,dev);node.node_ops=mnt.node_ops;node.idbfs_mount=mnt.mount;node.memfs_stream_ops=node.stream_ops;node.stream_ops=Object.assign({},node.stream_ops);node.stream_ops.write=(stream,buffer,offset,length,position,canOwn)=>{stream.node.isModified=true;return node.memfs_stream_ops.write(stream,buffer,offset,length,position,canOwn)};node.stream_ops.close=stream=>{var n=stream.node;if(n.isModified){IDBFS.queuePersist(n.idbfs_mount);n.isModified=false}if(n.memfs_stream_ops.close)return n.memfs_stream_ops.close(stream)};return node};mnt.node_ops.mkdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.mkdir(...args));mnt.node_ops.rmdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rmdir(...args));mnt.node_ops.symlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.symlink(...args));mnt.node_ops.unlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.unlink(...args));mnt.node_ops.rename=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rename(...args))}return mnt},syncfs:(mount,populate,callback)=>{IDBFS.getLocalSet(mount,(err,local)=>{if(err)return callback(err);IDBFS.getRemoteSet(mount,(err,remote)=>{if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},quit:()=>{Object.values(IDBFS.dbs).forEach(value=>value.close());IDBFS.dbs={}},getDB:(name,callback)=>{var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=e=>{var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=()=>{db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=e=>{callback(e.target.error);e.preventDefault()}},getLocalSet:(mount,callback)=>{var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return p=>PATH.join2(root,p)}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push(...FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:(mount,callback)=>{var entries={};IDBFS.getDB(mount.mountpoint,(err,db)=>{if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=e=>{callback(e.target.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=event=>{var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:(path,callback)=>{var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:(path,entry,callback)=>{try{if(FS.isDir(entry["mode"])){FS.mkdirTree(path,entry["mode"])}else if(FS.isFile(entry["mode"])){FS.writeFile(path,entry["contents"],{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry["mode"]);FS.utime(path,entry["timestamp"],entry["timestamp"])}catch(e){return callback(e)}callback(null)},removeLocalEntry:(path,callback)=>{try{var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:(store,path,callback)=>{var req=store.get(path);req.onsuccess=event=>callback(null,event.target.result);req.onerror=e=>{callback(e.target.error);e.preventDefault()}},storeRemoteEntry:(store,path,entry,callback)=>{try{var req=store.put(entry,path)}catch(e){callback(e);return}req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},removeRemoteEntry:(store,path,callback)=>{var req=store.delete(path);req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},reconcile:(src,dst,callback)=>{var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e["timestamp"].getTime()!=e2["timestamp"].getTime()){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){if(!src.entries[key]){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=transaction.onabort=e=>{done(e.target.error);e.preventDefault()};transaction.oncomplete=e=>{if(!errored){callback(null)}};create.sort().forEach(path=>{if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(err,entry)=>{if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,(err,entry)=>{if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(path=>{if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var 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,IDBFS:IDBFS}},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)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function syscallGetVarargI(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret}var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>{abort("")};var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var __emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};var setTempRet0=val=>__emscripten_tempret_set(val);var __mktime_js=function(tmPtr){var ret=(()=>{var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getYear();var timeMs=date.getTime();if(isNaN(timeMs)){return-1}return timeMs/1e3})();return setTempRet0((tempDouble=ret,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),ret>>>0};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset{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_double=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);var _emscripten_date_now=()=>Date.now();var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};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 call of JSEvents.deferredCalls){if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort((x,y)=>x.precedencecall.targetFunction!=targetFunction)},canPerformEventHandlerRequests(){if(navigator.userActivation){return navigator.userActivation.isActive}return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls(){if(!JSEvents.canPerformEventHandlerRequests()){return}var deferredCalls=JSEvents.deferredCalls;JSEvents.deferredCalls=[];for(var call of deferredCalls){call.targetFunction(...call.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(target,eventTypeString)=>{for(var i=0;icString>2?UTF8ToString(cString):cString;var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];var findEventTarget=target=>{target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement};var 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 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 _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 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:2};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)}Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}else{if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var coords=Browser.calculateMouseCoords(touch.pageX,touch.pageY);if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];last||=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}Browser.setMouseCoords(event.pageX,event.pageY)}},resizeListeners:[],updateResizeListeners(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h{Browser.mainLoop.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){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 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 _emscripten_set_main_loop=(func,fps,simulateInfiniteLoop)=>{var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)};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 fillVisibilityChangeEventData=eventStruct=>{var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP8[eventStruct]=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 ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_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 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=["EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw"];return(ctx.getSupportedExtensions()||[]).filter(ext=>supportedExtensions.includes(ext))};var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:errorCode=>{if(!GL.lastError){GL.lastError=errorCode}},getNewId:table=>{var ret=GL.counter++;for(var i=table.length;i{for(var i=0;i>2]=id}},getSource:(shader,count,string,length)=>{var source="";for(var i=0;i>2]:undefined;source+=UTF8ToString(HEAPU32[string+i*4>>2],len)}return source},createContext:(canvas,webGLContextAttributes)=>{if(!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=canvas.getContext("webgl2",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_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 _glActiveTexture=x0=>GLctx.activeTexture(x0);var _glAttachShader=(program,shader)=>{GLctx.attachShader(GL.programs[program],GL.shaders[shader])};var _glBindBuffer=(target,buffer)=>{if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])};var _glBindTexture=(target,texture)=>{GLctx.bindTexture(target,GL.textures[texture])};var _glBindVertexArray=vao=>{GLctx.bindVertexArray(GL.vaos[vao])};var _glBindVertexArrayOES=_glBindVertexArray;var _glBlendEquation=x0=>GLctx.blendEquation(x0);var _glBlendEquationSeparate=(x0,x1)=>GLctx.blendEquationSeparate(x0,x1);var _glBlendFunc=(x0,x1)=>GLctx.blendFunc(x0,x1);var _glBlendFuncSeparate=(x0,x1,x2,x3)=>GLctx.blendFuncSeparate(x0,x1,x2,x3);var _glBufferData=(target,size,data,usage)=>{if(true){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}return}GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)};var _glBufferSubData=(target,offset,size,data)=>{if(true){size&&GLctx.bufferSubData(target,offset,HEAPU8,data,size);return}GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))};var _glClear=x0=>GLctx.clear(x0);var _glClearColor=(x0,x1,x2,x3)=>GLctx.clearColor(x0,x1,x2,x3);var _glCompileShader=shader=>{GLctx.compileShader(GL.shaders[shader])};var _glCreateProgram=()=>{var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id};var _glCreateShader=shaderType=>{var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id};var _glDeleteShader=id=>{if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null};var _glDeleteVertexArrays=(n,vaos)=>{for(var i=0;i>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}};var _glDeleteVertexArraysOES=_glDeleteVertexArrays;var _glDetachShader=(program,shader)=>{GLctx.detachShader(GL.programs[program],GL.shaders[shader])};var _glDisable=x0=>GLctx.disable(x0);var _glDrawElements=(mode,count,type,indices)=>{GLctx.drawElements(mode,count,type,indices)};var _glEnable=x0=>GLctx.enable(x0);var _glEnableVertexAttribArray=index=>{GLctx.enableVertexAttribArray(index)};var _glGenBuffers=(n,buffers)=>{GL.genObject(n,buffers,"createBuffer",GL.buffers)};var _glGenTextures=(n,textures)=>{GL.genObject(n,textures,"createTexture",GL.textures)};var _glGenVertexArrays=(n,arrays)=>{GL.genObject(n,arrays,"createVertexArray",GL.vaos)};var _glGenVertexArraysOES=_glGenVertexArrays;var _glGenerateMipmap=x0=>GLctx.generateMipmap(x0);var _glGetAttribLocation=(program,name)=>GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name));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 _glGetIntegerv=(name_,p)=>emscriptenWebGLGet(name_,p,0);var _glGetProgramInfoLog=(program,maxLength,length,infoLog)=>{var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _glGetProgramiv=(program,pname,p)=>{if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}};var _glGetShaderInfoLog=(shader,maxLength,length,infoLog)=>{var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _glGetShaderiv=(shader,pname,p)=>{if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}};var 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&&arrayIndexGLctx.isEnabled(x0);var _glIsProgram=program=>{program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)};var _glLinkProgram=program=>{program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}};var computeUnpackAlignedImageSize=(width,height,sizePerPixel)=>{function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=(GL.unpackRowLength||width)*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,GL.unpackAlignment);return height*alignedRowSize};var colorChannelsInGlTextureFormat=format=>{var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1};var heapObjectForWebGLType=type=>{type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16};var toTypedArrayIndex=(pointer,heap)=>pointer>>>31-Math.clz32(heap.BYTES_PER_ELEMENT);var emscriptenWebGLGetTexPixelData=(type,format,width,height,pixels,internalFormat)=>{var heap=heapObjectForWebGLType(type);var sizePerPixel=colorChannelsInGlTextureFormat(format)*heap.BYTES_PER_ELEMENT;var bytes=computeUnpackAlignedImageSize(width,height,sizePerPixel);return heap.subarray(toTypedArrayIndex(pixels,heap),toTypedArrayIndex(pixels+bytes,heap))};var _glReadPixels=(x,y,width,height,format,type,pixels)=>{if(true){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels);return}var heap=heapObjectForWebGLType(type);var target=toTypedArrayIndex(pixels,heap);GLctx.readPixels(x,y,width,height,format,type,heap,target);return}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)};var _glScissor=(x0,x1,x2,x3)=>GLctx.scissor(x0,x1,x2,x3);var _glShaderSource=(shader,count,string,length)=>{var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)};var _glTexImage2D=(target,level,internalFormat,width,height,border,format,type,pixels)=>{if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels);return}if(pixels){var heap=heapObjectForWebGLType(type);var index=toTypedArrayIndex(pixels,heap);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,index);return}}var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null;GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)};var _glTexParameteri=(x0,x1,x2)=>GLctx.texParameteri(x0,x1,x2);var _glTexSubImage2D=(target,level,xoffset,yoffset,width,height,format,type,pixels)=>{if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels);return}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 webglGetUniformLocation=location=>{var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc=="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?`[${webglLoc}]`:""))}return webglLoc}else{GL.recordError(1282)}};var _glUniform1f=(location,v0)=>{GLctx.uniform1f(webglGetUniformLocation(location),v0)};var _glUniform1i=(location,v0)=>{GLctx.uniform1i(webglGetUniformLocation(location),v0)};var _glUniform2f=(location,v0,v1)=>{GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)};var _glUniformMatrix4fv=(location,count,transpose,value)=>{count&&GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*16)};var _glUseProgram=program=>{program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program};var _glVertexAttribPointer=(index,size,type,normalized,stride,ptr)=>{GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)};var _glViewport=(x0,x1,x2,x3)=>GLctx.viewport(x0,x1,x2,x3);function GLFW_Window(id,width,height,framebufferWidth,framebufferHeight,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.framebufferWidth=framebufferWidth;this.framebufferHeight=framebufferHeight;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=Object.assign({},GLFW.hints);this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=0;this.windowSizeFunc=0;this.windowCloseFunc=0;this.windowRefreshFunc=0;this.windowFocusFunc=0;this.windowIconifyFunc=0;this.windowMaximizeFunc=0;this.framebufferSizeFunc=0;this.windowContentScaleFunc=0;this.mouseButtonFunc=0;this.cursorPosFunc=0;this.cursorEnterFunc=0;this.scrollFunc=0;this.dropFunc=0;this.keyFunc=0;this.charFunc=0;this.userptr=0}var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var _emscripten_set_window_title=title=>document.title=UTF8ToString(title);var GLFW={WindowFromId:id=>{if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:0,errorFunc:0,monitorFunc:0,active:null,scale:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,devicePixelRatioMQL:null,hints:null,primaryTouchId:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,131082:0,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0,139276:0},DOMToGLFWKeyCode:keycode=>{switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 96;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 224:return 343;case 93:return 348;default:return-1}},getModBits:win=>{var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343]||win.keys[348])mod|=8;return mod},onKeyPress:event=>{if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;getWasmTableEntry(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:(keyCode,status)=>{if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(GLFW.active.keyFunc){if(repeat)status=2;getWasmTableEntry(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))}},onGamepadConnected:event=>{GLFW.refreshJoysticks()},onGamepadDisconnected:event=>{GLFW.refreshJoysticks()},onKeydown:event=>{GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:event=>{GLFW.onKeyChanged(event.keyCode,0)},onBlur:event=>{if(!GLFW.active)return;for(var i=0;i{if(!GLFW.active)return;if(event.type==="touchmove"){event.preventDefault();let primaryChanged=false;for(let i of event.changedTouches){if(GLFW.primaryTouchId===i.identifier){Browser.setMouseCoords(i.pageX,i.pageY);primaryChanged=true;break}}if(!primaryChanged){return}}else{Browser.calculateMouseEvent(event)}if(event.target!=Module["canvas"]||!GLFW.active.cursorPosFunc)return;if(GLFW.active.cursorPosFunc){getWasmTableEntry(GLFW.active.cursorPosFunc)(GLFW.active.id,Browser.mouseX,Browser.mouseY)}},DOMToGLFWMouseButton:event=>{var eventButton=event["button"];if(eventButton>0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:event=>{if(!GLFW.active)return;if(event.target!=Module["canvas"])return;if(GLFW.active.cursorEnterFunc){getWasmTableEntry(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)}},onMouseleave:event=>{if(!GLFW.active)return;if(event.target!=Module["canvas"])return;if(GLFW.active.cursorEnterFunc){getWasmTableEntry(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)}},onMouseButtonChanged:(event,status)=>{if(!GLFW.active)return;if(event.target!=Module["canvas"])return;const isTouchType=event.type==="touchstart"||event.type==="touchend"||event.type==="touchcancel";let eventButton=0;if(isTouchType){event.preventDefault();let primaryChanged=false;if(GLFW.primaryTouchId===null&&event.type==="touchstart"&&event.targetTouches.length>0){const chosenTouch=event.targetTouches[0];GLFW.primaryTouchId=chosenTouch.identifier;Browser.setMouseCoords(chosenTouch.pageX,chosenTouch.pageY);primaryChanged=true}else if(event.type==="touchend"||event.type==="touchcancel"){for(let i of event.changedTouches){if(GLFW.primaryTouchId===i.identifier){GLFW.primaryTouchId=null;primaryChanged=true;break}}}if(!primaryChanged){return}}else{Browser.calculateMouseEvent(event);eventButton=GLFW.DOMToGLFWMouseButton(event)}if(status==1){GLFW.active.buttons|=1<{if(!GLFW.active)return;GLFW.onMouseButtonChanged(event,1)},onMouseButtonUp:event=>{if(!GLFW.active)return;GLFW.onMouseButtonChanged(event,0)},onMouseWheel:event=>{var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=delta;if(event.type=="mousewheel"){sx=event.wheelDeltaX}else{sx=event.deltaX}getWasmTableEntry(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:(width,height,framebufferWidth,framebufferHeight)=>{if(!GLFW.active)return;var resizeNeeded=false;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){if(!GLFW.active.fullscreen){resizeNeeded=width!=screen.width||height!=screen.height;GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}}else if(GLFW.active.fullscreen==true){resizeNeeded=width!=GLFW.active.storedWidth||height!=GLFW.active.storedHeight;GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height)}else if(GLFW.active.width!=width||GLFW.active.height!=height||GLFW.active.framebufferWidth!=framebufferWidth||GLFW.active.framebufferHeight!=framebufferHeight){GLFW.active.width=width;GLFW.active.height=height;GLFW.active.framebufferWidth=framebufferWidth;GLFW.active.framebufferHeight=framebufferHeight;GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:()=>{if(!GLFW.active)return;if(GLFW.active.windowSizeFunc){getWasmTableEntry(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)}},onFramebufferSizeChanged:()=>{if(!GLFW.active)return;if(GLFW.active.framebufferSizeFunc){getWasmTableEntry(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.framebufferWidth,GLFW.active.framebufferHeight)}},onWindowContentScaleChanged:scale=>{GLFW.scale=scale;if(!GLFW.active)return;if(GLFW.active.windowContentScaleFunc){getWasmTableEntry(GLFW.active.windowContentScaleFunc)(GLFW.active.id,GLFW.scale,GLFW.scale)}},getTime:()=>_emscripten_get_now()/1e3,setWindowTitle:(winid,title)=>{var win=GLFW.WindowFromId(winid);if(!win)return;win.title=title;if(GLFW.active.id==win.id){_emscripten_set_window_title(title)}},setJoystickCallback:cbfun=>{var prevcbfun=GLFW.joystickFunc;GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks();return prevcbfun},joys:{},lastGamepadState:[],lastGamepadStateFrame:null,refreshJoysticks:()=>{if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads||[];GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy>2]=gamepad.axes[i]}}else{if(GLFW.joys[joy]){out("glfw joystick disconnected",joy);if(GLFW.joystickFunc){getWasmTableEntry(GLFW.joystickFunc)(joy,262146)}_free(GLFW.joys[joy].id);_free(GLFW.joys[joy].buttons);_free(GLFW.joys[joy].axes);delete GLFW.joys[joy]}}}}},setKeyCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.keyFunc;win.keyFunc=cbfun;return prevcbfun},setCharCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.charFunc;win.charFunc=cbfun;return prevcbfun},setMouseButtonCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.mouseButtonFunc;win.mouseButtonFunc=cbfun;return prevcbfun},setCursorPosCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.cursorPosFunc;win.cursorPosFunc=cbfun;return prevcbfun},setScrollCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.scrollFunc;win.scrollFunc=cbfun;return prevcbfun},setDropCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.dropFunc;win.dropFunc=cbfun;return prevcbfun},onDrop:event=>{if(!GLFW.active||!GLFW.active.dropFunc)return;if(!event.dataTransfer||!event.dataTransfer.files||event.dataTransfer.files.length==0)return;event.preventDefault();var filenames=_malloc(event.dataTransfer.files.length*4);var filenamesArray=[];var count=event.dataTransfer.files.length;var written=0;var drop_dir=".glfw_dropped_files";FS.createPath("/",drop_dir);function save(file){var path="/"+drop_dir+"/"+file.name.replace(/\//g,"_");var reader=new FileReader;reader.onloadend=e=>{if(reader.readyState!=2){++written;out("failed to read dropped file: "+file.name+": "+reader.error);return}var data=e.target.result;FS.writeFile(path,new Uint8Array(data));if(++written===count){getWasmTableEntry(GLFW.active.dropFunc)(GLFW.active.id,count,filenames);for(var i=0;i>2]=filename}for(var i=0;i{if(!GLFW.active||!GLFW.active.dropFunc)return;event.preventDefault();return false},setWindowSizeCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowSizeFunc;win.windowSizeFunc=cbfun;return prevcbfun},setWindowCloseCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowCloseFunc;win.windowCloseFunc=cbfun;return prevcbfun},setWindowRefreshCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowRefreshFunc;win.windowRefreshFunc=cbfun;return prevcbfun},onClickRequestPointerLock:e=>{if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();e.preventDefault()}},setInputMode:(winid,mode,value)=>{var win=GLFW.WindowFromId(winid);if(!win)return;switch(mode){case 208897:{switch(value){case 212993:{win.inputModes[mode]=value;Module["canvas"].removeEventListener("click",GLFW.onClickRequestPointerLock,true);Module["canvas"].exitPointerLock();break}case 212994:{err("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented");break}case 212995:{win.inputModes[mode]=value;Module["canvas"].addEventListener("click",GLFW.onClickRequestPointerLock,true);Module["canvas"].requestPointerLock();break}default:{err(`glfwSetInputMode called with unknown value parameter value: ${value}`);break}}break}case 208898:{err("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented");break}case 208899:{err("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented");break}case 208900:{err("glfwSetInputMode called with GLFW_LOCK_KEY_MODS mode not implemented");break}case 3342341:{err("glfwSetInputMode called with GLFW_RAW_MOUSE_MOTION mode not implemented");break}default:{err(`glfwSetInputMode called with unknown mode parameter value: ${mode}`);break}}},getKey:(winid,key)=>{var win=GLFW.WindowFromId(winid);if(!win)return 0;return win.keys[key]},getMouseButton:(winid,button)=>{var win=GLFW.WindowFromId(winid);if(!win)return 0;return(win.buttons&1<0},getCursorPos:(winid,x,y)=>{HEAPF64[x>>3]=Browser.mouseX;HEAPF64[y>>3]=Browser.mouseY},getMousePos:(winid,x,y)=>{HEAP32[x>>2]=Browser.mouseX;HEAP32[y>>2]=Browser.mouseY},setCursorPos:(winid,x,y)=>{},getWindowPos:(winid,x,y)=>{var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){HEAP32[x>>2]=wx}if(y){HEAP32[y>>2]=wy}},setWindowPos:(winid,x,y)=>{var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:(winid,width,height)=>{var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){HEAP32[width>>2]=ww}if(height){HEAP32[height>>2]=wh}},setWindowSize:(winid,width,height)=>{var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){Browser.setCanvasSize(width,height)}},defaultWindowHints:()=>{GLFW.hints=Object.assign({},GLFW.defaultHints)},createWindow:(width,height,title,monitor,share)=>{var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;const canvas=Module["canvas"];var win=new GLFW_Window(id,canvas.clientWidth,canvas.clientHeight,canvas.width,canvas.height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;GLFW.adjustCanvasDimensions();return win.id},destroyWindow:winid=>{var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc){getWasmTableEntry(win.windowCloseFunc)(win.id)}GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i{},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);Browser.updateResizeListeners()}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas);Browser.updateResizeListeners()}}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()},updateCanvasDimensions(canvas,wNative,hNative){const scale=GLFW.getHiDPIScale();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{var win=GLFW.WindowFromId(winid);if(!win)return;const isHiDPIAware=GLFW.isHiDPIAware();win.attributes[attrib]=value;if(isHiDPIAware!==GLFW.isHiDPIAware())GLFW.adjustCanvasDimensions()},getDevicePixelRatio(){return typeof devicePixelRatio=="number"&&devicePixelRatio||1},isHiDPIAware(){if(GLFW.active)return GLFW.active.attributes[139276]>0;else return false},adjustCanvasDimensions(){const canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,canvas.clientWidth,canvas.clientHeight);Browser.updateResizeListeners()},getHiDPIScale(){return GLFW.isHiDPIAware()?GLFW.scale:1},onDevicePixelRatioChange(){GLFW.onWindowContentScaleChanged(GLFW.getDevicePixelRatio());GLFW.adjustCanvasDimensions()},GLFW2ParamToGLFW3Param:param=>{var table={196609:0,196610:0,196611:0,196612:0,196613:0,196614:0,131073:0,131074:0,131075:0,131076:0,131077:135169,131078:135170,131079:135171,131080:135172,131081:135173,131082:135174,131083:135183,131084:135175,131085:135176,131086:135177,131087:135178,131088:135179,131089:135180,131090:0,131091:135181,131092:139266,131093:139267,131094:139270,131095:139271,131096:139272};return table[param]}};var _glfwCreateStandardCursor=shape=>{};var _glfwCreateWindow=(width,height,title,monitor,share)=>GLFW.createWindow(width,height,title,monitor,share);var _glfwDestroyWindow=winid=>GLFW.destroyWindow(winid);var _glfwFocusWindow=winid=>{};var _glfwGetClipboardString=win=>{};var _glfwGetCurrentContext=()=>GLFW.active?GLFW.active.id:0;var _glfwGetCursorPos=(winid,x,y)=>GLFW.getCursorPos(winid,x,y);var _glfwGetFramebufferSize=(winid,width,height)=>{var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.framebufferWidth;wh=win.framebufferHeight}if(width){HEAP32[width>>2]=ww}if(height){HEAP32[height>>2]=wh}};var _glfwGetInputMode=(winid,mode)=>{var win=GLFW.WindowFromId(winid);if(!win)return;switch(mode){case 208897:{if(Browser.pointerLock){win.inputModes[mode]=212995}else{win.inputModes[mode]=212993}}}return win.inputModes[mode]};var _glfwGetJoystickAxes=(joy,count)=>{GLFW.refreshJoysticks();var state=GLFW.joys[joy];if(!state||!state.axes){HEAP32[count>>2]=0;return}HEAP32[count>>2]=state.axesCount;return state.axes};var _glfwGetJoystickButtons=(joy,count)=>{GLFW.refreshJoysticks();var state=GLFW.joys[joy];if(!state||!state.buttons){HEAP32[count>>2]=0;return}HEAP32[count>>2]=state.buttonsCount;return state.buttons};var _glfwGetKey=(winid,key)=>GLFW.getKey(winid,key);var _glfwGetMonitorContentScale=(monitor,x,y)=>{HEAPF32[x>>2]=GLFW.scale;HEAPF32[y>>2]=GLFW.scale};var _glfwGetMonitorPos=(monitor,x,y)=>{HEAP32[x>>2]=0;HEAP32[y>>2]=0};var _glfwGetMonitorWorkarea=(monitor,x,y,w,h)=>{HEAP32[x>>2]=0;HEAP32[y>>2]=0;HEAP32[w>>2]=screen.availWidth;HEAP32[h>>2]=screen.availHeight};var _glfwGetMonitors=count=>{HEAP32[count>>2]=1;if(!GLFW.monitors){GLFW.monitors=_malloc(4);HEAP32[GLFW.monitors>>2]=1}return GLFW.monitors};var _glfwGetTime=()=>GLFW.getTime()-GLFW.initialTime;var _glfwGetVideoMode=monitor=>0;var _glfwGetWindowAttrib=(winid,attrib)=>{var win=GLFW.WindowFromId(winid);if(!win)return 0;return win.attributes[attrib]};var _glfwGetWindowContentScale=(winid,x,y)=>{HEAPF32[x>>2]=GLFW.scale;HEAPF32[y>>2]=GLFW.scale};var _glfwGetWindowPos=(winid,x,y)=>GLFW.getWindowPos(winid,x,y);var _glfwGetWindowSize=(winid,width,height)=>GLFW.getWindowSize(winid,width,height);var _glfwInit=()=>{if(GLFW.windows)return 1;GLFW.initialTime=GLFW.getTime();GLFW.defaultWindowHints();GLFW.windows=new Array;GLFW.active=null;GLFW.scale=GLFW.getDevicePixelRatio();window.addEventListener("gamepadconnected",GLFW.onGamepadConnected,true);window.addEventListener("gamepaddisconnected",GLFW.onGamepadDisconnected,true);window.addEventListener("keydown",GLFW.onKeydown,true);window.addEventListener("keypress",GLFW.onKeyPress,true);window.addEventListener("keyup",GLFW.onKeyup,true);window.addEventListener("blur",GLFW.onBlur,true);GLFW.devicePixelRatioMQL=window.matchMedia("(resolution: "+GLFW.getDevicePixelRatio()+"dppx)");GLFW.devicePixelRatioMQL.addEventListener("change",GLFW.onDevicePixelRatioChange);Module["canvas"].addEventListener("touchmove",GLFW.onMousemove,true);Module["canvas"].addEventListener("touchstart",GLFW.onMouseButtonDown,true);Module["canvas"].addEventListener("touchcancel",GLFW.onMouseButtonUp,true);Module["canvas"].addEventListener("touchend",GLFW.onMouseButtonUp,true);Module["canvas"].addEventListener("mousemove",GLFW.onMousemove,true);Module["canvas"].addEventListener("mousedown",GLFW.onMouseButtonDown,true);Module["canvas"].addEventListener("mouseup",GLFW.onMouseButtonUp,true);Module["canvas"].addEventListener("wheel",GLFW.onMouseWheel,true);Module["canvas"].addEventListener("mousewheel",GLFW.onMouseWheel,true);Module["canvas"].addEventListener("mouseenter",GLFW.onMouseenter,true);Module["canvas"].addEventListener("mouseleave",GLFW.onMouseleave,true);Module["canvas"].addEventListener("drop",GLFW.onDrop,true);Module["canvas"].addEventListener("dragover",GLFW.onDragover,true);Browser.requestFullscreen=GLFW.requestFullscreen;Browser.calculateMouseCoords=GLFW.calculateMouseCoords;Browser.updateCanvasDimensions=GLFW.updateCanvasDimensions;Browser.resizeListeners.push((width,height)=>{if(GLFW.isHiDPIAware()){var canvas=Module["canvas"];GLFW.onCanvasResize(canvas.clientWidth,canvas.clientHeight,width,height)}else{GLFW.onCanvasResize(width,height,width,height)}});return 1};var _glfwMakeContextCurrent=winid=>{};var _glfwPollEvents=()=>{};var _glfwSetCharCallback=(winid,cbfun)=>GLFW.setCharCallback(winid,cbfun);var _glfwSetClipboardString=(win,string)=>{};var _glfwSetCursor=(winid,cursor)=>{};var _glfwSetCursorEnterCallback=(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.cursorEnterFunc;win.cursorEnterFunc=cbfun;return prevcbfun};var _glfwSetCursorPos=(winid,x,y)=>GLFW.setCursorPos(winid,x,y);var _glfwSetCursorPosCallback=(winid,cbfun)=>GLFW.setCursorPosCallback(winid,cbfun);var _glfwSetDropCallback=(winid,cbfun)=>GLFW.setDropCallback(winid,cbfun);var _glfwSetErrorCallback=cbfun=>{var prevcbfun=GLFW.errorFunc;GLFW.errorFunc=cbfun;return prevcbfun};var _glfwSetInputMode=(winid,mode,value)=>{GLFW.setInputMode(winid,mode,value)};var _glfwSetKeyCallback=(winid,cbfun)=>GLFW.setKeyCallback(winid,cbfun);var _glfwSetMonitorCallback=cbfun=>{var prevcbfun=GLFW.monitorFunc;GLFW.monitorFunc=cbfun;return prevcbfun};var _glfwSetMouseButtonCallback=(winid,cbfun)=>GLFW.setMouseButtonCallback(winid,cbfun);var _glfwSetScrollCallback=(winid,cbfun)=>GLFW.setScrollCallback(winid,cbfun);var _glfwSetWindowCloseCallback=(winid,cbfun)=>GLFW.setWindowCloseCallback(winid,cbfun);var _glfwSetWindowContentScaleCallback=(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowContentScaleFunc;win.windowContentScaleFunc=cbfun;return prevcbfun};var _glfwSetWindowFocusCallback=(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowFocusFunc;win.windowFocusFunc=cbfun;return prevcbfun};var _glfwSetWindowOpacity=(winid,opacity)=>{};var _glfwSetWindowPos=(winid,x,y)=>GLFW.setWindowPos(winid,x,y);var _glfwSetWindowPosCallback=(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowPosFunc;win.windowPosFunc=cbfun;return prevcbfun};var _glfwSetWindowRefreshCallback=(winid,cbfun)=>GLFW.setWindowRefreshCallback(winid,cbfun);var _glfwSetWindowSize=(winid,width,height)=>GLFW.setWindowSize(winid,width,height);var _glfwSetWindowSizeCallback=(winid,cbfun)=>GLFW.setWindowSizeCallback(winid,cbfun);var _glfwSetWindowTitle=(winid,title)=>GLFW.setWindowTitle(winid,title);var _glfwShowWindow=winid=>{};var _glfwSwapBuffers=winid=>GLFW.swapBuffers(winid);var _glfwSwapInterval=interval=>{interval=Math.abs(interval);if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval)};var _glfwTerminate=()=>{window.removeEventListener("gamepadconnected",GLFW.onGamepadConnected,true);window.removeEventListener("gamepaddisconnected",GLFW.onGamepadDisconnected,true);window.removeEventListener("keydown",GLFW.onKeydown,true);window.removeEventListener("keypress",GLFW.onKeyPress,true);window.removeEventListener("keyup",GLFW.onKeyup,true);window.removeEventListener("blur",GLFW.onBlur,true);Module["canvas"].removeEventListener("touchmove",GLFW.onMousemove,true);Module["canvas"].removeEventListener("touchstart",GLFW.onMouseButtonDown,true);Module["canvas"].removeEventListener("touchcancel",GLFW.onMouseButtonUp,true);Module["canvas"].removeEventListener("touchend",GLFW.onMouseButtonUp,true);Module["canvas"].removeEventListener("mousemove",GLFW.onMousemove,true);Module["canvas"].removeEventListener("mousedown",GLFW.onMouseButtonDown,true);Module["canvas"].removeEventListener("mouseup",GLFW.onMouseButtonUp,true);Module["canvas"].removeEventListener("wheel",GLFW.onMouseWheel,true);Module["canvas"].removeEventListener("mousewheel",GLFW.onMouseWheel,true);Module["canvas"].removeEventListener("mouseenter",GLFW.onMouseenter,true);Module["canvas"].removeEventListener("mouseleave",GLFW.onMouseleave,true);Module["canvas"].removeEventListener("drop",GLFW.onDrop,true);Module["canvas"].removeEventListener("dragover",GLFW.onDragover,true);if(GLFW.devicePixelRatioMQL)GLFW.devicePixelRatioMQL.removeEventListener("change",GLFW.onDevicePixelRatioChange);Module["canvas"].width=Module["canvas"].height=1;GLFW.windows=null;GLFW.active=null};var _glfwWaitEvents=()=>{};var _glfwWindowHint=(target,hint)=>{GLFW.hints[target]=hint};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i(___wasm_call_ctors=wasmExports["Lb"])();var _upload_file_return=Module["_upload_file_return"]=(a0,a1,a2,a3,a4,a5)=>(_upload_file_return=Module["_upload_file_return"]=wasmExports["Mb"])(a0,a1,a2,a3,a4,a5);var _runApp=Module["_runApp"]=()=>(_runApp=Module["_runApp"]=wasmExports["Nb"])();var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["Ob"])(a0,a1);var __Z35ma_device__on_notification_unlockedP9ma_device=Module["__Z35ma_device__on_notification_unlockedP9ma_device"]=a0=>(__Z35ma_device__on_notification_unlockedP9ma_device=Module["__Z35ma_device__on_notification_unlockedP9ma_device"]=wasmExports["Pb"])(a0);var _ma_malloc_emscripten=Module["_ma_malloc_emscripten"]=(a0,a1)=>(_ma_malloc_emscripten=Module["_ma_malloc_emscripten"]=wasmExports["Qb"])(a0,a1);var _ma_free_emscripten=Module["_ma_free_emscripten"]=(a0,a1)=>(_ma_free_emscripten=Module["_ma_free_emscripten"]=wasmExports["Rb"])(a0,a1);var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=(a0,a1,a2)=>(_ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=wasmExports["Sb"])(a0,a1,a2);var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=(a0,a1,a2)=>(_ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=wasmExports["Tb"])(a0,a1,a2);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["Ub"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["Vb"])(a0);var __emscripten_tempret_set=a0=>(__emscripten_tempret_set=wasmExports["Xb"])(a0);var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["Yb"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["Zb"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["_b"])();var ___cxa_is_pointer_type=a0=>(___cxa_is_pointer_type=wasmExports["$b"])(a0);Module["ccall"]=ccall;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();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/MegaBoy.wasm b/MegaBoy.wasm index e68ada357ea687de9b7efa2c1000525acbb632c0..6a52ee1f35a0b19d1eb4885e2be3c8cc296845b4 100644 GIT binary patch delta 150412 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 delta 145674 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 bm2>d$q1cjgM