From 0c6663a8bc72f5584425602ac6e069f3d9b9a6b2 Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Fri, 16 Jun 2023 09:26:47 -0500 Subject: [PATCH] Test a code update. --- Crawler/pge.html | 2 +- Crawler/pge.js | 2 +- Crawler/pge.wasm | Bin 388395 -> 391619 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Crawler/pge.html b/Crawler/pge.html index 615b49b8..28be566b 100644 --- a/Crawler/pge.html +++ b/Crawler/pge.html @@ -1 +1 @@ -Emscripten-Generated Codeimage/svg+xml
Downloading...
Resize canvasLock/hide mouse pointer    
\ No newline at end of file +Emscripten-Generated Codeimage/svg+xml
Downloading...
Resize canvasLock/hide mouse pointer    
\ No newline at end of file diff --git a/Crawler/pge.js b/Crawler/pge.js index 941f7855..cd34a3b5 100644 --- a/Crawler/pge.js +++ b/Crawler/pge.js @@ -1 +1 @@ -var Module=typeof Module!="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){if(Module["ENVIRONMENT_IS_PTHREAD"]||Module["$ww"])return;var loadPackage=function(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var PACKAGE_NAME="pge.data";var REMOTE_PACKAGE_BASE="pge.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){require("fs").readFile(packageName,function(err,contents){if(err){errback(err)}else{callback(contents.buffer)}});return}var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","assets",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(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",function(ex){if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});var nodeMajor=process.versions.node.split(".")[0];if(nodeMajor<15){process.on("unhandledRejection",function(reason){throw reason})}quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=function(){return"[Emscripten Module object]"}}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.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.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 noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){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}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function 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 stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}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["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}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++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){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,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="pge.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(binaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(binaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(binaryFile)})}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(function(binary){return WebAssembly.instantiate(binary,imports)}).then(function(instance){return instance}).then(receiver,function(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(function(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)})})}else{return instantiateArrayBuffer(binaryFile,imports,callback)}}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["memory"];updateMemoryViews();wasmTable=Module["asm"]["__indirect_function_table"];addOnInit(Module["asm"]["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;var ASM_CONSTS={42380:()=>{window.onunload=Module._olc_OnPageUnload},42424:($0,$1)=>{Module.olc_AspectRatio=$0/$1;Module.olc_AssumeDefaultShells=document.querySelectorAll(".emscripten").length>=3?true:false;var olc_ResizeHandler=function(){let isFullscreen=document.fullscreenElement!=null;let width=isFullscreen?window.innerWidth:Module.canvas.parentNode.clientWidth;let height=isFullscreen?window.innerHeight:Module.canvas.parentNode.clientHeight;let viewWidth=width;let viewHeight=width/Module.olc_AspectRatio;if(viewHeight>height){viewWidth=height*Module.olc_AspectRatio;viewHeight=height}viewWidth=parseInt(viewWidth);viewHeight=parseInt(viewHeight);setTimeout(function(){if(Module.olc_AssumeDefaultShells)Module.canvas.parentNode.setAttribute("style","width: 100%; height: 70vh; margin-left: auto; margin-right: auto;");Module.canvas.setAttribute("width",viewWidth);Module.canvas.setAttribute("height",viewHeight);Module.canvas.setAttribute("style",`width: ${viewWidth}px; height: ${viewHeight}px;`);Module._olc_PGE_UpdateWindowSize(viewWidth,viewHeight);Module.canvas.focus()},200)};var olc_Init=function(){if(Module.olc_AspectRatio===undefined){setTimeout(function(){Module.olc_Init()},50);return}let resizeObserver=new ResizeObserver(function(entries){Module.olc_ResizeHandler()}).observe(Module.canvas.parentNode);let mutationObserver=new MutationObserver(function(mutationsList,observer){setTimeout(function(){Module.olc_ResizeHandler()},200)}).observe(Module.canvas.parentNode,{attributes:false,childList:true,subtree:false});window.addEventListener("fullscreenchange",function(e){setTimeout(function(){Module.olc_ResizeHandler()},200)})};Module.olc_ResizeHandler=Module.olc_ResizeHandler!=undefined?Module.olc_ResizeHandler:olc_ResizeHandler;Module.olc_Init=Module.olc_Init!=undefined?Module.olc_Init:olc_Init;Module.olc_Init()}};function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){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;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}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:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"))},join2:(l,r)=>{return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){var randomBuffer=new Uint8Array(1);return()=>{crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return()=>crypto_module["randomBytes"](1)[0]}catch(e){}}return()=>abort("randomDevice")}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[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;i0?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 TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.fsync(stream.tty)},fsync:function(stream){stream.tty.ops.fsync(stream.tty)},read:function(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){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){abort()}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){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:function(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:function(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:function(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:function(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:function(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:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(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:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(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{assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,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,parent)}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},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:str=>{var flags=FS.flagModes[str];if(typeof flags=="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},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=>{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:(fd_start=0,fd_end=FS.MAX_OPEN_FDS)=>{for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd_start,fd_end)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}},flags:{get:function(){return this.shared.flags},set:function(val){this.shared.flags=val}},position:{get:function(){return this.shared.position},set:function(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){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.apply(check,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;i{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path=="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.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 random_device=getRandomDevice();FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);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.getStream(fd);if(!stream)throw new FS.ErrnoError(8);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)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name="ErrnoError";this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();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;i{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},findObject:(path,dontResolveLastLink)=>{var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_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};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;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});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]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});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},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){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(Browser.handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}},indexedDB:()=>{return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:()=>{return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths,onload=(()=>{}),onerror=(()=>{}))=>{var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=()=>{out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=()=>{var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=()=>{ok++;if(ok+fail==total)finish()};putRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:(paths,onload=(()=>{}),onerror=(()=>{}))=>{var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=()=>{var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var getRequest=files.get(path);getRequest.onsuccess=()=>{if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(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:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAPU32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>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.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>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]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>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]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];HEAPU32[buf+96>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+104>>2]=tempI64[0],HEAP32[buf+108>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var nowIsMonotonic=true;function __emscripten_get_now_is_monotonic(){return nowIsMonotonic}function __emscripten_throw_longjmp(){throw Infinity}function _abort(){abort("")}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof 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);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=()=>{var t=process.hrtime();return t[0]*1e3+t[1]/1e6}}else _emscripten_get_now=()=>performance.now();function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=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}}out('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");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&&SDL.audio.queueNewAudioData)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"}}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}function _proc_exit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}function exitJS(status,implicit){EXITSTATUS=status;_proc_exit(status)}var _exit=exitJS;function maybeExit(){if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}}function callUserCallback(func){if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}}function safeSetTimeout(func,timeout){return setTimeout(function(){callUserCallback(func)},timeout)}function warnOnce(text){if(!warnOnce.shown)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:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){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:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining{assert(img.complete,"Image "+name+" could not be decoded");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;Browser.URLObject.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=event=>{out("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};Module["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;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;preloadedAudios[name]=new Audio;if(onerror)onerror()}if(Browser.hasBlobConstructor){try{var b=new Blob([byteArray],{type:Browser.getMimetype(name)})}catch(e){return fail()}var url=Browser.URLObject.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(function(){finish(audio)},1e4)}else{return fail()}};Module["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)}}},handledByPreloadPlugin:function(byteArray,fullname,finish,onerror){Browser.init();var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled},createContext:function(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){if(!useWebGL)assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(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)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])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:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(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:function(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout:function(func,timeout){return safeSetTimeout(func,timeout)},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){callUserCallback(func)})},getMimetype:function(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:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(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:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{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;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};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];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){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:function(){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:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}function __webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"))}function __webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"))}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(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:function(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:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(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:function(context){if(!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);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};function _eglCreateContext(display,config,hmm,contextAttribs){if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion<2||glesContextVersion>3){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Module["canvas"],EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Module.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}}function _eglCreateWindowSurface(display,config,win,attrib_list){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}function _eglDestroyContext(display,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1}function _eglDestroySurface(display,surface){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1}function _eglGetDisplay(nativeDisplayType){EGL.setErrorCode(12288);return 62e3}function _eglInitialize(display,majorVersion,minorVersion){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}function _eglMakeCurrent(display,draw,read,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}function _eglSwapBuffers(){if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0}function _eglSwapInterval(display,interval){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1}function _eglTerminate(display){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1}var readEmAsmArgsArray=[];function readEmAsmArgs(sigPtr,buf){readEmAsmArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++]){buf+=ch!=105&buf;readEmAsmArgsArray.push(ch==105?HEAP32[buf]:HEAPF64[buf++>>1]);++buf}return readEmAsmArgsArray}function runEmAsmFunction(code,sigPtr,argbuf){var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int(code,sigPtr,argbuf){return runEmAsmFunction(code,sigPtr,argbuf)}function _emscripten_cancel_main_loop(){Browser.mainLoop.pause();Browser.mainLoop.func=null}function _emscripten_date_now(){return Date.now()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;try{wasmMemory.grow(size-b.byteLength+65535>>>16);updateMemoryViews();return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let 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=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function registerFocusEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.focusEvent)JSEvents.focusEvent=_malloc(256);var focusEventHandlerFunc=function(e=event){var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(getWasmTableEntry(callbackfunc)(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_blur_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread);return 0}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0}function _emscripten_set_focus_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread);return 0}function registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(176);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;HEAP32[idx+7]=e.repeat;HEAP32[idx+8]=e.charCode;HEAP32[idx+9]=e.keyCode;HEAP32[idx+10]=e.which;stringToUTF8(e.key||"",keyEventData+44,32);stringToUTF8(e.code||"",keyEventData+76,32);stringToUTF8(e.char||"",keyEventData+108,32);stringToUTF8(e.locale||"",keyEventData+140,32);if(getWasmTableEntry(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_keyup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop){var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)}function getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP32[idx+6]=e.ctrlKey;HEAP32[idx+7]=e.shiftKey;HEAP32[idx+8]=e.altKey;HEAP32[idx+9]=e.metaKey;HEAP16[idx*2+20]=e.button;HEAP16[idx*2+21]=e.buttons;HEAP32[idx+11]=e["movementX"];HEAP32[idx+12]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+13]=e.clientX-rect.left;HEAP32[idx+14]=e.clientY-rect.top}function registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=findEventTarget(target);var mouseEventHandlerFunc=function(e=event){fillMouseEventData(JSEvents.mouseEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_mousedown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread);return 0}function _emscripten_set_mousemove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread);return 0}function _emscripten_set_mouseup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread);return 0}function registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1696);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var t,touches={},et=e.touches;for(var i=0;i>3]=e.timeStamp;var idx=touchEvent>>2;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;idx+=7;var targetRect=getBoundingClientRect(target);var numTouches=0;for(var i in touches){t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent+8>>2]=numTouches;if(getWasmTableEntry(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function registerWheelEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.wheelEvent)JSEvents.wheelEvent=_malloc(104);var wheelHandlerFunc=function(e=event){var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+72>>3]=e["deltaX"];HEAPF64[wheelEvent+80>>3]=e["deltaY"];HEAPF64[wheelEvent+88>>3]=e["deltaZ"];HEAP32[wheelEvent+96>>2]=e["deltaMode"];if(getWasmTableEntry(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:wheelHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_wheel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target=findEventTarget(target);if(typeof target.onwheel!="undefined"){registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread);return 0}else{return-1}}function _emscripten_set_window_title(title){setWindowTitle(UTF8ToString(title))}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function 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}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(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 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 convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);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.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>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}}function 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}}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindBuffer(target,buffer){if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBindVertexArray(vao){GLctx["bindVertexArray"](GL.vaos[vao])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){if(true){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}}else{GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _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}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _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}function _glLinkProgram(program){program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __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}function 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}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _glReadPixels(x,y,width,height,format,type,pixels){if(true){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels)}else{var heap=heapObjectForWebGLType(type);GLctx.readPixels(x,y,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}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)}function _glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _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)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,null)}return}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _glUseProgram(program){program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&__isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!__isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm,loc){return _strftime(s,maxsize,format,tm)}var FSNode=function(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};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_unlink"]=FS.unlink;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var preloadedImages={};var preloadedAudios={};var GLctx;var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain();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:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){if(Module["ENVIRONMENT_IS_PTHREAD"]||Module["$ww"])return;var loadPackage=function(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var PACKAGE_NAME="pge.data";var REMOTE_PACKAGE_BASE="pge.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){require("fs").readFile(packageName,function(err,contents){if(err){errback(err)}else{callback(contents.buffer)}});return}var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"](`Downloading data... (${loaded}/${total})`)}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","assets",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"](`fp ${this.name}`)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"](`fp ${that.name}`);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});var nodeMajor=process.versions.node.split(".")[0];if(nodeMajor<15){process.on("unhandledRejection",reason=>{throw reason})}quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}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.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}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 noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}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["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}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++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){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,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="pge.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinary(binaryFile))}else{if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}}return Promise.resolve().then(()=>getBinary(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>{return WebAssembly.instantiate(binary,imports)}).then(instance=>{return instance}).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)})})}else{return instantiateArrayBuffer(binaryFile,imports,callback)}}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["memory"];updateMemoryViews();wasmTable=Module["asm"]["__indirect_function_table"];addOnInit(Module["asm"]["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;var ASM_CONSTS={43884:()=>{window.onunload=Module._olc_OnPageUnload},43928:($0,$1)=>{Module.olc_AspectRatio=$0/$1;Module.olc_AssumeDefaultShells=document.querySelectorAll(".emscripten").length>=3?true:false;var olc_ResizeHandler=function(){let isFullscreen=document.fullscreenElement!=null;let width=isFullscreen?window.innerWidth:Module.canvas.parentNode.clientWidth;let height=isFullscreen?window.innerHeight:Module.canvas.parentNode.clientHeight;let viewWidth=width;let viewHeight=width/Module.olc_AspectRatio;if(viewHeight>height){viewWidth=height*Module.olc_AspectRatio;viewHeight=height}viewWidth=parseInt(viewWidth);viewHeight=parseInt(viewHeight);setTimeout(function(){if(Module.olc_AssumeDefaultShells)Module.canvas.parentNode.setAttribute("style","width: 100%; height: 70vh; margin-left: auto; margin-right: auto;");Module.canvas.setAttribute("width",viewWidth);Module.canvas.setAttribute("height",viewHeight);Module.canvas.setAttribute("style",`width: ${viewWidth}px; height: ${viewHeight}px;`);Module._olc_PGE_UpdateWindowSize(viewWidth,viewHeight);Module.canvas.focus()},200)};var olc_Init=function(){if(Module.olc_AspectRatio===undefined){setTimeout(function(){Module.olc_Init()},50);return}let resizeObserver=new ResizeObserver(function(entries){Module.olc_ResizeHandler()}).observe(Module.canvas.parentNode);let mutationObserver=new MutationObserver(function(mutationsList,observer){setTimeout(function(){Module.olc_ResizeHandler()},200)}).observe(Module.canvas.parentNode,{attributes:false,childList:true,subtree:false});window.addEventListener("fullscreenchange",function(e){setTimeout(function(){Module.olc_ResizeHandler()},200)})};Module.olc_ResizeHandler=Module.olc_ResizeHandler!=undefined?Module.olc_ResizeHandler:olc_ResizeHandler;Module.olc_Init=Module.olc_Init!=undefined?Module.olc_Init:olc_Init;Module.olc_Init()}};function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){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;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}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:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"))},join2:(l,r)=>{return PATH.normalize(l+"/"+r)}};function 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")}function randomFill(view){return(randomFill=initRandomFill())(view)}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[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=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}function 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 UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){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 TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.fsync(stream.tty)},fsync:function(stream){stream.tty.ops.fsync(stream.tty)},read:function(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){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){abort()}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){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:function(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:function(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:function(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:function(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:function(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:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(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:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(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{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)}var preloadPlugins=Module["preloadPlugins"]||[];function FS_handledByPreloadPlugin(byteArray,fullname,finish,onerror){if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled}function 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){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}}function 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}function FS_getMode(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,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,parent)}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=>{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)},getStream:fd=>FS.streams[fd],createStream:(stream,fd=-1)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}},flags:{get:function(){return this.shared.flags},set:function(val){this.shared.flags=val}},position:{get:function(){return this.shared.position},set:function(val){this.shared.position=val}}})}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},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){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.apply(check,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;i{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path=="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.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.getStream(fd);if(!stream)throw new FS.ErrnoError(8);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)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name="ErrnoError";this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();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;i{var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_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};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;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});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]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});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}};function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(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:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAPU32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>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+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>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+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>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+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>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+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];HEAPU32[buf+96>>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+104>>2]=tempI64[0],HEAP32[buf+108>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var nowIsMonotonic=true;function __emscripten_get_now_is_monotonic(){return nowIsMonotonic}function __emscripten_throw_longjmp(){throw Infinity}function _abort(){abort("")}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof 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);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){global.performance=require("perf_hooks").performance}_emscripten_get_now=()=>performance.now();function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=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}}out('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");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&&SDL.audio.queueNewAudioData)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"}}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}function _proc_exit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}function exitJS(status,implicit){EXITSTATUS=status;_proc_exit(status)}var _exit=exitJS;function maybeExit(){if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}}function callUserCallback(func){if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}}function safeSetTimeout(func,timeout){return setTimeout(()=>{callUserCallback(func)},timeout)}var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){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:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining{assert(img.complete,"Image "+name+" could not be decoded");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);if(onload)onload(byteArray)};img.onerror=event=>{out("Image "+url+" could not be decoded");if(onerror)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;if(onload)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:function(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){if(!useWebGL)assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(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)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])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:function(){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:function(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:function(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout:function(func,timeout){return safeSetTimeout(func,timeout)},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(()=>{callUserCallback(func)})},getMimetype:function(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:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(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:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{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;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};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];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){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:function(){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:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}function webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"))}function webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"))}function webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(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:function(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:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(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:function(context){if(!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);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};function _eglCreateContext(display,config,hmm,contextAttribs){if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion<2||glesContextVersion>3){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Module["canvas"],EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Module.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}}function _eglCreateWindowSurface(display,config,win,attrib_list){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}function _eglDestroyContext(display,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1}function _eglDestroySurface(display,surface){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1}function _eglGetDisplay(nativeDisplayType){EGL.setErrorCode(12288);return 62e3}function _eglInitialize(display,majorVersion,minorVersion){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}function _eglMakeCurrent(display,draw,read,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}function _eglSwapBuffers(dpy,surface){if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0}function _eglSwapInterval(display,interval){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1}function _eglTerminate(display){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1}var readEmAsmArgsArray=[];function readEmAsmArgs(sigPtr,buf){readEmAsmArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++]){buf+=ch!=105&buf;readEmAsmArgsArray.push(ch==105?HEAP32[buf]:HEAPF64[buf++>>1]);++buf}return readEmAsmArgsArray}function runEmAsmFunction(code,sigPtr,argbuf){var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int(code,sigPtr,argbuf){return runEmAsmFunction(code,sigPtr,argbuf)}function _emscripten_cancel_main_loop(){Browser.mainLoop.pause();Browser.mainLoop.func=null}function _emscripten_date_now(){return Date.now()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;try{wasmMemory.grow(size-b.byteLength+65535>>>16);updateMemoryViews();return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=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=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function registerFocusEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.focusEvent)JSEvents.focusEvent=_malloc(256);var focusEventHandlerFunc=function(e=event){var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(getWasmTableEntry(callbackfunc)(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_blur_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread)}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0}function _emscripten_set_focus_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread)}function registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(176);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;HEAP32[idx+7]=e.repeat;HEAP32[idx+8]=e.charCode;HEAP32[idx+9]=e.keyCode;HEAP32[idx+10]=e.which;stringToUTF8(e.key||"",keyEventData+44,32);stringToUTF8(e.code||"",keyEventData+76,32);stringToUTF8(e.char||"",keyEventData+108,32);stringToUTF8(e.locale||"",keyEventData+140,32);if(getWasmTableEntry(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread)}function _emscripten_set_keyup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread)}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop){var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)}function getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP32[idx+6]=e.ctrlKey;HEAP32[idx+7]=e.shiftKey;HEAP32[idx+8]=e.altKey;HEAP32[idx+9]=e.metaKey;HEAP16[idx*2+20]=e.button;HEAP16[idx*2+21]=e.buttons;HEAP32[idx+11]=e["movementX"];HEAP32[idx+12]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+13]=e.clientX-rect.left;HEAP32[idx+14]=e.clientY-rect.top}function registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=findEventTarget(target);var mouseEventHandlerFunc=function(e=event){fillMouseEventData(JSEvents.mouseEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_mousedown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread)}function _emscripten_set_mousemove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread)}function _emscripten_set_mouseup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread)}function registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1696);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var t,touches={},et=e.touches;for(var i=0;i>3]=e.timeStamp;var idx=touchEvent>>2;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;idx+=7;var targetRect=getBoundingClientRect(target);var numTouches=0;for(var i in touches){t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent+8>>2]=numTouches;if(getWasmTableEntry(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread)}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread)}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread)}function registerWheelEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.wheelEvent)JSEvents.wheelEvent=_malloc(104);var wheelHandlerFunc=function(e=event){var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+72>>3]=e["deltaX"];HEAPF64[wheelEvent+80>>3]=e["deltaY"];HEAPF64[wheelEvent+88>>3]=e["deltaZ"];HEAP32[wheelEvent+96>>2]=e["deltaMode"];if(getWasmTableEntry(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:wheelHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_wheel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target=findEventTarget(target);if(!target)return-4;if(typeof target.onwheel!="undefined"){return registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread)}else{return-1}}function _emscripten_set_window_title(title){setWindowTitle(UTF8ToString(title))}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function 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}function stringToAscii(str,buffer){for(var i=0;i>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(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 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 convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);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}}function 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}}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindBuffer(target,buffer){if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBindVertexArray(vao){GLctx.bindVertexArray(GL.vaos[vao])}var _glBindVertexArrayOES=_glBindVertexArray;function _glBlendFunc(x0,x1){GLctx.blendFunc(x0,x1)}function _glBufferData(target,size,data,usage){if(true){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}}else{GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}}function _glClear(x0){GLctx.clear(x0)}function _glClearColor(x0,x1,x2,x3){GLctx.clearColor(x0,x1,x2,x3)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _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}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glEnable(x0){GLctx.enable(x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}var _glGenVertexArraysOES=_glGenVertexArrays;function _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}function _glLinkProgram(program){program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function 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}function 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}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _glReadPixels(x,y,width,height,format,type,pixels){if(true){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels)}else{var heap=heapObjectForWebGLType(type);GLctx.readPixels(x,y,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}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)}function _glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _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)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,null)}return}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _glTexParameteri(x0,x1,x2){GLctx.texParameteri(x0,x1,x2)}function _glUseProgram(program){program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx.viewport(x0,x1,x2,x3)}function isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+arraySum(isLeapYear(date.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm,loc){return _strftime(s,maxsize,format,tm)}var FSNode=function(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};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_unlink"]=FS.unlink;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var preloadedImages={};var preloadedAudios={};var GLctx;var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain();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/Crawler/pge.wasm b/Crawler/pge.wasm index 0ee72f57968d7e360bce6ffc8af3b1c52c7b36c6..bb0199ffb7bea6ab0f590e2900f96fdf7b6e78ed 100644 GIT binary patch delta 144855 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

^ zIV-7v|2a5+#&cfm-^MG~qFfdr7Bw~fV*jO5T!8x`9zyv9JOl7t5^Hz!5PliXUqs6s zUa2Cb4nzu1>Tz&?h2SfAu8LQ4cu3kNIIrRP70+*Yw&BUaV^yJE-QK-Nr1not#spHw zQSFqbnhG#}=sWsdvq1h1cRrqVc-G^|#&aFdMm&_qW;|Q)Y{hc}&rLkYL$uA|rOOat z{HVCO7HqM2JFk~DU_0NWhv)rUl3VYz0$sT3vR(T(G{;+_-46aR&q#+|N!F}goaESu|sZ4HuEM3e{_ z?d*PDp+yxq={F7#V&JYyL3m>ERKrspPYpaZ@z5_5@oK?c8&7Fr9^hs42I8>;{I@da zKeoAU2TXboWEWwLWcbquc?H?YufRKdt^yJKzKYUVMwxODs|T&c#)G`Z1B8OVAtsIY z(|FU*hKGRCI}j=9O}_;elr|Dd^+Q;t?j%|t;;kfsqyr{^EjR-@H~m9C!VM9JS{pMwm>E!$^8n%&_&dK z&)^}Dz3@DX=Q%vR@$|tHkEgF#2axrslzD#w@sH z&E*l2Zl}ul-tpZudF0SxBa{23%E66rp?H$oJgIo-w|9za@R2%@q_nt_i@gNtBJ3z1^(dj^6a-TIjQ(#c_g$-x)%@GRtXe28wP9FvAaU$>-@BI*^O+_gEio&dG`TN2gCtxJ}rOkCx zA2(IO94}$6IEIO+$zuO8tGwM1D$9kp2X>O>Cjb0mV5d&S%-3R@Yn|R>nu0w=!k+OB zV9yjQzu~=;C~Y)Ci-VbG!S^k1^J%c4U1D=hclDUAX|n(?gJ9yBjpt)LpWvB;2itJ9 zd3fgIA*S48x~OypyTBKTnaBAvQpPDUUEDd&V@&FhSb(F#iKny}e1ca9$g*;Z`%t`l0y(V{^G@&~?Ff2V#3tx_2?Bn_L2rsU9_Xjx zUJr2D1Rc)?@x)2qy9I&TVu4Dh==k}z&T$_Q{bzs)A?YRy#Ab2jB!5_r>~I9#FKIr) ziCAo*q+^*E5h$P z3&_g|CLj&*E?SmJvtTj0o`A$l3NUrrWr6($R;4CEg-*H zKz_$NUv&PS_iIDd*=PZI1#kNKcFS=98N1QuTIJVkwkpYW3&;(;Z{oQnu6)lMv?o9h zAPSWx8tBbQ!!;=3~*`i0LIPo3it)m)ycq2vtiKs*jSPCR~i zO5h2?Q&P-0$7|G+;vYbSTVQ%w$qYpCO@fGlIkPm091XfO$nSi^)fw!iDXy7Qt6(G$8jBf@|i}JyC2FEub z3E)!oKR}uTSciZCFf(3Z;^y1{G(4f`93yDNsQPO_Nnk^J36N$5=>x8%egR}N-B<+x D$3Ixh delta 142169 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