From 98a497521547d5fdc093290f07883b0a299cc404 Mon Sep 17 00:00:00 2001 From: Simon Binder Date: Tue, 17 Jun 2025 14:48:36 +0200 Subject: [PATCH] Prepare release --- .changeset/selfish-trainers-guess.md | 5 +++++ dist/mc-wa-sqlite-async.mjs | 2 +- dist/mc-wa-sqlite-async.wasm | Bin 2248610 -> 2258969 bytes dist/mc-wa-sqlite-jspi.mjs | 2 +- dist/mc-wa-sqlite-jspi.wasm | Bin 1213349 -> 1213342 bytes dist/mc-wa-sqlite.mjs | 2 +- dist/mc-wa-sqlite.wasm | Bin 1207277 -> 1207270 bytes dist/wa-sqlite-async-dynamic-main.mjs | 2 +- dist/wa-sqlite-async-dynamic-main.wasm | Bin 3695099 -> 3731278 bytes dist/wa-sqlite-async.mjs | 2 +- dist/wa-sqlite-async.wasm | Bin 2027051 -> 2037409 bytes dist/wa-sqlite-dynamic-main.mjs | 2 +- dist/wa-sqlite-dynamic-main.wasm | Bin 2326510 -> 2350112 bytes dist/wa-sqlite-jspi.mjs | 2 +- dist/wa-sqlite-jspi.wasm | Bin 1026241 -> 1026234 bytes dist/wa-sqlite.mjs | 2 +- dist/wa-sqlite.wasm | Bin 1020310 -> 1020303 bytes 17 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 .changeset/selfish-trainers-guess.md diff --git a/.changeset/selfish-trainers-guess.md b/.changeset/selfish-trainers-guess.md new file mode 100644 index 00000000..c1c76070 --- /dev/null +++ b/.changeset/selfish-trainers-guess.md @@ -0,0 +1,5 @@ +--- +"@journeyapps/wa-sqlite": patch +--- + +Update PowerSync core extension to 0.4.0 diff --git a/dist/mc-wa-sqlite-async.mjs b/dist/mc-wa-sqlite-async.mjs index 5f5fda82..47bb99a9 100644 --- a/dist/mc-wa-sqlite-async.mjs +++ b/dist/mc-wa-sqlite-async.mjs @@ -4,7 +4,7 @@ var Module = (() => { async function(moduleArg = {}) { var moduleRtn; -var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&process.versions?.node&&process.type!="renderer";var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{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=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["ra"]();FS.ignorePermissions=false}function preMain(){}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("mc-wa-sqlite-async.wasm")}return new URL("mc-wa-sqlite-async.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{a:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmMemory=wasmExports["qa"];updateMemoryViews();wasmTable=wasmExports["wf"];removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})})}wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}catch(e){readyPromiseReject(e);return Promise.reject(e)}}var tempDouble;var tempI64;class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=new TextDecoder;var UTF8ToString=(ptr,maxBytesToRead)=>{if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))};var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);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.slice(-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.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>view=>crypto.getRandomValues(view);var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heapOrArray.buffer?heapOrArray.subarray(idx,endPtr):new Uint8Array(heapOrArray.slice(idx,endPtr)))};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,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.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};asyncLoad.isAsync=true;var FS_createDataFile=(...args)=>FS.createDataFile(...args);var preloadPlugins=[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}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|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,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){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}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)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){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);old_node.parent=new_dir}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;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return 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 link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){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)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},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}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,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,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){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},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)}if(!length){throw new FS.ErrnoError(28)}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)},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)}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,llseek:()=>0});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){randomFill(randomBuffer);randomLeft=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",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},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){if(e.errno!=20)throw 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;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},writeStatFs(buf,stats){HEAP32[buf+4>>2]=stats.bsize;HEAP32[buf+40>>2]=stats.bsize;HEAP32[buf+8>>2]=stats.blocks;HEAP32[buf+12>>2]=stats.bfree;HEAP32[buf+16>>2]=stats.bavail;HEAP32[buf+20>>2]=stats.files;HEAP32[buf+24>>2]=stats.ffree;HEAP32[buf+28>>2]=stats.fsid;HEAP32[buf+44>>2]=stats.flags;HEAP32[buf+36>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);var now=Date.now(),atime,mtime;if(!times){atime=now;mtime=now}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){atime=now}else if(nanoseconds==1073741822){atime=null}else{atime=seconds*1e3+nanoseconds/(1e3*1e3)}times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){mtime=now}else if(nanoseconds==1073741822){mtime=null}else{mtime=seconds*1e3+nanoseconds/(1e3*1e3)}}if((mtime??atime)!==null){FS.utime(path,atime,mtime)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("");var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var timers={};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var _emscripten_get_now=()=>performance.now();var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetDate.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}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,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var _fd_sync=function(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return Asyncify.handleSleep(wakeUp=>{var mount=stream.node.mount;if(!mount.type.syncfs){wakeUp(0);return}mount.type.syncfs(mount,false,err=>{wakeUp(err?29:0)})})}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}};_fd_sync.isAsync=true;var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}function _ipp_async(...args){return adapters_support(true,...args)}_ipp_async.isAsync=true;function _ippipppp(...args){return adapters_support(false,...args)}function _ippipppp_async(...args){return adapters_support(true,...args)}_ippipppp_async.isAsync=true;function _ippp(...args){return adapters_support(false,...args)}function _ippp_async(...args){return adapters_support(true,...args)}_ippp_async.isAsync=true;function _ipppi(...args){return adapters_support(false,...args)}function _ipppi_async(...args){return adapters_support(true,...args)}_ipppi_async.isAsync=true;function _ipppiii(...args){return adapters_support(false,...args)}function _ipppiii_async(...args){return adapters_support(true,...args)}_ipppiii_async.isAsync=true;function _ipppiiip(...args){return adapters_support(false,...args)}function _ipppiiip_async(...args){return adapters_support(true,...args)}_ipppiiip_async.isAsync=true;function _ipppip(...args){return adapters_support(false,...args)}function _ipppip_async(...args){return adapters_support(true,...args)}_ipppip_async.isAsync=true;function _ipppj(...args){return adapters_support(false,...args)}function _ipppj_async(...args){return adapters_support(true,...args)}_ipppj_async.isAsync=true;function _ipppp(...args){return adapters_support(false,...args)}function _ipppp_async(...args){return adapters_support(true,...args)}_ipppp_async.isAsync=true;function _ippppi(...args){return adapters_support(false,...args)}function _ippppi_async(...args){return adapters_support(true,...args)}_ippppi_async.isAsync=true;function _ippppij(...args){return adapters_support(false,...args)}function _ippppij_async(...args){return adapters_support(true,...args)}_ippppij_async.isAsync=true;function _ippppip(...args){return adapters_support(false,...args)}function _ippppip_async(...args){return adapters_support(true,...args)}_ippppip_async.isAsync=true;function _ipppppip(...args){return adapters_support(false,...args)}function _ipppppip_async(...args){return adapters_support(true,...args)}_ipppppip_async.isAsync=true;function _random_get(buffer,size){try{randomFill(HEAPU8.subarray(buffer,buffer+size));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _vppippii(...args){return adapters_support(false,...args)}function _vppippii_async(...args){return adapters_support(true,...args)}_vppippii_async.isAsync=true;function _vppp(...args){return adapters_support(false,...args)}function _vppp_async(...args){return adapters_support(true,...args)}_vppp_async.isAsync=true;function _vpppip(...args){return adapters_support(false,...args)}function _vpppip_async(...args){return adapters_support(true,...args)}_vpppip_async.isAsync=true;var runAndAbortIfError=func=>{try{return func()}catch(e){abort(e)}};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{runtimeKeepaliveCounter+=1};var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};var Asyncify={instrumentWasmImports(imports){var importPattern=/^(ipp|ipp_async|ippp|ippp_async|vppp|vppp_async|ipppj|ipppj_async|ipppi|ipppi_async|ipppp|ipppp_async|ipppip|ipppip_async|vpppip|vpppip_async|ippppi|ippppi_async|ippppij|ippppij_async|ipppiii|ipppiii_async|ippppip|ippppip_async|ippipppp|ippipppp_async|ipppppip|ipppppip_async|ipppiiip|ipppiiip_async|vppippii|vppippii_async|invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original=="function"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){ret[x]=(...args)=>{Asyncify.exportCallStack.push(x);try{return original(...args)}finally{if(!ABORT){var y=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}}}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:16384,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(funcName){var id=Asyncify.callStackNameToId[funcName];if(id===undefined){id=Asyncify.callStackId++;Asyncify.callStackNameToId[funcName]=id;Asyncify.callStackIdToName[id]=funcName}return id},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!="undefined"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve,reject}})},allocateData(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){HEAPU32[ptr>>2]=stack;HEAPU32[ptr+4>>2]=stack+stackSize},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);HEAP32[ptr+8>>2]=rewindId},getDataRewindFuncName(ptr){var id=HEAP32[ptr+8>>2];var name=Asyncify.callStackIdToName[id];return name},getDataRewindFunc(name){var func=wasmExports[name];return func},doRewind(ptr){var name=Asyncify.getDataRewindFuncName(ptr);var func=Asyncify.getDataRewindFunc(name);return func()},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync:startAsync=>Asyncify.handleSleep(wakeUp=>{startAsync().then(wakeUp)})};var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var generateFuncType=(sig,target)=>{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var paramType of sigParam){target.push(typeCodes[paramType])}if(sigRet=="v"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTable;var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>wasmTable.set(idx,func);var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=new TextDecoder("utf-16le");var UTF16ToString=(ptr,maxBytesToRead)=>{var idx=ptr>>1;var maxIdx=idx+maxBytesToRead/2;var endIdx=idx;while(!(endIdx>=maxIdx)&&HEAPU16[endIdx])++endIdx;return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx))};var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var intArrayToString=array=>{var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")};var _getTempRet0=getTempRet0;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";adapters_support();{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"]}Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;Module["_getTempRet0"]=_getTempRet0;var wasmImports={a:___assert_fail,aa:___syscall_chmod,ca:___syscall_faccessat,ba:___syscall_fchmod,$:___syscall_fchown32,b:___syscall_fcntl64,_:___syscall_fstat64,y:___syscall_ftruncate64,U:___syscall_getcwd,Y:___syscall_lstat64,Q:___syscall_mkdirat,W:___syscall_newfstatat,O:___syscall_openat,M:___syscall_readlinkat,L:___syscall_rmdir,Z:___syscall_stat64,J:___syscall_unlinkat,I:___syscall_utimensat,ea:__abort_js,E:__emscripten_runtime_keepalive_clear,w:__localtime_js,u:__mmap_js,v:__munmap_js,F:__setitimer_js,P:__tzset_js,n:_emscripten_date_now,g:_emscripten_get_now,G:_emscripten_resize_heap,R:_environ_get,S:_environ_sizes_get,o:_fd_close,H:_fd_fdstat_get,N:_fd_read,x:_fd_seek,V:_fd_sync,K:_fd_write,s:_ipp,t:_ipp_async,la:_ippipppp,pa:_ippipppp_async,j:_ippp,k:_ippp_async,c:_ipppi,d:_ipppi_async,ha:_ipppiii,ia:_ipppiii_async,ja:_ipppiiip,ka:_ipppiiip_async,h:_ipppip,i:_ipppip_async,z:_ipppj,A:_ipppj_async,e:_ipppp,f:_ipppp_async,fa:_ippppi,ga:_ippppi_async,B:_ippppij,C:_ippppij_async,p:_ippppip,q:_ippppip_async,ma:_ipppppip,na:_ipppppip_async,D:_proc_exit,T:_random_get,oa:_vppippii,r:_vppippii_async,l:_vppp,m:_vppp_async,X:_vpppip,da:_vpppip_async};var wasmExports=await createWasm();var ___wasm_call_ctors=wasmExports["ra"];var _powersync_init_static=Module["_powersync_init_static"]=wasmExports["sa"];var _sqlite3_status64=Module["_sqlite3_status64"]=wasmExports["ta"];var _sqlite3_status=Module["_sqlite3_status"]=wasmExports["ua"];var _sqlite3_db_status=Module["_sqlite3_db_status"]=wasmExports["va"];var _sqlite3_msize=Module["_sqlite3_msize"]=wasmExports["wa"];var _sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=wasmExports["xa"];var _sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=wasmExports["ya"];var _sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=wasmExports["za"];var _sqlite3_release_memory=Module["_sqlite3_release_memory"]=wasmExports["Aa"];var _sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=wasmExports["Ba"];var _sqlite3_memory_used=Module["_sqlite3_memory_used"]=wasmExports["Ca"];var _sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=wasmExports["Da"];var _sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=wasmExports["Ea"];var _sqlite3_malloc=Module["_sqlite3_malloc"]=wasmExports["Fa"];var _sqlite3_malloc64=Module["_sqlite3_malloc64"]=wasmExports["Ga"];var _sqlite3_free=Module["_sqlite3_free"]=wasmExports["Ha"];var _sqlite3_realloc=Module["_sqlite3_realloc"]=wasmExports["Ia"];var _sqlite3_realloc64=Module["_sqlite3_realloc64"]=wasmExports["Ja"];var _sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=wasmExports["Ka"];var _sqlite3_str_append=Module["_sqlite3_str_append"]=wasmExports["La"];var _sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=wasmExports["Ma"];var _sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=wasmExports["Na"];var _sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=wasmExports["Oa"];var _sqlite3_str_finish=Module["_sqlite3_str_finish"]=wasmExports["Pa"];var _sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=wasmExports["Qa"];var _sqlite3_str_length=Module["_sqlite3_str_length"]=wasmExports["Ra"];var _sqlite3_str_value=Module["_sqlite3_str_value"]=wasmExports["Sa"];var _sqlite3_str_reset=Module["_sqlite3_str_reset"]=wasmExports["Ta"];var _sqlite3_str_new=Module["_sqlite3_str_new"]=wasmExports["Ua"];var _sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=wasmExports["Va"];var _sqlite3_mprintf=Module["_sqlite3_mprintf"]=wasmExports["Wa"];var _sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=wasmExports["Xa"];var _sqlite3_snprintf=Module["_sqlite3_snprintf"]=wasmExports["Ya"];var _sqlite3_log=Module["_sqlite3_log"]=wasmExports["Za"];var _sqlite3_randomness=Module["_sqlite3_randomness"]=wasmExports["_a"];var _sqlite3_stricmp=Module["_sqlite3_stricmp"]=wasmExports["$a"];var _sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=wasmExports["ab"];var _sqlite3_os_init=Module["_sqlite3_os_init"]=wasmExports["bb"];var _sqlite3_os_end=Module["_sqlite3_os_end"]=wasmExports["cb"];var _sqlite3_serialize=Module["_sqlite3_serialize"]=wasmExports["db"];var _sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=wasmExports["eb"];var _sqlite3_step=Module["_sqlite3_step"]=wasmExports["fb"];var _sqlite3_column_int64=Module["_sqlite3_column_int64"]=wasmExports["gb"];var _sqlite3_reset=Module["_sqlite3_reset"]=wasmExports["hb"];var _sqlite3_exec=Module["_sqlite3_exec"]=wasmExports["ib"];var _sqlite3_column_int=Module["_sqlite3_column_int"]=wasmExports["jb"];var _sqlite3_finalize=Module["_sqlite3_finalize"]=wasmExports["kb"];var _sqlite3_deserialize=Module["_sqlite3_deserialize"]=wasmExports["lb"];var _sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=wasmExports["mb"];var _sqlite3_backup_init=Module["_sqlite3_backup_init"]=wasmExports["nb"];var _sqlite3_backup_step=Module["_sqlite3_backup_step"]=wasmExports["ob"];var _sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=wasmExports["pb"];var _sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=wasmExports["qb"];var _sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=wasmExports["rb"];var _sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=wasmExports["sb"];var _sqlite3_value_blob=Module["_sqlite3_value_blob"]=wasmExports["tb"];var _sqlite3_value_text=Module["_sqlite3_value_text"]=wasmExports["ub"];var _sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=wasmExports["vb"];var _sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=wasmExports["wb"];var _sqlite3_value_double=Module["_sqlite3_value_double"]=wasmExports["xb"];var _sqlite3_value_int=Module["_sqlite3_value_int"]=wasmExports["yb"];var _sqlite3_value_int64=Module["_sqlite3_value_int64"]=wasmExports["zb"];var _sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=wasmExports["Ab"];var _sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=wasmExports["Bb"];var _sqlite3_value_text16=Module["_sqlite3_value_text16"]=wasmExports["Cb"];var _sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=wasmExports["Db"];var _sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=wasmExports["Eb"];var _sqlite3_value_type=Module["_sqlite3_value_type"]=wasmExports["Fb"];var _sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=wasmExports["Gb"];var _sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=wasmExports["Hb"];var _sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=wasmExports["Ib"];var _sqlite3_value_dup=Module["_sqlite3_value_dup"]=wasmExports["Jb"];var _sqlite3_value_free=Module["_sqlite3_value_free"]=wasmExports["Kb"];var _sqlite3_result_blob=Module["_sqlite3_result_blob"]=wasmExports["Lb"];var _sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=wasmExports["Mb"];var _sqlite3_result_double=Module["_sqlite3_result_double"]=wasmExports["Nb"];var _sqlite3_result_error=Module["_sqlite3_result_error"]=wasmExports["Ob"];var _sqlite3_result_error16=Module["_sqlite3_result_error16"]=wasmExports["Pb"];var _sqlite3_result_int=Module["_sqlite3_result_int"]=wasmExports["Qb"];var _sqlite3_result_int64=Module["_sqlite3_result_int64"]=wasmExports["Rb"];var _sqlite3_result_null=Module["_sqlite3_result_null"]=wasmExports["Sb"];var _sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=wasmExports["Tb"];var _sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=wasmExports["Ub"];var _sqlite3_result_text=Module["_sqlite3_result_text"]=wasmExports["Vb"];var _sqlite3_result_text64=Module["_sqlite3_result_text64"]=wasmExports["Wb"];var _sqlite3_result_text16=Module["_sqlite3_result_text16"]=wasmExports["Xb"];var _sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=wasmExports["Yb"];var _sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=wasmExports["Zb"];var _sqlite3_result_value=Module["_sqlite3_result_value"]=wasmExports["_b"];var _sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=wasmExports["$b"];var _sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=wasmExports["ac"];var _sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=wasmExports["bc"];var _sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=wasmExports["cc"];var _sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=wasmExports["dc"];var _sqlite3_user_data=Module["_sqlite3_user_data"]=wasmExports["ec"];var _sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=wasmExports["fc"];var _sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=wasmExports["gc"];var _sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=wasmExports["hc"];var _sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=wasmExports["ic"];var _sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=wasmExports["jc"];var _sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=wasmExports["kc"];var _sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=wasmExports["lc"];var _sqlite3_column_count=Module["_sqlite3_column_count"]=wasmExports["mc"];var _sqlite3_data_count=Module["_sqlite3_data_count"]=wasmExports["nc"];var _sqlite3_column_blob=Module["_sqlite3_column_blob"]=wasmExports["oc"];var _sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=wasmExports["pc"];var _sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=wasmExports["qc"];var _sqlite3_column_double=Module["_sqlite3_column_double"]=wasmExports["rc"];var _sqlite3_column_text=Module["_sqlite3_column_text"]=wasmExports["sc"];var _sqlite3_column_value=Module["_sqlite3_column_value"]=wasmExports["tc"];var _sqlite3_column_text16=Module["_sqlite3_column_text16"]=wasmExports["uc"];var _sqlite3_column_type=Module["_sqlite3_column_type"]=wasmExports["vc"];var _sqlite3_column_name=Module["_sqlite3_column_name"]=wasmExports["wc"];var _sqlite3_column_name16=Module["_sqlite3_column_name16"]=wasmExports["xc"];var _sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=wasmExports["yc"];var _sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=wasmExports["zc"];var _sqlite3_bind_double=Module["_sqlite3_bind_double"]=wasmExports["Ac"];var _sqlite3_bind_int=Module["_sqlite3_bind_int"]=wasmExports["Bc"];var _sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=wasmExports["Cc"];var _sqlite3_bind_null=Module["_sqlite3_bind_null"]=wasmExports["Dc"];var _sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=wasmExports["Ec"];var _sqlite3_bind_text=Module["_sqlite3_bind_text"]=wasmExports["Fc"];var _sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=wasmExports["Gc"];var _sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=wasmExports["Hc"];var _sqlite3_bind_value=Module["_sqlite3_bind_value"]=wasmExports["Ic"];var _sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=wasmExports["Jc"];var _sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=wasmExports["Kc"];var _sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=wasmExports["Lc"];var _sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=wasmExports["Mc"];var _sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=wasmExports["Nc"];var _sqlite3_db_handle=Module["_sqlite3_db_handle"]=wasmExports["Oc"];var _sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=wasmExports["Pc"];var _sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=wasmExports["Qc"];var _sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=wasmExports["Rc"];var _sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=wasmExports["Sc"];var _sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=wasmExports["Tc"];var _sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=wasmExports["Uc"];var _sqlite3_sql=Module["_sqlite3_sql"]=wasmExports["Vc"];var _sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=wasmExports["Wc"];var _sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=wasmExports["Xc"];var _sqlite3_blob_open=Module["_sqlite3_blob_open"]=wasmExports["Yc"];var _sqlite3_blob_close=Module["_sqlite3_blob_close"]=wasmExports["Zc"];var _sqlite3_blob_read=Module["_sqlite3_blob_read"]=wasmExports["_c"];var _sqlite3_blob_write=Module["_sqlite3_blob_write"]=wasmExports["$c"];var _sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=wasmExports["ad"];var _sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=wasmExports["bd"];var _sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=wasmExports["cd"];var _sqlite3_strglob=Module["_sqlite3_strglob"]=wasmExports["dd"];var _sqlite3_strlike=Module["_sqlite3_strlike"]=wasmExports["ed"];var _sqlite3_errmsg=Module["_sqlite3_errmsg"]=wasmExports["fd"];var _sqlite3_load_extension=Module["_sqlite3_load_extension"]=wasmExports["gd"];var _sqlite3_enable_load_extension=Module["_sqlite3_enable_load_extension"]=wasmExports["hd"];var _sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=wasmExports["id"];var _sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=wasmExports["jd"];var _sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=wasmExports["kd"];var _sqlite3_prepare=Module["_sqlite3_prepare"]=wasmExports["ld"];var _sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=wasmExports["md"];var _sqlite3_prepare16=Module["_sqlite3_prepare16"]=wasmExports["nd"];var _sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=wasmExports["od"];var _sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=wasmExports["pd"];var _sqlite3_get_table=Module["_sqlite3_get_table"]=wasmExports["qd"];var _sqlite3_free_table=Module["_sqlite3_free_table"]=wasmExports["rd"];var _sqlite3_create_module=Module["_sqlite3_create_module"]=wasmExports["sd"];var _sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=wasmExports["td"];var _sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=wasmExports["ud"];var _sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=wasmExports["vd"];var _sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=wasmExports["wd"];var _sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=wasmExports["xd"];var _sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=wasmExports["yd"];var _sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=wasmExports["zd"];var _sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=wasmExports["Ad"];var _sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=wasmExports["Bd"];var _sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=wasmExports["Cd"];var _sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=wasmExports["Dd"];var _sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=wasmExports["Ed"];var _sqlite3_complete=Module["_sqlite3_complete"]=wasmExports["Fd"];var _sqlite3_complete16=Module["_sqlite3_complete16"]=wasmExports["Gd"];var _sqlite3_libversion=Module["_sqlite3_libversion"]=wasmExports["Hd"];var _sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=wasmExports["Id"];var _sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=wasmExports["Jd"];var _sqlite3_initialize=Module["_sqlite3_initialize"]=wasmExports["Kd"];var _sqlite3_shutdown=Module["_sqlite3_shutdown"]=wasmExports["Ld"];var _sqlite3_config=Module["_sqlite3_config"]=wasmExports["Md"];var _sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=wasmExports["Nd"];var _sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=wasmExports["Od"];var _sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=wasmExports["Pd"];var _sqlite3_db_config=Module["_sqlite3_db_config"]=wasmExports["Qd"];var _sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=wasmExports["Rd"];var _sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=wasmExports["Sd"];var _sqlite3_changes64=Module["_sqlite3_changes64"]=wasmExports["Td"];var _sqlite3_changes=Module["_sqlite3_changes"]=wasmExports["Ud"];var _sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=wasmExports["Vd"];var _sqlite3_total_changes=Module["_sqlite3_total_changes"]=wasmExports["Wd"];var _sqlite3_txn_state=Module["_sqlite3_txn_state"]=wasmExports["Xd"];var _sqlite3_close=Module["_sqlite3_close"]=wasmExports["Yd"];var _sqlite3_close_v2=Module["_sqlite3_close_v2"]=wasmExports["Zd"];var _sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=wasmExports["_d"];var _sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=wasmExports["$d"];var _sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=wasmExports["ae"];var _sqlite3_interrupt=Module["_sqlite3_interrupt"]=wasmExports["be"];var _sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=wasmExports["ce"];var _sqlite3_create_function=Module["_sqlite3_create_function"]=wasmExports["de"];var _sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=wasmExports["ee"];var _sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=wasmExports["fe"];var _sqlite3_create_function16=Module["_sqlite3_create_function16"]=wasmExports["ge"];var _sqlite3_overload_function=Module["_sqlite3_overload_function"]=wasmExports["he"];var _sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=wasmExports["ie"];var _sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=wasmExports["je"];var _sqlite3_update_hook=Module["_sqlite3_update_hook"]=wasmExports["ke"];var _sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=wasmExports["le"];var _sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=wasmExports["me"];var _sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=wasmExports["ne"];var _sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=wasmExports["oe"];var _sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=wasmExports["pe"];var _sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=wasmExports["qe"];var _sqlite3_error_offset=Module["_sqlite3_error_offset"]=wasmExports["re"];var _sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=wasmExports["se"];var _sqlite3_errcode=Module["_sqlite3_errcode"]=wasmExports["te"];var _sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=wasmExports["ue"];var _sqlite3_system_errno=Module["_sqlite3_system_errno"]=wasmExports["ve"];var _sqlite3_errstr=Module["_sqlite3_errstr"]=wasmExports["we"];var _sqlite3_limit=Module["_sqlite3_limit"]=wasmExports["xe"];var _sqlite3_open=Module["_sqlite3_open"]=wasmExports["ye"];var _sqlite3_open_v2=Module["_sqlite3_open_v2"]=wasmExports["ze"];var _sqlite3_open16=Module["_sqlite3_open16"]=wasmExports["Ae"];var _sqlite3_create_collation=Module["_sqlite3_create_collation"]=wasmExports["Be"];var _sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=wasmExports["Ce"];var _sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=wasmExports["De"];var _sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=wasmExports["Ee"];var _sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=wasmExports["Fe"];var _sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=wasmExports["Ge"];var _sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=wasmExports["He"];var _sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=wasmExports["Ie"];var _sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=wasmExports["Je"];var _sqlite3_sleep=Module["_sqlite3_sleep"]=wasmExports["Ke"];var _sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=wasmExports["Le"];var _sqlite3_file_control=Module["_sqlite3_file_control"]=wasmExports["Me"];var _sqlite3_test_control=Module["_sqlite3_test_control"]=wasmExports["Ne"];var _sqlite3_create_filename=Module["_sqlite3_create_filename"]=wasmExports["Oe"];var _sqlite3_free_filename=Module["_sqlite3_free_filename"]=wasmExports["Pe"];var _sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=wasmExports["Qe"];var _sqlite3_uri_key=Module["_sqlite3_uri_key"]=wasmExports["Re"];var _sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=wasmExports["Se"];var _sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=wasmExports["Te"];var _sqlite3_filename_database=Module["_sqlite3_filename_database"]=wasmExports["Ue"];var _sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=wasmExports["Ve"];var _sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=wasmExports["We"];var _sqlite3_db_name=Module["_sqlite3_db_name"]=wasmExports["Xe"];var _sqlite3_db_filename=Module["_sqlite3_db_filename"]=wasmExports["Ye"];var _sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=wasmExports["Ze"];var _sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=wasmExports["_e"];var _sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=wasmExports["$e"];var _sqlite3_sourceid=Module["_sqlite3_sourceid"]=wasmExports["af"];var _sqlite3mc_config=Module["_sqlite3mc_config"]=wasmExports["bf"];var _sqlite3mc_cipher_count=Module["_sqlite3mc_cipher_count"]=wasmExports["cf"];var _sqlite3mc_cipher_index=Module["_sqlite3mc_cipher_index"]=wasmExports["df"];var _sqlite3mc_cipher_name=Module["_sqlite3mc_cipher_name"]=wasmExports["ef"];var _sqlite3mc_config_cipher=Module["_sqlite3mc_config_cipher"]=wasmExports["ff"];var _sqlite3mc_vfs_create=Module["_sqlite3mc_vfs_create"]=wasmExports["gf"];var _memcmp=Module["_memcmp"]=wasmExports["hf"];var _malloc=Module["_malloc"]=wasmExports["jf"];var _free=Module["_free"]=wasmExports["kf"];var _memset=Module["_memset"]=wasmExports["lf"];var _RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=wasmExports["mf"];var _getSqliteFree=Module["_getSqliteFree"]=wasmExports["nf"];var _main=Module["_main"]=wasmExports["of"];var _libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=wasmExports["pf"];var _libfunction_create_function=Module["_libfunction_create_function"]=wasmExports["qf"];var _libhook_commit_hook=Module["_libhook_commit_hook"]=wasmExports["rf"];var _libhook_update_hook=Module["_libhook_update_hook"]=wasmExports["sf"];var _libprogress_progress_handler=Module["_libprogress_progress_handler"]=wasmExports["tf"];var _libvfs_vfs_register=Module["_libvfs_vfs_register"]=wasmExports["uf"];var _memcpy=Module["_memcpy"]=wasmExports["vf"];var _emscripten_builtin_memalign=wasmExports["xf"];var __emscripten_timeout=wasmExports["yf"];var __emscripten_tempret_get=wasmExports["zf"];var __emscripten_stack_restore=wasmExports["Af"];var __emscripten_stack_alloc=wasmExports["Bf"];var _emscripten_stack_get_current=wasmExports["Cf"];var dynCall_iii=Module["dynCall_iii"]=wasmExports["dynCall_iii"];var dynCall_vii=Module["dynCall_vii"]=wasmExports["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=wasmExports["dynCall_viii"];var dynCall_vi=Module["dynCall_vi"]=wasmExports["dynCall_vi"];var dynCall_iiii=Module["dynCall_iiii"]=wasmExports["dynCall_iiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=wasmExports["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=wasmExports["dynCall_ii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=wasmExports["dynCall_iiiiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=wasmExports["dynCall_iiiii"];var dynCall_viiii=Module["dynCall_viiii"]=wasmExports["dynCall_viiii"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=wasmExports["dynCall_iiiiiiiii"];var dynCall_vijii=Module["dynCall_vijii"]=wasmExports["dynCall_vijii"];var dynCall_viiiii=Module["dynCall_viiiii"]=wasmExports["dynCall_viiiii"];var dynCall_iiiij=Module["dynCall_iiiij"]=wasmExports["dynCall_iiiij"];var dynCall_viji=Module["dynCall_viji"]=wasmExports["dynCall_viji"];var dynCall_viiiij=Module["dynCall_viiiij"]=wasmExports["dynCall_viiiij"];var dynCall_iij=Module["dynCall_iij"]=wasmExports["dynCall_iij"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=wasmExports["dynCall_iidiiii"];var dynCall_v=Module["dynCall_v"]=wasmExports["dynCall_v"];var dynCall_iijii=Module["dynCall_iijii"]=wasmExports["dynCall_iijii"];var dynCall_iiji=Module["dynCall_iiji"]=wasmExports["dynCall_iiji"];var dynCall_i=Module["dynCall_i"]=wasmExports["dynCall_i"];var dynCall_iiiiiij=Module["dynCall_iiiiiij"]=wasmExports["dynCall_iiiiiij"];var dynCall_iiid=Module["dynCall_iiid"]=wasmExports["dynCall_iiid"];var dynCall_iiij=Module["dynCall_iiij"]=wasmExports["dynCall_iiij"];var dynCall_dii=Module["dynCall_dii"]=wasmExports["dynCall_dii"];var dynCall_jii=Module["dynCall_jii"]=wasmExports["dynCall_jii"];var dynCall_ji=Module["dynCall_ji"]=wasmExports["dynCall_ji"];var dynCall_vid=Module["dynCall_vid"]=wasmExports["dynCall_vid"];var dynCall_vij=Module["dynCall_vij"]=wasmExports["dynCall_vij"];var dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=wasmExports["dynCall_iiiiiiiiii"];var dynCall_di=Module["dynCall_di"]=wasmExports["dynCall_di"];var dynCall_iiiiijii=Module["dynCall_iiiiijii"]=wasmExports["dynCall_iiiiijii"];var dynCall_j=Module["dynCall_j"]=wasmExports["dynCall_j"];var dynCall_jj=Module["dynCall_jj"]=wasmExports["dynCall_jj"];var dynCall_jiij=Module["dynCall_jiij"]=wasmExports["dynCall_jiij"];var dynCall_iiiiji=Module["dynCall_iiiiji"]=wasmExports["dynCall_iiiiji"];var dynCall_iiiijii=Module["dynCall_iiiijii"]=wasmExports["dynCall_iiiijii"];var dynCall_ij=Module["dynCall_ij"]=wasmExports["dynCall_ij"];var dynCall_viiji=Module["dynCall_viiji"]=wasmExports["dynCall_viiji"];var dynCall_viijii=Module["dynCall_viijii"]=wasmExports["dynCall_viijii"];var dynCall_iiiiiiiiiii=Module["dynCall_iiiiiiiiiii"]=wasmExports["dynCall_iiiiiiiiiii"];var dynCall_iiiijji=Module["dynCall_iiiijji"]=wasmExports["dynCall_iiiijji"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=wasmExports["dynCall_iiiiiiii"];var _asyncify_start_unwind=wasmExports["Df"];var _asyncify_stop_unwind=wasmExports["Ef"];var _asyncify_start_rewind=wasmExports["Ff"];var _asyncify_stop_rewind=wasmExports["Gf"];var _sqlite3_version=Module["_sqlite3_version"]=87072;function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}preInit();run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc,xStep,xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{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=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var EXITSTATUS;var readyPromiseResolve,readyPromiseReject;var wasmMemory;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["ra"]();FS.ignorePermissions=false}function preMain(){}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("mc-wa-sqlite-async.wasm")}return new URL("mc-wa-sqlite-async.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{a:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmMemory=wasmExports["qa"];updateMemoryViews();wasmTable=wasmExports["wf"];assignWasmExports(wasmExports);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}var tempDouble;var tempI64;class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var dynCalls={};function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=new TextDecoder;var UTF8ToString=(ptr,maxBytesToRead)=>{if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))};var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);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.slice(-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.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>view=>crypto.getRandomValues(view);var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heapOrArray.buffer?heapOrArray.subarray(idx,endPtr):new Uint8Array(heapOrArray.slice(idx,endPtr)))};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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;i++}}heap[outIdx]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,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.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};asyncLoad.isAsync=true;var FS_createDataFile=(...args)=>FS.createDataFile(...args);var getUniqueRunDependency=id=>id;var preloadPlugins=[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}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|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,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){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}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)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){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);old_node.parent=new_dir}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;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return 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 link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){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)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},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}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,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,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){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},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)}if(!length){throw new FS.ErrnoError(28)}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)},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 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"){buf=UTF8ArrayToString(buf)}FS.close(stream);return buf},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){data=new Uint8Array(intArrayFromString(data,true))}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,llseek:()=>0});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){randomFill(randomBuffer);randomLeft=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",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},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){if(e.errno!=20)throw 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;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},writeStatFs(buf,stats){HEAP32[buf+4>>2]=stats.bsize;HEAP32[buf+40>>2]=stats.bsize;HEAP32[buf+8>>2]=stats.blocks;HEAP32[buf+12>>2]=stats.bfree;HEAP32[buf+16>>2]=stats.bavail;HEAP32[buf+20>>2]=stats.files;HEAP32[buf+24>>2]=stats.ffree;HEAP32[buf+28>>2]=stats.fsid;HEAP32[buf+44>>2]=stats.flags;HEAP32[buf+36>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);var now=Date.now(),atime,mtime;if(!times){atime=now;mtime=now}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){atime=now}else if(nanoseconds==1073741822){atime=null}else{atime=seconds*1e3+nanoseconds/(1e3*1e3)}times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){mtime=now}else if(nanoseconds==1073741822){mtime=null}else{mtime=seconds*1e3+nanoseconds/(1e3*1e3)}}if((mtime??atime)!==null){FS.utime(path,atime,mtime)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("");var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var timers={};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var _emscripten_get_now=()=>performance.now();var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetDate.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}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,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.language||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var _fd_sync=function(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return Asyncify.handleSleep(wakeUp=>{var mount=stream.node.mount;if(!mount.type.syncfs){wakeUp(0);return}mount.type.syncfs(mount,false,err=>{wakeUp(err?29:0)})})}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}};_fd_sync.isAsync=true;var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}function _ipp_async(...args){return adapters_support(true,...args)}_ipp_async.isAsync=true;function _ippipppp(...args){return adapters_support(false,...args)}function _ippipppp_async(...args){return adapters_support(true,...args)}_ippipppp_async.isAsync=true;function _ippp(...args){return adapters_support(false,...args)}function _ippp_async(...args){return adapters_support(true,...args)}_ippp_async.isAsync=true;function _ipppi(...args){return adapters_support(false,...args)}function _ipppi_async(...args){return adapters_support(true,...args)}_ipppi_async.isAsync=true;function _ipppiii(...args){return adapters_support(false,...args)}function _ipppiii_async(...args){return adapters_support(true,...args)}_ipppiii_async.isAsync=true;function _ipppiiip(...args){return adapters_support(false,...args)}function _ipppiiip_async(...args){return adapters_support(true,...args)}_ipppiiip_async.isAsync=true;function _ipppip(...args){return adapters_support(false,...args)}function _ipppip_async(...args){return adapters_support(true,...args)}_ipppip_async.isAsync=true;function _ipppj(...args){return adapters_support(false,...args)}function _ipppj_async(...args){return adapters_support(true,...args)}_ipppj_async.isAsync=true;function _ipppp(...args){return adapters_support(false,...args)}function _ipppp_async(...args){return adapters_support(true,...args)}_ipppp_async.isAsync=true;function _ippppi(...args){return adapters_support(false,...args)}function _ippppi_async(...args){return adapters_support(true,...args)}_ippppi_async.isAsync=true;function _ippppij(...args){return adapters_support(false,...args)}function _ippppij_async(...args){return adapters_support(true,...args)}_ippppij_async.isAsync=true;function _ippppip(...args){return adapters_support(false,...args)}function _ippppip_async(...args){return adapters_support(true,...args)}_ippppip_async.isAsync=true;function _ipppppip(...args){return adapters_support(false,...args)}function _ipppppip_async(...args){return adapters_support(true,...args)}_ipppppip_async.isAsync=true;function _random_get(buffer,size){try{randomFill(HEAPU8.subarray(buffer,buffer+size));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _vppippii(...args){return adapters_support(false,...args)}function _vppippii_async(...args){return adapters_support(true,...args)}_vppippii_async.isAsync=true;function _vppp(...args){return adapters_support(false,...args)}function _vppp_async(...args){return adapters_support(true,...args)}_vppp_async.isAsync=true;function _vpppip(...args){return adapters_support(false,...args)}function _vpppip_async(...args){return adapters_support(true,...args)}_vpppip_async.isAsync=true;var runAndAbortIfError=func=>{try{return func()}catch(e){abort(e)}};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{runtimeKeepaliveCounter+=1};var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};var Asyncify={instrumentWasmImports(imports){var importPattern=/^(ipp|ipp_async|ippp|ippp_async|vppp|vppp_async|ipppj|ipppj_async|ipppi|ipppi_async|ipppp|ipppp_async|ipppip|ipppip_async|vpppip|vpppip_async|ippppi|ippppi_async|ippppij|ippppij_async|ipppiii|ipppiii_async|ippppip|ippppip_async|ippipppp|ippipppp_async|ipppppip|ipppppip_async|ipppiiip|ipppiiip_async|vppippii|vppippii_async|invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original=="function"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},instrumentFunction(original){var wrapper=(...args)=>{Asyncify.exportCallStack.push(original);try{return original(...args)}finally{if(!ABORT){var top=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}};Asyncify.funcWrappers.set(original,wrapper);return wrapper},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){var wrapper=Asyncify.instrumentFunction(original);ret[x]=wrapper}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:16384,currData:null,handleSleepReturnValue:0,exportCallStack:[],callstackFuncToId:new Map,callStackIdToFunc:new Map,funcWrappers:new Map,callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(func){if(!Asyncify.callstackFuncToId.has(func)){var id=Asyncify.callStackId++;Asyncify.callstackFuncToId.set(func,id);Asyncify.callStackIdToFunc.set(id,func)}return Asyncify.callstackFuncToId.get(func)},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!="undefined"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve,reject}})},allocateData(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){HEAPU32[ptr>>2]=stack;HEAPU32[ptr+4>>2]=stack+stackSize},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);HEAP32[ptr+8>>2]=rewindId},getDataRewindFunc(ptr){var id=HEAP32[ptr+8>>2];var func=Asyncify.callStackIdToFunc.get(id);return func},doRewind(ptr){var original=Asyncify.getDataRewindFunc(ptr);var func=Asyncify.funcWrappers.get(original);return func()},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync:startAsync=>Asyncify.handleSleep(wakeUp=>{startAsync().then(wakeUp)})};var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var generateFuncType=(sig,target)=>{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var paramType of sigParam){target.push(typeCodes[paramType])}if(sigRet=="v"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTable;var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>wasmTable.set(idx,func);var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i65535){i++}HEAP32[outPtr>>2]=codePoint;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=new TextDecoder("utf-16le");var UTF16ToString=(ptr,maxBytesToRead)=>{var idx=ptr>>1;var maxIdx=idx+maxBytesToRead/2;var endIdx=idx;while(!(endIdx>=maxIdx)&&HEAPU16[endIdx])++endIdx;return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx))};var UTF32ToString=(ptr,maxBytesToRead)=>{var str="";for(var i=0;!(i>=maxBytesToRead/4);i++){var utf32=HEAP32[ptr+i*4>>2];if(!utf32)break;str+=String.fromCodePoint(utf32)}return str};var intArrayToString=array=>{var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")};var _getTempRet0=getTempRet0;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";adapters_support();{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"]}Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;Module["_getTempRet0"]=_getTempRet0;var _powersync_init_static,_sqlite3_status64,_sqlite3_status,_sqlite3_db_status,_sqlite3_msize,_sqlite3_vfs_find,_sqlite3_vfs_register,_sqlite3_vfs_unregister,_sqlite3_release_memory,_sqlite3_soft_heap_limit64,_sqlite3_memory_used,_sqlite3_hard_heap_limit64,_sqlite3_memory_highwater,_sqlite3_malloc,_sqlite3_malloc64,_sqlite3_free,_sqlite3_realloc,_sqlite3_realloc64,_sqlite3_str_vappendf,_sqlite3_str_append,_sqlite3_str_appendchar,_sqlite3_str_appendall,_sqlite3_str_appendf,_sqlite3_str_finish,_sqlite3_str_errcode,_sqlite3_str_length,_sqlite3_str_value,_sqlite3_str_reset,_sqlite3_str_new,_sqlite3_vmprintf,_sqlite3_mprintf,_sqlite3_vsnprintf,_sqlite3_snprintf,_sqlite3_log,_sqlite3_randomness,_sqlite3_stricmp,_sqlite3_strnicmp,_sqlite3_os_init,_sqlite3_os_end,_sqlite3_serialize,_sqlite3_prepare_v2,_sqlite3_step,_sqlite3_column_int64,_sqlite3_reset,_sqlite3_exec,_sqlite3_column_int,_sqlite3_finalize,_sqlite3_deserialize,_sqlite3_database_file_object,_sqlite3_backup_init,_sqlite3_backup_step,_sqlite3_backup_finish,_sqlite3_backup_remaining,_sqlite3_backup_pagecount,_sqlite3_clear_bindings,_sqlite3_value_blob,_sqlite3_value_text,_sqlite3_value_bytes,_sqlite3_value_bytes16,_sqlite3_value_double,_sqlite3_value_int,_sqlite3_value_int64,_sqlite3_value_subtype,_sqlite3_value_pointer,_sqlite3_value_text16,_sqlite3_value_text16be,_sqlite3_value_text16le,_sqlite3_value_type,_sqlite3_value_encoding,_sqlite3_value_nochange,_sqlite3_value_frombind,_sqlite3_value_dup,_sqlite3_value_free,_sqlite3_result_blob,_sqlite3_result_blob64,_sqlite3_result_double,_sqlite3_result_error,_sqlite3_result_error16,_sqlite3_result_int,_sqlite3_result_int64,_sqlite3_result_null,_sqlite3_result_pointer,_sqlite3_result_subtype,_sqlite3_result_text,_sqlite3_result_text64,_sqlite3_result_text16,_sqlite3_result_text16be,_sqlite3_result_text16le,_sqlite3_result_value,_sqlite3_result_error_toobig,_sqlite3_result_zeroblob,_sqlite3_result_zeroblob64,_sqlite3_result_error_code,_sqlite3_result_error_nomem,_sqlite3_user_data,_sqlite3_context_db_handle,_sqlite3_vtab_nochange,_sqlite3_vtab_in_first,_sqlite3_vtab_in_next,_sqlite3_aggregate_context,_sqlite3_get_auxdata,_sqlite3_set_auxdata,_sqlite3_column_count,_sqlite3_data_count,_sqlite3_column_blob,_sqlite3_column_bytes,_sqlite3_column_bytes16,_sqlite3_column_double,_sqlite3_column_text,_sqlite3_column_value,_sqlite3_column_text16,_sqlite3_column_type,_sqlite3_column_name,_sqlite3_column_name16,_sqlite3_bind_blob,_sqlite3_bind_blob64,_sqlite3_bind_double,_sqlite3_bind_int,_sqlite3_bind_int64,_sqlite3_bind_null,_sqlite3_bind_pointer,_sqlite3_bind_text,_sqlite3_bind_text64,_sqlite3_bind_text16,_sqlite3_bind_value,_sqlite3_bind_zeroblob,_sqlite3_bind_zeroblob64,_sqlite3_bind_parameter_count,_sqlite3_bind_parameter_name,_sqlite3_bind_parameter_index,_sqlite3_db_handle,_sqlite3_stmt_readonly,_sqlite3_stmt_isexplain,_sqlite3_stmt_explain,_sqlite3_stmt_busy,_sqlite3_next_stmt,_sqlite3_stmt_status,_sqlite3_sql,_sqlite3_expanded_sql,_sqlite3_value_numeric_type,_sqlite3_blob_open,_sqlite3_blob_close,_sqlite3_blob_read,_sqlite3_blob_write,_sqlite3_blob_bytes,_sqlite3_blob_reopen,_sqlite3_set_authorizer,_sqlite3_strglob,_sqlite3_strlike,_sqlite3_errmsg,_sqlite3_load_extension,_sqlite3_enable_load_extension,_sqlite3_auto_extension,_sqlite3_cancel_auto_extension,_sqlite3_reset_auto_extension,_sqlite3_prepare,_sqlite3_prepare_v3,_sqlite3_prepare16,_sqlite3_prepare16_v2,_sqlite3_prepare16_v3,_sqlite3_get_table,_sqlite3_free_table,_sqlite3_create_module,_sqlite3_create_module_v2,_sqlite3_drop_modules,_sqlite3_declare_vtab,_sqlite3_vtab_on_conflict,_sqlite3_vtab_config,_sqlite3_vtab_collation,_sqlite3_vtab_in,_sqlite3_vtab_rhs_value,_sqlite3_vtab_distinct,_sqlite3_keyword_name,_sqlite3_keyword_count,_sqlite3_keyword_check,_sqlite3_complete,_sqlite3_complete16,_sqlite3_libversion,_sqlite3_libversion_number,_sqlite3_threadsafe,_sqlite3_initialize,_sqlite3_shutdown,_sqlite3_config,_sqlite3_db_mutex,_sqlite3_db_release_memory,_sqlite3_db_cacheflush,_sqlite3_db_config,_sqlite3_last_insert_rowid,_sqlite3_set_last_insert_rowid,_sqlite3_changes64,_sqlite3_changes,_sqlite3_total_changes64,_sqlite3_total_changes,_sqlite3_txn_state,_sqlite3_close,_sqlite3_close_v2,_sqlite3_busy_handler,_sqlite3_progress_handler,_sqlite3_busy_timeout,_sqlite3_interrupt,_sqlite3_is_interrupted,_sqlite3_create_function,_sqlite3_create_function_v2,_sqlite3_create_window_function,_sqlite3_create_function16,_sqlite3_overload_function,_sqlite3_trace_v2,_sqlite3_commit_hook,_sqlite3_update_hook,_sqlite3_rollback_hook,_sqlite3_autovacuum_pages,_sqlite3_wal_autocheckpoint,_sqlite3_wal_hook,_sqlite3_wal_checkpoint_v2,_sqlite3_wal_checkpoint,_sqlite3_error_offset,_sqlite3_errmsg16,_sqlite3_errcode,_sqlite3_extended_errcode,_sqlite3_system_errno,_sqlite3_errstr,_sqlite3_limit,_sqlite3_open,_sqlite3_open_v2,_sqlite3_open16,_sqlite3_create_collation,_sqlite3_create_collation_v2,_sqlite3_create_collation16,_sqlite3_collation_needed,_sqlite3_collation_needed16,_sqlite3_get_clientdata,_sqlite3_set_clientdata,_sqlite3_get_autocommit,_sqlite3_table_column_metadata,_sqlite3_sleep,_sqlite3_extended_result_codes,_sqlite3_file_control,_sqlite3_test_control,_sqlite3_create_filename,_sqlite3_free_filename,_sqlite3_uri_parameter,_sqlite3_uri_key,_sqlite3_uri_boolean,_sqlite3_uri_int64,_sqlite3_filename_database,_sqlite3_filename_journal,_sqlite3_filename_wal,_sqlite3_db_name,_sqlite3_db_filename,_sqlite3_db_readonly,_sqlite3_compileoption_used,_sqlite3_compileoption_get,_sqlite3_sourceid,_sqlite3mc_config,_sqlite3mc_cipher_count,_sqlite3mc_cipher_index,_sqlite3mc_cipher_name,_sqlite3mc_config_cipher,_sqlite3mc_vfs_create,_memcmp,_malloc,_free,_memset,_RegisterExtensionFunctions,_getSqliteFree,_main,_libauthorizer_set_authorizer,_libfunction_create_function,_libhook_commit_hook,_libhook_update_hook,_libprogress_progress_handler,_libvfs_vfs_register,_memcpy,_emscripten_builtin_memalign,__emscripten_timeout,__emscripten_tempret_get,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,dynCall_iii,dynCall_vii,dynCall_viii,dynCall_vi,dynCall_iiii,dynCall_iiiiiii,dynCall_ii,dynCall_iiiiii,dynCall_iiiii,dynCall_viiii,dynCall_iiiiiiiii,dynCall_vijii,dynCall_viiiii,dynCall_iiiij,dynCall_viji,dynCall_viiiij,dynCall_iij,dynCall_iidiiii,dynCall_v,dynCall_iijii,dynCall_iiji,dynCall_i,dynCall_iiiiiij,dynCall_iiid,dynCall_iiij,dynCall_dii,dynCall_jii,dynCall_ji,dynCall_vid,dynCall_vij,dynCall_iiiiiiiiii,dynCall_di,dynCall_iiiiijii,dynCall_j,dynCall_jj,dynCall_jiij,dynCall_iiiiji,dynCall_iiiijii,dynCall_ij,dynCall_viiji,dynCall_viijii,dynCall_iiiiiiiiiii,dynCall_iiiijji,dynCall_iiiiiiii,_asyncify_start_unwind,_asyncify_stop_unwind,_asyncify_start_rewind,_asyncify_stop_rewind;function assignWasmExports(wasmExports){Module["_powersync_init_static"]=_powersync_init_static=wasmExports["sa"];Module["_sqlite3_status64"]=_sqlite3_status64=wasmExports["ta"];Module["_sqlite3_status"]=_sqlite3_status=wasmExports["ua"];Module["_sqlite3_db_status"]=_sqlite3_db_status=wasmExports["va"];Module["_sqlite3_msize"]=_sqlite3_msize=wasmExports["wa"];Module["_sqlite3_vfs_find"]=_sqlite3_vfs_find=wasmExports["xa"];Module["_sqlite3_vfs_register"]=_sqlite3_vfs_register=wasmExports["ya"];Module["_sqlite3_vfs_unregister"]=_sqlite3_vfs_unregister=wasmExports["za"];Module["_sqlite3_release_memory"]=_sqlite3_release_memory=wasmExports["Aa"];Module["_sqlite3_soft_heap_limit64"]=_sqlite3_soft_heap_limit64=wasmExports["Ba"];Module["_sqlite3_memory_used"]=_sqlite3_memory_used=wasmExports["Ca"];Module["_sqlite3_hard_heap_limit64"]=_sqlite3_hard_heap_limit64=wasmExports["Da"];Module["_sqlite3_memory_highwater"]=_sqlite3_memory_highwater=wasmExports["Ea"];Module["_sqlite3_malloc"]=_sqlite3_malloc=wasmExports["Fa"];Module["_sqlite3_malloc64"]=_sqlite3_malloc64=wasmExports["Ga"];Module["_sqlite3_free"]=_sqlite3_free=wasmExports["Ha"];Module["_sqlite3_realloc"]=_sqlite3_realloc=wasmExports["Ia"];Module["_sqlite3_realloc64"]=_sqlite3_realloc64=wasmExports["Ja"];Module["_sqlite3_str_vappendf"]=_sqlite3_str_vappendf=wasmExports["Ka"];Module["_sqlite3_str_append"]=_sqlite3_str_append=wasmExports["La"];Module["_sqlite3_str_appendchar"]=_sqlite3_str_appendchar=wasmExports["Ma"];Module["_sqlite3_str_appendall"]=_sqlite3_str_appendall=wasmExports["Na"];Module["_sqlite3_str_appendf"]=_sqlite3_str_appendf=wasmExports["Oa"];Module["_sqlite3_str_finish"]=_sqlite3_str_finish=wasmExports["Pa"];Module["_sqlite3_str_errcode"]=_sqlite3_str_errcode=wasmExports["Qa"];Module["_sqlite3_str_length"]=_sqlite3_str_length=wasmExports["Ra"];Module["_sqlite3_str_value"]=_sqlite3_str_value=wasmExports["Sa"];Module["_sqlite3_str_reset"]=_sqlite3_str_reset=wasmExports["Ta"];Module["_sqlite3_str_new"]=_sqlite3_str_new=wasmExports["Ua"];Module["_sqlite3_vmprintf"]=_sqlite3_vmprintf=wasmExports["Va"];Module["_sqlite3_mprintf"]=_sqlite3_mprintf=wasmExports["Wa"];Module["_sqlite3_vsnprintf"]=_sqlite3_vsnprintf=wasmExports["Xa"];Module["_sqlite3_snprintf"]=_sqlite3_snprintf=wasmExports["Ya"];Module["_sqlite3_log"]=_sqlite3_log=wasmExports["Za"];Module["_sqlite3_randomness"]=_sqlite3_randomness=wasmExports["_a"];Module["_sqlite3_stricmp"]=_sqlite3_stricmp=wasmExports["$a"];Module["_sqlite3_strnicmp"]=_sqlite3_strnicmp=wasmExports["ab"];Module["_sqlite3_os_init"]=_sqlite3_os_init=wasmExports["bb"];Module["_sqlite3_os_end"]=_sqlite3_os_end=wasmExports["cb"];Module["_sqlite3_serialize"]=_sqlite3_serialize=wasmExports["db"];Module["_sqlite3_prepare_v2"]=_sqlite3_prepare_v2=wasmExports["eb"];Module["_sqlite3_step"]=_sqlite3_step=wasmExports["fb"];Module["_sqlite3_column_int64"]=_sqlite3_column_int64=wasmExports["gb"];Module["_sqlite3_reset"]=_sqlite3_reset=wasmExports["hb"];Module["_sqlite3_exec"]=_sqlite3_exec=wasmExports["ib"];Module["_sqlite3_column_int"]=_sqlite3_column_int=wasmExports["jb"];Module["_sqlite3_finalize"]=_sqlite3_finalize=wasmExports["kb"];Module["_sqlite3_deserialize"]=_sqlite3_deserialize=wasmExports["lb"];Module["_sqlite3_database_file_object"]=_sqlite3_database_file_object=wasmExports["mb"];Module["_sqlite3_backup_init"]=_sqlite3_backup_init=wasmExports["nb"];Module["_sqlite3_backup_step"]=_sqlite3_backup_step=wasmExports["ob"];Module["_sqlite3_backup_finish"]=_sqlite3_backup_finish=wasmExports["pb"];Module["_sqlite3_backup_remaining"]=_sqlite3_backup_remaining=wasmExports["qb"];Module["_sqlite3_backup_pagecount"]=_sqlite3_backup_pagecount=wasmExports["rb"];Module["_sqlite3_clear_bindings"]=_sqlite3_clear_bindings=wasmExports["sb"];Module["_sqlite3_value_blob"]=_sqlite3_value_blob=wasmExports["tb"];Module["_sqlite3_value_text"]=_sqlite3_value_text=wasmExports["ub"];Module["_sqlite3_value_bytes"]=_sqlite3_value_bytes=wasmExports["vb"];Module["_sqlite3_value_bytes16"]=_sqlite3_value_bytes16=wasmExports["wb"];Module["_sqlite3_value_double"]=_sqlite3_value_double=wasmExports["xb"];Module["_sqlite3_value_int"]=_sqlite3_value_int=wasmExports["yb"];Module["_sqlite3_value_int64"]=_sqlite3_value_int64=wasmExports["zb"];Module["_sqlite3_value_subtype"]=_sqlite3_value_subtype=wasmExports["Ab"];Module["_sqlite3_value_pointer"]=_sqlite3_value_pointer=wasmExports["Bb"];Module["_sqlite3_value_text16"]=_sqlite3_value_text16=wasmExports["Cb"];Module["_sqlite3_value_text16be"]=_sqlite3_value_text16be=wasmExports["Db"];Module["_sqlite3_value_text16le"]=_sqlite3_value_text16le=wasmExports["Eb"];Module["_sqlite3_value_type"]=_sqlite3_value_type=wasmExports["Fb"];Module["_sqlite3_value_encoding"]=_sqlite3_value_encoding=wasmExports["Gb"];Module["_sqlite3_value_nochange"]=_sqlite3_value_nochange=wasmExports["Hb"];Module["_sqlite3_value_frombind"]=_sqlite3_value_frombind=wasmExports["Ib"];Module["_sqlite3_value_dup"]=_sqlite3_value_dup=wasmExports["Jb"];Module["_sqlite3_value_free"]=_sqlite3_value_free=wasmExports["Kb"];Module["_sqlite3_result_blob"]=_sqlite3_result_blob=wasmExports["Lb"];Module["_sqlite3_result_blob64"]=_sqlite3_result_blob64=wasmExports["Mb"];Module["_sqlite3_result_double"]=_sqlite3_result_double=wasmExports["Nb"];Module["_sqlite3_result_error"]=_sqlite3_result_error=wasmExports["Ob"];Module["_sqlite3_result_error16"]=_sqlite3_result_error16=wasmExports["Pb"];Module["_sqlite3_result_int"]=_sqlite3_result_int=wasmExports["Qb"];Module["_sqlite3_result_int64"]=_sqlite3_result_int64=wasmExports["Rb"];Module["_sqlite3_result_null"]=_sqlite3_result_null=wasmExports["Sb"];Module["_sqlite3_result_pointer"]=_sqlite3_result_pointer=wasmExports["Tb"];Module["_sqlite3_result_subtype"]=_sqlite3_result_subtype=wasmExports["Ub"];Module["_sqlite3_result_text"]=_sqlite3_result_text=wasmExports["Vb"];Module["_sqlite3_result_text64"]=_sqlite3_result_text64=wasmExports["Wb"];Module["_sqlite3_result_text16"]=_sqlite3_result_text16=wasmExports["Xb"];Module["_sqlite3_result_text16be"]=_sqlite3_result_text16be=wasmExports["Yb"];Module["_sqlite3_result_text16le"]=_sqlite3_result_text16le=wasmExports["Zb"];Module["_sqlite3_result_value"]=_sqlite3_result_value=wasmExports["_b"];Module["_sqlite3_result_error_toobig"]=_sqlite3_result_error_toobig=wasmExports["$b"];Module["_sqlite3_result_zeroblob"]=_sqlite3_result_zeroblob=wasmExports["ac"];Module["_sqlite3_result_zeroblob64"]=_sqlite3_result_zeroblob64=wasmExports["bc"];Module["_sqlite3_result_error_code"]=_sqlite3_result_error_code=wasmExports["cc"];Module["_sqlite3_result_error_nomem"]=_sqlite3_result_error_nomem=wasmExports["dc"];Module["_sqlite3_user_data"]=_sqlite3_user_data=wasmExports["ec"];Module["_sqlite3_context_db_handle"]=_sqlite3_context_db_handle=wasmExports["fc"];Module["_sqlite3_vtab_nochange"]=_sqlite3_vtab_nochange=wasmExports["gc"];Module["_sqlite3_vtab_in_first"]=_sqlite3_vtab_in_first=wasmExports["hc"];Module["_sqlite3_vtab_in_next"]=_sqlite3_vtab_in_next=wasmExports["ic"];Module["_sqlite3_aggregate_context"]=_sqlite3_aggregate_context=wasmExports["jc"];Module["_sqlite3_get_auxdata"]=_sqlite3_get_auxdata=wasmExports["kc"];Module["_sqlite3_set_auxdata"]=_sqlite3_set_auxdata=wasmExports["lc"];Module["_sqlite3_column_count"]=_sqlite3_column_count=wasmExports["mc"];Module["_sqlite3_data_count"]=_sqlite3_data_count=wasmExports["nc"];Module["_sqlite3_column_blob"]=_sqlite3_column_blob=wasmExports["oc"];Module["_sqlite3_column_bytes"]=_sqlite3_column_bytes=wasmExports["pc"];Module["_sqlite3_column_bytes16"]=_sqlite3_column_bytes16=wasmExports["qc"];Module["_sqlite3_column_double"]=_sqlite3_column_double=wasmExports["rc"];Module["_sqlite3_column_text"]=_sqlite3_column_text=wasmExports["sc"];Module["_sqlite3_column_value"]=_sqlite3_column_value=wasmExports["tc"];Module["_sqlite3_column_text16"]=_sqlite3_column_text16=wasmExports["uc"];Module["_sqlite3_column_type"]=_sqlite3_column_type=wasmExports["vc"];Module["_sqlite3_column_name"]=_sqlite3_column_name=wasmExports["wc"];Module["_sqlite3_column_name16"]=_sqlite3_column_name16=wasmExports["xc"];Module["_sqlite3_bind_blob"]=_sqlite3_bind_blob=wasmExports["yc"];Module["_sqlite3_bind_blob64"]=_sqlite3_bind_blob64=wasmExports["zc"];Module["_sqlite3_bind_double"]=_sqlite3_bind_double=wasmExports["Ac"];Module["_sqlite3_bind_int"]=_sqlite3_bind_int=wasmExports["Bc"];Module["_sqlite3_bind_int64"]=_sqlite3_bind_int64=wasmExports["Cc"];Module["_sqlite3_bind_null"]=_sqlite3_bind_null=wasmExports["Dc"];Module["_sqlite3_bind_pointer"]=_sqlite3_bind_pointer=wasmExports["Ec"];Module["_sqlite3_bind_text"]=_sqlite3_bind_text=wasmExports["Fc"];Module["_sqlite3_bind_text64"]=_sqlite3_bind_text64=wasmExports["Gc"];Module["_sqlite3_bind_text16"]=_sqlite3_bind_text16=wasmExports["Hc"];Module["_sqlite3_bind_value"]=_sqlite3_bind_value=wasmExports["Ic"];Module["_sqlite3_bind_zeroblob"]=_sqlite3_bind_zeroblob=wasmExports["Jc"];Module["_sqlite3_bind_zeroblob64"]=_sqlite3_bind_zeroblob64=wasmExports["Kc"];Module["_sqlite3_bind_parameter_count"]=_sqlite3_bind_parameter_count=wasmExports["Lc"];Module["_sqlite3_bind_parameter_name"]=_sqlite3_bind_parameter_name=wasmExports["Mc"];Module["_sqlite3_bind_parameter_index"]=_sqlite3_bind_parameter_index=wasmExports["Nc"];Module["_sqlite3_db_handle"]=_sqlite3_db_handle=wasmExports["Oc"];Module["_sqlite3_stmt_readonly"]=_sqlite3_stmt_readonly=wasmExports["Pc"];Module["_sqlite3_stmt_isexplain"]=_sqlite3_stmt_isexplain=wasmExports["Qc"];Module["_sqlite3_stmt_explain"]=_sqlite3_stmt_explain=wasmExports["Rc"];Module["_sqlite3_stmt_busy"]=_sqlite3_stmt_busy=wasmExports["Sc"];Module["_sqlite3_next_stmt"]=_sqlite3_next_stmt=wasmExports["Tc"];Module["_sqlite3_stmt_status"]=_sqlite3_stmt_status=wasmExports["Uc"];Module["_sqlite3_sql"]=_sqlite3_sql=wasmExports["Vc"];Module["_sqlite3_expanded_sql"]=_sqlite3_expanded_sql=wasmExports["Wc"];Module["_sqlite3_value_numeric_type"]=_sqlite3_value_numeric_type=wasmExports["Xc"];Module["_sqlite3_blob_open"]=_sqlite3_blob_open=wasmExports["Yc"];Module["_sqlite3_blob_close"]=_sqlite3_blob_close=wasmExports["Zc"];Module["_sqlite3_blob_read"]=_sqlite3_blob_read=wasmExports["_c"];Module["_sqlite3_blob_write"]=_sqlite3_blob_write=wasmExports["$c"];Module["_sqlite3_blob_bytes"]=_sqlite3_blob_bytes=wasmExports["ad"];Module["_sqlite3_blob_reopen"]=_sqlite3_blob_reopen=wasmExports["bd"];Module["_sqlite3_set_authorizer"]=_sqlite3_set_authorizer=wasmExports["cd"];Module["_sqlite3_strglob"]=_sqlite3_strglob=wasmExports["dd"];Module["_sqlite3_strlike"]=_sqlite3_strlike=wasmExports["ed"];Module["_sqlite3_errmsg"]=_sqlite3_errmsg=wasmExports["fd"];Module["_sqlite3_load_extension"]=_sqlite3_load_extension=wasmExports["gd"];Module["_sqlite3_enable_load_extension"]=_sqlite3_enable_load_extension=wasmExports["hd"];Module["_sqlite3_auto_extension"]=_sqlite3_auto_extension=wasmExports["id"];Module["_sqlite3_cancel_auto_extension"]=_sqlite3_cancel_auto_extension=wasmExports["jd"];Module["_sqlite3_reset_auto_extension"]=_sqlite3_reset_auto_extension=wasmExports["kd"];Module["_sqlite3_prepare"]=_sqlite3_prepare=wasmExports["ld"];Module["_sqlite3_prepare_v3"]=_sqlite3_prepare_v3=wasmExports["md"];Module["_sqlite3_prepare16"]=_sqlite3_prepare16=wasmExports["nd"];Module["_sqlite3_prepare16_v2"]=_sqlite3_prepare16_v2=wasmExports["od"];Module["_sqlite3_prepare16_v3"]=_sqlite3_prepare16_v3=wasmExports["pd"];Module["_sqlite3_get_table"]=_sqlite3_get_table=wasmExports["qd"];Module["_sqlite3_free_table"]=_sqlite3_free_table=wasmExports["rd"];Module["_sqlite3_create_module"]=_sqlite3_create_module=wasmExports["sd"];Module["_sqlite3_create_module_v2"]=_sqlite3_create_module_v2=wasmExports["td"];Module["_sqlite3_drop_modules"]=_sqlite3_drop_modules=wasmExports["ud"];Module["_sqlite3_declare_vtab"]=_sqlite3_declare_vtab=wasmExports["vd"];Module["_sqlite3_vtab_on_conflict"]=_sqlite3_vtab_on_conflict=wasmExports["wd"];Module["_sqlite3_vtab_config"]=_sqlite3_vtab_config=wasmExports["xd"];Module["_sqlite3_vtab_collation"]=_sqlite3_vtab_collation=wasmExports["yd"];Module["_sqlite3_vtab_in"]=_sqlite3_vtab_in=wasmExports["zd"];Module["_sqlite3_vtab_rhs_value"]=_sqlite3_vtab_rhs_value=wasmExports["Ad"];Module["_sqlite3_vtab_distinct"]=_sqlite3_vtab_distinct=wasmExports["Bd"];Module["_sqlite3_keyword_name"]=_sqlite3_keyword_name=wasmExports["Cd"];Module["_sqlite3_keyword_count"]=_sqlite3_keyword_count=wasmExports["Dd"];Module["_sqlite3_keyword_check"]=_sqlite3_keyword_check=wasmExports["Ed"];Module["_sqlite3_complete"]=_sqlite3_complete=wasmExports["Fd"];Module["_sqlite3_complete16"]=_sqlite3_complete16=wasmExports["Gd"];Module["_sqlite3_libversion"]=_sqlite3_libversion=wasmExports["Hd"];Module["_sqlite3_libversion_number"]=_sqlite3_libversion_number=wasmExports["Id"];Module["_sqlite3_threadsafe"]=_sqlite3_threadsafe=wasmExports["Jd"];Module["_sqlite3_initialize"]=_sqlite3_initialize=wasmExports["Kd"];Module["_sqlite3_shutdown"]=_sqlite3_shutdown=wasmExports["Ld"];Module["_sqlite3_config"]=_sqlite3_config=wasmExports["Md"];Module["_sqlite3_db_mutex"]=_sqlite3_db_mutex=wasmExports["Nd"];Module["_sqlite3_db_release_memory"]=_sqlite3_db_release_memory=wasmExports["Od"];Module["_sqlite3_db_cacheflush"]=_sqlite3_db_cacheflush=wasmExports["Pd"];Module["_sqlite3_db_config"]=_sqlite3_db_config=wasmExports["Qd"];Module["_sqlite3_last_insert_rowid"]=_sqlite3_last_insert_rowid=wasmExports["Rd"];Module["_sqlite3_set_last_insert_rowid"]=_sqlite3_set_last_insert_rowid=wasmExports["Sd"];Module["_sqlite3_changes64"]=_sqlite3_changes64=wasmExports["Td"];Module["_sqlite3_changes"]=_sqlite3_changes=wasmExports["Ud"];Module["_sqlite3_total_changes64"]=_sqlite3_total_changes64=wasmExports["Vd"];Module["_sqlite3_total_changes"]=_sqlite3_total_changes=wasmExports["Wd"];Module["_sqlite3_txn_state"]=_sqlite3_txn_state=wasmExports["Xd"];Module["_sqlite3_close"]=_sqlite3_close=wasmExports["Yd"];Module["_sqlite3_close_v2"]=_sqlite3_close_v2=wasmExports["Zd"];Module["_sqlite3_busy_handler"]=_sqlite3_busy_handler=wasmExports["_d"];Module["_sqlite3_progress_handler"]=_sqlite3_progress_handler=wasmExports["$d"];Module["_sqlite3_busy_timeout"]=_sqlite3_busy_timeout=wasmExports["ae"];Module["_sqlite3_interrupt"]=_sqlite3_interrupt=wasmExports["be"];Module["_sqlite3_is_interrupted"]=_sqlite3_is_interrupted=wasmExports["ce"];Module["_sqlite3_create_function"]=_sqlite3_create_function=wasmExports["de"];Module["_sqlite3_create_function_v2"]=_sqlite3_create_function_v2=wasmExports["ee"];Module["_sqlite3_create_window_function"]=_sqlite3_create_window_function=wasmExports["fe"];Module["_sqlite3_create_function16"]=_sqlite3_create_function16=wasmExports["ge"];Module["_sqlite3_overload_function"]=_sqlite3_overload_function=wasmExports["he"];Module["_sqlite3_trace_v2"]=_sqlite3_trace_v2=wasmExports["ie"];Module["_sqlite3_commit_hook"]=_sqlite3_commit_hook=wasmExports["je"];Module["_sqlite3_update_hook"]=_sqlite3_update_hook=wasmExports["ke"];Module["_sqlite3_rollback_hook"]=_sqlite3_rollback_hook=wasmExports["le"];Module["_sqlite3_autovacuum_pages"]=_sqlite3_autovacuum_pages=wasmExports["me"];Module["_sqlite3_wal_autocheckpoint"]=_sqlite3_wal_autocheckpoint=wasmExports["ne"];Module["_sqlite3_wal_hook"]=_sqlite3_wal_hook=wasmExports["oe"];Module["_sqlite3_wal_checkpoint_v2"]=_sqlite3_wal_checkpoint_v2=wasmExports["pe"];Module["_sqlite3_wal_checkpoint"]=_sqlite3_wal_checkpoint=wasmExports["qe"];Module["_sqlite3_error_offset"]=_sqlite3_error_offset=wasmExports["re"];Module["_sqlite3_errmsg16"]=_sqlite3_errmsg16=wasmExports["se"];Module["_sqlite3_errcode"]=_sqlite3_errcode=wasmExports["te"];Module["_sqlite3_extended_errcode"]=_sqlite3_extended_errcode=wasmExports["ue"];Module["_sqlite3_system_errno"]=_sqlite3_system_errno=wasmExports["ve"];Module["_sqlite3_errstr"]=_sqlite3_errstr=wasmExports["we"];Module["_sqlite3_limit"]=_sqlite3_limit=wasmExports["xe"];Module["_sqlite3_open"]=_sqlite3_open=wasmExports["ye"];Module["_sqlite3_open_v2"]=_sqlite3_open_v2=wasmExports["ze"];Module["_sqlite3_open16"]=_sqlite3_open16=wasmExports["Ae"];Module["_sqlite3_create_collation"]=_sqlite3_create_collation=wasmExports["Be"];Module["_sqlite3_create_collation_v2"]=_sqlite3_create_collation_v2=wasmExports["Ce"];Module["_sqlite3_create_collation16"]=_sqlite3_create_collation16=wasmExports["De"];Module["_sqlite3_collation_needed"]=_sqlite3_collation_needed=wasmExports["Ee"];Module["_sqlite3_collation_needed16"]=_sqlite3_collation_needed16=wasmExports["Fe"];Module["_sqlite3_get_clientdata"]=_sqlite3_get_clientdata=wasmExports["Ge"];Module["_sqlite3_set_clientdata"]=_sqlite3_set_clientdata=wasmExports["He"];Module["_sqlite3_get_autocommit"]=_sqlite3_get_autocommit=wasmExports["Ie"];Module["_sqlite3_table_column_metadata"]=_sqlite3_table_column_metadata=wasmExports["Je"];Module["_sqlite3_sleep"]=_sqlite3_sleep=wasmExports["Ke"];Module["_sqlite3_extended_result_codes"]=_sqlite3_extended_result_codes=wasmExports["Le"];Module["_sqlite3_file_control"]=_sqlite3_file_control=wasmExports["Me"];Module["_sqlite3_test_control"]=_sqlite3_test_control=wasmExports["Ne"];Module["_sqlite3_create_filename"]=_sqlite3_create_filename=wasmExports["Oe"];Module["_sqlite3_free_filename"]=_sqlite3_free_filename=wasmExports["Pe"];Module["_sqlite3_uri_parameter"]=_sqlite3_uri_parameter=wasmExports["Qe"];Module["_sqlite3_uri_key"]=_sqlite3_uri_key=wasmExports["Re"];Module["_sqlite3_uri_boolean"]=_sqlite3_uri_boolean=wasmExports["Se"];Module["_sqlite3_uri_int64"]=_sqlite3_uri_int64=wasmExports["Te"];Module["_sqlite3_filename_database"]=_sqlite3_filename_database=wasmExports["Ue"];Module["_sqlite3_filename_journal"]=_sqlite3_filename_journal=wasmExports["Ve"];Module["_sqlite3_filename_wal"]=_sqlite3_filename_wal=wasmExports["We"];Module["_sqlite3_db_name"]=_sqlite3_db_name=wasmExports["Xe"];Module["_sqlite3_db_filename"]=_sqlite3_db_filename=wasmExports["Ye"];Module["_sqlite3_db_readonly"]=_sqlite3_db_readonly=wasmExports["Ze"];Module["_sqlite3_compileoption_used"]=_sqlite3_compileoption_used=wasmExports["_e"];Module["_sqlite3_compileoption_get"]=_sqlite3_compileoption_get=wasmExports["$e"];Module["_sqlite3_sourceid"]=_sqlite3_sourceid=wasmExports["af"];Module["_sqlite3mc_config"]=_sqlite3mc_config=wasmExports["bf"];Module["_sqlite3mc_cipher_count"]=_sqlite3mc_cipher_count=wasmExports["cf"];Module["_sqlite3mc_cipher_index"]=_sqlite3mc_cipher_index=wasmExports["df"];Module["_sqlite3mc_cipher_name"]=_sqlite3mc_cipher_name=wasmExports["ef"];Module["_sqlite3mc_config_cipher"]=_sqlite3mc_config_cipher=wasmExports["ff"];Module["_sqlite3mc_vfs_create"]=_sqlite3mc_vfs_create=wasmExports["gf"];Module["_memcmp"]=_memcmp=wasmExports["hf"];Module["_malloc"]=_malloc=wasmExports["jf"];Module["_free"]=_free=wasmExports["kf"];Module["_memset"]=_memset=wasmExports["lf"];Module["_RegisterExtensionFunctions"]=_RegisterExtensionFunctions=wasmExports["mf"];Module["_getSqliteFree"]=_getSqliteFree=wasmExports["nf"];Module["_main"]=_main=wasmExports["of"];Module["_libauthorizer_set_authorizer"]=_libauthorizer_set_authorizer=wasmExports["pf"];Module["_libfunction_create_function"]=_libfunction_create_function=wasmExports["qf"];Module["_libhook_commit_hook"]=_libhook_commit_hook=wasmExports["rf"];Module["_libhook_update_hook"]=_libhook_update_hook=wasmExports["sf"];Module["_libprogress_progress_handler"]=_libprogress_progress_handler=wasmExports["tf"];Module["_libvfs_vfs_register"]=_libvfs_vfs_register=wasmExports["uf"];Module["_memcpy"]=_memcpy=wasmExports["vf"];_emscripten_builtin_memalign=wasmExports["xf"];__emscripten_timeout=wasmExports["yf"];__emscripten_tempret_get=wasmExports["zf"];__emscripten_stack_restore=wasmExports["Af"];__emscripten_stack_alloc=wasmExports["Bf"];_emscripten_stack_get_current=wasmExports["Cf"];dynCalls["iii"]=dynCall_iii=wasmExports["Df"];dynCalls["vii"]=dynCall_vii=wasmExports["Ef"];dynCalls["viii"]=dynCall_viii=wasmExports["Ff"];dynCalls["vi"]=dynCall_vi=wasmExports["Gf"];dynCalls["iiii"]=dynCall_iiii=wasmExports["Hf"];dynCalls["iiiiiii"]=dynCall_iiiiiii=wasmExports["If"];dynCalls["ii"]=dynCall_ii=wasmExports["Jf"];dynCalls["iiiiii"]=dynCall_iiiiii=wasmExports["Kf"];dynCalls["iiiii"]=dynCall_iiiii=wasmExports["Lf"];dynCalls["viiii"]=dynCall_viiii=wasmExports["Mf"];dynCalls["iiiiiiiii"]=dynCall_iiiiiiiii=wasmExports["Nf"];dynCalls["vijii"]=dynCall_vijii=wasmExports["Of"];dynCalls["viiiii"]=dynCall_viiiii=wasmExports["Pf"];dynCalls["iiiij"]=dynCall_iiiij=wasmExports["Qf"];dynCalls["viji"]=dynCall_viji=wasmExports["Rf"];dynCalls["viiiij"]=dynCall_viiiij=wasmExports["Sf"];dynCalls["iij"]=dynCall_iij=wasmExports["Tf"];dynCalls["iidiiii"]=dynCall_iidiiii=wasmExports["Uf"];dynCalls["v"]=dynCall_v=wasmExports["Vf"];dynCalls["iijii"]=dynCall_iijii=wasmExports["Wf"];dynCalls["iiji"]=dynCall_iiji=wasmExports["Xf"];dynCalls["i"]=dynCall_i=wasmExports["Yf"];dynCalls["iiiiiij"]=dynCall_iiiiiij=wasmExports["Zf"];dynCalls["iiid"]=dynCall_iiid=wasmExports["_f"];dynCalls["iiij"]=dynCall_iiij=wasmExports["$f"];dynCalls["dii"]=dynCall_dii=wasmExports["ag"];dynCalls["jii"]=dynCall_jii=wasmExports["bg"];dynCalls["ji"]=dynCall_ji=wasmExports["cg"];dynCalls["vid"]=dynCall_vid=wasmExports["dg"];dynCalls["vij"]=dynCall_vij=wasmExports["eg"];dynCalls["iiiiiiiiii"]=dynCall_iiiiiiiiii=wasmExports["fg"];dynCalls["di"]=dynCall_di=wasmExports["gg"];dynCalls["iiiiijii"]=dynCall_iiiiijii=wasmExports["hg"];dynCalls["j"]=dynCall_j=wasmExports["ig"];dynCalls["jj"]=dynCall_jj=wasmExports["jg"];dynCalls["jiij"]=dynCall_jiij=wasmExports["kg"];dynCalls["iiiiji"]=dynCall_iiiiji=wasmExports["lg"];dynCalls["iiiijii"]=dynCall_iiiijii=wasmExports["mg"];dynCalls["ij"]=dynCall_ij=wasmExports["ng"];dynCalls["viiji"]=dynCall_viiji=wasmExports["og"];dynCalls["viijii"]=dynCall_viijii=wasmExports["pg"];dynCalls["iiiiiiiiiii"]=dynCall_iiiiiiiiiii=wasmExports["qg"];dynCalls["iiiijji"]=dynCall_iiiijji=wasmExports["rg"];dynCalls["iiiiiiii"]=dynCall_iiiiiiii=wasmExports["sg"];_asyncify_start_unwind=wasmExports["tg"];_asyncify_stop_unwind=wasmExports["ug"];_asyncify_start_rewind=wasmExports["vg"];_asyncify_stop_rewind=wasmExports["wg"]}var _sqlite3_version=Module["_sqlite3_version"]=87072;var wasmImports={a:___assert_fail,aa:___syscall_chmod,ca:___syscall_faccessat,ba:___syscall_fchmod,$:___syscall_fchown32,b:___syscall_fcntl64,_:___syscall_fstat64,y:___syscall_ftruncate64,U:___syscall_getcwd,Y:___syscall_lstat64,Q:___syscall_mkdirat,W:___syscall_newfstatat,O:___syscall_openat,M:___syscall_readlinkat,L:___syscall_rmdir,Z:___syscall_stat64,J:___syscall_unlinkat,I:___syscall_utimensat,ea:__abort_js,E:__emscripten_runtime_keepalive_clear,w:__localtime_js,u:__mmap_js,v:__munmap_js,F:__setitimer_js,P:__tzset_js,n:_emscripten_date_now,g:_emscripten_get_now,G:_emscripten_resize_heap,R:_environ_get,S:_environ_sizes_get,o:_fd_close,H:_fd_fdstat_get,N:_fd_read,x:_fd_seek,V:_fd_sync,K:_fd_write,s:_ipp,t:_ipp_async,la:_ippipppp,pa:_ippipppp_async,j:_ippp,k:_ippp_async,c:_ipppi,d:_ipppi_async,ha:_ipppiii,ia:_ipppiii_async,ja:_ipppiiip,ka:_ipppiiip_async,h:_ipppip,i:_ipppip_async,z:_ipppj,A:_ipppj_async,e:_ipppp,f:_ipppp_async,fa:_ippppi,ga:_ippppi_async,B:_ippppij,C:_ippppij_async,p:_ippppip,q:_ippppip_async,ma:_ipppppip,na:_ipppppip_async,D:_proc_exit,T:_random_get,oa:_vppippii,r:_vppippii_async,l:_vppp,m:_vppp_async,X:_vpppip,da:_vpppip_async};var wasmExports=await createWasm();function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve?.(Module);Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}preInit();run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc,xStep,xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{readyPromiseResolve=resolve;readyPromiseReject=reject})} return moduleRtn; diff --git a/dist/mc-wa-sqlite-async.wasm b/dist/mc-wa-sqlite-async.wasm index d9e0f9a2ab5667c5378eda30ef846c50c12ae441..dc23e638193ed5f8d12cb5a1036cf6d639d60ec4 100755 GIT binary patch delta 8021 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 R3wIPja~leGq=x_V{{j6toOu8M delta 5553 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 { async function(moduleArg = {}) { var moduleRtn; -var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&process.versions?.node&&process.type!="renderer";var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{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=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["__wasm_call_ctors"]();FS.ignorePermissions=false}function preMain(){}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("mc-wa-sqlite-jspi.wasm")}return new URL("mc-wa-sqlite-jspi.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){Asyncify.instrumentWasmImports(wasmImports);return{env:wasmImports,wasi_snapshot_preview1:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmMemory=wasmExports["memory"];updateMemoryViews();wasmTable=wasmExports["__indirect_function_table"];removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})})}wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}catch(e){readyPromiseReject(e);return Promise.reject(e)}}var tempDouble;var tempI64;class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=new TextDecoder;var UTF8ToString=(ptr,maxBytesToRead)=>{if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))};var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);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.slice(-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.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>view=>crypto.getRandomValues(view);var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heapOrArray.buffer?heapOrArray.subarray(idx,endPtr):new Uint8Array(heapOrArray.slice(idx,endPtr)))};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,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.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};asyncLoad.isAsync=true;var FS_createDataFile=(...args)=>FS.createDataFile(...args);var preloadPlugins=[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}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|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,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){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}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)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){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);old_node.parent=new_dir}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;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return 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 link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){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)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},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}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,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,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){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},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)}if(!length){throw new FS.ErrnoError(28)}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)},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)}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,llseek:()=>0});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){randomFill(randomBuffer);randomLeft=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",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},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){if(e.errno!=20)throw 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;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},writeStatFs(buf,stats){HEAP32[buf+4>>2]=stats.bsize;HEAP32[buf+40>>2]=stats.bsize;HEAP32[buf+8>>2]=stats.blocks;HEAP32[buf+12>>2]=stats.bfree;HEAP32[buf+16>>2]=stats.bavail;HEAP32[buf+20>>2]=stats.files;HEAP32[buf+24>>2]=stats.ffree;HEAP32[buf+28>>2]=stats.fsid;HEAP32[buf+44>>2]=stats.flags;HEAP32[buf+36>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);var now=Date.now(),atime,mtime;if(!times){atime=now;mtime=now}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){atime=now}else if(nanoseconds==1073741822){atime=null}else{atime=seconds*1e3+nanoseconds/(1e3*1e3)}times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){mtime=now}else if(nanoseconds==1073741822){mtime=null}else{mtime=seconds*1e3+nanoseconds/(1e3*1e3)}}if((mtime??atime)!==null){FS.utime(path,atime,mtime)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("");var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var timers={};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var _emscripten_get_now=()=>performance.now();var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetDate.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}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,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var _fd_sync=function(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return Asyncify.handleSleep(wakeUp=>{var mount=stream.node.mount;if(!mount.type.syncfs){wakeUp(0);return}mount.type.syncfs(mount,false,err=>{wakeUp(err?29:0)})})}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}};_fd_sync.isAsync=true;var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}function _ipp_async(...args){return adapters_support(true,...args)}_ipp_async.isAsync=true;function _ippipppp(...args){return adapters_support(false,...args)}function _ippipppp_async(...args){return adapters_support(true,...args)}_ippipppp_async.isAsync=true;function _ippp(...args){return adapters_support(false,...args)}function _ippp_async(...args){return adapters_support(true,...args)}_ippp_async.isAsync=true;function _ipppi(...args){return adapters_support(false,...args)}function _ipppi_async(...args){return adapters_support(true,...args)}_ipppi_async.isAsync=true;function _ipppiii(...args){return adapters_support(false,...args)}function _ipppiii_async(...args){return adapters_support(true,...args)}_ipppiii_async.isAsync=true;function _ipppiiip(...args){return adapters_support(false,...args)}function _ipppiiip_async(...args){return adapters_support(true,...args)}_ipppiiip_async.isAsync=true;function _ipppip(...args){return adapters_support(false,...args)}function _ipppip_async(...args){return adapters_support(true,...args)}_ipppip_async.isAsync=true;function _ipppj(...args){return adapters_support(false,...args)}function _ipppj_async(...args){return adapters_support(true,...args)}_ipppj_async.isAsync=true;function _ipppp(...args){return adapters_support(false,...args)}function _ipppp_async(...args){return adapters_support(true,...args)}_ipppp_async.isAsync=true;function _ippppi(...args){return adapters_support(false,...args)}function _ippppi_async(...args){return adapters_support(true,...args)}_ippppi_async.isAsync=true;function _ippppij(...args){return adapters_support(false,...args)}function _ippppij_async(...args){return adapters_support(true,...args)}_ippppij_async.isAsync=true;function _ippppip(...args){return adapters_support(false,...args)}function _ippppip_async(...args){return adapters_support(true,...args)}_ippppip_async.isAsync=true;function _ipppppip(...args){return adapters_support(false,...args)}function _ipppppip_async(...args){return adapters_support(true,...args)}_ipppppip_async.isAsync=true;function _random_get(buffer,size){try{randomFill(HEAPU8.subarray(buffer,buffer+size));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _vppippii(...args){return adapters_support(false,...args)}function _vppippii_async(...args){return adapters_support(true,...args)}_vppippii_async.isAsync=true;function _vppp(...args){return adapters_support(false,...args)}function _vppp_async(...args){return adapters_support(true,...args)}_vppp_async.isAsync=true;function _vpppip(...args){return adapters_support(false,...args)}function _vpppip_async(...args){return adapters_support(true,...args)}_vpppip_async.isAsync=true;var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;ioriginal(...args)}else{ret[x]=original}}return ret},asyncExports:null,isAsyncExport(func){return Asyncify.asyncExports?.has(func)},handleAsync:async startAsync=>{try{return await startAsync()}finally{}},handleSleep:startAsync=>Asyncify.handleAsync(()=>new Promise(startAsync)),makeAsyncFunction(original){return WebAssembly.promising(original)}};var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var generateFuncType=(sig,target)=>{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var paramType of sigParam){target.push(typeCodes[paramType])}if(sigRet=="v"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTableMirror=[];var wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr);if(Asyncify.isAsyncExport(func)){wasmTableMirror[funcPtr]=func=Asyncify.makeAsyncFunction(func)}}return func};var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>{wasmTable.set(idx,func);wasmTableMirror[idx]=wasmTable.get(idx)};var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=new TextDecoder("utf-16le");var UTF16ToString=(ptr,maxBytesToRead)=>{var idx=ptr>>1;var maxIdx=idx+maxBytesToRead/2;var endIdx=idx;while(!(endIdx>=maxIdx)&&HEAPU16[endIdx])++endIdx;return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx))};var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var intArrayToString=array=>{var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")};var _getTempRet0=getTempRet0;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";adapters_support();{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"]}Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;Module["_getTempRet0"]=_getTempRet0;var wasmImports={__assert_fail:___assert_fail,__syscall_chmod:___syscall_chmod,__syscall_faccessat:___syscall_faccessat,__syscall_fchmod:___syscall_fchmod,__syscall_fchown32:___syscall_fchown32,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_readlinkat:___syscall_readlinkat,__syscall_rmdir:___syscall_rmdir,__syscall_stat64:___syscall_stat64,__syscall_unlinkat:___syscall_unlinkat,__syscall_utimensat:___syscall_utimensat,_abort_js:__abort_js,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_localtime_js:__localtime_js,_mmap_js:__mmap_js,_munmap_js:__munmap_js,_setitimer_js:__setitimer_js,_tzset_js:__tzset_js,emscripten_date_now:_emscripten_date_now,emscripten_get_now:_emscripten_get_now,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,ipp:_ipp,ipp_async:_ipp_async,ippipppp:_ippipppp,ippipppp_async:_ippipppp_async,ippp:_ippp,ippp_async:_ippp_async,ipppi:_ipppi,ipppi_async:_ipppi_async,ipppiii:_ipppiii,ipppiii_async:_ipppiii_async,ipppiiip:_ipppiiip,ipppiiip_async:_ipppiiip_async,ipppip:_ipppip,ipppip_async:_ipppip_async,ipppj:_ipppj,ipppj_async:_ipppj_async,ipppp:_ipppp,ipppp_async:_ipppp_async,ippppi:_ippppi,ippppi_async:_ippppi_async,ippppij:_ippppij,ippppij_async:_ippppij_async,ippppip:_ippppip,ippppip_async:_ippppip_async,ipppppip:_ipppppip,ipppppip_async:_ipppppip_async,proc_exit:_proc_exit,random_get:_random_get,vppippii:_vppippii,vppippii_async:_vppippii_async,vppp:_vppp,vppp_async:_vppp_async,vpppip:_vpppip,vpppip_async:_vpppip_async};var wasmExports=await createWasm();var ___wasm_call_ctors=wasmExports["__wasm_call_ctors"];var _powersync_init_static=Module["_powersync_init_static"]=wasmExports["powersync_init_static"];var _sqlite3_status64=Module["_sqlite3_status64"]=wasmExports["sqlite3_status64"];var _sqlite3_status=Module["_sqlite3_status"]=wasmExports["sqlite3_status"];var _sqlite3_db_status=Module["_sqlite3_db_status"]=wasmExports["sqlite3_db_status"];var _sqlite3_msize=Module["_sqlite3_msize"]=wasmExports["sqlite3_msize"];var _sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=wasmExports["sqlite3_vfs_find"];var _sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=wasmExports["sqlite3_vfs_register"];var _sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=wasmExports["sqlite3_vfs_unregister"];var _sqlite3_release_memory=Module["_sqlite3_release_memory"]=wasmExports["sqlite3_release_memory"];var _sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=wasmExports["sqlite3_soft_heap_limit64"];var _sqlite3_memory_used=Module["_sqlite3_memory_used"]=wasmExports["sqlite3_memory_used"];var _sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=wasmExports["sqlite3_hard_heap_limit64"];var _sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=wasmExports["sqlite3_memory_highwater"];var _sqlite3_malloc=Module["_sqlite3_malloc"]=wasmExports["sqlite3_malloc"];var _sqlite3_malloc64=Module["_sqlite3_malloc64"]=wasmExports["sqlite3_malloc64"];var _sqlite3_free=Module["_sqlite3_free"]=wasmExports["sqlite3_free"];var _sqlite3_realloc=Module["_sqlite3_realloc"]=wasmExports["sqlite3_realloc"];var _sqlite3_realloc64=Module["_sqlite3_realloc64"]=wasmExports["sqlite3_realloc64"];var _sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=wasmExports["sqlite3_str_vappendf"];var _sqlite3_str_append=Module["_sqlite3_str_append"]=wasmExports["sqlite3_str_append"];var _sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=wasmExports["sqlite3_str_appendchar"];var _sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=wasmExports["sqlite3_str_appendall"];var _sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=wasmExports["sqlite3_str_appendf"];var _sqlite3_str_finish=Module["_sqlite3_str_finish"]=wasmExports["sqlite3_str_finish"];var _sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=wasmExports["sqlite3_str_errcode"];var _sqlite3_str_length=Module["_sqlite3_str_length"]=wasmExports["sqlite3_str_length"];var _sqlite3_str_value=Module["_sqlite3_str_value"]=wasmExports["sqlite3_str_value"];var _sqlite3_str_reset=Module["_sqlite3_str_reset"]=wasmExports["sqlite3_str_reset"];var _sqlite3_str_new=Module["_sqlite3_str_new"]=wasmExports["sqlite3_str_new"];var _sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=wasmExports["sqlite3_vmprintf"];var _sqlite3_mprintf=Module["_sqlite3_mprintf"]=wasmExports["sqlite3_mprintf"];var _sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=wasmExports["sqlite3_vsnprintf"];var _sqlite3_snprintf=Module["_sqlite3_snprintf"]=wasmExports["sqlite3_snprintf"];var _sqlite3_log=Module["_sqlite3_log"]=wasmExports["sqlite3_log"];var _sqlite3_randomness=Module["_sqlite3_randomness"]=wasmExports["sqlite3_randomness"];var _sqlite3_stricmp=Module["_sqlite3_stricmp"]=wasmExports["sqlite3_stricmp"];var _sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=wasmExports["sqlite3_strnicmp"];var _sqlite3_os_init=Module["_sqlite3_os_init"]=wasmExports["sqlite3_os_init"];var _sqlite3_os_end=Module["_sqlite3_os_end"]=wasmExports["sqlite3_os_end"];var _sqlite3_serialize=Module["_sqlite3_serialize"]=wasmExports["sqlite3_serialize"];var _sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=wasmExports["sqlite3_prepare_v2"];var _sqlite3_step=Module["_sqlite3_step"]=wasmExports["sqlite3_step"];var _sqlite3_column_int64=Module["_sqlite3_column_int64"]=wasmExports["sqlite3_column_int64"];var _sqlite3_reset=Module["_sqlite3_reset"]=wasmExports["sqlite3_reset"];var _sqlite3_exec=Module["_sqlite3_exec"]=wasmExports["sqlite3_exec"];var _sqlite3_column_int=Module["_sqlite3_column_int"]=wasmExports["sqlite3_column_int"];var _sqlite3_finalize=Module["_sqlite3_finalize"]=wasmExports["sqlite3_finalize"];var _sqlite3_deserialize=Module["_sqlite3_deserialize"]=wasmExports["sqlite3_deserialize"];var _sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=wasmExports["sqlite3_database_file_object"];var _sqlite3_backup_init=Module["_sqlite3_backup_init"]=wasmExports["sqlite3_backup_init"];var _sqlite3_backup_step=Module["_sqlite3_backup_step"]=wasmExports["sqlite3_backup_step"];var _sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=wasmExports["sqlite3_backup_finish"];var _sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=wasmExports["sqlite3_backup_remaining"];var _sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=wasmExports["sqlite3_backup_pagecount"];var _sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=wasmExports["sqlite3_clear_bindings"];var _sqlite3_value_blob=Module["_sqlite3_value_blob"]=wasmExports["sqlite3_value_blob"];var _sqlite3_value_text=Module["_sqlite3_value_text"]=wasmExports["sqlite3_value_text"];var _sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=wasmExports["sqlite3_value_bytes"];var _sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=wasmExports["sqlite3_value_bytes16"];var _sqlite3_value_double=Module["_sqlite3_value_double"]=wasmExports["sqlite3_value_double"];var _sqlite3_value_int=Module["_sqlite3_value_int"]=wasmExports["sqlite3_value_int"];var _sqlite3_value_int64=Module["_sqlite3_value_int64"]=wasmExports["sqlite3_value_int64"];var _sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=wasmExports["sqlite3_value_subtype"];var _sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=wasmExports["sqlite3_value_pointer"];var _sqlite3_value_text16=Module["_sqlite3_value_text16"]=wasmExports["sqlite3_value_text16"];var _sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=wasmExports["sqlite3_value_text16be"];var _sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=wasmExports["sqlite3_value_text16le"];var _sqlite3_value_type=Module["_sqlite3_value_type"]=wasmExports["sqlite3_value_type"];var _sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=wasmExports["sqlite3_value_encoding"];var _sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=wasmExports["sqlite3_value_nochange"];var _sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=wasmExports["sqlite3_value_frombind"];var _sqlite3_value_dup=Module["_sqlite3_value_dup"]=wasmExports["sqlite3_value_dup"];var _sqlite3_value_free=Module["_sqlite3_value_free"]=wasmExports["sqlite3_value_free"];var _sqlite3_result_blob=Module["_sqlite3_result_blob"]=wasmExports["sqlite3_result_blob"];var _sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=wasmExports["sqlite3_result_blob64"];var _sqlite3_result_double=Module["_sqlite3_result_double"]=wasmExports["sqlite3_result_double"];var _sqlite3_result_error=Module["_sqlite3_result_error"]=wasmExports["sqlite3_result_error"];var _sqlite3_result_error16=Module["_sqlite3_result_error16"]=wasmExports["sqlite3_result_error16"];var _sqlite3_result_int=Module["_sqlite3_result_int"]=wasmExports["sqlite3_result_int"];var _sqlite3_result_int64=Module["_sqlite3_result_int64"]=wasmExports["sqlite3_result_int64"];var _sqlite3_result_null=Module["_sqlite3_result_null"]=wasmExports["sqlite3_result_null"];var _sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=wasmExports["sqlite3_result_pointer"];var _sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=wasmExports["sqlite3_result_subtype"];var _sqlite3_result_text=Module["_sqlite3_result_text"]=wasmExports["sqlite3_result_text"];var _sqlite3_result_text64=Module["_sqlite3_result_text64"]=wasmExports["sqlite3_result_text64"];var _sqlite3_result_text16=Module["_sqlite3_result_text16"]=wasmExports["sqlite3_result_text16"];var _sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=wasmExports["sqlite3_result_text16be"];var _sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=wasmExports["sqlite3_result_text16le"];var _sqlite3_result_value=Module["_sqlite3_result_value"]=wasmExports["sqlite3_result_value"];var _sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=wasmExports["sqlite3_result_error_toobig"];var _sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=wasmExports["sqlite3_result_zeroblob"];var _sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=wasmExports["sqlite3_result_zeroblob64"];var _sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=wasmExports["sqlite3_result_error_code"];var _sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=wasmExports["sqlite3_result_error_nomem"];var _sqlite3_user_data=Module["_sqlite3_user_data"]=wasmExports["sqlite3_user_data"];var _sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=wasmExports["sqlite3_context_db_handle"];var _sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=wasmExports["sqlite3_vtab_nochange"];var _sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=wasmExports["sqlite3_vtab_in_first"];var _sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=wasmExports["sqlite3_vtab_in_next"];var _sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=wasmExports["sqlite3_aggregate_context"];var _sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=wasmExports["sqlite3_get_auxdata"];var _sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=wasmExports["sqlite3_set_auxdata"];var _sqlite3_column_count=Module["_sqlite3_column_count"]=wasmExports["sqlite3_column_count"];var _sqlite3_data_count=Module["_sqlite3_data_count"]=wasmExports["sqlite3_data_count"];var _sqlite3_column_blob=Module["_sqlite3_column_blob"]=wasmExports["sqlite3_column_blob"];var _sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=wasmExports["sqlite3_column_bytes"];var _sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=wasmExports["sqlite3_column_bytes16"];var _sqlite3_column_double=Module["_sqlite3_column_double"]=wasmExports["sqlite3_column_double"];var _sqlite3_column_text=Module["_sqlite3_column_text"]=wasmExports["sqlite3_column_text"];var _sqlite3_column_value=Module["_sqlite3_column_value"]=wasmExports["sqlite3_column_value"];var _sqlite3_column_text16=Module["_sqlite3_column_text16"]=wasmExports["sqlite3_column_text16"];var _sqlite3_column_type=Module["_sqlite3_column_type"]=wasmExports["sqlite3_column_type"];var _sqlite3_column_name=Module["_sqlite3_column_name"]=wasmExports["sqlite3_column_name"];var _sqlite3_column_name16=Module["_sqlite3_column_name16"]=wasmExports["sqlite3_column_name16"];var _sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=wasmExports["sqlite3_bind_blob"];var _sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=wasmExports["sqlite3_bind_blob64"];var _sqlite3_bind_double=Module["_sqlite3_bind_double"]=wasmExports["sqlite3_bind_double"];var _sqlite3_bind_int=Module["_sqlite3_bind_int"]=wasmExports["sqlite3_bind_int"];var _sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=wasmExports["sqlite3_bind_int64"];var _sqlite3_bind_null=Module["_sqlite3_bind_null"]=wasmExports["sqlite3_bind_null"];var _sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=wasmExports["sqlite3_bind_pointer"];var _sqlite3_bind_text=Module["_sqlite3_bind_text"]=wasmExports["sqlite3_bind_text"];var _sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=wasmExports["sqlite3_bind_text64"];var _sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=wasmExports["sqlite3_bind_text16"];var _sqlite3_bind_value=Module["_sqlite3_bind_value"]=wasmExports["sqlite3_bind_value"];var _sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=wasmExports["sqlite3_bind_zeroblob"];var _sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=wasmExports["sqlite3_bind_zeroblob64"];var _sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=wasmExports["sqlite3_bind_parameter_count"];var _sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=wasmExports["sqlite3_bind_parameter_name"];var _sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=wasmExports["sqlite3_bind_parameter_index"];var _sqlite3_db_handle=Module["_sqlite3_db_handle"]=wasmExports["sqlite3_db_handle"];var _sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=wasmExports["sqlite3_stmt_readonly"];var _sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=wasmExports["sqlite3_stmt_isexplain"];var _sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=wasmExports["sqlite3_stmt_explain"];var _sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=wasmExports["sqlite3_stmt_busy"];var _sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=wasmExports["sqlite3_next_stmt"];var _sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=wasmExports["sqlite3_stmt_status"];var _sqlite3_sql=Module["_sqlite3_sql"]=wasmExports["sqlite3_sql"];var _sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=wasmExports["sqlite3_expanded_sql"];var _sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=wasmExports["sqlite3_value_numeric_type"];var _sqlite3_blob_open=Module["_sqlite3_blob_open"]=wasmExports["sqlite3_blob_open"];var _sqlite3_blob_close=Module["_sqlite3_blob_close"]=wasmExports["sqlite3_blob_close"];var _sqlite3_blob_read=Module["_sqlite3_blob_read"]=wasmExports["sqlite3_blob_read"];var _sqlite3_blob_write=Module["_sqlite3_blob_write"]=wasmExports["sqlite3_blob_write"];var _sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=wasmExports["sqlite3_blob_bytes"];var _sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=wasmExports["sqlite3_blob_reopen"];var _sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=wasmExports["sqlite3_set_authorizer"];var _sqlite3_strglob=Module["_sqlite3_strglob"]=wasmExports["sqlite3_strglob"];var _sqlite3_strlike=Module["_sqlite3_strlike"]=wasmExports["sqlite3_strlike"];var _sqlite3_errmsg=Module["_sqlite3_errmsg"]=wasmExports["sqlite3_errmsg"];var _sqlite3_load_extension=Module["_sqlite3_load_extension"]=wasmExports["sqlite3_load_extension"];var _sqlite3_enable_load_extension=Module["_sqlite3_enable_load_extension"]=wasmExports["sqlite3_enable_load_extension"];var _sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=wasmExports["sqlite3_auto_extension"];var _sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=wasmExports["sqlite3_cancel_auto_extension"];var _sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=wasmExports["sqlite3_reset_auto_extension"];var _sqlite3_prepare=Module["_sqlite3_prepare"]=wasmExports["sqlite3_prepare"];var _sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=wasmExports["sqlite3_prepare_v3"];var _sqlite3_prepare16=Module["_sqlite3_prepare16"]=wasmExports["sqlite3_prepare16"];var _sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=wasmExports["sqlite3_prepare16_v2"];var _sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=wasmExports["sqlite3_prepare16_v3"];var _sqlite3_get_table=Module["_sqlite3_get_table"]=wasmExports["sqlite3_get_table"];var _sqlite3_free_table=Module["_sqlite3_free_table"]=wasmExports["sqlite3_free_table"];var _sqlite3_create_module=Module["_sqlite3_create_module"]=wasmExports["sqlite3_create_module"];var _sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=wasmExports["sqlite3_create_module_v2"];var _sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=wasmExports["sqlite3_drop_modules"];var _sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=wasmExports["sqlite3_declare_vtab"];var _sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=wasmExports["sqlite3_vtab_on_conflict"];var _sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=wasmExports["sqlite3_vtab_config"];var _sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=wasmExports["sqlite3_vtab_collation"];var _sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=wasmExports["sqlite3_vtab_in"];var _sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=wasmExports["sqlite3_vtab_rhs_value"];var _sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=wasmExports["sqlite3_vtab_distinct"];var _sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=wasmExports["sqlite3_keyword_name"];var _sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=wasmExports["sqlite3_keyword_count"];var _sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=wasmExports["sqlite3_keyword_check"];var _sqlite3_complete=Module["_sqlite3_complete"]=wasmExports["sqlite3_complete"];var _sqlite3_complete16=Module["_sqlite3_complete16"]=wasmExports["sqlite3_complete16"];var _sqlite3_libversion=Module["_sqlite3_libversion"]=wasmExports["sqlite3_libversion"];var _sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=wasmExports["sqlite3_libversion_number"];var _sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=wasmExports["sqlite3_threadsafe"];var _sqlite3_initialize=Module["_sqlite3_initialize"]=wasmExports["sqlite3_initialize"];var _sqlite3_shutdown=Module["_sqlite3_shutdown"]=wasmExports["sqlite3_shutdown"];var _sqlite3_config=Module["_sqlite3_config"]=wasmExports["sqlite3_config"];var _sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=wasmExports["sqlite3_db_mutex"];var _sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=wasmExports["sqlite3_db_release_memory"];var _sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=wasmExports["sqlite3_db_cacheflush"];var _sqlite3_db_config=Module["_sqlite3_db_config"]=wasmExports["sqlite3_db_config"];var _sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=wasmExports["sqlite3_last_insert_rowid"];var _sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=wasmExports["sqlite3_set_last_insert_rowid"];var _sqlite3_changes64=Module["_sqlite3_changes64"]=wasmExports["sqlite3_changes64"];var _sqlite3_changes=Module["_sqlite3_changes"]=wasmExports["sqlite3_changes"];var _sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=wasmExports["sqlite3_total_changes64"];var _sqlite3_total_changes=Module["_sqlite3_total_changes"]=wasmExports["sqlite3_total_changes"];var _sqlite3_txn_state=Module["_sqlite3_txn_state"]=wasmExports["sqlite3_txn_state"];var _sqlite3_close=Module["_sqlite3_close"]=wasmExports["sqlite3_close"];var _sqlite3_close_v2=Module["_sqlite3_close_v2"]=wasmExports["sqlite3_close_v2"];var _sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=wasmExports["sqlite3_busy_handler"];var _sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=wasmExports["sqlite3_progress_handler"];var _sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=wasmExports["sqlite3_busy_timeout"];var _sqlite3_interrupt=Module["_sqlite3_interrupt"]=wasmExports["sqlite3_interrupt"];var _sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=wasmExports["sqlite3_is_interrupted"];var _sqlite3_create_function=Module["_sqlite3_create_function"]=wasmExports["sqlite3_create_function"];var _sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=wasmExports["sqlite3_create_function_v2"];var _sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=wasmExports["sqlite3_create_window_function"];var _sqlite3_create_function16=Module["_sqlite3_create_function16"]=wasmExports["sqlite3_create_function16"];var _sqlite3_overload_function=Module["_sqlite3_overload_function"]=wasmExports["sqlite3_overload_function"];var _sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=wasmExports["sqlite3_trace_v2"];var _sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=wasmExports["sqlite3_commit_hook"];var _sqlite3_update_hook=Module["_sqlite3_update_hook"]=wasmExports["sqlite3_update_hook"];var _sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=wasmExports["sqlite3_rollback_hook"];var _sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=wasmExports["sqlite3_autovacuum_pages"];var _sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=wasmExports["sqlite3_wal_autocheckpoint"];var _sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=wasmExports["sqlite3_wal_hook"];var _sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=wasmExports["sqlite3_wal_checkpoint_v2"];var _sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=wasmExports["sqlite3_wal_checkpoint"];var _sqlite3_error_offset=Module["_sqlite3_error_offset"]=wasmExports["sqlite3_error_offset"];var _sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=wasmExports["sqlite3_errmsg16"];var _sqlite3_errcode=Module["_sqlite3_errcode"]=wasmExports["sqlite3_errcode"];var _sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=wasmExports["sqlite3_extended_errcode"];var _sqlite3_system_errno=Module["_sqlite3_system_errno"]=wasmExports["sqlite3_system_errno"];var _sqlite3_errstr=Module["_sqlite3_errstr"]=wasmExports["sqlite3_errstr"];var _sqlite3_limit=Module["_sqlite3_limit"]=wasmExports["sqlite3_limit"];var _sqlite3_open=Module["_sqlite3_open"]=wasmExports["sqlite3_open"];var _sqlite3_open_v2=Module["_sqlite3_open_v2"]=wasmExports["sqlite3_open_v2"];var _sqlite3_open16=Module["_sqlite3_open16"]=wasmExports["sqlite3_open16"];var _sqlite3_create_collation=Module["_sqlite3_create_collation"]=wasmExports["sqlite3_create_collation"];var _sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=wasmExports["sqlite3_create_collation_v2"];var _sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=wasmExports["sqlite3_create_collation16"];var _sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=wasmExports["sqlite3_collation_needed"];var _sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=wasmExports["sqlite3_collation_needed16"];var _sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=wasmExports["sqlite3_get_clientdata"];var _sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=wasmExports["sqlite3_set_clientdata"];var _sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=wasmExports["sqlite3_get_autocommit"];var _sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=wasmExports["sqlite3_table_column_metadata"];var _sqlite3_sleep=Module["_sqlite3_sleep"]=wasmExports["sqlite3_sleep"];var _sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=wasmExports["sqlite3_extended_result_codes"];var _sqlite3_file_control=Module["_sqlite3_file_control"]=wasmExports["sqlite3_file_control"];var _sqlite3_test_control=Module["_sqlite3_test_control"]=wasmExports["sqlite3_test_control"];var _sqlite3_create_filename=Module["_sqlite3_create_filename"]=wasmExports["sqlite3_create_filename"];var _sqlite3_free_filename=Module["_sqlite3_free_filename"]=wasmExports["sqlite3_free_filename"];var _sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=wasmExports["sqlite3_uri_parameter"];var _sqlite3_uri_key=Module["_sqlite3_uri_key"]=wasmExports["sqlite3_uri_key"];var _sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=wasmExports["sqlite3_uri_boolean"];var _sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=wasmExports["sqlite3_uri_int64"];var _sqlite3_filename_database=Module["_sqlite3_filename_database"]=wasmExports["sqlite3_filename_database"];var _sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=wasmExports["sqlite3_filename_journal"];var _sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=wasmExports["sqlite3_filename_wal"];var _sqlite3_db_name=Module["_sqlite3_db_name"]=wasmExports["sqlite3_db_name"];var _sqlite3_db_filename=Module["_sqlite3_db_filename"]=wasmExports["sqlite3_db_filename"];var _sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=wasmExports["sqlite3_db_readonly"];var _sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=wasmExports["sqlite3_compileoption_used"];var _sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=wasmExports["sqlite3_compileoption_get"];var _sqlite3_sourceid=Module["_sqlite3_sourceid"]=wasmExports["sqlite3_sourceid"];var _sqlite3mc_config=Module["_sqlite3mc_config"]=wasmExports["sqlite3mc_config"];var _sqlite3mc_cipher_count=Module["_sqlite3mc_cipher_count"]=wasmExports["sqlite3mc_cipher_count"];var _sqlite3mc_cipher_index=Module["_sqlite3mc_cipher_index"]=wasmExports["sqlite3mc_cipher_index"];var _sqlite3mc_cipher_name=Module["_sqlite3mc_cipher_name"]=wasmExports["sqlite3mc_cipher_name"];var _sqlite3mc_config_cipher=Module["_sqlite3mc_config_cipher"]=wasmExports["sqlite3mc_config_cipher"];var _sqlite3mc_vfs_create=Module["_sqlite3mc_vfs_create"]=wasmExports["sqlite3mc_vfs_create"];var _memcmp=Module["_memcmp"]=wasmExports["memcmp"];var _malloc=Module["_malloc"]=wasmExports["malloc"];var _free=Module["_free"]=wasmExports["free"];var _memset=Module["_memset"]=wasmExports["memset"];var _RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=wasmExports["RegisterExtensionFunctions"];var _getSqliteFree=Module["_getSqliteFree"]=wasmExports["getSqliteFree"];var _main=Module["_main"]=wasmExports["main"];var _libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=wasmExports["libauthorizer_set_authorizer"];var _libfunction_create_function=Module["_libfunction_create_function"]=wasmExports["libfunction_create_function"];var _libhook_commit_hook=Module["_libhook_commit_hook"]=wasmExports["libhook_commit_hook"];var _libhook_update_hook=Module["_libhook_update_hook"]=wasmExports["libhook_update_hook"];var _libprogress_progress_handler=Module["_libprogress_progress_handler"]=wasmExports["libprogress_progress_handler"];var _libvfs_vfs_register=Module["_libvfs_vfs_register"]=wasmExports["libvfs_vfs_register"];var _memcpy=Module["_memcpy"]=wasmExports["memcpy"];var _emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"];var __emscripten_timeout=wasmExports["_emscripten_timeout"];var __emscripten_tempret_get=wasmExports["_emscripten_tempret_get"];var __emscripten_stack_restore=wasmExports["_emscripten_stack_restore"];var __emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"];var _emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"];var dynCall_vijii=Module["dynCall_vijii"]=wasmExports["dynCall_vijii"];var dynCall_iiiij=Module["dynCall_iiiij"]=wasmExports["dynCall_iiiij"];var dynCall_viji=Module["dynCall_viji"]=wasmExports["dynCall_viji"];var dynCall_viiiij=Module["dynCall_viiiij"]=wasmExports["dynCall_viiiij"];var dynCall_iij=Module["dynCall_iij"]=wasmExports["dynCall_iij"];var dynCall_iijii=Module["dynCall_iijii"]=wasmExports["dynCall_iijii"];var dynCall_iiji=Module["dynCall_iiji"]=wasmExports["dynCall_iiji"];var dynCall_iiiiiij=Module["dynCall_iiiiiij"]=wasmExports["dynCall_iiiiiij"];var dynCall_iiij=Module["dynCall_iiij"]=wasmExports["dynCall_iiij"];var dynCall_jii=Module["dynCall_jii"]=wasmExports["dynCall_jii"];var dynCall_ji=Module["dynCall_ji"]=wasmExports["dynCall_ji"];var dynCall_vij=Module["dynCall_vij"]=wasmExports["dynCall_vij"];var dynCall_iiiiijii=Module["dynCall_iiiiijii"]=wasmExports["dynCall_iiiiijii"];var dynCall_j=Module["dynCall_j"]=wasmExports["dynCall_j"];var dynCall_jj=Module["dynCall_jj"]=wasmExports["dynCall_jj"];var dynCall_jiij=Module["dynCall_jiij"]=wasmExports["dynCall_jiij"];var dynCall_iiiiji=Module["dynCall_iiiiji"]=wasmExports["dynCall_iiiiji"];var dynCall_iiiijii=Module["dynCall_iiiijii"]=wasmExports["dynCall_iiiijii"];var dynCall_ij=Module["dynCall_ij"]=wasmExports["dynCall_ij"];var dynCall_viiji=Module["dynCall_viiji"]=wasmExports["dynCall_viiji"];var dynCall_viijii=Module["dynCall_viijii"]=wasmExports["dynCall_viijii"];var dynCall_iiiijji=Module["dynCall_iiiijji"]=wasmExports["dynCall_iiiijji"];var _sqlite3_version=Module["_sqlite3_version"]=87072;async function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);ret=await ret;exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}async function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)await callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}preInit();run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc,xStep,xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{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=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var EXITSTATUS;var readyPromiseResolve,readyPromiseReject;var wasmMemory;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["__wasm_call_ctors"]();FS.ignorePermissions=false}function preMain(){}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("mc-wa-sqlite-jspi.wasm")}return new URL("mc-wa-sqlite-jspi.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){Asyncify.instrumentWasmImports(wasmImports);return{env:wasmImports,wasi_snapshot_preview1:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmMemory=wasmExports["memory"];updateMemoryViews();wasmTable=wasmExports["__indirect_function_table"];assignWasmExports(wasmExports);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}var tempDouble;var tempI64;class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=new TextDecoder;var UTF8ToString=(ptr,maxBytesToRead)=>{if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))};var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);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.slice(-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.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>view=>crypto.getRandomValues(view);var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heapOrArray.buffer?heapOrArray.subarray(idx,endPtr):new Uint8Array(heapOrArray.slice(idx,endPtr)))};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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;i++}}heap[outIdx]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,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.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};asyncLoad.isAsync=true;var FS_createDataFile=(...args)=>FS.createDataFile(...args);var getUniqueRunDependency=id=>id;var preloadPlugins=[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}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|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,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){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}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)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){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);old_node.parent=new_dir}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;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return 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 link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){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)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},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}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,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,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){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},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)}if(!length){throw new FS.ErrnoError(28)}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)},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 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"){buf=UTF8ArrayToString(buf)}FS.close(stream);return buf},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){data=new Uint8Array(intArrayFromString(data,true))}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,llseek:()=>0});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){randomFill(randomBuffer);randomLeft=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",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},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){if(e.errno!=20)throw 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;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},writeStatFs(buf,stats){HEAP32[buf+4>>2]=stats.bsize;HEAP32[buf+40>>2]=stats.bsize;HEAP32[buf+8>>2]=stats.blocks;HEAP32[buf+12>>2]=stats.bfree;HEAP32[buf+16>>2]=stats.bavail;HEAP32[buf+20>>2]=stats.files;HEAP32[buf+24>>2]=stats.ffree;HEAP32[buf+28>>2]=stats.fsid;HEAP32[buf+44>>2]=stats.flags;HEAP32[buf+36>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);var now=Date.now(),atime,mtime;if(!times){atime=now;mtime=now}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){atime=now}else if(nanoseconds==1073741822){atime=null}else{atime=seconds*1e3+nanoseconds/(1e3*1e3)}times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){mtime=now}else if(nanoseconds==1073741822){mtime=null}else{mtime=seconds*1e3+nanoseconds/(1e3*1e3)}}if((mtime??atime)!==null){FS.utime(path,atime,mtime)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("");var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var timers={};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var _emscripten_get_now=()=>performance.now();var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetDate.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}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,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.language||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var _fd_sync=function(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return Asyncify.handleSleep(wakeUp=>{var mount=stream.node.mount;if(!mount.type.syncfs){wakeUp(0);return}mount.type.syncfs(mount,false,err=>{wakeUp(err?29:0)})})}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}};_fd_sync.isAsync=true;var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}function _ipp_async(...args){return adapters_support(true,...args)}_ipp_async.isAsync=true;function _ippipppp(...args){return adapters_support(false,...args)}function _ippipppp_async(...args){return adapters_support(true,...args)}_ippipppp_async.isAsync=true;function _ippp(...args){return adapters_support(false,...args)}function _ippp_async(...args){return adapters_support(true,...args)}_ippp_async.isAsync=true;function _ipppi(...args){return adapters_support(false,...args)}function _ipppi_async(...args){return adapters_support(true,...args)}_ipppi_async.isAsync=true;function _ipppiii(...args){return adapters_support(false,...args)}function _ipppiii_async(...args){return adapters_support(true,...args)}_ipppiii_async.isAsync=true;function _ipppiiip(...args){return adapters_support(false,...args)}function _ipppiiip_async(...args){return adapters_support(true,...args)}_ipppiiip_async.isAsync=true;function _ipppip(...args){return adapters_support(false,...args)}function _ipppip_async(...args){return adapters_support(true,...args)}_ipppip_async.isAsync=true;function _ipppj(...args){return adapters_support(false,...args)}function _ipppj_async(...args){return adapters_support(true,...args)}_ipppj_async.isAsync=true;function _ipppp(...args){return adapters_support(false,...args)}function _ipppp_async(...args){return adapters_support(true,...args)}_ipppp_async.isAsync=true;function _ippppi(...args){return adapters_support(false,...args)}function _ippppi_async(...args){return adapters_support(true,...args)}_ippppi_async.isAsync=true;function _ippppij(...args){return adapters_support(false,...args)}function _ippppij_async(...args){return adapters_support(true,...args)}_ippppij_async.isAsync=true;function _ippppip(...args){return adapters_support(false,...args)}function _ippppip_async(...args){return adapters_support(true,...args)}_ippppip_async.isAsync=true;function _ipppppip(...args){return adapters_support(false,...args)}function _ipppppip_async(...args){return adapters_support(true,...args)}_ipppppip_async.isAsync=true;function _random_get(buffer,size){try{randomFill(HEAPU8.subarray(buffer,buffer+size));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _vppippii(...args){return adapters_support(false,...args)}function _vppippii_async(...args){return adapters_support(true,...args)}_vppippii_async.isAsync=true;function _vppp(...args){return adapters_support(false,...args)}function _vppp_async(...args){return adapters_support(true,...args)}_vppp_async.isAsync=true;function _vpppip(...args){return adapters_support(false,...args)}function _vpppip_async(...args){return adapters_support(true,...args)}_vpppip_async.isAsync=true;var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;ioriginal(...args);return wrapper},instrumentWasmExports(exports){var exportPattern=/^(sqlite3_close|sqlite3_finalize|sqlite3_open_v2|sqlite3_prepare|sqlite3_prepare16|sqlite3_prepare_v2|sqlite3_prepare16_v2|sqlite3_prepare_v3|sqlite3_prepare16_v3|sqlite3_reset|sqlite3_step|main|__main_argc_argv)$/;Asyncify.asyncExports=new Set;var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){let isAsyncifyExport=exportPattern.test(x);if(isAsyncifyExport){Asyncify.asyncExports.add(original);original=Asyncify.makeAsyncFunction(original)}var wrapper=Asyncify.instrumentFunction(original);ret[x]=wrapper}else{ret[x]=original}}return ret},asyncExports:null,isAsyncExport(func){return Asyncify.asyncExports?.has(func)},handleAsync:async startAsync=>{try{return await startAsync()}finally{}},handleSleep:startAsync=>Asyncify.handleAsync(()=>new Promise(startAsync)),makeAsyncFunction(original){return WebAssembly.promising(original)}};var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var generateFuncType=(sig,target)=>{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var paramType of sigParam){target.push(typeCodes[paramType])}if(sigRet=="v"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTableMirror=[];var wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr);if(Asyncify.isAsyncExport(func)){wasmTableMirror[funcPtr]=func=Asyncify.makeAsyncFunction(func)}}return func};var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>{wasmTable.set(idx,func);wasmTableMirror[idx]=wasmTable.get(idx)};var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i65535){i++}HEAP32[outPtr>>2]=codePoint;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=new TextDecoder("utf-16le");var UTF16ToString=(ptr,maxBytesToRead)=>{var idx=ptr>>1;var maxIdx=idx+maxBytesToRead/2;var endIdx=idx;while(!(endIdx>=maxIdx)&&HEAPU16[endIdx])++endIdx;return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx))};var UTF32ToString=(ptr,maxBytesToRead)=>{var str="";for(var i=0;!(i>=maxBytesToRead/4);i++){var utf32=HEAP32[ptr+i*4>>2];if(!utf32)break;str+=String.fromCodePoint(utf32)}return str};var intArrayToString=array=>{var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")};var _getTempRet0=getTempRet0;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";adapters_support();{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"]}Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;Module["_getTempRet0"]=_getTempRet0;var _powersync_init_static,_sqlite3_status64,_sqlite3_status,_sqlite3_db_status,_sqlite3_msize,_sqlite3_vfs_find,_sqlite3_vfs_register,_sqlite3_vfs_unregister,_sqlite3_release_memory,_sqlite3_soft_heap_limit64,_sqlite3_memory_used,_sqlite3_hard_heap_limit64,_sqlite3_memory_highwater,_sqlite3_malloc,_sqlite3_malloc64,_sqlite3_free,_sqlite3_realloc,_sqlite3_realloc64,_sqlite3_str_vappendf,_sqlite3_str_append,_sqlite3_str_appendchar,_sqlite3_str_appendall,_sqlite3_str_appendf,_sqlite3_str_finish,_sqlite3_str_errcode,_sqlite3_str_length,_sqlite3_str_value,_sqlite3_str_reset,_sqlite3_str_new,_sqlite3_vmprintf,_sqlite3_mprintf,_sqlite3_vsnprintf,_sqlite3_snprintf,_sqlite3_log,_sqlite3_randomness,_sqlite3_stricmp,_sqlite3_strnicmp,_sqlite3_os_init,_sqlite3_os_end,_sqlite3_serialize,_sqlite3_prepare_v2,_sqlite3_step,_sqlite3_column_int64,_sqlite3_reset,_sqlite3_exec,_sqlite3_column_int,_sqlite3_finalize,_sqlite3_deserialize,_sqlite3_database_file_object,_sqlite3_backup_init,_sqlite3_backup_step,_sqlite3_backup_finish,_sqlite3_backup_remaining,_sqlite3_backup_pagecount,_sqlite3_clear_bindings,_sqlite3_value_blob,_sqlite3_value_text,_sqlite3_value_bytes,_sqlite3_value_bytes16,_sqlite3_value_double,_sqlite3_value_int,_sqlite3_value_int64,_sqlite3_value_subtype,_sqlite3_value_pointer,_sqlite3_value_text16,_sqlite3_value_text16be,_sqlite3_value_text16le,_sqlite3_value_type,_sqlite3_value_encoding,_sqlite3_value_nochange,_sqlite3_value_frombind,_sqlite3_value_dup,_sqlite3_value_free,_sqlite3_result_blob,_sqlite3_result_blob64,_sqlite3_result_double,_sqlite3_result_error,_sqlite3_result_error16,_sqlite3_result_int,_sqlite3_result_int64,_sqlite3_result_null,_sqlite3_result_pointer,_sqlite3_result_subtype,_sqlite3_result_text,_sqlite3_result_text64,_sqlite3_result_text16,_sqlite3_result_text16be,_sqlite3_result_text16le,_sqlite3_result_value,_sqlite3_result_error_toobig,_sqlite3_result_zeroblob,_sqlite3_result_zeroblob64,_sqlite3_result_error_code,_sqlite3_result_error_nomem,_sqlite3_user_data,_sqlite3_context_db_handle,_sqlite3_vtab_nochange,_sqlite3_vtab_in_first,_sqlite3_vtab_in_next,_sqlite3_aggregate_context,_sqlite3_get_auxdata,_sqlite3_set_auxdata,_sqlite3_column_count,_sqlite3_data_count,_sqlite3_column_blob,_sqlite3_column_bytes,_sqlite3_column_bytes16,_sqlite3_column_double,_sqlite3_column_text,_sqlite3_column_value,_sqlite3_column_text16,_sqlite3_column_type,_sqlite3_column_name,_sqlite3_column_name16,_sqlite3_bind_blob,_sqlite3_bind_blob64,_sqlite3_bind_double,_sqlite3_bind_int,_sqlite3_bind_int64,_sqlite3_bind_null,_sqlite3_bind_pointer,_sqlite3_bind_text,_sqlite3_bind_text64,_sqlite3_bind_text16,_sqlite3_bind_value,_sqlite3_bind_zeroblob,_sqlite3_bind_zeroblob64,_sqlite3_bind_parameter_count,_sqlite3_bind_parameter_name,_sqlite3_bind_parameter_index,_sqlite3_db_handle,_sqlite3_stmt_readonly,_sqlite3_stmt_isexplain,_sqlite3_stmt_explain,_sqlite3_stmt_busy,_sqlite3_next_stmt,_sqlite3_stmt_status,_sqlite3_sql,_sqlite3_expanded_sql,_sqlite3_value_numeric_type,_sqlite3_blob_open,_sqlite3_blob_close,_sqlite3_blob_read,_sqlite3_blob_write,_sqlite3_blob_bytes,_sqlite3_blob_reopen,_sqlite3_set_authorizer,_sqlite3_strglob,_sqlite3_strlike,_sqlite3_errmsg,_sqlite3_load_extension,_sqlite3_enable_load_extension,_sqlite3_auto_extension,_sqlite3_cancel_auto_extension,_sqlite3_reset_auto_extension,_sqlite3_prepare,_sqlite3_prepare_v3,_sqlite3_prepare16,_sqlite3_prepare16_v2,_sqlite3_prepare16_v3,_sqlite3_get_table,_sqlite3_free_table,_sqlite3_create_module,_sqlite3_create_module_v2,_sqlite3_drop_modules,_sqlite3_declare_vtab,_sqlite3_vtab_on_conflict,_sqlite3_vtab_config,_sqlite3_vtab_collation,_sqlite3_vtab_in,_sqlite3_vtab_rhs_value,_sqlite3_vtab_distinct,_sqlite3_keyword_name,_sqlite3_keyword_count,_sqlite3_keyword_check,_sqlite3_complete,_sqlite3_complete16,_sqlite3_libversion,_sqlite3_libversion_number,_sqlite3_threadsafe,_sqlite3_initialize,_sqlite3_shutdown,_sqlite3_config,_sqlite3_db_mutex,_sqlite3_db_release_memory,_sqlite3_db_cacheflush,_sqlite3_db_config,_sqlite3_last_insert_rowid,_sqlite3_set_last_insert_rowid,_sqlite3_changes64,_sqlite3_changes,_sqlite3_total_changes64,_sqlite3_total_changes,_sqlite3_txn_state,_sqlite3_close,_sqlite3_close_v2,_sqlite3_busy_handler,_sqlite3_progress_handler,_sqlite3_busy_timeout,_sqlite3_interrupt,_sqlite3_is_interrupted,_sqlite3_create_function,_sqlite3_create_function_v2,_sqlite3_create_window_function,_sqlite3_create_function16,_sqlite3_overload_function,_sqlite3_trace_v2,_sqlite3_commit_hook,_sqlite3_update_hook,_sqlite3_rollback_hook,_sqlite3_autovacuum_pages,_sqlite3_wal_autocheckpoint,_sqlite3_wal_hook,_sqlite3_wal_checkpoint_v2,_sqlite3_wal_checkpoint,_sqlite3_error_offset,_sqlite3_errmsg16,_sqlite3_errcode,_sqlite3_extended_errcode,_sqlite3_system_errno,_sqlite3_errstr,_sqlite3_limit,_sqlite3_open,_sqlite3_open_v2,_sqlite3_open16,_sqlite3_create_collation,_sqlite3_create_collation_v2,_sqlite3_create_collation16,_sqlite3_collation_needed,_sqlite3_collation_needed16,_sqlite3_get_clientdata,_sqlite3_set_clientdata,_sqlite3_get_autocommit,_sqlite3_table_column_metadata,_sqlite3_sleep,_sqlite3_extended_result_codes,_sqlite3_file_control,_sqlite3_test_control,_sqlite3_create_filename,_sqlite3_free_filename,_sqlite3_uri_parameter,_sqlite3_uri_key,_sqlite3_uri_boolean,_sqlite3_uri_int64,_sqlite3_filename_database,_sqlite3_filename_journal,_sqlite3_filename_wal,_sqlite3_db_name,_sqlite3_db_filename,_sqlite3_db_readonly,_sqlite3_compileoption_used,_sqlite3_compileoption_get,_sqlite3_sourceid,_sqlite3mc_config,_sqlite3mc_cipher_count,_sqlite3mc_cipher_index,_sqlite3mc_cipher_name,_sqlite3mc_config_cipher,_sqlite3mc_vfs_create,_memcmp,_malloc,_free,_memset,_RegisterExtensionFunctions,_getSqliteFree,_main,_libauthorizer_set_authorizer,_libfunction_create_function,_libhook_commit_hook,_libhook_update_hook,_libprogress_progress_handler,_libvfs_vfs_register,_memcpy,_emscripten_builtin_memalign,__emscripten_timeout,__emscripten_tempret_get,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,dynCall_vijii,dynCall_iiiij,dynCall_viji,dynCall_viiiij,dynCall_iij,dynCall_iijii,dynCall_iiji,dynCall_iiiiiij,dynCall_iiij,dynCall_jii,dynCall_ji,dynCall_vij,dynCall_iiiiijii,dynCall_j,dynCall_jj,dynCall_jiij,dynCall_iiiiji,dynCall_iiiijii,dynCall_ij,dynCall_viiji,dynCall_viijii,dynCall_iiiijji;function assignWasmExports(wasmExports){Module["_powersync_init_static"]=_powersync_init_static=wasmExports["powersync_init_static"];Module["_sqlite3_status64"]=_sqlite3_status64=wasmExports["sqlite3_status64"];Module["_sqlite3_status"]=_sqlite3_status=wasmExports["sqlite3_status"];Module["_sqlite3_db_status"]=_sqlite3_db_status=wasmExports["sqlite3_db_status"];Module["_sqlite3_msize"]=_sqlite3_msize=wasmExports["sqlite3_msize"];Module["_sqlite3_vfs_find"]=_sqlite3_vfs_find=wasmExports["sqlite3_vfs_find"];Module["_sqlite3_vfs_register"]=_sqlite3_vfs_register=wasmExports["sqlite3_vfs_register"];Module["_sqlite3_vfs_unregister"]=_sqlite3_vfs_unregister=wasmExports["sqlite3_vfs_unregister"];Module["_sqlite3_release_memory"]=_sqlite3_release_memory=wasmExports["sqlite3_release_memory"];Module["_sqlite3_soft_heap_limit64"]=_sqlite3_soft_heap_limit64=wasmExports["sqlite3_soft_heap_limit64"];Module["_sqlite3_memory_used"]=_sqlite3_memory_used=wasmExports["sqlite3_memory_used"];Module["_sqlite3_hard_heap_limit64"]=_sqlite3_hard_heap_limit64=wasmExports["sqlite3_hard_heap_limit64"];Module["_sqlite3_memory_highwater"]=_sqlite3_memory_highwater=wasmExports["sqlite3_memory_highwater"];Module["_sqlite3_malloc"]=_sqlite3_malloc=wasmExports["sqlite3_malloc"];Module["_sqlite3_malloc64"]=_sqlite3_malloc64=wasmExports["sqlite3_malloc64"];Module["_sqlite3_free"]=_sqlite3_free=wasmExports["sqlite3_free"];Module["_sqlite3_realloc"]=_sqlite3_realloc=wasmExports["sqlite3_realloc"];Module["_sqlite3_realloc64"]=_sqlite3_realloc64=wasmExports["sqlite3_realloc64"];Module["_sqlite3_str_vappendf"]=_sqlite3_str_vappendf=wasmExports["sqlite3_str_vappendf"];Module["_sqlite3_str_append"]=_sqlite3_str_append=wasmExports["sqlite3_str_append"];Module["_sqlite3_str_appendchar"]=_sqlite3_str_appendchar=wasmExports["sqlite3_str_appendchar"];Module["_sqlite3_str_appendall"]=_sqlite3_str_appendall=wasmExports["sqlite3_str_appendall"];Module["_sqlite3_str_appendf"]=_sqlite3_str_appendf=wasmExports["sqlite3_str_appendf"];Module["_sqlite3_str_finish"]=_sqlite3_str_finish=wasmExports["sqlite3_str_finish"];Module["_sqlite3_str_errcode"]=_sqlite3_str_errcode=wasmExports["sqlite3_str_errcode"];Module["_sqlite3_str_length"]=_sqlite3_str_length=wasmExports["sqlite3_str_length"];Module["_sqlite3_str_value"]=_sqlite3_str_value=wasmExports["sqlite3_str_value"];Module["_sqlite3_str_reset"]=_sqlite3_str_reset=wasmExports["sqlite3_str_reset"];Module["_sqlite3_str_new"]=_sqlite3_str_new=wasmExports["sqlite3_str_new"];Module["_sqlite3_vmprintf"]=_sqlite3_vmprintf=wasmExports["sqlite3_vmprintf"];Module["_sqlite3_mprintf"]=_sqlite3_mprintf=wasmExports["sqlite3_mprintf"];Module["_sqlite3_vsnprintf"]=_sqlite3_vsnprintf=wasmExports["sqlite3_vsnprintf"];Module["_sqlite3_snprintf"]=_sqlite3_snprintf=wasmExports["sqlite3_snprintf"];Module["_sqlite3_log"]=_sqlite3_log=wasmExports["sqlite3_log"];Module["_sqlite3_randomness"]=_sqlite3_randomness=wasmExports["sqlite3_randomness"];Module["_sqlite3_stricmp"]=_sqlite3_stricmp=wasmExports["sqlite3_stricmp"];Module["_sqlite3_strnicmp"]=_sqlite3_strnicmp=wasmExports["sqlite3_strnicmp"];Module["_sqlite3_os_init"]=_sqlite3_os_init=wasmExports["sqlite3_os_init"];Module["_sqlite3_os_end"]=_sqlite3_os_end=wasmExports["sqlite3_os_end"];Module["_sqlite3_serialize"]=_sqlite3_serialize=wasmExports["sqlite3_serialize"];Module["_sqlite3_prepare_v2"]=_sqlite3_prepare_v2=wasmExports["sqlite3_prepare_v2"];Module["_sqlite3_step"]=_sqlite3_step=wasmExports["sqlite3_step"];Module["_sqlite3_column_int64"]=_sqlite3_column_int64=wasmExports["sqlite3_column_int64"];Module["_sqlite3_reset"]=_sqlite3_reset=wasmExports["sqlite3_reset"];Module["_sqlite3_exec"]=_sqlite3_exec=wasmExports["sqlite3_exec"];Module["_sqlite3_column_int"]=_sqlite3_column_int=wasmExports["sqlite3_column_int"];Module["_sqlite3_finalize"]=_sqlite3_finalize=wasmExports["sqlite3_finalize"];Module["_sqlite3_deserialize"]=_sqlite3_deserialize=wasmExports["sqlite3_deserialize"];Module["_sqlite3_database_file_object"]=_sqlite3_database_file_object=wasmExports["sqlite3_database_file_object"];Module["_sqlite3_backup_init"]=_sqlite3_backup_init=wasmExports["sqlite3_backup_init"];Module["_sqlite3_backup_step"]=_sqlite3_backup_step=wasmExports["sqlite3_backup_step"];Module["_sqlite3_backup_finish"]=_sqlite3_backup_finish=wasmExports["sqlite3_backup_finish"];Module["_sqlite3_backup_remaining"]=_sqlite3_backup_remaining=wasmExports["sqlite3_backup_remaining"];Module["_sqlite3_backup_pagecount"]=_sqlite3_backup_pagecount=wasmExports["sqlite3_backup_pagecount"];Module["_sqlite3_clear_bindings"]=_sqlite3_clear_bindings=wasmExports["sqlite3_clear_bindings"];Module["_sqlite3_value_blob"]=_sqlite3_value_blob=wasmExports["sqlite3_value_blob"];Module["_sqlite3_value_text"]=_sqlite3_value_text=wasmExports["sqlite3_value_text"];Module["_sqlite3_value_bytes"]=_sqlite3_value_bytes=wasmExports["sqlite3_value_bytes"];Module["_sqlite3_value_bytes16"]=_sqlite3_value_bytes16=wasmExports["sqlite3_value_bytes16"];Module["_sqlite3_value_double"]=_sqlite3_value_double=wasmExports["sqlite3_value_double"];Module["_sqlite3_value_int"]=_sqlite3_value_int=wasmExports["sqlite3_value_int"];Module["_sqlite3_value_int64"]=_sqlite3_value_int64=wasmExports["sqlite3_value_int64"];Module["_sqlite3_value_subtype"]=_sqlite3_value_subtype=wasmExports["sqlite3_value_subtype"];Module["_sqlite3_value_pointer"]=_sqlite3_value_pointer=wasmExports["sqlite3_value_pointer"];Module["_sqlite3_value_text16"]=_sqlite3_value_text16=wasmExports["sqlite3_value_text16"];Module["_sqlite3_value_text16be"]=_sqlite3_value_text16be=wasmExports["sqlite3_value_text16be"];Module["_sqlite3_value_text16le"]=_sqlite3_value_text16le=wasmExports["sqlite3_value_text16le"];Module["_sqlite3_value_type"]=_sqlite3_value_type=wasmExports["sqlite3_value_type"];Module["_sqlite3_value_encoding"]=_sqlite3_value_encoding=wasmExports["sqlite3_value_encoding"];Module["_sqlite3_value_nochange"]=_sqlite3_value_nochange=wasmExports["sqlite3_value_nochange"];Module["_sqlite3_value_frombind"]=_sqlite3_value_frombind=wasmExports["sqlite3_value_frombind"];Module["_sqlite3_value_dup"]=_sqlite3_value_dup=wasmExports["sqlite3_value_dup"];Module["_sqlite3_value_free"]=_sqlite3_value_free=wasmExports["sqlite3_value_free"];Module["_sqlite3_result_blob"]=_sqlite3_result_blob=wasmExports["sqlite3_result_blob"];Module["_sqlite3_result_blob64"]=_sqlite3_result_blob64=wasmExports["sqlite3_result_blob64"];Module["_sqlite3_result_double"]=_sqlite3_result_double=wasmExports["sqlite3_result_double"];Module["_sqlite3_result_error"]=_sqlite3_result_error=wasmExports["sqlite3_result_error"];Module["_sqlite3_result_error16"]=_sqlite3_result_error16=wasmExports["sqlite3_result_error16"];Module["_sqlite3_result_int"]=_sqlite3_result_int=wasmExports["sqlite3_result_int"];Module["_sqlite3_result_int64"]=_sqlite3_result_int64=wasmExports["sqlite3_result_int64"];Module["_sqlite3_result_null"]=_sqlite3_result_null=wasmExports["sqlite3_result_null"];Module["_sqlite3_result_pointer"]=_sqlite3_result_pointer=wasmExports["sqlite3_result_pointer"];Module["_sqlite3_result_subtype"]=_sqlite3_result_subtype=wasmExports["sqlite3_result_subtype"];Module["_sqlite3_result_text"]=_sqlite3_result_text=wasmExports["sqlite3_result_text"];Module["_sqlite3_result_text64"]=_sqlite3_result_text64=wasmExports["sqlite3_result_text64"];Module["_sqlite3_result_text16"]=_sqlite3_result_text16=wasmExports["sqlite3_result_text16"];Module["_sqlite3_result_text16be"]=_sqlite3_result_text16be=wasmExports["sqlite3_result_text16be"];Module["_sqlite3_result_text16le"]=_sqlite3_result_text16le=wasmExports["sqlite3_result_text16le"];Module["_sqlite3_result_value"]=_sqlite3_result_value=wasmExports["sqlite3_result_value"];Module["_sqlite3_result_error_toobig"]=_sqlite3_result_error_toobig=wasmExports["sqlite3_result_error_toobig"];Module["_sqlite3_result_zeroblob"]=_sqlite3_result_zeroblob=wasmExports["sqlite3_result_zeroblob"];Module["_sqlite3_result_zeroblob64"]=_sqlite3_result_zeroblob64=wasmExports["sqlite3_result_zeroblob64"];Module["_sqlite3_result_error_code"]=_sqlite3_result_error_code=wasmExports["sqlite3_result_error_code"];Module["_sqlite3_result_error_nomem"]=_sqlite3_result_error_nomem=wasmExports["sqlite3_result_error_nomem"];Module["_sqlite3_user_data"]=_sqlite3_user_data=wasmExports["sqlite3_user_data"];Module["_sqlite3_context_db_handle"]=_sqlite3_context_db_handle=wasmExports["sqlite3_context_db_handle"];Module["_sqlite3_vtab_nochange"]=_sqlite3_vtab_nochange=wasmExports["sqlite3_vtab_nochange"];Module["_sqlite3_vtab_in_first"]=_sqlite3_vtab_in_first=wasmExports["sqlite3_vtab_in_first"];Module["_sqlite3_vtab_in_next"]=_sqlite3_vtab_in_next=wasmExports["sqlite3_vtab_in_next"];Module["_sqlite3_aggregate_context"]=_sqlite3_aggregate_context=wasmExports["sqlite3_aggregate_context"];Module["_sqlite3_get_auxdata"]=_sqlite3_get_auxdata=wasmExports["sqlite3_get_auxdata"];Module["_sqlite3_set_auxdata"]=_sqlite3_set_auxdata=wasmExports["sqlite3_set_auxdata"];Module["_sqlite3_column_count"]=_sqlite3_column_count=wasmExports["sqlite3_column_count"];Module["_sqlite3_data_count"]=_sqlite3_data_count=wasmExports["sqlite3_data_count"];Module["_sqlite3_column_blob"]=_sqlite3_column_blob=wasmExports["sqlite3_column_blob"];Module["_sqlite3_column_bytes"]=_sqlite3_column_bytes=wasmExports["sqlite3_column_bytes"];Module["_sqlite3_column_bytes16"]=_sqlite3_column_bytes16=wasmExports["sqlite3_column_bytes16"];Module["_sqlite3_column_double"]=_sqlite3_column_double=wasmExports["sqlite3_column_double"];Module["_sqlite3_column_text"]=_sqlite3_column_text=wasmExports["sqlite3_column_text"];Module["_sqlite3_column_value"]=_sqlite3_column_value=wasmExports["sqlite3_column_value"];Module["_sqlite3_column_text16"]=_sqlite3_column_text16=wasmExports["sqlite3_column_text16"];Module["_sqlite3_column_type"]=_sqlite3_column_type=wasmExports["sqlite3_column_type"];Module["_sqlite3_column_name"]=_sqlite3_column_name=wasmExports["sqlite3_column_name"];Module["_sqlite3_column_name16"]=_sqlite3_column_name16=wasmExports["sqlite3_column_name16"];Module["_sqlite3_bind_blob"]=_sqlite3_bind_blob=wasmExports["sqlite3_bind_blob"];Module["_sqlite3_bind_blob64"]=_sqlite3_bind_blob64=wasmExports["sqlite3_bind_blob64"];Module["_sqlite3_bind_double"]=_sqlite3_bind_double=wasmExports["sqlite3_bind_double"];Module["_sqlite3_bind_int"]=_sqlite3_bind_int=wasmExports["sqlite3_bind_int"];Module["_sqlite3_bind_int64"]=_sqlite3_bind_int64=wasmExports["sqlite3_bind_int64"];Module["_sqlite3_bind_null"]=_sqlite3_bind_null=wasmExports["sqlite3_bind_null"];Module["_sqlite3_bind_pointer"]=_sqlite3_bind_pointer=wasmExports["sqlite3_bind_pointer"];Module["_sqlite3_bind_text"]=_sqlite3_bind_text=wasmExports["sqlite3_bind_text"];Module["_sqlite3_bind_text64"]=_sqlite3_bind_text64=wasmExports["sqlite3_bind_text64"];Module["_sqlite3_bind_text16"]=_sqlite3_bind_text16=wasmExports["sqlite3_bind_text16"];Module["_sqlite3_bind_value"]=_sqlite3_bind_value=wasmExports["sqlite3_bind_value"];Module["_sqlite3_bind_zeroblob"]=_sqlite3_bind_zeroblob=wasmExports["sqlite3_bind_zeroblob"];Module["_sqlite3_bind_zeroblob64"]=_sqlite3_bind_zeroblob64=wasmExports["sqlite3_bind_zeroblob64"];Module["_sqlite3_bind_parameter_count"]=_sqlite3_bind_parameter_count=wasmExports["sqlite3_bind_parameter_count"];Module["_sqlite3_bind_parameter_name"]=_sqlite3_bind_parameter_name=wasmExports["sqlite3_bind_parameter_name"];Module["_sqlite3_bind_parameter_index"]=_sqlite3_bind_parameter_index=wasmExports["sqlite3_bind_parameter_index"];Module["_sqlite3_db_handle"]=_sqlite3_db_handle=wasmExports["sqlite3_db_handle"];Module["_sqlite3_stmt_readonly"]=_sqlite3_stmt_readonly=wasmExports["sqlite3_stmt_readonly"];Module["_sqlite3_stmt_isexplain"]=_sqlite3_stmt_isexplain=wasmExports["sqlite3_stmt_isexplain"];Module["_sqlite3_stmt_explain"]=_sqlite3_stmt_explain=wasmExports["sqlite3_stmt_explain"];Module["_sqlite3_stmt_busy"]=_sqlite3_stmt_busy=wasmExports["sqlite3_stmt_busy"];Module["_sqlite3_next_stmt"]=_sqlite3_next_stmt=wasmExports["sqlite3_next_stmt"];Module["_sqlite3_stmt_status"]=_sqlite3_stmt_status=wasmExports["sqlite3_stmt_status"];Module["_sqlite3_sql"]=_sqlite3_sql=wasmExports["sqlite3_sql"];Module["_sqlite3_expanded_sql"]=_sqlite3_expanded_sql=wasmExports["sqlite3_expanded_sql"];Module["_sqlite3_value_numeric_type"]=_sqlite3_value_numeric_type=wasmExports["sqlite3_value_numeric_type"];Module["_sqlite3_blob_open"]=_sqlite3_blob_open=wasmExports["sqlite3_blob_open"];Module["_sqlite3_blob_close"]=_sqlite3_blob_close=wasmExports["sqlite3_blob_close"];Module["_sqlite3_blob_read"]=_sqlite3_blob_read=wasmExports["sqlite3_blob_read"];Module["_sqlite3_blob_write"]=_sqlite3_blob_write=wasmExports["sqlite3_blob_write"];Module["_sqlite3_blob_bytes"]=_sqlite3_blob_bytes=wasmExports["sqlite3_blob_bytes"];Module["_sqlite3_blob_reopen"]=_sqlite3_blob_reopen=wasmExports["sqlite3_blob_reopen"];Module["_sqlite3_set_authorizer"]=_sqlite3_set_authorizer=wasmExports["sqlite3_set_authorizer"];Module["_sqlite3_strglob"]=_sqlite3_strglob=wasmExports["sqlite3_strglob"];Module["_sqlite3_strlike"]=_sqlite3_strlike=wasmExports["sqlite3_strlike"];Module["_sqlite3_errmsg"]=_sqlite3_errmsg=wasmExports["sqlite3_errmsg"];Module["_sqlite3_load_extension"]=_sqlite3_load_extension=wasmExports["sqlite3_load_extension"];Module["_sqlite3_enable_load_extension"]=_sqlite3_enable_load_extension=wasmExports["sqlite3_enable_load_extension"];Module["_sqlite3_auto_extension"]=_sqlite3_auto_extension=wasmExports["sqlite3_auto_extension"];Module["_sqlite3_cancel_auto_extension"]=_sqlite3_cancel_auto_extension=wasmExports["sqlite3_cancel_auto_extension"];Module["_sqlite3_reset_auto_extension"]=_sqlite3_reset_auto_extension=wasmExports["sqlite3_reset_auto_extension"];Module["_sqlite3_prepare"]=_sqlite3_prepare=wasmExports["sqlite3_prepare"];Module["_sqlite3_prepare_v3"]=_sqlite3_prepare_v3=wasmExports["sqlite3_prepare_v3"];Module["_sqlite3_prepare16"]=_sqlite3_prepare16=wasmExports["sqlite3_prepare16"];Module["_sqlite3_prepare16_v2"]=_sqlite3_prepare16_v2=wasmExports["sqlite3_prepare16_v2"];Module["_sqlite3_prepare16_v3"]=_sqlite3_prepare16_v3=wasmExports["sqlite3_prepare16_v3"];Module["_sqlite3_get_table"]=_sqlite3_get_table=wasmExports["sqlite3_get_table"];Module["_sqlite3_free_table"]=_sqlite3_free_table=wasmExports["sqlite3_free_table"];Module["_sqlite3_create_module"]=_sqlite3_create_module=wasmExports["sqlite3_create_module"];Module["_sqlite3_create_module_v2"]=_sqlite3_create_module_v2=wasmExports["sqlite3_create_module_v2"];Module["_sqlite3_drop_modules"]=_sqlite3_drop_modules=wasmExports["sqlite3_drop_modules"];Module["_sqlite3_declare_vtab"]=_sqlite3_declare_vtab=wasmExports["sqlite3_declare_vtab"];Module["_sqlite3_vtab_on_conflict"]=_sqlite3_vtab_on_conflict=wasmExports["sqlite3_vtab_on_conflict"];Module["_sqlite3_vtab_config"]=_sqlite3_vtab_config=wasmExports["sqlite3_vtab_config"];Module["_sqlite3_vtab_collation"]=_sqlite3_vtab_collation=wasmExports["sqlite3_vtab_collation"];Module["_sqlite3_vtab_in"]=_sqlite3_vtab_in=wasmExports["sqlite3_vtab_in"];Module["_sqlite3_vtab_rhs_value"]=_sqlite3_vtab_rhs_value=wasmExports["sqlite3_vtab_rhs_value"];Module["_sqlite3_vtab_distinct"]=_sqlite3_vtab_distinct=wasmExports["sqlite3_vtab_distinct"];Module["_sqlite3_keyword_name"]=_sqlite3_keyword_name=wasmExports["sqlite3_keyword_name"];Module["_sqlite3_keyword_count"]=_sqlite3_keyword_count=wasmExports["sqlite3_keyword_count"];Module["_sqlite3_keyword_check"]=_sqlite3_keyword_check=wasmExports["sqlite3_keyword_check"];Module["_sqlite3_complete"]=_sqlite3_complete=wasmExports["sqlite3_complete"];Module["_sqlite3_complete16"]=_sqlite3_complete16=wasmExports["sqlite3_complete16"];Module["_sqlite3_libversion"]=_sqlite3_libversion=wasmExports["sqlite3_libversion"];Module["_sqlite3_libversion_number"]=_sqlite3_libversion_number=wasmExports["sqlite3_libversion_number"];Module["_sqlite3_threadsafe"]=_sqlite3_threadsafe=wasmExports["sqlite3_threadsafe"];Module["_sqlite3_initialize"]=_sqlite3_initialize=wasmExports["sqlite3_initialize"];Module["_sqlite3_shutdown"]=_sqlite3_shutdown=wasmExports["sqlite3_shutdown"];Module["_sqlite3_config"]=_sqlite3_config=wasmExports["sqlite3_config"];Module["_sqlite3_db_mutex"]=_sqlite3_db_mutex=wasmExports["sqlite3_db_mutex"];Module["_sqlite3_db_release_memory"]=_sqlite3_db_release_memory=wasmExports["sqlite3_db_release_memory"];Module["_sqlite3_db_cacheflush"]=_sqlite3_db_cacheflush=wasmExports["sqlite3_db_cacheflush"];Module["_sqlite3_db_config"]=_sqlite3_db_config=wasmExports["sqlite3_db_config"];Module["_sqlite3_last_insert_rowid"]=_sqlite3_last_insert_rowid=wasmExports["sqlite3_last_insert_rowid"];Module["_sqlite3_set_last_insert_rowid"]=_sqlite3_set_last_insert_rowid=wasmExports["sqlite3_set_last_insert_rowid"];Module["_sqlite3_changes64"]=_sqlite3_changes64=wasmExports["sqlite3_changes64"];Module["_sqlite3_changes"]=_sqlite3_changes=wasmExports["sqlite3_changes"];Module["_sqlite3_total_changes64"]=_sqlite3_total_changes64=wasmExports["sqlite3_total_changes64"];Module["_sqlite3_total_changes"]=_sqlite3_total_changes=wasmExports["sqlite3_total_changes"];Module["_sqlite3_txn_state"]=_sqlite3_txn_state=wasmExports["sqlite3_txn_state"];Module["_sqlite3_close"]=_sqlite3_close=wasmExports["sqlite3_close"];Module["_sqlite3_close_v2"]=_sqlite3_close_v2=wasmExports["sqlite3_close_v2"];Module["_sqlite3_busy_handler"]=_sqlite3_busy_handler=wasmExports["sqlite3_busy_handler"];Module["_sqlite3_progress_handler"]=_sqlite3_progress_handler=wasmExports["sqlite3_progress_handler"];Module["_sqlite3_busy_timeout"]=_sqlite3_busy_timeout=wasmExports["sqlite3_busy_timeout"];Module["_sqlite3_interrupt"]=_sqlite3_interrupt=wasmExports["sqlite3_interrupt"];Module["_sqlite3_is_interrupted"]=_sqlite3_is_interrupted=wasmExports["sqlite3_is_interrupted"];Module["_sqlite3_create_function"]=_sqlite3_create_function=wasmExports["sqlite3_create_function"];Module["_sqlite3_create_function_v2"]=_sqlite3_create_function_v2=wasmExports["sqlite3_create_function_v2"];Module["_sqlite3_create_window_function"]=_sqlite3_create_window_function=wasmExports["sqlite3_create_window_function"];Module["_sqlite3_create_function16"]=_sqlite3_create_function16=wasmExports["sqlite3_create_function16"];Module["_sqlite3_overload_function"]=_sqlite3_overload_function=wasmExports["sqlite3_overload_function"];Module["_sqlite3_trace_v2"]=_sqlite3_trace_v2=wasmExports["sqlite3_trace_v2"];Module["_sqlite3_commit_hook"]=_sqlite3_commit_hook=wasmExports["sqlite3_commit_hook"];Module["_sqlite3_update_hook"]=_sqlite3_update_hook=wasmExports["sqlite3_update_hook"];Module["_sqlite3_rollback_hook"]=_sqlite3_rollback_hook=wasmExports["sqlite3_rollback_hook"];Module["_sqlite3_autovacuum_pages"]=_sqlite3_autovacuum_pages=wasmExports["sqlite3_autovacuum_pages"];Module["_sqlite3_wal_autocheckpoint"]=_sqlite3_wal_autocheckpoint=wasmExports["sqlite3_wal_autocheckpoint"];Module["_sqlite3_wal_hook"]=_sqlite3_wal_hook=wasmExports["sqlite3_wal_hook"];Module["_sqlite3_wal_checkpoint_v2"]=_sqlite3_wal_checkpoint_v2=wasmExports["sqlite3_wal_checkpoint_v2"];Module["_sqlite3_wal_checkpoint"]=_sqlite3_wal_checkpoint=wasmExports["sqlite3_wal_checkpoint"];Module["_sqlite3_error_offset"]=_sqlite3_error_offset=wasmExports["sqlite3_error_offset"];Module["_sqlite3_errmsg16"]=_sqlite3_errmsg16=wasmExports["sqlite3_errmsg16"];Module["_sqlite3_errcode"]=_sqlite3_errcode=wasmExports["sqlite3_errcode"];Module["_sqlite3_extended_errcode"]=_sqlite3_extended_errcode=wasmExports["sqlite3_extended_errcode"];Module["_sqlite3_system_errno"]=_sqlite3_system_errno=wasmExports["sqlite3_system_errno"];Module["_sqlite3_errstr"]=_sqlite3_errstr=wasmExports["sqlite3_errstr"];Module["_sqlite3_limit"]=_sqlite3_limit=wasmExports["sqlite3_limit"];Module["_sqlite3_open"]=_sqlite3_open=wasmExports["sqlite3_open"];Module["_sqlite3_open_v2"]=_sqlite3_open_v2=wasmExports["sqlite3_open_v2"];Module["_sqlite3_open16"]=_sqlite3_open16=wasmExports["sqlite3_open16"];Module["_sqlite3_create_collation"]=_sqlite3_create_collation=wasmExports["sqlite3_create_collation"];Module["_sqlite3_create_collation_v2"]=_sqlite3_create_collation_v2=wasmExports["sqlite3_create_collation_v2"];Module["_sqlite3_create_collation16"]=_sqlite3_create_collation16=wasmExports["sqlite3_create_collation16"];Module["_sqlite3_collation_needed"]=_sqlite3_collation_needed=wasmExports["sqlite3_collation_needed"];Module["_sqlite3_collation_needed16"]=_sqlite3_collation_needed16=wasmExports["sqlite3_collation_needed16"];Module["_sqlite3_get_clientdata"]=_sqlite3_get_clientdata=wasmExports["sqlite3_get_clientdata"];Module["_sqlite3_set_clientdata"]=_sqlite3_set_clientdata=wasmExports["sqlite3_set_clientdata"];Module["_sqlite3_get_autocommit"]=_sqlite3_get_autocommit=wasmExports["sqlite3_get_autocommit"];Module["_sqlite3_table_column_metadata"]=_sqlite3_table_column_metadata=wasmExports["sqlite3_table_column_metadata"];Module["_sqlite3_sleep"]=_sqlite3_sleep=wasmExports["sqlite3_sleep"];Module["_sqlite3_extended_result_codes"]=_sqlite3_extended_result_codes=wasmExports["sqlite3_extended_result_codes"];Module["_sqlite3_file_control"]=_sqlite3_file_control=wasmExports["sqlite3_file_control"];Module["_sqlite3_test_control"]=_sqlite3_test_control=wasmExports["sqlite3_test_control"];Module["_sqlite3_create_filename"]=_sqlite3_create_filename=wasmExports["sqlite3_create_filename"];Module["_sqlite3_free_filename"]=_sqlite3_free_filename=wasmExports["sqlite3_free_filename"];Module["_sqlite3_uri_parameter"]=_sqlite3_uri_parameter=wasmExports["sqlite3_uri_parameter"];Module["_sqlite3_uri_key"]=_sqlite3_uri_key=wasmExports["sqlite3_uri_key"];Module["_sqlite3_uri_boolean"]=_sqlite3_uri_boolean=wasmExports["sqlite3_uri_boolean"];Module["_sqlite3_uri_int64"]=_sqlite3_uri_int64=wasmExports["sqlite3_uri_int64"];Module["_sqlite3_filename_database"]=_sqlite3_filename_database=wasmExports["sqlite3_filename_database"];Module["_sqlite3_filename_journal"]=_sqlite3_filename_journal=wasmExports["sqlite3_filename_journal"];Module["_sqlite3_filename_wal"]=_sqlite3_filename_wal=wasmExports["sqlite3_filename_wal"];Module["_sqlite3_db_name"]=_sqlite3_db_name=wasmExports["sqlite3_db_name"];Module["_sqlite3_db_filename"]=_sqlite3_db_filename=wasmExports["sqlite3_db_filename"];Module["_sqlite3_db_readonly"]=_sqlite3_db_readonly=wasmExports["sqlite3_db_readonly"];Module["_sqlite3_compileoption_used"]=_sqlite3_compileoption_used=wasmExports["sqlite3_compileoption_used"];Module["_sqlite3_compileoption_get"]=_sqlite3_compileoption_get=wasmExports["sqlite3_compileoption_get"];Module["_sqlite3_sourceid"]=_sqlite3_sourceid=wasmExports["sqlite3_sourceid"];Module["_sqlite3mc_config"]=_sqlite3mc_config=wasmExports["sqlite3mc_config"];Module["_sqlite3mc_cipher_count"]=_sqlite3mc_cipher_count=wasmExports["sqlite3mc_cipher_count"];Module["_sqlite3mc_cipher_index"]=_sqlite3mc_cipher_index=wasmExports["sqlite3mc_cipher_index"];Module["_sqlite3mc_cipher_name"]=_sqlite3mc_cipher_name=wasmExports["sqlite3mc_cipher_name"];Module["_sqlite3mc_config_cipher"]=_sqlite3mc_config_cipher=wasmExports["sqlite3mc_config_cipher"];Module["_sqlite3mc_vfs_create"]=_sqlite3mc_vfs_create=wasmExports["sqlite3mc_vfs_create"];Module["_memcmp"]=_memcmp=wasmExports["memcmp"];Module["_malloc"]=_malloc=wasmExports["malloc"];Module["_free"]=_free=wasmExports["free"];Module["_memset"]=_memset=wasmExports["memset"];Module["_RegisterExtensionFunctions"]=_RegisterExtensionFunctions=wasmExports["RegisterExtensionFunctions"];Module["_getSqliteFree"]=_getSqliteFree=wasmExports["getSqliteFree"];Module["_main"]=_main=wasmExports["main"];Module["_libauthorizer_set_authorizer"]=_libauthorizer_set_authorizer=wasmExports["libauthorizer_set_authorizer"];Module["_libfunction_create_function"]=_libfunction_create_function=wasmExports["libfunction_create_function"];Module["_libhook_commit_hook"]=_libhook_commit_hook=wasmExports["libhook_commit_hook"];Module["_libhook_update_hook"]=_libhook_update_hook=wasmExports["libhook_update_hook"];Module["_libprogress_progress_handler"]=_libprogress_progress_handler=wasmExports["libprogress_progress_handler"];Module["_libvfs_vfs_register"]=_libvfs_vfs_register=wasmExports["libvfs_vfs_register"];Module["_memcpy"]=_memcpy=wasmExports["memcpy"];_emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"];__emscripten_timeout=wasmExports["_emscripten_timeout"];__emscripten_tempret_get=wasmExports["_emscripten_tempret_get"];__emscripten_stack_restore=wasmExports["_emscripten_stack_restore"];__emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"];_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"];dynCall_vijii=wasmExports["dynCall_vijii"];dynCall_iiiij=wasmExports["dynCall_iiiij"];dynCall_viji=wasmExports["dynCall_viji"];dynCall_viiiij=wasmExports["dynCall_viiiij"];dynCall_iij=wasmExports["dynCall_iij"];dynCall_iijii=wasmExports["dynCall_iijii"];dynCall_iiji=wasmExports["dynCall_iiji"];dynCall_iiiiiij=wasmExports["dynCall_iiiiiij"];dynCall_iiij=wasmExports["dynCall_iiij"];dynCall_jii=wasmExports["dynCall_jii"];dynCall_ji=wasmExports["dynCall_ji"];dynCall_vij=wasmExports["dynCall_vij"];dynCall_iiiiijii=wasmExports["dynCall_iiiiijii"];dynCall_j=wasmExports["dynCall_j"];dynCall_jj=wasmExports["dynCall_jj"];dynCall_jiij=wasmExports["dynCall_jiij"];dynCall_iiiiji=wasmExports["dynCall_iiiiji"];dynCall_iiiijii=wasmExports["dynCall_iiiijii"];dynCall_ij=wasmExports["dynCall_ij"];dynCall_viiji=wasmExports["dynCall_viiji"];dynCall_viijii=wasmExports["dynCall_viijii"];dynCall_iiiijji=wasmExports["dynCall_iiiijji"]}var _sqlite3_version=Module["_sqlite3_version"]=87072;var wasmImports={__assert_fail:___assert_fail,__syscall_chmod:___syscall_chmod,__syscall_faccessat:___syscall_faccessat,__syscall_fchmod:___syscall_fchmod,__syscall_fchown32:___syscall_fchown32,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_readlinkat:___syscall_readlinkat,__syscall_rmdir:___syscall_rmdir,__syscall_stat64:___syscall_stat64,__syscall_unlinkat:___syscall_unlinkat,__syscall_utimensat:___syscall_utimensat,_abort_js:__abort_js,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_localtime_js:__localtime_js,_mmap_js:__mmap_js,_munmap_js:__munmap_js,_setitimer_js:__setitimer_js,_tzset_js:__tzset_js,emscripten_date_now:_emscripten_date_now,emscripten_get_now:_emscripten_get_now,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,ipp:_ipp,ipp_async:_ipp_async,ippipppp:_ippipppp,ippipppp_async:_ippipppp_async,ippp:_ippp,ippp_async:_ippp_async,ipppi:_ipppi,ipppi_async:_ipppi_async,ipppiii:_ipppiii,ipppiii_async:_ipppiii_async,ipppiiip:_ipppiiip,ipppiiip_async:_ipppiiip_async,ipppip:_ipppip,ipppip_async:_ipppip_async,ipppj:_ipppj,ipppj_async:_ipppj_async,ipppp:_ipppp,ipppp_async:_ipppp_async,ippppi:_ippppi,ippppi_async:_ippppi_async,ippppij:_ippppij,ippppij_async:_ippppij_async,ippppip:_ippppip,ippppip_async:_ippppip_async,ipppppip:_ipppppip,ipppppip_async:_ipppppip_async,proc_exit:_proc_exit,random_get:_random_get,vppippii:_vppippii,vppippii_async:_vppippii_async,vppp:_vppp,vppp_async:_vppp_async,vpppip:_vpppip,vpppip_async:_vpppip_async};var wasmExports=await createWasm();async function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);ret=await ret;exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}async function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve?.(Module);Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)await callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}preInit();run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc,xStep,xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{readyPromiseResolve=resolve;readyPromiseReject=reject})} return moduleRtn; diff --git a/dist/mc-wa-sqlite-jspi.wasm b/dist/mc-wa-sqlite-jspi.wasm index 9ccc235f5f29bfcc4ee1f4c15d320937ed757139..4cf9a8d4b9fd9d5f395687d2be6f62fb250f9e2f 100755 GIT binary patch delta 487 zcmaLS%}N4M6bJBo=gw898Ph(ntf+HsrgZEJA{~+eXP`w=3NG^nLRwhsP$6rewK3qL zMHbc0P0X%k^ausLfYd7lT_P>2JI}7Ie9SZj%Q6gu>g^a*5U}c% zHt7o12T7uZ54Q$+dq?4*g_-zksMpQWO}zS@s*s;tBqKjKOF~LOhLDA;ETs6;LA{7c zm&VnW-Qd5;uz1UYO3>eTOD4_E|I>tjG3U3rH>v(d8>eqlF2Du3kk>b*Z5_XO>-!QB zW&;}ng6T7eA19_@%5Jvb-$*kNx0@gBu2Od@Rf!woWKQua)o|x79L2b9J@+JjYaxe> Q4RaAL%8htrZ1k%31>#?8RsaA1 delta 494 zcmaKnJxjw-6o&6ja@)qFpNLu&JhvuQ;|C(zhL%8c!9md~f{VXEii0|f7Fvz&O2ENE zk%}%ZlFd>43xeRT{scu&Be>~-XL-5zIp;m|<}bbZ+eMq+G^(~&wJ9PYa!|FEyH9%L zD+P8!NBq+Qjd7zer0h9E0(0$pJEn??4}Wx{Ban;IB`?r=k=ng$6lg9V#O5;cRR z5}Tm;wn=g6)@<9iwjGbUlq+p17>6y)e}qA+%u00XXA??w`BzIc5_*erOpj;~b7_so z^e}C=OF3+;(`<@8JWYe47LV%D@V&q6u;So9MevA$u*|i?tUtE52}&4T#K01o{qka=oH{{Prx@b6HV;Kfcg+q1RijsYnN+A$qV{i=SR4 d(v { async function(moduleArg = {}) { var moduleRtn; -var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&process.versions?.node&&process.type!="renderer";var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{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=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["ra"]();FS.ignorePermissions=false}function preMain(){}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("mc-wa-sqlite.wasm")}return new URL("mc-wa-sqlite.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{a:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["qa"];updateMemoryViews();wasmTable=wasmExports["wf"];removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})})}wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}catch(e){readyPromiseReject(e);return Promise.reject(e)}}var tempDouble;var tempI64;class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=new TextDecoder;var UTF8ToString=(ptr,maxBytesToRead)=>{if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))};var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);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.slice(-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.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>view=>crypto.getRandomValues(view);var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heapOrArray.buffer?heapOrArray.subarray(idx,endPtr):new Uint8Array(heapOrArray.slice(idx,endPtr)))};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,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.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};var FS_createDataFile=(...args)=>FS.createDataFile(...args);var preloadPlugins=[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}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|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,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){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}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)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){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);old_node.parent=new_dir}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;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return 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 link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){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)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},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}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,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,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){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},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)}if(!length){throw new FS.ErrnoError(28)}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)},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)}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,llseek:()=>0});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){randomFill(randomBuffer);randomLeft=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",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},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){if(e.errno!=20)throw 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;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},writeStatFs(buf,stats){HEAP32[buf+4>>2]=stats.bsize;HEAP32[buf+40>>2]=stats.bsize;HEAP32[buf+8>>2]=stats.blocks;HEAP32[buf+12>>2]=stats.bfree;HEAP32[buf+16>>2]=stats.bavail;HEAP32[buf+20>>2]=stats.files;HEAP32[buf+24>>2]=stats.ffree;HEAP32[buf+28>>2]=stats.fsid;HEAP32[buf+44>>2]=stats.flags;HEAP32[buf+36>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);var now=Date.now(),atime,mtime;if(!times){atime=now;mtime=now}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){atime=now}else if(nanoseconds==1073741822){atime=null}else{atime=seconds*1e3+nanoseconds/(1e3*1e3)}times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){mtime=now}else if(nanoseconds==1073741822){mtime=null}else{mtime=seconds*1e3+nanoseconds/(1e3*1e3)}}if((mtime??atime)!==null){FS.utime(path,atime,mtime)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("");var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var timers={};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var _emscripten_get_now=()=>performance.now();var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetDate.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}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,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops?.fsync){return stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}function _ipp_async(...args){return adapters_support(true,...args)}function _ippipppp(...args){return adapters_support(false,...args)}function _ippipppp_async(...args){return adapters_support(true,...args)}function _ippp(...args){return adapters_support(false,...args)}function _ippp_async(...args){return adapters_support(true,...args)}function _ipppi(...args){return adapters_support(false,...args)}function _ipppi_async(...args){return adapters_support(true,...args)}function _ipppiii(...args){return adapters_support(false,...args)}function _ipppiii_async(...args){return adapters_support(true,...args)}function _ipppiiip(...args){return adapters_support(false,...args)}function _ipppiiip_async(...args){return adapters_support(true,...args)}function _ipppip(...args){return adapters_support(false,...args)}function _ipppip_async(...args){return adapters_support(true,...args)}function _ipppj(...args){return adapters_support(false,...args)}function _ipppj_async(...args){return adapters_support(true,...args)}function _ipppp(...args){return adapters_support(false,...args)}function _ipppp_async(...args){return adapters_support(true,...args)}function _ippppi(...args){return adapters_support(false,...args)}function _ippppi_async(...args){return adapters_support(true,...args)}function _ippppij(...args){return adapters_support(false,...args)}function _ippppij_async(...args){return adapters_support(true,...args)}function _ippppip(...args){return adapters_support(false,...args)}function _ippppip_async(...args){return adapters_support(true,...args)}function _ipppppip(...args){return adapters_support(false,...args)}function _ipppppip_async(...args){return adapters_support(true,...args)}function _random_get(buffer,size){try{randomFill(HEAPU8.subarray(buffer,buffer+size));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _vppippii(...args){return adapters_support(false,...args)}function _vppippii_async(...args){return adapters_support(true,...args)}function _vppp(...args){return adapters_support(false,...args)}function _vppp_async(...args){return adapters_support(true,...args)}function _vpppip(...args){return adapters_support(false,...args)}function _vpppip_async(...args){return adapters_support(true,...args)}var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var paramType of sigParam){target.push(typeCodes[paramType])}if(sigRet=="v"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTable;var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>wasmTable.set(idx,func);var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=new TextDecoder("utf-16le");var UTF16ToString=(ptr,maxBytesToRead)=>{var idx=ptr>>1;var maxIdx=idx+maxBytesToRead/2;var endIdx=idx;while(!(endIdx>=maxIdx)&&HEAPU16[endIdx])++endIdx;return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx))};var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var intArrayToString=array=>{var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")};var _getTempRet0=getTempRet0;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";adapters_support();{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"]}Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;Module["_getTempRet0"]=_getTempRet0;var wasmImports={a:___assert_fail,aa:___syscall_chmod,ca:___syscall_faccessat,ba:___syscall_fchmod,$:___syscall_fchown32,b:___syscall_fcntl64,_:___syscall_fstat64,y:___syscall_ftruncate64,U:___syscall_getcwd,Y:___syscall_lstat64,Q:___syscall_mkdirat,W:___syscall_newfstatat,O:___syscall_openat,M:___syscall_readlinkat,L:___syscall_rmdir,Z:___syscall_stat64,J:___syscall_unlinkat,I:___syscall_utimensat,ea:__abort_js,E:__emscripten_runtime_keepalive_clear,w:__localtime_js,u:__mmap_js,v:__munmap_js,F:__setitimer_js,P:__tzset_js,n:_emscripten_date_now,g:_emscripten_get_now,G:_emscripten_resize_heap,R:_environ_get,S:_environ_sizes_get,o:_fd_close,H:_fd_fdstat_get,N:_fd_read,x:_fd_seek,V:_fd_sync,K:_fd_write,s:_ipp,t:_ipp_async,la:_ippipppp,pa:_ippipppp_async,j:_ippp,k:_ippp_async,c:_ipppi,d:_ipppi_async,ha:_ipppiii,ia:_ipppiii_async,ja:_ipppiiip,ka:_ipppiiip_async,h:_ipppip,i:_ipppip_async,z:_ipppj,A:_ipppj_async,e:_ipppp,f:_ipppp_async,fa:_ippppi,ga:_ippppi_async,B:_ippppij,C:_ippppij_async,p:_ippppip,q:_ippppip_async,ma:_ipppppip,na:_ipppppip_async,D:_proc_exit,T:_random_get,oa:_vppippii,r:_vppippii_async,l:_vppp,m:_vppp_async,X:_vpppip,da:_vpppip_async};var wasmExports=await createWasm();var ___wasm_call_ctors=wasmExports["ra"];var _powersync_init_static=Module["_powersync_init_static"]=wasmExports["sa"];var _sqlite3_status64=Module["_sqlite3_status64"]=wasmExports["ta"];var _sqlite3_status=Module["_sqlite3_status"]=wasmExports["ua"];var _sqlite3_db_status=Module["_sqlite3_db_status"]=wasmExports["va"];var _sqlite3_msize=Module["_sqlite3_msize"]=wasmExports["wa"];var _sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=wasmExports["xa"];var _sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=wasmExports["ya"];var _sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=wasmExports["za"];var _sqlite3_release_memory=Module["_sqlite3_release_memory"]=wasmExports["Aa"];var _sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=wasmExports["Ba"];var _sqlite3_memory_used=Module["_sqlite3_memory_used"]=wasmExports["Ca"];var _sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=wasmExports["Da"];var _sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=wasmExports["Ea"];var _sqlite3_malloc=Module["_sqlite3_malloc"]=wasmExports["Fa"];var _sqlite3_malloc64=Module["_sqlite3_malloc64"]=wasmExports["Ga"];var _sqlite3_free=Module["_sqlite3_free"]=wasmExports["Ha"];var _sqlite3_realloc=Module["_sqlite3_realloc"]=wasmExports["Ia"];var _sqlite3_realloc64=Module["_sqlite3_realloc64"]=wasmExports["Ja"];var _sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=wasmExports["Ka"];var _sqlite3_str_append=Module["_sqlite3_str_append"]=wasmExports["La"];var _sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=wasmExports["Ma"];var _sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=wasmExports["Na"];var _sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=wasmExports["Oa"];var _sqlite3_str_finish=Module["_sqlite3_str_finish"]=wasmExports["Pa"];var _sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=wasmExports["Qa"];var _sqlite3_str_length=Module["_sqlite3_str_length"]=wasmExports["Ra"];var _sqlite3_str_value=Module["_sqlite3_str_value"]=wasmExports["Sa"];var _sqlite3_str_reset=Module["_sqlite3_str_reset"]=wasmExports["Ta"];var _sqlite3_str_new=Module["_sqlite3_str_new"]=wasmExports["Ua"];var _sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=wasmExports["Va"];var _sqlite3_mprintf=Module["_sqlite3_mprintf"]=wasmExports["Wa"];var _sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=wasmExports["Xa"];var _sqlite3_snprintf=Module["_sqlite3_snprintf"]=wasmExports["Ya"];var _sqlite3_log=Module["_sqlite3_log"]=wasmExports["Za"];var _sqlite3_randomness=Module["_sqlite3_randomness"]=wasmExports["_a"];var _sqlite3_stricmp=Module["_sqlite3_stricmp"]=wasmExports["$a"];var _sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=wasmExports["ab"];var _sqlite3_os_init=Module["_sqlite3_os_init"]=wasmExports["bb"];var _sqlite3_os_end=Module["_sqlite3_os_end"]=wasmExports["cb"];var _sqlite3_serialize=Module["_sqlite3_serialize"]=wasmExports["db"];var _sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=wasmExports["eb"];var _sqlite3_step=Module["_sqlite3_step"]=wasmExports["fb"];var _sqlite3_column_int64=Module["_sqlite3_column_int64"]=wasmExports["gb"];var _sqlite3_reset=Module["_sqlite3_reset"]=wasmExports["hb"];var _sqlite3_exec=Module["_sqlite3_exec"]=wasmExports["ib"];var _sqlite3_column_int=Module["_sqlite3_column_int"]=wasmExports["jb"];var _sqlite3_finalize=Module["_sqlite3_finalize"]=wasmExports["kb"];var _sqlite3_deserialize=Module["_sqlite3_deserialize"]=wasmExports["lb"];var _sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=wasmExports["mb"];var _sqlite3_backup_init=Module["_sqlite3_backup_init"]=wasmExports["nb"];var _sqlite3_backup_step=Module["_sqlite3_backup_step"]=wasmExports["ob"];var _sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=wasmExports["pb"];var _sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=wasmExports["qb"];var _sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=wasmExports["rb"];var _sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=wasmExports["sb"];var _sqlite3_value_blob=Module["_sqlite3_value_blob"]=wasmExports["tb"];var _sqlite3_value_text=Module["_sqlite3_value_text"]=wasmExports["ub"];var _sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=wasmExports["vb"];var _sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=wasmExports["wb"];var _sqlite3_value_double=Module["_sqlite3_value_double"]=wasmExports["xb"];var _sqlite3_value_int=Module["_sqlite3_value_int"]=wasmExports["yb"];var _sqlite3_value_int64=Module["_sqlite3_value_int64"]=wasmExports["zb"];var _sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=wasmExports["Ab"];var _sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=wasmExports["Bb"];var _sqlite3_value_text16=Module["_sqlite3_value_text16"]=wasmExports["Cb"];var _sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=wasmExports["Db"];var _sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=wasmExports["Eb"];var _sqlite3_value_type=Module["_sqlite3_value_type"]=wasmExports["Fb"];var _sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=wasmExports["Gb"];var _sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=wasmExports["Hb"];var _sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=wasmExports["Ib"];var _sqlite3_value_dup=Module["_sqlite3_value_dup"]=wasmExports["Jb"];var _sqlite3_value_free=Module["_sqlite3_value_free"]=wasmExports["Kb"];var _sqlite3_result_blob=Module["_sqlite3_result_blob"]=wasmExports["Lb"];var _sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=wasmExports["Mb"];var _sqlite3_result_double=Module["_sqlite3_result_double"]=wasmExports["Nb"];var _sqlite3_result_error=Module["_sqlite3_result_error"]=wasmExports["Ob"];var _sqlite3_result_error16=Module["_sqlite3_result_error16"]=wasmExports["Pb"];var _sqlite3_result_int=Module["_sqlite3_result_int"]=wasmExports["Qb"];var _sqlite3_result_int64=Module["_sqlite3_result_int64"]=wasmExports["Rb"];var _sqlite3_result_null=Module["_sqlite3_result_null"]=wasmExports["Sb"];var _sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=wasmExports["Tb"];var _sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=wasmExports["Ub"];var _sqlite3_result_text=Module["_sqlite3_result_text"]=wasmExports["Vb"];var _sqlite3_result_text64=Module["_sqlite3_result_text64"]=wasmExports["Wb"];var _sqlite3_result_text16=Module["_sqlite3_result_text16"]=wasmExports["Xb"];var _sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=wasmExports["Yb"];var _sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=wasmExports["Zb"];var _sqlite3_result_value=Module["_sqlite3_result_value"]=wasmExports["_b"];var _sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=wasmExports["$b"];var _sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=wasmExports["ac"];var _sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=wasmExports["bc"];var _sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=wasmExports["cc"];var _sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=wasmExports["dc"];var _sqlite3_user_data=Module["_sqlite3_user_data"]=wasmExports["ec"];var _sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=wasmExports["fc"];var _sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=wasmExports["gc"];var _sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=wasmExports["hc"];var _sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=wasmExports["ic"];var _sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=wasmExports["jc"];var _sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=wasmExports["kc"];var _sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=wasmExports["lc"];var _sqlite3_column_count=Module["_sqlite3_column_count"]=wasmExports["mc"];var _sqlite3_data_count=Module["_sqlite3_data_count"]=wasmExports["nc"];var _sqlite3_column_blob=Module["_sqlite3_column_blob"]=wasmExports["oc"];var _sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=wasmExports["pc"];var _sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=wasmExports["qc"];var _sqlite3_column_double=Module["_sqlite3_column_double"]=wasmExports["rc"];var _sqlite3_column_text=Module["_sqlite3_column_text"]=wasmExports["sc"];var _sqlite3_column_value=Module["_sqlite3_column_value"]=wasmExports["tc"];var _sqlite3_column_text16=Module["_sqlite3_column_text16"]=wasmExports["uc"];var _sqlite3_column_type=Module["_sqlite3_column_type"]=wasmExports["vc"];var _sqlite3_column_name=Module["_sqlite3_column_name"]=wasmExports["wc"];var _sqlite3_column_name16=Module["_sqlite3_column_name16"]=wasmExports["xc"];var _sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=wasmExports["yc"];var _sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=wasmExports["zc"];var _sqlite3_bind_double=Module["_sqlite3_bind_double"]=wasmExports["Ac"];var _sqlite3_bind_int=Module["_sqlite3_bind_int"]=wasmExports["Bc"];var _sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=wasmExports["Cc"];var _sqlite3_bind_null=Module["_sqlite3_bind_null"]=wasmExports["Dc"];var _sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=wasmExports["Ec"];var _sqlite3_bind_text=Module["_sqlite3_bind_text"]=wasmExports["Fc"];var _sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=wasmExports["Gc"];var _sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=wasmExports["Hc"];var _sqlite3_bind_value=Module["_sqlite3_bind_value"]=wasmExports["Ic"];var _sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=wasmExports["Jc"];var _sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=wasmExports["Kc"];var _sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=wasmExports["Lc"];var _sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=wasmExports["Mc"];var _sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=wasmExports["Nc"];var _sqlite3_db_handle=Module["_sqlite3_db_handle"]=wasmExports["Oc"];var _sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=wasmExports["Pc"];var _sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=wasmExports["Qc"];var _sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=wasmExports["Rc"];var _sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=wasmExports["Sc"];var _sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=wasmExports["Tc"];var _sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=wasmExports["Uc"];var _sqlite3_sql=Module["_sqlite3_sql"]=wasmExports["Vc"];var _sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=wasmExports["Wc"];var _sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=wasmExports["Xc"];var _sqlite3_blob_open=Module["_sqlite3_blob_open"]=wasmExports["Yc"];var _sqlite3_blob_close=Module["_sqlite3_blob_close"]=wasmExports["Zc"];var _sqlite3_blob_read=Module["_sqlite3_blob_read"]=wasmExports["_c"];var _sqlite3_blob_write=Module["_sqlite3_blob_write"]=wasmExports["$c"];var _sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=wasmExports["ad"];var _sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=wasmExports["bd"];var _sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=wasmExports["cd"];var _sqlite3_strglob=Module["_sqlite3_strglob"]=wasmExports["dd"];var _sqlite3_strlike=Module["_sqlite3_strlike"]=wasmExports["ed"];var _sqlite3_errmsg=Module["_sqlite3_errmsg"]=wasmExports["fd"];var _sqlite3_load_extension=Module["_sqlite3_load_extension"]=wasmExports["gd"];var _sqlite3_enable_load_extension=Module["_sqlite3_enable_load_extension"]=wasmExports["hd"];var _sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=wasmExports["id"];var _sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=wasmExports["jd"];var _sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=wasmExports["kd"];var _sqlite3_prepare=Module["_sqlite3_prepare"]=wasmExports["ld"];var _sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=wasmExports["md"];var _sqlite3_prepare16=Module["_sqlite3_prepare16"]=wasmExports["nd"];var _sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=wasmExports["od"];var _sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=wasmExports["pd"];var _sqlite3_get_table=Module["_sqlite3_get_table"]=wasmExports["qd"];var _sqlite3_free_table=Module["_sqlite3_free_table"]=wasmExports["rd"];var _sqlite3_create_module=Module["_sqlite3_create_module"]=wasmExports["sd"];var _sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=wasmExports["td"];var _sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=wasmExports["ud"];var _sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=wasmExports["vd"];var _sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=wasmExports["wd"];var _sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=wasmExports["xd"];var _sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=wasmExports["yd"];var _sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=wasmExports["zd"];var _sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=wasmExports["Ad"];var _sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=wasmExports["Bd"];var _sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=wasmExports["Cd"];var _sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=wasmExports["Dd"];var _sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=wasmExports["Ed"];var _sqlite3_complete=Module["_sqlite3_complete"]=wasmExports["Fd"];var _sqlite3_complete16=Module["_sqlite3_complete16"]=wasmExports["Gd"];var _sqlite3_libversion=Module["_sqlite3_libversion"]=wasmExports["Hd"];var _sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=wasmExports["Id"];var _sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=wasmExports["Jd"];var _sqlite3_initialize=Module["_sqlite3_initialize"]=wasmExports["Kd"];var _sqlite3_shutdown=Module["_sqlite3_shutdown"]=wasmExports["Ld"];var _sqlite3_config=Module["_sqlite3_config"]=wasmExports["Md"];var _sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=wasmExports["Nd"];var _sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=wasmExports["Od"];var _sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=wasmExports["Pd"];var _sqlite3_db_config=Module["_sqlite3_db_config"]=wasmExports["Qd"];var _sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=wasmExports["Rd"];var _sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=wasmExports["Sd"];var _sqlite3_changes64=Module["_sqlite3_changes64"]=wasmExports["Td"];var _sqlite3_changes=Module["_sqlite3_changes"]=wasmExports["Ud"];var _sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=wasmExports["Vd"];var _sqlite3_total_changes=Module["_sqlite3_total_changes"]=wasmExports["Wd"];var _sqlite3_txn_state=Module["_sqlite3_txn_state"]=wasmExports["Xd"];var _sqlite3_close=Module["_sqlite3_close"]=wasmExports["Yd"];var _sqlite3_close_v2=Module["_sqlite3_close_v2"]=wasmExports["Zd"];var _sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=wasmExports["_d"];var _sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=wasmExports["$d"];var _sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=wasmExports["ae"];var _sqlite3_interrupt=Module["_sqlite3_interrupt"]=wasmExports["be"];var _sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=wasmExports["ce"];var _sqlite3_create_function=Module["_sqlite3_create_function"]=wasmExports["de"];var _sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=wasmExports["ee"];var _sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=wasmExports["fe"];var _sqlite3_create_function16=Module["_sqlite3_create_function16"]=wasmExports["ge"];var _sqlite3_overload_function=Module["_sqlite3_overload_function"]=wasmExports["he"];var _sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=wasmExports["ie"];var _sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=wasmExports["je"];var _sqlite3_update_hook=Module["_sqlite3_update_hook"]=wasmExports["ke"];var _sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=wasmExports["le"];var _sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=wasmExports["me"];var _sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=wasmExports["ne"];var _sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=wasmExports["oe"];var _sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=wasmExports["pe"];var _sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=wasmExports["qe"];var _sqlite3_error_offset=Module["_sqlite3_error_offset"]=wasmExports["re"];var _sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=wasmExports["se"];var _sqlite3_errcode=Module["_sqlite3_errcode"]=wasmExports["te"];var _sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=wasmExports["ue"];var _sqlite3_system_errno=Module["_sqlite3_system_errno"]=wasmExports["ve"];var _sqlite3_errstr=Module["_sqlite3_errstr"]=wasmExports["we"];var _sqlite3_limit=Module["_sqlite3_limit"]=wasmExports["xe"];var _sqlite3_open=Module["_sqlite3_open"]=wasmExports["ye"];var _sqlite3_open_v2=Module["_sqlite3_open_v2"]=wasmExports["ze"];var _sqlite3_open16=Module["_sqlite3_open16"]=wasmExports["Ae"];var _sqlite3_create_collation=Module["_sqlite3_create_collation"]=wasmExports["Be"];var _sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=wasmExports["Ce"];var _sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=wasmExports["De"];var _sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=wasmExports["Ee"];var _sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=wasmExports["Fe"];var _sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=wasmExports["Ge"];var _sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=wasmExports["He"];var _sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=wasmExports["Ie"];var _sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=wasmExports["Je"];var _sqlite3_sleep=Module["_sqlite3_sleep"]=wasmExports["Ke"];var _sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=wasmExports["Le"];var _sqlite3_file_control=Module["_sqlite3_file_control"]=wasmExports["Me"];var _sqlite3_test_control=Module["_sqlite3_test_control"]=wasmExports["Ne"];var _sqlite3_create_filename=Module["_sqlite3_create_filename"]=wasmExports["Oe"];var _sqlite3_free_filename=Module["_sqlite3_free_filename"]=wasmExports["Pe"];var _sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=wasmExports["Qe"];var _sqlite3_uri_key=Module["_sqlite3_uri_key"]=wasmExports["Re"];var _sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=wasmExports["Se"];var _sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=wasmExports["Te"];var _sqlite3_filename_database=Module["_sqlite3_filename_database"]=wasmExports["Ue"];var _sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=wasmExports["Ve"];var _sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=wasmExports["We"];var _sqlite3_db_name=Module["_sqlite3_db_name"]=wasmExports["Xe"];var _sqlite3_db_filename=Module["_sqlite3_db_filename"]=wasmExports["Ye"];var _sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=wasmExports["Ze"];var _sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=wasmExports["_e"];var _sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=wasmExports["$e"];var _sqlite3_sourceid=Module["_sqlite3_sourceid"]=wasmExports["af"];var _sqlite3mc_config=Module["_sqlite3mc_config"]=wasmExports["bf"];var _sqlite3mc_cipher_count=Module["_sqlite3mc_cipher_count"]=wasmExports["cf"];var _sqlite3mc_cipher_index=Module["_sqlite3mc_cipher_index"]=wasmExports["df"];var _sqlite3mc_cipher_name=Module["_sqlite3mc_cipher_name"]=wasmExports["ef"];var _sqlite3mc_config_cipher=Module["_sqlite3mc_config_cipher"]=wasmExports["ff"];var _sqlite3mc_vfs_create=Module["_sqlite3mc_vfs_create"]=wasmExports["gf"];var _memcmp=Module["_memcmp"]=wasmExports["hf"];var _malloc=Module["_malloc"]=wasmExports["jf"];var _free=Module["_free"]=wasmExports["kf"];var _memset=Module["_memset"]=wasmExports["lf"];var _RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=wasmExports["mf"];var _getSqliteFree=Module["_getSqliteFree"]=wasmExports["nf"];var _main=Module["_main"]=wasmExports["of"];var _libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=wasmExports["pf"];var _libfunction_create_function=Module["_libfunction_create_function"]=wasmExports["qf"];var _libhook_commit_hook=Module["_libhook_commit_hook"]=wasmExports["rf"];var _libhook_update_hook=Module["_libhook_update_hook"]=wasmExports["sf"];var _libprogress_progress_handler=Module["_libprogress_progress_handler"]=wasmExports["tf"];var _libvfs_vfs_register=Module["_libvfs_vfs_register"]=wasmExports["uf"];var _memcpy=Module["_memcpy"]=wasmExports["vf"];var _emscripten_builtin_memalign=wasmExports["xf"];var __emscripten_timeout=wasmExports["yf"];var __emscripten_tempret_get=wasmExports["zf"];var __emscripten_stack_restore=wasmExports["Af"];var __emscripten_stack_alloc=wasmExports["Bf"];var _emscripten_stack_get_current=wasmExports["Cf"];var dynCall_vijii=Module["dynCall_vijii"]=wasmExports["dynCall_vijii"];var dynCall_iiiij=Module["dynCall_iiiij"]=wasmExports["dynCall_iiiij"];var dynCall_viji=Module["dynCall_viji"]=wasmExports["dynCall_viji"];var dynCall_viiiij=Module["dynCall_viiiij"]=wasmExports["dynCall_viiiij"];var dynCall_iij=Module["dynCall_iij"]=wasmExports["dynCall_iij"];var dynCall_iijii=Module["dynCall_iijii"]=wasmExports["dynCall_iijii"];var dynCall_iiji=Module["dynCall_iiji"]=wasmExports["dynCall_iiji"];var dynCall_iiiiiij=Module["dynCall_iiiiiij"]=wasmExports["dynCall_iiiiiij"];var dynCall_iiij=Module["dynCall_iiij"]=wasmExports["dynCall_iiij"];var dynCall_jii=Module["dynCall_jii"]=wasmExports["dynCall_jii"];var dynCall_ji=Module["dynCall_ji"]=wasmExports["dynCall_ji"];var dynCall_vij=Module["dynCall_vij"]=wasmExports["dynCall_vij"];var dynCall_iiiiijii=Module["dynCall_iiiiijii"]=wasmExports["dynCall_iiiiijii"];var dynCall_j=Module["dynCall_j"]=wasmExports["dynCall_j"];var dynCall_jj=Module["dynCall_jj"]=wasmExports["dynCall_jj"];var dynCall_jiij=Module["dynCall_jiij"]=wasmExports["dynCall_jiij"];var dynCall_iiiiji=Module["dynCall_iiiiji"]=wasmExports["dynCall_iiiiji"];var dynCall_iiiijii=Module["dynCall_iiiijii"]=wasmExports["dynCall_iiiijii"];var dynCall_ij=Module["dynCall_ij"]=wasmExports["dynCall_ij"];var dynCall_viiji=Module["dynCall_viiji"]=wasmExports["dynCall_viiji"];var dynCall_viijii=Module["dynCall_viijii"]=wasmExports["dynCall_viijii"];var dynCall_iiiijji=Module["dynCall_iiiijji"]=wasmExports["dynCall_iiiijji"];var _sqlite3_version=Module["_sqlite3_version"]=87072;function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}preInit();run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc,xStep,xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{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=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var EXITSTATUS;var readyPromiseResolve,readyPromiseReject;var wasmMemory;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["ra"]();FS.ignorePermissions=false}function preMain(){}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("mc-wa-sqlite.wasm")}return new URL("mc-wa-sqlite.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{a:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["qa"];updateMemoryViews();wasmTable=wasmExports["wf"];assignWasmExports(wasmExports);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}var tempDouble;var tempI64;class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=new TextDecoder;var UTF8ToString=(ptr,maxBytesToRead)=>{if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))};var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);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.slice(-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.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>view=>crypto.getRandomValues(view);var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heapOrArray.buffer?heapOrArray.subarray(idx,endPtr):new Uint8Array(heapOrArray.slice(idx,endPtr)))};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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;i++}}heap[outIdx]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,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.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};var FS_createDataFile=(...args)=>FS.createDataFile(...args);var getUniqueRunDependency=id=>id;var preloadPlugins=[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}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|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,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){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}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)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){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);old_node.parent=new_dir}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;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return 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 link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){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)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},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}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,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,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){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},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)}if(!length){throw new FS.ErrnoError(28)}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)},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 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"){buf=UTF8ArrayToString(buf)}FS.close(stream);return buf},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){data=new Uint8Array(intArrayFromString(data,true))}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,llseek:()=>0});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){randomFill(randomBuffer);randomLeft=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",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},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){if(e.errno!=20)throw 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;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},writeStatFs(buf,stats){HEAP32[buf+4>>2]=stats.bsize;HEAP32[buf+40>>2]=stats.bsize;HEAP32[buf+8>>2]=stats.blocks;HEAP32[buf+12>>2]=stats.bfree;HEAP32[buf+16>>2]=stats.bavail;HEAP32[buf+20>>2]=stats.files;HEAP32[buf+24>>2]=stats.ffree;HEAP32[buf+28>>2]=stats.fsid;HEAP32[buf+44>>2]=stats.flags;HEAP32[buf+36>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);var now=Date.now(),atime,mtime;if(!times){atime=now;mtime=now}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){atime=now}else if(nanoseconds==1073741822){atime=null}else{atime=seconds*1e3+nanoseconds/(1e3*1e3)}times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){mtime=now}else if(nanoseconds==1073741822){mtime=null}else{mtime=seconds*1e3+nanoseconds/(1e3*1e3)}}if((mtime??atime)!==null){FS.utime(path,atime,mtime)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("");var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var timers={};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var _emscripten_get_now=()=>performance.now();var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetDate.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}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,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.language||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops?.fsync){return stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}function _ipp_async(...args){return adapters_support(true,...args)}function _ippipppp(...args){return adapters_support(false,...args)}function _ippipppp_async(...args){return adapters_support(true,...args)}function _ippp(...args){return adapters_support(false,...args)}function _ippp_async(...args){return adapters_support(true,...args)}function _ipppi(...args){return adapters_support(false,...args)}function _ipppi_async(...args){return adapters_support(true,...args)}function _ipppiii(...args){return adapters_support(false,...args)}function _ipppiii_async(...args){return adapters_support(true,...args)}function _ipppiiip(...args){return adapters_support(false,...args)}function _ipppiiip_async(...args){return adapters_support(true,...args)}function _ipppip(...args){return adapters_support(false,...args)}function _ipppip_async(...args){return adapters_support(true,...args)}function _ipppj(...args){return adapters_support(false,...args)}function _ipppj_async(...args){return adapters_support(true,...args)}function _ipppp(...args){return adapters_support(false,...args)}function _ipppp_async(...args){return adapters_support(true,...args)}function _ippppi(...args){return adapters_support(false,...args)}function _ippppi_async(...args){return adapters_support(true,...args)}function _ippppij(...args){return adapters_support(false,...args)}function _ippppij_async(...args){return adapters_support(true,...args)}function _ippppip(...args){return adapters_support(false,...args)}function _ippppip_async(...args){return adapters_support(true,...args)}function _ipppppip(...args){return adapters_support(false,...args)}function _ipppppip_async(...args){return adapters_support(true,...args)}function _random_get(buffer,size){try{randomFill(HEAPU8.subarray(buffer,buffer+size));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _vppippii(...args){return adapters_support(false,...args)}function _vppippii_async(...args){return adapters_support(true,...args)}function _vppp(...args){return adapters_support(false,...args)}function _vppp_async(...args){return adapters_support(true,...args)}function _vpppip(...args){return adapters_support(false,...args)}function _vpppip_async(...args){return adapters_support(true,...args)}var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var paramType of sigParam){target.push(typeCodes[paramType])}if(sigRet=="v"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTable;var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>wasmTable.set(idx,func);var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i65535){i++}HEAP32[outPtr>>2]=codePoint;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=new TextDecoder("utf-16le");var UTF16ToString=(ptr,maxBytesToRead)=>{var idx=ptr>>1;var maxIdx=idx+maxBytesToRead/2;var endIdx=idx;while(!(endIdx>=maxIdx)&&HEAPU16[endIdx])++endIdx;return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx))};var UTF32ToString=(ptr,maxBytesToRead)=>{var str="";for(var i=0;!(i>=maxBytesToRead/4);i++){var utf32=HEAP32[ptr+i*4>>2];if(!utf32)break;str+=String.fromCodePoint(utf32)}return str};var intArrayToString=array=>{var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")};var _getTempRet0=getTempRet0;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";adapters_support();{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"]}Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;Module["_getTempRet0"]=_getTempRet0;var _powersync_init_static,_sqlite3_status64,_sqlite3_status,_sqlite3_db_status,_sqlite3_msize,_sqlite3_vfs_find,_sqlite3_vfs_register,_sqlite3_vfs_unregister,_sqlite3_release_memory,_sqlite3_soft_heap_limit64,_sqlite3_memory_used,_sqlite3_hard_heap_limit64,_sqlite3_memory_highwater,_sqlite3_malloc,_sqlite3_malloc64,_sqlite3_free,_sqlite3_realloc,_sqlite3_realloc64,_sqlite3_str_vappendf,_sqlite3_str_append,_sqlite3_str_appendchar,_sqlite3_str_appendall,_sqlite3_str_appendf,_sqlite3_str_finish,_sqlite3_str_errcode,_sqlite3_str_length,_sqlite3_str_value,_sqlite3_str_reset,_sqlite3_str_new,_sqlite3_vmprintf,_sqlite3_mprintf,_sqlite3_vsnprintf,_sqlite3_snprintf,_sqlite3_log,_sqlite3_randomness,_sqlite3_stricmp,_sqlite3_strnicmp,_sqlite3_os_init,_sqlite3_os_end,_sqlite3_serialize,_sqlite3_prepare_v2,_sqlite3_step,_sqlite3_column_int64,_sqlite3_reset,_sqlite3_exec,_sqlite3_column_int,_sqlite3_finalize,_sqlite3_deserialize,_sqlite3_database_file_object,_sqlite3_backup_init,_sqlite3_backup_step,_sqlite3_backup_finish,_sqlite3_backup_remaining,_sqlite3_backup_pagecount,_sqlite3_clear_bindings,_sqlite3_value_blob,_sqlite3_value_text,_sqlite3_value_bytes,_sqlite3_value_bytes16,_sqlite3_value_double,_sqlite3_value_int,_sqlite3_value_int64,_sqlite3_value_subtype,_sqlite3_value_pointer,_sqlite3_value_text16,_sqlite3_value_text16be,_sqlite3_value_text16le,_sqlite3_value_type,_sqlite3_value_encoding,_sqlite3_value_nochange,_sqlite3_value_frombind,_sqlite3_value_dup,_sqlite3_value_free,_sqlite3_result_blob,_sqlite3_result_blob64,_sqlite3_result_double,_sqlite3_result_error,_sqlite3_result_error16,_sqlite3_result_int,_sqlite3_result_int64,_sqlite3_result_null,_sqlite3_result_pointer,_sqlite3_result_subtype,_sqlite3_result_text,_sqlite3_result_text64,_sqlite3_result_text16,_sqlite3_result_text16be,_sqlite3_result_text16le,_sqlite3_result_value,_sqlite3_result_error_toobig,_sqlite3_result_zeroblob,_sqlite3_result_zeroblob64,_sqlite3_result_error_code,_sqlite3_result_error_nomem,_sqlite3_user_data,_sqlite3_context_db_handle,_sqlite3_vtab_nochange,_sqlite3_vtab_in_first,_sqlite3_vtab_in_next,_sqlite3_aggregate_context,_sqlite3_get_auxdata,_sqlite3_set_auxdata,_sqlite3_column_count,_sqlite3_data_count,_sqlite3_column_blob,_sqlite3_column_bytes,_sqlite3_column_bytes16,_sqlite3_column_double,_sqlite3_column_text,_sqlite3_column_value,_sqlite3_column_text16,_sqlite3_column_type,_sqlite3_column_name,_sqlite3_column_name16,_sqlite3_bind_blob,_sqlite3_bind_blob64,_sqlite3_bind_double,_sqlite3_bind_int,_sqlite3_bind_int64,_sqlite3_bind_null,_sqlite3_bind_pointer,_sqlite3_bind_text,_sqlite3_bind_text64,_sqlite3_bind_text16,_sqlite3_bind_value,_sqlite3_bind_zeroblob,_sqlite3_bind_zeroblob64,_sqlite3_bind_parameter_count,_sqlite3_bind_parameter_name,_sqlite3_bind_parameter_index,_sqlite3_db_handle,_sqlite3_stmt_readonly,_sqlite3_stmt_isexplain,_sqlite3_stmt_explain,_sqlite3_stmt_busy,_sqlite3_next_stmt,_sqlite3_stmt_status,_sqlite3_sql,_sqlite3_expanded_sql,_sqlite3_value_numeric_type,_sqlite3_blob_open,_sqlite3_blob_close,_sqlite3_blob_read,_sqlite3_blob_write,_sqlite3_blob_bytes,_sqlite3_blob_reopen,_sqlite3_set_authorizer,_sqlite3_strglob,_sqlite3_strlike,_sqlite3_errmsg,_sqlite3_load_extension,_sqlite3_enable_load_extension,_sqlite3_auto_extension,_sqlite3_cancel_auto_extension,_sqlite3_reset_auto_extension,_sqlite3_prepare,_sqlite3_prepare_v3,_sqlite3_prepare16,_sqlite3_prepare16_v2,_sqlite3_prepare16_v3,_sqlite3_get_table,_sqlite3_free_table,_sqlite3_create_module,_sqlite3_create_module_v2,_sqlite3_drop_modules,_sqlite3_declare_vtab,_sqlite3_vtab_on_conflict,_sqlite3_vtab_config,_sqlite3_vtab_collation,_sqlite3_vtab_in,_sqlite3_vtab_rhs_value,_sqlite3_vtab_distinct,_sqlite3_keyword_name,_sqlite3_keyword_count,_sqlite3_keyword_check,_sqlite3_complete,_sqlite3_complete16,_sqlite3_libversion,_sqlite3_libversion_number,_sqlite3_threadsafe,_sqlite3_initialize,_sqlite3_shutdown,_sqlite3_config,_sqlite3_db_mutex,_sqlite3_db_release_memory,_sqlite3_db_cacheflush,_sqlite3_db_config,_sqlite3_last_insert_rowid,_sqlite3_set_last_insert_rowid,_sqlite3_changes64,_sqlite3_changes,_sqlite3_total_changes64,_sqlite3_total_changes,_sqlite3_txn_state,_sqlite3_close,_sqlite3_close_v2,_sqlite3_busy_handler,_sqlite3_progress_handler,_sqlite3_busy_timeout,_sqlite3_interrupt,_sqlite3_is_interrupted,_sqlite3_create_function,_sqlite3_create_function_v2,_sqlite3_create_window_function,_sqlite3_create_function16,_sqlite3_overload_function,_sqlite3_trace_v2,_sqlite3_commit_hook,_sqlite3_update_hook,_sqlite3_rollback_hook,_sqlite3_autovacuum_pages,_sqlite3_wal_autocheckpoint,_sqlite3_wal_hook,_sqlite3_wal_checkpoint_v2,_sqlite3_wal_checkpoint,_sqlite3_error_offset,_sqlite3_errmsg16,_sqlite3_errcode,_sqlite3_extended_errcode,_sqlite3_system_errno,_sqlite3_errstr,_sqlite3_limit,_sqlite3_open,_sqlite3_open_v2,_sqlite3_open16,_sqlite3_create_collation,_sqlite3_create_collation_v2,_sqlite3_create_collation16,_sqlite3_collation_needed,_sqlite3_collation_needed16,_sqlite3_get_clientdata,_sqlite3_set_clientdata,_sqlite3_get_autocommit,_sqlite3_table_column_metadata,_sqlite3_sleep,_sqlite3_extended_result_codes,_sqlite3_file_control,_sqlite3_test_control,_sqlite3_create_filename,_sqlite3_free_filename,_sqlite3_uri_parameter,_sqlite3_uri_key,_sqlite3_uri_boolean,_sqlite3_uri_int64,_sqlite3_filename_database,_sqlite3_filename_journal,_sqlite3_filename_wal,_sqlite3_db_name,_sqlite3_db_filename,_sqlite3_db_readonly,_sqlite3_compileoption_used,_sqlite3_compileoption_get,_sqlite3_sourceid,_sqlite3mc_config,_sqlite3mc_cipher_count,_sqlite3mc_cipher_index,_sqlite3mc_cipher_name,_sqlite3mc_config_cipher,_sqlite3mc_vfs_create,_memcmp,_malloc,_free,_memset,_RegisterExtensionFunctions,_getSqliteFree,_main,_libauthorizer_set_authorizer,_libfunction_create_function,_libhook_commit_hook,_libhook_update_hook,_libprogress_progress_handler,_libvfs_vfs_register,_memcpy,_emscripten_builtin_memalign,__emscripten_timeout,__emscripten_tempret_get,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,dynCall_vijii,dynCall_iiiij,dynCall_viji,dynCall_viiiij,dynCall_iij,dynCall_iijii,dynCall_iiji,dynCall_iiiiiij,dynCall_iiij,dynCall_jii,dynCall_ji,dynCall_vij,dynCall_iiiiijii,dynCall_j,dynCall_jj,dynCall_jiij,dynCall_iiiiji,dynCall_iiiijii,dynCall_ij,dynCall_viiji,dynCall_viijii,dynCall_iiiijji;function assignWasmExports(wasmExports){Module["_powersync_init_static"]=_powersync_init_static=wasmExports["sa"];Module["_sqlite3_status64"]=_sqlite3_status64=wasmExports["ta"];Module["_sqlite3_status"]=_sqlite3_status=wasmExports["ua"];Module["_sqlite3_db_status"]=_sqlite3_db_status=wasmExports["va"];Module["_sqlite3_msize"]=_sqlite3_msize=wasmExports["wa"];Module["_sqlite3_vfs_find"]=_sqlite3_vfs_find=wasmExports["xa"];Module["_sqlite3_vfs_register"]=_sqlite3_vfs_register=wasmExports["ya"];Module["_sqlite3_vfs_unregister"]=_sqlite3_vfs_unregister=wasmExports["za"];Module["_sqlite3_release_memory"]=_sqlite3_release_memory=wasmExports["Aa"];Module["_sqlite3_soft_heap_limit64"]=_sqlite3_soft_heap_limit64=wasmExports["Ba"];Module["_sqlite3_memory_used"]=_sqlite3_memory_used=wasmExports["Ca"];Module["_sqlite3_hard_heap_limit64"]=_sqlite3_hard_heap_limit64=wasmExports["Da"];Module["_sqlite3_memory_highwater"]=_sqlite3_memory_highwater=wasmExports["Ea"];Module["_sqlite3_malloc"]=_sqlite3_malloc=wasmExports["Fa"];Module["_sqlite3_malloc64"]=_sqlite3_malloc64=wasmExports["Ga"];Module["_sqlite3_free"]=_sqlite3_free=wasmExports["Ha"];Module["_sqlite3_realloc"]=_sqlite3_realloc=wasmExports["Ia"];Module["_sqlite3_realloc64"]=_sqlite3_realloc64=wasmExports["Ja"];Module["_sqlite3_str_vappendf"]=_sqlite3_str_vappendf=wasmExports["Ka"];Module["_sqlite3_str_append"]=_sqlite3_str_append=wasmExports["La"];Module["_sqlite3_str_appendchar"]=_sqlite3_str_appendchar=wasmExports["Ma"];Module["_sqlite3_str_appendall"]=_sqlite3_str_appendall=wasmExports["Na"];Module["_sqlite3_str_appendf"]=_sqlite3_str_appendf=wasmExports["Oa"];Module["_sqlite3_str_finish"]=_sqlite3_str_finish=wasmExports["Pa"];Module["_sqlite3_str_errcode"]=_sqlite3_str_errcode=wasmExports["Qa"];Module["_sqlite3_str_length"]=_sqlite3_str_length=wasmExports["Ra"];Module["_sqlite3_str_value"]=_sqlite3_str_value=wasmExports["Sa"];Module["_sqlite3_str_reset"]=_sqlite3_str_reset=wasmExports["Ta"];Module["_sqlite3_str_new"]=_sqlite3_str_new=wasmExports["Ua"];Module["_sqlite3_vmprintf"]=_sqlite3_vmprintf=wasmExports["Va"];Module["_sqlite3_mprintf"]=_sqlite3_mprintf=wasmExports["Wa"];Module["_sqlite3_vsnprintf"]=_sqlite3_vsnprintf=wasmExports["Xa"];Module["_sqlite3_snprintf"]=_sqlite3_snprintf=wasmExports["Ya"];Module["_sqlite3_log"]=_sqlite3_log=wasmExports["Za"];Module["_sqlite3_randomness"]=_sqlite3_randomness=wasmExports["_a"];Module["_sqlite3_stricmp"]=_sqlite3_stricmp=wasmExports["$a"];Module["_sqlite3_strnicmp"]=_sqlite3_strnicmp=wasmExports["ab"];Module["_sqlite3_os_init"]=_sqlite3_os_init=wasmExports["bb"];Module["_sqlite3_os_end"]=_sqlite3_os_end=wasmExports["cb"];Module["_sqlite3_serialize"]=_sqlite3_serialize=wasmExports["db"];Module["_sqlite3_prepare_v2"]=_sqlite3_prepare_v2=wasmExports["eb"];Module["_sqlite3_step"]=_sqlite3_step=wasmExports["fb"];Module["_sqlite3_column_int64"]=_sqlite3_column_int64=wasmExports["gb"];Module["_sqlite3_reset"]=_sqlite3_reset=wasmExports["hb"];Module["_sqlite3_exec"]=_sqlite3_exec=wasmExports["ib"];Module["_sqlite3_column_int"]=_sqlite3_column_int=wasmExports["jb"];Module["_sqlite3_finalize"]=_sqlite3_finalize=wasmExports["kb"];Module["_sqlite3_deserialize"]=_sqlite3_deserialize=wasmExports["lb"];Module["_sqlite3_database_file_object"]=_sqlite3_database_file_object=wasmExports["mb"];Module["_sqlite3_backup_init"]=_sqlite3_backup_init=wasmExports["nb"];Module["_sqlite3_backup_step"]=_sqlite3_backup_step=wasmExports["ob"];Module["_sqlite3_backup_finish"]=_sqlite3_backup_finish=wasmExports["pb"];Module["_sqlite3_backup_remaining"]=_sqlite3_backup_remaining=wasmExports["qb"];Module["_sqlite3_backup_pagecount"]=_sqlite3_backup_pagecount=wasmExports["rb"];Module["_sqlite3_clear_bindings"]=_sqlite3_clear_bindings=wasmExports["sb"];Module["_sqlite3_value_blob"]=_sqlite3_value_blob=wasmExports["tb"];Module["_sqlite3_value_text"]=_sqlite3_value_text=wasmExports["ub"];Module["_sqlite3_value_bytes"]=_sqlite3_value_bytes=wasmExports["vb"];Module["_sqlite3_value_bytes16"]=_sqlite3_value_bytes16=wasmExports["wb"];Module["_sqlite3_value_double"]=_sqlite3_value_double=wasmExports["xb"];Module["_sqlite3_value_int"]=_sqlite3_value_int=wasmExports["yb"];Module["_sqlite3_value_int64"]=_sqlite3_value_int64=wasmExports["zb"];Module["_sqlite3_value_subtype"]=_sqlite3_value_subtype=wasmExports["Ab"];Module["_sqlite3_value_pointer"]=_sqlite3_value_pointer=wasmExports["Bb"];Module["_sqlite3_value_text16"]=_sqlite3_value_text16=wasmExports["Cb"];Module["_sqlite3_value_text16be"]=_sqlite3_value_text16be=wasmExports["Db"];Module["_sqlite3_value_text16le"]=_sqlite3_value_text16le=wasmExports["Eb"];Module["_sqlite3_value_type"]=_sqlite3_value_type=wasmExports["Fb"];Module["_sqlite3_value_encoding"]=_sqlite3_value_encoding=wasmExports["Gb"];Module["_sqlite3_value_nochange"]=_sqlite3_value_nochange=wasmExports["Hb"];Module["_sqlite3_value_frombind"]=_sqlite3_value_frombind=wasmExports["Ib"];Module["_sqlite3_value_dup"]=_sqlite3_value_dup=wasmExports["Jb"];Module["_sqlite3_value_free"]=_sqlite3_value_free=wasmExports["Kb"];Module["_sqlite3_result_blob"]=_sqlite3_result_blob=wasmExports["Lb"];Module["_sqlite3_result_blob64"]=_sqlite3_result_blob64=wasmExports["Mb"];Module["_sqlite3_result_double"]=_sqlite3_result_double=wasmExports["Nb"];Module["_sqlite3_result_error"]=_sqlite3_result_error=wasmExports["Ob"];Module["_sqlite3_result_error16"]=_sqlite3_result_error16=wasmExports["Pb"];Module["_sqlite3_result_int"]=_sqlite3_result_int=wasmExports["Qb"];Module["_sqlite3_result_int64"]=_sqlite3_result_int64=wasmExports["Rb"];Module["_sqlite3_result_null"]=_sqlite3_result_null=wasmExports["Sb"];Module["_sqlite3_result_pointer"]=_sqlite3_result_pointer=wasmExports["Tb"];Module["_sqlite3_result_subtype"]=_sqlite3_result_subtype=wasmExports["Ub"];Module["_sqlite3_result_text"]=_sqlite3_result_text=wasmExports["Vb"];Module["_sqlite3_result_text64"]=_sqlite3_result_text64=wasmExports["Wb"];Module["_sqlite3_result_text16"]=_sqlite3_result_text16=wasmExports["Xb"];Module["_sqlite3_result_text16be"]=_sqlite3_result_text16be=wasmExports["Yb"];Module["_sqlite3_result_text16le"]=_sqlite3_result_text16le=wasmExports["Zb"];Module["_sqlite3_result_value"]=_sqlite3_result_value=wasmExports["_b"];Module["_sqlite3_result_error_toobig"]=_sqlite3_result_error_toobig=wasmExports["$b"];Module["_sqlite3_result_zeroblob"]=_sqlite3_result_zeroblob=wasmExports["ac"];Module["_sqlite3_result_zeroblob64"]=_sqlite3_result_zeroblob64=wasmExports["bc"];Module["_sqlite3_result_error_code"]=_sqlite3_result_error_code=wasmExports["cc"];Module["_sqlite3_result_error_nomem"]=_sqlite3_result_error_nomem=wasmExports["dc"];Module["_sqlite3_user_data"]=_sqlite3_user_data=wasmExports["ec"];Module["_sqlite3_context_db_handle"]=_sqlite3_context_db_handle=wasmExports["fc"];Module["_sqlite3_vtab_nochange"]=_sqlite3_vtab_nochange=wasmExports["gc"];Module["_sqlite3_vtab_in_first"]=_sqlite3_vtab_in_first=wasmExports["hc"];Module["_sqlite3_vtab_in_next"]=_sqlite3_vtab_in_next=wasmExports["ic"];Module["_sqlite3_aggregate_context"]=_sqlite3_aggregate_context=wasmExports["jc"];Module["_sqlite3_get_auxdata"]=_sqlite3_get_auxdata=wasmExports["kc"];Module["_sqlite3_set_auxdata"]=_sqlite3_set_auxdata=wasmExports["lc"];Module["_sqlite3_column_count"]=_sqlite3_column_count=wasmExports["mc"];Module["_sqlite3_data_count"]=_sqlite3_data_count=wasmExports["nc"];Module["_sqlite3_column_blob"]=_sqlite3_column_blob=wasmExports["oc"];Module["_sqlite3_column_bytes"]=_sqlite3_column_bytes=wasmExports["pc"];Module["_sqlite3_column_bytes16"]=_sqlite3_column_bytes16=wasmExports["qc"];Module["_sqlite3_column_double"]=_sqlite3_column_double=wasmExports["rc"];Module["_sqlite3_column_text"]=_sqlite3_column_text=wasmExports["sc"];Module["_sqlite3_column_value"]=_sqlite3_column_value=wasmExports["tc"];Module["_sqlite3_column_text16"]=_sqlite3_column_text16=wasmExports["uc"];Module["_sqlite3_column_type"]=_sqlite3_column_type=wasmExports["vc"];Module["_sqlite3_column_name"]=_sqlite3_column_name=wasmExports["wc"];Module["_sqlite3_column_name16"]=_sqlite3_column_name16=wasmExports["xc"];Module["_sqlite3_bind_blob"]=_sqlite3_bind_blob=wasmExports["yc"];Module["_sqlite3_bind_blob64"]=_sqlite3_bind_blob64=wasmExports["zc"];Module["_sqlite3_bind_double"]=_sqlite3_bind_double=wasmExports["Ac"];Module["_sqlite3_bind_int"]=_sqlite3_bind_int=wasmExports["Bc"];Module["_sqlite3_bind_int64"]=_sqlite3_bind_int64=wasmExports["Cc"];Module["_sqlite3_bind_null"]=_sqlite3_bind_null=wasmExports["Dc"];Module["_sqlite3_bind_pointer"]=_sqlite3_bind_pointer=wasmExports["Ec"];Module["_sqlite3_bind_text"]=_sqlite3_bind_text=wasmExports["Fc"];Module["_sqlite3_bind_text64"]=_sqlite3_bind_text64=wasmExports["Gc"];Module["_sqlite3_bind_text16"]=_sqlite3_bind_text16=wasmExports["Hc"];Module["_sqlite3_bind_value"]=_sqlite3_bind_value=wasmExports["Ic"];Module["_sqlite3_bind_zeroblob"]=_sqlite3_bind_zeroblob=wasmExports["Jc"];Module["_sqlite3_bind_zeroblob64"]=_sqlite3_bind_zeroblob64=wasmExports["Kc"];Module["_sqlite3_bind_parameter_count"]=_sqlite3_bind_parameter_count=wasmExports["Lc"];Module["_sqlite3_bind_parameter_name"]=_sqlite3_bind_parameter_name=wasmExports["Mc"];Module["_sqlite3_bind_parameter_index"]=_sqlite3_bind_parameter_index=wasmExports["Nc"];Module["_sqlite3_db_handle"]=_sqlite3_db_handle=wasmExports["Oc"];Module["_sqlite3_stmt_readonly"]=_sqlite3_stmt_readonly=wasmExports["Pc"];Module["_sqlite3_stmt_isexplain"]=_sqlite3_stmt_isexplain=wasmExports["Qc"];Module["_sqlite3_stmt_explain"]=_sqlite3_stmt_explain=wasmExports["Rc"];Module["_sqlite3_stmt_busy"]=_sqlite3_stmt_busy=wasmExports["Sc"];Module["_sqlite3_next_stmt"]=_sqlite3_next_stmt=wasmExports["Tc"];Module["_sqlite3_stmt_status"]=_sqlite3_stmt_status=wasmExports["Uc"];Module["_sqlite3_sql"]=_sqlite3_sql=wasmExports["Vc"];Module["_sqlite3_expanded_sql"]=_sqlite3_expanded_sql=wasmExports["Wc"];Module["_sqlite3_value_numeric_type"]=_sqlite3_value_numeric_type=wasmExports["Xc"];Module["_sqlite3_blob_open"]=_sqlite3_blob_open=wasmExports["Yc"];Module["_sqlite3_blob_close"]=_sqlite3_blob_close=wasmExports["Zc"];Module["_sqlite3_blob_read"]=_sqlite3_blob_read=wasmExports["_c"];Module["_sqlite3_blob_write"]=_sqlite3_blob_write=wasmExports["$c"];Module["_sqlite3_blob_bytes"]=_sqlite3_blob_bytes=wasmExports["ad"];Module["_sqlite3_blob_reopen"]=_sqlite3_blob_reopen=wasmExports["bd"];Module["_sqlite3_set_authorizer"]=_sqlite3_set_authorizer=wasmExports["cd"];Module["_sqlite3_strglob"]=_sqlite3_strglob=wasmExports["dd"];Module["_sqlite3_strlike"]=_sqlite3_strlike=wasmExports["ed"];Module["_sqlite3_errmsg"]=_sqlite3_errmsg=wasmExports["fd"];Module["_sqlite3_load_extension"]=_sqlite3_load_extension=wasmExports["gd"];Module["_sqlite3_enable_load_extension"]=_sqlite3_enable_load_extension=wasmExports["hd"];Module["_sqlite3_auto_extension"]=_sqlite3_auto_extension=wasmExports["id"];Module["_sqlite3_cancel_auto_extension"]=_sqlite3_cancel_auto_extension=wasmExports["jd"];Module["_sqlite3_reset_auto_extension"]=_sqlite3_reset_auto_extension=wasmExports["kd"];Module["_sqlite3_prepare"]=_sqlite3_prepare=wasmExports["ld"];Module["_sqlite3_prepare_v3"]=_sqlite3_prepare_v3=wasmExports["md"];Module["_sqlite3_prepare16"]=_sqlite3_prepare16=wasmExports["nd"];Module["_sqlite3_prepare16_v2"]=_sqlite3_prepare16_v2=wasmExports["od"];Module["_sqlite3_prepare16_v3"]=_sqlite3_prepare16_v3=wasmExports["pd"];Module["_sqlite3_get_table"]=_sqlite3_get_table=wasmExports["qd"];Module["_sqlite3_free_table"]=_sqlite3_free_table=wasmExports["rd"];Module["_sqlite3_create_module"]=_sqlite3_create_module=wasmExports["sd"];Module["_sqlite3_create_module_v2"]=_sqlite3_create_module_v2=wasmExports["td"];Module["_sqlite3_drop_modules"]=_sqlite3_drop_modules=wasmExports["ud"];Module["_sqlite3_declare_vtab"]=_sqlite3_declare_vtab=wasmExports["vd"];Module["_sqlite3_vtab_on_conflict"]=_sqlite3_vtab_on_conflict=wasmExports["wd"];Module["_sqlite3_vtab_config"]=_sqlite3_vtab_config=wasmExports["xd"];Module["_sqlite3_vtab_collation"]=_sqlite3_vtab_collation=wasmExports["yd"];Module["_sqlite3_vtab_in"]=_sqlite3_vtab_in=wasmExports["zd"];Module["_sqlite3_vtab_rhs_value"]=_sqlite3_vtab_rhs_value=wasmExports["Ad"];Module["_sqlite3_vtab_distinct"]=_sqlite3_vtab_distinct=wasmExports["Bd"];Module["_sqlite3_keyword_name"]=_sqlite3_keyword_name=wasmExports["Cd"];Module["_sqlite3_keyword_count"]=_sqlite3_keyword_count=wasmExports["Dd"];Module["_sqlite3_keyword_check"]=_sqlite3_keyword_check=wasmExports["Ed"];Module["_sqlite3_complete"]=_sqlite3_complete=wasmExports["Fd"];Module["_sqlite3_complete16"]=_sqlite3_complete16=wasmExports["Gd"];Module["_sqlite3_libversion"]=_sqlite3_libversion=wasmExports["Hd"];Module["_sqlite3_libversion_number"]=_sqlite3_libversion_number=wasmExports["Id"];Module["_sqlite3_threadsafe"]=_sqlite3_threadsafe=wasmExports["Jd"];Module["_sqlite3_initialize"]=_sqlite3_initialize=wasmExports["Kd"];Module["_sqlite3_shutdown"]=_sqlite3_shutdown=wasmExports["Ld"];Module["_sqlite3_config"]=_sqlite3_config=wasmExports["Md"];Module["_sqlite3_db_mutex"]=_sqlite3_db_mutex=wasmExports["Nd"];Module["_sqlite3_db_release_memory"]=_sqlite3_db_release_memory=wasmExports["Od"];Module["_sqlite3_db_cacheflush"]=_sqlite3_db_cacheflush=wasmExports["Pd"];Module["_sqlite3_db_config"]=_sqlite3_db_config=wasmExports["Qd"];Module["_sqlite3_last_insert_rowid"]=_sqlite3_last_insert_rowid=wasmExports["Rd"];Module["_sqlite3_set_last_insert_rowid"]=_sqlite3_set_last_insert_rowid=wasmExports["Sd"];Module["_sqlite3_changes64"]=_sqlite3_changes64=wasmExports["Td"];Module["_sqlite3_changes"]=_sqlite3_changes=wasmExports["Ud"];Module["_sqlite3_total_changes64"]=_sqlite3_total_changes64=wasmExports["Vd"];Module["_sqlite3_total_changes"]=_sqlite3_total_changes=wasmExports["Wd"];Module["_sqlite3_txn_state"]=_sqlite3_txn_state=wasmExports["Xd"];Module["_sqlite3_close"]=_sqlite3_close=wasmExports["Yd"];Module["_sqlite3_close_v2"]=_sqlite3_close_v2=wasmExports["Zd"];Module["_sqlite3_busy_handler"]=_sqlite3_busy_handler=wasmExports["_d"];Module["_sqlite3_progress_handler"]=_sqlite3_progress_handler=wasmExports["$d"];Module["_sqlite3_busy_timeout"]=_sqlite3_busy_timeout=wasmExports["ae"];Module["_sqlite3_interrupt"]=_sqlite3_interrupt=wasmExports["be"];Module["_sqlite3_is_interrupted"]=_sqlite3_is_interrupted=wasmExports["ce"];Module["_sqlite3_create_function"]=_sqlite3_create_function=wasmExports["de"];Module["_sqlite3_create_function_v2"]=_sqlite3_create_function_v2=wasmExports["ee"];Module["_sqlite3_create_window_function"]=_sqlite3_create_window_function=wasmExports["fe"];Module["_sqlite3_create_function16"]=_sqlite3_create_function16=wasmExports["ge"];Module["_sqlite3_overload_function"]=_sqlite3_overload_function=wasmExports["he"];Module["_sqlite3_trace_v2"]=_sqlite3_trace_v2=wasmExports["ie"];Module["_sqlite3_commit_hook"]=_sqlite3_commit_hook=wasmExports["je"];Module["_sqlite3_update_hook"]=_sqlite3_update_hook=wasmExports["ke"];Module["_sqlite3_rollback_hook"]=_sqlite3_rollback_hook=wasmExports["le"];Module["_sqlite3_autovacuum_pages"]=_sqlite3_autovacuum_pages=wasmExports["me"];Module["_sqlite3_wal_autocheckpoint"]=_sqlite3_wal_autocheckpoint=wasmExports["ne"];Module["_sqlite3_wal_hook"]=_sqlite3_wal_hook=wasmExports["oe"];Module["_sqlite3_wal_checkpoint_v2"]=_sqlite3_wal_checkpoint_v2=wasmExports["pe"];Module["_sqlite3_wal_checkpoint"]=_sqlite3_wal_checkpoint=wasmExports["qe"];Module["_sqlite3_error_offset"]=_sqlite3_error_offset=wasmExports["re"];Module["_sqlite3_errmsg16"]=_sqlite3_errmsg16=wasmExports["se"];Module["_sqlite3_errcode"]=_sqlite3_errcode=wasmExports["te"];Module["_sqlite3_extended_errcode"]=_sqlite3_extended_errcode=wasmExports["ue"];Module["_sqlite3_system_errno"]=_sqlite3_system_errno=wasmExports["ve"];Module["_sqlite3_errstr"]=_sqlite3_errstr=wasmExports["we"];Module["_sqlite3_limit"]=_sqlite3_limit=wasmExports["xe"];Module["_sqlite3_open"]=_sqlite3_open=wasmExports["ye"];Module["_sqlite3_open_v2"]=_sqlite3_open_v2=wasmExports["ze"];Module["_sqlite3_open16"]=_sqlite3_open16=wasmExports["Ae"];Module["_sqlite3_create_collation"]=_sqlite3_create_collation=wasmExports["Be"];Module["_sqlite3_create_collation_v2"]=_sqlite3_create_collation_v2=wasmExports["Ce"];Module["_sqlite3_create_collation16"]=_sqlite3_create_collation16=wasmExports["De"];Module["_sqlite3_collation_needed"]=_sqlite3_collation_needed=wasmExports["Ee"];Module["_sqlite3_collation_needed16"]=_sqlite3_collation_needed16=wasmExports["Fe"];Module["_sqlite3_get_clientdata"]=_sqlite3_get_clientdata=wasmExports["Ge"];Module["_sqlite3_set_clientdata"]=_sqlite3_set_clientdata=wasmExports["He"];Module["_sqlite3_get_autocommit"]=_sqlite3_get_autocommit=wasmExports["Ie"];Module["_sqlite3_table_column_metadata"]=_sqlite3_table_column_metadata=wasmExports["Je"];Module["_sqlite3_sleep"]=_sqlite3_sleep=wasmExports["Ke"];Module["_sqlite3_extended_result_codes"]=_sqlite3_extended_result_codes=wasmExports["Le"];Module["_sqlite3_file_control"]=_sqlite3_file_control=wasmExports["Me"];Module["_sqlite3_test_control"]=_sqlite3_test_control=wasmExports["Ne"];Module["_sqlite3_create_filename"]=_sqlite3_create_filename=wasmExports["Oe"];Module["_sqlite3_free_filename"]=_sqlite3_free_filename=wasmExports["Pe"];Module["_sqlite3_uri_parameter"]=_sqlite3_uri_parameter=wasmExports["Qe"];Module["_sqlite3_uri_key"]=_sqlite3_uri_key=wasmExports["Re"];Module["_sqlite3_uri_boolean"]=_sqlite3_uri_boolean=wasmExports["Se"];Module["_sqlite3_uri_int64"]=_sqlite3_uri_int64=wasmExports["Te"];Module["_sqlite3_filename_database"]=_sqlite3_filename_database=wasmExports["Ue"];Module["_sqlite3_filename_journal"]=_sqlite3_filename_journal=wasmExports["Ve"];Module["_sqlite3_filename_wal"]=_sqlite3_filename_wal=wasmExports["We"];Module["_sqlite3_db_name"]=_sqlite3_db_name=wasmExports["Xe"];Module["_sqlite3_db_filename"]=_sqlite3_db_filename=wasmExports["Ye"];Module["_sqlite3_db_readonly"]=_sqlite3_db_readonly=wasmExports["Ze"];Module["_sqlite3_compileoption_used"]=_sqlite3_compileoption_used=wasmExports["_e"];Module["_sqlite3_compileoption_get"]=_sqlite3_compileoption_get=wasmExports["$e"];Module["_sqlite3_sourceid"]=_sqlite3_sourceid=wasmExports["af"];Module["_sqlite3mc_config"]=_sqlite3mc_config=wasmExports["bf"];Module["_sqlite3mc_cipher_count"]=_sqlite3mc_cipher_count=wasmExports["cf"];Module["_sqlite3mc_cipher_index"]=_sqlite3mc_cipher_index=wasmExports["df"];Module["_sqlite3mc_cipher_name"]=_sqlite3mc_cipher_name=wasmExports["ef"];Module["_sqlite3mc_config_cipher"]=_sqlite3mc_config_cipher=wasmExports["ff"];Module["_sqlite3mc_vfs_create"]=_sqlite3mc_vfs_create=wasmExports["gf"];Module["_memcmp"]=_memcmp=wasmExports["hf"];Module["_malloc"]=_malloc=wasmExports["jf"];Module["_free"]=_free=wasmExports["kf"];Module["_memset"]=_memset=wasmExports["lf"];Module["_RegisterExtensionFunctions"]=_RegisterExtensionFunctions=wasmExports["mf"];Module["_getSqliteFree"]=_getSqliteFree=wasmExports["nf"];Module["_main"]=_main=wasmExports["of"];Module["_libauthorizer_set_authorizer"]=_libauthorizer_set_authorizer=wasmExports["pf"];Module["_libfunction_create_function"]=_libfunction_create_function=wasmExports["qf"];Module["_libhook_commit_hook"]=_libhook_commit_hook=wasmExports["rf"];Module["_libhook_update_hook"]=_libhook_update_hook=wasmExports["sf"];Module["_libprogress_progress_handler"]=_libprogress_progress_handler=wasmExports["tf"];Module["_libvfs_vfs_register"]=_libvfs_vfs_register=wasmExports["uf"];Module["_memcpy"]=_memcpy=wasmExports["vf"];_emscripten_builtin_memalign=wasmExports["xf"];__emscripten_timeout=wasmExports["yf"];__emscripten_tempret_get=wasmExports["zf"];__emscripten_stack_restore=wasmExports["Af"];__emscripten_stack_alloc=wasmExports["Bf"];_emscripten_stack_get_current=wasmExports["Cf"];dynCall_vijii=wasmExports["dynCall_vijii"];dynCall_iiiij=wasmExports["dynCall_iiiij"];dynCall_viji=wasmExports["dynCall_viji"];dynCall_viiiij=wasmExports["dynCall_viiiij"];dynCall_iij=wasmExports["dynCall_iij"];dynCall_iijii=wasmExports["dynCall_iijii"];dynCall_iiji=wasmExports["dynCall_iiji"];dynCall_iiiiiij=wasmExports["dynCall_iiiiiij"];dynCall_iiij=wasmExports["dynCall_iiij"];dynCall_jii=wasmExports["dynCall_jii"];dynCall_ji=wasmExports["dynCall_ji"];dynCall_vij=wasmExports["dynCall_vij"];dynCall_iiiiijii=wasmExports["dynCall_iiiiijii"];dynCall_j=wasmExports["dynCall_j"];dynCall_jj=wasmExports["dynCall_jj"];dynCall_jiij=wasmExports["dynCall_jiij"];dynCall_iiiiji=wasmExports["dynCall_iiiiji"];dynCall_iiiijii=wasmExports["dynCall_iiiijii"];dynCall_ij=wasmExports["dynCall_ij"];dynCall_viiji=wasmExports["dynCall_viiji"];dynCall_viijii=wasmExports["dynCall_viijii"];dynCall_iiiijji=wasmExports["dynCall_iiiijji"]}var _sqlite3_version=Module["_sqlite3_version"]=87072;var wasmImports={a:___assert_fail,aa:___syscall_chmod,ca:___syscall_faccessat,ba:___syscall_fchmod,$:___syscall_fchown32,b:___syscall_fcntl64,_:___syscall_fstat64,y:___syscall_ftruncate64,U:___syscall_getcwd,Y:___syscall_lstat64,Q:___syscall_mkdirat,W:___syscall_newfstatat,O:___syscall_openat,M:___syscall_readlinkat,L:___syscall_rmdir,Z:___syscall_stat64,J:___syscall_unlinkat,I:___syscall_utimensat,ea:__abort_js,E:__emscripten_runtime_keepalive_clear,w:__localtime_js,u:__mmap_js,v:__munmap_js,F:__setitimer_js,P:__tzset_js,n:_emscripten_date_now,g:_emscripten_get_now,G:_emscripten_resize_heap,R:_environ_get,S:_environ_sizes_get,o:_fd_close,H:_fd_fdstat_get,N:_fd_read,x:_fd_seek,V:_fd_sync,K:_fd_write,s:_ipp,t:_ipp_async,la:_ippipppp,pa:_ippipppp_async,j:_ippp,k:_ippp_async,c:_ipppi,d:_ipppi_async,ha:_ipppiii,ia:_ipppiii_async,ja:_ipppiiip,ka:_ipppiiip_async,h:_ipppip,i:_ipppip_async,z:_ipppj,A:_ipppj_async,e:_ipppp,f:_ipppp_async,fa:_ippppi,ga:_ippppi_async,B:_ippppij,C:_ippppij_async,p:_ippppip,q:_ippppip_async,ma:_ipppppip,na:_ipppppip_async,D:_proc_exit,T:_random_get,oa:_vppippii,r:_vppippii_async,l:_vppp,m:_vppp_async,X:_vpppip,da:_vpppip_async};var wasmExports=await createWasm();function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve?.(Module);Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}preInit();run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc,xStep,xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{readyPromiseResolve=resolve;readyPromiseReject=reject})} return moduleRtn; diff --git a/dist/mc-wa-sqlite.wasm b/dist/mc-wa-sqlite.wasm index 19d6be9c3763932563eb5f69aaf206a6496e3ee6..f72762c1ed28c2022db8d580de6ba9e0fdff8a90 100755 GIT binary patch delta 516 zcmaKnu}Z^G6ozw?+@>)}ttf?BY);x-Yttfh5J8tD(4o{pGbr>aw5z2SEC!rw1CCbE zMd%{&3B)(3gR@I@a2C;%7Iaa$e0TcKcmDG_sy&Zt!!sb4$9?eoKoA}g!aj(%ALKOH z%F;920`bNuJH!wLn?K_1p9iAzNe-%Dg4Jlk3Y2%7Rndl(?dX?_LL5q6qZAlAwU;on z)6{qzFeFt`AQMF#Zj)pcC|uhG<`sQs_faGa+bBt5mN!nc=GxQRG$ z7@Zfee6Yu8dBN-m4m<6?bsz#F619|!oAWs1ZQ35kc5Ww~aN z$MA4l7Wiyzjprb90_j$65f5a%s2o(i^C4f8fc;45A=vIPkRdYb{Ag+j$tu VIO}kJ{ar&6$Sjf!>+f?H`(IUxchUd= delta 536 zcmaKnze>YU6o+$@+%_>uwID)UG$%E;e`0YcNI{n*v_rw6b`bFqoV0VPg_c(L+KAwy zLj@7KNPGhE4Y~+!E-Hd+5j|-^C%u>N4u^BUbAHdG^4q99JOOgu>O;2=1mO|E?}K>z zNshhEC3<3KLA)_?4lzW*<_~%M_k!qrk%JO2$nMr41G(*5NwgtT30^rXNMN-M%QJLp zFJjMDP2=%{5mpri5y*vudWXx^8 w_Ab>1#JlHJ8JR&8MD@?B+SyekN=ULjV8( diff --git a/dist/wa-sqlite-async-dynamic-main.mjs b/dist/wa-sqlite-async-dynamic-main.mjs index c1ce3ca1..8c66fe08 100644 --- a/dist/wa-sqlite-async-dynamic-main.mjs +++ b/dist/wa-sqlite-async-dynamic-main.mjs @@ -4,7 +4,7 @@ var Module = (() => { async function(moduleArg = {}) { var moduleRtn; -var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&process.versions?.node&&process.type!="renderer";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{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=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var dynamicLibraries=[];var wasmBinary;var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var runtimeInitialized=false;var isFileURI=filename=>filename.startsWith("file://");function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b)}function initMemory(){if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:32768})}updateMemoryViews()}var __RELOC_FUNCS__=[];function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__RELOC_FUNCS__);callRuntimeCallbacks(onInits);if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();SOCKFS.root=FS.mount(SOCKFS,{},null);PIPEFS.root=FS.mount(PIPEFS,{},null);wasmExports["__wasm_call_ctors"]();callRuntimeCallbacks(onPostCtors);FS.ignorePermissions=false}function preMain(){callRuntimeCallbacks(onMains)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("wa-sqlite-async-dynamic-main.wasm")}return new URL("wa-sqlite-async-dynamic-main.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=relocateExports(wasmExports,1024);wasmExports=Asyncify.instrumentWasmExports(wasmExports);var metadata=getDylinkMetadata(module);if(metadata.neededDynlibs){dynamicLibraries=metadata.neededDynlibs.concat(dynamicLibraries)}mergeLibSymbols(wasmExports,"main");LDSO.init();loadDylibs();__RELOC_FUNCS__.push(wasmExports["__wasm_apply_data_relocs"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"],result["module"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})})}wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}catch(e){readyPromiseReject(e);return Promise.reject(e)}}var tempDouble;var tempI64;var asyncifyStubs={};class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var GOT={};var currentModuleWeakSymbols=new Set([]);var GOTHandler={get(obj,symName){var rtn=GOT[symName];if(!rtn){rtn=GOT[symName]=new WebAssembly.Global({value:"i32",mutable:true})}if(!currentModuleWeakSymbols.has(symName)){rtn.required=true}return rtn}};var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var dynCallLegacy=(sig,ptr,args)=>{sig=sig.replace(/p/g,"i");var f=Module["dynCall_"+sig];return f(ptr,...args)};var dynCall=(sig,ptr,args=[],promising=false)=>{var rtn=dynCallLegacy(sig,ptr,args);function convert(rtn){return rtn}return convert(rtn)};var UTF8Decoder=new TextDecoder;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heapOrArray.buffer?heapOrArray.subarray(idx,endPtr):new Uint8Array(heapOrArray.slice(idx,endPtr)))};var getDylinkMetadata=binary=>{var offset=0;var end=0;function getU8(){return binary[offset++]}function getLEB(){var ret=0;var mul=1;while(1){var byte=binary[offset++];ret+=(byte&127)*mul;mul*=128;if(!(byte&128))break}return ret}function getString(){var len=getLEB();offset+=len;return UTF8ArrayToString(binary,offset-len,len)}function getStringList(){var count=getLEB();var rtn=[];while(count--)rtn.push(getString());return rtn}function failIf(condition,message){if(condition)throw new Error(message)}if(binary instanceof WebAssembly.Module){var dylinkSection=WebAssembly.Module.customSections(binary,"dylink.0");failIf(dylinkSection.length===0,"need dylink section");binary=new Uint8Array(dylinkSection[0]);end=binary.length}else{var int32View=new Uint32Array(new Uint8Array(binary.subarray(0,24)).buffer);var magicNumberFound=int32View[0]==1836278016;failIf(!magicNumberFound,"need to see wasm magic number");failIf(binary[8]!==0,"need the dylink section to be first");offset=9;var section_size=getLEB();end=offset+section_size;var name=getString();failIf(name!=="dylink.0")}var customSection={neededDynlibs:[],tlsExports:new Set,weakImports:new Set,runtimePaths:[]};var WASM_DYLINK_MEM_INFO=1;var WASM_DYLINK_NEEDED=2;var WASM_DYLINK_EXPORT_INFO=3;var WASM_DYLINK_IMPORT_INFO=4;var WASM_DYLINK_RUNTIME_PATH=5;var WASM_SYMBOL_TLS=256;var WASM_SYMBOL_BINDING_MASK=3;var WASM_SYMBOL_BINDING_WEAK=1;while(offset>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var newDSO=(name,handle,syms)=>{var dso={refcount:Infinity,name,exports:syms,global:true};LDSO.loadedLibsByName[name]=dso;if(handle!=undefined){LDSO.loadedLibsByHandle[handle]=dso}return dso};var LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO("__main__",0,wasmImports)}};var ___heap_base=1021824;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var getMemory=size=>{if(runtimeInitialized){return _calloc(size,1)}var ret=___heap_base;var end=ret+alignMemory(size,16);___heap_base=end;GOT["__heap_base"].value=end;return ret};var isInternalSym=symName=>["__cpp_exception","__c_longjmp","__wasm_apply_data_relocs","__dso_handle","__tls_size","__tls_align","__set_stack_limits","_emscripten_tls_init","__wasm_init_tls","__wasm_call_ctors","__start_em_asm","__stop_em_asm","__start_em_js","__stop_em_js"].includes(symName)||symName.startsWith("__em_js__");var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var paramType of sigParam){target.push(typeCodes[paramType])}if(sigRet=="v"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTable=new WebAssembly.Table({initial:1855,element:"anyfunc"});var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>wasmTable.set(idx,func);var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var updateGOT=(exports,replace)=>{for(var symName in exports){if(isInternalSym(symName)){continue}var value=exports[symName];if(symName.startsWith("orig$")){symName=symName.split("$")[1];replace=true}GOT[symName]||=new WebAssembly.Global({value:"i32",mutable:true});if(replace||GOT[symName].value==0){if(typeof value=="function"){GOT[symName].value=addFunction(value)}else if(typeof value=="number"){GOT[symName].value=value}else{err(`unhandled export type for '${symName}': ${typeof value}`)}}}};var relocateExports=(exports,memoryBase,replace)=>{var relocated={};for(var e in exports){var value=exports[e];if(typeof value=="object"){value=value.value}if(typeof value=="number"){value+=memoryBase}relocated[e]=value}updateGOT(relocated,replace);return relocated};var isSymbolDefined=symName=>{var existing=wasmImports[symName];if(!existing||existing.stub){return false}if(symName in asyncifyStubs&&!asyncifyStubs[symName]){return false}return true};var stackSave=()=>_emscripten_stack_get_current();var stackRestore=val=>__emscripten_stack_restore(val);var createInvokeFunction=sig=>(ptr,...args)=>{var sp=stackSave();try{return dynCall(sig,ptr,args)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}};var resolveGlobalSymbol=(symName,direct=false)=>{var sym;if(direct&&"orig$"+symName in wasmImports){symName="orig$"+symName}if(isSymbolDefined(symName)){sym=wasmImports[symName]}else if(symName.startsWith("invoke_")){sym=wasmImports[symName]=createInvokeFunction(symName.split("_")[1])}return{sym,name:symName}};var onPostCtors=[];var addOnPostCtor=cb=>onPostCtors.push(cb);var UTF8ToString=(ptr,maxBytesToRead)=>{if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))};var loadWebAssemblyModule=(binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);currentModuleWeakSymbols=metadata.weakImports;function loadModule(){var memAlign=Math.pow(2,metadata.memoryAlign);var memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0;var tableBase=metadata.tableSize?wasmTable.length:0;if(handle){HEAP8[handle+8]=1;HEAPU32[handle+12>>2]=memoryBase;HEAP32[handle+16>>2]=metadata.memorySize;HEAPU32[handle+20>>2]=tableBase;HEAP32[handle+24>>2]=metadata.tableSize}if(metadata.tableSize){wasmTable.grow(metadata.tableSize)}var moduleExports;function resolveSymbol(sym){var resolved=resolveGlobalSymbol(sym).sym;if(!resolved&&localScope){resolved=localScope[sym]}if(!resolved){resolved=moduleExports[sym]}return resolved}var proxyHandler={get(stubs,prop){switch(prop){case"__memory_base":return memoryBase;case"__table_base":return tableBase}if(prop in wasmImports&&!wasmImports[prop].stub){var res=wasmImports[prop];if(res.orig){res=res.orig}return res}if(!(prop in stubs)){var resolved;stubs[prop]=(...args)=>{resolved||=resolveSymbol(prop);return resolved(...args)}}return stubs[prop]}};var proxy=new Proxy({},proxyHandler);var info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize);moduleExports=relocateExports(instance.exports,memoryBase);moduleExports=Asyncify.instrumentWasmExports(moduleExports);if(!flags.allowUndefined){reportUndefinedSymbols()}function addEmAsm(addr,body){var args=[];var arity=0;for(;arity<16;arity++){if(body.indexOf("$"+arity)!=-1){args.push("$"+arity)}else{break}}args=args.join(",");var func=`(${args}) => { ${body} };`;ASM_CONSTS[start]=eval(func)}if("__start_em_asm"in moduleExports){var start=moduleExports["__start_em_asm"];var stop=moduleExports["__stop_em_asm"];while(start ${body};`;moduleExports[name]=eval(func)}for(var name in moduleExports){if(name.startsWith("__em_js__")){var start=moduleExports[name];var jsString=UTF8ToString(start);var parts=jsString.split("<::>");addEmJs(name.replace("__em_js__",""),parts[0],parts[1]);delete moduleExports[name]}}var applyRelocs=moduleExports["__wasm_apply_data_relocs"];if(applyRelocs){if(runtimeInitialized){applyRelocs()}else{__RELOC_FUNCS__.push(applyRelocs)}}var init=moduleExports["__wasm_call_ctors"];if(init){if(runtimeInitialized){init()}else{addOnPostCtor(init)}}return moduleExports}if(flags.loadAsync){return(async()=>{var instance;if(binary instanceof WebAssembly.Module){instance=new WebAssembly.Instance(binary,info)}else{({module:binary,instance}=await WebAssembly.instantiate(binary,info))}return postInstantiation(binary,instance)})()}var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary);var instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}flags={...flags,rpath:{parentLibPath:libName,paths:metadata.runtimePaths}};if(flags.loadAsync){return metadata.neededDynlibs.reduce((chain,dynNeeded)=>chain.then(()=>loadDynamicLibrary(dynNeeded,flags,localScope)),Promise.resolve()).then(loadModule)}metadata.neededDynlibs.forEach(needed=>loadDynamicLibrary(needed,flags,localScope));return loadModule()};var mergeLibSymbols=(exports,libName)=>{registerDynCallSymbols(exports);for(var[sym,exp]of Object.entries(exports)){const setImport=target=>{if(target in asyncifyStubs){asyncifyStubs[target]=exp}if(!isSymbolDefined(target)){wasmImports[target]=exp}};setImport(sym)}};var asyncLoad=async url=>{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};asyncLoad.isAsync=true;var preloadPlugins=[];var registerWasmPlugin=()=>{var wasmPlugin={promiseChainEnd:Promise.resolve(),canHandle:name=>!Module["noWasmDecoding"]&&name.endsWith(".so"),handle:(byteArray,name,onload,onerror)=>{wasmPlugin["promiseChainEnd"]=wasmPlugin["promiseChainEnd"].then(()=>loadWebAssemblyModule(byteArray,{loadAsync:true,nodelete:true},name,{})).then(exports=>{preloadedWasm[name]=exports;onload(byteArray)},error=>{err(`failed to instantiate wasm: ${name}: ${error}`);onerror()})}};preloadPlugins.push(wasmPlugin)};var preloadedWasm={};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.slice(-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.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var replaceORIGIN=(parentLibName,rpath)=>{if(rpath.startsWith("$ORIGIN")){var origin=PATH.dirname(parentLibName);return rpath.replace("$ORIGIN",origin)}return rpath};var withStackSave=f=>{var stack=stackSave();var ret=f();stackRestore(stack);return ret};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var initRandomFill=()=>view=>crypto.getRandomValues(view);var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,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.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthFS.createDataFile(...args);var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}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|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,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){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}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)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){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);old_node.parent=new_dir}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;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return 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 link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){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)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},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}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,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,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){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},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)}if(!length){throw new FS.ErrnoError(28)}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)},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)}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,llseek:()=>0});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){randomFill(randomBuffer);randomLeft=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",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},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){if(e.errno!=20)throw 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;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var findLibraryFS=(libName,rpath)=>{if(!runtimeInitialized){return undefined}if(PATH.isAbs(libName)){try{FS.lookupPath(libName);return libName}catch(e){return undefined}}var rpathResolved=(rpath?.paths||[]).map(p=>replaceORIGIN(rpath?.parentLibPath,p));return withStackSave(()=>{var bufSize=2*255+2;var buf=stackAlloc(bufSize);var rpathC=stringToUTF8OnStack(rpathResolved.join(":"));var libNameC=stringToUTF8OnStack(libName);var resLibNameC=__emscripten_find_dylib(buf,rpathC,libNameC,bufSize);return resLibNameC?UTF8ToString(resLibNameC):undefined})};var registerDynCallSymbols=exports=>{for(var[sym,exp]of Object.entries(exports)){if(sym.startsWith("dynCall_")&&!Module.hasOwnProperty(sym)){Module[sym]=exp}}};function loadDynamicLibrary(libName,flags={global:true,nodelete:true},localScope,handle){var dso=LDSO.loadedLibsByName[libName];if(dso){if(!flags.global){if(localScope){Object.assign(localScope,dso.exports)}registerDynCallSymbols(dso.exports)}else if(!dso.global){dso.global=true;mergeLibSymbols(dso.exports,libName)}if(flags.nodelete&&dso.refcount!==Infinity){dso.refcount=Infinity}dso.refcount++;if(handle){LDSO.loadedLibsByHandle[handle]=dso}return flags.loadAsync?Promise.resolve(true):true}dso=newDSO(libName,handle,"loading");dso.refcount=flags.nodelete?Infinity:1;dso.global=flags.global;function loadLibData(){if(handle){var data=HEAPU32[handle+28>>2];var dataSize=HEAPU32[handle+32>>2];if(data&&dataSize){var libData=HEAP8.slice(data,data+dataSize);return flags.loadAsync?Promise.resolve(libData):libData}}var f=findLibraryFS(libName,flags.rpath);if(f){var libData=FS.readFile(f,{encoding:"binary"});return flags.loadAsync?Promise.resolve(libData):libData}var libFile=locateFile(libName);if(flags.loadAsync){return asyncLoad(libFile)}if(!readBinary){throw new Error(`${libFile}: file not found, and synchronous loading of external files is not available`)}return readBinary(libFile)}function getExports(){var preloaded=preloadedWasm[libName];if(preloaded){return flags.loadAsync?Promise.resolve(preloaded):preloaded}if(flags.loadAsync){return loadLibData().then(libData=>loadWebAssemblyModule(libData,flags,libName,localScope,handle))}return loadWebAssemblyModule(loadLibData(),flags,libName,localScope,handle)}function moduleLoaded(exports){if(dso.global){mergeLibSymbols(exports,libName)}else if(localScope){Object.assign(localScope,exports);registerDynCallSymbols(exports)}dso.exports=exports}if(flags.loadAsync){return getExports().then(exports=>{moduleLoaded(exports);return true})}moduleLoaded(getExports());return true}var reportUndefinedSymbols=()=>{for(var[symName,entry]of Object.entries(GOT)){if(entry.value==0){var value=resolveGlobalSymbol(symName,true).sym;if(!value&&!entry.required){continue}if(typeof value=="function"){entry.value=addFunction(value,value.sig)}else if(typeof value=="number"){entry.value=value}else{throw new Error(`bad export type for '${symName}': ${typeof value}`)}}}};var loadDylibs=()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency("loadDylibs");dynamicLibraries.reduce((chain,lib)=>chain.then(()=>loadDynamicLibrary(lib,{loadAsync:true,global:true,nodelete:true,allowUndefined:true})),Promise.resolve()).then(()=>{reportUndefinedSymbols();removeRunDependency("loadDylibs")})};var noExitRuntime=true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);___assert_fail.sig="vppip";var ___asyncify_data=new WebAssembly.Global({value:"i32",mutable:true},0);var ___asyncify_state=new WebAssembly.Global({value:"i32",mutable:true},0);var ___call_sighandler=(fp,sig)=>(a1=>{})(sig);___call_sighandler.sig="vpi";var ___memory_base=new WebAssembly.Global({value:"i32",mutable:false},1024);var ___stack_high=1021824;var ___stack_low=497536;var ___stack_pointer=new WebAssembly.Global({value:"i32",mutable:true},1021824);var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},writeStatFs(buf,stats){HEAP32[buf+4>>2]=stats.bsize;HEAP32[buf+40>>2]=stats.bsize;HEAP32[buf+8>>2]=stats.blocks;HEAP32[buf+12>>2]=stats.bfree;HEAP32[buf+16>>2]=stats.bavail;HEAP32[buf+20>>2]=stats.files;HEAP32[buf+24>>2]=stats.ffree;HEAP32[buf+28>>2]=stats.fsid;HEAP32[buf+44>>2]=stats.flags;HEAP32[buf+36>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};var ___syscall__newselect=function(nfds,readfds,writefds,exceptfds,timeout){try{var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);var check=(fd,low,high,val)=>fd<32?low&val:high&val;for(var fd=0;fd>2]:0,tv_usec=readfds?HEAP32[timeout+4>>2]:0;timeoutInMillis=(tv_sec+tv_usec/1e6)*1e3}flags=stream.stream_ops.poll(stream,timeoutInMillis)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}};___syscall__newselect.sig="iipppp";var SOCKFS={websocketArgs:{},callbacks:{},on(event,callback){SOCKFS.callbacks[event]=callback},emit(event,param){SOCKFS.callbacks[event]?.(param)},mount(mount){SOCKFS.websocketArgs=Module["websocket"]||{};(Module["websocket"]??={})["on"]=SOCKFS.on;return FS.createNode(null,"/",16895,0)},createSocket(family,type,protocol){type&=~526336;var streaming=type==1;if(streaming&&protocol&&protocol!=6){throw new FS.ErrnoError(66)}var sock={family,type,protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return`socket[${SOCKFS.nextname.current++}]`},websocket_sock_ops:{createPeer(sock,addr,port){var ws;if(typeof addr=="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var url="ws://".replace("#","//");var subProtocols="binary";var opts=undefined;if(SOCKFS.websocketArgs["url"]){url=SOCKFS.websocketArgs["url"]}if(SOCKFS.websocketArgs["subprotocol"]){subProtocols=SOCKFS.websocketArgs["subprotocol"]}else if(SOCKFS.websocketArgs["subprotocol"]===null){subProtocols="null"}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=subProtocols}var WebSocketConstructor;{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr,port,socket:ws,msg_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!="undefined"){peer.msg_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer(sock,addr,port){return sock.peers[addr+":"+port]},addPeer(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents(sock,peer){var first=true;var handleOpen=function(){sock.connecting=false;SOCKFS.emit("open",sock.stream.fd);try{var queued=peer.msg_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.msg_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data=="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}data=new Uint8Array(data)}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data});SOCKFS.emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,isBinary){if(!isBinary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){SOCKFS.emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;SOCKFS.emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){SOCKFS.emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;SOCKFS.emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){if(sock.connecting){mask|=4}else{mask|=16}}return mask},ioctl(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return 28}},close(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}for(var peer of Object.values(sock.peers)){try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0},bind(sock,addr,port){if(typeof sock.saddr!="undefined"||typeof sock.sport!="undefined"){throw new FS.ErrnoError(28)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e.name==="ErrnoError"))throw e;if(e.errno!==138)throw e}}},connect(sock,addr,port){if(sock.server){throw new FS.ErrnoError(138)}if(typeof sock.daddr!="undefined"&&typeof sock.dport!="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(7)}else{throw new FS.ErrnoError(30)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;sock.connecting=true},listen(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(138)}},accept(listensock){if(!listensock.server||!listensock.pending.length){throw new FS.ErrnoError(28)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock},getname(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(53)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr,port}},sendmsg(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(17)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(53)}}if(ArrayBuffer.isView(buffer)){offset+=buffer.byteOffset;buffer=buffer.buffer}var data=buffer.slice(offset,offset+length);if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(sock.type===2){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}}dest.msg_send_queue.push(data);return length}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(28)}},recvmsg(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(53)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(53)}if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}throw new FS.ErrnoError(6)}throw new FS.ErrnoError(6)}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead{var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket};var inetPton4=str=>{var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0};var inetPton6=str=>{var words;var w,offset,z,i;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=Number(words[words.length-4])+Number(words[words.length-3])*256;words[words.length-3]=Number(words[words.length-2])+Number(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w{switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>2]=16}HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>2]=28}HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);break;default:return 5}return 0};var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};function ___syscall_accept4(fd,addr,addrlen,flags,d1,d2){try{var sock=getSocketFromFD(fd);var newsock=sock.sock_ops.accept(sock);if(addr){var errno=writeSockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport,addrlen)}return newsock.stream.fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_accept4.sig="iippiii";var inetNtop4=addr=>(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255);var inetNtop6=ints=>{var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word{var family=HEAP16[sa>>1];var port=_ntohs(HEAPU16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family,addr,port}};var getSocketAddress=(addrp,addrlen)=>{var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info};function ___syscall_bind(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.bind(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_bind.sig="iippiii";function ___syscall_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_chdir.sig="ip";function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_chmod.sig="ipi";function ___syscall_connect(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_connect.sig="iippiii";function ___syscall_dup(fd){try{var old=SYSCALLS.getStreamFromFD(fd);return FS.dupStream(old).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_dup.sig="ii";function ___syscall_dup3(fd,newfd,flags){try{var old=SYSCALLS.getStreamFromFD(fd);if(old.fd===newfd)return-28;if(newfd<0||newfd>=FS.MAX_OPEN_FDS)return-8;var existing=FS.getStream(newfd);if(existing)FS.close(existing);return FS.dupStream(old,newfd).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_dup3.sig="iiii";function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_faccessat.sig="iipii";var ___syscall_fadvise64=(fd,offset,len,advice)=>0;___syscall_fadvise64.sig="iiiiiii";var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_fallocate(fd,mode,offset_low,offset_high,len_low,len_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);var len=convertI32PairToI53Checked(len_low,len_high);try{if(isNaN(offset)||isNaN(len))return-61;if(mode!=0){return-138}if(offset<0||len<0){return-28}var oldSize=FS.fstat(fd).size;var newSize=offset+len;if(newSize>oldSize){FS.ftruncate(fd,newSize)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fallocate.sig="iiiiiii";function ___syscall_fchdir(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.chdir(stream.path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchdir.sig="ii";function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchmod.sig="iii";function ___syscall_fchmodat2(dirfd,path,mode,flags){try{var nofollow=flags&256;path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);FS.chmod(path,mode,nofollow);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchmodat2.sig="iipii";function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchown32.sig="iiii";function ___syscall_fchownat(dirfd,path,owner,group,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;flags=flags&~256;path=SYSCALLS.calculateAt(dirfd,path);(nofollow?FS.lchown:FS.chown)(path,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchownat.sig="iipiii";var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fcntl64.sig="iiip";function ___syscall_fdatasync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fdatasync.sig="ii";function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fstat64.sig="iip";function ___syscall_fstatfs64(fd,size,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);SYSCALLS.writeStatFs(buf,FS.statfsStream(stream));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fstatfs64.sig="iipp";function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_ftruncate64.sig="iiii";function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size>>0,(tempDouble=id,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getdents64.sig="iipp";function ___syscall_getpeername(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);if(!sock.daddr){return-53}var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport,addrlen);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getpeername.sig="iippiii";function ___syscall_getsockname(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport,addrlen);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getsockname.sig="iippiii";function ___syscall_getsockopt(fd,level,optname,optval,optlen,d1){try{var sock=getSocketFromFD(fd);if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-50}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getsockopt.sig="iiiippi";function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag,c_oflag,c_cflag,c_lflag,c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_ioctl.sig="iiip";function ___syscall_listen(fd,backlog){try{var sock=getSocketFromFD(fd);sock.sock_ops.listen(sock,backlog);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_listen.sig="iiiiiii";function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.lstat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_lstat64.sig="ipp";function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_mkdirat.sig="iipi";function ___syscall_mknodat(dirfd,path,mode,dev){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_mknodat.sig="iipii";function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.writeStat(buf,nofollow?FS.lstat(path):FS.stat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_newfstatat.sig="iippi";function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_openat.sig="iipip";var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount(mount){return FS.createNode(null,"/",16384|511,0)},createPipe(){var pipe={buckets:[],refcnt:2,timestamp:new Date};pipe.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var rName=PIPEFS.nextname();var wName=PIPEFS.nextname();var rNode=FS.createNode(PIPEFS.root,rName,4096,0);var wNode=FS.createNode(PIPEFS.root,wName,4096,0);rNode.pipe=pipe;wNode.pipe=pipe;var readableStream=FS.createStream({path:rName,node:rNode,flags:0,seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:1,seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{getattr(stream){var node=stream.node;var timestamp=node.pipe.timestamp;return{dev:14,ino:node.id,mode:4480,nlink:1,uid:0,gid:0,rdev:0,size:0,atime:timestamp,mtime:timestamp,ctime:timestamp,blksize:4096,blocks:0}},poll(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}for(var bucket of pipe.buckets){if(bucket.offset-bucket.roffset>0){return 64|1}}return 0},dup(stream){stream.node.pipe.refcnt++},ioctl(stream,request,varargs){return 28},fsync(stream){return 28},read(stream,buffer,offset,length,position){var pipe=stream.node.pipe;var currentLength=0;for(var bucket of pipe.buckets){currentLength+=bucket.offset-bucket.roffset}var data=buffer.subarray(offset,offset+length);if(length<=0){return 0}if(currentLength==0){throw new FS.ErrnoError(6)}var toRead=Math.min(currentLength,length);var totalRead=toRead;var toRemove=0;for(var bucket of pipe.buckets){var bucketSize=bucket.offset-bucket.roffset;if(toRead<=bucketSize){var tmpSlice=bucket.buffer.subarray(bucket.roffset,bucket.offset);if(toRead=dataLen){currBucket.buffer.set(data,currBucket.offset);currBucket.offset+=dataLen;return dataLen}else if(freeBytesInCurrBuffer>0){currBucket.buffer.set(data.subarray(0,freeBytesInCurrBuffer),currBucket.offset);currBucket.offset+=freeBytesInCurrBuffer;data=data.subarray(freeBytesInCurrBuffer,data.byteLength)}var numBuckets=data.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0;var remElements=data.byteLength%PIPEFS.BUCKET_BUFFER_SIZE;for(var i=0;i0){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:data.byteLength,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data)}return dataLen},close(stream){var pipe=stream.node.pipe;pipe.refcnt--;if(pipe.refcnt===0){pipe.buckets=null}}},nextname(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall_pipe(fdPtr){try{if(fdPtr==0){throw new FS.ErrnoError(21)}var res=PIPEFS.createPipe();HEAP32[fdPtr>>2]=res.readable_fd;HEAP32[fdPtr+4>>2]=res.writable_fd;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_pipe.sig="ip";function ___syscall_poll(fds,nfds,timeout){try{var nonzero=0;for(var i=0;i>2];var events=HEAP16[pollfd+4>>1];var mask=32;var stream=FS.getStream(fd);if(stream){mask=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){mask=stream.stream_ops.poll(stream,-1)}}mask&=events|8|16;if(mask)nonzero++;HEAP16[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_poll.sig="ipii";function ___syscall_readlinkat(dirfd,path,buf,bufsize){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_readlinkat.sig="iippp";function ___syscall_recvfrom(fd,buf,len,flags,addr,addrlen){try{var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_recvfrom.sig="iippipp";function ___syscall_recvmsg(fd,message,flags,d1,d2,d3){try{var sock=getSocketFromFD(fd);var iov=HEAPU32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAPU32[message>>2];if(name){var errno=writeSockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_recvmsg.sig="iipiiii";function ___syscall_renameat(olddirfd,oldpath,newdirfd,newpath){try{oldpath=SYSCALLS.getStr(oldpath);newpath=SYSCALLS.getStr(newpath);oldpath=SYSCALLS.calculateAt(olddirfd,oldpath);newpath=SYSCALLS.calculateAt(newdirfd,newpath);FS.rename(oldpath,newpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_renameat.sig="iipip";function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_rmdir.sig="ip";function ___syscall_sendmsg(fd,message,flags,d1,d2,d3){try{var sock=getSocketFromFD(fd);var iov=HEAPU32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAPU32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=getSocketAddress(name,namelen);port=info.port;addr=info.addr}var total=0;for(var i=0;i>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;jHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);var now=Date.now(),atime,mtime;if(!times){atime=now;mtime=now}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){atime=now}else if(nanoseconds==1073741822){atime=null}else{atime=seconds*1e3+nanoseconds/(1e3*1e3)}times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){mtime=now}else if(nanoseconds==1073741822){mtime=null}else{mtime=seconds*1e3+nanoseconds/(1e3*1e3)}}if((mtime??atime)!==null){FS.utime(path,atime,mtime)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_utimensat.sig="iippi";var ___table_base=new WebAssembly.Global({value:"i32",mutable:false},1);var __abort_js=()=>abort("");__abort_js.sig="v";var dlSetError=msg=>{var sp=stackSave();var cmsg=stringToUTF8OnStack(msg);___dl_seterr(cmsg,0);stackRestore(sp)};var dlopenInternal=(handle,jsflags)=>{var filename=UTF8ToString(handle+36);var flags=HEAP32[handle+4>>2];filename=PATH.normalize(filename);var searchpaths=[];var global=Boolean(flags&256);var localScope=global?null:{};var combinedFlags={global,nodelete:Boolean(flags&4096),loadAsync:jsflags.loadAsync};if(jsflags.loadAsync){return loadDynamicLibrary(filename,combinedFlags,localScope,handle)}try{return loadDynamicLibrary(filename,combinedFlags,localScope,handle)}catch(e){dlSetError(`Could not load dynamic lib: ${filename}\n${e}`);return 0}};var __dlopen_js=handle=>Asyncify.handleSleep(wakeUp=>dlopenInternal(handle,{loadAsync:true}).then(wakeUp).catch(()=>wakeUp(0)));__dlopen_js.sig="pp";__dlopen_js.isAsync=true;var __dlsym_js=(handle,symbol,symbolIndex)=>{symbol=UTF8ToString(symbol);var result;var newSymIndex;var lib=LDSO.loadedLibsByHandle[handle];if(!lib.exports.hasOwnProperty(symbol)||lib.exports[symbol].stub){dlSetError(`Tried to lookup unknown symbol "${symbol}" in dynamic lib: ${lib.name}`);return 0}newSymIndex=Object.keys(lib.exports).indexOf(symbol);var origSym="orig$"+symbol;result=lib.exports[origSym];if(result){newSymIndex=Object.keys(lib.exports).indexOf(origSym)}else result=lib.exports[symbol];if(typeof result=="function"){if(result.orig){result=result.orig}var addr=getFunctionAddress(result);if(addr){result=addr}else{result=addFunction(result,result.sig);HEAPU32[symbolIndex>>2]=newSymIndex}}return result};__dlsym_js.sig="pppp";var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};_proc_exit.sig="vi";var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;_exit.sig="vi";var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var __emscripten_dlopen_js=(handle,onsuccess,onerror,user_data)=>{function errorCallback(e){var filename=UTF8ToString(handle+36);dlSetError(`'Could not load dynamic lib: ${filename}\n${e}`);callUserCallback(()=>((a1,a2)=>{})(handle,user_data))}function successCallback(){callUserCallback(()=>((a1,a2)=>{})(handle,user_data))}var promise=dlopenInternal(handle,{loadAsync:true});if(promise){promise.then(successCallback,errorCallback)}else{errorCallback()}};__emscripten_dlopen_js.sig="vpppp";var getExecutableName=()=>thisProgram||"./this.program";var __emscripten_get_progname=(str,len)=>stringToUTF8(getExecutableName(),str,len);__emscripten_get_progname.sig="vpi";var __emscripten_lookup_name=name=>{var nameString=UTF8ToString(name);return inetPton4(DNS.lookup_name(nameString))};__emscripten_lookup_name.sig="ip";var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};__emscripten_runtime_keepalive_clear.sig="v";var __emscripten_system=command=>{if(!command)return 0;return-52};__emscripten_system.sig="ip";var __emscripten_throw_longjmp=()=>{throw Infinity};__emscripten_throw_longjmp.sig="v";function __gmtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday}__gmtime_js.sig="viip";var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}__localtime_js.sig="viip";var setTempRet0=val=>__emscripten_tempret_set(val);var _setTempRet0=setTempRet0;var __mktime_js=function(tmPtr){var ret=(()=>{var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getYear();var timeMs=date.getTime();if(isNaN(timeMs)){return-1}return timeMs/1e3})();return setTempRet0((tempDouble=ret,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),ret>>>0};__mktime_js.sig="ip";function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}__mmap_js.sig="ipiiiiipp";function __msync_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return-61;SYSCALLS.doMsync(addr,SYSCALLS.getStreamFromFD(fd),len,flags,offset);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}__msync_js.sig="ippiiiii";function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}__munmap_js.sig="ippiiiii";var timers={};var _emscripten_get_now=()=>performance.now();_emscripten_get_now.sig="d";var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};__setitimer_js.sig="iid";var __timegm_js=function(tmPtr){var ret=(()=>{var time=Date.UTC(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var date=new Date(time);HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3})();return setTempRet0((tempDouble=ret,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),ret>>>0};__timegm_js.sig="ip";var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset{MainLoop.timingMode=mode;MainLoop.timingValue=value;if(!MainLoop.func){return 1}if(!MainLoop.running){MainLoop.running=true}if(mode==0){MainLoop.scheduler=function MainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,MainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(MainLoop.runner,timeUntilNextTick)};MainLoop.method="timeout"}else if(mode==1){MainLoop.scheduler=function MainLoop_scheduler_rAF(){MainLoop.requestAnimationFrame(MainLoop.runner)};MainLoop.method="rAF"}else if(mode==2){if(typeof MainLoop.setImmediate=="undefined"){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var MainLoop_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",MainLoop_setImmediate_messageHandler,true);MainLoop.setImmediate=func=>{setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){Module["setImmediates"]??=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}else{MainLoop.setImmediate=setImmediate}}MainLoop.scheduler=function MainLoop_scheduler_setImmediate(){MainLoop.setImmediate(MainLoop.runner)};MainLoop.method="immediate"}return 0};_emscripten_set_main_loop_timing.sig="iii";var setMainLoop=(iterFunc,fps,simulateInfiniteLoop,arg,noSetTiming)=>{MainLoop.func=iterFunc;MainLoop.arg=arg;var thisMainLoopId=MainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=MainLoop.queue.shift();blocker.func(blocker.arg);if(MainLoop.remainingBlockers){var remaining=MainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){MainLoop.remainingBlockers=next}else{next=next+.5;MainLoop.remainingBlockers=(8*remaining+next)/9}}MainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(MainLoop.runner,0);return}if(!checkIsRunning())return;MainLoop.currentFrameNumber=MainLoop.currentFrameNumber+1|0;if(MainLoop.timingMode==1&&MainLoop.timingValue>1&&MainLoop.currentFrameNumber%MainLoop.timingValue!=0){MainLoop.scheduler();return}else if(MainLoop.timingMode==0){MainLoop.tickStartTime=_emscripten_get_now()}MainLoop.runIter(iterFunc);if(!checkIsRunning())return;MainLoop.scheduler()};if(!noSetTiming){if(fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}MainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}};var MainLoop={running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],preMainLoop:[],postMainLoop:[],pause(){MainLoop.scheduler=null;MainLoop.currentlyRunningMainloop++},resume(){MainLoop.currentlyRunningMainloop++;var timingMode=MainLoop.timingMode;var timingValue=MainLoop.timingValue;var func=MainLoop.func;MainLoop.func=null;setMainLoop(func,0,false,MainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);MainLoop.scheduler()},updateStatus(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=MainLoop.remainingBlockers??0;var expected=MainLoop.expectedBlockers??0;if(remaining){if(remaining=MainLoop.nextRAF){MainLoop.nextRAF+=1e3/60}}var delay=Math.max(MainLoop.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=MainLoop.fakeRequestAnimationFrame;RAF(func)}};var AL={QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:.1,DEVICE_NAME:"Emscripten OpenAL",CAPTURE_DEVICE_NAME:"Emscripten OpenAL capture",ALC_EXTENSIONS:{ALC_SOFT_pause_device:true,ALC_SOFT_HRTF:true},AL_EXTENSIONS:{AL_EXT_float32:true,AL_SOFT_loop_points:true,AL_SOFT_source_length:true,AL_EXT_source_distance_model:true,AL_SOFT_source_spatialize:true},_alcErr:0,alcErr:0,deviceRefCounts:{},alcStringCache:{},paused:false,stringCache:{},contexts:{},currentCtx:null,buffers:{0:{id:0,refCount:0,audioBuf:null,frequency:0,bytesPerSample:2,channels:1,length:0}},paramArray:[],_nextId:1,newId:()=>AL.freeIds.length>0?AL.freeIds.pop():AL._nextId++,freeIds:[],scheduleContextAudio:ctx=>{if(MainLoop.timingMode===1&&document["visibilityState"]!="visible"){return}for(var i in ctx.sources){AL.scheduleSourceAudio(ctx.sources[i])}},scheduleSourceAudio:(src,lookahead)=>{if(MainLoop.timingMode===1&&document["visibilityState"]!="visible"){return}if(src.state!==4114){return}var currentTime=AL.updateSourceTime(src);var startTime=src.bufStartTime;var startOffset=src.bufOffset;var bufCursor=src.bufsProcessed;for(var i=0;i=src.bufQueue.length){if(src.looping){bufCursor%=src.bufQueue.length}else{break}}var buf=src.bufQueue[bufCursor%src.bufQueue.length];if(buf.length===0){skipCount++;if(skipCount===src.bufQueue.length){break}}else{var audioSrc=src.context.audioCtx.createBufferSource();audioSrc.buffer=buf.audioBuf;audioSrc.playbackRate.value=src.playbackRate;if(buf.audioBuf._loopStart||buf.audioBuf._loopEnd){audioSrc.loopStart=buf.audioBuf._loopStart;audioSrc.loopEnd=buf.audioBuf._loopEnd}var duration=0;if(src.type===4136&&src.looping){duration=Number.POSITIVE_INFINITY;audioSrc.loop=true;if(buf.audioBuf._loopStart){audioSrc.loopStart=buf.audioBuf._loopStart}if(buf.audioBuf._loopEnd){audioSrc.loopEnd=buf.audioBuf._loopEnd}}else{duration=(buf.audioBuf.duration-startOffset)/src.playbackRate}audioSrc._startOffset=startOffset;audioSrc._duration=duration;audioSrc._skipCount=skipCount;skipCount=0;audioSrc.connect(src.gain);if(typeof audioSrc.start!="undefined"){startTime=Math.max(startTime,src.context.audioCtx.currentTime);audioSrc.start(startTime,startOffset)}else if(typeof audioSrc.noteOn!="undefined"){startTime=Math.max(startTime,src.context.audioCtx.currentTime);audioSrc.noteOn(startTime)}audioSrc._startTime=startTime;src.audioQueue.push(audioSrc);startTime+=duration}startOffset=0;bufCursor++}},updateSourceTime:src=>{var currentTime=src.context.audioCtx.currentTime;if(src.state!==4114){return currentTime}if(!isFinite(src.bufStartTime)){src.bufStartTime=currentTime-src.bufOffset/src.playbackRate;src.bufOffset=0}var nextStartTime=0;while(src.audioQueue.length){var audioSrc=src.audioQueue[0];src.bufsProcessed+=audioSrc._skipCount;nextStartTime=audioSrc._startTime+audioSrc._duration;if(currentTime=src.bufQueue.length&&!src.looping){AL.setSourceState(src,4116)}else if(src.type===4136&&src.looping){var buf=src.bufQueue[0];if(buf.length===0){src.bufOffset=0}else{var delta=(currentTime-src.bufStartTime)*src.playbackRate;var loopStart=buf.audioBuf._loopStart||0;var loopEnd=buf.audioBuf._loopEnd||buf.audioBuf.duration;if(loopEnd<=loopStart){loopEnd=buf.audioBuf.duration}if(delta0){src.bufStartTime+=Math.floor((currentTime-src.bufStartTime)/srcDuration)*srcDuration}}for(var i=0;i=src.bufQueue.length){if(src.looping){src.bufsProcessed%=src.bufQueue.length}else{AL.setSourceState(src,4116);break}}var buf=src.bufQueue[src.bufsProcessed];if(buf.length>0){nextStartTime=src.bufStartTime+buf.audioBuf.duration/src.playbackRate;if(currentTime{AL.updateSourceTime(src);for(var i=1;i1){src.audioQueue.length=1}},stopSourceAudio:src=>{for(var i=0;i{if(state===4114){if(src.state===4114||src.state==4116){src.bufsProcessed=0;src.bufOffset=0}else{}AL.stopSourceAudio(src);src.state=4114;src.bufStartTime=Number.NEGATIVE_INFINITY;AL.scheduleSourceAudio(src)}else if(state===4115){if(src.state===4114){AL.updateSourceTime(src);AL.stopSourceAudio(src);src.state=4115}}else if(state===4116){if(src.state!==4113){src.state=4116;src.bufsProcessed=src.bufQueue.length;src.bufStartTime=Number.NEGATIVE_INFINITY;src.bufOffset=0;AL.stopSourceAudio(src)}}else if(state===4113){if(src.state!==4113){src.state=4113;src.bufsProcessed=0;src.bufStartTime=Number.NEGATIVE_INFINITY;src.bufOffset=0;AL.stopSourceAudio(src)}}},initSourcePanner:src=>{if(src.type===4144){return}var templateBuf=AL.buffers[0];for(var i=0;i{for(var i in ctx.sources){AL.updateSourceGlobal(ctx.sources[i])}},updateSourceGlobal:src=>{var panner=src.panner;if(!panner){return}panner.refDistance=src.refDistance;panner.maxDistance=src.maxDistance;panner.rolloffFactor=src.rolloffFactor;panner.panningModel=src.context.hrtf?"HRTF":"equalpower";var distanceModel=src.context.sourceDistanceModel?src.distanceModel:src.context.distanceModel;switch(distanceModel){case 0:panner.distanceModel="inverse";panner.refDistance=340282e33;break;case 53249:case 53250:panner.distanceModel="inverse";break;case 53251:case 53252:panner.distanceModel="linear";break;case 53253:case 53254:panner.distanceModel="exponential";break}},updateListenerSpace:ctx=>{var listener=ctx.audioCtx.listener;if(listener.positionX){listener.positionX.value=ctx.listener.position[0];listener.positionY.value=ctx.listener.position[1];listener.positionZ.value=ctx.listener.position[2]}else{listener.setPosition(ctx.listener.position[0],ctx.listener.position[1],ctx.listener.position[2])}if(listener.forwardX){listener.forwardX.value=ctx.listener.direction[0];listener.forwardY.value=ctx.listener.direction[1];listener.forwardZ.value=ctx.listener.direction[2];listener.upX.value=ctx.listener.up[0];listener.upY.value=ctx.listener.up[1];listener.upZ.value=ctx.listener.up[2]}else{listener.setOrientation(ctx.listener.direction[0],ctx.listener.direction[1],ctx.listener.direction[2],ctx.listener.up[0],ctx.listener.up[1],ctx.listener.up[2])}for(var i in ctx.sources){AL.updateSourceSpace(ctx.sources[i])}},updateSourceSpace:src=>{if(!src.panner){return}var panner=src.panner;var posX=src.position[0];var posY=src.position[1];var posZ=src.position[2];var dirX=src.direction[0];var dirY=src.direction[1];var dirZ=src.direction[2];var listener=src.context.listener;var lPosX=listener.position[0];var lPosY=listener.position[1];var lPosZ=listener.position[2];if(src.relative){var lBackX=-listener.direction[0];var lBackY=-listener.direction[1];var lBackZ=-listener.direction[2];var lUpX=listener.up[0];var lUpY=listener.up[1];var lUpZ=listener.up[2];var inverseMagnitude=(x,y,z)=>{var length=Math.sqrt(x*x+y*y+z*z);if(length{if(src.state===4114){AL.cancelPendingSourceAudio(src);var audioSrc=src.audioQueue[0];if(!audioSrc){return}var duration;if(src.type===4136&&src.looping){duration=Number.POSITIVE_INFINITY}else{duration=(audioSrc.buffer.duration-audioSrc._startOffset)/src.playbackRate}audioSrc._duration=duration;audioSrc.playbackRate.value=src.playbackRate;AL.scheduleSourceAudio(src)}},sourceDuration:src=>{var length=0;for(var i=0;i{AL.updateSourceTime(src);var offset=0;for(var i=0;i{var playing=src.state==4114;if(playing){AL.setSourceState(src,4113)}if(src.bufQueue[src.bufsProcessed].audioBuf!==null){src.bufsProcessed=0;while(offset>src.bufQueue[src.bufsProcessed].audioBuf.duration){offset-=src.bufQueue[src.bufsProcessed].audioBuf.duration;src.bufsProcessed++}src.bufOffset=offset}if(playing){AL.setSourceState(src,4114)}},getGlobalParam:(funcname,param)=>{if(!AL.currentCtx){return null}switch(param){case 49152:return AL.currentCtx.dopplerFactor;case 49155:return AL.currentCtx.speedOfSound;case 53248:return AL.currentCtx.distanceModel;default:AL.currentCtx.err=40962;return null}},setGlobalParam:(funcname,param,value)=>{if(!AL.currentCtx){return}switch(param){case 49152:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}AL.currentCtx.dopplerFactor=value;AL.updateListenerSpace(AL.currentCtx);break;case 49155:if(!Number.isFinite(value)||value<=0){AL.currentCtx.err=40963;return}AL.currentCtx.speedOfSound=value;AL.updateListenerSpace(AL.currentCtx);break;case 53248:switch(value){case 0:case 53249:case 53250:case 53251:case 53252:case 53253:case 53254:AL.currentCtx.distanceModel=value;AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}},getListenerParam:(funcname,param)=>{if(!AL.currentCtx){return null}switch(param){case 4100:return AL.currentCtx.listener.position;case 4102:return AL.currentCtx.listener.velocity;case 4111:return AL.currentCtx.listener.direction.concat(AL.currentCtx.listener.up);case 4106:return AL.currentCtx.gain.gain.value;default:AL.currentCtx.err=40962;return null}},setListenerParam:(funcname,param,value)=>{if(!AL.currentCtx){return}if(value===null){AL.currentCtx.err=40962;return}var listener=AL.currentCtx.listener;switch(param){case 4100:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}listener.position[0]=value[0];listener.position[1]=value[1];listener.position[2]=value[2];AL.updateListenerSpace(AL.currentCtx);break;case 4102:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}listener.velocity[0]=value[0];listener.velocity[1]=value[1];listener.velocity[2]=value[2];AL.updateListenerSpace(AL.currentCtx);break;case 4106:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}AL.currentCtx.gain.gain.value=value;break;case 4111:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])||!Number.isFinite(value[3])||!Number.isFinite(value[4])||!Number.isFinite(value[5])){AL.currentCtx.err=40963;return}listener.direction[0]=value[0];listener.direction[1]=value[1];listener.direction[2]=value[2];listener.up[0]=value[3];listener.up[1]=value[4];listener.up[2]=value[5];AL.updateListenerSpace(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}},getBufferParam:(funcname,bufferId,param)=>{if(!AL.currentCtx){return}var buf=AL.buffers[bufferId];if(!buf||bufferId===0){AL.currentCtx.err=40961;return}switch(param){case 8193:return buf.frequency;case 8194:return buf.bytesPerSample*8;case 8195:return buf.channels;case 8196:return buf.length*buf.bytesPerSample*buf.channels;case 8213:if(buf.length===0){return[0,0]}return[(buf.audioBuf._loopStart||0)*buf.frequency,(buf.audioBuf._loopEnd||buf.length)*buf.frequency];default:AL.currentCtx.err=40962;return null}},setBufferParam:(funcname,bufferId,param,value)=>{if(!AL.currentCtx){return}var buf=AL.buffers[bufferId];if(!buf||bufferId===0){AL.currentCtx.err=40961;return}if(value===null){AL.currentCtx.err=40962;return}switch(param){case 8196:if(value!==0){AL.currentCtx.err=40963;return}break;case 8213:if(value[0]<0||value[0]>buf.length||value[1]<0||value[1]>buf.Length||value[0]>=value[1]){AL.currentCtx.err=40963;return}if(buf.refCount>0){AL.currentCtx.err=40964;return}if(buf.audioBuf){buf.audioBuf._loopStart=value[0]/buf.frequency;buf.audioBuf._loopEnd=value[1]/buf.frequency}break;default:AL.currentCtx.err=40962;return}},getSourceParam:(funcname,sourceId,param)=>{if(!AL.currentCtx){return null}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return null}switch(param){case 514:return src.relative;case 4097:return src.coneInnerAngle;case 4098:return src.coneOuterAngle;case 4099:return src.pitch;case 4100:return src.position;case 4101:return src.direction;case 4102:return src.velocity;case 4103:return src.looping;case 4105:if(src.type===4136){return src.bufQueue[0].id}return 0;case 4106:return src.gain.gain.value;case 4109:return src.minGain;case 4110:return src.maxGain;case 4112:return src.state;case 4117:if(src.bufQueue.length===1&&src.bufQueue[0].id===0){return 0}return src.bufQueue.length;case 4118:if(src.bufQueue.length===1&&src.bufQueue[0].id===0||src.looping){return 0}return src.bufsProcessed;case 4128:return src.refDistance;case 4129:return src.rolloffFactor;case 4130:return src.coneOuterGain;case 4131:return src.maxDistance;case 4132:return AL.sourceTell(src);case 4133:var offset=AL.sourceTell(src);if(offset>0){offset*=src.bufQueue[0].frequency}return offset;case 4134:var offset=AL.sourceTell(src);if(offset>0){offset*=src.bufQueue[0].frequency*src.bufQueue[0].bytesPerSample}return offset;case 4135:return src.type;case 4628:return src.spatialize;case 8201:var length=0;var bytesPerFrame=0;for(var i=0;i{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(value===null){AL.currentCtx.err=40962;return}switch(param){case 514:if(value===1){src.relative=true;AL.updateSourceSpace(src)}else if(value===0){src.relative=false;AL.updateSourceSpace(src)}else{AL.currentCtx.err=40963;return}break;case 4097:if(!Number.isFinite(value)){AL.currentCtx.err=40963;return}src.coneInnerAngle=value;if(src.panner){src.panner.coneInnerAngle=value%360}break;case 4098:if(!Number.isFinite(value)){AL.currentCtx.err=40963;return}src.coneOuterAngle=value;if(src.panner){src.panner.coneOuterAngle=value%360}break;case 4099:if(!Number.isFinite(value)||value<=0){AL.currentCtx.err=40963;return}if(src.pitch===value){break}src.pitch=value;AL.updateSourceRate(src);break;case 4100:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.position[0]=value[0];src.position[1]=value[1];src.position[2]=value[2];AL.updateSourceSpace(src);break;case 4101:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.direction[0]=value[0];src.direction[1]=value[1];src.direction[2]=value[2];AL.updateSourceSpace(src);break;case 4102:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.velocity[0]=value[0];src.velocity[1]=value[1];src.velocity[2]=value[2];AL.updateSourceSpace(src);break;case 4103:if(value===1){src.looping=true;AL.updateSourceTime(src);if(src.type===4136&&src.audioQueue.length>0){var audioSrc=src.audioQueue[0];audioSrc.loop=true;audioSrc._duration=Number.POSITIVE_INFINITY}}else if(value===0){src.looping=false;var currentTime=AL.updateSourceTime(src);if(src.type===4136&&src.audioQueue.length>0){var audioSrc=src.audioQueue[0];audioSrc.loop=false;audioSrc._duration=src.bufQueue[0].audioBuf.duration/src.playbackRate;audioSrc._startTime=currentTime-src.bufOffset/src.playbackRate}}else{AL.currentCtx.err=40963;return}break;case 4105:if(src.state===4114||src.state===4115){AL.currentCtx.err=40964;return}if(value===0){for(var i in src.bufQueue){src.bufQueue[i].refCount--}src.bufQueue.length=1;src.bufQueue[0]=AL.buffers[0];src.bufsProcessed=0;src.type=4144}else{var buf=AL.buffers[value];if(!buf){AL.currentCtx.err=40963;return}for(var i in src.bufQueue){src.bufQueue[i].refCount--}src.bufQueue.length=0;buf.refCount++;src.bufQueue=[buf];src.bufsProcessed=0;src.type=4136}AL.initSourcePanner(src);AL.scheduleSourceAudio(src);break;case 4106:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.gain.gain.value=value;break;case 4109:if(!Number.isFinite(value)||value<0||value>Math.min(src.maxGain,1)){AL.currentCtx.err=40963;return}src.minGain=value;break;case 4110:if(!Number.isFinite(value)||value1){AL.currentCtx.err=40963;return}src.maxGain=value;break;case 4128:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.refDistance=value;if(src.panner){src.panner.refDistance=value}break;case 4129:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.rolloffFactor=value;if(src.panner){src.panner.rolloffFactor=value}break;case 4130:if(!Number.isFinite(value)||value<0||value>1){AL.currentCtx.err=40963;return}src.coneOuterGain=value;if(src.panner){src.panner.coneOuterGain=value}break;case 4131:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.maxDistance=value;if(src.panner){src.panner.maxDistance=value}break;case 4132:if(value<0||value>AL.sourceDuration(src)){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case 4133:var srcLen=AL.sourceDuration(src);if(srcLen>0){var frequency;for(var bufId in src.bufQueue){if(bufId){frequency=src.bufQueue[bufId].frequency;break}}value/=frequency}if(value<0||value>srcLen){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case 4134:var srcLen=AL.sourceDuration(src);if(srcLen>0){var bytesPerSec;for(var bufId in src.bufQueue){if(bufId){var buf=src.bufQueue[bufId];bytesPerSec=buf.frequency*buf.bytesPerSample*buf.channels;break}}value/=bytesPerSec}if(value<0||value>srcLen){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case 4628:if(value!==0&&value!==1&&value!==2){AL.currentCtx.err=40963;return}src.spatialize=value;AL.initSourcePanner(src);break;case 8201:case 8202:case 8203:AL.currentCtx.err=40964;break;case 53248:switch(value){case 0:case 53249:case 53250:case 53251:case 53252:case 53253:case 53254:src.distanceModel=value;if(AL.currentCtx.sourceDistanceModel){AL.updateContextGlobal(AL.currentCtx)}break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}},captures:{},sharedCaptureAudioCtx:null,requireValidCaptureDevice:(deviceId,funcname)=>{if(deviceId===0){AL.alcErr=40961;return null}var c=AL.captures[deviceId];if(!c){AL.alcErr=40961;return null}var err=c.mediaStreamError;if(err){AL.alcErr=40961;return null}return c}};var _alBuffer3f=(bufferId,param,value0,value1,value2)=>{AL.setBufferParam("alBuffer3f",bufferId,param,null)};_alBuffer3f.sig="viifff";var _alBuffer3i=(bufferId,param,value0,value1,value2)=>{AL.setBufferParam("alBuffer3i",bufferId,param,null)};_alBuffer3i.sig="viiiii";var _alBufferData=(bufferId,format,pData,size,freq)=>{if(!AL.currentCtx){return}var buf=AL.buffers[bufferId];if(!buf){AL.currentCtx.err=40963;return}if(freq<=0){AL.currentCtx.err=40963;return}var audioBuf=null;try{switch(format){case 4352:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size,freq);var channel0=audioBuf.getChannelData(0);for(var i=0;i0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size>>1,freq);var channel0=audioBuf.getChannelData(0);pData>>=1;for(var i=0;i>1;++i){channel0[i]=HEAP16[pData++]*30517578125e-15}}buf.bytesPerSample=2;buf.channels=1;buf.length=size>>1;break;case 4354:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>1,freq);var channel0=audioBuf.getChannelData(0);var channel1=audioBuf.getChannelData(1);for(var i=0;i>1;++i){channel0[i]=HEAPU8[pData++]*.0078125-1;channel1[i]=HEAPU8[pData++]*.0078125-1}}buf.bytesPerSample=1;buf.channels=2;buf.length=size>>1;break;case 4355:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>2,freq);var channel0=audioBuf.getChannelData(0);var channel1=audioBuf.getChannelData(1);pData>>=1;for(var i=0;i>2;++i){channel0[i]=HEAP16[pData++]*30517578125e-15;channel1[i]=HEAP16[pData++]*30517578125e-15}}buf.bytesPerSample=2;buf.channels=2;buf.length=size>>2;break;case 65552:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size>>2,freq);var channel0=audioBuf.getChannelData(0);pData>>=2;for(var i=0;i>2;++i){channel0[i]=HEAPF32[pData++]}}buf.bytesPerSample=4;buf.channels=1;buf.length=size>>2;break;case 65553:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>3,freq);var channel0=audioBuf.getChannelData(0);var channel1=audioBuf.getChannelData(1);pData>>=2;for(var i=0;i>3;++i){channel0[i]=HEAPF32[pData++];channel1[i]=HEAPF32[pData++]}}buf.bytesPerSample=4;buf.channels=2;buf.length=size>>3;break;default:AL.currentCtx.err=40963;return}buf.frequency=freq;buf.audioBuf=audioBuf}catch(e){AL.currentCtx.err=40963;return}};_alBufferData.sig="viipii";var _alBufferf=(bufferId,param,value)=>{AL.setBufferParam("alBufferf",bufferId,param,null)};_alBufferf.sig="viif";var _alBufferfv=(bufferId,param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}AL.setBufferParam("alBufferfv",bufferId,param,null)};_alBufferfv.sig="viip";var _alBufferi=(bufferId,param,value)=>{AL.setBufferParam("alBufferi",bufferId,param,null)};_alBufferi.sig="viii";var _alBufferiv=(bufferId,param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 8213:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.setBufferParam("alBufferiv",bufferId,param,AL.paramArray);break;default:AL.setBufferParam("alBufferiv",bufferId,param,null);break}};_alBufferiv.sig="viip";var _alDeleteBuffers=(count,pBufferIds)=>{if(!AL.currentCtx){return}for(var i=0;i>2];if(bufId===0){continue}if(!AL.buffers[bufId]){AL.currentCtx.err=40961;return}if(AL.buffers[bufId].refCount){AL.currentCtx.err=40964;return}}for(var i=0;i>2];if(bufId===0){continue}AL.deviceRefCounts[AL.buffers[bufId].deviceId]--;delete AL.buffers[bufId];AL.freeIds.push(bufId)}};_alDeleteBuffers.sig="vip";var _alSourcei=(sourceId,param,value)=>{switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4628:case 8201:case 8202:case 53248:AL.setSourceParam("alSourcei",sourceId,param,value);break;default:AL.setSourceParam("alSourcei",sourceId,param,null);break}};_alSourcei.sig="viii";var _alDeleteSources=(count,pSourceIds)=>{if(!AL.currentCtx){return}for(var i=0;i>2];if(!AL.currentCtx.sources[srcId]){AL.currentCtx.err=40961;return}}for(var i=0;i>2];AL.setSourceState(AL.currentCtx.sources[srcId],4116);_alSourcei(srcId,4105,0);delete AL.currentCtx.sources[srcId];AL.freeIds.push(srcId)}};_alDeleteSources.sig="vip";var _alDisable=param=>{if(!AL.currentCtx){return}switch(param){case 512:AL.currentCtx.sourceDistanceModel=false;AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}};_alDisable.sig="vi";var _alDistanceModel=model=>{AL.setGlobalParam("alDistanceModel",53248,model)};_alDistanceModel.sig="vi";var _alDopplerFactor=value=>{AL.setGlobalParam("alDopplerFactor",49152,value)};_alDopplerFactor.sig="vf";var _alDopplerVelocity=value=>{warnOnce("alDopplerVelocity() is deprecated, and only kept for compatibility with OpenAL 1.0. Use alSpeedOfSound() instead.");if(!AL.currentCtx){return}if(value<=0){AL.currentCtx.err=40963;return}};_alDopplerVelocity.sig="vf";var _alEnable=param=>{if(!AL.currentCtx){return}switch(param){case 512:AL.currentCtx.sourceDistanceModel=true;AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}};_alEnable.sig="vi";var _alGenBuffers=(count,pBufferIds)=>{if(!AL.currentCtx){return}for(var i=0;i>2]=buf.id}};_alGenBuffers.sig="vip";var _alGenSources=(count,pSourceIds)=>{if(!AL.currentCtx){return}for(var i=0;i>2]=src.id}};_alGenSources.sig="vip";var _alGetBoolean=param=>{var val=AL.getGlobalParam("alGetBoolean",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val!==0?1:0;default:AL.currentCtx.err=40962;return 0}};_alGetBoolean.sig="ii";var _alGetBooleanv=(param,pValues)=>{var val=AL.getGlobalParam("alGetBooleanv",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAP8[pValues]=val;break;default:AL.currentCtx.err=40962;return}};_alGetBooleanv.sig="vip";var _alGetBuffer3f=(bufferId,param,pValue0,pValue1,pValue2)=>{var val=AL.getBufferParam("alGetBuffer3f",bufferId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962};_alGetBuffer3f.sig="viippp";var _alGetBuffer3i=(bufferId,param,pValue0,pValue1,pValue2)=>{var val=AL.getBufferParam("alGetBuffer3i",bufferId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962};_alGetBuffer3i.sig="viippp";var _alGetBufferf=(bufferId,param,pValue)=>{var val=AL.getBufferParam("alGetBufferf",bufferId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962};_alGetBufferf.sig="viip";var _alGetBufferfv=(bufferId,param,pValues)=>{var val=AL.getBufferParam("alGetBufferfv",bufferId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962};_alGetBufferfv.sig="viip";var _alGetBufferi=(bufferId,param,pValue)=>{var val=AL.getBufferParam("alGetBufferi",bufferId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 8193:case 8194:case 8195:case 8196:HEAP32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetBufferi.sig="viip";var _alGetBufferiv=(bufferId,param,pValues)=>{var val=AL.getBufferParam("alGetBufferiv",bufferId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 8193:case 8194:case 8195:case 8196:HEAP32[pValues>>2]=val;break;case 8213:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];break;default:AL.currentCtx.err=40962;return}};_alGetBufferiv.sig="viip";var _alGetDouble=param=>{var val=AL.getGlobalParam("alGetDouble",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val;default:AL.currentCtx.err=40962;return 0}};_alGetDouble.sig="di";var _alGetDoublev=(param,pValues)=>{var val=AL.getGlobalParam("alGetDoublev",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAPF64[pValues>>3]=val;break;default:AL.currentCtx.err=40962;return}};_alGetDoublev.sig="vip";var _alGetEnumValue=pEnumName=>{if(!AL.currentCtx){return 0}if(!pEnumName){AL.currentCtx.err=40963;return 0}var name=UTF8ToString(pEnumName);switch(name){case"AL_BITS":return 8194;case"AL_BUFFER":return 4105;case"AL_BUFFERS_PROCESSED":return 4118;case"AL_BUFFERS_QUEUED":return 4117;case"AL_BYTE_OFFSET":return 4134;case"AL_CHANNELS":return 8195;case"AL_CONE_INNER_ANGLE":return 4097;case"AL_CONE_OUTER_ANGLE":return 4098;case"AL_CONE_OUTER_GAIN":return 4130;case"AL_DIRECTION":return 4101;case"AL_DISTANCE_MODEL":return 53248;case"AL_DOPPLER_FACTOR":return 49152;case"AL_DOPPLER_VELOCITY":return 49153;case"AL_EXPONENT_DISTANCE":return 53253;case"AL_EXPONENT_DISTANCE_CLAMPED":return 53254;case"AL_EXTENSIONS":return 45060;case"AL_FORMAT_MONO16":return 4353;case"AL_FORMAT_MONO8":return 4352;case"AL_FORMAT_STEREO16":return 4355;case"AL_FORMAT_STEREO8":return 4354;case"AL_FREQUENCY":return 8193;case"AL_GAIN":return 4106;case"AL_INITIAL":return 4113;case"AL_INVALID":return-1;case"AL_ILLEGAL_ENUM":case"AL_INVALID_ENUM":return 40962;case"AL_INVALID_NAME":return 40961;case"AL_ILLEGAL_COMMAND":case"AL_INVALID_OPERATION":return 40964;case"AL_INVALID_VALUE":return 40963;case"AL_INVERSE_DISTANCE":return 53249;case"AL_INVERSE_DISTANCE_CLAMPED":return 53250;case"AL_LINEAR_DISTANCE":return 53251;case"AL_LINEAR_DISTANCE_CLAMPED":return 53252;case"AL_LOOPING":return 4103;case"AL_MAX_DISTANCE":return 4131;case"AL_MAX_GAIN":return 4110;case"AL_MIN_GAIN":return 4109;case"AL_NONE":return 0;case"AL_NO_ERROR":return 0;case"AL_ORIENTATION":return 4111;case"AL_OUT_OF_MEMORY":return 40965;case"AL_PAUSED":return 4115;case"AL_PENDING":return 8209;case"AL_PITCH":return 4099;case"AL_PLAYING":return 4114;case"AL_POSITION":return 4100;case"AL_PROCESSED":return 8210;case"AL_REFERENCE_DISTANCE":return 4128;case"AL_RENDERER":return 45059;case"AL_ROLLOFF_FACTOR":return 4129;case"AL_SAMPLE_OFFSET":return 4133;case"AL_SEC_OFFSET":return 4132;case"AL_SIZE":return 8196;case"AL_SOURCE_RELATIVE":return 514;case"AL_SOURCE_STATE":return 4112;case"AL_SOURCE_TYPE":return 4135;case"AL_SPEED_OF_SOUND":return 49155;case"AL_STATIC":return 4136;case"AL_STOPPED":return 4116;case"AL_STREAMING":return 4137;case"AL_UNDETERMINED":return 4144;case"AL_UNUSED":return 8208;case"AL_VELOCITY":return 4102;case"AL_VENDOR":return 45057;case"AL_VERSION":return 45058;case"AL_AUTO_SOFT":return 2;case"AL_SOURCE_DISTANCE_MODEL":return 512;case"AL_SOURCE_SPATIALIZE_SOFT":return 4628;case"AL_LOOP_POINTS_SOFT":return 8213;case"AL_BYTE_LENGTH_SOFT":return 8201;case"AL_SAMPLE_LENGTH_SOFT":return 8202;case"AL_SEC_LENGTH_SOFT":return 8203;case"AL_FORMAT_MONO_FLOAT32":return 65552;case"AL_FORMAT_STEREO_FLOAT32":return 65553;default:AL.currentCtx.err=40963;return 0}};_alGetEnumValue.sig="ip";var _alGetError=()=>{if(!AL.currentCtx){return 40964}var err=AL.currentCtx.err;AL.currentCtx.err=0;return err};_alGetError.sig="i";var _alGetFloat=param=>{var val=AL.getGlobalParam("alGetFloat",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val;default:return 0}};_alGetFloat.sig="fi";var _alGetFloatv=(param,pValues)=>{var val=AL.getGlobalParam("alGetFloatv",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAPF32[pValues>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetFloatv.sig="vip";var _alGetInteger=param=>{var val=AL.getGlobalParam("alGetInteger",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val;default:AL.currentCtx.err=40962;return 0}};_alGetInteger.sig="ii";var _alGetIntegerv=(param,pValues)=>{var val=AL.getGlobalParam("alGetIntegerv",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAP32[pValues>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetIntegerv.sig="vip";var _alGetListener3f=(param,pValue0,pValue1,pValue2)=>{var val=AL.getListenerParam("alGetListener3f",param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAPF32[pValue0>>2]=val[0];HEAPF32[pValue1>>2]=val[1];HEAPF32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetListener3f.sig="vippp";var _alGetListener3i=(param,pValue0,pValue1,pValue2)=>{var val=AL.getListenerParam("alGetListener3i",param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAP32[pValue0>>2]=val[0];HEAP32[pValue1>>2]=val[1];HEAP32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetListener3i.sig="vippp";var _alGetListenerf=(param,pValue)=>{var val=AL.getListenerParam("alGetListenerf",param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 4106:HEAPF32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetListenerf.sig="vip";var _alGetListenerfv=(param,pValues)=>{var val=AL.getListenerParam("alGetListenerfv",param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAPF32[pValues>>2]=val[0];HEAPF32[pValues+4>>2]=val[1];HEAPF32[pValues+8>>2]=val[2];break;case 4111:HEAPF32[pValues>>2]=val[0];HEAPF32[pValues+4>>2]=val[1];HEAPF32[pValues+8>>2]=val[2];HEAPF32[pValues+12>>2]=val[3];HEAPF32[pValues+16>>2]=val[4];HEAPF32[pValues+20>>2]=val[5];break;default:AL.currentCtx.err=40962;return}};_alGetListenerfv.sig="vip";var _alGetListeneri=(param,pValue)=>{var val=AL.getListenerParam("alGetListeneri",param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962};_alGetListeneri.sig="vip";var _alGetListeneriv=(param,pValues)=>{var val=AL.getListenerParam("alGetListeneriv",param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];HEAP32[pValues+8>>2]=val[2];break;case 4111:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];HEAP32[pValues+8>>2]=val[2];HEAP32[pValues+12>>2]=val[3];HEAP32[pValues+16>>2]=val[4];HEAP32[pValues+20>>2]=val[5];break;default:AL.currentCtx.err=40962;return}};_alGetListeneriv.sig="vip";var _alGetSource3f=(sourceId,param,pValue0,pValue1,pValue2)=>{var val=AL.getSourceParam("alGetSource3f",sourceId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4101:case 4102:HEAPF32[pValue0>>2]=val[0];HEAPF32[pValue1>>2]=val[1];HEAPF32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetSource3f.sig="viippp";var _alGetSource3i=(sourceId,param,pValue0,pValue1,pValue2)=>{var val=AL.getSourceParam("alGetSource3i",sourceId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4101:case 4102:HEAP32[pValue0>>2]=val[0];HEAP32[pValue1>>2]=val[1];HEAP32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetSource3i.sig="viippp";var _alGetSourcef=(sourceId,param,pValue)=>{var val=AL.getSourceParam("alGetSourcef",sourceId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:HEAPF32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetSourcef.sig="viip";var _alGetSourcefv=(sourceId,param,pValues)=>{var val=AL.getSourceParam("alGetSourcefv",sourceId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:HEAPF32[pValues>>2]=val[0];break;case 4100:case 4101:case 4102:HEAPF32[pValues>>2]=val[0];HEAPF32[pValues+4>>2]=val[1];HEAPF32[pValues+8>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetSourcefv.sig="viip";var _alGetSourcei=(sourceId,param,pValue)=>{var val=AL.getSourceParam("alGetSourcei",sourceId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4112:case 4117:case 4118:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4135:case 4628:case 8201:case 8202:case 53248:HEAP32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetSourcei.sig="viip";var _alGetSourceiv=(sourceId,param,pValues)=>{var val=AL.getSourceParam("alGetSourceiv",sourceId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4112:case 4117:case 4118:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4135:case 4628:case 8201:case 8202:case 53248:HEAP32[pValues>>2]=val;break;case 4100:case 4101:case 4102:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];HEAP32[pValues+8>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetSourceiv.sig="viip";var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var _alGetString=param=>{if(AL.stringCache[param]){return AL.stringCache[param]}var ret;switch(param){case 0:ret="No Error";break;case 40961:ret="Invalid Name";break;case 40962:ret="Invalid Enum";break;case 40963:ret="Invalid Value";break;case 40964:ret="Invalid Operation";break;case 40965:ret="Out of Memory";break;case 45057:ret="Emscripten";break;case 45058:ret="1.1";break;case 45059:ret="WebAudio";break;case 45060:ret=Object.keys(AL.AL_EXTENSIONS).join(" ");break;default:if(AL.currentCtx){AL.currentCtx.err=40962}else{}return 0}ret=stringToNewUTF8(ret);AL.stringCache[param]=ret;return ret};_alGetString.sig="pi";var _alIsBuffer=bufferId=>{if(!AL.currentCtx){return false}if(bufferId>AL.buffers.length){return false}if(!AL.buffers[bufferId]){return false}return true};_alIsBuffer.sig="ii";var _alIsEnabled=param=>{if(!AL.currentCtx){return 0}switch(param){case 512:return AL.currentCtx.sourceDistanceModel?0:1;default:AL.currentCtx.err=40962;return 0}};_alIsEnabled.sig="ii";var _alIsExtensionPresent=pExtName=>{var name=UTF8ToString(pExtName);return AL.AL_EXTENSIONS[name]?1:0};_alIsExtensionPresent.sig="ip";var _alIsSource=sourceId=>{if(!AL.currentCtx){return false}if(!AL.currentCtx.sources[sourceId]){return false}return true};_alIsSource.sig="ii";var _alListener3f=(param,value0,value1,value2)=>{switch(param){case 4100:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setListenerParam("alListener3f",param,AL.paramArray);break;default:AL.setListenerParam("alListener3f",param,null);break}};_alListener3f.sig="vifff";var _alListener3i=(param,value0,value1,value2)=>{switch(param){case 4100:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setListenerParam("alListener3i",param,AL.paramArray);break;default:AL.setListenerParam("alListener3i",param,null);break}};_alListener3i.sig="viiii";var _alListenerf=(param,value)=>{switch(param){case 4106:AL.setListenerParam("alListenerf",param,value);break;default:AL.setListenerParam("alListenerf",param,null);break}};_alListenerf.sig="vif";var _alListenerfv=(param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.setListenerParam("alListenerfv",param,AL.paramArray);break;case 4111:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.paramArray[3]=HEAPF32[pValues+12>>2];AL.paramArray[4]=HEAPF32[pValues+16>>2];AL.paramArray[5]=HEAPF32[pValues+20>>2];AL.setListenerParam("alListenerfv",param,AL.paramArray);break;default:AL.setListenerParam("alListenerfv",param,null);break}};_alListenerfv.sig="vip";var _alListeneri=(param,value)=>{AL.setListenerParam("alListeneri",param,null)};_alListeneri.sig="vii";var _alListeneriv=(param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.paramArray[2]=HEAP32[pValues+8>>2];AL.setListenerParam("alListeneriv",param,AL.paramArray);break;case 4111:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.paramArray[2]=HEAP32[pValues+8>>2];AL.paramArray[3]=HEAP32[pValues+12>>2];AL.paramArray[4]=HEAP32[pValues+16>>2];AL.paramArray[5]=HEAP32[pValues+20>>2];AL.setListenerParam("alListeneriv",param,AL.paramArray);break;default:AL.setListenerParam("alListeneriv",param,null);break}};_alListeneriv.sig="vip";var _alSource3f=(sourceId,param,value0,value1,value2)=>{switch(param){case 4100:case 4101:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setSourceParam("alSource3f",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSource3f",sourceId,param,null);break}};_alSource3f.sig="viifff";var _alSource3i=(sourceId,param,value0,value1,value2)=>{switch(param){case 4100:case 4101:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setSourceParam("alSource3i",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSource3i",sourceId,param,null);break}};_alSource3i.sig="viiiii";var _alSourcePause=sourceId=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4115)};_alSourcePause.sig="vi";var _alSourcePausev=(count,pSourceIds)=>{if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i>2];AL.setSourceState(AL.currentCtx.sources[srcId],4115)}};_alSourcePausev.sig="vip";var _alSourcePlay=sourceId=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4114)};_alSourcePlay.sig="vi";var _alSourcePlayv=(count,pSourceIds)=>{if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i>2];AL.setSourceState(AL.currentCtx.sources[srcId],4114)}};_alSourcePlayv.sig="vip";var _alSourceQueueBuffers=(sourceId,count,pBufferIds)=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(src.type===4136){AL.currentCtx.err=40964;return}if(count===0){return}var templateBuf=AL.buffers[0];for(var buf of src.bufQueue){if(buf.id!==0){templateBuf=buf;break}}for(var i=0;i>2];var buf=AL.buffers[bufId];if(!buf){AL.currentCtx.err=40961;return}if(templateBuf.id!==0&&(buf.frequency!==templateBuf.frequency||buf.bytesPerSample!==templateBuf.bytesPerSample||buf.channels!==templateBuf.channels)){AL.currentCtx.err=40964}}if(src.bufQueue.length===1&&src.bufQueue[0].id===0){src.bufQueue.length=0}src.type=4137;for(var i=0;i>2];var buf=AL.buffers[bufId];buf.refCount++;src.bufQueue.push(buf)}if(src.looping){AL.cancelPendingSourceAudio(src)}AL.initSourcePanner(src);AL.scheduleSourceAudio(src)};_alSourceQueueBuffers.sig="viip";var _alSourceRewind=sourceId=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4116);AL.setSourceState(src,4113)};_alSourceRewind.sig="vi";var _alSourceRewindv=(count,pSourceIds)=>{if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i>2];AL.setSourceState(AL.currentCtx.sources[srcId],4113)}};_alSourceRewindv.sig="vip";var _alSourceStop=sourceId=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4116)};_alSourceStop.sig="vi";var _alSourceStopv=(count,pSourceIds)=>{if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i>2];AL.setSourceState(AL.currentCtx.sources[srcId],4116)}};_alSourceStopv.sig="vip";var _alSourceUnqueueBuffers=(sourceId,count,pBufferIds)=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(count>(src.bufQueue.length===1&&src.bufQueue[0].id===0?0:src.bufsProcessed)){AL.currentCtx.err=40963;return}if(count===0){return}for(var i=0;i>2]=buf.id;src.bufsProcessed--}if(src.bufQueue.length===0){src.bufQueue.push(AL.buffers[0])}AL.initSourcePanner(src);AL.scheduleSourceAudio(src)};_alSourceUnqueueBuffers.sig="viip";var _alSourcef=(sourceId,param,value)=>{switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:AL.setSourceParam("alSourcef",sourceId,param,value);break;default:AL.setSourceParam("alSourcef",sourceId,param,null);break}};_alSourcef.sig="viif";var _alSourcefv=(sourceId,param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:var val=HEAPF32[pValues>>2];AL.setSourceParam("alSourcefv",sourceId,param,val);break;case 4100:case 4101:case 4102:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.setSourceParam("alSourcefv",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSourcefv",sourceId,param,null);break}};_alSourcefv.sig="viip";var _alSourceiv=(sourceId,param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4628:case 8201:case 8202:case 53248:var val=HEAP32[pValues>>2];AL.setSourceParam("alSourceiv",sourceId,param,val);break;case 4100:case 4101:case 4102:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.paramArray[2]=HEAP32[pValues+8>>2];AL.setSourceParam("alSourceiv",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSourceiv",sourceId,param,null);break}};_alSourceiv.sig="viip";var _alSpeedOfSound=value=>{AL.setGlobalParam("alSpeedOfSound",49155,value)};_alSpeedOfSound.sig="vf";var _alcCaptureCloseDevice=deviceId=>{var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureCloseDevice");if(!c)return false;delete AL.captures[deviceId];AL.freeIds.push(deviceId);c.mediaStreamSourceNode?.disconnect();c.mergerNode?.disconnect();c.splitterNode?.disconnect();c.scriptProcessorNode?.disconnect();if(c.mediaStream){c.mediaStream.getTracks().forEach(track=>track.stop())}delete c.buffers;c.capturedFrameCount=0;c.isCapturing=false;return true};_alcCaptureCloseDevice.sig="ip";var listenOnce=(object,event,func)=>object.addEventListener(event,func,{once:true});var autoResumeAudioContext=(ctx,elements)=>{if(!elements){elements=[document,document.getElementById("canvas")]}["keydown","mousedown","touchstart"].forEach(event=>{elements.forEach(element=>{if(element){listenOnce(element,event,()=>{if(ctx.state==="suspended")ctx.resume()})}})})};var _alcCaptureOpenDevice=(pDeviceName,requestedSampleRate,format,bufferFrameCapacity)=>{var resolvedDeviceName=AL.CAPTURE_DEVICE_NAME;if(pDeviceName!==0){resolvedDeviceName=UTF8ToString(pDeviceName);if(resolvedDeviceName!==AL.CAPTURE_DEVICE_NAME){AL.alcErr=40965;return 0}}if(bufferFrameCapacity<0){AL.alcErr=40964;return 0}navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var has_getUserMedia=navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia;if(!has_getUserMedia){AL.alcErr=40965;return 0}var AudioContext=window.AudioContext||window.webkitAudioContext;if(!AL.sharedCaptureAudioCtx){try{AL.sharedCaptureAudioCtx=new AudioContext}catch(e){AL.alcErr=40965;return 0}}autoResumeAudioContext(AL.sharedCaptureAudioCtx);var outputChannelCount;switch(format){case 65552:case 4353:case 4352:outputChannelCount=1;break;case 65553:case 4355:case 4354:outputChannelCount=2;break;default:AL.alcErr=40964;return 0}function newF32Array(cap){return new Float32Array(cap)}function newI16Array(cap){return new Int16Array(cap)}function newU8Array(cap){return new Uint8Array(cap)}var requestedSampleType;var newSampleArray;switch(format){case 65552:case 65553:requestedSampleType="f32";newSampleArray=newF32Array;break;case 4353:case 4355:requestedSampleType="i16";newSampleArray=newI16Array;break;case 4352:case 4354:requestedSampleType="u8";newSampleArray=newU8Array;break}var buffers=[];try{for(var chan=0;chan{newCapture.mediaStreamError=mediaStreamError};var onSuccess=mediaStream=>{newCapture.mediaStreamSourceNode=newCapture.audioCtx.createMediaStreamSource(mediaStream);newCapture.mediaStream=mediaStream;var inputChannelCount=1;switch(newCapture.mediaStreamSourceNode.channelCountMode){case"max":inputChannelCount=outputChannelCount;break;case"clamped-max":inputChannelCount=Math.min(outputChannelCount,newCapture.mediaStreamSourceNode.channelCount);break;case"explicit":inputChannelCount=newCapture.mediaStreamSourceNode.channelCount;break}newCapture.inputChannelCount=inputChannelCount;var processorFrameCount=512;newCapture.scriptProcessorNode=newCapture.audioCtx.createScriptProcessor(processorFrameCount,inputChannelCount,outputChannelCount);if(inputChannelCount>outputChannelCount){newCapture.mergerNode=newCapture.audioCtx.createChannelMerger(inputChannelCount);newCapture.mediaStreamSourceNode.connect(newCapture.mergerNode);newCapture.mergerNode.connect(newCapture.scriptProcessorNode)}else if(inputChannelCount{if(!newCapture.isCapturing){return}var c=newCapture;var srcBuf=audioProcessingEvent.inputBuffer;switch(format){case 65552:var channel0=srcBuf.getChannelData(0);for(var i=0;i{var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureSamples");if(!c)return;var dstfreq=c.requestedSampleRate;var srcfreq=c.audioCtx.sampleRate;var fratio=srcfreq/dstfreq;if(requestedFrameCount<0||requestedFrameCount>c.capturedFrameCount/fratio){AL.alcErr=40964;return}function setF32Sample(i,sample){HEAPF32[pFrames+4*i>>2]=sample}function setI16Sample(i,sample){HEAP16[pFrames+2*i>>1]=sample}function setU8Sample(i,sample){HEAP8[pFrames+i]=sample}var setSample;switch(c.requestedSampleType){case"f32":setSample=setF32Sample;break;case"i16":setSample=setI16Sample;break;case"u8":setSample=setU8Sample;break;default:return}if(Math.floor(fratio)==fratio){for(var i=0,frame_i=0;frame_i{var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureStart");if(!c)return;if(c.isCapturing){return}c.isCapturing=true;c.capturedFrameCount=0;c.capturePlayhead=0};_alcCaptureStart.sig="vp";var _alcCaptureStop=deviceId=>{var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureStop");if(!c)return;c.isCapturing=false};_alcCaptureStop.sig="vp";var _alcCloseDevice=deviceId=>{if(!(deviceId in AL.deviceRefCounts)||AL.deviceRefCounts[deviceId]>0){return 0}delete AL.deviceRefCounts[deviceId];AL.freeIds.push(deviceId);return 1};_alcCloseDevice.sig="ip";var _alcCreateContext=(deviceId,pAttrList)=>{if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return 0}var options=null;var attrs=[];var hrtf=null;pAttrList>>=2;if(pAttrList){var attr=0;var val=0;while(true){attr=HEAP32[pAttrList++];attrs.push(attr);if(attr===0){break}val=HEAP32[pAttrList++];attrs.push(val);switch(attr){case 4103:if(!options){options={}}options.sampleRate=val;break;case 4112:case 4113:break;case 6546:switch(val){case 0:hrtf=false;break;case 1:hrtf=true;break;case 2:break;default:AL.alcErr=40964;return 0}break;case 6550:if(val!==0){AL.alcErr=40964;return 0}break;default:AL.alcErr=40964;return 0}}}var AudioContext=window.AudioContext||window.webkitAudioContext;var ac=null;try{if(options){ac=new AudioContext(options)}else{ac=new AudioContext}}catch(e){if(e.name==="NotSupportedError"){AL.alcErr=40964}else{AL.alcErr=40961}return 0}autoResumeAudioContext(ac);if(typeof ac.createGain=="undefined"){ac.createGain=ac.createGainNode}var gain=ac.createGain();gain.connect(ac.destination);var ctx={deviceId,id:AL.newId(),attrs,audioCtx:ac,listener:{position:[0,0,0],velocity:[0,0,0],direction:[0,0,0],up:[0,0,0]},sources:[],interval:setInterval(()=>AL.scheduleContextAudio(ctx),AL.QUEUE_INTERVAL),gain,distanceModel:53250,speedOfSound:343.3,dopplerFactor:1,sourceDistanceModel:false,hrtf:hrtf||false,_err:0,get err(){return this._err},set err(val){if(this._err===0||val===0){this._err=val}}};AL.deviceRefCounts[deviceId]++;AL.contexts[ctx.id]=ctx;if(hrtf!==null){for(var ctxId in AL.contexts){var c=AL.contexts[ctxId];if(c.deviceId===deviceId){c.hrtf=hrtf;AL.updateContextGlobal(c)}}}return ctx.id};_alcCreateContext.sig="ppp";var _alcDestroyContext=contextId=>{var ctx=AL.contexts[contextId];if(AL.currentCtx===ctx){AL.alcErr=40962;return}if(AL.contexts[contextId].interval){clearInterval(AL.contexts[contextId].interval)}AL.deviceRefCounts[ctx.deviceId]--;delete AL.contexts[contextId];AL.freeIds.push(contextId)};_alcDestroyContext.sig="vp";var _alcGetContextsDevice=contextId=>{if(contextId in AL.contexts){return AL.contexts[contextId].deviceId}return 0};_alcGetContextsDevice.sig="pp";var _alcGetCurrentContext=()=>{if(AL.currentCtx!==null){return AL.currentCtx.id}return 0};_alcGetCurrentContext.sig="p";var _alcGetEnumValue=(deviceId,pEnumName)=>{if(deviceId!==0&&!(deviceId in AL.deviceRefCounts)){return 0}else if(!pEnumName){AL.alcErr=40964;return 0}var name=UTF8ToString(pEnumName);switch(name){case"ALC_NO_ERROR":return 0;case"ALC_INVALID_DEVICE":return 40961;case"ALC_INVALID_CONTEXT":return 40962;case"ALC_INVALID_ENUM":return 40963;case"ALC_INVALID_VALUE":return 40964;case"ALC_OUT_OF_MEMORY":return 40965;case"ALC_MAJOR_VERSION":return 4096;case"ALC_MINOR_VERSION":return 4097;case"ALC_ATTRIBUTES_SIZE":return 4098;case"ALC_ALL_ATTRIBUTES":return 4099;case"ALC_DEFAULT_DEVICE_SPECIFIER":return 4100;case"ALC_DEVICE_SPECIFIER":return 4101;case"ALC_EXTENSIONS":return 4102;case"ALC_FREQUENCY":return 4103;case"ALC_REFRESH":return 4104;case"ALC_SYNC":return 4105;case"ALC_MONO_SOURCES":return 4112;case"ALC_STEREO_SOURCES":return 4113;case"ALC_CAPTURE_DEVICE_SPECIFIER":return 784;case"ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER":return 785;case"ALC_CAPTURE_SAMPLES":return 786;case"ALC_HRTF_SOFT":return 6546;case"ALC_HRTF_ID_SOFT":return 6550;case"ALC_DONT_CARE_SOFT":return 2;case"ALC_HRTF_STATUS_SOFT":return 6547;case"ALC_NUM_HRTF_SPECIFIERS_SOFT":return 6548;case"ALC_HRTF_SPECIFIER_SOFT":return 6549;case"ALC_HRTF_DISABLED_SOFT":return 0;case"ALC_HRTF_ENABLED_SOFT":return 1;case"ALC_HRTF_DENIED_SOFT":return 2;case"ALC_HRTF_REQUIRED_SOFT":return 3;case"ALC_HRTF_HEADPHONES_DETECTED_SOFT":return 4;case"ALC_HRTF_UNSUPPORTED_FORMAT_SOFT":return 5;default:AL.alcErr=40964;return 0}};_alcGetEnumValue.sig="ipp";var _alcGetError=deviceId=>{var err=AL.alcErr;AL.alcErr=0;return err};_alcGetError.sig="ip";var _alcGetIntegerv=(deviceId,param,size,pValues)=>{if(size===0||!pValues){return}switch(param){case 4096:HEAP32[pValues>>2]=1;break;case 4097:HEAP32[pValues>>2]=1;break;case 4098:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=AL.currentCtx.attrs.length;break;case 4099:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}for(var i=0;i>2]=AL.currentCtx.attrs[i]}break;case 4103:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=AL.currentCtx.audioCtx.sampleRate;break;case 4112:case 4113:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=2147483647;break;case 6546:case 6547:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}var hrtfStatus=0;for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId===deviceId){hrtfStatus=ctx.hrtf?1:0}}HEAP32[pValues>>2]=hrtfStatus;break;case 6548:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}HEAP32[pValues>>2]=1;break;case 131075:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=1;case 786:var c=AL.requireValidCaptureDevice(deviceId,"alcGetIntegerv");if(!c){return}var n=c.capturedFrameCount;var dstfreq=c.requestedSampleRate;var srcfreq=c.audioCtx.sampleRate;var nsamples=Math.floor(n*(dstfreq/srcfreq));HEAP32[pValues>>2]=nsamples;break;default:AL.alcErr=40963;return}};_alcGetIntegerv.sig="vpiip";var _alcGetString=(deviceId,param)=>{if(AL.alcStringCache[param]){return AL.alcStringCache[param]}var ret;switch(param){case 0:ret="No Error";break;case 40961:ret="Invalid Device";break;case 40962:ret="Invalid Context";break;case 40963:ret="Invalid Enum";break;case 40964:ret="Invalid Value";break;case 40965:ret="Out of Memory";break;case 4100:if(typeof AudioContext!="undefined"||typeof webkitAudioContext!="undefined"){ret=AL.DEVICE_NAME}else{return 0}break;case 4101:if(typeof AudioContext!="undefined"||typeof webkitAudioContext!="undefined"){ret=AL.DEVICE_NAME+"\0"}else{ret="\0"}break;case 785:ret=AL.CAPTURE_DEVICE_NAME;break;case 784:if(deviceId===0){ret=AL.CAPTURE_DEVICE_NAME+"\0"}else{var c=AL.requireValidCaptureDevice(deviceId,"alcGetString");if(!c){return 0}ret=c.deviceName}break;case 4102:if(!deviceId){AL.alcErr=40961;return 0}ret=Object.keys(AL.ALC_EXTENSIONS).join(" ");break;default:AL.alcErr=40963;return 0}ret=stringToNewUTF8(ret);AL.alcStringCache[param]=ret;return ret};_alcGetString.sig="ppi";var _alcIsExtensionPresent=(deviceId,pExtName)=>{var name=UTF8ToString(pExtName);return AL.ALC_EXTENSIONS[name]?1:0};_alcIsExtensionPresent.sig="ipp";var _alcMakeContextCurrent=contextId=>{if(contextId===0){AL.currentCtx=null}else{AL.currentCtx=AL.contexts[contextId]}return 1};_alcMakeContextCurrent.sig="ip";var _alcOpenDevice=pDeviceName=>{if(pDeviceName){var name=UTF8ToString(pDeviceName);if(name!==AL.DEVICE_NAME){return 0}}if(typeof AudioContext!="undefined"||typeof webkitAudioContext!="undefined"){var deviceId=AL.newId();AL.deviceRefCounts[deviceId]=0;return deviceId}return 0};_alcOpenDevice.sig="pp";var _alcProcessContext=contextId=>{};_alcProcessContext.sig="vp";var _alcSuspendContext=contextId=>{};_alcSuspendContext.sig="vp";var _emscripten_get_now_res=()=>1e3;_emscripten_get_now_res.sig="d";var nowIsMonotonic=1;var checkWasiClock=clock_id=>clock_id>=0&&clock_id<=3;var _clock_res_get=(clk_id,pres)=>{if(!checkWasiClock(clk_id)){return 28}var nsec;if(clk_id===0){nsec=1e3*1e3}else if(nowIsMonotonic){nsec=_emscripten_get_now_res()}else{return 52}tempI64=[nsec>>>0,(tempDouble=nsec,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pres>>2]=tempI64[0],HEAP32[pres+4>>2]=tempI64[1];return 0};_clock_res_get.sig="iip";var _emscripten_date_now=()=>Date.now();_emscripten_date_now.sig="d";function _clock_time_get(clk_id,ignored_precision_low,ignored_precision_high,ptime){var ignored_precision=convertI32PairToI53Checked(ignored_precision_low,ignored_precision_high);if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=_emscripten_date_now()}else if(nowIsMonotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);tempI64=[nsec>>>0,(tempDouble=nsec,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptime>>2]=tempI64[0],HEAP32[ptime+4>>2]=tempI64[1];return 0}_clock_time_get.sig="iiiip";var _emscripten_alcDevicePauseSOFT=deviceId=>{if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(AL.paused){return}AL.paused=true;for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId!==deviceId){continue}ctx.audioCtx.suspend();clearInterval(ctx.interval);ctx.interval=null}};_emscripten_alcDevicePauseSOFT.sig="vi";var _emscripten_alcDeviceResumeSOFT=deviceId=>{if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.paused){return}AL.paused=false;for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId!==deviceId){continue}ctx.interval=setInterval(()=>AL.scheduleContextAudio(ctx),AL.QUEUE_INTERVAL);ctx.audioCtx.resume()}};_emscripten_alcDeviceResumeSOFT.sig="vi";var _emscripten_alcGetStringiSOFT=(deviceId,param,index)=>{if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return 0}if(AL.alcStringCache[param]){return AL.alcStringCache[param]}var ret;switch(param){case 6549:if(index===0){ret="Web Audio HRTF"}else{AL.alcErr=40964;return 0}break;default:if(index!==0){AL.alcErr=40963;return 0}return _alcGetString(deviceId,param)}ret=stringToNewUTF8(ret);AL.alcStringCache[param]=ret;return ret};_emscripten_alcGetStringiSOFT.sig="iiii";var _emscripten_alcResetDeviceSOFT=(deviceId,pAttrList)=>{if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return 0}var hrtf=null;pAttrList>>=2;if(pAttrList){var attr=0;var val=0;while(true){attr=HEAP32[pAttrList++];if(attr===0){break}val=HEAP32[pAttrList++];switch(attr){case 6546:if(val===1){hrtf=true}else if(val===0){hrtf=false}break}}}if(hrtf!==null){for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId===deviceId){ctx.hrtf=hrtf;AL.updateContextGlobal(ctx)}}}return 1};_emscripten_alcResetDeviceSOFT.sig="iii";var readEmAsmArgsArray=[];var readEmAsmArgs=(sigPtr,buf)=>{readEmAsmArgsArray.length=0;var ch;while(ch=HEAPU8[sigPtr++]){var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?HEAPU32[buf>>2]:ch==105?HEAP32[buf>>2]:HEAPF64[buf>>3]);buf+=wide?8:4}return readEmAsmArgsArray};var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code](...args)};var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);_emscripten_asm_const_int.sig="ippp";var _emscripten_console_error=str=>{console.error(UTF8ToString(str))};_emscripten_console_error.sig="vp";var _emscripten_console_log=str=>{console.log(UTF8ToString(str))};_emscripten_console_log.sig="vp";var _emscripten_console_trace=str=>{console.trace(UTF8ToString(str))};_emscripten_console_trace.sig="vp";var _emscripten_console_warn=str=>{console.warn(UTF8ToString(str))};_emscripten_console_warn.sig="vp";var _emscripten_err=str=>err(UTF8ToString(str));_emscripten_err.sig="vp";var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>getHeapMax();_emscripten_get_heap_max.sig="p";var GLctx;var webgl_enable_ANGLE_instanced_arrays=ctx=>{var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=(index,divisor)=>ext["vertexAttribDivisorANGLE"](index,divisor);ctx["drawArraysInstanced"]=(mode,first,count,primcount)=>ext["drawArraysInstancedANGLE"](mode,first,count,primcount);ctx["drawElementsInstanced"]=(mode,count,type,indices,primcount)=>ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount);return 1}};var webgl_enable_OES_vertex_array_object=ctx=>{var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=()=>ext["createVertexArrayOES"]();ctx["deleteVertexArray"]=vao=>ext["deleteVertexArrayOES"](vao);ctx["bindVertexArray"]=vao=>ext["bindVertexArrayOES"](vao);ctx["isVertexArray"]=vao=>ext["isVertexArrayOES"](vao);return 1}};var webgl_enable_WEBGL_draw_buffers=ctx=>{var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=(n,bufs)=>ext["drawBuffersWEBGL"](n,bufs);return 1}};var webgl_enable_EXT_polygon_offset_clamp=ctx=>!!(ctx.extPolygonOffsetClamp=ctx.getExtension("EXT_polygon_offset_clamp"));var webgl_enable_EXT_clip_control=ctx=>!!(ctx.extClipControl=ctx.getExtension("EXT_clip_control"));var webgl_enable_WEBGL_polygon_mode=ctx=>!!(ctx.webglPolygonMode=ctx.getExtension("WEBGL_polygon_mode"));var webgl_enable_WEBGL_multi_draw=ctx=>!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"));var getEmscriptenSupportedExtensions=ctx=>{var supportedExtensions=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"];return(ctx.getSupportedExtensions()||[]).filter(ext=>supportedExtensions.includes(ext))};var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,unpackRowLength:0,recordError:errorCode=>{if(!GL.lastError){GL.lastError=errorCode}},getNewId:table=>{var ret=GL.counter++;for(var i=table.length;i{for(var i=0;i>2]=id}},getSource:(shader,count,string,length)=>{var source="";for(var i=0;i>2]:undefined;source+=UTF8ToString(HEAPU32[string+i*4>>2],len)}return source},createContext:(canvas,webGLContextAttributes)=>{if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;function fixedGetContext(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}canvas.getContext=fixedGetContext}var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:(ctx,webGLContextAttributes)=>{var handle=GL.getNewId(GL.contexts);var context={handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:contextHandle=>{GL.currentContext=GL.contexts[contextHandle];Module["ctx"]=GLctx=GL.currentContext?.GLctx;return!(contextHandle&&!GLctx)},getContext:contextHandle=>GL.contexts[contextHandle],deleteContext:contextHandle=>{if(GL.currentContext===GL.contexts[contextHandle]){GL.currentContext=null}if(typeof JSEvents=="object"){JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas)}if(GL.contexts[contextHandle]?.GLctx.canvas){GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined}GL.contexts[contextHandle]=null},initExtensions:context=>{context||=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_WEBGL_multi_draw(GLctx);webgl_enable_EXT_polygon_offset_clamp(GLctx);webgl_enable_EXT_clip_control(GLctx);webgl_enable_WEBGL_polygon_mode(GLctx);webgl_enable_ANGLE_instanced_arrays(GLctx);webgl_enable_OES_vertex_array_object(GLctx);webgl_enable_WEBGL_draw_buffers(GLctx);{GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}getEmscriptenSupportedExtensions(GLctx).forEach(ext=>{if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var _glActiveTexture=x0=>GLctx.activeTexture(x0);_glActiveTexture.sig="vi";var _emscripten_glActiveTexture=_glActiveTexture;_emscripten_glActiveTexture.sig="vi";var _glAttachShader=(program,shader)=>{GLctx.attachShader(GL.programs[program],GL.shaders[shader])};_glAttachShader.sig="vii";var _emscripten_glAttachShader=_glAttachShader;_emscripten_glAttachShader.sig="vii";var _glBeginQueryEXT=(target,id)=>{GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])};_glBeginQueryEXT.sig="vii";var _emscripten_glBeginQueryEXT=_glBeginQueryEXT;var _glBindAttribLocation=(program,index,name)=>{GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))};_glBindAttribLocation.sig="viip";var _emscripten_glBindAttribLocation=_glBindAttribLocation;_emscripten_glBindAttribLocation.sig="viip";var _glBindBuffer=(target,buffer)=>{GLctx.bindBuffer(target,GL.buffers[buffer])};_glBindBuffer.sig="vii";var _emscripten_glBindBuffer=_glBindBuffer;_emscripten_glBindBuffer.sig="vii";var _glBindFramebuffer=(target,framebuffer)=>{GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])};_glBindFramebuffer.sig="vii";var _emscripten_glBindFramebuffer=_glBindFramebuffer;_emscripten_glBindFramebuffer.sig="vii";var _glBindRenderbuffer=(target,renderbuffer)=>{GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])};_glBindRenderbuffer.sig="vii";var _emscripten_glBindRenderbuffer=_glBindRenderbuffer;_emscripten_glBindRenderbuffer.sig="vii";var _glBindTexture=(target,texture)=>{GLctx.bindTexture(target,GL.textures[texture])};_glBindTexture.sig="vii";var _emscripten_glBindTexture=_glBindTexture;_emscripten_glBindTexture.sig="vii";var _glBindVertexArray=vao=>{GLctx.bindVertexArray(GL.vaos[vao])};_glBindVertexArray.sig="vi";var _glBindVertexArrayOES=_glBindVertexArray;_glBindVertexArrayOES.sig="vi";var _emscripten_glBindVertexArrayOES=_glBindVertexArrayOES;_emscripten_glBindVertexArrayOES.sig="vi";var _glBlendColor=(x0,x1,x2,x3)=>GLctx.blendColor(x0,x1,x2,x3);_glBlendColor.sig="vffff";var _emscripten_glBlendColor=_glBlendColor;_emscripten_glBlendColor.sig="vffff";var _glBlendEquation=x0=>GLctx.blendEquation(x0);_glBlendEquation.sig="vi";var _emscripten_glBlendEquation=_glBlendEquation;_emscripten_glBlendEquation.sig="vi";var _glBlendEquationSeparate=(x0,x1)=>GLctx.blendEquationSeparate(x0,x1);_glBlendEquationSeparate.sig="vii";var _emscripten_glBlendEquationSeparate=_glBlendEquationSeparate;_emscripten_glBlendEquationSeparate.sig="vii";var _glBlendFunc=(x0,x1)=>GLctx.blendFunc(x0,x1);_glBlendFunc.sig="vii";var _emscripten_glBlendFunc=_glBlendFunc;_emscripten_glBlendFunc.sig="vii";var _glBlendFuncSeparate=(x0,x1,x2,x3)=>GLctx.blendFuncSeparate(x0,x1,x2,x3);_glBlendFuncSeparate.sig="viiii";var _emscripten_glBlendFuncSeparate=_glBlendFuncSeparate;_emscripten_glBlendFuncSeparate.sig="viiii";var _glBufferData=(target,size,data,usage)=>{GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)};_glBufferData.sig="vippi";var _emscripten_glBufferData=_glBufferData;_emscripten_glBufferData.sig="vippi";var _glBufferSubData=(target,offset,size,data)=>{GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))};_glBufferSubData.sig="vippp";var _emscripten_glBufferSubData=_glBufferSubData;_emscripten_glBufferSubData.sig="vippp";var _glCheckFramebufferStatus=x0=>GLctx.checkFramebufferStatus(x0);_glCheckFramebufferStatus.sig="ii";var _emscripten_glCheckFramebufferStatus=_glCheckFramebufferStatus;_emscripten_glCheckFramebufferStatus.sig="ii";var _glClear=x0=>GLctx.clear(x0);_glClear.sig="vi";var _emscripten_glClear=_glClear;_emscripten_glClear.sig="vi";var _glClearColor=(x0,x1,x2,x3)=>GLctx.clearColor(x0,x1,x2,x3);_glClearColor.sig="vffff";var _emscripten_glClearColor=_glClearColor;_emscripten_glClearColor.sig="vffff";var _glClearDepthf=x0=>GLctx.clearDepth(x0);_glClearDepthf.sig="vf";var _emscripten_glClearDepthf=_glClearDepthf;_emscripten_glClearDepthf.sig="vf";var _glClearStencil=x0=>GLctx.clearStencil(x0);_glClearStencil.sig="vi";var _emscripten_glClearStencil=_glClearStencil;_emscripten_glClearStencil.sig="vi";var _glClipControlEXT=(origin,depth)=>{GLctx.extClipControl["clipControlEXT"](origin,depth)};_glClipControlEXT.sig="vii";var _emscripten_glClipControlEXT=_glClipControlEXT;var _glColorMask=(red,green,blue,alpha)=>{GLctx.colorMask(!!red,!!green,!!blue,!!alpha)};_glColorMask.sig="viiii";var _emscripten_glColorMask=_glColorMask;_emscripten_glColorMask.sig="viiii";var _glCompileShader=shader=>{GLctx.compileShader(GL.shaders[shader])};_glCompileShader.sig="vi";var _emscripten_glCompileShader=_glCompileShader;_emscripten_glCompileShader.sig="vi";var _glCompressedTexImage2D=(target,level,internalFormat,width,height,border,imageSize,data)=>{GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,HEAPU8.subarray(data,data+imageSize))};_glCompressedTexImage2D.sig="viiiiiiip";var _emscripten_glCompressedTexImage2D=_glCompressedTexImage2D;_emscripten_glCompressedTexImage2D.sig="viiiiiiip";var _glCompressedTexSubImage2D=(target,level,xoffset,yoffset,width,height,format,imageSize,data)=>{GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,HEAPU8.subarray(data,data+imageSize))};_glCompressedTexSubImage2D.sig="viiiiiiiip";var _emscripten_glCompressedTexSubImage2D=_glCompressedTexSubImage2D;_emscripten_glCompressedTexSubImage2D.sig="viiiiiiiip";var _glCopyTexImage2D=(x0,x1,x2,x3,x4,x5,x6,x7)=>GLctx.copyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7);_glCopyTexImage2D.sig="viiiiiiii";var _emscripten_glCopyTexImage2D=_glCopyTexImage2D;_emscripten_glCopyTexImage2D.sig="viiiiiiii";var _glCopyTexSubImage2D=(x0,x1,x2,x3,x4,x5,x6,x7)=>GLctx.copyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7);_glCopyTexSubImage2D.sig="viiiiiiii";var _emscripten_glCopyTexSubImage2D=_glCopyTexSubImage2D;_emscripten_glCopyTexSubImage2D.sig="viiiiiiii";var _glCreateProgram=()=>{var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id};_glCreateProgram.sig="i";var _emscripten_glCreateProgram=_glCreateProgram;_emscripten_glCreateProgram.sig="i";var _glCreateShader=shaderType=>{var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id};_glCreateShader.sig="ii";var _emscripten_glCreateShader=_glCreateShader;_emscripten_glCreateShader.sig="ii";var _glCullFace=x0=>GLctx.cullFace(x0);_glCullFace.sig="vi";var _emscripten_glCullFace=_glCullFace;_emscripten_glCullFace.sig="vi";var _glDeleteBuffers=(n,buffers)=>{for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}};_glDeleteBuffers.sig="vip";var _emscripten_glDeleteBuffers=_glDeleteBuffers;_emscripten_glDeleteBuffers.sig="vip";var _glDeleteFramebuffers=(n,framebuffers)=>{for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}};_glDeleteFramebuffers.sig="vip";var _emscripten_glDeleteFramebuffers=_glDeleteFramebuffers;_emscripten_glDeleteFramebuffers.sig="vip";var _glDeleteProgram=id=>{if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null};_glDeleteProgram.sig="vi";var _emscripten_glDeleteProgram=_glDeleteProgram;_emscripten_glDeleteProgram.sig="vi";var _glDeleteQueriesEXT=(n,ids)=>{for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.queries[id]=null}};_glDeleteQueriesEXT.sig="vip";var _emscripten_glDeleteQueriesEXT=_glDeleteQueriesEXT;var _glDeleteRenderbuffers=(n,renderbuffers)=>{for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}};_glDeleteRenderbuffers.sig="vip";var _emscripten_glDeleteRenderbuffers=_glDeleteRenderbuffers;_emscripten_glDeleteRenderbuffers.sig="vip";var _glDeleteShader=id=>{if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null};_glDeleteShader.sig="vi";var _emscripten_glDeleteShader=_glDeleteShader;_emscripten_glDeleteShader.sig="vi";var _glDeleteTextures=(n,textures)=>{for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}};_glDeleteTextures.sig="vip";var _emscripten_glDeleteTextures=_glDeleteTextures;_emscripten_glDeleteTextures.sig="vip";var _glDeleteVertexArrays=(n,vaos)=>{for(var i=0;i>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}};_glDeleteVertexArrays.sig="vip";var _glDeleteVertexArraysOES=_glDeleteVertexArrays;_glDeleteVertexArraysOES.sig="vip";var _emscripten_glDeleteVertexArraysOES=_glDeleteVertexArraysOES;_emscripten_glDeleteVertexArraysOES.sig="vip";var _glDepthFunc=x0=>GLctx.depthFunc(x0);_glDepthFunc.sig="vi";var _emscripten_glDepthFunc=_glDepthFunc;_emscripten_glDepthFunc.sig="vi";var _glDepthMask=flag=>{GLctx.depthMask(!!flag)};_glDepthMask.sig="vi";var _emscripten_glDepthMask=_glDepthMask;_emscripten_glDepthMask.sig="vi";var _glDepthRangef=(x0,x1)=>GLctx.depthRange(x0,x1);_glDepthRangef.sig="vff";var _emscripten_glDepthRangef=_glDepthRangef;_emscripten_glDepthRangef.sig="vff";var _glDetachShader=(program,shader)=>{GLctx.detachShader(GL.programs[program],GL.shaders[shader])};_glDetachShader.sig="vii";var _emscripten_glDetachShader=_glDetachShader;_emscripten_glDetachShader.sig="vii";var _glDisable=x0=>GLctx.disable(x0);_glDisable.sig="vi";var _emscripten_glDisable=_glDisable;_emscripten_glDisable.sig="vi";var _glDisableVertexAttribArray=index=>{GLctx.disableVertexAttribArray(index)};_glDisableVertexAttribArray.sig="vi";var _emscripten_glDisableVertexAttribArray=_glDisableVertexAttribArray;_emscripten_glDisableVertexAttribArray.sig="vi";var _glDrawArrays=(mode,first,count)=>{GLctx.drawArrays(mode,first,count)};_glDrawArrays.sig="viii";var _emscripten_glDrawArrays=_glDrawArrays;_emscripten_glDrawArrays.sig="viii";var _glDrawArraysInstanced=(mode,first,count,primcount)=>{GLctx.drawArraysInstanced(mode,first,count,primcount)};_glDrawArraysInstanced.sig="viiii";var _glDrawArraysInstancedANGLE=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedANGLE=_glDrawArraysInstancedANGLE;var tempFixedLengthArray=[];var _glDrawBuffers=(n,bufs)=>{var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx.drawBuffers(bufArray)};_glDrawBuffers.sig="vip";var _glDrawBuffersWEBGL=_glDrawBuffers;var _emscripten_glDrawBuffersWEBGL=_glDrawBuffersWEBGL;var _glDrawElements=(mode,count,type,indices)=>{GLctx.drawElements(mode,count,type,indices)};_glDrawElements.sig="viiip";var _emscripten_glDrawElements=_glDrawElements;_emscripten_glDrawElements.sig="viiip";var _glDrawElementsInstanced=(mode,count,type,indices,primcount)=>{GLctx.drawElementsInstanced(mode,count,type,indices,primcount)};_glDrawElementsInstanced.sig="viiipi";var _glDrawElementsInstancedANGLE=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedANGLE=_glDrawElementsInstancedANGLE;var _glEnable=x0=>GLctx.enable(x0);_glEnable.sig="vi";var _emscripten_glEnable=_glEnable;_emscripten_glEnable.sig="vi";var _glEnableVertexAttribArray=index=>{GLctx.enableVertexAttribArray(index)};_glEnableVertexAttribArray.sig="vi";var _emscripten_glEnableVertexAttribArray=_glEnableVertexAttribArray;_emscripten_glEnableVertexAttribArray.sig="vi";var _glEndQueryEXT=target=>{GLctx.disjointTimerQueryExt["endQueryEXT"](target)};_glEndQueryEXT.sig="vi";var _emscripten_glEndQueryEXT=_glEndQueryEXT;var _glFinish=()=>GLctx.finish();_glFinish.sig="v";var _emscripten_glFinish=_glFinish;_emscripten_glFinish.sig="v";var _glFlush=()=>GLctx.flush();_glFlush.sig="v";var _emscripten_glFlush=_glFlush;_emscripten_glFlush.sig="v";var _glFramebufferRenderbuffer=(target,attachment,renderbuffertarget,renderbuffer)=>{GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])};_glFramebufferRenderbuffer.sig="viiii";var _emscripten_glFramebufferRenderbuffer=_glFramebufferRenderbuffer;_emscripten_glFramebufferRenderbuffer.sig="viiii";var _glFramebufferTexture2D=(target,attachment,textarget,texture,level)=>{GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)};_glFramebufferTexture2D.sig="viiiii";var _emscripten_glFramebufferTexture2D=_glFramebufferTexture2D;_emscripten_glFramebufferTexture2D.sig="viiiii";var _glFrontFace=x0=>GLctx.frontFace(x0);_glFrontFace.sig="vi";var _emscripten_glFrontFace=_glFrontFace;_emscripten_glFrontFace.sig="vi";var _glGenBuffers=(n,buffers)=>{GL.genObject(n,buffers,"createBuffer",GL.buffers)};_glGenBuffers.sig="vip";var _emscripten_glGenBuffers=_glGenBuffers;_emscripten_glGenBuffers.sig="vip";var _glGenFramebuffers=(n,ids)=>{GL.genObject(n,ids,"createFramebuffer",GL.framebuffers)};_glGenFramebuffers.sig="vip";var _emscripten_glGenFramebuffers=_glGenFramebuffers;_emscripten_glGenFramebuffers.sig="vip";var _glGenQueriesEXT=(n,ids)=>{for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.queries);query.name=id;GL.queries[id]=query;HEAP32[ids+i*4>>2]=id}};_glGenQueriesEXT.sig="vip";var _emscripten_glGenQueriesEXT=_glGenQueriesEXT;var _glGenRenderbuffers=(n,renderbuffers)=>{GL.genObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)};_glGenRenderbuffers.sig="vip";var _emscripten_glGenRenderbuffers=_glGenRenderbuffers;_emscripten_glGenRenderbuffers.sig="vip";var _glGenTextures=(n,textures)=>{GL.genObject(n,textures,"createTexture",GL.textures)};_glGenTextures.sig="vip";var _emscripten_glGenTextures=_glGenTextures;_emscripten_glGenTextures.sig="vip";var _glGenVertexArrays=(n,arrays)=>{GL.genObject(n,arrays,"createVertexArray",GL.vaos)};_glGenVertexArrays.sig="vip";var _glGenVertexArraysOES=_glGenVertexArrays;_glGenVertexArraysOES.sig="vip";var _emscripten_glGenVertexArraysOES=_glGenVertexArraysOES;_emscripten_glGenVertexArraysOES.sig="vip";var _glGenerateMipmap=x0=>GLctx.generateMipmap(x0);_glGenerateMipmap.sig="vi";var _emscripten_glGenerateMipmap=_glGenerateMipmap;_emscripten_glGenerateMipmap.sig="vi";var __glGetActiveAttribOrUniform=(funcName,program,index,bufSize,length,size,type,name)=>{program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}};var _glGetActiveAttrib=(program,index,bufSize,length,size,type,name)=>__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name);_glGetActiveAttrib.sig="viiipppp";var _emscripten_glGetActiveAttrib=_glGetActiveAttrib;_emscripten_glGetActiveAttrib.sig="viiipppp";var _glGetActiveUniform=(program,index,bufSize,length,size,type,name)=>__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name);_glGetActiveUniform.sig="viiipppp";var _emscripten_glGetActiveUniform=_glGetActiveUniform;_emscripten_glGetActiveUniform.sig="viiipppp";var _glGetAttachedShaders=(program,maxCount,count,shaders)=>{var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}};_glGetAttachedShaders.sig="viipp";var _emscripten_glGetAttachedShaders=_glGetAttachedShaders;_emscripten_glGetAttachedShaders.sig="viipp";var _glGetAttribLocation=(program,name)=>GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name));_glGetAttribLocation.sig="iip";var _emscripten_glGetAttribLocation=_glGetAttribLocation;_emscripten_glGetAttribLocation.sig="iip";var writeI53ToI64=(ptr,num)=>{HEAPU32[ptr>>2]=num;var lower=HEAPU32[ptr>>2];HEAPU32[ptr+4>>2]=(num-lower)/4294967296};var emscriptenWebGLGet=(name_,p,type)=>{if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Unknown object returned from WebGL getParameter(${name_})! (error: ${e})`);return}}break;default:GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Native code calling glGet${type}v(${name_}) and it returns ${result} of type ${typeof result}!`);return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p]=ret?1:0;break}};var _glGetBooleanv=(name_,p)=>emscriptenWebGLGet(name_,p,4);_glGetBooleanv.sig="vip";var _emscripten_glGetBooleanv=_glGetBooleanv;_emscripten_glGetBooleanv.sig="vip";var _glGetBufferParameteriv=(target,value,data)=>{if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)};_glGetBufferParameteriv.sig="viip";var _emscripten_glGetBufferParameteriv=_glGetBufferParameteriv;_emscripten_glGetBufferParameteriv.sig="viip";var _glGetError=()=>{var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error};_glGetError.sig="i";var _emscripten_glGetError=_glGetError;_emscripten_glGetError.sig="i";var _glGetFloatv=(name_,p)=>emscriptenWebGLGet(name_,p,2);_glGetFloatv.sig="vip";var _emscripten_glGetFloatv=_glGetFloatv;_emscripten_glGetFloatv.sig="vip";var _glGetFramebufferAttachmentParameteriv=(target,attachment,pname,params)=>{var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result};_glGetFramebufferAttachmentParameteriv.sig="viiip";var _emscripten_glGetFramebufferAttachmentParameteriv=_glGetFramebufferAttachmentParameteriv;_emscripten_glGetFramebufferAttachmentParameteriv.sig="viiip";var _glGetIntegerv=(name_,p)=>emscriptenWebGLGet(name_,p,0);_glGetIntegerv.sig="vip";var _emscripten_glGetIntegerv=_glGetIntegerv;_emscripten_glGetIntegerv.sig="vip";var _glGetProgramInfoLog=(program,maxLength,length,infoLog)=>{var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};_glGetProgramInfoLog.sig="viipp";var _emscripten_glGetProgramInfoLog=_glGetProgramInfoLog;_emscripten_glGetProgramInfoLog.sig="viipp";var _glGetProgramiv=(program,pname,p)=>{if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){var numActiveUniforms=GLctx.getProgramParameter(program,35718);for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){var numActiveAttributes=GLctx.getProgramParameter(program,35721);for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){var numActiveUniformBlocks=GLctx.getProgramParameter(program,35382);for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}};_glGetProgramiv.sig="viip";var _emscripten_glGetProgramiv=_glGetProgramiv;_emscripten_glGetProgramiv.sig="viip";var _glGetQueryObjecti64vEXT=(id,pname,params)=>{if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;{param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)};_glGetQueryObjecti64vEXT.sig="viip";var _emscripten_glGetQueryObjecti64vEXT=_glGetQueryObjecti64vEXT;var _glGetQueryObjectivEXT=(id,pname,params)=>{if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret};_glGetQueryObjectivEXT.sig="viip";var _emscripten_glGetQueryObjectivEXT=_glGetQueryObjectivEXT;var _glGetQueryObjectui64vEXT=_glGetQueryObjecti64vEXT;var _emscripten_glGetQueryObjectui64vEXT=_glGetQueryObjectui64vEXT;var _glGetQueryObjectuivEXT=_glGetQueryObjectivEXT;var _emscripten_glGetQueryObjectuivEXT=_glGetQueryObjectuivEXT;var _glGetQueryivEXT=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)};_glGetQueryivEXT.sig="viip";var _emscripten_glGetQueryivEXT=_glGetQueryivEXT;var _glGetRenderbufferParameteriv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)};_glGetRenderbufferParameteriv.sig="viip";var _emscripten_glGetRenderbufferParameteriv=_glGetRenderbufferParameteriv;_emscripten_glGetRenderbufferParameteriv.sig="viip";var _glGetShaderInfoLog=(shader,maxLength,length,infoLog)=>{var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};_glGetShaderInfoLog.sig="viipp";var _emscripten_glGetShaderInfoLog=_glGetShaderInfoLog;_emscripten_glGetShaderInfoLog.sig="viipp";var _glGetShaderPrecisionFormat=(shaderType,precisionType,range,precision)=>{var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision};_glGetShaderPrecisionFormat.sig="viipp";var _emscripten_glGetShaderPrecisionFormat=_glGetShaderPrecisionFormat;_emscripten_glGetShaderPrecisionFormat.sig="viipp";var _glGetShaderSource=(shader,bufSize,length,source)=>{var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};_glGetShaderSource.sig="viipp";var _emscripten_glGetShaderSource=_glGetShaderSource;_emscripten_glGetShaderSource.sig="viipp";var _glGetShaderiv=(shader,pname,p)=>{if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}};_glGetShaderiv.sig="viip";var _emscripten_glGetShaderiv=_glGetShaderiv;_emscripten_glGetShaderiv.sig="viip";var webglGetExtensions=()=>{var exts=getEmscriptenSupportedExtensions(GLctx);exts=exts.concat(exts.map(e=>"GL_"+e));return exts};var _glGetString=name_=>{var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:ret=stringToNewUTF8(webglGetExtensions().join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s?stringToNewUTF8(s):0;break;case 7938:var webGLVersion=GLctx.getParameter(7938);var glVersion=`OpenGL ES 2.0 (${webGLVersion})`;ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion=`OpenGL ES GLSL ES ${ver_num[1]} (${glslVersion})`}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret};_glGetString.sig="pi";var _emscripten_glGetString=_glGetString;_emscripten_glGetString.sig="pi";var _glGetTexParameterfv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)};_glGetTexParameterfv.sig="viip";var _emscripten_glGetTexParameterfv=_glGetTexParameterfv;_emscripten_glGetTexParameterfv.sig="viip";var _glGetTexParameteriv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)};_glGetTexParameteriv.sig="viip";var _emscripten_glGetTexParameteriv=_glGetTexParameteriv;_emscripten_glGetTexParameteriv.sig="viip";var jstoi_q=str=>parseInt(str);var webglGetLeftBracePos=name=>name.slice(-1)=="]"&&name.lastIndexOf("[");var webglPrepareUniformLocationsBeforeFirstUse=program=>{var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};var numActiveUniforms=GLctx.getProgramParameter(program,35718);for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j{name=UTF8ToString(name);if(program=GL.programs[program]){webglPrepareUniformLocationsBeforeFirstUse(program);var uniformLocsById=program.uniformLocsById;var arrayIndex=0;var uniformBaseName=name;var leftBrace=webglGetLeftBracePos(name);if(leftBrace>0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex{var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc=="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?`[${webglLoc}]`:""))}return webglLoc}else{GL.recordError(1282)}};var emscriptenWebGLGetUniform=(program,location,params,type)=>{if(!params){GL.recordError(1281);return}program=GL.programs[program];webglPrepareUniformLocationsBeforeFirstUse(program);var data=GLctx.getUniform(program,webglGetUniformLocation(location));if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}};var _glGetUniformfv=(program,location,params)=>{emscriptenWebGLGetUniform(program,location,params,2)};_glGetUniformfv.sig="viip";var _emscripten_glGetUniformfv=_glGetUniformfv;_emscripten_glGetUniformfv.sig="viip";var _glGetUniformiv=(program,location,params)=>{emscriptenWebGLGetUniform(program,location,params,0)};_glGetUniformiv.sig="viip";var _emscripten_glGetUniformiv=_glGetUniformiv;_emscripten_glGetUniformiv.sig="viip";var _glGetVertexAttribPointerv=(index,pname,pointer)=>{if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)};_glGetVertexAttribPointerv.sig="viip";var _emscripten_glGetVertexAttribPointerv=_glGetVertexAttribPointerv;_emscripten_glGetVertexAttribPointerv.sig="viip";var emscriptenWebGLGetVertexAttrib=(index,pname,params,type)=>{if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}};var _glGetVertexAttribfv=(index,pname,params)=>{emscriptenWebGLGetVertexAttrib(index,pname,params,2)};_glGetVertexAttribfv.sig="viip";var _emscripten_glGetVertexAttribfv=_glGetVertexAttribfv;_emscripten_glGetVertexAttribfv.sig="viip";var _glGetVertexAttribiv=(index,pname,params)=>{emscriptenWebGLGetVertexAttrib(index,pname,params,5)};_glGetVertexAttribiv.sig="viip";var _emscripten_glGetVertexAttribiv=_glGetVertexAttribiv;_emscripten_glGetVertexAttribiv.sig="viip";var _glHint=(x0,x1)=>GLctx.hint(x0,x1);_glHint.sig="vii";var _emscripten_glHint=_glHint;_emscripten_glHint.sig="vii";var _glIsBuffer=buffer=>{var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)};_glIsBuffer.sig="ii";var _emscripten_glIsBuffer=_glIsBuffer;_emscripten_glIsBuffer.sig="ii";var _glIsEnabled=x0=>GLctx.isEnabled(x0);_glIsEnabled.sig="ii";var _emscripten_glIsEnabled=_glIsEnabled;_emscripten_glIsEnabled.sig="ii";var _glIsFramebuffer=framebuffer=>{var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)};_glIsFramebuffer.sig="ii";var _emscripten_glIsFramebuffer=_glIsFramebuffer;_emscripten_glIsFramebuffer.sig="ii";var _glIsProgram=program=>{program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)};_glIsProgram.sig="ii";var _emscripten_glIsProgram=_glIsProgram;_emscripten_glIsProgram.sig="ii";var _glIsQueryEXT=id=>{var query=GL.queries[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)};_glIsQueryEXT.sig="ii";var _emscripten_glIsQueryEXT=_glIsQueryEXT;var _glIsRenderbuffer=renderbuffer=>{var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)};_glIsRenderbuffer.sig="ii";var _emscripten_glIsRenderbuffer=_glIsRenderbuffer;_emscripten_glIsRenderbuffer.sig="ii";var _glIsShader=shader=>{var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)};_glIsShader.sig="ii";var _emscripten_glIsShader=_glIsShader;_emscripten_glIsShader.sig="ii";var _glIsTexture=id=>{var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)};_glIsTexture.sig="ii";var _emscripten_glIsTexture=_glIsTexture;_emscripten_glIsTexture.sig="ii";var _glIsVertexArray=array=>{var vao=GL.vaos[array];if(!vao)return 0;return GLctx.isVertexArray(vao)};_glIsVertexArray.sig="ii";var _glIsVertexArrayOES=_glIsVertexArray;_glIsVertexArrayOES.sig="ii";var _emscripten_glIsVertexArrayOES=_glIsVertexArrayOES;_emscripten_glIsVertexArrayOES.sig="ii";var _glLineWidth=x0=>GLctx.lineWidth(x0);_glLineWidth.sig="vf";var _emscripten_glLineWidth=_glLineWidth;_emscripten_glLineWidth.sig="vf";var _glLinkProgram=program=>{program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}};_glLinkProgram.sig="vi";var _emscripten_glLinkProgram=_glLinkProgram;_emscripten_glLinkProgram.sig="vi";var _glPixelStorei=(pname,param)=>{if(pname==3317){GL.unpackAlignment=param}else if(pname==3314){GL.unpackRowLength=param}GLctx.pixelStorei(pname,param)};_glPixelStorei.sig="vii";var _emscripten_glPixelStorei=_glPixelStorei;_emscripten_glPixelStorei.sig="vii";var _glPolygonModeWEBGL=(face,mode)=>{GLctx.webglPolygonMode["polygonModeWEBGL"](face,mode)};_glPolygonModeWEBGL.sig="vii";var _emscripten_glPolygonModeWEBGL=_glPolygonModeWEBGL;var _glPolygonOffset=(x0,x1)=>GLctx.polygonOffset(x0,x1);_glPolygonOffset.sig="vff";var _emscripten_glPolygonOffset=_glPolygonOffset;_emscripten_glPolygonOffset.sig="vff";var _glPolygonOffsetClampEXT=(factor,units,clamp)=>{GLctx.extPolygonOffsetClamp["polygonOffsetClampEXT"](factor,units,clamp)};_glPolygonOffsetClampEXT.sig="vfff";var _emscripten_glPolygonOffsetClampEXT=_glPolygonOffsetClampEXT;var _glQueryCounterEXT=(id,target)=>{GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)};_glQueryCounterEXT.sig="vii";var _emscripten_glQueryCounterEXT=_glQueryCounterEXT;var computeUnpackAlignedImageSize=(width,height,sizePerPixel)=>{function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=(GL.unpackRowLength||width)*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,GL.unpackAlignment);return height*alignedRowSize};var colorChannelsInGlTextureFormat=format=>{var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1};var heapObjectForWebGLType=type=>{type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16};var toTypedArrayIndex=(pointer,heap)=>pointer>>>31-Math.clz32(heap.BYTES_PER_ELEMENT);var emscriptenWebGLGetTexPixelData=(type,format,width,height,pixels,internalFormat)=>{var heap=heapObjectForWebGLType(type);var sizePerPixel=colorChannelsInGlTextureFormat(format)*heap.BYTES_PER_ELEMENT;var bytes=computeUnpackAlignedImageSize(width,height,sizePerPixel);return heap.subarray(toTypedArrayIndex(pixels,heap),toTypedArrayIndex(pixels+bytes,heap))};var _glReadPixels=(x,y,width,height,format,type,pixels)=>{var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)};_glReadPixels.sig="viiiiiip";var _emscripten_glReadPixels=_glReadPixels;_emscripten_glReadPixels.sig="viiiiiip";var _glReleaseShaderCompiler=()=>{};_glReleaseShaderCompiler.sig="v";var _emscripten_glReleaseShaderCompiler=_glReleaseShaderCompiler;_emscripten_glReleaseShaderCompiler.sig="v";var _glRenderbufferStorage=(x0,x1,x2,x3)=>GLctx.renderbufferStorage(x0,x1,x2,x3);_glRenderbufferStorage.sig="viiii";var _emscripten_glRenderbufferStorage=_glRenderbufferStorage;_emscripten_glRenderbufferStorage.sig="viiii";var _glSampleCoverage=(value,invert)=>{GLctx.sampleCoverage(value,!!invert)};_glSampleCoverage.sig="vfi";var _emscripten_glSampleCoverage=_glSampleCoverage;_emscripten_glSampleCoverage.sig="vfi";var _glScissor=(x0,x1,x2,x3)=>GLctx.scissor(x0,x1,x2,x3);_glScissor.sig="viiii";var _emscripten_glScissor=_glScissor;_emscripten_glScissor.sig="viiii";var _glShaderBinary=(count,shaders,binaryformat,binary,length)=>{GL.recordError(1280)};_glShaderBinary.sig="vipipi";var _emscripten_glShaderBinary=_glShaderBinary;_emscripten_glShaderBinary.sig="vipipi";var _glShaderSource=(shader,count,string,length)=>{var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)};_glShaderSource.sig="viipp";var _emscripten_glShaderSource=_glShaderSource;_emscripten_glShaderSource.sig="viipp";var _glStencilFunc=(x0,x1,x2)=>GLctx.stencilFunc(x0,x1,x2);_glStencilFunc.sig="viii";var _emscripten_glStencilFunc=_glStencilFunc;_emscripten_glStencilFunc.sig="viii";var _glStencilFuncSeparate=(x0,x1,x2,x3)=>GLctx.stencilFuncSeparate(x0,x1,x2,x3);_glStencilFuncSeparate.sig="viiii";var _emscripten_glStencilFuncSeparate=_glStencilFuncSeparate;_emscripten_glStencilFuncSeparate.sig="viiii";var _glStencilMask=x0=>GLctx.stencilMask(x0);_glStencilMask.sig="vi";var _emscripten_glStencilMask=_glStencilMask;_emscripten_glStencilMask.sig="vi";var _glStencilMaskSeparate=(x0,x1)=>GLctx.stencilMaskSeparate(x0,x1);_glStencilMaskSeparate.sig="vii";var _emscripten_glStencilMaskSeparate=_glStencilMaskSeparate;_emscripten_glStencilMaskSeparate.sig="vii";var _glStencilOp=(x0,x1,x2)=>GLctx.stencilOp(x0,x1,x2);_glStencilOp.sig="viii";var _emscripten_glStencilOp=_glStencilOp;_emscripten_glStencilOp.sig="viii";var _glStencilOpSeparate=(x0,x1,x2,x3)=>GLctx.stencilOpSeparate(x0,x1,x2,x3);_glStencilOpSeparate.sig="viiii";var _emscripten_glStencilOpSeparate=_glStencilOpSeparate;_emscripten_glStencilOpSeparate.sig="viiii";var _glTexImage2D=(target,level,internalFormat,width,height,border,format,type,pixels)=>{var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null;GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)};_glTexImage2D.sig="viiiiiiiip";var _emscripten_glTexImage2D=_glTexImage2D;_emscripten_glTexImage2D.sig="viiiiiiiip";var _glTexParameterf=(x0,x1,x2)=>GLctx.texParameterf(x0,x1,x2);_glTexParameterf.sig="viif";var _emscripten_glTexParameterf=_glTexParameterf;_emscripten_glTexParameterf.sig="viif";var _glTexParameterfv=(target,pname,params)=>{var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)};_glTexParameterfv.sig="viip";var _emscripten_glTexParameterfv=_glTexParameterfv;_emscripten_glTexParameterfv.sig="viip";var _glTexParameteri=(x0,x1,x2)=>GLctx.texParameteri(x0,x1,x2);_glTexParameteri.sig="viii";var _emscripten_glTexParameteri=_glTexParameteri;_emscripten_glTexParameteri.sig="viii";var _glTexParameteriv=(target,pname,params)=>{var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)};_glTexParameteriv.sig="viip";var _emscripten_glTexParameteriv=_glTexParameteriv;_emscripten_glTexParameteriv.sig="viip";var _glTexSubImage2D=(target,level,xoffset,yoffset,width,height,format,type,pixels)=>{var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0):null;GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)};_glTexSubImage2D.sig="viiiiiiiip";var _emscripten_glTexSubImage2D=_glTexSubImage2D;_emscripten_glTexSubImage2D.sig="viiiiiiiip";var _glUniform1f=(location,v0)=>{GLctx.uniform1f(webglGetUniformLocation(location),v0)};_glUniform1f.sig="vif";var _emscripten_glUniform1f=_glUniform1f;_emscripten_glUniform1f.sig="vif";var miniTempWebGLFloatBuffers=[];var _glUniform1fv=(location,count,value)=>{if(count<=288){var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(webglGetUniformLocation(location),view)};_glUniform1fv.sig="viip";var _emscripten_glUniform1fv=_glUniform1fv;_emscripten_glUniform1fv.sig="viip";var _glUniform1i=(location,v0)=>{GLctx.uniform1i(webglGetUniformLocation(location),v0)};_glUniform1i.sig="vii";var _emscripten_glUniform1i=_glUniform1i;_emscripten_glUniform1i.sig="vii";var miniTempWebGLIntBuffers=[];var _glUniform1iv=(location,count,value)=>{if(count<=288){var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(webglGetUniformLocation(location),view)};_glUniform1iv.sig="viip";var _emscripten_glUniform1iv=_glUniform1iv;_emscripten_glUniform1iv.sig="viip";var _glUniform2f=(location,v0,v1)=>{GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)};_glUniform2f.sig="viff";var _emscripten_glUniform2f=_glUniform2f;_emscripten_glUniform2f.sig="viff";var _glUniform2fv=(location,count,value)=>{if(count<=144){count*=2;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(webglGetUniformLocation(location),view)};_glUniform2fv.sig="viip";var _emscripten_glUniform2fv=_glUniform2fv;_emscripten_glUniform2fv.sig="viip";var _glUniform2i=(location,v0,v1)=>{GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)};_glUniform2i.sig="viii";var _emscripten_glUniform2i=_glUniform2i;_emscripten_glUniform2i.sig="viii";var _glUniform2iv=(location,count,value)=>{if(count<=144){count*=2;var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(webglGetUniformLocation(location),view)};_glUniform2iv.sig="viip";var _emscripten_glUniform2iv=_glUniform2iv;_emscripten_glUniform2iv.sig="viip";var _glUniform3f=(location,v0,v1,v2)=>{GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)};_glUniform3f.sig="vifff";var _emscripten_glUniform3f=_glUniform3f;_emscripten_glUniform3f.sig="vifff";var _glUniform3fv=(location,count,value)=>{if(count<=96){count*=3;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(webglGetUniformLocation(location),view)};_glUniform3fv.sig="viip";var _emscripten_glUniform3fv=_glUniform3fv;_emscripten_glUniform3fv.sig="viip";var _glUniform3i=(location,v0,v1,v2)=>{GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)};_glUniform3i.sig="viiii";var _emscripten_glUniform3i=_glUniform3i;_emscripten_glUniform3i.sig="viiii";var _glUniform3iv=(location,count,value)=>{if(count<=96){count*=3;var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(webglGetUniformLocation(location),view)};_glUniform3iv.sig="viip";var _emscripten_glUniform3iv=_glUniform3iv;_emscripten_glUniform3iv.sig="viip";var _glUniform4f=(location,v0,v1,v2,v3)=>{GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)};_glUniform4f.sig="viffff";var _emscripten_glUniform4f=_glUniform4f;_emscripten_glUniform4f.sig="viffff";var _glUniform4fv=(location,count,value)=>{if(count<=72){var view=miniTempWebGLFloatBuffers[4*count];var heap=HEAPF32;value=value>>2;count*=4;for(var i=0;i>2,value+count*16>>2)}GLctx.uniform4fv(webglGetUniformLocation(location),view)};_glUniform4fv.sig="viip";var _emscripten_glUniform4fv=_glUniform4fv;_emscripten_glUniform4fv.sig="viip";var _glUniform4i=(location,v0,v1,v2,v3)=>{GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)};_glUniform4i.sig="viiiii";var _emscripten_glUniform4i=_glUniform4i;_emscripten_glUniform4i.sig="viiiii";var _glUniform4iv=(location,count,value)=>{if(count<=72){count*=4;var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(webglGetUniformLocation(location),view)};_glUniform4iv.sig="viip";var _emscripten_glUniform4iv=_glUniform4iv;_emscripten_glUniform4iv.sig="viip";var _glUniformMatrix2fv=(location,count,transpose,value)=>{if(count<=72){count*=4;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,view)};_glUniformMatrix2fv.sig="viiip";var _emscripten_glUniformMatrix2fv=_glUniformMatrix2fv;_emscripten_glUniformMatrix2fv.sig="viiip";var _glUniformMatrix3fv=(location,count,transpose,value)=>{if(count<=32){count*=9;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)};_glUniformMatrix3fv.sig="viiip";var _emscripten_glUniformMatrix3fv=_glUniformMatrix3fv;_emscripten_glUniformMatrix3fv.sig="viiip";var _glUniformMatrix4fv=(location,count,transpose,value)=>{if(count<=18){var view=miniTempWebGLFloatBuffers[16*count];var heap=HEAPF32;value=value>>2;count*=16;for(var i=0;i>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)};_glUniformMatrix4fv.sig="viiip";var _emscripten_glUniformMatrix4fv=_glUniformMatrix4fv;_emscripten_glUniformMatrix4fv.sig="viiip";var _glUseProgram=program=>{program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program};_glUseProgram.sig="vi";var _emscripten_glUseProgram=_glUseProgram;_emscripten_glUseProgram.sig="vi";var _glValidateProgram=program=>{GLctx.validateProgram(GL.programs[program])};_glValidateProgram.sig="vi";var _emscripten_glValidateProgram=_glValidateProgram;_emscripten_glValidateProgram.sig="vi";var _glVertexAttrib1f=(x0,x1)=>GLctx.vertexAttrib1f(x0,x1);_glVertexAttrib1f.sig="vif";var _emscripten_glVertexAttrib1f=_glVertexAttrib1f;_emscripten_glVertexAttrib1f.sig="vif";var _glVertexAttrib1fv=(index,v)=>{GLctx.vertexAttrib1f(index,HEAPF32[v>>2])};_glVertexAttrib1fv.sig="vip";var _emscripten_glVertexAttrib1fv=_glVertexAttrib1fv;_emscripten_glVertexAttrib1fv.sig="vip";var _glVertexAttrib2f=(x0,x1,x2)=>GLctx.vertexAttrib2f(x0,x1,x2);_glVertexAttrib2f.sig="viff";var _emscripten_glVertexAttrib2f=_glVertexAttrib2f;_emscripten_glVertexAttrib2f.sig="viff";var _glVertexAttrib2fv=(index,v)=>{GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])};_glVertexAttrib2fv.sig="vip";var _emscripten_glVertexAttrib2fv=_glVertexAttrib2fv;_emscripten_glVertexAttrib2fv.sig="vip";var _glVertexAttrib3f=(x0,x1,x2,x3)=>GLctx.vertexAttrib3f(x0,x1,x2,x3);_glVertexAttrib3f.sig="vifff";var _emscripten_glVertexAttrib3f=_glVertexAttrib3f;_emscripten_glVertexAttrib3f.sig="vifff";var _glVertexAttrib3fv=(index,v)=>{GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])};_glVertexAttrib3fv.sig="vip";var _emscripten_glVertexAttrib3fv=_glVertexAttrib3fv;_emscripten_glVertexAttrib3fv.sig="vip";var _glVertexAttrib4f=(x0,x1,x2,x3,x4)=>GLctx.vertexAttrib4f(x0,x1,x2,x3,x4);_glVertexAttrib4f.sig="viffff";var _emscripten_glVertexAttrib4f=_glVertexAttrib4f;_emscripten_glVertexAttrib4f.sig="viffff";var _glVertexAttrib4fv=(index,v)=>{GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])};_glVertexAttrib4fv.sig="vip";var _emscripten_glVertexAttrib4fv=_glVertexAttrib4fv;_emscripten_glVertexAttrib4fv.sig="vip";var _glVertexAttribDivisor=(index,divisor)=>{GLctx.vertexAttribDivisor(index,divisor)};_glVertexAttribDivisor.sig="vii";var _glVertexAttribDivisorANGLE=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorANGLE=_glVertexAttribDivisorANGLE;var _glVertexAttribPointer=(index,size,type,normalized,stride,ptr)=>{GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)};_glVertexAttribPointer.sig="viiiiip";var _emscripten_glVertexAttribPointer=_glVertexAttribPointer;_emscripten_glVertexAttribPointer.sig="viiiiip";var _glViewport=(x0,x1,x2,x3)=>GLctx.viewport(x0,x1,x2,x3);_glViewport.sig="viiii";var _emscripten_glViewport=_glViewport;_emscripten_glViewport.sig="viiii";var _emscripten_out=str=>out(UTF8ToString(str));_emscripten_out.sig="vp";class HandleAllocator{allocated=[undefined];freelist=[];get(id){return this.allocated[id]}has(id){return this.allocated[id]!==undefined}allocate(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id}free(id){this.allocated[id]=undefined;this.freelist.push(id)}}var promiseMap=new HandleAllocator;var makePromise=()=>{var promiseInfo={};promiseInfo.promise=new Promise((resolve,reject)=>{promiseInfo.reject=reject;promiseInfo.resolve=resolve});promiseInfo.id=promiseMap.allocate(promiseInfo);return promiseInfo};var _emscripten_promise_create=()=>makePromise().id;_emscripten_promise_create.sig="p";var _emscripten_promise_destroy=id=>{promiseMap.free(id)};_emscripten_promise_destroy.sig="vp";var getPromise=id=>promiseMap.get(id).promise;var _emscripten_promise_resolve=(id,result,value)=>{var info=promiseMap.get(id);switch(result){case 0:info.resolve(value);return;case 1:info.resolve(getPromise(value));return;case 2:info.resolve(getPromise(value));_emscripten_promise_destroy(value);return;case 3:info.reject(value);return}};_emscripten_promise_resolve.sig="vpip";var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}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,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};_emscripten_resize_heap.sig="ip";var _emscripten_wget_data=(url,pbuffer,pnum,perror)=>Asyncify.handleAsync(async()=>{try{const byteArray=await asyncLoad(UTF8ToString(url));var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);HEAPU32[pbuffer>>2]=buffer;HEAP32[pnum>>2]=byteArray.length;HEAP32[perror>>2]=0}catch(err){HEAP32[perror>>2]=1}});_emscripten_wget_data.sig="vpppp";_emscripten_wget_data.isAsync=true;var ENV={};var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};_environ_get.sig="ipp";var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};_environ_sizes_get.sig="ipp";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}}_fd_close.sig="ii";function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_fdstat_get.sig="iip";var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_pread.sig="iippiip";var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_pwrite.sig="iippiip";function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_read.sig="iippp";function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_seek.sig="iiiiip";var _fd_sync=function(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return Asyncify.handleSleep(wakeUp=>{var mount=stream.node.mount;if(!mount.type.syncfs){wakeUp(0);return}mount.type.syncfs(mount,false,err=>{wakeUp(err?29:0)})})}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}};_fd_sync.sig="ii";_fd_sync.isAsync=true;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}}_fd_write.sig="iippp";var _getnameinfo=(sa,salen,node,nodelen,serv,servlen,flags)=>{var info=readSockaddr(sa,salen);if(info.errno){return-6}var port=info.port;var addr=info.addr;var overflowed=false;if(node&&nodelen){var lookup;if(flags&1||!(lookup=DNS.lookup_addr(addr))){if(flags&8){return-2}}else{addr=lookup}var numBytesWrittenExclNull=stringToUTF8(addr,node,nodelen);if(numBytesWrittenExclNull+1>=nodelen){overflowed=true}}if(serv&&servlen){port=""+port;var numBytesWrittenExclNull=stringToUTF8(port,serv,servlen);if(numBytesWrittenExclNull+1>=servlen){overflowed=true}}if(overflowed){return-12}return 0};_getnameinfo.sig="ipipipii";var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}_ipp.sig="ipp";function _ipp_async(...args){return adapters_support(true,...args)}_ipp_async.sig="ipp";_ipp_async.isAsync=true;function _ippipppp(...args){return adapters_support(false,...args)}_ippipppp.sig="ippipppp";function _ippipppp_async(...args){return adapters_support(true,...args)}_ippipppp_async.sig="ippipppp";_ippipppp_async.isAsync=true;function _ippp(...args){return adapters_support(false,...args)}_ippp.sig="ippp";function _ippp_async(...args){return adapters_support(true,...args)}_ippp_async.sig="ippp";_ippp_async.isAsync=true;function _ipppi(...args){return adapters_support(false,...args)}_ipppi.sig="ipppi";function _ipppi_async(...args){return adapters_support(true,...args)}_ipppi_async.sig="ipppi";_ipppi_async.isAsync=true;function _ipppiii(...args){return adapters_support(false,...args)}_ipppiii.sig="ipppiii";function _ipppiii_async(...args){return adapters_support(true,...args)}_ipppiii_async.sig="ipppiii";_ipppiii_async.isAsync=true;function _ipppiiip(...args){return adapters_support(false,...args)}_ipppiiip.sig="ipppiiip";function _ipppiiip_async(...args){return adapters_support(true,...args)}_ipppiiip_async.sig="ipppiiip";_ipppiiip_async.isAsync=true;function _ipppip(...args){return adapters_support(false,...args)}_ipppip.sig="ipppip";function _ipppip_async(...args){return adapters_support(true,...args)}_ipppip_async.sig="ipppip";_ipppip_async.isAsync=true;function _ipppj(...args){return adapters_support(false,...args)}_ipppj.sig="ipppii";function _ipppj_async(...args){return adapters_support(true,...args)}_ipppj_async.sig="ipppii";_ipppj_async.isAsync=true;function _ipppp(...args){return adapters_support(false,...args)}_ipppp.sig="ipppp";function _ipppp_async(...args){return adapters_support(true,...args)}_ipppp_async.sig="ipppp";_ipppp_async.isAsync=true;function _ippppi(...args){return adapters_support(false,...args)}_ippppi.sig="ippppi";function _ippppi_async(...args){return adapters_support(true,...args)}_ippppi_async.sig="ippppi";_ippppi_async.isAsync=true;function _ippppij(...args){return adapters_support(false,...args)}_ippppij.sig="ippppiii";function _ippppij_async(...args){return adapters_support(true,...args)}_ippppij_async.sig="ippppiii";_ippppij_async.isAsync=true;function _ippppip(...args){return adapters_support(false,...args)}_ippppip.sig="ippppip";function _ippppip_async(...args){return adapters_support(true,...args)}_ippppip_async.sig="ippppip";_ippppip_async.isAsync=true;function _ipppppip(...args){return adapters_support(false,...args)}_ipppppip.sig="ipppppip";function _ipppppip_async(...args){return adapters_support(true,...args)}_ipppppip_async.sig="ipppppip";_ipppppip_async.isAsync=true;function _random_get(buffer,size){try{randomFill(HEAPU8.subarray(buffer,buffer+size));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_random_get.sig="ipp";function _vppippii(...args){return adapters_support(false,...args)}_vppippii.sig="vppippii";function _vppippii_async(...args){return adapters_support(true,...args)}_vppippii_async.sig="vppippii";_vppippii_async.isAsync=true;function _vppp(...args){return adapters_support(false,...args)}_vppp.sig="vppp";function _vppp_async(...args){return adapters_support(true,...args)}_vppp_async.sig="vppp";_vppp_async.isAsync=true;function _vpppip(...args){return adapters_support(false,...args)}_vpppip.sig="vpppip";function _vpppip_async(...args){return adapters_support(true,...args)}_vpppip_async.sig="vpppip";_vpppip_async.isAsync=true;var runAndAbortIfError=func=>{try{return func()}catch(e){abort(e)}};var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};runtimeKeepalivePush.sig="v";var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};runtimeKeepalivePop.sig="v";var Asyncify={instrumentWasmImports(imports){var importPattern=/^(ipp|ipp_async|ippp|ippp_async|vppp|vppp_async|ipppj|ipppj_async|ipppi|ipppi_async|ipppp|ipppp_async|ipppip|ipppip_async|vpppip|vpppip_async|ippppi|ippppi_async|ippppij|ippppij_async|ipppiii|ipppiii_async|ippppip|ippppip_async|ippipppp|ippipppp_async|ipppppip|ipppppip_async|ipppiiip|ipppiiip_async|vppippii|vppippii_async|invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original=="function"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){ret[x]=(...args)=>{Asyncify.exportCallStack.push(x);try{return original(...args)}finally{if(!ABORT){var y=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}};ret[x].orig=original}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:16384,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(funcName){var id=Asyncify.callStackNameToId[funcName];if(id===undefined){id=Asyncify.callStackId++;Asyncify.callStackNameToId[funcName]=id;Asyncify.callStackIdToName[id]=funcName}return id},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!="undefined"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve,reject}})},allocateData(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){HEAPU32[ptr>>2]=stack;HEAPU32[ptr+4>>2]=stack+stackSize},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);HEAP32[ptr+8>>2]=rewindId},getDataRewindFuncName(ptr){var id=HEAP32[ptr+8>>2];var name=Asyncify.callStackIdToName[id];return name},getDataRewindFunc__deps:["$resolveGlobalSymbol"],getDataRewindFunc(name){var func=wasmExports[name];if(!func){func=resolveGlobalSymbol(name,false).sym}return func},doRewind(ptr){var name=Asyncify.getDataRewindFuncName(ptr);var func=Asyncify.getDataRewindFunc(name);return func()},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync:startAsync=>Asyncify.handleSleep(wakeUp=>{startAsync().then(wakeUp)})};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=new TextDecoder("utf-16le");var UTF16ToString=(ptr,maxBytesToRead)=>{var idx=ptr>>1;var maxIdx=idx+maxBytesToRead/2;var endIdx=idx;while(!(endIdx>=maxIdx)&&HEAPU16[endIdx])++endIdx;return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx))};var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var intArrayToString=array=>{var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")};var writeI53ToI64Clamped=(ptr,num)=>{if(num>0x8000000000000000){HEAPU32[ptr>>2]=4294967295;HEAPU32[ptr+4>>2]=2147483647}else if(num<-0x8000000000000000){HEAPU32[ptr>>2]=0;HEAPU32[ptr+4>>2]=2147483648}else{writeI53ToI64(ptr,num)}};var writeI53ToI64Signaling=(ptr,num)=>{if(num>0x8000000000000000||num<-0x8000000000000000){throw`RangeError: ${num}`}writeI53ToI64(ptr,num)};var writeI53ToU64Clamped=(ptr,num)=>{if(num>0x10000000000000000){HEAPU32[ptr>>2]=4294967295;HEAPU32[ptr+4>>2]=4294967295}else if(num<0){HEAPU32[ptr>>2]=0;HEAPU32[ptr+4>>2]=0}else{writeI53ToI64(ptr,num)}};var writeI53ToU64Signaling=(ptr,num)=>{if(num<0||num>0x10000000000000000){throw`RangeError: ${num}`}writeI53ToI64(ptr,num)};var readI53FromU64=ptr=>HEAPU32[ptr>>2]+HEAPU32[ptr+4>>2]*4294967296;var convertI32PairToI53=(lo,hi)=>(lo>>>0)+hi*4294967296;var convertU32PairToI53=(lo,hi)=>(lo>>>0)+(hi>>>0)*4294967296;var _stackAlloc=stackAlloc;var _stackSave=stackSave;var _stackRestore=stackSave;var _getTempRet0=getTempRet0;var ptrToString=ptr=>{ptr>>>=0;return"0x"+ptr.toString(16).padStart(8,"0")};var _emscripten_notify_memory_growth=memoryIndex=>{updateMemoryViews()};_emscripten_notify_memory_growth.sig="vp";var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var strError=errno=>UTF8ToString(_strerror(errno));var _getaddrinfo=(node,service,hint,out)=>{var addrs=[];var canon=null;var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai,last;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;HEAPU32[ai+24>>2]=canon;HEAPU32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,_htonl(1)]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>2]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAPU32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>2]=ai;return 0};_getaddrinfo.sig="ipppp";var Protocols={list:[],map:{}};var stringToAscii=(str,buffer)=>{for(var i=0;i{function allocprotoent(name,proto,aliases){var nameBuf=_malloc(name.length+1);stringToAscii(name,nameBuf);var j=0;var length=aliases.length;var aliasListBuf=_malloc((length+1)*4);for(var i=0;i>2]=aliasBuf}HEAPU32[aliasListBuf+j>>2]=0;var pe=_malloc(12);HEAPU32[pe>>2]=nameBuf;HEAPU32[pe+4>>2]=aliasListBuf;HEAP32[pe+8>>2]=proto;return pe}var list=Protocols.list;var map=Protocols.map;if(list.length===0){var entry=allocprotoent("tcp",6,["TCP"]);list.push(entry);map["tcp"]=map["6"]=entry;entry=allocprotoent("udp",17,["UDP"]);list.push(entry);map["udp"]=map["17"]=entry}_setprotoent.index=0};_setprotoent.sig="vi";var _endprotoent=()=>{};_endprotoent.sig="v";var _getprotoent=number=>{if(_setprotoent.index===Protocols.list.length){return 0}var result=Protocols.list[_setprotoent.index++];return result};_getprotoent.sig="p";var _getprotobyname=name=>{name=UTF8ToString(name);_setprotoent(true);var result=Protocols.map[name];return result};_getprotobyname.sig="pp";var _getprotobynumber=number=>{_setprotoent(true);var result=Protocols.map[number];return result};_getprotobynumber.sig="pi";var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};var _emscripten_run_script=ptr=>{eval(UTF8ToString(ptr))};_emscripten_run_script.sig="vp";var _emscripten_run_script_int=ptr=>eval(UTF8ToString(ptr))|0;_emscripten_run_script_int.sig="ip";var _emscripten_run_script_string=ptr=>{var s=eval(UTF8ToString(ptr));if(s==null){return 0}s+="";var me=_emscripten_run_script_string;var len=lengthBytesUTF8(s);if(!me.bufferSize||me.bufferSizeMath.random();_emscripten_random.sig="f";var _emscripten_performance_now=()=>performance.now();_emscripten_performance_now.sig="d";var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;__emscripten_get_now_is_monotonic.sig="i";var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}};var jsStackTrace=()=>(new Error).stack.toString();var getCallstack=flags=>{var callstack=jsStackTrace();var lines=callstack.split("\n");callstack="";var firefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var line of lines){var symbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts?.length==5){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=firefoxRe.exec(line);if(parts?.length>=4){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}if(symbolName=="_emscripten_log"||symbolName=="_emscripten_get_callstack"){callstack="";continue}if(flags&24){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=` at ${symbolName} (${file}:${lineno}:${column})\n`}}callstack=callstack.replace(/\s+$/,"");return callstack};var emscriptenLog=(flags,str)=>{if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+getCallstack(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else if(flags&512){console.info(str)}else if(flags&256){console.debug(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}};var reallyNegative=x=>x<0||x===0&&1/x===-Infinity;var reSign=(value,bits)=>{if(value<=0){return value}var half=bits<=32?Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value};var unSign=(value,bits)=>{if(value>=0){return value}return bits<=32?2*Math.abs(1<{var end=ptr;while(HEAPU8[end])++end;return end-ptr};var formatString=(format,varargs)=>{var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){ptr+=4}}else{}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex];if(curr===0)break;next=HEAP8[textIndex+1];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=next==117?convertU32PairToI53(currArg[0],currArg[1]):convertI32PairToI53(currArg[0],currArg[1])}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.slice(1)}while(prefix.length+argText.lengthret.push(chr.charCodeAt(0)));break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].includes(".")&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.lengthret.push(chr.charCodeAt(0)));break}case"s":{var arg=getNextArg("i8*");var argLength=arg?strLen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i{var result=formatString(format,varargs);var str=UTF8ArrayToString(result);emscriptenLog(flags,str)};_emscripten_log.sig="vipp";var _emscripten_get_compiler_setting=name=>{throw"You must build with -sRETAIN_COMPILER_SETTINGS for getCompilerSetting or emscripten_get_compiler_setting to work"};_emscripten_get_compiler_setting.sig="pp";var _emscripten_has_asyncify=()=>1;_emscripten_has_asyncify.sig="i";var _emscripten_debugger=()=>{debugger};_emscripten_debugger.sig="v";var _emscripten_print_double=(x,to,max)=>{var str=x+"";if(to)return stringToUTF8(str,to,max);else return lengthBytesUTF8(str)};_emscripten_print_double.sig="idpi";var _emscripten_asm_const_double=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);_emscripten_asm_const_double.sig="dppp";var _emscripten_asm_const_ptr=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);_emscripten_asm_const_ptr.sig="pppp";var runMainThreadEmAsm=(emAsmAddr,sigPtr,argbuf,sync)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[emAsmAddr](...args)};var _emscripten_asm_const_int_sync_on_main_thread=(emAsmAddr,sigPtr,argbuf)=>runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,1);_emscripten_asm_const_int_sync_on_main_thread.sig="ippp";var _emscripten_asm_const_ptr_sync_on_main_thread=(emAsmAddr,sigPtr,argbuf)=>runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,1);_emscripten_asm_const_ptr_sync_on_main_thread.sig="pppp";var _emscripten_asm_const_double_sync_on_main_thread=_emscripten_asm_const_int_sync_on_main_thread;_emscripten_asm_const_double_sync_on_main_thread.sig="dppp";var _emscripten_asm_const_async_on_main_thread=(emAsmAddr,sigPtr,argbuf)=>runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,0);_emscripten_asm_const_async_on_main_thread.sig="vppp";var __Unwind_Backtrace=(func,arg)=>{var trace=getCallstack();var parts=trace.split("\n");for(var i=0;i{})(0,arg);if(ret!==0)return}};__Unwind_Backtrace.sig="ipp";var __Unwind_GetIPInfo=(context,ipBefore)=>abort("Unwind_GetIPInfo");__Unwind_GetIPInfo.sig="ppp";var __Unwind_FindEnclosingFunction=ip=>0;__Unwind_FindEnclosingFunction.sig="pp";class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>2]=type}get_type(){return HEAPU32[this.ptr+4>>2]}set_destructor(destructor){HEAPU32[this.ptr+8>>2]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>2]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12]=caught}get_caught(){return HEAP8[this.ptr+12]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13]=rethrown}get_rethrown(){return HEAP8[this.ptr+13]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>2]}}var exceptionLast=0;var uncaughtExceptionCount=0;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};___cxa_throw.sig="vppp";var __Unwind_RaiseException=ex=>{err("Warning: _Unwind_RaiseException is not correctly implemented");return ___cxa_throw(ex,0,0)};__Unwind_RaiseException.sig="ip";var __Unwind_DeleteException=ex=>err("TODO: Unwind_DeleteException");__Unwind_DeleteException.sig="vp";var getDynCaller=(sig,ptr,promising=false)=>(...args)=>dynCall(sig,ptr,args,promising);var _emscripten_exit_with_live_runtime=()=>{throw"unwind"};_emscripten_exit_with_live_runtime.sig="v";var _emscripten_force_exit=status=>{__emscripten_runtime_keepalive_clear();_exit(status)};_emscripten_force_exit.sig="vi";var _emscripten_outn=(str,len)=>out(UTF8ToString(str,len));_emscripten_outn.sig="vpp";var _emscripten_errn=(str,len)=>err(UTF8ToString(str,len));_emscripten_errn.sig="vpp";var _emscripten_throw_number=number=>{throw number};_emscripten_throw_number.sig="vd";var _emscripten_throw_string=str=>{throw UTF8ToString(str)};_emscripten_throw_string.sig="vp";var _emscripten_runtime_keepalive_push=runtimeKeepalivePush;_emscripten_runtime_keepalive_push.sig="v";var _emscripten_runtime_keepalive_pop=runtimeKeepalivePop;_emscripten_runtime_keepalive_pop.sig="v";var _emscripten_runtime_keepalive_check=keepRuntimeAlive;_emscripten_runtime_keepalive_check.sig="i";var asmjsMangle=x=>{if(x=="__main_argc_argv"){x="main"}return x.startsWith("dynCall_")?x:"_"+x};var ___global_base=1024;var __emscripten_fs_load_embedded_files=ptr=>{do{var name_addr=HEAPU32[ptr>>2];ptr+=4;var len=HEAPU32[ptr>>2];ptr+=4;var content=HEAPU32[ptr>>2];ptr+=4;var name=UTF8ToString(name_addr);FS.createPath("/",PATH.dirname(name),true,true);FS.createDataFile(name,null,HEAP8.subarray(content,content+len),true,true,true)}while(HEAPU32[ptr>>2])};__emscripten_fs_load_embedded_files.sig="vp";var POINTER_SIZE=4;function getNativeTypeSize(type){switch(type){case"i1":case"i8":case"u8":return 1;case"i16":case"u16":return 2;case"i32":case"u32":return 4;case"i64":case"u64":return 8;case"float":return 4;case"double":return 8;default:{if(type.endsWith("*")){return POINTER_SIZE}if(type[0]==="i"){const bits=Number(type.slice(1));assert(bits%8===0,`getNativeTypeSize invalid bits ${bits}, ${type} type`);return bits/8}return 0}}}var onInits=[];var addOnInit=cb=>onInits.push(cb);var onMains=[];var addOnPreMain=cb=>onMains.push(cb);var onExits=[];var addOnExit=cb=>onExits.push(cb);var STACK_SIZE=524288;var STACK_ALIGN=16;var ASSERTIONS=0;var removeFunction=index=>{functionsInTableMap.delete(getWasmTableEntry(index));setWasmTableEntry(index,null);freeTableIndexes.push(index)};var _emscripten_math_cbrt=Math.cbrt;_emscripten_math_cbrt.sig="dd";var _emscripten_math_pow=Math.pow;_emscripten_math_pow.sig="ddd";var _emscripten_math_random=Math.random;_emscripten_math_random.sig="d";var _emscripten_math_sign=Math.sign;_emscripten_math_sign.sig="dd";var _emscripten_math_sqrt=Math.sqrt;_emscripten_math_sqrt.sig="dd";var _emscripten_math_exp=Math.exp;_emscripten_math_exp.sig="dd";var _emscripten_math_expm1=Math.expm1;_emscripten_math_expm1.sig="dd";var _emscripten_math_fmod=(x,y)=>x%y;_emscripten_math_fmod.sig="ddd";var _emscripten_math_log=Math.log;_emscripten_math_log.sig="dd";var _emscripten_math_log1p=Math.log1p;_emscripten_math_log1p.sig="dd";var _emscripten_math_log10=Math.log10;_emscripten_math_log10.sig="dd";var _emscripten_math_log2=Math.log2;_emscripten_math_log2.sig="dd";var _emscripten_math_round=Math.round;_emscripten_math_round.sig="dd";var _emscripten_math_acos=Math.acos;_emscripten_math_acos.sig="dd";var _emscripten_math_acosh=Math.acosh;_emscripten_math_acosh.sig="dd";var _emscripten_math_asin=Math.asin;_emscripten_math_asin.sig="dd";var _emscripten_math_asinh=Math.asinh;_emscripten_math_asinh.sig="dd";var _emscripten_math_atan=Math.atan;_emscripten_math_atan.sig="dd";var _emscripten_math_atanh=Math.atanh;_emscripten_math_atanh.sig="dd";var _emscripten_math_atan2=Math.atan2;_emscripten_math_atan2.sig="ddd";var _emscripten_math_cos=Math.cos;_emscripten_math_cos.sig="dd";var _emscripten_math_cosh=Math.cosh;_emscripten_math_cosh.sig="dd";var _emscripten_math_hypot=(count,varargs)=>{var args=[];for(var i=0;i>3])}return Math.hypot(...args)};_emscripten_math_hypot.sig="dip";var _emscripten_math_sin=Math.sin;_emscripten_math_sin.sig="dd";var _emscripten_math_sinh=Math.sinh;_emscripten_math_sinh.sig="dd";var _emscripten_math_tan=Math.tan;_emscripten_math_tan.sig="dd";var _emscripten_math_tanh=Math.tanh;_emscripten_math_tanh.sig="dd";var lengthBytesUTF16=str=>str.length*2;var lengthBytesUTF32=str=>{var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len};var JSEvents={memcpy(target,src,size){HEAP8.set(HEAP8.subarray(src,src+size),target)},removeAllEventListeners(){while(JSEvents.eventHandlers.length){JSEvents._removeHandler(JSEvents.eventHandlers.length-1)}JSEvents.deferredCalls=[]},inEventHandler:0,deferredCalls:[],deferCall(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var call of JSEvents.deferredCalls){if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction,precedence,argsList});JSEvents.deferredCalls.sort((x,y)=>x.precedencecall.targetFunction!=targetFunction)},canPerformEventHandlerRequests(){if(navigator.userActivation){return navigator.userActivation.isActive}return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls(){if(!JSEvents.canPerformEventHandlerRequests()){return}var deferredCalls=JSEvents.deferredCalls;JSEvents.deferredCalls=[];for(var call of deferredCalls){call.targetFunction(...call.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(target,eventTypeString)=>{for(var i=0;icString>2?UTF8ToString(cString):cString;var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];var findEventTarget=target=>{target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):null);return domElement};var registerKeyEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.keyEvent||=_malloc(160);var keyEventHandlerFunc=e=>{var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP8[keyEventData+12]=e.ctrlKey;HEAP8[keyEventData+13]=e.shiftKey;HEAP8[keyEventData+14]=e.altKey;HEAP8[keyEventData+15]=e.metaKey;HEAP8[keyEventData+16]=e.repeat;HEAP32[idx+5]=e.charCode;HEAP32[idx+6]=e.keyCode;HEAP32[idx+7]=e.which;stringToUTF8(e.key||"",keyEventData+32,32);stringToUTF8(e.code||"",keyEventData+64,32);stringToUTF8(e.char||"",keyEventData+96,32);stringToUTF8(e.locale||"",keyEventData+128,32);if(((a1,a2,a3)=>{})(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var findCanvasEventTarget=findEventTarget;var _emscripten_set_keypress_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);_emscripten_set_keypress_callback_on_thread.sig="ippipp";var _emscripten_set_keydown_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);_emscripten_set_keydown_callback_on_thread.sig="ippipp";var _emscripten_set_keyup_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread);_emscripten_set_keyup_callback_on_thread.sig="ippipp";var getBoundingClientRect=e=>specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{left:0,top:0};var fillMouseEventData=(eventStruct,e,target)=>{HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP8[eventStruct+24]=e.ctrlKey;HEAP8[eventStruct+25]=e.shiftKey;HEAP8[eventStruct+26]=e.altKey;HEAP8[eventStruct+27]=e.metaKey;HEAP16[idx*2+14]=e.button;HEAP16[idx*2+15]=e.buttons;HEAP32[idx+8]=e["movementX"];HEAP32[idx+9]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+10]=e.clientX-(rect.left|0);HEAP32[idx+11]=e.clientY-(rect.top|0)};var registerMouseEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.mouseEvent||=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=(e=event)=>{fillMouseEventData(JSEvents.mouseEvent,e,target);if(((a1,a2,a3)=>{})(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString,callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_click_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);_emscripten_set_click_callback_on_thread.sig="ippipp";var _emscripten_set_mousedown_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread);_emscripten_set_mousedown_callback_on_thread.sig="ippipp";var _emscripten_set_mouseup_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread);_emscripten_set_mouseup_callback_on_thread.sig="ippipp";var _emscripten_set_dblclick_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,7,"dblclick",targetThread);_emscripten_set_dblclick_callback_on_thread.sig="ippipp";var _emscripten_set_mousemove_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread);_emscripten_set_mousemove_callback_on_thread.sig="ippipp";var _emscripten_set_mouseenter_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter",targetThread);_emscripten_set_mouseenter_callback_on_thread.sig="ippipp";var _emscripten_set_mouseleave_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave",targetThread);_emscripten_set_mouseleave_callback_on_thread.sig="ippipp";var _emscripten_set_mouseover_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,35,"mouseover",targetThread);_emscripten_set_mouseover_callback_on_thread.sig="ippipp";var _emscripten_set_mouseout_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,36,"mouseout",targetThread);_emscripten_set_mouseout_callback_on_thread.sig="ippipp";var _emscripten_get_mouse_status=mouseState=>{if(!JSEvents.mouseEvent)return-7;JSEvents.memcpy(mouseState,JSEvents.mouseEvent,64);return 0};_emscripten_get_mouse_status.sig="ip";var registerWheelEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.wheelEvent||=_malloc(96);var wheelHandlerFunc=(e=event)=>{var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+64>>3]=e["deltaX"];HEAPF64[wheelEvent+72>>3]=e["deltaY"];HEAPF64[wheelEvent+80>>3]=e["deltaZ"];HEAP32[wheelEvent+88>>2]=e["deltaMode"];if(((a1,a2,a3)=>{})(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:true,eventTypeString,callbackfunc,handlerFunc:wheelHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_wheel_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{target=findEventTarget(target);if(!target)return-4;if(typeof target.onwheel!="undefined"){return registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread)}else{return-1}};_emscripten_set_wheel_callback_on_thread.sig="ippipp";var registerUiEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.uiEvent||=_malloc(36);target=findEventTarget(target);var uiEventHandlerFunc=(e=event)=>{if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>2]=0;HEAP32[uiEvent+4>>2]=b.clientWidth;HEAP32[uiEvent+8>>2]=b.clientHeight;HEAP32[uiEvent+12>>2]=innerWidth;HEAP32[uiEvent+16>>2]=innerHeight;HEAP32[uiEvent+20>>2]=outerWidth;HEAP32[uiEvent+24>>2]=outerHeight;HEAP32[uiEvent+28>>2]=pageXOffset|0;HEAP32[uiEvent+32>>2]=pageYOffset|0;if(((a1,a2,a3)=>{})(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_resize_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread);_emscripten_set_resize_callback_on_thread.sig="ippipp";var _emscripten_set_scroll_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerUiEventCallback(target,userData,useCapture,callbackfunc,11,"scroll",targetThread);_emscripten_set_scroll_callback_on_thread.sig="ippipp";var registerFocusEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.focusEvent||=_malloc(256);var focusEventHandlerFunc=(e=event)=>{var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(((a1,a2,a3)=>{})(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_blur_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread);_emscripten_set_blur_callback_on_thread.sig="ippipp";var _emscripten_set_focus_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread);_emscripten_set_focus_callback_on_thread.sig="ippipp";var _emscripten_set_focusin_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,14,"focusin",targetThread);_emscripten_set_focusin_callback_on_thread.sig="ippipp";var _emscripten_set_focusout_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,15,"focusout",targetThread);_emscripten_set_focusout_callback_on_thread.sig="ippipp";var fillDeviceOrientationEventData=(eventStruct,e,target)=>{HEAPF64[eventStruct>>3]=e.alpha;HEAPF64[eventStruct+8>>3]=e.beta;HEAPF64[eventStruct+16>>3]=e.gamma;HEAP8[eventStruct+24]=e.absolute};var registerDeviceOrientationEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.deviceOrientationEvent||=_malloc(32);var deviceOrientationEventHandlerFunc=(e=event)=>{fillDeviceOrientationEventData(JSEvents.deviceOrientationEvent,e,target);if(((a1,a2,a3)=>{})(eventTypeId,JSEvents.deviceOrientationEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:deviceOrientationEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_deviceorientation_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>registerDeviceOrientationEventCallback(2,userData,useCapture,callbackfunc,16,"deviceorientation",targetThread);_emscripten_set_deviceorientation_callback_on_thread.sig="ipipp";var _emscripten_get_deviceorientation_status=orientationState=>{if(!JSEvents.deviceOrientationEvent)return-7;JSEvents.memcpy(orientationState,JSEvents.deviceOrientationEvent,32);return 0};_emscripten_get_deviceorientation_status.sig="ip";var fillDeviceMotionEventData=(eventStruct,e,target)=>{var supportedFields=0;var a=e["acceleration"];supportedFields|=a&&1;var ag=e["accelerationIncludingGravity"];supportedFields|=ag&&2;var rr=e["rotationRate"];supportedFields|=rr&&4;a=a||{};ag=ag||{};rr=rr||{};HEAPF64[eventStruct>>3]=a["x"];HEAPF64[eventStruct+8>>3]=a["y"];HEAPF64[eventStruct+16>>3]=a["z"];HEAPF64[eventStruct+24>>3]=ag["x"];HEAPF64[eventStruct+32>>3]=ag["y"];HEAPF64[eventStruct+40>>3]=ag["z"];HEAPF64[eventStruct+48>>3]=rr["alpha"];HEAPF64[eventStruct+56>>3]=rr["beta"];HEAPF64[eventStruct+64>>3]=rr["gamma"]};var registerDeviceMotionEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.deviceMotionEvent||=_malloc(80);var deviceMotionEventHandlerFunc=(e=event)=>{fillDeviceMotionEventData(JSEvents.deviceMotionEvent,e,target);if(((a1,a2,a3)=>{})(eventTypeId,JSEvents.deviceMotionEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:deviceMotionEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_devicemotion_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>registerDeviceMotionEventCallback(2,userData,useCapture,callbackfunc,17,"devicemotion",targetThread);_emscripten_set_devicemotion_callback_on_thread.sig="ipipp";var _emscripten_get_devicemotion_status=motionState=>{if(!JSEvents.deviceMotionEvent)return-7;JSEvents.memcpy(motionState,JSEvents.deviceMotionEvent,80);return 0};_emscripten_get_devicemotion_status.sig="ip";var screenOrientation=()=>{if(!window.screen)return undefined;return screen.orientation||screen["mozOrientation"]||screen["webkitOrientation"]};var fillOrientationChangeEventData=eventStruct=>{var orientationsType1=["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];var orientationsType2=["portrait","portrait","landscape","landscape"];var orientationIndex=0;var orientationAngle=0;var screenOrientObj=screenOrientation();if(typeof screenOrientObj==="object"){orientationIndex=orientationsType1.indexOf(screenOrientObj.type);if(orientationIndex<0){orientationIndex=orientationsType2.indexOf(screenOrientObj.type)}if(orientationIndex>=0){orientationIndex=1<>2]=orientationIndex;HEAP32[eventStruct+4>>2]=orientationAngle};var registerOrientationChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.orientationChangeEvent||=_malloc(8);var orientationChangeEventHandlerFunc=(e=event)=>{var orientationChangeEvent=JSEvents.orientationChangeEvent;fillOrientationChangeEventData(orientationChangeEvent);if(((a1,a2,a3)=>{})(eventTypeId,orientationChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:orientationChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_orientationchange_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(!window.screen||!screen.orientation)return-1;return registerOrientationChangeEventCallback(screen.orientation,userData,useCapture,callbackfunc,18,"change",targetThread)};_emscripten_set_orientationchange_callback_on_thread.sig="ipipp";var _emscripten_get_orientation_status=orientationChangeEvent=>{if(!screenOrientation()&&typeof orientation=="undefined")return-1;fillOrientationChangeEventData(orientationChangeEvent);return 0};_emscripten_get_orientation_status.sig="ip";var _emscripten_lock_orientation=allowedOrientations=>{var orientations=[];if(allowedOrientations&1)orientations.push("portrait-primary");if(allowedOrientations&2)orientations.push("portrait-secondary");if(allowedOrientations&4)orientations.push("landscape-primary");if(allowedOrientations&8)orientations.push("landscape-secondary");var succeeded;if(screen.lockOrientation){succeeded=screen.lockOrientation(orientations)}else if(screen.mozLockOrientation){succeeded=screen.mozLockOrientation(orientations)}else if(screen.webkitLockOrientation){succeeded=screen.webkitLockOrientation(orientations)}else{return-1}if(succeeded){return 0}return-6};_emscripten_lock_orientation.sig="ii";var _emscripten_unlock_orientation=()=>{if(screen.unlockOrientation){screen.unlockOrientation()}else if(screen.mozUnlockOrientation){screen.mozUnlockOrientation()}else if(screen.webkitUnlockOrientation){screen.webkitUnlockOrientation()}else{return-1}return 0};_emscripten_unlock_orientation.sig="i";var fillFullscreenChangeEventData=eventStruct=>{var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP8[eventStruct]=isFullscreen;HEAP8[eventStruct+1]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement?.id||"";stringToUTF8(nodeName,eventStruct+2,128);stringToUTF8(id,eventStruct+130,128);HEAP32[eventStruct+260>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+268>>2]=screen.width;HEAP32[eventStruct+272>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}};var registerFullscreenChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.fullscreenChangeEvent||=_malloc(276);var fullscreenChangeEventhandlerFunc=(e=event)=>{var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(((a1,a2,a3)=>{})(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_fullscreenchange_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread)};_emscripten_set_fullscreenchange_callback_on_thread.sig="ippipp";var _emscripten_get_fullscreen_status=fullscreenStatus=>{if(!JSEvents.fullscreenEnabled())return-1;fillFullscreenChangeEventData(fullscreenStatus);return 0};_emscripten_get_fullscreen_status.sig="ip";var _emscripten_get_canvas_element_size=(target,width,height)=>{var canvas=findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height};_emscripten_get_canvas_element_size.sig="ippp";var getCanvasElementSize=target=>{var sp=stackSave();var w=stackAlloc(8);var h=w+4;var targetInt=stringToUTF8OnStack(target.id);var ret=_emscripten_get_canvas_element_size(targetInt,w,h);var size=[HEAP32[w>>2],HEAP32[h>>2]];stackRestore(sp);return size};var _emscripten_set_canvas_element_size=(target,width,height)=>{var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0};_emscripten_set_canvas_element_size.sig="ipii";var setCanvasElementSize=(target,width,height)=>{if(!target.controlTransferredOffscreen){target.width=width;target.height=height}else{var sp=stackSave();var targetInt=stringToUTF8OnStack(target.id);_emscripten_set_canvas_element_size(targetInt,width,height);stackRestore(sp)}};var currentFullscreenStrategy={};var registerRestoreOldStyle=canvas=>{var canvasSize=getCanvasElementSize(canvas);var oldWidth=canvasSize[0];var oldHeight=canvasSize[1];var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.webkitFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);setCanvasElementSize(canvas,oldWidth,oldHeight);canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(currentFullscreenStrategy.canvasResizedCallback){((a1,a2,a3)=>{})(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);return restoreOldStyle};var setLetterbox=(element,topBottom,leftRight)=>{element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"};var JSEvents_resizeCanvasForFullscreen=(target,strategy)=>{var restoreOldStyle=registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?innerWidth:screen.width;var cssHeight=strategy.softFullscreen?innerHeight:screen.height;var rect=getBoundingClientRect(target);var windowedCssWidth=rect.width;var windowedCssHeight=rect.height;var canvasSize=getCanvasElementSize(target);var windowedRttWidth=canvasSize[0];var windowedRttHeight=canvasSize[1];if(strategy.scaleMode==3){setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight{if(strategy.scaleMode!=0||strategy.canvasResolutionScaleMode!=0){JSEvents_resizeCanvasForFullscreen(target,strategy)}if(target.requestFullscreen){target.requestFullscreen()}else if(target.webkitRequestFullscreen){target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}else{return JSEvents.fullscreenEnabled()?-3:-1}currentFullscreenStrategy=strategy;if(strategy.canvasResizedCallback){((a1,a2,a3)=>{})(37,0,strategy.canvasResizedCallbackUserData)}return 0};var hideEverythingExceptGivenElement=onlyVisibleElement=>{var child=onlyVisibleElement;var parent=child.parentNode;var hiddenElements=[];while(child!=document.body){var children=parent.children;for(var currChild of children){if(currChild!=child){hiddenElements.push({node:currChild,displayState:currChild.style.display});currChild.style.display="none"}}child=parent;parent=parent.parentNode}return hiddenElements};var restoreHiddenElements=hiddenElements=>{for(var elem of hiddenElements){elem.node.style.display=elem.displayState}};var restoreOldWindowedStyle=null;var softFullscreenResizeWebGLRenderTarget=()=>{var dpr=devicePixelRatio;var inHiDPIFullscreenMode=currentFullscreenStrategy.canvasResolutionScaleMode==2;var inAspectRatioFixedFullscreenMode=currentFullscreenStrategy.scaleMode==2;var inPixelPerfectFullscreenMode=currentFullscreenStrategy.canvasResolutionScaleMode!=0;var inCenteredWithoutScalingFullscreenMode=currentFullscreenStrategy.scaleMode==3;var screenWidth=inHiDPIFullscreenMode?Math.round(innerWidth*dpr):innerWidth;var screenHeight=inHiDPIFullscreenMode?Math.round(innerHeight*dpr):innerHeight;var w=screenWidth;var h=screenHeight;var canvas=currentFullscreenStrategy.target;var canvasSize=getCanvasElementSize(canvas);var x=canvasSize[0];var y=canvasSize[1];var topMargin;if(inAspectRatioFixedFullscreenMode){if(w*yx*h)w=h*x/y|0;topMargin=(screenHeight-h)/2|0}if(inPixelPerfectFullscreenMode){setCanvasElementSize(canvas,w,h);if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,w,h)}if(inHiDPIFullscreenMode){topMargin/=dpr;w/=dpr;h/=dpr;w=Math.round(w*1e4)/1e4;h=Math.round(h*1e4)/1e4;topMargin=Math.round(topMargin*1e4)/1e4}if(inCenteredWithoutScalingFullscreenMode){var t=(innerHeight-jstoi_q(canvas.style.height))/2;var b=(innerWidth-jstoi_q(canvas.style.width))/2;setLetterbox(canvas,t,b)}else{canvas.style.width=w+"px";canvas.style.height=h+"px";var b=(innerWidth-w)/2;setLetterbox(canvas,topMargin,b)}if(!inCenteredWithoutScalingFullscreenMode&¤tFullscreenStrategy.canvasResizedCallback){((a1,a2,a3)=>{})(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}};var doRequestFullscreen=(target,strategy)=>{if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.webkitRequestFullscreen){return-3}if(!JSEvents.canPerformEventHandlerRequests()){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents_requestFullscreen,1,[target,strategy]);return 1}return-2}return JSEvents_requestFullscreen(target,strategy)};var _emscripten_request_fullscreen=(target,deferUntilInEventHandler)=>{var strategy={scaleMode:0,canvasResolutionScaleMode:0,filteringMode:0,deferUntilInEventHandler,canvasResizedCallbackTargetThread:2};return doRequestFullscreen(target,strategy)};_emscripten_request_fullscreen.sig="ipi";var _emscripten_request_fullscreen_strategy=(target,deferUntilInEventHandler,fullscreenStrategy)=>{var strategy={scaleMode:HEAP32[fullscreenStrategy>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>2],filteringMode:HEAP32[fullscreenStrategy+8>>2],deferUntilInEventHandler,canvasResizedCallback:HEAP32[fullscreenStrategy+12>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>2]};return doRequestFullscreen(target,strategy)};_emscripten_request_fullscreen_strategy.sig="ipip";var _emscripten_enter_soft_fullscreen=(target,fullscreenStrategy)=>{target=findEventTarget(target);if(!target)return-4;var strategy={scaleMode:HEAP32[fullscreenStrategy>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>2],filteringMode:HEAP32[fullscreenStrategy+8>>2],canvasResizedCallback:HEAP32[fullscreenStrategy+12>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>2],target,softFullscreen:true};var restoreOldStyle=JSEvents_resizeCanvasForFullscreen(target,strategy);document.documentElement.style.overflow="hidden";document.body.scroll="no";document.body.style.margin="0px";var hiddenElements=hideEverythingExceptGivenElement(target);function restoreWindowedState(){restoreOldStyle();restoreHiddenElements(hiddenElements);removeEventListener("resize",softFullscreenResizeWebGLRenderTarget);if(strategy.canvasResizedCallback){((a1,a2,a3)=>{})(37,0,strategy.canvasResizedCallbackUserData)}currentFullscreenStrategy=0}restoreOldWindowedStyle=restoreWindowedState;currentFullscreenStrategy=strategy;addEventListener("resize",softFullscreenResizeWebGLRenderTarget);if(strategy.canvasResizedCallback){((a1,a2,a3)=>{})(37,0,strategy.canvasResizedCallbackUserData)}return 0};_emscripten_enter_soft_fullscreen.sig="ipp";var _emscripten_exit_soft_fullscreen=()=>{restoreOldWindowedStyle?.();restoreOldWindowedStyle=null;return 0};_emscripten_exit_soft_fullscreen.sig="i";var _emscripten_exit_fullscreen=()=>{if(!JSEvents.fullscreenEnabled())return-1;JSEvents.removeDeferredCalls(JSEvents_requestFullscreen);var d=specialHTMLTargets[1];if(d.exitFullscreen){d.fullscreenElement&&d.exitFullscreen()}else if(d.webkitExitFullscreen){d.webkitFullscreenElement&&d.webkitExitFullscreen()}else{return-1}return 0};_emscripten_exit_fullscreen.sig="i";var fillPointerlockChangeEventData=eventStruct=>{var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP8[eventStruct]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement?.id||"";stringToUTF8(nodeName,eventStruct+1,128);stringToUTF8(id,eventStruct+129,128)};var registerPointerlockChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.pointerlockChangeEvent||=_malloc(257);var pointerlockChangeEventHandlerFunc=(e=event)=>{var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(pointerlockChangeEvent);if(((a1,a2,a3)=>{})(eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_pointerlockchange_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange",targetThread);return registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange",targetThread)};_emscripten_set_pointerlockchange_callback_on_thread.sig="ippipp";var registerPointerlockErrorEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var pointerlockErrorEventHandlerFunc=(e=event)=>{if(((a1,a2,a3)=>{})(eventTypeId,0,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:pointerlockErrorEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_pointerlockerror_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{if(!document||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"mozpointerlockerror",targetThread);registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"webkitpointerlockerror",targetThread);registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"mspointerlockerror",targetThread);return registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"pointerlockerror",targetThread)};_emscripten_set_pointerlockerror_callback_on_thread.sig="ippipp";var _emscripten_get_pointerlock_status=pointerlockStatus=>{if(pointerlockStatus)fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0};_emscripten_get_pointerlock_status.sig="ip";var requestPointerLock=target=>{if(target.requestPointerLock){target.requestPointerLock()}else{if(document.body.requestPointerLock){return-3}return-1}return 0};var _emscripten_request_pointerlock=(target,deferUntilInEventHandler)=>{target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock){return-1}if(!JSEvents.canPerformEventHandlerRequests()){if(deferUntilInEventHandler){JSEvents.deferCall(requestPointerLock,2,[target]);return 1}return-2}return requestPointerLock(target)};_emscripten_request_pointerlock.sig="ipi";var _emscripten_exit_pointerlock=()=>{JSEvents.removeDeferredCalls(requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else{return-1}return 0};_emscripten_exit_pointerlock.sig="i";var _emscripten_vibrate=msecs=>{if(!navigator.vibrate)return-1;navigator.vibrate(msecs);return 0};_emscripten_vibrate.sig="ii";var _emscripten_vibrate_pattern=(msecsArray,numEntries)=>{if(!navigator.vibrate)return-1;var vibrateList=[];for(var i=0;i>2];vibrateList.push(msecs)}navigator.vibrate(vibrateList);return 0};_emscripten_vibrate_pattern.sig="ipi";var fillVisibilityChangeEventData=eventStruct=>{var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP8[eventStruct]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState};var registerVisibilityChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.visibilityChangeEvent||=_malloc(8);var visibilityChangeEventHandlerFunc=(e=event)=>{var visibilityChangeEvent=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(visibilityChangeEvent);if(((a1,a2,a3)=>{})(eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_visibilitychange_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(!specialHTMLTargets[1]){return-4}return registerVisibilityChangeEventCallback(specialHTMLTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread)};_emscripten_set_visibilitychange_callback_on_thread.sig="ipipp";var _emscripten_get_visibility_status=visibilityStatus=>{if(typeof document.visibilityState=="undefined"&&typeof document.hidden=="undefined"){return-1}fillVisibilityChangeEventData(visibilityStatus);return 0};_emscripten_get_visibility_status.sig="ip";var registerTouchEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.touchEvent||=_malloc(1552);target=findEventTarget(target);var touchEventHandlerFunc=e=>{var t,touches={},et=e.touches;for(let t of et){t.isChanged=t.onTarget=0;touches[t.identifier]=t}for(let t of e.changedTouches){t.isChanged=1;touches[t.identifier]=t}for(let t of e.targetTouches){touches[t.identifier].onTarget=1}var touchEvent=JSEvents.touchEvent;HEAPF64[touchEvent>>3]=e.timeStamp;HEAP8[touchEvent+12]=e.ctrlKey;HEAP8[touchEvent+13]=e.shiftKey;HEAP8[touchEvent+14]=e.altKey;HEAP8[touchEvent+15]=e.metaKey;var idx=touchEvent+16;var targetRect=getBoundingClientRect(target);var numTouches=0;for(let t of Object.values(touches)){var idx32=idx>>2;HEAP32[idx32+0]=t.identifier;HEAP32[idx32+1]=t.screenX;HEAP32[idx32+2]=t.screenY;HEAP32[idx32+3]=t.clientX;HEAP32[idx32+4]=t.clientY;HEAP32[idx32+5]=t.pageX;HEAP32[idx32+6]=t.pageY;HEAP8[idx+28]=t.isChanged;HEAP8[idx+29]=t.onTarget;HEAP32[idx32+8]=t.clientX-(targetRect.left|0);HEAP32[idx32+9]=t.clientY-(targetRect.top|0);idx+=48;if(++numTouches>31){break}}HEAP32[touchEvent+8>>2]=numTouches;if(((a1,a2,a3)=>{})(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString,callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_touchstart_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);_emscripten_set_touchstart_callback_on_thread.sig="ippipp";var _emscripten_set_touchend_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);_emscripten_set_touchend_callback_on_thread.sig="ippipp";var _emscripten_set_touchmove_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);_emscripten_set_touchmove_callback_on_thread.sig="ippipp";var _emscripten_set_touchcancel_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);_emscripten_set_touchcancel_callback_on_thread.sig="ippipp";var fillGamepadEventData=(eventStruct,e)=>{HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1112,64);stringToUTF8(e.mapping,eventStruct+1176,64)};var registerGamepadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.gamepadEvent||=_malloc(1240);var gamepadEventHandlerFunc=(e=event)=>{var gamepadEvent=JSEvents.gamepadEvent;fillGamepadEventData(gamepadEvent,e["gamepad"]);if(((a1,a2,a3)=>{})(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString,callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_sample_gamepad_data=()=>{try{if(navigator.getGamepads)return(JSEvents.lastGamepadState=navigator.getGamepads())?0:-1}catch(e){navigator.getGamepads=null}return-1};_emscripten_sample_gamepad_data.sig="i";var _emscripten_set_gamepadconnected_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(_emscripten_sample_gamepad_data())return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread)};_emscripten_set_gamepadconnected_callback_on_thread.sig="ipipp";var _emscripten_set_gamepaddisconnected_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(_emscripten_sample_gamepad_data())return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread)};_emscripten_set_gamepaddisconnected_callback_on_thread.sig="ipipp";var _emscripten_get_num_gamepads=()=>JSEvents.lastGamepadState.length;_emscripten_get_num_gamepads.sig="i";var _emscripten_get_gamepad_status=(index,gamepadState)=>{if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0};_emscripten_get_gamepad_status.sig="iip";var registerBeforeUnloadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString)=>{var beforeUnloadEventHandlerFunc=(e=event)=>{var confirmationMessage=((a1,a2,a3)=>{})(eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=UTF8ToString(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:beforeUnloadEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_beforeunload_callback_on_thread=(userData,callbackfunc,targetThread)=>{if(typeof onbeforeunload=="undefined")return-1;if(targetThread!==1)return-5;return registerBeforeUnloadEventCallback(2,userData,true,callbackfunc,28,"beforeunload")};_emscripten_set_beforeunload_callback_on_thread.sig="ippp";var fillBatteryEventData=(eventStruct,e)=>{HEAPF64[eventStruct>>3]=e.chargingTime;HEAPF64[eventStruct+8>>3]=e.dischargingTime;HEAPF64[eventStruct+16>>3]=e.level;HEAP8[eventStruct+24]=e.charging};var battery=()=>navigator.battery||navigator.mozBattery||navigator.webkitBattery;var registerBatteryEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.batteryEvent||=_malloc(32);var batteryEventHandlerFunc=(e=event)=>{var batteryEvent=JSEvents.batteryEvent;fillBatteryEventData(batteryEvent,battery());if(((a1,a2,a3)=>{})(eventTypeId,batteryEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:batteryEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_batterychargingchange_callback_on_thread=(userData,callbackfunc,targetThread)=>{if(!battery())return-1;return registerBatteryEventCallback(battery(),userData,true,callbackfunc,29,"chargingchange",targetThread)};_emscripten_set_batterychargingchange_callback_on_thread.sig="ippp";var _emscripten_set_batterylevelchange_callback_on_thread=(userData,callbackfunc,targetThread)=>{if(!battery())return-1;return registerBatteryEventCallback(battery(),userData,true,callbackfunc,30,"levelchange",targetThread)};_emscripten_set_batterylevelchange_callback_on_thread.sig="ippp";var _emscripten_get_battery_status=batteryState=>{if(!battery())return-1;fillBatteryEventData(batteryState,battery());return 0};_emscripten_get_battery_status.sig="ip";var _emscripten_set_element_css_size=(target,width,height)=>{target=findEventTarget(target);if(!target)return-4;target.style.width=width+"px";target.style.height=height+"px";return 0};_emscripten_set_element_css_size.sig="ipdd";var _emscripten_get_element_css_size=(target,width,height)=>{target=findEventTarget(target);if(!target)return-4;var rect=getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0};_emscripten_get_element_css_size.sig="ippp";var _emscripten_html5_remove_all_event_listeners=()=>JSEvents.removeAllEventListeners();_emscripten_html5_remove_all_event_listeners.sig="v";var _emscripten_request_animation_frame=(cb,userData)=>requestAnimationFrame(timeStamp=>((a1,a2)=>{})(timeStamp,userData));_emscripten_request_animation_frame.sig="ipp";var _emscripten_cancel_animation_frame=id=>cancelAnimationFrame(id);_emscripten_cancel_animation_frame.sig="vi";var _emscripten_request_animation_frame_loop=(cb,userData)=>{function tick(timeStamp){if(((a1,a2)=>{})(timeStamp,userData)){requestAnimationFrame(tick)}}return requestAnimationFrame(tick)};_emscripten_request_animation_frame_loop.sig="vpp";var _emscripten_get_device_pixel_ratio=()=>devicePixelRatio;_emscripten_get_device_pixel_ratio.sig="d";var _emscripten_get_callstack=(flags,str,maxbytes)=>{var callstack=getCallstack(flags);if(!str||maxbytes<=0){return lengthBytesUTF8(callstack)+1}var bytesWrittenExcludingNull=stringToUTF8(callstack,str,maxbytes);return bytesWrittenExcludingNull+1};_emscripten_get_callstack.sig="iipi";var convertFrameToPC=frame=>{abort("Cannot use convertFrameToPC (needed by __builtin_return_address) without -sUSE_OFFSET_CONVERTER");return 0};var _emscripten_return_address=level=>{var callstack=jsStackTrace().split("\n");if(callstack[0]=="Error"){callstack.shift()}var caller=callstack[level+3];return convertFrameToPC(caller)};_emscripten_return_address.sig="pi";var UNWIND_CACHE={};var saveInUnwindCache=callstack=>{callstack.forEach(frame=>{var pc=convertFrameToPC(frame);if(pc){UNWIND_CACHE[pc]=frame}})};var _emscripten_stack_snapshot=()=>{var callstack=jsStackTrace().split("\n");if(callstack[0]=="Error"){callstack.shift()}saveInUnwindCache(callstack);UNWIND_CACHE.last_addr=convertFrameToPC(callstack[3]);UNWIND_CACHE.last_stack=callstack;return UNWIND_CACHE.last_addr};_emscripten_stack_snapshot.sig="p";var _emscripten_stack_unwind_buffer=(addr,buffer,count)=>{var stack;if(UNWIND_CACHE.last_addr==addr){stack=UNWIND_CACHE.last_stack}else{stack=jsStackTrace().split("\n");if(stack[0]=="Error"){stack.shift()}saveInUnwindCache(stack)}var offset=3;while(stack[offset]&&convertFrameToPC(stack[offset])!=addr){++offset}for(var i=0;i>2]=convertFrameToPC(stack[i+offset])}return i};_emscripten_stack_unwind_buffer.sig="ippi";var _emscripten_pc_get_function=pc=>{abort("Cannot use emscripten_pc_get_function without -sUSE_OFFSET_CONVERTER");return 0};_emscripten_pc_get_function.sig="pp";var convertPCtoSourceLocation=pc=>{if(UNWIND_CACHE.last_get_source_pc==pc)return UNWIND_CACHE.last_source;var match;var source;if(!source){var frame=UNWIND_CACHE[pc];if(!frame)return null;if(match=/\((.*):(\d+):(\d+)\)$/.exec(frame)){source={file:match[1],line:match[2],column:match[3]}}else if(match=/@(.*):(\d+):(\d+)/.exec(frame)){source={file:match[1],line:match[2],column:match[3]}}}UNWIND_CACHE.last_get_source_pc=pc;UNWIND_CACHE.last_source=source;return source};var _emscripten_pc_get_file=pc=>{var result=convertPCtoSourceLocation(pc);if(!result)return 0;if(_emscripten_pc_get_file.ret)_free(_emscripten_pc_get_file.ret);_emscripten_pc_get_file.ret=stringToNewUTF8(result.file);return _emscripten_pc_get_file.ret};_emscripten_pc_get_file.sig="pp";var _emscripten_pc_get_line=pc=>{var result=convertPCtoSourceLocation(pc);return result?result.line:0};_emscripten_pc_get_line.sig="ip";var _emscripten_pc_get_column=pc=>{var result=convertPCtoSourceLocation(pc);return result?result.column||0:0};_emscripten_pc_get_column.sig="ip";var _sched_yield=()=>0;_sched_yield.sig="i";var wasiRightsToMuslOFlags=rights=>{if(rights&2&&rights&64){return 2}if(rights&2){return 0}if(rights&64){return 1}throw new FS.ErrnoError(28)};var wasiOFlagsToMuslOFlags=oflags=>{var musl_oflags=0;if(oflags&1){musl_oflags|=64}if(oflags&8){musl_oflags|=512}if(oflags&2){musl_oflags|=65536}if(oflags&4){musl_oflags|=128}return musl_oflags};var _emscripten_unwind_to_js_event_loop=()=>{throw"unwind"};_emscripten_unwind_to_js_event_loop.sig="v";var safeSetTimeout=(func,timeout)=>setTimeout(()=>{callUserCallback(func)},timeout);var setImmediateWrapped=func=>{setImmediateWrapped.mapping||=[];var id=setImmediateWrapped.mapping.length;setImmediateWrapped.mapping[id]=setImmediate(()=>{setImmediateWrapped.mapping[id]=undefined;func()});return id};var safeRequestAnimationFrame=func=>MainLoop.requestAnimationFrame(()=>{callUserCallback(func)});var clearImmediateWrapped=id=>{clearImmediate(setImmediateWrapped.mapping[id]);setImmediateWrapped.mapping[id]=undefined};var emClearImmediate;var emSetImmediate;var emClearImmediate_deps=["$emSetImmediate"];var _emscripten_set_immediate=(cb,userData)=>emSetImmediate(()=>{callUserCallback(()=>(a1=>{})(userData))});_emscripten_set_immediate.sig="ipp";var _emscripten_clear_immediate=id=>{emClearImmediate(id)};_emscripten_clear_immediate.sig="vi";var _emscripten_set_immediate_loop=(cb,userData)=>{function tick(){callUserCallback(()=>{if((a1=>{})(userData)){emSetImmediate(tick)}else{}})}emSetImmediate(tick)};_emscripten_set_immediate_loop.sig="vpp";var _emscripten_set_timeout=(cb,msecs,userData)=>safeSetTimeout(()=>(a1=>{})(userData),msecs);_emscripten_set_timeout.sig="ipdp";var _emscripten_clear_timeout=clearTimeout;_emscripten_clear_timeout.sig="vi";var _emscripten_set_timeout_loop=(cb,msecs,userData)=>{function tick(){var t=_emscripten_get_now();var n=t+msecs;callUserCallback(()=>{if(((a1,a2)=>{})(t,userData)){var remaining=n-_emscripten_get_now();setTimeout(tick,remaining)}})}return setTimeout(tick,0)};_emscripten_set_timeout_loop.sig="vpdp";var _emscripten_set_interval=(cb,msecs,userData)=>setInterval(()=>{callUserCallback(()=>(a1=>{})(userData))},msecs);_emscripten_set_interval.sig="ipdp";var _emscripten_clear_interval=id=>{clearInterval(id)};_emscripten_clear_interval.sig="vi";var _emscripten_async_call=(func,arg,millis)=>{var wrapper=()=>(a1=>{})(arg);if(millis>=0){safeSetTimeout(wrapper,millis)}else{safeRequestAnimationFrame(wrapper)}};_emscripten_async_call.sig="vppi";var registerPostMainLoop=f=>{typeof MainLoop!="undefined"&&MainLoop.postMainLoop.push(f)};var registerPreMainLoop=f=>{typeof MainLoop!="undefined"&&MainLoop.preMainLoop.push(f)};var _emscripten_get_main_loop_timing=(mode,value)=>{if(mode)HEAP32[mode>>2]=MainLoop.timingMode;if(value)HEAP32[value>>2]=MainLoop.timingValue};_emscripten_get_main_loop_timing.sig="vpp";var _emscripten_set_main_loop=(func,fps,simulateInfiniteLoop)=>{var iterFunc=()=>{};setMainLoop(iterFunc,fps,simulateInfiniteLoop)};_emscripten_set_main_loop.sig="vpii";var _emscripten_set_main_loop_arg=(func,arg,fps,simulateInfiniteLoop)=>{var iterFunc=()=>(a1=>{})(arg);setMainLoop(iterFunc,fps,simulateInfiniteLoop,arg)};_emscripten_set_main_loop_arg.sig="vppii";var _emscripten_cancel_main_loop=()=>{MainLoop.pause();MainLoop.func=null};_emscripten_cancel_main_loop.sig="v";var _emscripten_pause_main_loop=()=>MainLoop.pause();_emscripten_pause_main_loop.sig="v";var _emscripten_resume_main_loop=()=>MainLoop.resume();_emscripten_resume_main_loop.sig="v";var __emscripten_push_main_loop_blocker=(func,arg,name)=>{MainLoop.queue.push({func:()=>{(a1=>{})(arg)},name:UTF8ToString(name),counted:true});MainLoop.updateStatus()};__emscripten_push_main_loop_blocker.sig="vppp";var __emscripten_push_uncounted_main_loop_blocker=(func,arg,name)=>{MainLoop.queue.push({func:()=>{(a1=>{})(arg)},name:UTF8ToString(name),counted:false});MainLoop.updateStatus()};__emscripten_push_uncounted_main_loop_blocker.sig="vppp";var _emscripten_set_main_loop_expected_blockers=num=>{MainLoop.expectedBlockers=num;MainLoop.remainingBlockers=num;MainLoop.updateStatus()};_emscripten_set_main_loop_expected_blockers.sig="vi";var idsToPromises=(idBuf,size)=>{var promises=[];for(var i=0;i>2];promises[i]=getPromise(id)}return promises};var makePromiseCallback=(callback,userData)=>value=>{var stack=stackSave();var resultPtr=stackAlloc(POINTER_SIZE);HEAPU32[resultPtr>>2]=0;try{var result=((a1,a2,a3)=>{})(resultPtr,userData,value);var resultVal=HEAPU32[resultPtr>>2]}catch(e){if(typeof e!="number"){throw 0}throw e}finally{stackRestore(stack)}switch(result){case 0:return resultVal;case 1:return getPromise(resultVal);case 2:var ret=getPromise(resultVal);_emscripten_promise_destroy(resultVal);return ret;case 3:throw resultVal}};var _emscripten_promise_then=(id,onFulfilled,onRejected,userData)=>{var promise=getPromise(id);var newId=promiseMap.allocate({promise:promise.then(makePromiseCallback(onFulfilled,userData),makePromiseCallback(onRejected,userData))});return newId};_emscripten_promise_then.sig="ppppp";var _emscripten_promise_all=(idBuf,resultBuf,size)=>{var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.all(promises).then(results=>{if(resultBuf){for(var i=0;i>2]=result}}return resultBuf})});return id};_emscripten_promise_all.sig="pppp";var setPromiseResult=(ptr,fulfill,value)=>{var result=fulfill?0:3;HEAP32[ptr>>2]=result;HEAPU32[ptr+4>>2]=value};var _emscripten_promise_all_settled=(idBuf,resultBuf,size)=>{var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.allSettled(promises).then(results=>{if(resultBuf){var offset=resultBuf;for(var i=0;i{var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.any(promises).catch(err=>{if(errorBuf){for(var i=0;i>2]=err.errors[i]}}throw errorBuf})});return id};_emscripten_promise_any.sig="pppp";var _emscripten_promise_race=(idBuf,size)=>{var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.race(promises)});return id};_emscripten_promise_race.sig="ppp";var _emscripten_promise_await=(returnValuePtr,id)=>Asyncify.handleAsync(()=>getPromise(id).then(value=>setPromiseResult(returnValuePtr,true,value),error=>setPromiseResult(returnValuePtr,false,error)));_emscripten_promise_await.sig="vpp";_emscripten_promise_await.isAsync=true;var findMatchingCatch=args=>{var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}for(var caughtType of args){if(caughtType===0||caughtType===thrownType){break}var adjusted_ptr_addr=info.ptr+16;if(___cxa_can_catch(caughtType,thrownType,adjusted_ptr_addr)){setTempRet0(caughtType);return thrown}}setTempRet0(thrownType);return thrown};var ___cxa_find_matching_catch_2=()=>findMatchingCatch([]);___cxa_find_matching_catch_2.sig="p";var ___cxa_find_matching_catch_3=arg0=>findMatchingCatch([arg0]);___cxa_find_matching_catch_3.sig="pp";var ___cxa_find_matching_catch_4=(arg0,arg1)=>findMatchingCatch([arg0,arg1]);___cxa_find_matching_catch_4.sig="ppp";var exceptionCaught=[];var ___cxa_rethrow=()=>{var info=exceptionCaught.pop();if(!info){abort("no exception to throw")}var ptr=info.excPtr;if(!info.get_rethrown()){exceptionCaught.push(info);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}exceptionLast=ptr;throw exceptionLast};___cxa_rethrow.sig="v";var _llvm_eh_typeid_for=type=>type;_llvm_eh_typeid_for.sig="vp";var ___cxa_begin_catch=ptr=>{var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);___cxa_increment_exception_refcount(ptr);return ___cxa_get_exception_ptr(ptr)};___cxa_begin_catch.sig="pp";var ___cxa_end_catch=()=>{_setThrew(0,0);var info=exceptionCaught.pop();___cxa_decrement_exception_refcount(info.excPtr);exceptionLast=0};___cxa_end_catch.sig="v";var ___cxa_uncaught_exceptions=()=>uncaughtExceptionCount;___cxa_uncaught_exceptions.sig="i";var ___cxa_call_unexpected=exception=>abort("Unexpected exception thrown, this is not properly supported - aborting");___cxa_call_unexpected.sig="vp";var ___cxa_current_primary_exception=()=>{if(!exceptionCaught.length){return 0}var info=exceptionCaught[exceptionCaught.length-1];___cxa_increment_exception_refcount(info.excPtr);return info.excPtr};___cxa_current_primary_exception.sig="p";function ___cxa_current_exception_type(){if(!exceptionCaught.length){return 0}var info=exceptionCaught[exceptionCaught.length-1];return info.get_type()}___cxa_current_exception_type.sig="p";var ___cxa_rethrow_primary_exception=ptr=>{if(!ptr)return;var info=new ExceptionInfo(ptr);exceptionCaught.push(info);info.set_rethrown(true);___cxa_rethrow()};___cxa_rethrow_primary_exception.sig="vp";var ___resumeException=ptr=>{if(!exceptionLast){exceptionLast=ptr}throw exceptionLast};___resumeException.sig="vp";var Browser={useWebGL:false,isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],preloadedImages:{},preloadedAudios:{},getCanvas:()=>Module["canvas"],init(){if(Browser.initted)return;Browser.initted=true;var imagePlugin={};imagePlugin["canHandle"]=function imagePlugin_canHandle(name){return!Module["noImageDecoding"]&&/\.(jpg|jpeg|png|bmp|webp)$/i.test(name)};imagePlugin["handle"]=function imagePlugin_handle(byteArray,name,onload,onerror){var b=new Blob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=new Blob([new Uint8Array(byteArray).buffer],{type:Browser.getMimetype(name)})}var url=URL.createObjectURL(b);var img=new Image;img.onload=()=>{var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Browser.preloadedImages[name]=canvas;URL.revokeObjectURL(url);onload?.(byteArray)};img.onerror=event=>{err(`Image ${url} could not be decoded`);onerror?.()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module["noAudioDecoding"]&&name.slice(-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;Browser.preloadedAudios[name]=audio;onload?.(byteArray)}function fail(){if(done)return;done=true;Browser.preloadedAudios[name]=new Audio;onerror?.()}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.slice(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){var canvas=Browser.getCanvas();Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}var canvas=Browser.getCanvas();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&&Browser.getCanvas().requestPointerLock){Browser.getCanvas().requestPointerLock();ev.preventDefault()}},false)}}},createContext(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module["ctx"]&&canvas==Browser.getCanvas())return Module["ctx"];var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){Module["ctx"]=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Browser.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Browser.getCanvas();function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}Module["onFullScreen"]?.(Browser.isFullscreen);Module["onFullscreen"]?.(Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},exitFullscreen(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},safeSetTimeout(func,timeout){return safeSetTimeout(func,timeout)},getMimetype(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.slice(name.lastIndexOf(".")+1)]},getUserMedia(func){window.getUserMedia||=navigator["getUserMedia"]||navigator["mozGetUserMedia"];window.getUserMedia(func)},getMovementX(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(pageX,pageY){var canvas=Browser.getCanvas();var rect=canvas.getBoundingClientRect();var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;var adjustedX=pageX-(scrollX+rect.left);var adjustedY=pageY-(scrollY+rect.top);adjustedX=adjustedX*(canvas.width/rect.width);adjustedY=adjustedY*(canvas.height/rect.height);return{x:adjustedX,y:adjustedY}},setMouseCoords(pageX,pageY){const{x,y}=Browser.calculateMouseCoords(pageX,pageY);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y},calculateMouseEvent(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}else{if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var coords=Browser.calculateMouseCoords(touch.pageX,touch.pageY);if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];last||=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}Browser.setMouseCoords(event.pageX,event.pageY)}},resizeListeners:[],updateResizeListeners(){var canvas=Browser.getCanvas();Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize(width,height,noUpdates){var canvas=Browser.getCanvas();Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Browser.getCanvas());Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Browser.getCanvas());Browser.updateResizeListeners()},updateCanvasDimensions(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]>0){if(w/h{var _file=UTF8ToString(file);var data=FS.analyzePath(_file);if(!data.exists)return-1;FS.createPreloadedFile(PATH.dirname(_file),PATH.basename(_file),new Uint8Array(data.object.contents),true,true,()=>{if(onload)(a1=>{})(file)},()=>{if(onerror)(a1=>{})(file)},true);return 0};_emscripten_run_preload_plugins.sig="ippp";var Browser_asyncPrepareDataCounter=0;var _emscripten_run_preload_plugins_data=(data,size,suffix,arg,onload,onerror)=>{var _suffix=UTF8ToString(suffix);var name="prepare_data_"+Browser_asyncPrepareDataCounter+++"."+_suffix;var cname=stringToNewUTF8(name);FS.createPreloadedFile("/",name,HEAPU8.subarray(data,data+size),true,true,()=>{if(onload)((a1,a2)=>{})(arg,cname)},()=>{if(onerror)(a1=>{})(arg)},true)};_emscripten_run_preload_plugins_data.sig="vpipppp";var _emscripten_async_run_script=(script,millis)=>{safeSetTimeout(()=>_emscripten_run_script(script),millis)};_emscripten_async_run_script.sig="vpi";var _emscripten_async_load_script=async(url,onload,onerror)=>{url=UTF8ToString(url);var loadDone=()=>{if(onload){var onloadCallback=()=>callUserCallback(()=>{});if(runDependencies>0){dependenciesFulfilled=onloadCallback}else{onloadCallback()}}};var loadError=()=>{if(onerror){callUserCallback(()=>{})}};var script=document.createElement("script");script.onload=loadDone;script.onerror=loadError;script.src=url;document.body.appendChild(script)};_emscripten_async_load_script.sig="vppp";_emscripten_async_load_script.isAsync=true;var _emscripten_get_window_title=()=>{var buflen=256;if(!_emscripten_get_window_title.buffer){_emscripten_get_window_title.buffer=_malloc(buflen)}stringToUTF8(document.title,_emscripten_get_window_title.buffer,buflen);return _emscripten_get_window_title.buffer};_emscripten_get_window_title.sig="p";var _emscripten_set_window_title=title=>document.title=UTF8ToString(title);_emscripten_set_window_title.sig="vp";var _emscripten_get_screen_size=(width,height)=>{HEAP32[width>>2]=screen.width;HEAP32[height>>2]=screen.height};_emscripten_get_screen_size.sig="vpp";var _emscripten_hide_mouse=()=>{var styleSheet=document.styleSheets[0];var rules=styleSheet.cssRules;for(var i=0;iBrowser.setCanvasSize(width,height);_emscripten_set_canvas_size.sig="vii";var _emscripten_get_canvas_size=(width,height,isFullscreen)=>{var canvas=Browser.getCanvas();HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height;HEAP32[isFullscreen>>2]=Browser.isFullscreen?1:0};_emscripten_get_canvas_size.sig="vppp";var _emscripten_create_worker=url=>{url=UTF8ToString(url);var id=Browser.workers.length;var info={worker:new Worker(url),callbacks:[],awaited:0,buffer:0,bufferSize:0};info.worker.onmessage=function info_worker_onmessage(msg){if(ABORT)return;var info=Browser.workers[id];if(!info)return;var callbackId=msg.data["callbackId"];var callbackInfo=info.callbacks[callbackId];if(!callbackInfo)return;if(msg.data["finalResponse"]){info.awaited--;info.callbacks[callbackId]=null}var data=msg.data["data"];if(data){if(!data.byteLength)data=new Uint8Array(data);if(!info.buffer||info.bufferSize{var info=Browser.workers[id];info.worker.terminate();if(info.buffer)_free(info.buffer);Browser.workers[id]=null};_emscripten_destroy_worker.sig="vi";var _emscripten_call_worker=(id,funcName,data,size,callback,arg)=>{funcName=UTF8ToString(funcName);var info=Browser.workers[id];var callbackId=-1;if(callback){callbackId=info.callbacks.length;info.callbacks.push({func:(a1,a2,a3)=>{},arg});info.awaited++}var transferObject={funcName,callbackId,data:data?new Uint8Array(HEAPU8.subarray(data,data+size)):0};if(data){info.worker.postMessage(transferObject,[transferObject.data.buffer])}else{info.worker.postMessage(transferObject)}};_emscripten_call_worker.sig="vippipp";var _emscripten_get_worker_queue_size=id=>{var info=Browser.workers[id];if(!info)return-1;return info.awaited};_emscripten_get_worker_queue_size.sig="ii";var getPreloadedImageData=(path,w,h)=>{path=PATH_FS.resolve(path);var canvas=Browser.preloadedImages[path];if(!canvas)return 0;var ctx=canvas.getContext("2d");var image=ctx.getImageData(0,0,canvas.width,canvas.height);var buf=_malloc(canvas.width*canvas.height*4);HEAPU8.set(image.data,buf);HEAP32[w>>2]=canvas.width;HEAP32[h>>2]=canvas.height;return buf};var _emscripten_get_preloaded_image_data=(path,w,h)=>getPreloadedImageData(UTF8ToString(path),w,h);_emscripten_get_preloaded_image_data.sig="pppp";var getPreloadedImageData__data=["$PATH_FS","malloc"];var _emscripten_get_preloaded_image_data_from_FILE=(file,w,h)=>{var fd=_fileno(file);var stream=FS.getStream(fd);if(stream){return getPreloadedImageData(stream.path,w,h)}return 0};_emscripten_get_preloaded_image_data_from_FILE.sig="pppp";var wget={wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle(){var handle=wget.nextWgetRequestHandle;wget.nextWgetRequestHandle++;return handle}};var FS_mkdirTree=(path,mode)=>FS.mkdirTree(path,mode);var FS_unlink=(...args)=>FS.unlink(...args);var _emscripten_async_wget=(url,file,onload,onerror)=>{var _url=UTF8ToString(url);var _file=UTF8ToString(file);_file=PATH_FS.resolve(_file);function doCallback(callback){if(callback){callUserCallback(()=>{var sp=stackSave();(a1=>{})(stringToUTF8OnStack(_file));stackRestore(sp)})}}var destinationDirectory=PATH.dirname(_file);FS_createPreloadedFile(destinationDirectory,PATH.basename(_file),_url,true,true,()=>doCallback(onload),()=>doCallback(onerror),false,false,()=>{try{FS_unlink(_file)}catch(e){}FS_mkdirTree(destinationDirectory)})};_emscripten_async_wget.sig="vpppp";var _emscripten_async_wget_data=async(url,userdata,onload,onerror)=>{try{var byteArray=await asyncLoad(UTF8ToString(url));callUserCallback(()=>{var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);((a1,a2,a3)=>{})(userdata,buffer,byteArray.length);_free(buffer)})}catch(e){if(onerror){callUserCallback(()=>{(a1=>{})(userdata)})}}};_emscripten_async_wget_data.sig="vpppp";_emscripten_async_wget_data.isAsync=true;var _emscripten_async_wget2=(url,file,request,param,userdata,onload,onerror,onprogress)=>{var _url=UTF8ToString(url);var _file=UTF8ToString(file);_file=PATH_FS.resolve(_file);var _request=UTF8ToString(request);var _param=UTF8ToString(param);var index=_file.lastIndexOf("/");var http=new XMLHttpRequest;http.open(_request,_url,true);http.responseType="arraybuffer";var handle=wget.getNextWgetRequestHandle();var destinationDirectory=PATH.dirname(_file);http.onload=e=>{if(http.status>=200&&http.status<300){try{FS.unlink(_file)}catch(e){}FS.mkdirTree(destinationDirectory);FS.createDataFile(_file.slice(0,index),_file.slice(index+1),new Uint8Array(http.response),true,true,false);if(onload){var sp=stackSave();((a1,a2,a3)=>{})(handle,userdata,stringToUTF8OnStack(_file));stackRestore(sp)}}else{if(onerror)((a1,a2,a3)=>{})(handle,userdata,http.status)}delete wget.wgetRequests[handle]};http.onerror=e=>{if(onerror)((a1,a2,a3)=>{})(handle,userdata,http.status);delete wget.wgetRequests[handle]};http.onprogress=e=>{if(e.lengthComputable||e.lengthComputable===undefined&&e.total!=0){var percentComplete=e.loaded/e.total*100;if(onprogress)((a1,a2,a3)=>{})(handle,userdata,percentComplete)}};http.onabort=e=>{delete wget.wgetRequests[handle]};if(_request=="POST"){http.setRequestHeader("Content-type","application/x-www-form-urlencoded");http.send(_param)}else{http.send(null)}wget.wgetRequests[handle]=http;return handle};_emscripten_async_wget2.sig="ipppppppp";var _emscripten_async_wget2_data=(url,request,param,userdata,free,onload,onerror,onprogress)=>{var _url=UTF8ToString(url);var _request=UTF8ToString(request);var _param=UTF8ToString(param);var http=new XMLHttpRequest;http.open(_request,_url,true);http.responseType="arraybuffer";var handle=wget.getNextWgetRequestHandle();function onerrorjs(){if(onerror){var sp=stackSave();var statusText=0;if(http.statusText){statusText=stringToUTF8OnStack(http.statusText)}((a1,a2,a3,a4)=>{})(handle,userdata,http.status,statusText);stackRestore(sp)}}http.onload=e=>{if(http.status>=200&&http.status<300||http.status===0&&_url.slice(0,4).toLowerCase()!="http"){var byteArray=new Uint8Array(http.response);var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);if(onload)((a1,a2,a3,a4)=>{})(handle,userdata,buffer,byteArray.length);if(free)_free(buffer)}else{onerrorjs()}delete wget.wgetRequests[handle]};http.onerror=e=>{onerrorjs();delete wget.wgetRequests[handle]};http.onprogress=e=>{if(onprogress)((a1,a2,a3,a4)=>{})(handle,userdata,e.loaded,e.lengthComputable||e.lengthComputable===undefined?e.total:0)};http.onabort=e=>{delete wget.wgetRequests[handle]};if(_request=="POST"){http.setRequestHeader("Content-type","application/x-www-form-urlencoded");http.send(_param)}else{http.send(null)}wget.wgetRequests[handle]=http;return handle};_emscripten_async_wget2_data.sig="ippppippp";var _emscripten_async_wget2_abort=handle=>{var http=wget.wgetRequests[handle];http?.abort()};_emscripten_async_wget2_abort.sig="vi";var ___asctime_r=(tmPtr,buf)=>{var date={tm_sec:HEAP32[tmPtr>>2],tm_min:HEAP32[tmPtr+4>>2],tm_hour:HEAP32[tmPtr+8>>2],tm_mday:HEAP32[tmPtr+12>>2],tm_mon:HEAP32[tmPtr+16>>2],tm_year:HEAP32[tmPtr+20>>2],tm_wday:HEAP32[tmPtr+24>>2]};var days=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var s=days[date.tm_wday]+" "+months[date.tm_mon]+(date.tm_mday<10?" ":" ")+date.tm_mday+(date.tm_hour<10?" 0":" ")+date.tm_hour+(date.tm_min<10?":0":":")+date.tm_min+(date.tm_sec<10?":0":":")+date.tm_sec+" "+(1900+date.tm_year)+"\n";stringToUTF8(s,buf,26);return buf};___asctime_r.sig="ppp";var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var arraySum=(array,index)=>{var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum};var addDays=(date,days)=>{var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate};var _strptime=(buf,format,tm)=>{var pattern=UTF8ToString(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;iEQUIVALENT_MATCHERS[c]||m).replace(/%(.)/g,(_,c)=>{let pat=DATE_PATTERNS[c];if(pat){capture.push(c);return`(${pat})`}else{return c}}).replace(/\s+/g,"\\s*");var matches=new RegExp("^"+pattern_out,"i").exec(UTF8ToString(buf));function initDate(){function fixup(value,min,max){return typeof value!="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59),gmtoff:0}}if(matches){var date=initDate();var value;var getMatch=symbol=>{var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return};if(value=getMatch("S")){date.sec=Number(value)}if(value=getMatch("M")){date.min=Number(value)}if(value=getMatch("H")){date.hour=Number(value)}else if(value=getMatch("I")){var hour=Number(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=Number(value)}else if(value=getMatch("y")){var year=Number(value);if(value=getMatch("C")){year+=Number(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=Number(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=Number(value)}else if(value=getMatch("j")){var day=Number(value);var leapYear=isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=arraySum(leapYear?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=Number(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=Number(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}if(value=getMatch("z")){if(value.toLowerCase()==="z"){date.gmtoff=0}else{var match=value.match(/^((?:\-|\+)\d\d):?(\d\d)?/);date.gmtoff=match[1]*3600;if(match[2]){date.gmtoff+=date.gmtoff>0?match[2]*60:-match[2]*60}}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=arraySum(isLeapYear(fullDate.getFullYear())?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;HEAP32[tm+36>>2]=date.gmtoff;return buf+intArrayFromString(matches[0]).length-1}return 0};_strptime.sig="pppp";var _strptime_l=(buf,format,tm,locale)=>_strptime(buf,format,tm);_strptime_l.sig="ppppp";function ___syscall_shutdown(fd,how){try{getSocketFromFD(fd);return-52}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_shutdown.sig="iiiiiii";var __dlsym_catchup_js=(handle,symbolIndex)=>{var lib=LDSO.loadedLibsByHandle[handle];var symDict=lib.exports;var symName=Object.keys(symDict)[symbolIndex];var sym=symDict[symName];var result=addFunction(sym,sym.sig);return result};__dlsym_catchup_js.sig="ppi";var FS_createPath=(...args)=>FS.createPath(...args);var FS_createDevice=(...args)=>FS.createDevice(...args);var FS_readFile=(...args)=>FS.readFile(...args);var FS_root=(...args)=>FS.root(...args);var FS_mounts=(...args)=>FS.mounts(...args);var FS_devices=(...args)=>FS.devices(...args);var FS_streams=(...args)=>FS.streams(...args);var FS_nextInode=(...args)=>FS.nextInode(...args);var FS_nameTable=(...args)=>FS.nameTable(...args);var FS_currentPath=(...args)=>FS.currentPath(...args);var FS_initialized=(...args)=>FS.initialized(...args);var FS_ignorePermissions=(...args)=>FS.ignorePermissions(...args);var FS_filesystems=(...args)=>FS.filesystems(...args);var FS_syncFSRequests=(...args)=>FS.syncFSRequests(...args);var FS_readFiles=(...args)=>FS.readFiles(...args);var FS_lookupPath=(...args)=>FS.lookupPath(...args);var FS_getPath=(...args)=>FS.getPath(...args);var FS_hashName=(...args)=>FS.hashName(...args);var FS_hashAddNode=(...args)=>FS.hashAddNode(...args);var FS_hashRemoveNode=(...args)=>FS.hashRemoveNode(...args);var FS_lookupNode=(...args)=>FS.lookupNode(...args);var FS_createNode=(...args)=>FS.createNode(...args);var FS_destroyNode=(...args)=>FS.destroyNode(...args);var FS_isRoot=(...args)=>FS.isRoot(...args);var FS_isMountpoint=(...args)=>FS.isMountpoint(...args);var FS_isFile=(...args)=>FS.isFile(...args);var FS_isDir=(...args)=>FS.isDir(...args);var FS_isLink=(...args)=>FS.isLink(...args);var FS_isChrdev=(...args)=>FS.isChrdev(...args);var FS_isBlkdev=(...args)=>FS.isBlkdev(...args);var FS_isFIFO=(...args)=>FS.isFIFO(...args);var FS_isSocket=(...args)=>FS.isSocket(...args);var FS_flagsToPermissionString=(...args)=>FS.flagsToPermissionString(...args);var FS_nodePermissions=(...args)=>FS.nodePermissions(...args);var FS_mayLookup=(...args)=>FS.mayLookup(...args);var FS_mayCreate=(...args)=>FS.mayCreate(...args);var FS_mayDelete=(...args)=>FS.mayDelete(...args);var FS_mayOpen=(...args)=>FS.mayOpen(...args);var FS_checkOpExists=(...args)=>FS.checkOpExists(...args);var FS_nextfd=(...args)=>FS.nextfd(...args);var FS_getStreamChecked=(...args)=>FS.getStreamChecked(...args);var FS_getStream=(...args)=>FS.getStream(...args);var FS_createStream=(...args)=>FS.createStream(...args);var FS_closeStream=(...args)=>FS.closeStream(...args);var FS_dupStream=(...args)=>FS.dupStream(...args);var FS_doSetAttr=(...args)=>FS.doSetAttr(...args);var FS_chrdev_stream_ops=(...args)=>FS.chrdev_stream_ops(...args);var FS_major=(...args)=>FS.major(...args);var FS_minor=(...args)=>FS.minor(...args);var FS_makedev=(...args)=>FS.makedev(...args);var FS_registerDevice=(...args)=>FS.registerDevice(...args);var FS_getDevice=(...args)=>FS.getDevice(...args);var FS_getMounts=(...args)=>FS.getMounts(...args);var FS_syncfs=(...args)=>FS.syncfs(...args);var FS_mount=(...args)=>FS.mount(...args);var FS_unmount=(...args)=>FS.unmount(...args);var FS_lookup=(...args)=>FS.lookup(...args);var FS_mknod=(...args)=>FS.mknod(...args);var FS_statfs=(...args)=>FS.statfs(...args);var FS_statfsStream=(...args)=>FS.statfsStream(...args);var FS_statfsNode=(...args)=>FS.statfsNode(...args);var FS_create=(...args)=>FS.create(...args);var FS_mkdir=(...args)=>FS.mkdir(...args);var FS_mkdev=(...args)=>FS.mkdev(...args);var FS_symlink=(...args)=>FS.symlink(...args);var FS_rename=(...args)=>FS.rename(...args);var FS_rmdir=(...args)=>FS.rmdir(...args);var FS_readdir=(...args)=>FS.readdir(...args);var FS_readlink=(...args)=>FS.readlink(...args);var FS_stat=(...args)=>FS.stat(...args);var FS_fstat=(...args)=>FS.fstat(...args);var FS_lstat=(...args)=>FS.lstat(...args);var FS_doChmod=(...args)=>FS.doChmod(...args);var FS_chmod=(...args)=>FS.chmod(...args);var FS_lchmod=(...args)=>FS.lchmod(...args);var FS_fchmod=(...args)=>FS.fchmod(...args);var FS_doChown=(...args)=>FS.doChown(...args);var FS_chown=(...args)=>FS.chown(...args);var FS_lchown=(...args)=>FS.lchown(...args);var FS_fchown=(...args)=>FS.fchown(...args);var FS_doTruncate=(...args)=>FS.doTruncate(...args);var FS_truncate=(...args)=>FS.truncate(...args);var FS_ftruncate=(...args)=>FS.ftruncate(...args);var FS_utime=(...args)=>FS.utime(...args);var FS_open=(...args)=>FS.open(...args);var FS_close=(...args)=>FS.close(...args);var FS_isClosed=(...args)=>FS.isClosed(...args);var FS_llseek=(...args)=>FS.llseek(...args);var FS_read=(...args)=>FS.read(...args);var FS_write=(...args)=>FS.write(...args);var FS_mmap=(...args)=>FS.mmap(...args);var FS_msync=(...args)=>FS.msync(...args);var FS_ioctl=(...args)=>FS.ioctl(...args);var FS_writeFile=(...args)=>FS.writeFile(...args);var FS_cwd=(...args)=>FS.cwd(...args);var FS_chdir=(...args)=>FS.chdir(...args);var FS_createDefaultDirectories=(...args)=>FS.createDefaultDirectories(...args);var FS_createDefaultDevices=(...args)=>FS.createDefaultDevices(...args);var FS_createSpecialDirectories=(...args)=>FS.createSpecialDirectories(...args);var FS_createStandardStreams=(...args)=>FS.createStandardStreams(...args);var FS_staticInit=(...args)=>FS.staticInit(...args);var FS_init=(...args)=>FS.init(...args);var FS_quit=(...args)=>FS.quit(...args);var FS_findObject=(...args)=>FS.findObject(...args);var FS_analyzePath=(...args)=>FS.analyzePath(...args);var FS_createFile=(...args)=>FS.createFile(...args);var FS_forceLoadFile=(...args)=>FS.forceLoadFile(...args);var FS_createLazyFile=(...args)=>FS.createLazyFile(...args);var _setNetworkCallback=(event,userData,callback)=>{function _callback(data){callUserCallback(()=>{if(event==="error"){withStackSave(()=>{var msg=stringToUTF8OnStack(data[2]);((a1,a2,a3,a4)=>{})(data[0],data[1],msg,userData)})}else{((a1,a2)=>{})(data,userData)}})}SOCKFS.on(event,callback?_callback:null)};var _emscripten_set_socket_error_callback=(userData,callback)=>_setNetworkCallback("error",userData,callback);_emscripten_set_socket_error_callback.sig="vpp";var _emscripten_set_socket_open_callback=(userData,callback)=>_setNetworkCallback("open",userData,callback);_emscripten_set_socket_open_callback.sig="vpp";var _emscripten_set_socket_listen_callback=(userData,callback)=>_setNetworkCallback("listen",userData,callback);_emscripten_set_socket_listen_callback.sig="vpp";var _emscripten_set_socket_connection_callback=(userData,callback)=>_setNetworkCallback("connection",userData,callback);_emscripten_set_socket_connection_callback.sig="vpp";var _emscripten_set_socket_message_callback=(userData,callback)=>_setNetworkCallback("message",userData,callback);_emscripten_set_socket_message_callback.sig="vpp";var _emscripten_set_socket_close_callback=(userData,callback)=>_setNetworkCallback("close",userData,callback);_emscripten_set_socket_close_callback.sig="vpp";var _emscripten_webgl_enable_ANGLE_instanced_arrays=ctx=>webgl_enable_ANGLE_instanced_arrays(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_ANGLE_instanced_arrays.sig="ip";var _emscripten_webgl_enable_OES_vertex_array_object=ctx=>webgl_enable_OES_vertex_array_object(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_OES_vertex_array_object.sig="ip";var _emscripten_webgl_enable_WEBGL_draw_buffers=ctx=>webgl_enable_WEBGL_draw_buffers(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_WEBGL_draw_buffers.sig="ip";var _emscripten_webgl_enable_WEBGL_multi_draw=ctx=>webgl_enable_WEBGL_multi_draw(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_WEBGL_multi_draw.sig="ip";var _emscripten_webgl_enable_EXT_polygon_offset_clamp=ctx=>webgl_enable_EXT_polygon_offset_clamp(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_EXT_polygon_offset_clamp.sig="ip";var _emscripten_webgl_enable_EXT_clip_control=ctx=>webgl_enable_EXT_clip_control(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_EXT_clip_control.sig="ip";var _emscripten_webgl_enable_WEBGL_polygon_mode=ctx=>webgl_enable_WEBGL_polygon_mode(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_WEBGL_polygon_mode.sig="ip";var _glVertexPointer=(size,type,stride,ptr)=>{throw"Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glVertexPointer.sig="viiip";var _glMatrixMode=()=>{throw"Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glMatrixMode.sig="vi";var _glBegin=()=>{throw"Legacy GL function (glBegin) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glBegin.sig="vi";var _glLoadIdentity=()=>{throw"Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glLoadIdentity.sig="v";var _glVertexAttribDivisorNV=_glVertexAttribDivisor;var _glDrawArraysInstancedNV=_glDrawArraysInstanced;var _glDrawElementsInstancedNV=_glDrawElementsInstanced;var _glVertexAttribDivisorEXT=_glVertexAttribDivisor;var _glDrawArraysInstancedEXT=_glDrawArraysInstanced;var _glDrawElementsInstancedEXT=_glDrawElementsInstanced;var _glVertexAttribDivisorARB=_glVertexAttribDivisor;var _glDrawArraysInstancedARB=_glDrawArraysInstanced;var _glDrawElementsInstancedARB=_glDrawElementsInstanced;var _glDrawBuffersEXT=_glDrawBuffers;var _glMultiDrawArraysWEBGL=(mode,firsts,counts,drawcount)=>{GLctx.multiDrawWebgl["multiDrawArraysWEBGL"](mode,HEAP32,firsts>>2,HEAP32,counts>>2,drawcount)};_glMultiDrawArraysWEBGL.sig="vippi";var _glMultiDrawArrays=_glMultiDrawArraysWEBGL;_glMultiDrawArrays.sig="vippi";var _glMultiDrawArraysANGLE=_glMultiDrawArraysWEBGL;var _glMultiDrawArraysInstancedWEBGL=(mode,firsts,counts,instanceCounts,drawcount)=>{GLctx.multiDrawWebgl["multiDrawArraysInstancedWEBGL"](mode,HEAP32,firsts>>2,HEAP32,counts>>2,HEAP32,instanceCounts>>2,drawcount)};_glMultiDrawArraysInstancedWEBGL.sig="vipppi";var _glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedWEBGL;var _glMultiDrawElementsWEBGL=(mode,counts,type,offsets,drawcount)=>{GLctx.multiDrawWebgl["multiDrawElementsWEBGL"](mode,HEAP32,counts>>2,type,HEAP32,offsets>>2,drawcount)};_glMultiDrawElementsWEBGL.sig="vipipi";var _glMultiDrawElements=_glMultiDrawElementsWEBGL;_glMultiDrawElements.sig="vipipi";var _glMultiDrawElementsANGLE=_glMultiDrawElementsWEBGL;var _glMultiDrawElementsInstancedWEBGL=(mode,counts,type,offsets,instanceCounts,drawcount)=>{GLctx.multiDrawWebgl["multiDrawElementsInstancedWEBGL"](mode,HEAP32,counts>>2,type,HEAP32,offsets>>2,HEAP32,instanceCounts>>2,drawcount)};_glMultiDrawElementsInstancedWEBGL.sig="vipippi";var _glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedWEBGL;var _glClearDepth=x0=>GLctx.clearDepth(x0);_glClearDepth.sig="vd";var _glDepthRange=(x0,x1)=>GLctx.depthRange(x0,x1);_glDepthRange.sig="vdd";var _emscripten_glGenVertexArrays=_glGenVertexArrays;_emscripten_glGenVertexArrays.sig="vip";var _emscripten_glDeleteVertexArrays=_glDeleteVertexArrays;_emscripten_glDeleteVertexArrays.sig="vip";var _emscripten_glBindVertexArray=_glBindVertexArray;_emscripten_glBindVertexArray.sig="vi";var _emscripten_glIsVertexArray=_glIsVertexArray;_emscripten_glIsVertexArray.sig="ii";var _emscripten_glVertexPointer=_glVertexPointer;_emscripten_glVertexPointer.sig="viiip";var _emscripten_glMatrixMode=_glMatrixMode;_emscripten_glMatrixMode.sig="vi";var _emscripten_glBegin=_glBegin;_emscripten_glBegin.sig="vi";var _emscripten_glLoadIdentity=_glLoadIdentity;_emscripten_glLoadIdentity.sig="v";var _emscripten_glVertexAttribDivisor=_glVertexAttribDivisor;_emscripten_glVertexAttribDivisor.sig="vii";var _emscripten_glDrawArraysInstanced=_glDrawArraysInstanced;_emscripten_glDrawArraysInstanced.sig="viiii";var _emscripten_glDrawElementsInstanced=_glDrawElementsInstanced;_emscripten_glDrawElementsInstanced.sig="viiipi";var _emscripten_glVertexAttribDivisorNV=_glVertexAttribDivisorNV;var _emscripten_glDrawArraysInstancedNV=_glDrawArraysInstancedNV;var _emscripten_glDrawElementsInstancedNV=_glDrawElementsInstancedNV;var _emscripten_glVertexAttribDivisorEXT=_glVertexAttribDivisorEXT;var _emscripten_glDrawArraysInstancedEXT=_glDrawArraysInstancedEXT;var _emscripten_glDrawElementsInstancedEXT=_glDrawElementsInstancedEXT;var _emscripten_glVertexAttribDivisorARB=_glVertexAttribDivisorARB;var _emscripten_glDrawArraysInstancedARB=_glDrawArraysInstancedARB;var _emscripten_glDrawElementsInstancedARB=_glDrawElementsInstancedARB;var _emscripten_glDrawBuffers=_glDrawBuffers;_emscripten_glDrawBuffers.sig="vip";var _emscripten_glDrawBuffersEXT=_glDrawBuffersEXT;var _emscripten_glMultiDrawArrays=_glMultiDrawArrays;_emscripten_glMultiDrawArrays.sig="vippi";var _emscripten_glMultiDrawArraysANGLE=_glMultiDrawArraysANGLE;var _emscripten_glMultiDrawArraysWEBGL=_glMultiDrawArraysWEBGL;var _emscripten_glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedANGLE;var _emscripten_glMultiDrawArraysInstancedWEBGL=_glMultiDrawArraysInstancedWEBGL;var _emscripten_glMultiDrawElements=_glMultiDrawElements;_emscripten_glMultiDrawElements.sig="vipipi";var _emscripten_glMultiDrawElementsANGLE=_glMultiDrawElementsANGLE;var _emscripten_glMultiDrawElementsWEBGL=_glMultiDrawElementsWEBGL;var _emscripten_glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedANGLE;var _emscripten_glMultiDrawElementsInstancedWEBGL=_glMultiDrawElementsInstancedWEBGL;var _emscripten_glClearDepth=_glClearDepth;_emscripten_glClearDepth.sig="vd";var _emscripten_glDepthRange=_glDepthRange;_emscripten_glDepthRange.sig="vdd";var writeGLArray=(arr,dst,dstLength,heapType)=>{var len=arr.length;var writeLength=dstLength>2;for(var i=0;i{var attr32=attributes>>2;var powerPreference=HEAP32[attr32+(8>>2)];var contextAttributes={alpha:!!HEAP8[attributes+0],depth:!!HEAP8[attributes+1],stencil:!!HEAP8[attributes+2],antialias:!!HEAP8[attributes+3],premultipliedAlpha:!!HEAP8[attributes+4],preserveDrawingBuffer:!!HEAP8[attributes+5],powerPreference:webglPowerPreferences[powerPreference],failIfMajorPerformanceCaveat:!!HEAP8[attributes+12],majorVersion:HEAP32[attr32+(16>>2)],minorVersion:HEAP32[attr32+(20>>2)],enableExtensionsByDefault:HEAP8[attributes+24],explicitSwapControl:HEAP8[attributes+25],proxyContextToMainThread:HEAP32[attr32+(28>>2)],renderViaOffscreenBackBuffer:HEAP8[attributes+32]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl){return 0}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle};_emscripten_webgl_do_create_context.sig="ppp";var _emscripten_webgl_create_context=_emscripten_webgl_do_create_context;_emscripten_webgl_create_context.sig="ppp";var _emscripten_webgl_do_get_current_context=()=>GL.currentContext?GL.currentContext.handle:0;_emscripten_webgl_do_get_current_context.sig="p";var _emscripten_webgl_get_current_context=_emscripten_webgl_do_get_current_context;_emscripten_webgl_get_current_context.sig="p";var _emscripten_webgl_do_commit_frame=()=>{if(!GL.currentContext||!GL.currentContext.GLctx){return-3}if(!GL.currentContext.attributes.explicitSwapControl){return-3}return 0};_emscripten_webgl_do_commit_frame.sig="i";var _emscripten_webgl_commit_frame=_emscripten_webgl_do_commit_frame;_emscripten_webgl_commit_frame.sig="i";var _emscripten_webgl_make_context_current=contextHandle=>{var success=GL.makeContextCurrent(contextHandle);return success?0:-5};_emscripten_webgl_make_context_current.sig="ip";var _emscripten_webgl_get_drawing_buffer_size=(contextHandle,width,height)=>{var GLContext=GL.getContext(contextHandle);if(!GLContext||!GLContext.GLctx||!width||!height){return-5}HEAP32[width>>2]=GLContext.GLctx.drawingBufferWidth;HEAP32[height>>2]=GLContext.GLctx.drawingBufferHeight;return 0};_emscripten_webgl_get_drawing_buffer_size.sig="ippp";var _emscripten_webgl_get_context_attributes=(c,a)=>{if(!a)return-5;c=GL.contexts[c];if(!c)return-3;var t=c.GLctx;if(!t)return-3;t=t.getContextAttributes();HEAP8[a]=t.alpha;HEAP8[a+1]=t.depth;HEAP8[a+2]=t.stencil;HEAP8[a+3]=t.antialias;HEAP8[a+4]=t.premultipliedAlpha;HEAP8[a+5]=t.preserveDrawingBuffer;var power=t["powerPreference"]&&webglPowerPreferences.indexOf(t["powerPreference"]);HEAP32[a+8>>2]=power;HEAP8[a+12]=t.failIfMajorPerformanceCaveat;HEAP32[a+16>>2]=c.version;HEAP32[a+20>>2]=0;HEAP8[a+24]=c.attributes.enableExtensionsByDefault;return 0};_emscripten_webgl_get_context_attributes.sig="ipp";var _emscripten_webgl_destroy_context=contextHandle=>{if(GL.currentContext==contextHandle)GL.currentContext=0;GL.deleteContext(contextHandle)};_emscripten_webgl_destroy_context.sig="ip";var _emscripten_webgl_enable_extension=(contextHandle,extension)=>{var context=GL.getContext(contextHandle);var extString=UTF8ToString(extension);if(extString.startsWith("GL_"))extString=extString.slice(3);if(extString=="ANGLE_instanced_arrays")webgl_enable_ANGLE_instanced_arrays(GLctx);if(extString=="OES_vertex_array_object")webgl_enable_OES_vertex_array_object(GLctx);if(extString=="WEBGL_draw_buffers")webgl_enable_WEBGL_draw_buffers(GLctx);if(extString=="WEBGL_multi_draw")webgl_enable_WEBGL_multi_draw(GLctx);if(extString=="EXT_polygon_offset_clamp")webgl_enable_EXT_polygon_offset_clamp(GLctx);if(extString=="EXT_clip_control")webgl_enable_EXT_clip_control(GLctx);if(extString=="WEBGL_polygon_mode")webgl_enable_WEBGL_polygon_mode(GLctx);var ext=context.GLctx.getExtension(extString);return!!ext};_emscripten_webgl_enable_extension.sig="ipp";var _emscripten_supports_offscreencanvas=()=>0;_emscripten_supports_offscreencanvas.sig="i";var registerWebGlEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var webGlEventHandlerFunc=(e=event)=>{if(((a1,a2,a3)=>{})(eventTypeId,0,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:webGlEventHandlerFunc,useCapture};JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_webglcontextlost_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{registerWebGlEventCallback(target,userData,useCapture,callbackfunc,31,"webglcontextlost",targetThread);return 0};_emscripten_set_webglcontextlost_callback_on_thread.sig="ippipp";var _emscripten_set_webglcontextrestored_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{registerWebGlEventCallback(target,userData,useCapture,callbackfunc,32,"webglcontextrestored",targetThread);return 0};_emscripten_set_webglcontextrestored_callback_on_thread.sig="ippipp";var _emscripten_is_webgl_context_lost=contextHandle=>!GL.contexts[contextHandle]||GL.contexts[contextHandle].GLctx.isContextLost();_emscripten_is_webgl_context_lost.sig="ip";var _emscripten_webgl_get_supported_extensions=()=>stringToNewUTF8(GLctx.getSupportedExtensions().join(" "));_emscripten_webgl_get_supported_extensions.sig="p";var _emscripten_webgl_get_program_parameter_d=(program,param)=>GLctx.getProgramParameter(GL.programs[program],param);_emscripten_webgl_get_program_parameter_d.sig="dii";var _emscripten_webgl_get_program_info_log_utf8=program=>stringToNewUTF8(GLctx.getProgramInfoLog(GL.programs[program]));_emscripten_webgl_get_program_info_log_utf8.sig="pi";var _emscripten_webgl_get_shader_parameter_d=(shader,param)=>GLctx.getShaderParameter(GL.shaders[shader],param);_emscripten_webgl_get_shader_parameter_d.sig="dii";var _emscripten_webgl_get_shader_info_log_utf8=shader=>stringToNewUTF8(GLctx.getShaderInfoLog(GL.shaders[shader]));_emscripten_webgl_get_shader_info_log_utf8.sig="pi";var _emscripten_webgl_get_shader_source_utf8=shader=>stringToNewUTF8(GLctx.getShaderSource(GL.shaders[shader]));_emscripten_webgl_get_shader_source_utf8.sig="pi";var _emscripten_webgl_get_vertex_attrib_d=(index,param)=>GLctx.getVertexAttrib(index,param);_emscripten_webgl_get_vertex_attrib_d.sig="dii";var _emscripten_webgl_get_vertex_attrib_o=(index,param)=>{var obj=GLctx.getVertexAttrib(index,param);return obj?.name};_emscripten_webgl_get_vertex_attrib_o.sig="iii";var _emscripten_webgl_get_vertex_attrib_v=(index,param,dst,dstLength,dstType)=>writeGLArray(GLctx.getVertexAttrib(index,param),dst,dstLength,dstType);_emscripten_webgl_get_vertex_attrib_v.sig="iiipii";var _emscripten_webgl_get_uniform_d=(program,location)=>GLctx.getUniform(GL.programs[program],webglGetUniformLocation(location));_emscripten_webgl_get_uniform_d.sig="dii";var _emscripten_webgl_get_uniform_v=(program,location,dst,dstLength,dstType)=>writeGLArray(GLctx.getUniform(GL.programs[program],webglGetUniformLocation(location)),dst,dstLength,dstType);_emscripten_webgl_get_uniform_v.sig="iiipii";var _emscripten_webgl_get_parameter_v=(param,dst,dstLength,dstType)=>writeGLArray(GLctx.getParameter(param),dst,dstLength,dstType);_emscripten_webgl_get_parameter_v.sig="iipii";var _emscripten_webgl_get_parameter_d=param=>GLctx.getParameter(param);_emscripten_webgl_get_parameter_d.sig="di";var _emscripten_webgl_get_parameter_o=param=>{var obj=GLctx.getParameter(param);return obj?.name};_emscripten_webgl_get_parameter_o.sig="ii";var _emscripten_webgl_get_parameter_utf8=param=>stringToNewUTF8(GLctx.getParameter(param));_emscripten_webgl_get_parameter_utf8.sig="pi";var _emscripten_webgl_get_parameter_i64v=(param,dst)=>writeI53ToI64(dst,GLctx.getParameter(param));_emscripten_webgl_get_parameter_i64v.sig="vip";var _glutPostRedisplay=()=>{if(GLUT.displayFunc&&!GLUT.requestedAnimationFrame){GLUT.requestedAnimationFrame=true;MainLoop.requestAnimationFrame(()=>{GLUT.requestedAnimationFrame=false;MainLoop.runIter(()=>(()=>{})())})}};_glutPostRedisplay.sig="v";var GLUT={initTime:null,idleFunc:null,displayFunc:null,keyboardFunc:null,keyboardUpFunc:null,specialFunc:null,specialUpFunc:null,reshapeFunc:null,motionFunc:null,passiveMotionFunc:null,mouseFunc:null,buttons:0,modifiers:0,initWindowWidth:256,initWindowHeight:256,initDisplayMode:18,windowX:0,windowY:0,windowWidth:0,windowHeight:0,requestedAnimationFrame:false,saveModifiers:event=>{GLUT.modifiers=0;if(event["shiftKey"])GLUT.modifiers+=1;if(event["ctrlKey"])GLUT.modifiers+=2;if(event["altKey"])GLUT.modifiers+=4},onMousemove:event=>{var lastX=Browser.mouseX;var lastY=Browser.mouseY;Browser.calculateMouseEvent(event);var newX=Browser.mouseX;var newY=Browser.mouseY;if(newX==lastX&&newY==lastY)return;if(GLUT.buttons==0&&event.target==Browser.getCanvas()&&GLUT.passiveMotionFunc){event.preventDefault();GLUT.saveModifiers(event);((a1,a2)=>{})(lastX,lastY)}else if(GLUT.buttons!=0&&GLUT.motionFunc){event.preventDefault();GLUT.saveModifiers(event);((a1,a2)=>{})(lastX,lastY)}},getSpecialKey:keycode=>{var key=null;switch(keycode){case 8:key=120;break;case 46:key=111;break;case 112:key=1;break;case 113:key=2;break;case 114:key=3;break;case 115:key=4;break;case 116:key=5;break;case 117:key=6;break;case 118:key=7;break;case 119:key=8;break;case 120:key=9;break;case 121:key=10;break;case 122:key=11;break;case 123:key=12;break;case 37:key=100;break;case 38:key=101;break;case 39:key=102;break;case 40:key=103;break;case 33:key=104;break;case 34:key=105;break;case 36:key=106;break;case 35:key=107;break;case 45:key=108;break;case 16:case 5:key=112;break;case 6:key=113;break;case 17:case 3:key=114;break;case 4:key=115;break;case 18:case 2:key=116;break;case 1:key=117;break}return key},getASCIIKey:event=>{if(event["ctrlKey"]||event["altKey"]||event["metaKey"])return null;var keycode=event["keyCode"];if(48<=keycode&&keycode<=57)return keycode;if(65<=keycode&&keycode<=90)return event["shiftKey"]?keycode:keycode+32;if(96<=keycode&&keycode<=105)return keycode-48;if(106<=keycode&&keycode<=111)return keycode-106+42;switch(keycode){case 9:case 13:case 27:case 32:case 61:return keycode}var s=event["shiftKey"];switch(keycode){case 186:return s?58:59;case 187:return s?43:61;case 188:return s?60:44;case 189:return s?95:45;case 190:return s?62:46;case 191:return s?63:47;case 219:return s?123:91;case 220:return s?124:47;case 221:return s?125:93;case 222:return s?34:39}return null},onKeydown:event=>{if(GLUT.specialFunc||GLUT.keyboardFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialFunc){event.preventDefault();GLUT.saveModifiers(event);((a1,a2,a3)=>{})(key,Browser.mouseX,Browser.mouseY)}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardFunc){event.preventDefault();GLUT.saveModifiers(event);((a1,a2,a3)=>{})(key,Browser.mouseX,Browser.mouseY)}}}},onKeyup:event=>{if(GLUT.specialUpFunc||GLUT.keyboardUpFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialUpFunc){event.preventDefault();GLUT.saveModifiers(event);((a1,a2,a3)=>{})(key,Browser.mouseX,Browser.mouseY)}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardUpFunc){event.preventDefault();GLUT.saveModifiers(event);((a1,a2,a3)=>{})(key,Browser.mouseX,Browser.mouseY)}}}},touchHandler:event=>{if(event.target!=Browser.getCanvas()){return}var touches=event.changedTouches,main=touches[0],type="";switch(event.type){case"touchstart":type="mousedown";break;case"touchmove":type="mousemove";break;case"touchend":type="mouseup";break;default:return}var simulatedEvent=document.createEvent("MouseEvent");simulatedEvent.initMouseEvent(type,true,true,window,1,main.screenX,main.screenY,main.clientX,main.clientY,false,false,false,false,0,null);main.target.dispatchEvent(simulatedEvent);event.preventDefault()},onMouseButtonDown:event=>{Browser.calculateMouseEvent(event);GLUT.buttons|=1<{})(event["button"],0,Browser.mouseX,Browser.mouseY)}},onMouseButtonUp:event=>{Browser.calculateMouseEvent(event);GLUT.buttons&=~(1<{})(event["button"],1,Browser.mouseX,Browser.mouseY)}},onMouseWheel:event=>{Browser.calculateMouseEvent(event);var e=window.event||event;var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);var button=3;if(delta<0){button=4}if(GLUT.mouseFunc){event.preventDefault();GLUT.saveModifiers(event);((a1,a2,a3,a4)=>{})(button,0,Browser.mouseX,Browser.mouseY)}},onFullscreenEventChange:event=>{var width;var height;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){width=screen["width"];height=screen["height"]}else{width=GLUT.windowWidth;height=GLUT.windowHeight;document.removeEventListener("fullscreenchange",GLUT.onFullscreenEventChange,true);document.removeEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,true);document.removeEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,true)}Browser.setCanvasSize(width,height,true);if(GLUT.reshapeFunc){((a1,a2)=>{})(width,height)}_glutPostRedisplay()}};var _glutGetModifiers=()=>GLUT.modifiers;_glutGetModifiers.sig="i";var _glutInit=(argcp,argv)=>{GLUT.initTime=Date.now();var isTouchDevice="ontouchstart"in document.documentElement;if(isTouchDevice){window.addEventListener("touchmove",GLUT.touchHandler,true);window.addEventListener("touchstart",GLUT.touchHandler,true);window.addEventListener("touchend",GLUT.touchHandler,true)}window.addEventListener("keydown",GLUT.onKeydown,true);window.addEventListener("keyup",GLUT.onKeyup,true);window.addEventListener("mousemove",GLUT.onMousemove,true);window.addEventListener("mousedown",GLUT.onMouseButtonDown,true);window.addEventListener("mouseup",GLUT.onMouseButtonUp,true);window.addEventListener("mousewheel",GLUT.onMouseWheel,true);window.addEventListener("DOMMouseScroll",GLUT.onMouseWheel,true);Browser.resizeListeners.push((width,height)=>{if(GLUT.reshapeFunc){((a1,a2)=>{})(width,height)}});addOnExit(()=>{if(isTouchDevice){window.removeEventListener("touchmove",GLUT.touchHandler,true);window.removeEventListener("touchstart",GLUT.touchHandler,true);window.removeEventListener("touchend",GLUT.touchHandler,true)}window.removeEventListener("keydown",GLUT.onKeydown,true);window.removeEventListener("keyup",GLUT.onKeyup,true);window.removeEventListener("mousemove",GLUT.onMousemove,true);window.removeEventListener("mousedown",GLUT.onMouseButtonDown,true);window.removeEventListener("mouseup",GLUT.onMouseButtonUp,true);window.removeEventListener("mousewheel",GLUT.onMouseWheel,true);window.removeEventListener("DOMMouseScroll",GLUT.onMouseWheel,true);var canvas=Browser.getCanvas();canvas.width=canvas.height=1})};_glutInit.sig="vpp";var _glutInitWindowSize=(width,height)=>{Browser.setCanvasSize(GLUT.initWindowWidth=width,GLUT.initWindowHeight=height)};_glutInitWindowSize.sig="vii";var _glutInitWindowPosition=(x,y)=>{};_glutInitWindowPosition.sig="vii";var _glutGet=type=>{switch(type){case 100:return 0;case 101:return 0;case 102:return Browser.getCanvas().width;case 103:return Browser.getCanvas().height;case 200:return Browser.getCanvas().width;case 201:return Browser.getCanvas().height;case 500:return 0;case 501:return 0;case 502:return GLUT.initWindowWidth;case 503:return GLUT.initWindowHeight;case 700:var now=Date.now();return now-GLUT.initTime;case 105:return GLctx.getContextAttributes().stencil?8:0;case 106:return GLctx.getContextAttributes().depth?8:0;case 110:return GLctx.getContextAttributes().alpha?8:0;case 120:return GLctx.getContextAttributes().antialias?1:0;default:throw"glutGet("+type+") not implemented yet"}};_glutGet.sig="ii";var _glutIdleFunc=func=>{function callback(){if(GLUT.idleFunc){(()=>{})();safeSetTimeout(callback,4)}}if(!GLUT.idleFunc){safeSetTimeout(callback,0)}GLUT.idleFunc=func};_glutIdleFunc.sig="vp";var _glutTimerFunc=(msec,func,value)=>safeSetTimeout(()=>(a1=>{})(value),msec);_glutTimerFunc.sig="vipi";var _glutDisplayFunc=func=>{GLUT.displayFunc=func};_glutDisplayFunc.sig="vp";var _glutKeyboardFunc=func=>{GLUT.keyboardFunc=func};_glutKeyboardFunc.sig="vp";var _glutKeyboardUpFunc=func=>{GLUT.keyboardUpFunc=func};_glutKeyboardUpFunc.sig="vp";var _glutSpecialFunc=func=>{GLUT.specialFunc=func};_glutSpecialFunc.sig="vp";var _glutSpecialUpFunc=func=>{GLUT.specialUpFunc=func};_glutSpecialUpFunc.sig="vp";var _glutReshapeFunc=func=>{GLUT.reshapeFunc=func};_glutReshapeFunc.sig="vp";var _glutMotionFunc=func=>{GLUT.motionFunc=func};_glutMotionFunc.sig="vp";var _glutPassiveMotionFunc=func=>{GLUT.passiveMotionFunc=func};_glutPassiveMotionFunc.sig="vp";var _glutMouseFunc=func=>{GLUT.mouseFunc=func};_glutMouseFunc.sig="vp";var _glutSetCursor=cursor=>{var cursorStyle="auto";switch(cursor){case 0:break;case 1:break;case 2:cursorStyle="pointer";break;case 3:break;case 4:cursorStyle="help";break;case 5:break;case 6:break;case 7:cursorStyle="wait";break;case 8:cursorStyle="text";break;case 9:case 102:cursorStyle="crosshair";break;case 10:cursorStyle="ns-resize";break;case 11:cursorStyle="ew-resize";break;case 12:cursorStyle="n-resize";break;case 13:cursorStyle="s-resize";break;case 14:cursorStyle="w-resize";break;case 15:cursorStyle="e-resize";break;case 16:cursorStyle="nw-resize";break;case 17:cursorStyle="ne-resize";break;case 18:cursorStyle="se-resize";break;case 19:cursorStyle="sw-resize";break;case 100:break;case 101:cursorStyle="none";break;default:throw"glutSetCursor: Unknown cursor type: "+cursor}Browser.getCanvas().style.cursor=cursorStyle};_glutSetCursor.sig="vi";var _glutCreateWindow=name=>{var contextAttributes={antialias:(GLUT.initDisplayMode&128)!=0,depth:(GLUT.initDisplayMode&16)!=0,stencil:(GLUT.initDisplayMode&32)!=0,alpha:(GLUT.initDisplayMode&8)!=0};if(!Browser.createContext(Browser.getCanvas(),true,true,contextAttributes)){return 0}return 1};_glutCreateWindow.sig="ip";var _glutDestroyWindow=name=>{delete Module["ctx"];return 1};_glutDestroyWindow.sig="vi";var _glutReshapeWindow=(width,height)=>{Browser.exitFullscreen();Browser.setCanvasSize(width,height,true);if(GLUT.reshapeFunc){((a1,a2)=>{})(width,height)}_glutPostRedisplay()};_glutReshapeWindow.sig="vii";var _glutPositionWindow=(x,y)=>{Browser.exitFullscreen();_glutPostRedisplay()};_glutPositionWindow.sig="vii";var _glutFullScreen=()=>{GLUT.windowX=0;GLUT.windowY=0;var canvas=Browser.getCanvas();GLUT.windowWidth=canvas.width;GLUT.windowHeight=canvas.height;document.addEventListener("fullscreenchange",GLUT.onFullscreenEventChange,true);document.addEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,true);document.addEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,true);Browser.requestFullscreen(false,false)};_glutFullScreen.sig="v";var _glutInitDisplayMode=mode=>GLUT.initDisplayMode=mode;_glutInitDisplayMode.sig="vi";var _glutSwapBuffers=()=>{};_glutSwapBuffers.sig="v";var _glutMainLoop=()=>{var canvas=Browser.getCanvas();_glutReshapeWindow(canvas.width,canvas.height);_glutPostRedisplay();throw"unwind"};_glutMainLoop.sig="v";var _XOpenDisplay=name=>1;_XOpenDisplay.sig="pp";var _XCreateWindow=(display,parent,x,y,width,height,border_width,depth,class_,visual,valuemask,attributes)=>{Browser.setCanvasSize(width,height);return 2};_XCreateWindow.sig="pppiiiiiiippp";var _XChangeWindowAttributes=(display,window,valuemask,attributes)=>{};_XChangeWindowAttributes.sig="ipppp";var _XSetWMHints=(display,win,hints)=>{};_XSetWMHints.sig="ippp";var _XMapWindow=(display,win)=>{};_XMapWindow.sig="ipp";var _XStoreName=(display,win,name)=>{};_XStoreName.sig="ippp";var _XInternAtom=(display,name_,hmm)=>0;_XInternAtom.sig="pppi";var _XSendEvent=(display,win,propagate,event_mask,even_send)=>{};_XSendEvent.sig="ippipp";var _XPending=display=>0;_XPending.sig="ip";var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:false,depth:false,stencil:false,antialias:false},stringCache:{},setErrorCode(code){EGL.errorCode=code},chooseConfig(display,attribList,config,config_size,numConfigs){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(attribList){for(;;){var param=HEAP32[attribList>>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAPU32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};var _eglGetDisplay=nativeDisplayType=>{EGL.setErrorCode(12288);if(nativeDisplayType!=0&&nativeDisplayType!=1){return 0}return 62e3};_eglGetDisplay.sig="pp";var _eglInitialize=(display,majorVersion,minorVersion)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1};_eglInitialize.sig="ippp";var _eglTerminate=display=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1};_eglTerminate.sig="ip";var _eglGetConfigs=(display,configs,config_size,numConfigs)=>EGL.chooseConfig(display,0,configs,config_size,numConfigs);_eglGetConfigs.sig="ippip";var _eglChooseConfig=(display,attrib_list,configs,config_size,numConfigs)=>EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs);_eglChooseConfig.sig="ipppip";var _eglGetConfigAttrib=(display,config,attribute,value)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>2]=EGL.contextAttributes.alpha?32:24;return 1;case 12321:HEAP32[value>>2]=EGL.contextAttributes.alpha?8:0;return 1;case 12322:HEAP32[value>>2]=8;return 1;case 12323:HEAP32[value>>2]=8;return 1;case 12324:HEAP32[value>>2]=8;return 1;case 12325:HEAP32[value>>2]=EGL.contextAttributes.depth?24:0;return 1;case 12326:HEAP32[value>>2]=EGL.contextAttributes.stencil?8:0;return 1;case 12327:HEAP32[value>>2]=12344;return 1;case 12328:HEAP32[value>>2]=62002;return 1;case 12329:HEAP32[value>>2]=0;return 1;case 12330:HEAP32[value>>2]=4096;return 1;case 12331:HEAP32[value>>2]=16777216;return 1;case 12332:HEAP32[value>>2]=4096;return 1;case 12333:HEAP32[value>>2]=0;return 1;case 12334:HEAP32[value>>2]=0;return 1;case 12335:HEAP32[value>>2]=12344;return 1;case 12337:HEAP32[value>>2]=EGL.contextAttributes.antialias?4:0;return 1;case 12338:HEAP32[value>>2]=EGL.contextAttributes.antialias?1:0;return 1;case 12339:HEAP32[value>>2]=4;return 1;case 12340:HEAP32[value>>2]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>2]=-1;return 1;case 12345:case 12346:HEAP32[value>>2]=0;return 1;case 12347:HEAP32[value>>2]=0;return 1;case 12348:HEAP32[value>>2]=1;return 1;case 12349:case 12350:HEAP32[value>>2]=0;return 1;case 12351:HEAP32[value>>2]=12430;return 1;case 12352:HEAP32[value>>2]=4;return 1;case 12354:HEAP32[value>>2]=0;return 1;default:EGL.setErrorCode(12292);return 0}};_eglGetConfigAttrib.sig="ippip";var _eglCreateWindowSurface=(display,config,win,attrib_list)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006};_eglCreateWindowSurface.sig="pppip";var _eglDestroySurface=(display,surface)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1};_eglDestroySurface.sig="ipp";var _eglCreateContext=(display,config,hmm,contextAttribs)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion!=2){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Browser.getCanvas(),EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Browser.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}};_eglCreateContext.sig="ppppp";var _eglDestroyContext=(display,context)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1};_eglDestroyContext.sig="ipp";var _eglQuerySurface=(display,surface,attribute,value)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12328:HEAP32[value>>2]=62002;return 1;case 12376:return 1;case 12375:HEAP32[value>>2]=Browser.getCanvas().width;return 1;case 12374:HEAP32[value>>2]=Browser.getCanvas().height;return 1;case 12432:HEAP32[value>>2]=-1;return 1;case 12433:HEAP32[value>>2]=-1;return 1;case 12434:HEAP32[value>>2]=-1;return 1;case 12422:HEAP32[value>>2]=12420;return 1;case 12441:HEAP32[value>>2]=12442;return 1;case 12435:HEAP32[value>>2]=12437;return 1;case 12416:case 12417:case 12418:case 12419:return 1;default:EGL.setErrorCode(12292);return 0}};_eglQuerySurface.sig="ippip";var _eglQueryContext=(display,context,attribute,value)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12328:HEAP32[value>>2]=62002;return 1;case 12439:HEAP32[value>>2]=12448;return 1;case 12440:HEAP32[value>>2]=EGL.contextAttributes.majorVersion+1;return 1;case 12422:HEAP32[value>>2]=12420;return 1;default:EGL.setErrorCode(12292);return 0}};_eglQueryContext.sig="ippip";var _eglGetError=()=>EGL.errorCode;_eglGetError.sig="i";var _eglQueryString=(display,name)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.setErrorCode(12288);if(EGL.stringCache[name])return EGL.stringCache[name];var ret;switch(name){case 12371:ret=stringToNewUTF8("Emscripten");break;case 12372:ret=stringToNewUTF8("1.4 Emscripten EGL");break;case 12373:ret=stringToNewUTF8("");break;case 12429:ret=stringToNewUTF8("OpenGL_ES");break;default:EGL.setErrorCode(12300);return 0}EGL.stringCache[name]=ret;return ret};_eglQueryString.sig="ppi";var _eglBindAPI=api=>{if(api==12448){EGL.setErrorCode(12288);return 1}EGL.setErrorCode(12300);return 0};_eglBindAPI.sig="ii";var _eglQueryAPI=()=>{EGL.setErrorCode(12288);return 12448};_eglQueryAPI.sig="i";var _eglWaitClient=()=>{EGL.setErrorCode(12288);return 1};_eglWaitClient.sig="i";var _eglWaitNative=nativeEngineId=>{EGL.setErrorCode(12288);return 1};_eglWaitNative.sig="ii";var _eglWaitGL=_eglWaitClient;_eglWaitGL.sig="i";var _eglSwapInterval=(display,interval)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1};_eglSwapInterval.sig="ipi";var _eglMakeCurrent=(display,draw,read,context)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1};_eglMakeCurrent.sig="ipppp";var _eglGetCurrentContext=()=>EGL.currentContext;_eglGetCurrentContext.sig="p";var _eglGetCurrentSurface=readdraw=>{if(readdraw==12378){return EGL.currentReadSurface}else if(readdraw==12377){return EGL.currentDrawSurface}else{EGL.setErrorCode(12300);return 0}};_eglGetCurrentSurface.sig="pi";var _eglGetCurrentDisplay=()=>EGL.currentContext?62e3:0;_eglGetCurrentDisplay.sig="p";var _eglSwapBuffers=(dpy,surface)=>{if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!GLctx){EGL.setErrorCode(12290)}else if(GLctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0};_eglSwapBuffers.sig="ipp";var _eglReleaseThread=()=>{EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.setErrorCode(12288);return 1};_eglReleaseThread.sig="i";var _uuid_clear=uu=>zeroMemory(uu,16);_uuid_clear.sig="vp";var _uuid_compare=(uu1,uu2)=>_memcmp(uu1,uu2,16);_uuid_compare.sig="ipp";var _uuid_copy=(dst,src)=>_memcpy(dst,src,16);_uuid_copy.sig="vpp";var _uuid_generate=out=>{var uuid=new Uint8Array(16);randomFill(uuid);uuid[6]=uuid[6]&15|64;uuid[8]=uuid[8]&63|128;writeArrayToMemory(uuid,out)};_uuid_generate.sig="vp";var _uuid_is_null=uu=>{for(var i=0;i<4;i++,uu=uu+4|0){var val=HEAP32[uu>>2];if(val){return 0}}return 1};_uuid_is_null.sig="ip";var _uuid_parse=(inp,uu)=>{inp=UTF8ToString(inp);if(inp.length===36){var i=0;var uuid=new Array(16);inp.toLowerCase().replace(/[0-9a-f]{2}/g,function(byte){if(i<16){uuid[i++]=parseInt(byte,16)}});if(i<16){return-1}writeArrayToMemory(uuid,uu);return 0}return-1};_uuid_parse.sig="ipp";var _uuid_unparse=(uu,out,upper)=>{var i=0;var uuid="xxxx-xx-xx-xx-xxxxxx".replace(/[x]/g,function(c){var r=upper?HEAPU8[uu+i].toString(16).toUpperCase():HEAPU8[uu+i].toString(16);r=r.length===1?"0"+r:r;i++;return r});stringToUTF8(uuid,out,37)};_uuid_unparse.sig="vpp";var _uuid_unparse_lower=(uu,out)=>{_uuid_unparse(uu,out)};_uuid_unparse_lower.sig="vpp";var _uuid_unparse_upper=(uu,out)=>{_uuid_unparse(uu,out,true)};_uuid_unparse_upper.sig="vpp";var _uuid_type=uu=>4;_uuid_type.sig="ip";var _uuid_variant=uu=>1;_uuid_variant.sig="ip";var GLEW={isLinaroFork:1,extensions:null,error:{0:null,1:null,2:null,3:null,4:null,5:null,6:null,7:null,8:null},version:{1:null,2:null,3:null,4:null},errorStringConstantFromCode(error){if(GLEW.isLinaroFork){switch(error){case 4:return"OpenGL ES lib expected, found OpenGL lib";case 5:return"OpenGL lib expected, found OpenGL ES lib";case 6:return"Missing EGL version";case 7:return"EGL 1.1 and up are supported";default:break}}switch(error){case 0:return"No error";case 1:return"Missing GL version";case 2:return"GL 1.1 and up are supported";case 3:return"GLX 1.2 and up are supported";default:return null}},errorString(error){if(!GLEW.error[error]){var string=GLEW.errorStringConstantFromCode(error);if(!string){string="Unknown error";error=8}GLEW.error[error]=stringToNewUTF8(string)}return GLEW.error[error]},versionStringConstantFromCode(name){switch(name){case 1:return"1.10.0";case 2:return"1";case 3:return"10";case 4:return"0";default:return null}},versionString(name){if(!GLEW.version[name]){var string=GLEW.versionStringConstantFromCode(name);if(!string)return 0;GLEW.version[name]=stringToNewUTF8(string)}return GLEW.version[name]},extensionIsSupported(name){GLEW.extensions||=webglGetExtensions();if(GLEW.extensions.includes(name))return 1;return GLEW.extensions.includes("GL_"+name)}};var _glewInit=()=>0;_glewInit.sig="i";var _glewIsSupported=name=>{var exts=UTF8ToString(name).split(" ");for(var ext of exts){if(!GLEW.extensionIsSupported(ext))return 0}return 1};_glewIsSupported.sig="ip";var _glewGetExtension=name=>GLEW.extensionIsSupported(UTF8ToString(name));_glewGetExtension.sig="ip";var _glewGetErrorString=error=>GLEW.errorString(error);_glewGetErrorString.sig="pi";var _glewGetString=name=>GLEW.versionString(name);_glewGetString.sig="pi";var IDBStore={indexedDB(){if(typeof indexedDB!="undefined")return indexedDB;var ret=null;if(typeof window=="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;return ret},DB_VERSION:22,DB_STORE_NAME:"FILE_DATA",dbs:{},blobs:[0],getDB(name,callback){var db=IDBStore.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBStore.indexedDB().open(name,IDBStore.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=e=>{var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBStore.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBStore.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBStore.DB_STORE_NAME)}};req.onsuccess=()=>{db=req.result;IDBStore.dbs[name]=db;callback(null,db)};req.onerror=function(event){callback(event.target.error||"unknown error");event.preventDefault()}},getStore(dbName,type,callback){IDBStore.getDB(dbName,(error,db)=>{if(error)return callback(error);var transaction=db.transaction([IDBStore.DB_STORE_NAME],type);transaction.onerror=event=>{callback(event.target.error||"unknown error");event.preventDefault()};var store=transaction.objectStore(IDBStore.DB_STORE_NAME);callback(null,store)})},getFile(dbName,id,callback){IDBStore.getStore(dbName,"readonly",(err,store)=>{if(err)return callback(err);var req=store.get(id);req.onsuccess=event=>{var result=event.target.result;if(!result){return callback(`file ${id} not found`)}return callback(null,result)};req.onerror=callback})},setFile(dbName,id,data,callback){IDBStore.getStore(dbName,"readwrite",(err,store)=>{if(err)return callback(err);var req=store.put(data,id);req.onsuccess=event=>callback();req.onerror=callback})},deleteFile(dbName,id,callback){IDBStore.getStore(dbName,"readwrite",(err,store)=>{if(err)return callback(err);var req=store.delete(id);req.onsuccess=event=>callback();req.onerror=callback})},existsFile(dbName,id,callback){IDBStore.getStore(dbName,"readonly",(err,store)=>{if(err)return callback(err);var req=store.count(id);req.onsuccess=event=>callback(null,event.target.result>0);req.onerror=callback})},clearStore(dbName,callback){IDBStore.getStore(dbName,"readwrite",(err,store)=>{if(err)return callback(err);var req=store.clear();req.onsuccess=event=>callback();req.onerror=callback})}};var _emscripten_idb_async_load=(db,id,arg,onload,onerror)=>{IDBStore.getFile(UTF8ToString(db),UTF8ToString(id),(error,byteArray)=>{callUserCallback(()=>{if(error){if(onerror)(a1=>{})(arg);return}var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);((a1,a2,a3)=>{})(arg,buffer,byteArray.length);_free(buffer)})})};_emscripten_idb_async_load.sig="vppppp";var _emscripten_idb_async_store=(db,id,ptr,num,arg,onstore,onerror)=>{IDBStore.setFile(UTF8ToString(db),UTF8ToString(id),new Uint8Array(HEAPU8.subarray(ptr,ptr+num)),error=>{callUserCallback(()=>{if(error){if(onerror)(a1=>{})(arg);return}if(onstore)(a1=>{})(arg)})})};_emscripten_idb_async_store.sig="vpppippp";var _emscripten_idb_async_delete=(db,id,arg,ondelete,onerror)=>{IDBStore.deleteFile(UTF8ToString(db),UTF8ToString(id),error=>{callUserCallback(()=>{if(error){if(onerror)(a1=>{})(arg);return}if(ondelete)(a1=>{})(arg)})})};_emscripten_idb_async_delete.sig="vppppp";var _emscripten_idb_async_exists=(db,id,arg,oncheck,onerror)=>{IDBStore.existsFile(UTF8ToString(db),UTF8ToString(id),(error,exists)=>{callUserCallback(()=>{if(error){if(onerror)(a1=>{})(arg);return}if(oncheck)((a1,a2)=>{})(arg,exists)})})};_emscripten_idb_async_exists.sig="vppppp";var _emscripten_idb_async_clear=(db,arg,onclear,onerror)=>{IDBStore.clearStore(UTF8ToString(db),error=>{callUserCallback(()=>{if(error){if(onerror)(a1=>{})(arg);return}if(onclear)(a1=>{})(arg)})})};_emscripten_idb_async_clear.sig="vpppp";var _emscripten_idb_load=(db,id,pbuffer,pnum,perror)=>Asyncify.handleSleep(wakeUp=>{IDBStore.getFile(UTF8ToString(db),UTF8ToString(id),(error,byteArray)=>{if(error){HEAP32[perror>>2]=1;wakeUp();return}var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);HEAPU32[pbuffer>>2]=buffer;HEAP32[pnum>>2]=byteArray.length;HEAP32[perror>>2]=0;wakeUp()})});_emscripten_idb_load.sig="vppppp";_emscripten_idb_load.isAsync=true;var _emscripten_idb_store=(db,id,ptr,num,perror)=>Asyncify.handleSleep(wakeUp=>{IDBStore.setFile(UTF8ToString(db),UTF8ToString(id),new Uint8Array(HEAPU8.subarray(ptr,ptr+num)),error=>{HEAP32[perror>>2]=!!error;wakeUp()})});_emscripten_idb_store.sig="vpppip";_emscripten_idb_store.isAsync=true;var _emscripten_idb_delete=(db,id,perror)=>Asyncify.handleSleep(wakeUp=>{IDBStore.deleteFile(UTF8ToString(db),UTF8ToString(id),error=>{HEAP32[perror>>2]=!!error;wakeUp()})});_emscripten_idb_delete.sig="vppp";_emscripten_idb_delete.isAsync=true;var _emscripten_idb_exists=(db,id,pexists,perror)=>Asyncify.handleSleep(wakeUp=>{IDBStore.existsFile(UTF8ToString(db),UTF8ToString(id),(error,exists)=>{HEAP32[pexists>>2]=!!exists;HEAP32[perror>>2]=!!error;wakeUp()})});_emscripten_idb_exists.sig="vpppp";_emscripten_idb_exists.isAsync=true;var _emscripten_idb_clear=(db,perror)=>Asyncify.handleSleep(wakeUp=>{IDBStore.clearStore(UTF8ToString(db),error=>{HEAP32[perror>>2]=!!error;wakeUp()})});_emscripten_idb_clear.sig="vpp";_emscripten_idb_clear.isAsync=true;var _emscripten_idb_load_blob=(db,id,pblob,perror)=>Asyncify.handleSleep(wakeUp=>{IDBStore.pending=msg=>{IDBStore.pending=null;var blob=msg.blob;if(!blob){HEAP32[perror>>2]=1;wakeUp();return}var blobId=IDBStore.blobs.length;IDBStore.blobs.push(blob);HEAP32[pblob>>2]=blobId;wakeUp()};postMessage({target:"IDBStore",method:"loadBlob",db:UTF8ToString(db),id:UTF8ToString(id)})});_emscripten_idb_load_blob.sig="vpppp";_emscripten_idb_load_blob.isAsync=true;var _emscripten_idb_store_blob=(db,id,ptr,num,perror)=>Asyncify.handleSleep(wakeUp=>{IDBStore.pending=msg=>{IDBStore.pending=null;HEAP32[perror>>2]=!!msg.error;wakeUp()};postMessage({target:"IDBStore",method:"storeBlob",db:UTF8ToString(db),id:UTF8ToString(id),blob:new Blob([new Uint8Array(HEAPU8.subarray(ptr,ptr+num))])})});_emscripten_idb_store_blob.sig="vpppip";_emscripten_idb_store_blob.isAsync=true;var _emscripten_idb_read_from_blob=(blobId,start,num,buffer)=>{var blob=IDBStore.blobs[blobId];if(!blob)return 1;if(start+num>blob.size)return 2;var byteArray=(new FileReaderSync).readAsArrayBuffer(blob.slice(start,start+num));HEAPU8.set(new Uint8Array(byteArray),buffer);return 0};_emscripten_idb_read_from_blob.sig="viiip";var _emscripten_idb_free_blob=blobId=>{IDBStore.blobs[blobId]=null};_emscripten_idb_free_blob.sig="vi";var _emscripten_sleep=ms=>Asyncify.handleSleep(wakeUp=>safeSetTimeout(wakeUp,ms));_emscripten_sleep.sig="vi";_emscripten_sleep.isAsync=true;var _emscripten_scan_registers=func=>Asyncify.handleSleep(wakeUp=>{safeSetTimeout(()=>{var stackBegin=Asyncify.currData+12;var stackEnd=HEAPU32[Asyncify.currData>>2];((a1,a2)=>{})(stackBegin,stackEnd);wakeUp()},0)});_emscripten_scan_registers.sig="vp";_emscripten_scan_registers.isAsync=true;var _emscripten_lazy_load_code=()=>Asyncify.handleSleep(wakeUp=>{wasmBinaryFile+=".lazy.wasm";dependenciesFulfilled=wakeUp;createWasm()});_emscripten_lazy_load_code.sig="v";_emscripten_lazy_load_code.isAsync=true;async function __load_secondary_module(){wasmExports["load_secondary_module_status"].value=1;var imports={primary:wasmExports};var deferred=wasmBinaryFile.slice(0,-5)+".deferred.wasm";await instantiateAsync(null,deferred,imports)}__load_secondary_module.sig="v";__load_secondary_module.isAsync=true;var Fibers={nextFiber:0,trampolineRunning:false,trampoline(){if(!Fibers.trampolineRunning&&Fibers.nextFiber){Fibers.trampolineRunning=true;do{var fiber=Fibers.nextFiber;Fibers.nextFiber=0;Fibers.finishContextSwitch(fiber)}while(Fibers.nextFiber);Fibers.trampolineRunning=false}},finishContextSwitch(newFiber){var stack_base=HEAPU32[newFiber>>2];var stack_max=HEAPU32[newFiber+4>>2];_emscripten_stack_set_limits(stack_base,stack_max);stackRestore(HEAPU32[newFiber+8>>2]);var entryPoint=HEAPU32[newFiber+12>>2];if(entryPoint!==0){Asyncify.currData=null;HEAPU32[newFiber+12>>2]=0;var userData=HEAPU32[newFiber+16>>2];(a1=>{})(userData)}else{var asyncifyData=newFiber+20;Asyncify.currData=asyncifyData;Asyncify.state=Asyncify.State.Rewinding;_asyncify_start_rewind(asyncifyData);Asyncify.doRewind(asyncifyData)}}};var _emscripten_fiber_swap=(oldFiber,newFiber)=>{if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){Asyncify.state=Asyncify.State.Unwinding;var asyncifyData=oldFiber+20;Asyncify.setDataRewindFunc(asyncifyData);Asyncify.currData=asyncifyData;_asyncify_start_unwind(asyncifyData);var stackTop=stackSave();HEAPU32[oldFiber+8>>2]=stackTop;Fibers.nextFiber=newFiber}else{Asyncify.state=Asyncify.State.Normal;_asyncify_stop_rewind();Asyncify.currData=null}};_emscripten_fiber_swap.sig="vpp";_emscripten_fiber_swap.isAsync=true;var _SDL_GetTicks=()=>Date.now()-SDL.startTime|0;_SDL_GetTicks.sig="i";var _SDL_LockSurface=surf=>{var surfData=SDL.surfaces[surf];surfData.locked++;if(surfData.locked>1)return 0;if(!surfData.buffer){surfData.buffer=_malloc(surfData.width*surfData.height*4);HEAPU32[surf+20>>2]=surfData.buffer}HEAPU32[surf+20>>2]=surfData.buffer;if(surf==SDL.screen&&Module.screenIsReadOnly&&surfData.image)return 0;if(SDL.defaults.discardOnLock){if(!surfData.image){surfData.image=surfData.ctx.createImageData(surfData.width,surfData.height)}if(!SDL.defaults.opaqueFrontBuffer)return}else{surfData.image=surfData.ctx.getImageData(0,0,surfData.width,surfData.height)}if(surf==SDL.screen&&SDL.defaults.opaqueFrontBuffer){var data=surfData.image.data;var num=data.length;for(var i=0;i>2],y:HEAP32[rect+4>>2],w:HEAP32[rect+8>>2],h:HEAP32[rect+12>>2]}},updateRect(rect,r){HEAP32[rect>>2]=r.x;HEAP32[rect+4>>2]=r.y;HEAP32[rect+8>>2]=r.w;HEAP32[rect+12>>2]=r.h},intersectionOfRects(first,second){var leftX=Math.max(first.x,second.x);var leftY=Math.max(first.y,second.y);var rightX=Math.min(first.x+first.w,second.x+second.w);var rightY=Math.min(first.y+first.h,second.y+second.h);return{x:leftX,y:leftY,w:Math.max(leftX,rightX)-leftX,h:Math.max(leftY,rightY)-leftY}},checkPixelFormat(fmt){},loadColorToCSSRGB(color){var rgba=HEAP32[color>>2];return"rgb("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+")"},loadColorToCSSRGBA(color){var rgba=HEAP32[color>>2];return"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>24&255)/255+")"},translateColorToCSSRGBA:rgba=>"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>>24)/255+")",translateRGBAToCSSRGBA:(r,g,b,a)=>"rgba("+(r&255)+","+(g&255)+","+(b&255)+","+(a&255)/255+")",translateRGBAToColor:(r,g,b,a)=>r|g<<8|b<<16|a<<24,makeSurface(width,height,flags,usePageCanvas,source,rmask,gmask,bmask,amask){var is_SDL_HWSURFACE=flags&134217729;var is_SDL_HWPALETTE=flags&2097152;var is_SDL_OPENGL=flags&67108864;var surf=_malloc(60);var pixelFormat=_malloc(44);var bpp=is_SDL_HWPALETTE?1:4;var buffer=0;if(!is_SDL_HWSURFACE&&!is_SDL_OPENGL){buffer=_malloc(width*height*4)}HEAP32[surf>>2]=flags;HEAPU32[surf+4>>2]=pixelFormat;HEAP32[surf+8>>2]=width;HEAP32[surf+12>>2]=height;HEAP32[surf+16>>2]=width*bpp;HEAPU32[surf+20>>2]=buffer;var canvas=Browser.getCanvas();HEAP32[surf+36>>2]=0;HEAP32[surf+40>>2]=0;HEAP32[surf+44>>2]=canvas.width;HEAP32[surf+48>>2]=canvas.height;HEAP32[surf+56>>2]=1;HEAP32[pixelFormat>>2]=-2042224636;HEAP32[pixelFormat+4>>2]=0;HEAP8[pixelFormat+8]=bpp*8;HEAP8[pixelFormat+9]=bpp;HEAP32[pixelFormat+12>>2]=rmask||255;HEAP32[pixelFormat+16>>2]=gmask||65280;HEAP32[pixelFormat+20>>2]=bmask||16711680;HEAP32[pixelFormat+24>>2]=amask||4278190080;SDL.GL=SDL.GL||is_SDL_OPENGL;if(!usePageCanvas){if(SDL.canvasPool.length>0){canvas=SDL.canvasPool.pop()}else{canvas=document.createElement("canvas")}canvas.width=width;canvas.height=height}var webGLContextAttributes={antialias:SDL.glAttributes[13]!=0&&SDL.glAttributes[14]>1,depth:SDL.glAttributes[6]>0,stencil:SDL.glAttributes[7]>0,alpha:SDL.glAttributes[3]>0};var ctx=Browser.createContext(canvas,is_SDL_OPENGL,usePageCanvas,webGLContextAttributes);SDL.surfaces[surf]={width,height,canvas,ctx,surf,buffer,pixelFormat,alpha:255,flags,locked:0,usePageCanvas,source,isFlagSet:flag=>flags&flag};return surf},copyIndexedColorData(surfData,rX,rY,rW,rH){if(!surfData.colors){return}var canvas=Browser.getCanvas();var fullWidth=canvas.width;var fullHeight=canvas.height;var startX=rX||0;var startY=rY||0;var endX=(rW||fullWidth-startX)+startX;var endY=(rH||fullHeight-startY)+startY;var buffer=surfData.buffer;if(!surfData.image.data32){surfData.image.data32=new Uint32Array(surfData.image.data.buffer)}var data32=surfData.image.data32;var colors32=surfData.colors32;for(var y=startY;y>2];if(refcount>1){HEAP32[refcountPointer>>2]=refcount-1;return}var info=SDL.surfaces[surf];if(!info.usePageCanvas&&info.canvas)SDL.canvasPool.push(info.canvas);if(info.buffer)_free(info.buffer);_free(info.pixelFormat);_free(surf);SDL.surfaces[surf]=null;if(surf===SDL.screen){SDL.screen=null}},blitSurface(src,srcrect,dst,dstrect,scale){var srcData=SDL.surfaces[src];var dstData=SDL.surfaces[dst];var sr,dr;if(srcrect){sr=SDL.loadRect(srcrect)}else{sr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstrect){dr=SDL.loadRect(dstrect)}else{dr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstData.clipRect){var widthScale=!scale||sr.w===0?1:sr.w/dr.w;var heightScale=!scale||sr.h===0?1:sr.h/dr.h;dr=SDL.intersectionOfRects(dstData.clipRect,dr);sr.w=dr.w*widthScale;sr.h=dr.h*heightScale;if(dstrect){SDL.updateRect(dstrect,dr)}}var blitw,blith;if(scale){blitw=dr.w;blith=dr.h}else{blitw=sr.w;blith=sr.h}if(sr.w===0||sr.h===0||blitw===0||blith===0){return 0}var oldAlpha=dstData.ctx.globalAlpha;dstData.ctx.globalAlpha=srcData.alpha/255;dstData.ctx.drawImage(srcData.canvas,sr.x,sr.y,sr.w,sr.h,dr.x,dr.y,blitw,blith);dstData.ctx.globalAlpha=oldAlpha;if(dst!=SDL.screen){warnOnce("WARNING: copying canvas data to memory for compatibility");_SDL_LockSurface(dst);dstData.locked--}return 0},downFingers:{},savedKeydown:null,receiveEvent(event){function unpressAllPressedKeys(){for(var keyCode of Object.values(SDL.keyboardMap)){SDL.events.push({type:"keyup",keyCode})}}switch(event.type){case"touchstart":case"touchmove":{event.preventDefault();var touches=[];if(event.type==="touchstart"){for(var touch of event.touches){if(SDL.downFingers[touch.identifier]!=true){SDL.downFingers[touch.identifier]=true;touches.push(touch)}}}else{touches=event.touches}var firstTouch=touches[0];if(firstTouch){if(event.type=="touchstart"){SDL.DOMButtons[0]=1}var mouseEventType;switch(event.type){case"touchstart":mouseEventType="mousedown";break;case"touchmove":mouseEventType="mousemove";break}var mouseEvent={type:mouseEventType,button:0,pageX:firstTouch.clientX,pageY:firstTouch.clientY};SDL.events.push(mouseEvent)}for(var touch of touches){SDL.events.push({type:event.type,touch})}break}case"touchend":{event.preventDefault();for(var touch of event.changedTouches){if(SDL.downFingers[touch.identifier]===true){delete SDL.downFingers[touch.identifier]}}var mouseEvent={type:"mouseup",button:0,pageX:event.changedTouches[0].clientX,pageY:event.changedTouches[0].clientY};SDL.DOMButtons[0]=0;SDL.events.push(mouseEvent);for(var touch of event.changedTouches){SDL.events.push({type:"touchend",touch})}break}case"DOMMouseScroll":case"mousewheel":case"wheel":var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);var button=(delta>0?4:5)-1;SDL.events.push({type:"mousedown",button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"mouseup",button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"wheel",deltaX:0,deltaY:delta});event.preventDefault();break;case"mousemove":if(SDL.DOMButtons[0]===1){SDL.events.push({type:"touchmove",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}if(Browser.pointerLock){if("mozMovementX"in event){event["movementX"]=event["mozMovementX"];event["movementY"]=event["mozMovementY"]}if(event["movementX"]==0&&event["movementY"]==0){event.preventDefault();return}}case"keydown":case"keyup":case"keypress":case"mousedown":case"mouseup":if(event.type!=="keydown"||!SDL.unicode&&!SDL.textInput||(event.key=="Backspace"||event.key=="Tab")){event.preventDefault()}if(event.type=="mousedown"){SDL.DOMButtons[event.button]=1;SDL.events.push({type:"touchstart",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}else if(event.type=="mouseup"){if(!SDL.DOMButtons[event.button]){return}SDL.events.push({type:"touchend",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}});SDL.DOMButtons[event.button]=0}if(event.type==="keydown"||event.type==="mousedown"){SDL.canRequestFullscreen=true}else if(event.type==="keyup"||event.type==="mouseup"){if(SDL.isRequestingFullscreen){Module["requestFullscreen"](true,true);SDL.isRequestingFullscreen=false}SDL.canRequestFullscreen=false}if(event.type==="keypress"&&SDL.savedKeydown){SDL.savedKeydown.keypressCharCode=event.charCode;SDL.savedKeydown=null}else if(event.type==="keydown"){SDL.savedKeydown=event}if(event.type!=="keypress"||SDL.textInput){SDL.events.push(event)}break;case"mouseout":for(var i=0;i<3;i++){if(SDL.DOMButtons[i]){SDL.events.push({type:"mouseup",button:i,pageX:event.pageX,pageY:event.pageY});SDL.DOMButtons[i]=0}}event.preventDefault();break;case"focus":SDL.events.push(event);event.preventDefault();break;case"blur":SDL.events.push(event);unpressAllPressedKeys();event.preventDefault();break;case"visibilitychange":SDL.events.push({type:"visibilitychange",visible:!document.hidden});unpressAllPressedKeys();event.preventDefault();break;case"unload":if(MainLoop.runner){SDL.events.push(event);MainLoop.runner()}return;case"resize":SDL.events.push(event);if(event.preventDefault){event.preventDefault()}break}if(SDL.events.length>=1e4){err("SDL event queue full, dropping events");SDL.events=SDL.events.slice(0,1e4)}SDL.flushEventsToHandler();return},lookupKeyCodeForEvent(event){var code=event.keyCode;if(code>=65&&code<=90){code+=32}else{code=SDL.keyCodes[code]||(code<128?code:0);if(event.location===2&&code>=(224|1<<10)&&code<=(227|1<<10)){code+=4}}return code},handleEvent(event){if(event.handled)return;event.handled=true;switch(event.type){case"touchstart":case"touchend":case"touchmove":{Browser.calculateMouseEvent(event);break}case"keydown":case"keyup":{var down=event.type==="keydown";var code=SDL.lookupKeyCodeForEvent(event);if(!code)return;HEAP8[SDL.keyboardState+code]=down;SDL.modState=(HEAP8[SDL.keyboardState+1248]?64:0)|(HEAP8[SDL.keyboardState+1249]?1:0)|(HEAP8[SDL.keyboardState+1250]?256:0)|(HEAP8[SDL.keyboardState+1252]?128:0)|(HEAP8[SDL.keyboardState+1253]?2:0)|(HEAP8[SDL.keyboardState+1254]?512:0);if(down){SDL.keyboardMap[code]=event.keyCode}else{delete SDL.keyboardMap[code]}break}case"mousedown":case"mouseup":if(event.type=="mousedown"){SDL.buttonState|=1<{})(SDL.eventHandlerContext,SDL.eventHandlerTemp)}},pollEvent(ptr){if(SDL.initFlags&512&&SDL.joystickEventState){SDL.queryJoysticks()}if(ptr){while(SDL.events.length>0){if(SDL.makeCEvent(SDL.events.shift(),ptr)!==false)return 1}return 0}return SDL.events.length>0},makeCEvent(event,ptr){if(typeof event=="number"){_memcpy(ptr,event,28);_free(event);return}SDL.handleEvent(event);switch(event.type){case"keydown":case"keyup":{var down=event.type==="keydown";var key=SDL.lookupKeyCodeForEvent(event);if(!key)return false;var scan;if(key>=1024){scan=key-1024}else{scan=SDL.scanCodes[key]||key}HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+8]=down?1:0;HEAP8[ptr+9]=0;HEAP32[ptr+12>>2]=scan;HEAP32[ptr+16>>2]=key;HEAP16[ptr+20>>1]=SDL.modState;HEAP32[ptr+24>>2]=event.keypressCharCode||key;break}case"keypress":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];var cStr=intArrayFromString(String.fromCharCode(event.charCode));for(var i=0;i>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP32[ptr+8>>2]=0;HEAP32[ptr+12>>2]=0;HEAP8[ptr+16]=event.button+1;HEAP8[ptr+17]=down?1:0;HEAP32[ptr+20>>2]=Browser.mouseX;HEAP32[ptr+24>>2]=Browser.mouseY}else{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP32[ptr+8>>2]=0;HEAP32[ptr+12>>2]=0;HEAP32[ptr+16>>2]=SDL.buttonState;HEAP32[ptr+20>>2]=Browser.mouseX;HEAP32[ptr+24>>2]=Browser.mouseY;HEAP32[ptr+28>>2]=Browser.mouseMovementX;HEAP32[ptr+32>>2]=Browser.mouseMovementY}break}case"wheel":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+16>>2]=event.deltaX;HEAP32[ptr+20>>2]=event.deltaY;break}case"touchstart":case"touchend":case"touchmove":{var touch=event.touch;if(!Browser.touches[touch.identifier])break;var canvas=Browser.getCanvas();var x=Browser.touches[touch.identifier].x/canvas.width;var y=Browser.touches[touch.identifier].y/canvas.height;var lx=Browser.lastTouches[touch.identifier].x/canvas.width;var ly=Browser.lastTouches[touch.identifier].y/canvas.height;var dx=x-lx;var dy=y-ly;if(touch["deviceID"]===undefined)touch.deviceID=SDL.TOUCH_DEFAULT_ID;if(dx===0&&dy===0&&event.type==="touchmove")return false;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=_SDL_GetTicks();tempI64=[touch.deviceID>>>0,(tempDouble=touch.deviceID,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr+8>>2]=tempI64[0],HEAP32[ptr+12>>2]=tempI64[1];tempI64=[touch.identifier>>>0,(tempDouble=touch.identifier,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr+16>>2]=tempI64[0],HEAP32[ptr+20>>2]=tempI64[1];HEAPF32[ptr+24>>2]=x;HEAPF32[ptr+28>>2]=y;HEAPF32[ptr+32>>2]=dx;HEAPF32[ptr+36>>2]=dy;if(touch.force!==undefined){HEAPF32[ptr+40>>2]=touch.force}else{HEAPF32[ptr+40>>2]=event.type=="touchend"?0:1}break}case"unload":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];break}case"resize":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=event.w;HEAP32[ptr+8>>2]=event.h;break}case"joystick_button_up":case"joystick_button_down":{var state=event.type==="joystick_button_up"?0:1;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4]=event.index;HEAP8[ptr+5]=event.button;HEAP8[ptr+6]=state;break}case"joystick_axis_motion":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4]=event.index;HEAP8[ptr+5]=event.axis;HEAP32[ptr+8>>2]=SDL.joystickAxisValueConversion(event.value);break}case"focus":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8]=12;break}case"blur":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8]=13;break}case"visibilitychange":{var visibilityEventID=event.visible?1:2;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8]=visibilityEventID;break}default:throw"Unhandled SDL event: "+event.type}},makeFontString(height,fontName){if(fontName.charAt(0)!="'"&&fontName.charAt(0)!='"'){fontName='"'+fontName+'"'}return height+"px "+fontName+", serif"},estimateTextWidth(fontData,text){var h=fontData.size;var fontString=SDL.makeFontString(h,fontData.name);var tempCtx=SDL.ttfContext;tempCtx.font=fontString;var ret=tempCtx.measureText(text).width|0;return ret},allocateChannels(num){if(SDL.numChannels>=num&&num!=0)return;SDL.numChannels=num;SDL.channels=[];for(var i=0;i{if(!audio.paused)SDL.playWebAudio(audio)});return}audio.webAudioNode=SDL.audioContext["createBufferSource"]();audio.webAudioNode["buffer"]=webAudio.decodedBuffer;audio.webAudioNode["loop"]=audio.loop;audio.webAudioNode["onended"]=audio["onended"];audio.webAudioPannerNode=SDL.audioContext["createPanner"]();audio.webAudioPannerNode["setPosition"](0,0,-.5);audio.webAudioPannerNode["panningModel"]="equalpower";audio.webAudioGainNode=SDL.audioContext["createGain"]();audio.webAudioGainNode["gain"]["value"]=audio.volume;audio.webAudioNode["connect"](audio.webAudioPannerNode);audio.webAudioPannerNode["connect"](audio.webAudioGainNode);audio.webAudioGainNode["connect"](SDL.audioContext["destination"]);audio.webAudioNode["start"](0,audio.currentPosition);audio.startTime=SDL.audioContext["currentTime"]-audio.currentPosition}catch(e){err(`playWebAudio failed: ${e}`)}},pauseWebAudio(audio){if(!audio)return;if(audio.webAudioNode){try{audio.currentPosition=(SDL.audioContext["currentTime"]-audio.startTime)%audio.resource.webAudio.decodedBuffer.duration;audio.webAudioNode["onended"]=undefined;audio.webAudioNode.stop(0);audio.webAudioNode=undefined}catch(e){err(`pauseWebAudio failed: ${e}`)}}audio.paused=true},openAudioContext(){if(!SDL.audioContext){if(typeof AudioContext!="undefined"){SDL.audioContext=new AudioContext}else if(typeof webkitAudioContext!="undefined"){SDL.audioContext=new webkitAudioContext}}},webAudioAvailable:()=>!!SDL.audioContext,fillWebAudioBufferFromHeap(heapPtr,sizeSamplesPerChannel,dstAudioBuffer){var audio=SDL.audio;var numChannels=audio.channels;for(var c=0;c>1]/32768}}else if(audio.format==8){for(var j=0;j=0?v-128:v+128)/128}}else if(audio.format==33056){for(var j=0;j>2]}}else{throw"Invalid SDL audio format "+audio.format+"!"}}},joystickEventState:1,lastJoystickState:{},joystickNamePool:{},recordJoystickState(joystick,state){var buttons=[];for(var button of state.buttons){buttons.push(SDL.getJoystickButtonState(button))}SDL.lastJoystickState[joystick]={buttons,axes:state.axes.slice(0),timestamp:state.timestamp,index:state.index,id:state.id}},getJoystickButtonState(button){if(typeof button=="object"){return button["pressed"]}return button>0},queryJoysticks(){for(var joystick in SDL.lastJoystickState){var state=SDL.getGamepad(joystick-1);var prevState=SDL.lastJoystickState[joystick];if(typeof state=="undefined")return;if(state===null)return;if(typeof state.timestamp!="number"||state.timestamp!=prevState.timestamp||!state.timestamp){var i;for(i=0;ideviceIndex&&deviceIndex>=0){return gamepads[deviceIndex]}return null}};var _SDL_Linked_Version=()=>{if(SDL.version===null){SDL.version=_malloc(3);HEAP8[SDL.version]=1;HEAP8[SDL.version+1]=3;HEAP8[SDL.version+2]=0}return SDL.version};_SDL_Linked_Version.sig="p";var _SDL_Init=initFlags=>{SDL.startTime=Date.now();SDL.initFlags=initFlags;if(!Module["doNotCaptureKeyboard"]){var keyboardListeningElement=Module["keyboardListeningElement"]||document;keyboardListeningElement.addEventListener("keydown",SDL.receiveEvent);keyboardListeningElement.addEventListener("keyup",SDL.receiveEvent);keyboardListeningElement.addEventListener("keypress",SDL.receiveEvent);window.addEventListener("focus",SDL.receiveEvent);window.addEventListener("blur",SDL.receiveEvent);document.addEventListener("visibilitychange",SDL.receiveEvent)}window.addEventListener("unload",SDL.receiveEvent);SDL.keyboardState=_calloc(65536,1);SDL.DOMEventToSDLEvent["keydown"]=768;SDL.DOMEventToSDLEvent["keyup"]=769;SDL.DOMEventToSDLEvent["keypress"]=771;SDL.DOMEventToSDLEvent["mousedown"]=1025;SDL.DOMEventToSDLEvent["mouseup"]=1026;SDL.DOMEventToSDLEvent["mousemove"]=1024;SDL.DOMEventToSDLEvent["wheel"]=1027;SDL.DOMEventToSDLEvent["touchstart"]=1792;SDL.DOMEventToSDLEvent["touchend"]=1793;SDL.DOMEventToSDLEvent["touchmove"]=1794;SDL.DOMEventToSDLEvent["unload"]=256;SDL.DOMEventToSDLEvent["resize"]=28673;SDL.DOMEventToSDLEvent["visibilitychange"]=512;SDL.DOMEventToSDLEvent["focus"]=512;SDL.DOMEventToSDLEvent["blur"]=512;SDL.DOMEventToSDLEvent["joystick_axis_motion"]=1536;SDL.DOMEventToSDLEvent["joystick_button_down"]=1539;SDL.DOMEventToSDLEvent["joystick_button_up"]=1540;return 0};_SDL_Init.sig="ii";var _SDL_WasInit=flags=>{if(SDL.startTime===null){_SDL_Init(0)}return 1};_SDL_WasInit.sig="ii";var _SDL_GetVideoInfo=()=>{var ret=_calloc(20,1);var canvas=Browser.getCanvas();HEAP32[ret+12>>2]=canvas.width;HEAP32[ret+16>>2]=canvas.height;return ret};_SDL_GetVideoInfo.sig="p";var _SDL_ListModes=(format,flags)=>-1;_SDL_ListModes.sig="ppi";var _SDL_VideoModeOK=(width,height,depth,flags)=>depth;_SDL_VideoModeOK.sig="iiiii";var _SDL_VideoDriverName=(buf,max_size)=>{if(SDL.startTime===null){return 0}var driverName=[101,109,115,99,114,105,112,116,101,110,95,115,100,108,95,100,114,105,118,101,114];var index=0;var size=driverName.length;if(max_size<=size){size=max_size-1}while(index{var canvas=Browser.getCanvas();["touchstart","touchend","touchmove","mousedown","mouseup","mousemove","mousewheel","wheel","mouseout","DOMMouseScroll"].forEach(e=>canvas.addEventListener(e,SDL.receiveEvent,true));if(width==0&&height==0){width=canvas.width;height=canvas.height}if(!SDL.addedResizeListener){SDL.addedResizeListener=true;Browser.resizeListeners.push((w,h)=>{if(!SDL.settingVideoMode){SDL.receiveEvent({type:"resize",w,h})}})}SDL.settingVideoMode=true;Browser.setCanvasSize(width,height);SDL.settingVideoMode=false;if(SDL.screen){SDL.freeSurface(SDL.screen);assert(!SDL.screen)}if(SDL.GL)flags=flags|67108864;SDL.screen=SDL.makeSurface(width,height,flags,true,"screen");return SDL.screen};_SDL_SetVideoMode.sig="piiii";var _SDL_GetVideoSurface=()=>SDL.screen;_SDL_GetVideoSurface.sig="p";var _SDL_AudioQuit=()=>{for(var i=0;iout("SDL_VideoQuit called (and ignored)");_SDL_VideoQuit.sig="v";var _SDL_QuitSubSystem=flags=>out("SDL_QuitSubSystem called (and ignored)");_SDL_QuitSubSystem.sig="vi";var _SDL_Quit=()=>{_SDL_AudioQuit();out("SDL_Quit called (and ignored)")};_SDL_Quit.sig="v";var _SDL_UnlockSurface=surf=>{assert(!SDL.GL);var surfData=SDL.surfaces[surf];if(!surfData.locked||--surfData.locked>0){return}if(surfData.isFlagSet(2097152)){SDL.copyIndexedColorData(surfData)}else if(!surfData.colors){var data=surfData.image.data;var buffer=surfData.buffer;assert(buffer%4==0,"Invalid buffer offset: "+buffer);var src=buffer>>2;var dst=0;var isScreen=surf==SDL.screen;var num;if(typeof CanvasPixelArray!="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=isScreen?255:val>>24&255;src++;dst+=4}}else{var data32=new Uint32Array(data.buffer);if(isScreen&&SDL.defaults.opaqueFrontBuffer){num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=new Uint8Array(data.buffer);var i=3;var j=i+4*num;if(num%8==0){while(i{};_SDL_Flip.sig="ip";var _SDL_UpdateRect=(surf,x,y,w,h)=>{};_SDL_UpdateRect.sig="vpiiii";var _SDL_UpdateRects=(surf,numrects,rects)=>{};_SDL_UpdateRects.sig="vpip";var _SDL_Delay=delay=>_emscripten_sleep(delay);_SDL_Delay.sig="vi";_SDL_Delay.isAsync=true;var _SDL_WM_SetCaption=(title,icon)=>{if(title){_emscripten_set_window_title(title)}icon&&=UTF8ToString(icon)};_SDL_WM_SetCaption.sig="vpp";var _SDL_EnableKeyRepeat=(delay,interval)=>{};_SDL_EnableKeyRepeat.sig="iii";var _SDL_GetKeyboardState=numKeys=>{if(numKeys){HEAP32[numKeys>>2]=65536}return SDL.keyboardState};_SDL_GetKeyboardState.sig="pp";var _SDL_GetKeyState=()=>_SDL_GetKeyboardState(0);var _SDL_GetKeyName=key=>{var name="";if(key>=97&&key<=122||key>=48&&key<=57){name=String.fromCharCode(key)}var size=lengthBytesUTF8(name)+1;SDL.keyName=_realloc(SDL.keyName,size);stringToUTF8(name,SDL.keyName,size);return SDL.keyName};_SDL_GetKeyName.sig="pi";var _SDL_GetModState=()=>SDL.modState;_SDL_GetModState.sig="i";var _SDL_GetMouseState=(x,y)=>{if(x)HEAP32[x>>2]=Browser.mouseX;if(y)HEAP32[y>>2]=Browser.mouseY;return SDL.buttonState};_SDL_GetMouseState.sig="ipp";var _SDL_WarpMouse=(x,y)=>{};_SDL_WarpMouse.sig="vii";var _SDL_ShowCursor=toggle=>{switch(toggle){case 0:if(Browser.isFullscreen){Browser.getCanvas().requestPointerLock();return 0}return 1;case 1:Browser.getCanvas().exitPointerLock();return 1;case-1:return!Browser.pointerLock;default:err(`SDL_ShowCursor called with unknown toggle parameter value: ${toggle}`);break}};_SDL_ShowCursor.sig="ii";var _SDL_GetError=()=>{SDL.errorMessage||=stringToNewUTF8("unknown SDL-emscripten error");return SDL.errorMessage};_SDL_GetError.sig="p";var _SDL_SetError=(fmt,varargs)=>{};_SDL_SetError.sig="vpp";var _SDL_CreateRGBSurface=(flags,width,height,depth,rmask,gmask,bmask,amask)=>SDL.makeSurface(width,height,flags,false,"CreateRGBSurface",rmask,gmask,bmask,amask);_SDL_CreateRGBSurface.sig="piiiiiiii";var _SDL_CreateRGBSurfaceFrom=(pixels,width,height,depth,pitch,rmask,gmask,bmask,amask)=>{var surf=SDL.makeSurface(width,height,0,false,"CreateRGBSurfaceFrom",rmask,gmask,bmask,amask);if(depth!==32){err("TODO: Partially unimplemented SDL_CreateRGBSurfaceFrom called!");return surf}var data=SDL.surfaces[surf];var image=data.ctx.createImageData(width,height);var pitchOfDst=width*4;for(var row=0;row{if(format){SDL.checkPixelFormat(format)}var oldData=SDL.surfaces[surf];var ret=SDL.makeSurface(oldData.width,oldData.height,oldData.flags,false,"copy:"+oldData.source);var newData=SDL.surfaces[ret];newData.ctx.globalCompositeOperation="copy";newData.ctx.drawImage(oldData.canvas,0,0);newData.ctx.globalCompositeOperation=oldData.ctx.globalCompositeOperation;return ret};_SDL_ConvertSurface.sig="pppi";var _SDL_DisplayFormat=surf=>_SDL_ConvertSurface(surf,0,0);_SDL_DisplayFormat.sig="pp";var _SDL_DisplayFormatAlpha=surf=>_SDL_ConvertSurface(surf,0,0);_SDL_DisplayFormatAlpha.sig="pp";var _SDL_FreeSurface=surf=>{if(surf)SDL.freeSurface(surf)};_SDL_FreeSurface.sig="vp";var _SDL_UpperBlit=(src,srcrect,dst,dstrect)=>SDL.blitSurface(src,srcrect,dst,dstrect,false);_SDL_UpperBlit.sig="ipppp";var _SDL_UpperBlitScaled=(src,srcrect,dst,dstrect)=>SDL.blitSurface(src,srcrect,dst,dstrect,true);_SDL_UpperBlitScaled.sig="ipppp";var _SDL_LowerBlit=_SDL_UpperBlit;_SDL_LowerBlit.sig="ipppp";var _SDL_LowerBlitScaled=_SDL_UpperBlitScaled;_SDL_LowerBlitScaled.sig="ipppp";var _SDL_GetClipRect=(surf,rect)=>{assert(rect);var surfData=SDL.surfaces[surf];var r=surfData.clipRect||{x:0,y:0,w:surfData.width,h:surfData.height};SDL.updateRect(rect,r)};_SDL_GetClipRect.sig="vpp";var _SDL_SetClipRect=(surf,rect)=>{var surfData=SDL.surfaces[surf];if(rect){surfData.clipRect=SDL.intersectionOfRects({x:0,y:0,w:surfData.width,h:surfData.height},SDL.loadRect(rect))}else{delete surfData.clipRect}};_SDL_SetClipRect.sig="ipp";var _SDL_FillRect=(surf,rect,color)=>{var surfData=SDL.surfaces[surf];assert(!surfData.locked);if(surfData.isFlagSet(2097152)){color=surfData.colors32[color]}var r=rect?SDL.loadRect(rect):{x:0,y:0,w:surfData.width,h:surfData.height};if(surfData.clipRect){r=SDL.intersectionOfRects(surfData.clipRect,r);if(rect){SDL.updateRect(rect,r)}}surfData.ctx.save();surfData.ctx.fillStyle=SDL.translateColorToCSSRGBA(color);surfData.ctx.fillRect(r.x,r.y,r.w,r.h);surfData.ctx.restore();return 0};_SDL_FillRect.sig="ippi";var _zoomSurface=(src,x,y,smooth)=>{var srcData=SDL.surfaces[src];var w=srcData.width*x;var h=srcData.height*y;var ret=SDL.makeSurface(Math.abs(w),Math.abs(h),srcData.flags,false,"zoomSurface");var dstData=SDL.surfaces[ret];if(x>=0&&y>=0){dstData.ctx.drawImage(srcData.canvas,0,0,w,h)}else{dstData.ctx.save();dstData.ctx.scale(x<0?-1:1,y<0?-1:1);dstData.ctx.drawImage(srcData.canvas,w<0?w:0,h<0?h:0,Math.abs(w),Math.abs(h));dstData.ctx.restore()}return ret};_zoomSurface.sig="ppddi";var _rotozoomSurface=(src,angle,zoom,smooth)=>{if(angle%360===0){return _zoomSurface(src,zoom,zoom,smooth)}var srcData=SDL.surfaces[src];var w=srcData.width*zoom;var h=srcData.height*zoom;var diagonal=Math.ceil(Math.sqrt(Math.pow(w,2)+Math.pow(h,2)));var ret=SDL.makeSurface(diagonal,diagonal,srcData.flags,false,"rotozoomSurface");var dstData=SDL.surfaces[ret];dstData.ctx.translate(diagonal/2,diagonal/2);dstData.ctx.rotate(-angle*Math.PI/180);dstData.ctx.drawImage(srcData.canvas,-w/2,-h/2,w,h);return ret};_rotozoomSurface.sig="ppddi";var _SDL_SetAlpha=(surf,flag,alpha)=>{var surfData=SDL.surfaces[surf];surfData.alpha=alpha;if(!(flag&65536)){surfData.alpha=255}};_SDL_SetAlpha.sig="ipii";var _SDL_SetColorKey=(surf,flag,key)=>{warnOnce("SDL_SetColorKey is a no-op for performance reasons");return 0};_SDL_SetColorKey.sig="ipii";var _SDL_PollEvent=ptr=>SDL.pollEvent(ptr);_SDL_PollEvent.sig="ip";var _SDL_PushEvent=ptr=>{var copy=_malloc(28);_memcpy(copy,ptr,28);SDL.events.push(copy);return 0};_SDL_PushEvent.sig="ip";var _SDL_PeepEvents=(events,requestedEventCount,action,from,to)=>{switch(action){case 2:{assert(requestedEventCount==1);var index=0;var retrievedEventCount=0;while(indexSDL.events.forEach(SDL.handleEvent);_SDL_PumpEvents.sig="v";var _emscripten_SDL_SetEventHandler=(handler,userdata)=>{SDL.eventHandler=handler;SDL.eventHandlerContext=userdata;SDL.eventHandlerTemp||=_malloc(28)};_emscripten_SDL_SetEventHandler.sig="vpp";var _SDL_SetColors=(surf,colors,firstColor,nColors)=>{var surfData=SDL.surfaces[surf];if(!surfData.colors){var buffer=new ArrayBuffer(256*4);surfData.colors=new Uint8Array(buffer);surfData.colors32=new Uint32Array(buffer)}for(var i=0;i_SDL_SetColors(surf,colors,firstColor,nColors);_SDL_SetPalette.sig="ipipii";var _SDL_MapRGB=(fmt,r,g,b)=>{SDL.checkPixelFormat(fmt);return r&255|(g&255)<<8|(b&255)<<16|4278190080};_SDL_MapRGB.sig="ipiii";var _SDL_MapRGBA=(fmt,r,g,b,a)=>{SDL.checkPixelFormat(fmt);return r&255|(g&255)<<8|(b&255)<<16|(a&255)<<24};_SDL_MapRGBA.sig="ipiiii";var _SDL_GetRGB=(pixel,fmt,r,g,b)=>{SDL.checkPixelFormat(fmt);if(r){HEAP8[r]=pixel&255}if(g){HEAP8[g]=pixel>>8&255}if(b){HEAP8[b]=pixel>>16&255}};_SDL_GetRGB.sig="vipppp";var _SDL_GetRGBA=(pixel,fmt,r,g,b,a)=>{SDL.checkPixelFormat(fmt);if(r){HEAP8[r]=pixel&255}if(g){HEAP8[g]=pixel>>8&255}if(b){HEAP8[b]=pixel>>16&255}if(a){HEAP8[a]=pixel>>24&255}};_SDL_GetRGBA.sig="vippppp";var _SDL_GetAppState=()=>{var state=0;if(Browser.pointerLock){state|=1}if(document.hasFocus()){state|=2}state|=4;return state};_SDL_GetAppState.sig="i";var _SDL_WM_GrabInput=()=>{};_SDL_WM_GrabInput.sig="ii";var _SDL_WM_ToggleFullScreen=surf=>{if(Browser.exitFullscreen()){return 1}if(!SDL.canRequestFullscreen){return 0}SDL.isRequestingFullscreen=true;return 1};_SDL_WM_ToggleFullScreen.sig="ip";var _IMG_Init=flags=>flags;_IMG_Init.sig="ii";var _SDL_FreeRW=rwopsID=>{SDL.rwops[rwopsID]=null;while(SDL.rwops.length>0&&SDL.rwops[SDL.rwops.length-1]===null){SDL.rwops.pop()}};_SDL_FreeRW.sig="vp";var _IMG_Load_RW=(rwopsID,freeSrc)=>{var sp=stackSave();try{var cleanup=()=>{stackRestore(sp);if(rwops&&freeSrc)_SDL_FreeRW(rwopsID)};var addCleanup=func=>{var old=cleanup;cleanup=()=>{old();func()}};var callStbImage=(func,params)=>{var x=stackAlloc(4);var y=stackAlloc(4);var comp=stackAlloc(4);var data=Module["_"+func](...params,x,y,comp,0);if(!data)return null;addCleanup(()=>Module["_stbi_image_free"](data));return{rawData:true,data,width:HEAP32[x>>2],height:HEAP32[y>>2],size:HEAP32[x>>2]*HEAP32[y>>2]*HEAP32[comp>>2],bpp:HEAP32[comp>>2]}};var rwops=SDL.rwops[rwopsID];if(rwops===undefined){return 0}var raw;var filename=rwops.filename;if(filename===undefined){warnOnce("Only file names that have been preloaded are supported for IMG_Load_RW. Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins");return 0}if(!raw){filename=PATH_FS.resolve(filename);raw=Browser.preloadedImages[filename];if(!raw){if(raw===null)err("Trying to reuse preloaded image, but freePreloadedMediaOnUse is set!");warnOnce("Cannot find preloaded image "+filename);warnOnce("Cannot find preloaded image "+filename+". Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins");return 0}else if(Module["freePreloadedMediaOnUse"]){Browser.preloadedImages[filename]=null}}var surf=SDL.makeSurface(raw.width,raw.height,0,false,"load:"+filename);var surfData=SDL.surfaces[surf];surfData.ctx.globalCompositeOperation="copy";if(!raw.rawData){surfData.ctx.drawImage(raw,0,0,raw.width,raw.height,0,0,raw.width,raw.height)}else{var imageData=surfData.ctx.getImageData(0,0,surfData.width,surfData.height);if(raw.bpp==4){imageData.data.set(HEAPU8.subarray(raw.data,raw.data+raw.size))}else if(raw.bpp==3){var pixels=raw.size/3;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i{var id=SDL.rwops.length;var filename=UTF8ToString(_name);SDL.rwops.push({filename,mimetype:Browser.getMimetype(filename)});return id};_SDL_RWFromFile.sig="ppp";var _IMG_Load=filename=>{var rwops=_SDL_RWFromFile(filename,0);var result=_IMG_Load_RW(rwops,1);return result};_IMG_Load.sig="pp";var _IMG_Quit=()=>out("IMG_Quit called (and ignored)");_IMG_Quit.sig="v";var _SDL_OpenAudio=(desired,obtained)=>{try{SDL.audio={freq:HEAPU32[desired>>2],format:HEAPU16[desired+4>>1],channels:HEAPU8[desired+6],samples:HEAPU16[desired+8>>1],callback:HEAPU32[desired+16>>2],userdata:HEAPU32[desired+20>>2],paused:true,timer:null};if(SDL.audio.format==8){SDL.audio.silence=128}else if(SDL.audio.format==32784){SDL.audio.silence=0}else if(SDL.audio.format==33056){SDL.audio.silence=0}else{throw"Invalid SDL audio format "+SDL.audio.format+"!"}if(SDL.audio.freq<=0){throw"Unsupported sound frequency "+SDL.audio.freq+"!"}else if(SDL.audio.freq<=22050){SDL.audio.freq=22050}else if(SDL.audio.freq<=32e3){SDL.audio.freq=32e3}else if(SDL.audio.freq<=44100){SDL.audio.freq=44100}else if(SDL.audio.freq<=48e3){SDL.audio.freq=48e3}else if(SDL.audio.freq<=96e3){SDL.audio.freq=96e3}else{throw`Unsupported sound frequency ${SDL.audio.freq}!`}if(SDL.audio.channels==0){SDL.audio.channels=1}else if(SDL.audio.channels<0||SDL.audio.channels>32){throw`Unsupported number of audio channels for SDL audio: ${SDL.audio.channels}!`}else if(SDL.audio.channels!=1&&SDL.audio.channels!=2){out(`Warning: Using untested number of audio channels ${SDL.audio.channels}`)}if(SDL.audio.samples<128||SDL.audio.samples>524288){throw`Unsupported audio callback buffer size ${SDL.audio.samples}!`}else if((SDL.audio.samples&SDL.audio.samples-1)!=0){throw`Audio callback buffer size ${SDL.audio.samples} must be a power-of-two!`}var totalSamples=SDL.audio.samples*SDL.audio.channels;if(SDL.audio.format==8){SDL.audio.bytesPerSample=1}else if(SDL.audio.format==32784){SDL.audio.bytesPerSample=2}else if(SDL.audio.format==33056){SDL.audio.bytesPerSample=4}else{throw`Invalid SDL audio format ${SDL.audio.format}!`}SDL.audio.bufferSize=totalSamples*SDL.audio.bytesPerSample;SDL.audio.bufferDurationSecs=SDL.audio.bufferSize/SDL.audio.bytesPerSample/SDL.audio.channels/SDL.audio.freq;SDL.audio.bufferingDelay=50/1e3;SDL.audio.buffer=_malloc(SDL.audio.bufferSize);SDL.audio.numSimultaneouslyQueuedBuffers=Module["SDL_numSimultaneouslyQueuedBuffers"]||5;SDL.audio.queueNewAudioData=()=>{if(!SDL.audio)return;for(var i=0;i=SDL.audio.bufferingDelay+SDL.audio.bufferDurationSecs*SDL.audio.numSimultaneouslyQueuedBuffers)return;((a1,a2,a3)=>{})(SDL.audio.userdata,SDL.audio.buffer,SDL.audio.bufferSize);SDL.audio.pushAudio(SDL.audio.buffer,SDL.audio.bufferSize)}};var sleepCallback=()=>{SDL.audio?.queueNewAudioData?.()};Asyncify.sleepCallbacks.push(sleepCallback);SDL.audio.callbackRemover=()=>{Asyncify.sleepCallbacks=Asyncify.sleepCallbacks.filter(callback=>callback!==sleepCallback)};SDL.audio.caller=()=>{if(!SDL.audio)return;--SDL.audio.numAudioTimersPending;SDL.audio.queueNewAudioData();var secsUntilNextPlayStart=SDL.audio.nextPlayTime-SDL.audioContext["currentTime"];var preemptBufferFeedSecs=SDL.audio.bufferDurationSecs/2;if(SDL.audio.numAudioTimersPending{try{if(SDL.audio.paused)return;var sizeSamples=sizeBytes/SDL.audio.bytesPerSample;var sizeSamplesPerChannel=sizeSamples/SDL.audio.channels;if(sizeSamplesPerChannel!=SDL.audio.samples){throw"Received mismatching audio buffer size!"}var source=SDL.audioContext["createBufferSource"]();var soundBuffer=SDL.audioContext["createBuffer"](SDL.audio.channels,sizeSamplesPerChannel,SDL.audio.freq);source["connect"](SDL.audioContext["destination"]);SDL.fillWebAudioBufferFromHeap(ptr,sizeSamplesPerChannel,soundBuffer);source["buffer"]=soundBuffer;var curtime=SDL.audioContext["currentTime"];var playtime=Math.max(curtime+SDL.audio.bufferingDelay,SDL.audio.nextPlayTime);if(typeof source["start"]!="undefined"){source["start"](playtime)}else if(typeof source["noteOn"]!="undefined"){source["noteOn"](playtime)}SDL.audio.nextPlayTime=playtime+SDL.audio.bufferDurationSecs}catch(e){err(`Web Audio API error playing back audio: ${e.toString()}`)}};if(obtained){HEAP32[obtained>>2]=SDL.audio.freq;HEAP16[obtained+4>>1]=SDL.audio.format;HEAP8[obtained+6]=SDL.audio.channels;HEAP8[obtained+7]=SDL.audio.silence;HEAP16[obtained+8>>1]=SDL.audio.samples;HEAPU32[obtained+16>>2]=SDL.audio.callback;HEAPU32[obtained+20>>2]=SDL.audio.userdata}SDL.allocateChannels(32)}catch(e){err(`Initializing SDL audio threw an exception: "${e.toString()}"! Continuing without audio`);SDL.audio=null;SDL.allocateChannels(0);if(obtained){HEAP32[obtained>>2]=0;HEAP16[obtained+4>>1]=0;HEAP8[obtained+6]=0;HEAP8[obtained+7]=0;HEAP16[obtained+8>>1]=0;HEAPU32[obtained+16>>2]=0;HEAPU32[obtained+20>>2]=0}}if(!SDL.audio){return-1}return 0};_SDL_OpenAudio.sig="ipp";var _SDL_PauseAudio=pauseOn=>{if(!SDL.audio){return}if(pauseOn){if(SDL.audio.timer!==undefined){clearTimeout(SDL.audio.timer);SDL.audio.numAudioTimersPending=0;SDL.audio.timer=undefined}}else if(!SDL.audio.timer){SDL.audio.numAudioTimersPending=1;SDL.audio.timer=safeSetTimeout(SDL.audio.caller,1)}SDL.audio.paused=pauseOn};_SDL_PauseAudio.sig="vi";var _SDL_CloseAudio=()=>{if(SDL.audio){if(SDL.audio.callbackRemover){SDL.audio.callbackRemover();SDL.audio.callbackRemover=null}_SDL_PauseAudio(1);_free(SDL.audio.buffer);SDL.audio=null;SDL.allocateChannels(0)}};_SDL_CloseAudio.sig="v";var _SDL_LockAudio=()=>{};_SDL_LockAudio.sig="v";var _SDL_UnlockAudio=()=>{};_SDL_UnlockAudio.sig="v";var _SDL_CreateMutex=()=>0;_SDL_CreateMutex.sig="p";var _SDL_mutexP=mutex=>0;_SDL_mutexP.sig="ip";var _SDL_mutexV=mutex=>0;_SDL_mutexV.sig="ip";var _SDL_DestroyMutex=mutex=>{};_SDL_DestroyMutex.sig="vp";var _SDL_CreateCond=()=>0;_SDL_CreateCond.sig="p";var _SDL_CondSignal=cond=>{};_SDL_CondSignal.sig="ip";var _SDL_CondWait=(cond,mutex)=>{};_SDL_CondWait.sig="ipp";var _SDL_DestroyCond=cond=>{};_SDL_DestroyCond.sig="vp";var _SDL_StartTextInput=()=>{SDL.textInput=true};_SDL_StartTextInput.sig="v";var _SDL_StopTextInput=()=>{SDL.textInput=false};_SDL_StopTextInput.sig="v";var _Mix_Init=flags=>{if(!flags)return 0;return 8};_Mix_Init.sig="ii";var _Mix_Quit=()=>{};_Mix_Quit.sig="v";var _Mix_OpenAudio=(frequency,format,channels,chunksize)=>{SDL.openAudioContext();autoResumeAudioContext(SDL.audioContext);SDL.allocateChannels(32);SDL.mixerFrequency=frequency;SDL.mixerFormat=format;SDL.mixerNumChannels=channels;SDL.mixerChunkSize=chunksize;return 0};_Mix_OpenAudio.sig="iiiii";var _Mix_CloseAudio=_SDL_CloseAudio;_Mix_CloseAudio.sig="v";var _Mix_AllocateChannels=num=>{SDL.allocateChannels(num);return num};_Mix_AllocateChannels.sig="ii";var _Mix_ChannelFinished=func=>{SDL.channelFinished=func};_Mix_ChannelFinished.sig="vp";var _Mix_Volume=(channel,volume)=>{if(channel==-1){for(var i=0;i{left/=255;right/=255;SDL.setPannerPosition(SDL.channels[channel],right-left,0,.1);return 1};_Mix_SetPanning.sig="iiii";var _Mix_LoadWAV_RW=(rwopsID,freesrc)=>{var rwops=SDL.rwops[rwopsID];if(rwops===undefined)return 0;var filename="";var audio;var webAudio;var bytes;if(rwops.filename!==undefined){filename=PATH_FS.resolve(rwops.filename);var raw=Browser.preloadedAudios[filename];if(!raw){if(raw===null)err("Trying to reuse preloaded audio, but freePreloadedMediaOnUse is set!");if(!Module["noAudioDecoding"])warnOnce("Cannot find preloaded audio "+filename);try{bytes=FS.readFile(filename)}catch(e){err(`Couldn't find file for: ${filename}`);return 0}}if(Module["freePreloadedMediaOnUse"]){Browser.preloadedAudios[filename]=null}audio=raw}else if(rwops.bytes!==undefined){if(SDL.webAudioAvailable()){bytes=HEAPU8.buffer.slice(rwops.bytes,rwops.bytes+rwops.count)}else{bytes=HEAPU8.subarray(rwops.bytes,rwops.bytes+rwops.count)}}else{return 0}var arrayBuffer=bytes?bytes.buffer||bytes:bytes;var canPlayWithWebAudio=Module["SDL_canPlayWithWebAudio"]===undefined||Module["SDL_canPlayWithWebAudio"](filename,arrayBuffer);if(bytes!==undefined&&SDL.webAudioAvailable()&&canPlayWithWebAudio){audio=undefined;webAudio={onDecodeComplete:[]};SDL.audioContext["decodeAudioData"](arrayBuffer,data=>{webAudio.decodedBuffer=data;webAudio.onDecodeComplete.forEach(e=>e());delete webAudio.onDecodeComplete})}else if(audio===undefined&&bytes){var blob=new Blob([bytes],{type:rwops.mimetype});var url=URL.createObjectURL(blob);audio=new Audio;audio.src=url;audio.mozAudioChannelType="content"}var id=SDL.audios.length;SDL.audios.push({source:filename,audio,webAudio});return id};_Mix_LoadWAV_RW.sig="ppi";var _Mix_LoadWAV=filename=>{var rwops=_SDL_RWFromFile(filename,0);var result=_Mix_LoadWAV_RW(rwops,0);_SDL_FreeRW(rwops);return result};_Mix_LoadWAV.sig="pp";var _Mix_QuickLoad_RAW=(mem,len)=>{var audio;var webAudio;var numSamples=len>>1;var buffer=new Float32Array(numSamples);for(var i=0;i>1]/32768}if(SDL.webAudioAvailable()){webAudio={decodedBuffer:buffer}}else{audio=new Audio;audio.mozAudioChannelType="content";audio.numChannels=SDL.mixerNumChannels;audio.frequency=SDL.mixerFrequency}var id=SDL.audios.length;SDL.audios.push({source:"",audio,webAudio,buffer});return id};_Mix_QuickLoad_RAW.sig="ppi";var _Mix_FreeChunk=id=>{SDL.audios[id]=null};_Mix_FreeChunk.sig="vp";var _Mix_ReserveChannels=num=>{SDL.channelMinimumNumber=num};_Mix_ReserveChannels.sig="ii";var _Mix_HaltChannel=channel=>{function halt(channel){var info=SDL.channels[channel];if(info.audio){info.audio.pause();info.audio=null}if(SDL.channelFinished){(a1=>{})(channel)}}if(channel!=-1){halt(channel)}else{for(var i=0;i{assert(ticks==-1);var info=SDL.audios[id];if(!info)return-1;if(!info.audio&&!info.webAudio)return-1;if(channel==-1){for(var i=SDL.channelMinimumNumber;i{})(channel)};if(channelInfo.audio){_Mix_HaltChannel(channel)}channelInfo.audio=audio;audio.loop=loops!=0;audio.volume=channelInfo.volume;audio.play();return channel};_Mix_PlayChannelTimed.sig="iipii";var _Mix_FadingChannel=channel=>0;_Mix_FadingChannel.sig="ii";var _Mix_HaltMusic=()=>{var audio=SDL.music.audio;if(audio){audio.src=audio.src;audio.currentPosition=0;audio.pause()}SDL.music.audio=null;if(SDL.hookMusicFinished){(()=>{})()}return 0};_Mix_HaltMusic.sig="i";var _Mix_HookMusicFinished=func=>{SDL.hookMusicFinished=func;if(SDL.music.audio){SDL.music.audio["onended"]=_Mix_HaltMusic}};_Mix_HookMusicFinished.sig="vp";var _Mix_VolumeMusic=volume=>SDL.setGetVolume(SDL.music,volume);_Mix_VolumeMusic.sig="ii";var _Mix_LoadMUS_RW=filename=>_Mix_LoadWAV_RW(filename,0);_Mix_LoadMUS_RW.sig="pp";var _Mix_LoadMUS=filename=>{var rwops=_SDL_RWFromFile(filename,0);var result=_Mix_LoadMUS_RW(rwops);_SDL_FreeRW(rwops);return result};_Mix_LoadMUS.sig="pp";var _Mix_FreeMusic=_Mix_FreeChunk;_Mix_FreeMusic.sig="vp";var _Mix_PlayMusic=(id,loops)=>{if(SDL.music.audio){if(!SDL.music.audio.paused)err(`Music is already playing. ${SDL.music.source}`);SDL.music.audio.pause()}var info=SDL.audios[id];var audio;if(info.webAudio){audio={resource:info,paused:false,currentPosition:0,play(){SDL.playWebAudio(this)},pause(){SDL.pauseWebAudio(this)}}}else if(info.audio){audio=info.audio}audio["onended"]=function(){if(SDL.music.audio===this||SDL.music.audio?.webAudioNode===this){_Mix_HaltMusic()}};audio.loop=loops!=0&&loops!=1;audio.volume=SDL.music.volume;SDL.music.audio=audio;audio.play();return 0};_Mix_PlayMusic.sig="ipi";var _Mix_PauseMusic=()=>{var audio=SDL.music.audio;audio?.pause()};_Mix_PauseMusic.sig="v";var _Mix_ResumeMusic=()=>{var audio=SDL.music.audio;audio?.play()};_Mix_ResumeMusic.sig="v";var _Mix_FadeInMusicPos=_Mix_PlayMusic;_Mix_FadeInMusicPos.sig="ipiid";var _Mix_FadeOutMusic=_Mix_HaltMusic;_Mix_FadeOutMusic.sig="ii";var _Mix_PlayingMusic=()=>SDL.music.audio&&!SDL.music.audio.paused;_Mix_PlayingMusic.sig="i";var _Mix_Playing=channel=>{if(channel===-1){var count=0;for(var i=0;i{if(channel===-1){for(var i=0;i{if(channel===-1){var pausedCount=0;for(var i=0;iSDL.music.audio?.paused?1:0;_Mix_PausedMusic.sig="i";var _Mix_Resume=channel=>{if(channel===-1){for(var i=0;i{try{var offscreenCanvas=new OffscreenCanvas(0,0);SDL.ttfContext=offscreenCanvas.getContext("2d");if(typeof SDL.ttfContext.measureText!="function"){throw"bad context"}}catch(ex){var canvas=document.createElement("canvas");SDL.ttfContext=canvas.getContext("2d")}return 0};_TTF_Init.sig="i";var _TTF_OpenFont=(name,size)=>{name=PATH.normalize(UTF8ToString(name));var id=SDL.fonts.length;SDL.fonts.push({name,size});return id};_TTF_OpenFont.sig="ppi";var _TTF_CloseFont=font=>{SDL.fonts[font]=null};_TTF_CloseFont.sig="vp";var _TTF_RenderText_Solid=(font,text,color)=>{text=UTF8ToString(text)||" ";var fontData=SDL.fonts[font];var w=SDL.estimateTextWidth(fontData,text);var h=fontData.size;color=SDL.loadColorToCSSRGB(color);var fontString=SDL.makeFontString(h,fontData.name);var surf=SDL.makeSurface(w,h,0,false,"text:"+text);var surfData=SDL.surfaces[surf];surfData.ctx.save();surfData.ctx.fillStyle=color;surfData.ctx.font=fontString;surfData.ctx.textBaseline="bottom";surfData.ctx.fillText(text,0,h|0);surfData.ctx.restore();return surf};_TTF_RenderText_Solid.sig="pppp";var _TTF_RenderText_Blended=_TTF_RenderText_Solid;_TTF_RenderText_Blended.sig="pppp";var _TTF_RenderText_Shaded=_TTF_RenderText_Solid;_TTF_RenderText_Shaded.sig="ppppp";var _TTF_RenderUTF8_Solid=_TTF_RenderText_Solid;_TTF_RenderUTF8_Solid.sig="pppp";var _TTF_SizeText=(font,text,w,h)=>{var fontData=SDL.fonts[font];if(w){HEAP32[w>>2]=SDL.estimateTextWidth(fontData,UTF8ToString(text))}if(h){HEAP32[h>>2]=fontData.size}return 0};_TTF_SizeText.sig="ipppp";var _TTF_SizeUTF8=_TTF_SizeText;_TTF_SizeUTF8.sig="ipppp";var _TTF_GlyphMetrics=(font,ch,minx,maxx,miny,maxy,advance)=>{var fontData=SDL.fonts[font];var width=SDL.estimateTextWidth(fontData,String.fromCharCode(ch));if(advance){HEAP32[advance>>2]=width}if(minx){HEAP32[minx>>2]=0}if(maxx){HEAP32[maxx>>2]=width}if(miny){HEAP32[miny>>2]=0}if(maxy){HEAP32[maxy>>2]=fontData.size}};_TTF_GlyphMetrics.sig="ipippppp";var _TTF_FontAscent=font=>{var fontData=SDL.fonts[font];return fontData.size*.98|0};_TTF_FontAscent.sig="ip";var _TTF_FontDescent=font=>{var fontData=SDL.fonts[font];return fontData.size*.02|0};_TTF_FontDescent.sig="ip";var _TTF_FontHeight=font=>{var fontData=SDL.fonts[font];return fontData.size};_TTF_FontHeight.sig="ip";var _TTF_FontLineSkip=_TTF_FontHeight;_TTF_FontLineSkip.sig="ip";var _TTF_Quit=()=>out("TTF_Quit called (and ignored)");_TTF_Quit.sig="v";var SDL_gfx={drawRectangle:(surf,x1,y1,x2,y2,action,cssColor)=>{x1=x1<<16>>16;y1=y1<<16>>16;x2=x2<<16>>16;y2=y2<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);var x=x1{x1=x1<<16>>16;y1=y1<<16>>16;x2=x2<<16>>16;y2=y2<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);surfData.ctx.save();surfData.ctx.strokeStyle=cssColor;surfData.ctx.beginPath();surfData.ctx.moveTo(x1,y1);surfData.ctx.lineTo(x2,y2);surfData.ctx.stroke();surfData.ctx.restore()},drawEllipse:(surf,x,y,rx,ry,action,cssColor)=>{x=x<<16>>16;y=y<<16>>16;rx=rx<<16>>16;ry=ry<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);surfData.ctx.save();surfData.ctx.beginPath();surfData.ctx.translate(x,y);surfData.ctx.scale(rx,ry);surfData.ctx.arc(0,0,1,0,2*Math.PI);surfData.ctx.restore();surfData.ctx.save();surfData.ctx[action+"Style"]=cssColor;surfData.ctx[action]();surfData.ctx.restore()},translateColorToCSSRGBA:rgba=>`rgba(${rgba>>>24},${rgba>>16&255},${rgba>>8&255},${rgba&255})`};var _boxColor=(surf,x1,y1,x2,y2,color)=>SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"fill",SDL_gfx.translateColorToCSSRGBA(color));_boxColor.sig="ipiiiii";var _boxRGBA=(surf,x1,y1,x2,y2,r,g,b,a)=>SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"fill",SDL.translateRGBAToCSSRGBA(r,g,b,a));_boxRGBA.sig="ipiiiiiiii";var _rectangleColor=(surf,x1,y1,x2,y2,color)=>SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"stroke",SDL_gfx.translateColorToCSSRGBA(color));_rectangleColor.sig="ipiiiii";var _rectangleRGBA=(surf,x1,y1,x2,y2,r,g,b,a)=>SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"stroke",SDL.translateRGBAToCSSRGBA(r,g,b,a));_rectangleRGBA.sig="ipiiiiiiii";var _ellipseColor=(surf,x,y,rx,ry,color)=>SDL_gfx.drawEllipse(surf,x,y,rx,ry,"stroke",SDL_gfx.translateColorToCSSRGBA(color));_ellipseColor.sig="ipiiiii";var _ellipseRGBA=(surf,x,y,rx,ry,r,g,b,a)=>SDL_gfx.drawEllipse(surf,x,y,rx,ry,"stroke",SDL.translateRGBAToCSSRGBA(r,g,b,a));_ellipseRGBA.sig="ipiiiiiiii";var _filledEllipseColor=(surf,x,y,rx,ry,color)=>SDL_gfx.drawEllipse(surf,x,y,rx,ry,"fill",SDL_gfx.translateColorToCSSRGBA(color));_filledEllipseColor.sig="ipiiiii";var _filledEllipseRGBA=(surf,x,y,rx,ry,r,g,b,a)=>SDL_gfx.drawEllipse(surf,x,y,rx,ry,"fill",SDL.translateRGBAToCSSRGBA(r,g,b,a));_filledEllipseRGBA.sig="ipiiiiiiii";var _lineColor=(surf,x1,y1,x2,y2,color)=>SDL_gfx.drawLine(surf,x1,y1,x2,y2,SDL_gfx.translateColorToCSSRGBA(color));_lineColor.sig="ipiiiii";var _lineRGBA=(surf,x1,y1,x2,y2,r,g,b,a)=>SDL_gfx.drawLine(surf,x1,y1,x2,y2,SDL.translateRGBAToCSSRGBA(r,g,b,a));_lineRGBA.sig="ipiiiiiiii";var _pixelRGBA=(surf,x1,y1,r,g,b,a)=>_boxRGBA(surf,x1,y1,x1,y1,r,g,b,a);_pixelRGBA.sig="ipiiiiii";var _SDL_GL_SetAttribute=(attr,value)=>{if(!(attr in SDL.glAttributes)){abort("Unknown SDL GL attribute ("+attr+"). Please check if your SDL version is supported.")}SDL.glAttributes[attr]=value};_SDL_GL_SetAttribute.sig="iii";var _SDL_GL_GetAttribute=(attr,value)=>{if(!(attr in SDL.glAttributes)){abort("Unknown SDL GL attribute ("+attr+"). Please check if your SDL version is supported.")}if(value)HEAP32[value>>2]=SDL.glAttributes[attr];return 0};_SDL_GL_GetAttribute.sig="iip";var _SDL_GL_SwapBuffers=()=>Browser.doSwapBuffers?.();_SDL_GL_SwapBuffers.sig="v";var _SDL_GL_ExtensionSupported=extension=>GLctx?.getExtension(UTF8ToString(extension))?1:0;_SDL_GL_ExtensionSupported.sig="ip";var _SDL_DestroyWindow=window=>{};_SDL_DestroyWindow.sig="vp";var _SDL_DestroyRenderer=renderer=>{};_SDL_DestroyRenderer.sig="vp";var _SDL_GetWindowFlags=window=>{if(Browser.isFullscreen){return 1}return 0};_SDL_GetWindowFlags.sig="ip";var _SDL_GL_SwapWindow=window=>{};_SDL_GL_SwapWindow.sig="vp";var _SDL_GL_MakeCurrent=(window,context)=>{};_SDL_GL_MakeCurrent.sig="ipp";var _SDL_GL_DeleteContext=context=>{};_SDL_GL_DeleteContext.sig="vp";var _SDL_GL_GetSwapInterval=()=>{if(MainLoop.timingMode==1){return MainLoop.timingValue}else{return 0}};_SDL_GL_GetSwapInterval.sig="i";var _SDL_GL_SetSwapInterval=state=>_emscripten_set_main_loop_timing(1,state);_SDL_GL_SetSwapInterval.sig="ii";var _SDL_SetWindowTitle=(window,title)=>{if(title)document.title=UTF8ToString(title)};_SDL_SetWindowTitle.sig="vpp";var _SDL_GetWindowSize=(window,width,height)=>{var canvas=Browser.getCanvas();if(width)HEAP32[width>>2]=canvas.width;if(height)HEAP32[height>>2]=canvas.height};_SDL_GetWindowSize.sig="vppp";var _SDL_LogSetOutputFunction=(callback,userdata)=>{};_SDL_LogSetOutputFunction.sig="vpp";var _SDL_SetWindowFullscreen=(window,fullscreen)=>{if(Browser.isFullscreen){Browser.getCanvas().exitFullscreen();return 1}return 0};_SDL_SetWindowFullscreen.sig="ipi";var _SDL_ClearError=()=>{};_SDL_ClearError.sig="v";var _SDL_SetGamma=(r,g,b)=>-1;_SDL_SetGamma.sig="ifff";var _SDL_SetGammaRamp=(redTable,greenTable,blueTable)=>-1;_SDL_SetGammaRamp.sig="ippp";var _SDL_NumJoysticks=()=>{var count=0;var gamepads=SDL.getGamepads();for(var gamepad of gamepads){if(gamepad!==undefined)count++}return count};_SDL_NumJoysticks.sig="i";var _SDL_JoystickName=deviceIndex=>{var gamepad=SDL.getGamepad(deviceIndex);if(gamepad){var name=gamepad.id;if(SDL.joystickNamePool.hasOwnProperty(name)){return SDL.joystickNamePool[name]}return SDL.joystickNamePool[name]=stringToNewUTF8(name)}return 0};_SDL_JoystickName.sig="pi";var _SDL_JoystickOpen=deviceIndex=>{var gamepad=SDL.getGamepad(deviceIndex);if(gamepad){var joystick=deviceIndex+1;SDL.recordJoystickState(joystick,gamepad);return joystick}return 0};_SDL_JoystickOpen.sig="pi";var _SDL_JoystickOpened=deviceIndex=>SDL.lastJoystickState.hasOwnProperty(deviceIndex+1)?1:0;_SDL_JoystickOpened.sig="ii";var _SDL_JoystickIndex=joystick=>joystick-1;_SDL_JoystickIndex.sig="ip";var _SDL_JoystickNumAxes=joystick=>{var gamepad=SDL.getGamepad(joystick-1);if(gamepad){return gamepad.axes.length}return 0};_SDL_JoystickNumAxes.sig="ip";var _SDL_JoystickNumBalls=joystick=>0;_SDL_JoystickNumBalls.sig="ip";var _SDL_JoystickNumHats=joystick=>0;_SDL_JoystickNumHats.sig="ip";var _SDL_JoystickNumButtons=joystick=>{var gamepad=SDL.getGamepad(joystick-1);if(gamepad){return gamepad.buttons.length}return 0};_SDL_JoystickNumButtons.sig="ip";var _SDL_JoystickUpdate=()=>SDL.queryJoysticks();_SDL_JoystickUpdate.sig="v";var _SDL_JoystickEventState=state=>{if(state<0){return SDL.joystickEventState}return SDL.joystickEventState=state};_SDL_JoystickEventState.sig="ii";var _SDL_JoystickGetAxis=(joystick,axis)=>{var gamepad=SDL.getGamepad(joystick-1);if(gamepad?.axes.length>axis){return SDL.joystickAxisValueConversion(gamepad.axes[axis])}return 0};_SDL_JoystickGetAxis.sig="ipi";var _SDL_JoystickGetHat=(joystick,hat)=>0;_SDL_JoystickGetHat.sig="ipi";var _SDL_JoystickGetBall=(joystick,ball,dxptr,dyptr)=>-1;_SDL_JoystickGetBall.sig="ipipp";var _SDL_JoystickGetButton=(joystick,button)=>{var gamepad=SDL.getGamepad(joystick-1);if(gamepad?.buttons.length>button){return SDL.getJoystickButtonState(gamepad.buttons[button])?1:0}return 0};_SDL_JoystickGetButton.sig="ipi";var _SDL_JoystickClose=joystick=>{delete SDL.lastJoystickState[joystick]};_SDL_JoystickClose.sig="vp";var _SDL_InitSubSystem=flags=>0;_SDL_InitSubSystem.sig="ii";var _SDL_RWFromConstMem=(mem,size)=>{var id=SDL.rwops.length;SDL.rwops.push({bytes:mem,count:size});return id};_SDL_RWFromConstMem.sig="ppi";var _SDL_RWFromMem=_SDL_RWFromConstMem;_SDL_RWFromMem.sig="ppi";var _SDL_GetNumAudioDrivers=()=>1;_SDL_GetNumAudioDrivers.sig="i";var _SDL_GetCurrentAudioDriver=()=>stringToNewUTF8("Emscripten Audio");_SDL_GetCurrentAudioDriver.sig="p";var _SDL_GetScancodeFromKey=key=>SDL.scanCodes[key];_SDL_GetScancodeFromKey.sig="ii";var _SDL_GetAudioDriver=index=>_SDL_GetCurrentAudioDriver();_SDL_GetAudioDriver.sig="pi";var _SDL_EnableUNICODE=on=>{var ret=SDL.unicode||0;SDL.unicode=on;return ret};_SDL_EnableUNICODE.sig="ii";var _SDL_AddTimer=(interval,callback,param)=>safeSetTimeout(()=>((a1,a2)=>{})(interval,param),interval);_SDL_AddTimer.sig="iipp";var _SDL_RemoveTimer=id=>{clearTimeout(id);return true};_SDL_RemoveTimer.sig="ii";var _SDL_CreateThread=(fs,data,pfnBeginThread,pfnEndThread)=>{throw"SDL threads cannot be supported in the web platform because they assume shared state. See emscripten_create_worker etc. for a message-passing concurrency model that does let you run code in another thread."};_SDL_CreateThread.sig="ppp";var _SDL_WaitThread=(thread,status)=>{throw"SDL_WaitThread"};_SDL_WaitThread.sig="vpp";var _SDL_GetThreadID=thread=>{throw"SDL_GetThreadID"};_SDL_GetThreadID.sig="pp";var _SDL_ThreadID=()=>0;_SDL_ThreadID.sig="p";var _SDL_AllocRW=()=>{throw"SDL_AllocRW: TODO"};_SDL_AllocRW.sig="p";var _SDL_CondBroadcast=cond=>{throw"SDL_CondBroadcast: TODO"};_SDL_CondBroadcast.sig="ip";var _SDL_CondWaitTimeout=(cond,mutex,ms)=>{throw"SDL_CondWaitTimeout: TODO"};_SDL_CondWaitTimeout.sig="ippi";var _SDL_WM_IconifyWindow=()=>{throw"SDL_WM_IconifyWindow TODO"};_SDL_WM_IconifyWindow.sig="i";var _Mix_SetPostMix=(func,arg)=>warnOnce("Mix_SetPostMix: TODO");_Mix_SetPostMix.sig="vpp";var _Mix_VolumeChunk=(chunk,volume)=>{throw"Mix_VolumeChunk: TODO"};_Mix_VolumeChunk.sig="ipi";var _Mix_SetPosition=(channel,angle,distance)=>{throw"Mix_SetPosition: TODO"};_Mix_SetPosition.sig="iiii";var _Mix_QuerySpec=(frequency,format,channels)=>{throw"Mix_QuerySpec: TODO"};_Mix_QuerySpec.sig="ippp";var _Mix_FadeInChannelTimed=(channel,chunk,loop,ms,ticks)=>{throw"Mix_FadeInChannelTimed"};_Mix_FadeInChannelTimed.sig="iipiii";var _Mix_FadeOutChannel=()=>{throw"Mix_FadeOutChannel"};_Mix_FadeOutChannel.sig="iii";var _Mix_Linked_Version=()=>{throw"Mix_Linked_Version: TODO"};_Mix_Linked_Version.sig="p";var _SDL_SaveBMP_RW=(surface,dst,freedst)=>{throw"SDL_SaveBMP_RW: TODO"};_SDL_SaveBMP_RW.sig="ippi";var _SDL_WM_SetIcon=(icon,mask)=>{};_SDL_WM_SetIcon.sig="vpp";var _SDL_HasRDTSC=()=>0;_SDL_HasRDTSC.sig="i";var _SDL_HasMMX=()=>0;_SDL_HasMMX.sig="i";var _SDL_HasMMXExt=()=>0;_SDL_HasMMXExt.sig="i";var _SDL_Has3DNow=()=>0;_SDL_Has3DNow.sig="i";var _SDL_Has3DNowExt=()=>0;_SDL_Has3DNowExt.sig="i";var _SDL_HasSSE=()=>0;_SDL_HasSSE.sig="i";var _SDL_HasSSE2=()=>0;_SDL_HasSSE2.sig="i";var _SDL_HasAltiVec=()=>0;_SDL_HasAltiVec.sig="i";var ALLOC_NORMAL=0;var ALLOC_STACK=1;var allocate=(slab,allocator)=>{var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(!slab.subarray&&!slab.slice){slab=new Uint8Array(slab)}HEAPU8.set(slab,ret);return ret};var writeStringToMemory=(string,buffer,dontAddNull)=>{warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar};var writeAsciiToMemory=(str,buffer,dontAddNull)=>{for(var i=0;i{demangle.recursionGuard=(demangle.recursionGuard|0)+1;if(demangle.recursionGuard>1)return func;return withStackSave(()=>{try{var s=func;if(s.startsWith("__Z"))s=s.slice(1);var buf=stringToUTF8OnStack(s);var status=stackAlloc(4);var ret=___cxa_demangle(buf,0,0,status);if(HEAP32[status>>2]===0&&ret){return UTF8ToString(ret)}}catch(e){}finally{_free(ret);if(demangle.recursionGuard<2)--demangle.recursionGuard}return func})};var stackTrace=()=>{var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return js};var print=out;var printErr=err;var jstoi_s=Number;var _emscripten_is_main_browser_thread=()=>!ENVIRONMENT_IS_WORKER;registerWasmPlugin();FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";Module["requestAnimationFrame"]=MainLoop.requestAnimationFrame;Module["pauseMainLoop"]=MainLoop.pause;Module["resumeMainLoop"]=MainLoop.resume;MainLoop.init();for(let i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<=288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i)}var miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<=288;++i){miniTempWebGLIntBuffers[i]=miniTempWebGLIntBuffersStorage.subarray(0,i)}adapters_support();if(typeof setImmediate!="undefined"){emSetImmediate=setImmediateWrapped;emClearImmediate=clearImmediateWrapped}else if(typeof addEventListener=="function"){var __setImmediate_id_counter=0;var __setImmediate_queue=[];var __setImmediate_message_id="_si";var __setImmediate_cb=e=>{if(e.data===__setImmediate_message_id){e.stopPropagation();__setImmediate_queue.shift()();++__setImmediate_id_counter}};addEventListener("message",__setImmediate_cb,true);emSetImmediate=func=>{postMessage(__setImmediate_message_id,"*");return __setImmediate_id_counter+__setImmediate_queue.push(func)-1};emClearImmediate=id=>{var index=id-__setImmediate_id_counter;if(index>=0&&index<__setImmediate_queue.length)__setImmediate_queue[index]=()=>{}}}registerPostMainLoop(()=>SDL.audio?.queueNewAudioData?.());{initMemory();if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["dynamicLibraries"])dynamicLibraries=Module["dynamicLibraries"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"]}Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;Module["_setTempRet0"]=_setTempRet0;Module["_getTempRet0"]=_getTempRet0;Module["_sched_yield"]=_sched_yield;Module["___cxa_uncaught_exceptions"]=___cxa_uncaught_exceptions;Module["___cxa_current_primary_exception"]=___cxa_current_primary_exception;Module["___cxa_rethrow_primary_exception"]=___cxa_rethrow_primary_exception;Module["___syscall_shutdown"]=___syscall_shutdown;var ASM_CONSTS={450624:$0=>{if(!$0){AL.alcErr=40964;return 1}},450672:$0=>{if(!AL.currentCtx){err("alGetProcAddress() called without a valid context");return 1}if(!$0){AL.currentCtx.err=40963;return 1}}};var wasmImports={IMG_Init:_IMG_Init,IMG_Load:_IMG_Load,IMG_Load_RW:_IMG_Load_RW,IMG_Quit:_IMG_Quit,Mix_AllocateChannels:_Mix_AllocateChannels,Mix_ChannelFinished:_Mix_ChannelFinished,Mix_CloseAudio:_Mix_CloseAudio,Mix_FadeInChannelTimed:_Mix_FadeInChannelTimed,Mix_FadeInMusicPos:_Mix_FadeInMusicPos,Mix_FadeOutChannel:_Mix_FadeOutChannel,Mix_FadeOutMusic:_Mix_FadeOutMusic,Mix_FadingChannel:_Mix_FadingChannel,Mix_FreeChunk:_Mix_FreeChunk,Mix_FreeMusic:_Mix_FreeMusic,Mix_HaltChannel:_Mix_HaltChannel,Mix_HaltMusic:_Mix_HaltMusic,Mix_HookMusicFinished:_Mix_HookMusicFinished,Mix_Init:_Mix_Init,Mix_Linked_Version:_Mix_Linked_Version,Mix_LoadMUS:_Mix_LoadMUS,Mix_LoadMUS_RW:_Mix_LoadMUS_RW,Mix_LoadWAV:_Mix_LoadWAV,Mix_LoadWAV_RW:_Mix_LoadWAV_RW,Mix_OpenAudio:_Mix_OpenAudio,Mix_Pause:_Mix_Pause,Mix_PauseMusic:_Mix_PauseMusic,Mix_Paused:_Mix_Paused,Mix_PausedMusic:_Mix_PausedMusic,Mix_PlayChannelTimed:_Mix_PlayChannelTimed,Mix_PlayMusic:_Mix_PlayMusic,Mix_Playing:_Mix_Playing,Mix_PlayingMusic:_Mix_PlayingMusic,Mix_QuerySpec:_Mix_QuerySpec,Mix_QuickLoad_RAW:_Mix_QuickLoad_RAW,Mix_Quit:_Mix_Quit,Mix_ReserveChannels:_Mix_ReserveChannels,Mix_Resume:_Mix_Resume,Mix_ResumeMusic:_Mix_ResumeMusic,Mix_SetPanning:_Mix_SetPanning,Mix_SetPosition:_Mix_SetPosition,Mix_SetPostMix:_Mix_SetPostMix,Mix_Volume:_Mix_Volume,Mix_VolumeChunk:_Mix_VolumeChunk,Mix_VolumeMusic:_Mix_VolumeMusic,SDL_AddTimer:_SDL_AddTimer,SDL_AllocRW:_SDL_AllocRW,SDL_AudioDriverName:_SDL_AudioDriverName,SDL_AudioQuit:_SDL_AudioQuit,SDL_ClearError:_SDL_ClearError,SDL_CloseAudio:_SDL_CloseAudio,SDL_CondBroadcast:_SDL_CondBroadcast,SDL_CondSignal:_SDL_CondSignal,SDL_CondWait:_SDL_CondWait,SDL_CondWaitTimeout:_SDL_CondWaitTimeout,SDL_ConvertSurface:_SDL_ConvertSurface,SDL_CreateCond:_SDL_CreateCond,SDL_CreateMutex:_SDL_CreateMutex,SDL_CreateRGBSurface:_SDL_CreateRGBSurface,SDL_CreateRGBSurfaceFrom:_SDL_CreateRGBSurfaceFrom,SDL_CreateThread:_SDL_CreateThread,SDL_Delay:_SDL_Delay,SDL_DestroyCond:_SDL_DestroyCond,SDL_DestroyMutex:_SDL_DestroyMutex,SDL_DestroyRenderer:_SDL_DestroyRenderer,SDL_DestroyWindow:_SDL_DestroyWindow,SDL_DisplayFormat:_SDL_DisplayFormat,SDL_DisplayFormatAlpha:_SDL_DisplayFormatAlpha,SDL_EnableKeyRepeat:_SDL_EnableKeyRepeat,SDL_EnableUNICODE:_SDL_EnableUNICODE,SDL_FillRect:_SDL_FillRect,SDL_Flip:_SDL_Flip,SDL_FreeRW:_SDL_FreeRW,SDL_FreeSurface:_SDL_FreeSurface,SDL_GL_DeleteContext:_SDL_GL_DeleteContext,SDL_GL_ExtensionSupported:_SDL_GL_ExtensionSupported,SDL_GL_GetAttribute:_SDL_GL_GetAttribute,SDL_GL_GetSwapInterval:_SDL_GL_GetSwapInterval,SDL_GL_MakeCurrent:_SDL_GL_MakeCurrent,SDL_GL_SetAttribute:_SDL_GL_SetAttribute,SDL_GL_SetSwapInterval:_SDL_GL_SetSwapInterval,SDL_GL_SwapBuffers:_SDL_GL_SwapBuffers,SDL_GL_SwapWindow:_SDL_GL_SwapWindow,SDL_GetAppState:_SDL_GetAppState,SDL_GetAudioDriver:_SDL_GetAudioDriver,SDL_GetClipRect:_SDL_GetClipRect,SDL_GetCurrentAudioDriver:_SDL_GetCurrentAudioDriver,SDL_GetError:_SDL_GetError,SDL_GetKeyName:_SDL_GetKeyName,SDL_GetKeyState:_SDL_GetKeyState,SDL_GetKeyboardState:_SDL_GetKeyboardState,SDL_GetModState:_SDL_GetModState,SDL_GetMouseState:_SDL_GetMouseState,SDL_GetNumAudioDrivers:_SDL_GetNumAudioDrivers,SDL_GetRGB:_SDL_GetRGB,SDL_GetRGBA:_SDL_GetRGBA,SDL_GetScancodeFromKey:_SDL_GetScancodeFromKey,SDL_GetThreadID:_SDL_GetThreadID,SDL_GetTicks:_SDL_GetTicks,SDL_GetVideoInfo:_SDL_GetVideoInfo,SDL_GetVideoSurface:_SDL_GetVideoSurface,SDL_GetWindowFlags:_SDL_GetWindowFlags,SDL_GetWindowSize:_SDL_GetWindowSize,SDL_Has3DNow:_SDL_Has3DNow,SDL_Has3DNowExt:_SDL_Has3DNowExt,SDL_HasAltiVec:_SDL_HasAltiVec,SDL_HasMMX:_SDL_HasMMX,SDL_HasMMXExt:_SDL_HasMMXExt,SDL_HasRDTSC:_SDL_HasRDTSC,SDL_HasSSE:_SDL_HasSSE,SDL_HasSSE2:_SDL_HasSSE2,SDL_Init:_SDL_Init,SDL_InitSubSystem:_SDL_InitSubSystem,SDL_JoystickClose:_SDL_JoystickClose,SDL_JoystickEventState:_SDL_JoystickEventState,SDL_JoystickGetAxis:_SDL_JoystickGetAxis,SDL_JoystickGetBall:_SDL_JoystickGetBall,SDL_JoystickGetButton:_SDL_JoystickGetButton,SDL_JoystickGetHat:_SDL_JoystickGetHat,SDL_JoystickIndex:_SDL_JoystickIndex,SDL_JoystickName:_SDL_JoystickName,SDL_JoystickNumAxes:_SDL_JoystickNumAxes,SDL_JoystickNumBalls:_SDL_JoystickNumBalls,SDL_JoystickNumButtons:_SDL_JoystickNumButtons,SDL_JoystickNumHats:_SDL_JoystickNumHats,SDL_JoystickOpen:_SDL_JoystickOpen,SDL_JoystickOpened:_SDL_JoystickOpened,SDL_JoystickUpdate:_SDL_JoystickUpdate,SDL_Linked_Version:_SDL_Linked_Version,SDL_ListModes:_SDL_ListModes,SDL_LoadBMP_RW:_SDL_LoadBMP_RW,SDL_LockAudio:_SDL_LockAudio,SDL_LockSurface:_SDL_LockSurface,SDL_LogSetOutputFunction:_SDL_LogSetOutputFunction,SDL_LowerBlit:_SDL_LowerBlit,SDL_LowerBlitScaled:_SDL_LowerBlitScaled,SDL_MapRGB:_SDL_MapRGB,SDL_MapRGBA:_SDL_MapRGBA,SDL_NumJoysticks:_SDL_NumJoysticks,SDL_OpenAudio:_SDL_OpenAudio,SDL_PauseAudio:_SDL_PauseAudio,SDL_PeepEvents:_SDL_PeepEvents,SDL_PollEvent:_SDL_PollEvent,SDL_PumpEvents:_SDL_PumpEvents,SDL_PushEvent:_SDL_PushEvent,SDL_Quit:_SDL_Quit,SDL_QuitSubSystem:_SDL_QuitSubSystem,SDL_RWFromConstMem:_SDL_RWFromConstMem,SDL_RWFromFile:_SDL_RWFromFile,SDL_RWFromMem:_SDL_RWFromMem,SDL_RemoveTimer:_SDL_RemoveTimer,SDL_SaveBMP_RW:_SDL_SaveBMP_RW,SDL_SetAlpha:_SDL_SetAlpha,SDL_SetClipRect:_SDL_SetClipRect,SDL_SetColorKey:_SDL_SetColorKey,SDL_SetColors:_SDL_SetColors,SDL_SetError:_SDL_SetError,SDL_SetGamma:_SDL_SetGamma,SDL_SetGammaRamp:_SDL_SetGammaRamp,SDL_SetPalette:_SDL_SetPalette,SDL_SetVideoMode:_SDL_SetVideoMode,SDL_SetWindowFullscreen:_SDL_SetWindowFullscreen,SDL_SetWindowTitle:_SDL_SetWindowTitle,SDL_ShowCursor:_SDL_ShowCursor,SDL_StartTextInput:_SDL_StartTextInput,SDL_StopTextInput:_SDL_StopTextInput,SDL_ThreadID:_SDL_ThreadID,SDL_UnlockAudio:_SDL_UnlockAudio,SDL_UnlockSurface:_SDL_UnlockSurface,SDL_UpdateRect:_SDL_UpdateRect,SDL_UpdateRects:_SDL_UpdateRects,SDL_UpperBlit:_SDL_UpperBlit,SDL_UpperBlitScaled:_SDL_UpperBlitScaled,SDL_VideoDriverName:_SDL_VideoDriverName,SDL_VideoModeOK:_SDL_VideoModeOK,SDL_VideoQuit:_SDL_VideoQuit,SDL_WM_GrabInput:_SDL_WM_GrabInput,SDL_WM_IconifyWindow:_SDL_WM_IconifyWindow,SDL_WM_SetCaption:_SDL_WM_SetCaption,SDL_WM_SetIcon:_SDL_WM_SetIcon,SDL_WM_ToggleFullScreen:_SDL_WM_ToggleFullScreen,SDL_WaitThread:_SDL_WaitThread,SDL_WarpMouse:_SDL_WarpMouse,SDL_WasInit:_SDL_WasInit,SDL_mutexP:_SDL_mutexP,SDL_mutexV:_SDL_mutexV,TTF_CloseFont:_TTF_CloseFont,TTF_FontAscent:_TTF_FontAscent,TTF_FontDescent:_TTF_FontDescent,TTF_FontHeight:_TTF_FontHeight,TTF_FontLineSkip:_TTF_FontLineSkip,TTF_GlyphMetrics:_TTF_GlyphMetrics,TTF_Init:_TTF_Init,TTF_OpenFont:_TTF_OpenFont,TTF_Quit:_TTF_Quit,TTF_RenderText_Blended:_TTF_RenderText_Blended,TTF_RenderText_Shaded:_TTF_RenderText_Shaded,TTF_RenderText_Solid:_TTF_RenderText_Solid,TTF_RenderUTF8_Solid:_TTF_RenderUTF8_Solid,TTF_SizeText:_TTF_SizeText,TTF_SizeUTF8:_TTF_SizeUTF8,XChangeWindowAttributes:_XChangeWindowAttributes,XCreateWindow:_XCreateWindow,XInternAtom:_XInternAtom,XMapWindow:_XMapWindow,XOpenDisplay:_XOpenDisplay,XPending:_XPending,XSendEvent:_XSendEvent,XSetWMHints:_XSetWMHints,XStoreName:_XStoreName,_Unwind_Backtrace:__Unwind_Backtrace,_Unwind_DeleteException:__Unwind_DeleteException,_Unwind_FindEnclosingFunction:__Unwind_FindEnclosingFunction,_Unwind_GetIPInfo:__Unwind_GetIPInfo,_Unwind_RaiseException:__Unwind_RaiseException,__asctime_r:___asctime_r,__assert_fail:___assert_fail,__asyncify_data:___asyncify_data,__asyncify_state:___asyncify_state,__call_sighandler:___call_sighandler,__cxa_begin_catch:___cxa_begin_catch,__cxa_call_unexpected:___cxa_call_unexpected,__cxa_current_exception_type:___cxa_current_exception_type,__cxa_end_catch:___cxa_end_catch,__cxa_find_matching_catch_2:___cxa_find_matching_catch_2,__cxa_find_matching_catch_3:___cxa_find_matching_catch_3,__cxa_find_matching_catch_4:___cxa_find_matching_catch_4,__cxa_rethrow:___cxa_rethrow,__cxa_throw:___cxa_throw,__global_base:___global_base,__heap_base:___heap_base,__indirect_function_table:wasmTable,__memory_base:___memory_base,__resumeException:___resumeException,__stack_high:___stack_high,__stack_low:___stack_low,__stack_pointer:___stack_pointer,__syscall__newselect:___syscall__newselect,__syscall_accept4:___syscall_accept4,__syscall_bind:___syscall_bind,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_connect:___syscall_connect,__syscall_dup:___syscall_dup,__syscall_dup3:___syscall_dup3,__syscall_faccessat:___syscall_faccessat,__syscall_fadvise64:___syscall_fadvise64,__syscall_fallocate:___syscall_fallocate,__syscall_fchdir:___syscall_fchdir,__syscall_fchmod:___syscall_fchmod,__syscall_fchmodat2:___syscall_fchmodat2,__syscall_fchown32:___syscall_fchown32,__syscall_fchownat:___syscall_fchownat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fdatasync:___syscall_fdatasync,__syscall_fstat64:___syscall_fstat64,__syscall_fstatfs64:___syscall_fstatfs64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_getpeername:___syscall_getpeername,__syscall_getsockname:___syscall_getsockname,__syscall_getsockopt:___syscall_getsockopt,__syscall_ioctl:___syscall_ioctl,__syscall_listen:___syscall_listen,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_mknodat:___syscall_mknodat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_pipe:___syscall_pipe,__syscall_poll:___syscall_poll,__syscall_readlinkat:___syscall_readlinkat,__syscall_recvfrom:___syscall_recvfrom,__syscall_recvmsg:___syscall_recvmsg,__syscall_renameat:___syscall_renameat,__syscall_rmdir:___syscall_rmdir,__syscall_sendmsg:___syscall_sendmsg,__syscall_sendto:___syscall_sendto,__syscall_socket:___syscall_socket,__syscall_stat64:___syscall_stat64,__syscall_statfs64:___syscall_statfs64,__syscall_symlinkat:___syscall_symlinkat,__syscall_truncate64:___syscall_truncate64,__syscall_unlinkat:___syscall_unlinkat,__syscall_utimensat:___syscall_utimensat,__table_base:___table_base,_abort_js:__abort_js,_dlopen_js:__dlopen_js,_dlsym_catchup_js:__dlsym_catchup_js,_dlsym_js:__dlsym_js,_emscripten_dlopen_js:__emscripten_dlopen_js,_emscripten_fs_load_embedded_files:__emscripten_fs_load_embedded_files,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_get_progname:__emscripten_get_progname,_emscripten_lookup_name:__emscripten_lookup_name,_emscripten_push_main_loop_blocker:__emscripten_push_main_loop_blocker,_emscripten_push_uncounted_main_loop_blocker:__emscripten_push_uncounted_main_loop_blocker,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_emscripten_system:__emscripten_system,_emscripten_throw_longjmp:__emscripten_throw_longjmp,_glGetActiveAttribOrUniform:__glGetActiveAttribOrUniform,_gmtime_js:__gmtime_js,_load_secondary_module:__load_secondary_module,_localtime_js:__localtime_js,_mktime_js:__mktime_js,_mmap_js:__mmap_js,_msync_js:__msync_js,_munmap_js:__munmap_js,_setitimer_js:__setitimer_js,_timegm_js:__timegm_js,_tzset_js:__tzset_js,alBuffer3f:_alBuffer3f,alBuffer3i:_alBuffer3i,alBufferData:_alBufferData,alBufferf:_alBufferf,alBufferfv:_alBufferfv,alBufferi:_alBufferi,alBufferiv:_alBufferiv,alDeleteBuffers:_alDeleteBuffers,alDeleteSources:_alDeleteSources,alDisable:_alDisable,alDistanceModel:_alDistanceModel,alDopplerFactor:_alDopplerFactor,alDopplerVelocity:_alDopplerVelocity,alEnable:_alEnable,alGenBuffers:_alGenBuffers,alGenSources:_alGenSources,alGetBoolean:_alGetBoolean,alGetBooleanv:_alGetBooleanv,alGetBuffer3f:_alGetBuffer3f,alGetBuffer3i:_alGetBuffer3i,alGetBufferf:_alGetBufferf,alGetBufferfv:_alGetBufferfv,alGetBufferi:_alGetBufferi,alGetBufferiv:_alGetBufferiv,alGetDouble:_alGetDouble,alGetDoublev:_alGetDoublev,alGetEnumValue:_alGetEnumValue,alGetError:_alGetError,alGetFloat:_alGetFloat,alGetFloatv:_alGetFloatv,alGetInteger:_alGetInteger,alGetIntegerv:_alGetIntegerv,alGetListener3f:_alGetListener3f,alGetListener3i:_alGetListener3i,alGetListenerf:_alGetListenerf,alGetListenerfv:_alGetListenerfv,alGetListeneri:_alGetListeneri,alGetListeneriv:_alGetListeneriv,alGetSource3f:_alGetSource3f,alGetSource3i:_alGetSource3i,alGetSourcef:_alGetSourcef,alGetSourcefv:_alGetSourcefv,alGetSourcei:_alGetSourcei,alGetSourceiv:_alGetSourceiv,alGetString:_alGetString,alIsBuffer:_alIsBuffer,alIsEnabled:_alIsEnabled,alIsExtensionPresent:_alIsExtensionPresent,alIsSource:_alIsSource,alListener3f:_alListener3f,alListener3i:_alListener3i,alListenerf:_alListenerf,alListenerfv:_alListenerfv,alListeneri:_alListeneri,alListeneriv:_alListeneriv,alSource3f:_alSource3f,alSource3i:_alSource3i,alSourcePause:_alSourcePause,alSourcePausev:_alSourcePausev,alSourcePlay:_alSourcePlay,alSourcePlayv:_alSourcePlayv,alSourceQueueBuffers:_alSourceQueueBuffers,alSourceRewind:_alSourceRewind,alSourceRewindv:_alSourceRewindv,alSourceStop:_alSourceStop,alSourceStopv:_alSourceStopv,alSourceUnqueueBuffers:_alSourceUnqueueBuffers,alSourcef:_alSourcef,alSourcefv:_alSourcefv,alSourcei:_alSourcei,alSourceiv:_alSourceiv,alSpeedOfSound:_alSpeedOfSound,alcCaptureCloseDevice:_alcCaptureCloseDevice,alcCaptureOpenDevice:_alcCaptureOpenDevice,alcCaptureSamples:_alcCaptureSamples,alcCaptureStart:_alcCaptureStart,alcCaptureStop:_alcCaptureStop,alcCloseDevice:_alcCloseDevice,alcCreateContext:_alcCreateContext,alcDestroyContext:_alcDestroyContext,alcGetContextsDevice:_alcGetContextsDevice,alcGetCurrentContext:_alcGetCurrentContext,alcGetEnumValue:_alcGetEnumValue,alcGetError:_alcGetError,alcGetIntegerv:_alcGetIntegerv,alcGetString:_alcGetString,alcIsExtensionPresent:_alcIsExtensionPresent,alcMakeContextCurrent:_alcMakeContextCurrent,alcOpenDevice:_alcOpenDevice,alcProcessContext:_alcProcessContext,alcSuspendContext:_alcSuspendContext,boxColor:_boxColor,boxRGBA:_boxRGBA,clock_res_get:_clock_res_get,clock_time_get:_clock_time_get,eglBindAPI:_eglBindAPI,eglChooseConfig:_eglChooseConfig,eglCreateContext:_eglCreateContext,eglCreateWindowSurface:_eglCreateWindowSurface,eglDestroyContext:_eglDestroyContext,eglDestroySurface:_eglDestroySurface,eglGetConfigAttrib:_eglGetConfigAttrib,eglGetConfigs:_eglGetConfigs,eglGetCurrentContext:_eglGetCurrentContext,eglGetCurrentDisplay:_eglGetCurrentDisplay,eglGetCurrentSurface:_eglGetCurrentSurface,eglGetDisplay:_eglGetDisplay,eglGetError:_eglGetError,eglInitialize:_eglInitialize,eglMakeCurrent:_eglMakeCurrent,eglQueryAPI:_eglQueryAPI,eglQueryContext:_eglQueryContext,eglQueryString:_eglQueryString,eglQuerySurface:_eglQuerySurface,eglReleaseThread:_eglReleaseThread,eglSwapBuffers:_eglSwapBuffers,eglSwapInterval:_eglSwapInterval,eglTerminate:_eglTerminate,eglWaitClient:_eglWaitClient,eglWaitGL:_eglWaitGL,eglWaitNative:_eglWaitNative,ellipseColor:_ellipseColor,ellipseRGBA:_ellipseRGBA,emscripten_SDL_SetEventHandler:_emscripten_SDL_SetEventHandler,emscripten_alcDevicePauseSOFT:_emscripten_alcDevicePauseSOFT,emscripten_alcDeviceResumeSOFT:_emscripten_alcDeviceResumeSOFT,emscripten_alcGetStringiSOFT:_emscripten_alcGetStringiSOFT,emscripten_alcResetDeviceSOFT:_emscripten_alcResetDeviceSOFT,emscripten_asm_const_async_on_main_thread:_emscripten_asm_const_async_on_main_thread,emscripten_asm_const_double:_emscripten_asm_const_double,emscripten_asm_const_double_sync_on_main_thread:_emscripten_asm_const_double_sync_on_main_thread,emscripten_asm_const_int:_emscripten_asm_const_int,emscripten_asm_const_int_sync_on_main_thread:_emscripten_asm_const_int_sync_on_main_thread,emscripten_asm_const_ptr:_emscripten_asm_const_ptr,emscripten_asm_const_ptr_sync_on_main_thread:_emscripten_asm_const_ptr_sync_on_main_thread,emscripten_async_call:_emscripten_async_call,emscripten_async_load_script:_emscripten_async_load_script,emscripten_async_run_script:_emscripten_async_run_script,emscripten_async_wget:_emscripten_async_wget,emscripten_async_wget2:_emscripten_async_wget2,emscripten_async_wget2_abort:_emscripten_async_wget2_abort,emscripten_async_wget2_data:_emscripten_async_wget2_data,emscripten_async_wget_data:_emscripten_async_wget_data,emscripten_call_worker:_emscripten_call_worker,emscripten_cancel_animation_frame:_emscripten_cancel_animation_frame,emscripten_cancel_main_loop:_emscripten_cancel_main_loop,emscripten_clear_immediate:_emscripten_clear_immediate,emscripten_clear_interval:_emscripten_clear_interval,emscripten_clear_timeout:_emscripten_clear_timeout,emscripten_console_error:_emscripten_console_error,emscripten_console_log:_emscripten_console_log,emscripten_console_trace:_emscripten_console_trace,emscripten_console_warn:_emscripten_console_warn,emscripten_create_worker:_emscripten_create_worker,emscripten_date_now:_emscripten_date_now,emscripten_debugger:_emscripten_debugger,emscripten_destroy_worker:_emscripten_destroy_worker,emscripten_enter_soft_fullscreen:_emscripten_enter_soft_fullscreen,emscripten_err:_emscripten_err,emscripten_errn:_emscripten_errn,emscripten_exit_fullscreen:_emscripten_exit_fullscreen,emscripten_exit_pointerlock:_emscripten_exit_pointerlock,emscripten_exit_soft_fullscreen:_emscripten_exit_soft_fullscreen,emscripten_exit_with_live_runtime:_emscripten_exit_with_live_runtime,emscripten_fiber_swap:_emscripten_fiber_swap,emscripten_force_exit:_emscripten_force_exit,emscripten_get_battery_status:_emscripten_get_battery_status,emscripten_get_callstack:_emscripten_get_callstack,emscripten_get_canvas_element_size:_emscripten_get_canvas_element_size,emscripten_get_canvas_size:_emscripten_get_canvas_size,emscripten_get_compiler_setting:_emscripten_get_compiler_setting,emscripten_get_device_pixel_ratio:_emscripten_get_device_pixel_ratio,emscripten_get_devicemotion_status:_emscripten_get_devicemotion_status,emscripten_get_deviceorientation_status:_emscripten_get_deviceorientation_status,emscripten_get_element_css_size:_emscripten_get_element_css_size,emscripten_get_fullscreen_status:_emscripten_get_fullscreen_status,emscripten_get_gamepad_status:_emscripten_get_gamepad_status,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_main_loop_timing:_emscripten_get_main_loop_timing,emscripten_get_mouse_status:_emscripten_get_mouse_status,emscripten_get_now:_emscripten_get_now,emscripten_get_now_res:_emscripten_get_now_res,emscripten_get_num_gamepads:_emscripten_get_num_gamepads,emscripten_get_orientation_status:_emscripten_get_orientation_status,emscripten_get_pointerlock_status:_emscripten_get_pointerlock_status,emscripten_get_preloaded_image_data:_emscripten_get_preloaded_image_data,emscripten_get_preloaded_image_data_from_FILE:_emscripten_get_preloaded_image_data_from_FILE,emscripten_get_screen_size:_emscripten_get_screen_size,emscripten_get_visibility_status:_emscripten_get_visibility_status,emscripten_get_window_title:_emscripten_get_window_title,emscripten_get_worker_queue_size:_emscripten_get_worker_queue_size,emscripten_glActiveTexture:_emscripten_glActiveTexture,emscripten_glAttachShader:_emscripten_glAttachShader,emscripten_glBegin:_emscripten_glBegin,emscripten_glBeginQueryEXT:_emscripten_glBeginQueryEXT,emscripten_glBindAttribLocation:_emscripten_glBindAttribLocation,emscripten_glBindBuffer:_emscripten_glBindBuffer,emscripten_glBindFramebuffer:_emscripten_glBindFramebuffer,emscripten_glBindRenderbuffer:_emscripten_glBindRenderbuffer,emscripten_glBindTexture:_emscripten_glBindTexture,emscripten_glBindVertexArray:_emscripten_glBindVertexArray,emscripten_glBindVertexArrayOES:_emscripten_glBindVertexArrayOES,emscripten_glBlendColor:_emscripten_glBlendColor,emscripten_glBlendEquation:_emscripten_glBlendEquation,emscripten_glBlendEquationSeparate:_emscripten_glBlendEquationSeparate,emscripten_glBlendFunc:_emscripten_glBlendFunc,emscripten_glBlendFuncSeparate:_emscripten_glBlendFuncSeparate,emscripten_glBufferData:_emscripten_glBufferData,emscripten_glBufferSubData:_emscripten_glBufferSubData,emscripten_glCheckFramebufferStatus:_emscripten_glCheckFramebufferStatus,emscripten_glClear:_emscripten_glClear,emscripten_glClearColor:_emscripten_glClearColor,emscripten_glClearDepth:_emscripten_glClearDepth,emscripten_glClearDepthf:_emscripten_glClearDepthf,emscripten_glClearStencil:_emscripten_glClearStencil,emscripten_glClipControlEXT:_emscripten_glClipControlEXT,emscripten_glColorMask:_emscripten_glColorMask,emscripten_glCompileShader:_emscripten_glCompileShader,emscripten_glCompressedTexImage2D:_emscripten_glCompressedTexImage2D,emscripten_glCompressedTexSubImage2D:_emscripten_glCompressedTexSubImage2D,emscripten_glCopyTexImage2D:_emscripten_glCopyTexImage2D,emscripten_glCopyTexSubImage2D:_emscripten_glCopyTexSubImage2D,emscripten_glCreateProgram:_emscripten_glCreateProgram,emscripten_glCreateShader:_emscripten_glCreateShader,emscripten_glCullFace:_emscripten_glCullFace,emscripten_glDeleteBuffers:_emscripten_glDeleteBuffers,emscripten_glDeleteFramebuffers:_emscripten_glDeleteFramebuffers,emscripten_glDeleteProgram:_emscripten_glDeleteProgram,emscripten_glDeleteQueriesEXT:_emscripten_glDeleteQueriesEXT,emscripten_glDeleteRenderbuffers:_emscripten_glDeleteRenderbuffers,emscripten_glDeleteShader:_emscripten_glDeleteShader,emscripten_glDeleteTextures:_emscripten_glDeleteTextures,emscripten_glDeleteVertexArrays:_emscripten_glDeleteVertexArrays,emscripten_glDeleteVertexArraysOES:_emscripten_glDeleteVertexArraysOES,emscripten_glDepthFunc:_emscripten_glDepthFunc,emscripten_glDepthMask:_emscripten_glDepthMask,emscripten_glDepthRange:_emscripten_glDepthRange,emscripten_glDepthRangef:_emscripten_glDepthRangef,emscripten_glDetachShader:_emscripten_glDetachShader,emscripten_glDisable:_emscripten_glDisable,emscripten_glDisableVertexAttribArray:_emscripten_glDisableVertexAttribArray,emscripten_glDrawArrays:_emscripten_glDrawArrays,emscripten_glDrawArraysInstanced:_emscripten_glDrawArraysInstanced,emscripten_glDrawArraysInstancedANGLE:_emscripten_glDrawArraysInstancedANGLE,emscripten_glDrawArraysInstancedARB:_emscripten_glDrawArraysInstancedARB,emscripten_glDrawArraysInstancedEXT:_emscripten_glDrawArraysInstancedEXT,emscripten_glDrawArraysInstancedNV:_emscripten_glDrawArraysInstancedNV,emscripten_glDrawBuffers:_emscripten_glDrawBuffers,emscripten_glDrawBuffersEXT:_emscripten_glDrawBuffersEXT,emscripten_glDrawBuffersWEBGL:_emscripten_glDrawBuffersWEBGL,emscripten_glDrawElements:_emscripten_glDrawElements,emscripten_glDrawElementsInstanced:_emscripten_glDrawElementsInstanced,emscripten_glDrawElementsInstancedANGLE:_emscripten_glDrawElementsInstancedANGLE,emscripten_glDrawElementsInstancedARB:_emscripten_glDrawElementsInstancedARB,emscripten_glDrawElementsInstancedEXT:_emscripten_glDrawElementsInstancedEXT,emscripten_glDrawElementsInstancedNV:_emscripten_glDrawElementsInstancedNV,emscripten_glEnable:_emscripten_glEnable,emscripten_glEnableVertexAttribArray:_emscripten_glEnableVertexAttribArray,emscripten_glEndQueryEXT:_emscripten_glEndQueryEXT,emscripten_glFinish:_emscripten_glFinish,emscripten_glFlush:_emscripten_glFlush,emscripten_glFramebufferRenderbuffer:_emscripten_glFramebufferRenderbuffer,emscripten_glFramebufferTexture2D:_emscripten_glFramebufferTexture2D,emscripten_glFrontFace:_emscripten_glFrontFace,emscripten_glGenBuffers:_emscripten_glGenBuffers,emscripten_glGenFramebuffers:_emscripten_glGenFramebuffers,emscripten_glGenQueriesEXT:_emscripten_glGenQueriesEXT,emscripten_glGenRenderbuffers:_emscripten_glGenRenderbuffers,emscripten_glGenTextures:_emscripten_glGenTextures,emscripten_glGenVertexArrays:_emscripten_glGenVertexArrays,emscripten_glGenVertexArraysOES:_emscripten_glGenVertexArraysOES,emscripten_glGenerateMipmap:_emscripten_glGenerateMipmap,emscripten_glGetActiveAttrib:_emscripten_glGetActiveAttrib,emscripten_glGetActiveUniform:_emscripten_glGetActiveUniform,emscripten_glGetAttachedShaders:_emscripten_glGetAttachedShaders,emscripten_glGetAttribLocation:_emscripten_glGetAttribLocation,emscripten_glGetBooleanv:_emscripten_glGetBooleanv,emscripten_glGetBufferParameteriv:_emscripten_glGetBufferParameteriv,emscripten_glGetError:_emscripten_glGetError,emscripten_glGetFloatv:_emscripten_glGetFloatv,emscripten_glGetFramebufferAttachmentParameteriv:_emscripten_glGetFramebufferAttachmentParameteriv,emscripten_glGetIntegerv:_emscripten_glGetIntegerv,emscripten_glGetProgramInfoLog:_emscripten_glGetProgramInfoLog,emscripten_glGetProgramiv:_emscripten_glGetProgramiv,emscripten_glGetQueryObjecti64vEXT:_emscripten_glGetQueryObjecti64vEXT,emscripten_glGetQueryObjectivEXT:_emscripten_glGetQueryObjectivEXT,emscripten_glGetQueryObjectui64vEXT:_emscripten_glGetQueryObjectui64vEXT,emscripten_glGetQueryObjectuivEXT:_emscripten_glGetQueryObjectuivEXT,emscripten_glGetQueryivEXT:_emscripten_glGetQueryivEXT,emscripten_glGetRenderbufferParameteriv:_emscripten_glGetRenderbufferParameteriv,emscripten_glGetShaderInfoLog:_emscripten_glGetShaderInfoLog,emscripten_glGetShaderPrecisionFormat:_emscripten_glGetShaderPrecisionFormat,emscripten_glGetShaderSource:_emscripten_glGetShaderSource,emscripten_glGetShaderiv:_emscripten_glGetShaderiv,emscripten_glGetString:_emscripten_glGetString,emscripten_glGetTexParameterfv:_emscripten_glGetTexParameterfv,emscripten_glGetTexParameteriv:_emscripten_glGetTexParameteriv,emscripten_glGetUniformLocation:_emscripten_glGetUniformLocation,emscripten_glGetUniformfv:_emscripten_glGetUniformfv,emscripten_glGetUniformiv:_emscripten_glGetUniformiv,emscripten_glGetVertexAttribPointerv:_emscripten_glGetVertexAttribPointerv,emscripten_glGetVertexAttribfv:_emscripten_glGetVertexAttribfv,emscripten_glGetVertexAttribiv:_emscripten_glGetVertexAttribiv,emscripten_glHint:_emscripten_glHint,emscripten_glIsBuffer:_emscripten_glIsBuffer,emscripten_glIsEnabled:_emscripten_glIsEnabled,emscripten_glIsFramebuffer:_emscripten_glIsFramebuffer,emscripten_glIsProgram:_emscripten_glIsProgram,emscripten_glIsQueryEXT:_emscripten_glIsQueryEXT,emscripten_glIsRenderbuffer:_emscripten_glIsRenderbuffer,emscripten_glIsShader:_emscripten_glIsShader,emscripten_glIsTexture:_emscripten_glIsTexture,emscripten_glIsVertexArray:_emscripten_glIsVertexArray,emscripten_glIsVertexArrayOES:_emscripten_glIsVertexArrayOES,emscripten_glLineWidth:_emscripten_glLineWidth,emscripten_glLinkProgram:_emscripten_glLinkProgram,emscripten_glLoadIdentity:_emscripten_glLoadIdentity,emscripten_glMatrixMode:_emscripten_glMatrixMode,emscripten_glMultiDrawArrays:_emscripten_glMultiDrawArrays,emscripten_glMultiDrawArraysANGLE:_emscripten_glMultiDrawArraysANGLE,emscripten_glMultiDrawArraysInstancedANGLE:_emscripten_glMultiDrawArraysInstancedANGLE,emscripten_glMultiDrawArraysInstancedWEBGL:_emscripten_glMultiDrawArraysInstancedWEBGL,emscripten_glMultiDrawArraysWEBGL:_emscripten_glMultiDrawArraysWEBGL,emscripten_glMultiDrawElements:_emscripten_glMultiDrawElements,emscripten_glMultiDrawElementsANGLE:_emscripten_glMultiDrawElementsANGLE,emscripten_glMultiDrawElementsInstancedANGLE:_emscripten_glMultiDrawElementsInstancedANGLE,emscripten_glMultiDrawElementsInstancedWEBGL:_emscripten_glMultiDrawElementsInstancedWEBGL,emscripten_glMultiDrawElementsWEBGL:_emscripten_glMultiDrawElementsWEBGL,emscripten_glPixelStorei:_emscripten_glPixelStorei,emscripten_glPolygonModeWEBGL:_emscripten_glPolygonModeWEBGL,emscripten_glPolygonOffset:_emscripten_glPolygonOffset,emscripten_glPolygonOffsetClampEXT:_emscripten_glPolygonOffsetClampEXT,emscripten_glQueryCounterEXT:_emscripten_glQueryCounterEXT,emscripten_glReadPixels:_emscripten_glReadPixels,emscripten_glReleaseShaderCompiler:_emscripten_glReleaseShaderCompiler,emscripten_glRenderbufferStorage:_emscripten_glRenderbufferStorage,emscripten_glSampleCoverage:_emscripten_glSampleCoverage,emscripten_glScissor:_emscripten_glScissor,emscripten_glShaderBinary:_emscripten_glShaderBinary,emscripten_glShaderSource:_emscripten_glShaderSource,emscripten_glStencilFunc:_emscripten_glStencilFunc,emscripten_glStencilFuncSeparate:_emscripten_glStencilFuncSeparate,emscripten_glStencilMask:_emscripten_glStencilMask,emscripten_glStencilMaskSeparate:_emscripten_glStencilMaskSeparate,emscripten_glStencilOp:_emscripten_glStencilOp,emscripten_glStencilOpSeparate:_emscripten_glStencilOpSeparate,emscripten_glTexImage2D:_emscripten_glTexImage2D,emscripten_glTexParameterf:_emscripten_glTexParameterf,emscripten_glTexParameterfv:_emscripten_glTexParameterfv,emscripten_glTexParameteri:_emscripten_glTexParameteri,emscripten_glTexParameteriv:_emscripten_glTexParameteriv,emscripten_glTexSubImage2D:_emscripten_glTexSubImage2D,emscripten_glUniform1f:_emscripten_glUniform1f,emscripten_glUniform1fv:_emscripten_glUniform1fv,emscripten_glUniform1i:_emscripten_glUniform1i,emscripten_glUniform1iv:_emscripten_glUniform1iv,emscripten_glUniform2f:_emscripten_glUniform2f,emscripten_glUniform2fv:_emscripten_glUniform2fv,emscripten_glUniform2i:_emscripten_glUniform2i,emscripten_glUniform2iv:_emscripten_glUniform2iv,emscripten_glUniform3f:_emscripten_glUniform3f,emscripten_glUniform3fv:_emscripten_glUniform3fv,emscripten_glUniform3i:_emscripten_glUniform3i,emscripten_glUniform3iv:_emscripten_glUniform3iv,emscripten_glUniform4f:_emscripten_glUniform4f,emscripten_glUniform4fv:_emscripten_glUniform4fv,emscripten_glUniform4i:_emscripten_glUniform4i,emscripten_glUniform4iv:_emscripten_glUniform4iv,emscripten_glUniformMatrix2fv:_emscripten_glUniformMatrix2fv,emscripten_glUniformMatrix3fv:_emscripten_glUniformMatrix3fv,emscripten_glUniformMatrix4fv:_emscripten_glUniformMatrix4fv,emscripten_glUseProgram:_emscripten_glUseProgram,emscripten_glValidateProgram:_emscripten_glValidateProgram,emscripten_glVertexAttrib1f:_emscripten_glVertexAttrib1f,emscripten_glVertexAttrib1fv:_emscripten_glVertexAttrib1fv,emscripten_glVertexAttrib2f:_emscripten_glVertexAttrib2f,emscripten_glVertexAttrib2fv:_emscripten_glVertexAttrib2fv,emscripten_glVertexAttrib3f:_emscripten_glVertexAttrib3f,emscripten_glVertexAttrib3fv:_emscripten_glVertexAttrib3fv,emscripten_glVertexAttrib4f:_emscripten_glVertexAttrib4f,emscripten_glVertexAttrib4fv:_emscripten_glVertexAttrib4fv,emscripten_glVertexAttribDivisor:_emscripten_glVertexAttribDivisor,emscripten_glVertexAttribDivisorANGLE:_emscripten_glVertexAttribDivisorANGLE,emscripten_glVertexAttribDivisorARB:_emscripten_glVertexAttribDivisorARB,emscripten_glVertexAttribDivisorEXT:_emscripten_glVertexAttribDivisorEXT,emscripten_glVertexAttribDivisorNV:_emscripten_glVertexAttribDivisorNV,emscripten_glVertexAttribPointer:_emscripten_glVertexAttribPointer,emscripten_glVertexPointer:_emscripten_glVertexPointer,emscripten_glViewport:_emscripten_glViewport,emscripten_has_asyncify:_emscripten_has_asyncify,emscripten_hide_mouse:_emscripten_hide_mouse,emscripten_html5_remove_all_event_listeners:_emscripten_html5_remove_all_event_listeners,emscripten_idb_async_clear:_emscripten_idb_async_clear,emscripten_idb_async_delete:_emscripten_idb_async_delete,emscripten_idb_async_exists:_emscripten_idb_async_exists,emscripten_idb_async_load:_emscripten_idb_async_load,emscripten_idb_async_store:_emscripten_idb_async_store,emscripten_idb_clear:_emscripten_idb_clear,emscripten_idb_delete:_emscripten_idb_delete,emscripten_idb_exists:_emscripten_idb_exists,emscripten_idb_free_blob:_emscripten_idb_free_blob,emscripten_idb_load:_emscripten_idb_load,emscripten_idb_load_blob:_emscripten_idb_load_blob,emscripten_idb_read_from_blob:_emscripten_idb_read_from_blob,emscripten_idb_store:_emscripten_idb_store,emscripten_idb_store_blob:_emscripten_idb_store_blob,emscripten_is_main_browser_thread:_emscripten_is_main_browser_thread,emscripten_is_webgl_context_lost:_emscripten_is_webgl_context_lost,emscripten_lazy_load_code:_emscripten_lazy_load_code,emscripten_lock_orientation:_emscripten_lock_orientation,emscripten_log:_emscripten_log,emscripten_math_acos:_emscripten_math_acos,emscripten_math_acosh:_emscripten_math_acosh,emscripten_math_asin:_emscripten_math_asin,emscripten_math_asinh:_emscripten_math_asinh,emscripten_math_atan:_emscripten_math_atan,emscripten_math_atan2:_emscripten_math_atan2,emscripten_math_atanh:_emscripten_math_atanh,emscripten_math_cbrt:_emscripten_math_cbrt,emscripten_math_cos:_emscripten_math_cos,emscripten_math_cosh:_emscripten_math_cosh,emscripten_math_exp:_emscripten_math_exp,emscripten_math_expm1:_emscripten_math_expm1,emscripten_math_fmod:_emscripten_math_fmod,emscripten_math_hypot:_emscripten_math_hypot,emscripten_math_log:_emscripten_math_log,emscripten_math_log10:_emscripten_math_log10,emscripten_math_log1p:_emscripten_math_log1p,emscripten_math_log2:_emscripten_math_log2,emscripten_math_pow:_emscripten_math_pow,emscripten_math_random:_emscripten_math_random,emscripten_math_round:_emscripten_math_round,emscripten_math_sign:_emscripten_math_sign,emscripten_math_sin:_emscripten_math_sin,emscripten_math_sinh:_emscripten_math_sinh,emscripten_math_sqrt:_emscripten_math_sqrt,emscripten_math_tan:_emscripten_math_tan,emscripten_math_tanh:_emscripten_math_tanh,emscripten_notify_memory_growth:_emscripten_notify_memory_growth,emscripten_out:_emscripten_out,emscripten_outn:_emscripten_outn,emscripten_pause_main_loop:_emscripten_pause_main_loop,emscripten_pc_get_column:_emscripten_pc_get_column,emscripten_pc_get_file:_emscripten_pc_get_file,emscripten_pc_get_function:_emscripten_pc_get_function,emscripten_pc_get_line:_emscripten_pc_get_line,emscripten_performance_now:_emscripten_performance_now,emscripten_print_double:_emscripten_print_double,emscripten_promise_all:_emscripten_promise_all,emscripten_promise_all_settled:_emscripten_promise_all_settled,emscripten_promise_any:_emscripten_promise_any,emscripten_promise_await:_emscripten_promise_await,emscripten_promise_create:_emscripten_promise_create,emscripten_promise_destroy:_emscripten_promise_destroy,emscripten_promise_race:_emscripten_promise_race,emscripten_promise_resolve:_emscripten_promise_resolve,emscripten_promise_then:_emscripten_promise_then,emscripten_random:_emscripten_random,emscripten_request_animation_frame:_emscripten_request_animation_frame,emscripten_request_animation_frame_loop:_emscripten_request_animation_frame_loop,emscripten_request_fullscreen:_emscripten_request_fullscreen,emscripten_request_fullscreen_strategy:_emscripten_request_fullscreen_strategy,emscripten_request_pointerlock:_emscripten_request_pointerlock,emscripten_resize_heap:_emscripten_resize_heap,emscripten_resume_main_loop:_emscripten_resume_main_loop,emscripten_return_address:_emscripten_return_address,emscripten_run_preload_plugins:_emscripten_run_preload_plugins,emscripten_run_preload_plugins_data:_emscripten_run_preload_plugins_data,emscripten_run_script:_emscripten_run_script,emscripten_run_script_int:_emscripten_run_script_int,emscripten_run_script_string:_emscripten_run_script_string,emscripten_runtime_keepalive_check:_emscripten_runtime_keepalive_check,emscripten_runtime_keepalive_pop:_emscripten_runtime_keepalive_pop,emscripten_runtime_keepalive_push:_emscripten_runtime_keepalive_push,emscripten_sample_gamepad_data:_emscripten_sample_gamepad_data,emscripten_scan_registers:_emscripten_scan_registers,emscripten_set_batterychargingchange_callback_on_thread:_emscripten_set_batterychargingchange_callback_on_thread,emscripten_set_batterylevelchange_callback_on_thread:_emscripten_set_batterylevelchange_callback_on_thread,emscripten_set_beforeunload_callback_on_thread:_emscripten_set_beforeunload_callback_on_thread,emscripten_set_blur_callback_on_thread:_emscripten_set_blur_callback_on_thread,emscripten_set_canvas_element_size:_emscripten_set_canvas_element_size,emscripten_set_canvas_size:_emscripten_set_canvas_size,emscripten_set_click_callback_on_thread:_emscripten_set_click_callback_on_thread,emscripten_set_dblclick_callback_on_thread:_emscripten_set_dblclick_callback_on_thread,emscripten_set_devicemotion_callback_on_thread:_emscripten_set_devicemotion_callback_on_thread,emscripten_set_deviceorientation_callback_on_thread:_emscripten_set_deviceorientation_callback_on_thread,emscripten_set_element_css_size:_emscripten_set_element_css_size,emscripten_set_focus_callback_on_thread:_emscripten_set_focus_callback_on_thread,emscripten_set_focusin_callback_on_thread:_emscripten_set_focusin_callback_on_thread,emscripten_set_focusout_callback_on_thread:_emscripten_set_focusout_callback_on_thread,emscripten_set_fullscreenchange_callback_on_thread:_emscripten_set_fullscreenchange_callback_on_thread,emscripten_set_gamepadconnected_callback_on_thread:_emscripten_set_gamepadconnected_callback_on_thread,emscripten_set_gamepaddisconnected_callback_on_thread:_emscripten_set_gamepaddisconnected_callback_on_thread,emscripten_set_immediate:_emscripten_set_immediate,emscripten_set_immediate_loop:_emscripten_set_immediate_loop,emscripten_set_interval:_emscripten_set_interval,emscripten_set_keydown_callback_on_thread:_emscripten_set_keydown_callback_on_thread,emscripten_set_keypress_callback_on_thread:_emscripten_set_keypress_callback_on_thread,emscripten_set_keyup_callback_on_thread:_emscripten_set_keyup_callback_on_thread,emscripten_set_main_loop:_emscripten_set_main_loop,emscripten_set_main_loop_arg:_emscripten_set_main_loop_arg,emscripten_set_main_loop_expected_blockers:_emscripten_set_main_loop_expected_blockers,emscripten_set_main_loop_timing:_emscripten_set_main_loop_timing,emscripten_set_mousedown_callback_on_thread:_emscripten_set_mousedown_callback_on_thread,emscripten_set_mouseenter_callback_on_thread:_emscripten_set_mouseenter_callback_on_thread,emscripten_set_mouseleave_callback_on_thread:_emscripten_set_mouseleave_callback_on_thread,emscripten_set_mousemove_callback_on_thread:_emscripten_set_mousemove_callback_on_thread,emscripten_set_mouseout_callback_on_thread:_emscripten_set_mouseout_callback_on_thread,emscripten_set_mouseover_callback_on_thread:_emscripten_set_mouseover_callback_on_thread,emscripten_set_mouseup_callback_on_thread:_emscripten_set_mouseup_callback_on_thread,emscripten_set_orientationchange_callback_on_thread:_emscripten_set_orientationchange_callback_on_thread,emscripten_set_pointerlockchange_callback_on_thread:_emscripten_set_pointerlockchange_callback_on_thread,emscripten_set_pointerlockerror_callback_on_thread:_emscripten_set_pointerlockerror_callback_on_thread,emscripten_set_resize_callback_on_thread:_emscripten_set_resize_callback_on_thread,emscripten_set_scroll_callback_on_thread:_emscripten_set_scroll_callback_on_thread,emscripten_set_socket_close_callback:_emscripten_set_socket_close_callback,emscripten_set_socket_connection_callback:_emscripten_set_socket_connection_callback,emscripten_set_socket_error_callback:_emscripten_set_socket_error_callback,emscripten_set_socket_listen_callback:_emscripten_set_socket_listen_callback,emscripten_set_socket_message_callback:_emscripten_set_socket_message_callback,emscripten_set_socket_open_callback:_emscripten_set_socket_open_callback,emscripten_set_timeout:_emscripten_set_timeout,emscripten_set_timeout_loop:_emscripten_set_timeout_loop,emscripten_set_touchcancel_callback_on_thread:_emscripten_set_touchcancel_callback_on_thread,emscripten_set_touchend_callback_on_thread:_emscripten_set_touchend_callback_on_thread,emscripten_set_touchmove_callback_on_thread:_emscripten_set_touchmove_callback_on_thread,emscripten_set_touchstart_callback_on_thread:_emscripten_set_touchstart_callback_on_thread,emscripten_set_visibilitychange_callback_on_thread:_emscripten_set_visibilitychange_callback_on_thread,emscripten_set_webglcontextlost_callback_on_thread:_emscripten_set_webglcontextlost_callback_on_thread,emscripten_set_webglcontextrestored_callback_on_thread:_emscripten_set_webglcontextrestored_callback_on_thread,emscripten_set_wheel_callback_on_thread:_emscripten_set_wheel_callback_on_thread,emscripten_set_window_title:_emscripten_set_window_title,emscripten_sleep:_emscripten_sleep,emscripten_stack_snapshot:_emscripten_stack_snapshot,emscripten_stack_unwind_buffer:_emscripten_stack_unwind_buffer,emscripten_supports_offscreencanvas:_emscripten_supports_offscreencanvas,emscripten_throw_number:_emscripten_throw_number,emscripten_throw_string:_emscripten_throw_string,emscripten_unlock_orientation:_emscripten_unlock_orientation,emscripten_unwind_to_js_event_loop:_emscripten_unwind_to_js_event_loop,emscripten_vibrate:_emscripten_vibrate,emscripten_vibrate_pattern:_emscripten_vibrate_pattern,emscripten_webgl_commit_frame:_emscripten_webgl_commit_frame,emscripten_webgl_create_context:_emscripten_webgl_create_context,emscripten_webgl_destroy_context:_emscripten_webgl_destroy_context,emscripten_webgl_do_commit_frame:_emscripten_webgl_do_commit_frame,emscripten_webgl_do_create_context:_emscripten_webgl_do_create_context,emscripten_webgl_do_get_current_context:_emscripten_webgl_do_get_current_context,emscripten_webgl_enable_ANGLE_instanced_arrays:_emscripten_webgl_enable_ANGLE_instanced_arrays,emscripten_webgl_enable_EXT_clip_control:_emscripten_webgl_enable_EXT_clip_control,emscripten_webgl_enable_EXT_polygon_offset_clamp:_emscripten_webgl_enable_EXT_polygon_offset_clamp,emscripten_webgl_enable_OES_vertex_array_object:_emscripten_webgl_enable_OES_vertex_array_object,emscripten_webgl_enable_WEBGL_draw_buffers:_emscripten_webgl_enable_WEBGL_draw_buffers,emscripten_webgl_enable_WEBGL_multi_draw:_emscripten_webgl_enable_WEBGL_multi_draw,emscripten_webgl_enable_WEBGL_polygon_mode:_emscripten_webgl_enable_WEBGL_polygon_mode,emscripten_webgl_enable_extension:_emscripten_webgl_enable_extension,emscripten_webgl_get_context_attributes:_emscripten_webgl_get_context_attributes,emscripten_webgl_get_current_context:_emscripten_webgl_get_current_context,emscripten_webgl_get_drawing_buffer_size:_emscripten_webgl_get_drawing_buffer_size,emscripten_webgl_get_parameter_d:_emscripten_webgl_get_parameter_d,emscripten_webgl_get_parameter_i64v:_emscripten_webgl_get_parameter_i64v,emscripten_webgl_get_parameter_o:_emscripten_webgl_get_parameter_o,emscripten_webgl_get_parameter_utf8:_emscripten_webgl_get_parameter_utf8,emscripten_webgl_get_parameter_v:_emscripten_webgl_get_parameter_v,emscripten_webgl_get_program_info_log_utf8:_emscripten_webgl_get_program_info_log_utf8,emscripten_webgl_get_program_parameter_d:_emscripten_webgl_get_program_parameter_d,emscripten_webgl_get_shader_info_log_utf8:_emscripten_webgl_get_shader_info_log_utf8,emscripten_webgl_get_shader_parameter_d:_emscripten_webgl_get_shader_parameter_d,emscripten_webgl_get_shader_source_utf8:_emscripten_webgl_get_shader_source_utf8,emscripten_webgl_get_supported_extensions:_emscripten_webgl_get_supported_extensions,emscripten_webgl_get_uniform_d:_emscripten_webgl_get_uniform_d,emscripten_webgl_get_uniform_v:_emscripten_webgl_get_uniform_v,emscripten_webgl_get_vertex_attrib_d:_emscripten_webgl_get_vertex_attrib_d,emscripten_webgl_get_vertex_attrib_o:_emscripten_webgl_get_vertex_attrib_o,emscripten_webgl_get_vertex_attrib_v:_emscripten_webgl_get_vertex_attrib_v,emscripten_webgl_make_context_current:_emscripten_webgl_make_context_current,emscripten_wget_data:_emscripten_wget_data,endprotoent:_endprotoent,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_pread:_fd_pread,fd_pwrite:_fd_pwrite,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,filledEllipseColor:_filledEllipseColor,filledEllipseRGBA:_filledEllipseRGBA,getaddrinfo:_getaddrinfo,getnameinfo:_getnameinfo,getprotobyname:_getprotobyname,getprotobynumber:_getprotobynumber,getprotoent:_getprotoent,glActiveTexture:_glActiveTexture,glAttachShader:_glAttachShader,glBegin:_glBegin,glBeginQueryEXT:_glBeginQueryEXT,glBindAttribLocation:_glBindAttribLocation,glBindBuffer:_glBindBuffer,glBindFramebuffer:_glBindFramebuffer,glBindRenderbuffer:_glBindRenderbuffer,glBindTexture:_glBindTexture,glBindVertexArray:_glBindVertexArray,glBindVertexArrayOES:_glBindVertexArrayOES,glBlendColor:_glBlendColor,glBlendEquation:_glBlendEquation,glBlendEquationSeparate:_glBlendEquationSeparate,glBlendFunc:_glBlendFunc,glBlendFuncSeparate:_glBlendFuncSeparate,glBufferData:_glBufferData,glBufferSubData:_glBufferSubData,glCheckFramebufferStatus:_glCheckFramebufferStatus,glClear:_glClear,glClearColor:_glClearColor,glClearDepth:_glClearDepth,glClearDepthf:_glClearDepthf,glClearStencil:_glClearStencil,glClipControlEXT:_glClipControlEXT,glColorMask:_glColorMask,glCompileShader:_glCompileShader,glCompressedTexImage2D:_glCompressedTexImage2D,glCompressedTexSubImage2D:_glCompressedTexSubImage2D,glCopyTexImage2D:_glCopyTexImage2D,glCopyTexSubImage2D:_glCopyTexSubImage2D,glCreateProgram:_glCreateProgram,glCreateShader:_glCreateShader,glCullFace:_glCullFace,glDeleteBuffers:_glDeleteBuffers,glDeleteFramebuffers:_glDeleteFramebuffers,glDeleteProgram:_glDeleteProgram,glDeleteQueriesEXT:_glDeleteQueriesEXT,glDeleteRenderbuffers:_glDeleteRenderbuffers,glDeleteShader:_glDeleteShader,glDeleteTextures:_glDeleteTextures,glDeleteVertexArrays:_glDeleteVertexArrays,glDeleteVertexArraysOES:_glDeleteVertexArraysOES,glDepthFunc:_glDepthFunc,glDepthMask:_glDepthMask,glDepthRange:_glDepthRange,glDepthRangef:_glDepthRangef,glDetachShader:_glDetachShader,glDisable:_glDisable,glDisableVertexAttribArray:_glDisableVertexAttribArray,glDrawArrays:_glDrawArrays,glDrawArraysInstanced:_glDrawArraysInstanced,glDrawArraysInstancedANGLE:_glDrawArraysInstancedANGLE,glDrawArraysInstancedARB:_glDrawArraysInstancedARB,glDrawArraysInstancedEXT:_glDrawArraysInstancedEXT,glDrawArraysInstancedNV:_glDrawArraysInstancedNV,glDrawBuffers:_glDrawBuffers,glDrawBuffersEXT:_glDrawBuffersEXT,glDrawBuffersWEBGL:_glDrawBuffersWEBGL,glDrawElements:_glDrawElements,glDrawElementsInstanced:_glDrawElementsInstanced,glDrawElementsInstancedANGLE:_glDrawElementsInstancedANGLE,glDrawElementsInstancedARB:_glDrawElementsInstancedARB,glDrawElementsInstancedEXT:_glDrawElementsInstancedEXT,glDrawElementsInstancedNV:_glDrawElementsInstancedNV,glEnable:_glEnable,glEnableVertexAttribArray:_glEnableVertexAttribArray,glEndQueryEXT:_glEndQueryEXT,glFinish:_glFinish,glFlush:_glFlush,glFramebufferRenderbuffer:_glFramebufferRenderbuffer,glFramebufferTexture2D:_glFramebufferTexture2D,glFrontFace:_glFrontFace,glGenBuffers:_glGenBuffers,glGenFramebuffers:_glGenFramebuffers,glGenQueriesEXT:_glGenQueriesEXT,glGenRenderbuffers:_glGenRenderbuffers,glGenTextures:_glGenTextures,glGenVertexArrays:_glGenVertexArrays,glGenVertexArraysOES:_glGenVertexArraysOES,glGenerateMipmap:_glGenerateMipmap,glGetActiveAttrib:_glGetActiveAttrib,glGetActiveUniform:_glGetActiveUniform,glGetAttachedShaders:_glGetAttachedShaders,glGetAttribLocation:_glGetAttribLocation,glGetBooleanv:_glGetBooleanv,glGetBufferParameteriv:_glGetBufferParameteriv,glGetError:_glGetError,glGetFloatv:_glGetFloatv,glGetFramebufferAttachmentParameteriv:_glGetFramebufferAttachmentParameteriv,glGetIntegerv:_glGetIntegerv,glGetProgramInfoLog:_glGetProgramInfoLog,glGetProgramiv:_glGetProgramiv,glGetQueryObjecti64vEXT:_glGetQueryObjecti64vEXT,glGetQueryObjectivEXT:_glGetQueryObjectivEXT,glGetQueryObjectui64vEXT:_glGetQueryObjectui64vEXT,glGetQueryObjectuivEXT:_glGetQueryObjectuivEXT,glGetQueryivEXT:_glGetQueryivEXT,glGetRenderbufferParameteriv:_glGetRenderbufferParameteriv,glGetShaderInfoLog:_glGetShaderInfoLog,glGetShaderPrecisionFormat:_glGetShaderPrecisionFormat,glGetShaderSource:_glGetShaderSource,glGetShaderiv:_glGetShaderiv,glGetString:_glGetString,glGetTexParameterfv:_glGetTexParameterfv,glGetTexParameteriv:_glGetTexParameteriv,glGetUniformLocation:_glGetUniformLocation,glGetUniformfv:_glGetUniformfv,glGetUniformiv:_glGetUniformiv,glGetVertexAttribPointerv:_glGetVertexAttribPointerv,glGetVertexAttribfv:_glGetVertexAttribfv,glGetVertexAttribiv:_glGetVertexAttribiv,glHint:_glHint,glIsBuffer:_glIsBuffer,glIsEnabled:_glIsEnabled,glIsFramebuffer:_glIsFramebuffer,glIsProgram:_glIsProgram,glIsQueryEXT:_glIsQueryEXT,glIsRenderbuffer:_glIsRenderbuffer,glIsShader:_glIsShader,glIsTexture:_glIsTexture,glIsVertexArray:_glIsVertexArray,glIsVertexArrayOES:_glIsVertexArrayOES,glLineWidth:_glLineWidth,glLinkProgram:_glLinkProgram,glLoadIdentity:_glLoadIdentity,glMatrixMode:_glMatrixMode,glMultiDrawArrays:_glMultiDrawArrays,glMultiDrawArraysANGLE:_glMultiDrawArraysANGLE,glMultiDrawArraysInstancedANGLE:_glMultiDrawArraysInstancedANGLE,glMultiDrawArraysInstancedWEBGL:_glMultiDrawArraysInstancedWEBGL,glMultiDrawArraysWEBGL:_glMultiDrawArraysWEBGL,glMultiDrawElements:_glMultiDrawElements,glMultiDrawElementsANGLE:_glMultiDrawElementsANGLE,glMultiDrawElementsInstancedANGLE:_glMultiDrawElementsInstancedANGLE,glMultiDrawElementsInstancedWEBGL:_glMultiDrawElementsInstancedWEBGL,glMultiDrawElementsWEBGL:_glMultiDrawElementsWEBGL,glPixelStorei:_glPixelStorei,glPolygonModeWEBGL:_glPolygonModeWEBGL,glPolygonOffset:_glPolygonOffset,glPolygonOffsetClampEXT:_glPolygonOffsetClampEXT,glQueryCounterEXT:_glQueryCounterEXT,glReadPixels:_glReadPixels,glReleaseShaderCompiler:_glReleaseShaderCompiler,glRenderbufferStorage:_glRenderbufferStorage,glSampleCoverage:_glSampleCoverage,glScissor:_glScissor,glShaderBinary:_glShaderBinary,glShaderSource:_glShaderSource,glStencilFunc:_glStencilFunc,glStencilFuncSeparate:_glStencilFuncSeparate,glStencilMask:_glStencilMask,glStencilMaskSeparate:_glStencilMaskSeparate,glStencilOp:_glStencilOp,glStencilOpSeparate:_glStencilOpSeparate,glTexImage2D:_glTexImage2D,glTexParameterf:_glTexParameterf,glTexParameterfv:_glTexParameterfv,glTexParameteri:_glTexParameteri,glTexParameteriv:_glTexParameteriv,glTexSubImage2D:_glTexSubImage2D,glUniform1f:_glUniform1f,glUniform1fv:_glUniform1fv,glUniform1i:_glUniform1i,glUniform1iv:_glUniform1iv,glUniform2f:_glUniform2f,glUniform2fv:_glUniform2fv,glUniform2i:_glUniform2i,glUniform2iv:_glUniform2iv,glUniform3f:_glUniform3f,glUniform3fv:_glUniform3fv,glUniform3i:_glUniform3i,glUniform3iv:_glUniform3iv,glUniform4f:_glUniform4f,glUniform4fv:_glUniform4fv,glUniform4i:_glUniform4i,glUniform4iv:_glUniform4iv,glUniformMatrix2fv:_glUniformMatrix2fv,glUniformMatrix3fv:_glUniformMatrix3fv,glUniformMatrix4fv:_glUniformMatrix4fv,glUseProgram:_glUseProgram,glValidateProgram:_glValidateProgram,glVertexAttrib1f:_glVertexAttrib1f,glVertexAttrib1fv:_glVertexAttrib1fv,glVertexAttrib2f:_glVertexAttrib2f,glVertexAttrib2fv:_glVertexAttrib2fv,glVertexAttrib3f:_glVertexAttrib3f,glVertexAttrib3fv:_glVertexAttrib3fv,glVertexAttrib4f:_glVertexAttrib4f,glVertexAttrib4fv:_glVertexAttrib4fv,glVertexAttribDivisor:_glVertexAttribDivisor,glVertexAttribDivisorANGLE:_glVertexAttribDivisorANGLE,glVertexAttribDivisorARB:_glVertexAttribDivisorARB,glVertexAttribDivisorEXT:_glVertexAttribDivisorEXT,glVertexAttribDivisorNV:_glVertexAttribDivisorNV,glVertexAttribPointer:_glVertexAttribPointer,glVertexPointer:_glVertexPointer,glViewport:_glViewport,glewGetErrorString:_glewGetErrorString,glewGetExtension:_glewGetExtension,glewGetString:_glewGetString,glewInit:_glewInit,glewIsSupported:_glewIsSupported,glutCreateWindow:_glutCreateWindow,glutDestroyWindow:_glutDestroyWindow,glutDisplayFunc:_glutDisplayFunc,glutFullScreen:_glutFullScreen,glutGet:_glutGet,glutGetModifiers:_glutGetModifiers,glutIdleFunc:_glutIdleFunc,glutInit:_glutInit,glutInitDisplayMode:_glutInitDisplayMode,glutInitWindowPosition:_glutInitWindowPosition,glutInitWindowSize:_glutInitWindowSize,glutKeyboardFunc:_glutKeyboardFunc,glutKeyboardUpFunc:_glutKeyboardUpFunc,glutMainLoop:_glutMainLoop,glutMotionFunc:_glutMotionFunc,glutMouseFunc:_glutMouseFunc,glutPassiveMotionFunc:_glutPassiveMotionFunc,glutPositionWindow:_glutPositionWindow,glutPostRedisplay:_glutPostRedisplay,glutReshapeFunc:_glutReshapeFunc,glutReshapeWindow:_glutReshapeWindow,glutSetCursor:_glutSetCursor,glutSpecialFunc:_glutSpecialFunc,glutSpecialUpFunc:_glutSpecialUpFunc,glutSwapBuffers:_glutSwapBuffers,glutTimerFunc:_glutTimerFunc,ipp:_ipp,ipp_async:_ipp_async,ippipppp:_ippipppp,ippipppp_async:_ippipppp_async,ippp:_ippp,ippp_async:_ippp_async,ipppi:_ipppi,ipppi_async:_ipppi_async,ipppiii:_ipppiii,ipppiii_async:_ipppiii_async,ipppiiip:_ipppiiip,ipppiiip_async:_ipppiiip_async,ipppip:_ipppip,ipppip_async:_ipppip_async,ipppj:_ipppj,ipppj_async:_ipppj_async,ipppp:_ipppp,ipppp_async:_ipppp_async,ippppi:_ippppi,ippppi_async:_ippppi_async,ippppij:_ippppij,ippppij_async:_ippppij_async,ippppip:_ippppip,ippppip_async:_ippppip_async,ipppppip:_ipppppip,ipppppip_async:_ipppppip_async,lineColor:_lineColor,lineRGBA:_lineRGBA,llvm_eh_typeid_for:_llvm_eh_typeid_for,memory:wasmMemory,pixelRGBA:_pixelRGBA,proc_exit:_proc_exit,random_get:_random_get,rectangleColor:_rectangleColor,rectangleRGBA:_rectangleRGBA,rotozoomSurface:_rotozoomSurface,setNetworkCallback:_setNetworkCallback,setprotoent:_setprotoent,stackAlloc:_stackAlloc,stackRestore:_stackRestore,stackSave:_stackSave,strptime:_strptime,strptime_l:_strptime_l,uuid_clear:_uuid_clear,uuid_compare:_uuid_compare,uuid_copy:_uuid_copy,uuid_generate:_uuid_generate,uuid_is_null:_uuid_is_null,uuid_parse:_uuid_parse,uuid_type:_uuid_type,uuid_unparse:_uuid_unparse,uuid_unparse_lower:_uuid_unparse_lower,uuid_unparse_upper:_uuid_unparse_upper,uuid_variant:_uuid_variant,vppippii:_vppippii,vppippii_async:_vppippii_async,vppp:_vppp,vppp_async:_vppp_async,vpppip:_vpppip,vpppip_async:_vpppip_async,zoomSurface:_zoomSurface};var wasmExports=await createWasm();var ___wasm_call_ctors=wasmExports["__wasm_call_ctors"];var _sqlite3_status64=Module["_sqlite3_status64"]=wasmExports["sqlite3_status64"];var _sqlite3_status=Module["_sqlite3_status"]=wasmExports["sqlite3_status"];var _sqlite3_db_status=Module["_sqlite3_db_status"]=wasmExports["sqlite3_db_status"];var _sqlite3_msize=Module["_sqlite3_msize"]=wasmExports["sqlite3_msize"];var _sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=wasmExports["sqlite3_vfs_find"];var _sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=wasmExports["sqlite3_vfs_register"];var _sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=wasmExports["sqlite3_vfs_unregister"];var _sqlite3_release_memory=Module["_sqlite3_release_memory"]=wasmExports["sqlite3_release_memory"];var _sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=wasmExports["sqlite3_soft_heap_limit64"];var _sqlite3_memory_used=Module["_sqlite3_memory_used"]=wasmExports["sqlite3_memory_used"];var _sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=wasmExports["sqlite3_hard_heap_limit64"];var _sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=wasmExports["sqlite3_memory_highwater"];var _sqlite3_malloc=Module["_sqlite3_malloc"]=wasmExports["sqlite3_malloc"];var _sqlite3_malloc64=Module["_sqlite3_malloc64"]=wasmExports["sqlite3_malloc64"];var _sqlite3_free=Module["_sqlite3_free"]=wasmExports["sqlite3_free"];var _sqlite3_realloc=Module["_sqlite3_realloc"]=wasmExports["sqlite3_realloc"];var _sqlite3_realloc64=Module["_sqlite3_realloc64"]=wasmExports["sqlite3_realloc64"];var _sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=wasmExports["sqlite3_str_vappendf"];var _sqlite3_str_append=Module["_sqlite3_str_append"]=wasmExports["sqlite3_str_append"];var _sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=wasmExports["sqlite3_str_appendchar"];var _sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=wasmExports["sqlite3_str_appendall"];var _sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=wasmExports["sqlite3_str_appendf"];var _sqlite3_str_finish=Module["_sqlite3_str_finish"]=wasmExports["sqlite3_str_finish"];var _sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=wasmExports["sqlite3_str_errcode"];var _sqlite3_str_length=Module["_sqlite3_str_length"]=wasmExports["sqlite3_str_length"];var _sqlite3_str_value=Module["_sqlite3_str_value"]=wasmExports["sqlite3_str_value"];var _sqlite3_str_reset=Module["_sqlite3_str_reset"]=wasmExports["sqlite3_str_reset"];var _sqlite3_str_new=Module["_sqlite3_str_new"]=wasmExports["sqlite3_str_new"];var _sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=wasmExports["sqlite3_vmprintf"];var _sqlite3_mprintf=Module["_sqlite3_mprintf"]=wasmExports["sqlite3_mprintf"];var _sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=wasmExports["sqlite3_vsnprintf"];var _sqlite3_snprintf=Module["_sqlite3_snprintf"]=wasmExports["sqlite3_snprintf"];var _sqlite3_log=Module["_sqlite3_log"]=wasmExports["sqlite3_log"];var _sqlite3_randomness=Module["_sqlite3_randomness"]=wasmExports["sqlite3_randomness"];var _sqlite3_stricmp=Module["_sqlite3_stricmp"]=wasmExports["sqlite3_stricmp"];var _sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=wasmExports["sqlite3_strnicmp"];var _sqlite3_os_init=Module["_sqlite3_os_init"]=wasmExports["sqlite3_os_init"];var _sqlite3_os_end=Module["_sqlite3_os_end"]=wasmExports["sqlite3_os_end"];var _sqlite3_serialize=Module["_sqlite3_serialize"]=wasmExports["sqlite3_serialize"];var _sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=wasmExports["sqlite3_prepare_v2"];var _sqlite3_step=Module["_sqlite3_step"]=wasmExports["sqlite3_step"];var _sqlite3_column_int64=Module["_sqlite3_column_int64"]=wasmExports["sqlite3_column_int64"];var _sqlite3_reset=Module["_sqlite3_reset"]=wasmExports["sqlite3_reset"];var _sqlite3_exec=Module["_sqlite3_exec"]=wasmExports["sqlite3_exec"];var _sqlite3_column_int=Module["_sqlite3_column_int"]=wasmExports["sqlite3_column_int"];var _sqlite3_finalize=Module["_sqlite3_finalize"]=wasmExports["sqlite3_finalize"];var _sqlite3_deserialize=Module["_sqlite3_deserialize"]=wasmExports["sqlite3_deserialize"];var _sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=wasmExports["sqlite3_database_file_object"];var _sqlite3_backup_init=Module["_sqlite3_backup_init"]=wasmExports["sqlite3_backup_init"];var _sqlite3_backup_step=Module["_sqlite3_backup_step"]=wasmExports["sqlite3_backup_step"];var _sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=wasmExports["sqlite3_backup_finish"];var _sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=wasmExports["sqlite3_backup_remaining"];var _sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=wasmExports["sqlite3_backup_pagecount"];var _sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=wasmExports["sqlite3_clear_bindings"];var _sqlite3_value_blob=Module["_sqlite3_value_blob"]=wasmExports["sqlite3_value_blob"];var _sqlite3_value_text=Module["_sqlite3_value_text"]=wasmExports["sqlite3_value_text"];var _sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=wasmExports["sqlite3_value_bytes"];var _sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=wasmExports["sqlite3_value_bytes16"];var _sqlite3_value_double=Module["_sqlite3_value_double"]=wasmExports["sqlite3_value_double"];var _sqlite3_value_int=Module["_sqlite3_value_int"]=wasmExports["sqlite3_value_int"];var _sqlite3_value_int64=Module["_sqlite3_value_int64"]=wasmExports["sqlite3_value_int64"];var _sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=wasmExports["sqlite3_value_subtype"];var _sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=wasmExports["sqlite3_value_pointer"];var _sqlite3_value_text16=Module["_sqlite3_value_text16"]=wasmExports["sqlite3_value_text16"];var _sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=wasmExports["sqlite3_value_text16be"];var _sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=wasmExports["sqlite3_value_text16le"];var _sqlite3_value_type=Module["_sqlite3_value_type"]=wasmExports["sqlite3_value_type"];var _sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=wasmExports["sqlite3_value_encoding"];var _sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=wasmExports["sqlite3_value_nochange"];var _sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=wasmExports["sqlite3_value_frombind"];var _sqlite3_value_dup=Module["_sqlite3_value_dup"]=wasmExports["sqlite3_value_dup"];var _sqlite3_value_free=Module["_sqlite3_value_free"]=wasmExports["sqlite3_value_free"];var _sqlite3_result_blob=Module["_sqlite3_result_blob"]=wasmExports["sqlite3_result_blob"];var _sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=wasmExports["sqlite3_result_blob64"];var _sqlite3_result_double=Module["_sqlite3_result_double"]=wasmExports["sqlite3_result_double"];var _sqlite3_result_error=Module["_sqlite3_result_error"]=wasmExports["sqlite3_result_error"];var _sqlite3_result_error16=Module["_sqlite3_result_error16"]=wasmExports["sqlite3_result_error16"];var _sqlite3_result_int=Module["_sqlite3_result_int"]=wasmExports["sqlite3_result_int"];var _sqlite3_result_int64=Module["_sqlite3_result_int64"]=wasmExports["sqlite3_result_int64"];var _sqlite3_result_null=Module["_sqlite3_result_null"]=wasmExports["sqlite3_result_null"];var _sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=wasmExports["sqlite3_result_pointer"];var _sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=wasmExports["sqlite3_result_subtype"];var _sqlite3_result_text=Module["_sqlite3_result_text"]=wasmExports["sqlite3_result_text"];var _sqlite3_result_text64=Module["_sqlite3_result_text64"]=wasmExports["sqlite3_result_text64"];var _sqlite3_result_text16=Module["_sqlite3_result_text16"]=wasmExports["sqlite3_result_text16"];var _sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=wasmExports["sqlite3_result_text16be"];var _sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=wasmExports["sqlite3_result_text16le"];var _sqlite3_result_value=Module["_sqlite3_result_value"]=wasmExports["sqlite3_result_value"];var _sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=wasmExports["sqlite3_result_error_toobig"];var _sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=wasmExports["sqlite3_result_zeroblob"];var _sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=wasmExports["sqlite3_result_zeroblob64"];var _sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=wasmExports["sqlite3_result_error_code"];var _sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=wasmExports["sqlite3_result_error_nomem"];var _sqlite3_user_data=Module["_sqlite3_user_data"]=wasmExports["sqlite3_user_data"];var _sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=wasmExports["sqlite3_context_db_handle"];var _sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=wasmExports["sqlite3_vtab_nochange"];var _sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=wasmExports["sqlite3_vtab_in_first"];var _sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=wasmExports["sqlite3_vtab_in_next"];var _sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=wasmExports["sqlite3_aggregate_context"];var _sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=wasmExports["sqlite3_get_auxdata"];var _sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=wasmExports["sqlite3_set_auxdata"];var _sqlite3_column_count=Module["_sqlite3_column_count"]=wasmExports["sqlite3_column_count"];var _sqlite3_data_count=Module["_sqlite3_data_count"]=wasmExports["sqlite3_data_count"];var _sqlite3_column_blob=Module["_sqlite3_column_blob"]=wasmExports["sqlite3_column_blob"];var _sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=wasmExports["sqlite3_column_bytes"];var _sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=wasmExports["sqlite3_column_bytes16"];var _sqlite3_column_double=Module["_sqlite3_column_double"]=wasmExports["sqlite3_column_double"];var _sqlite3_column_text=Module["_sqlite3_column_text"]=wasmExports["sqlite3_column_text"];var _sqlite3_column_value=Module["_sqlite3_column_value"]=wasmExports["sqlite3_column_value"];var _sqlite3_column_text16=Module["_sqlite3_column_text16"]=wasmExports["sqlite3_column_text16"];var _sqlite3_column_type=Module["_sqlite3_column_type"]=wasmExports["sqlite3_column_type"];var _sqlite3_column_name=Module["_sqlite3_column_name"]=wasmExports["sqlite3_column_name"];var _sqlite3_column_name16=Module["_sqlite3_column_name16"]=wasmExports["sqlite3_column_name16"];var _sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=wasmExports["sqlite3_bind_blob"];var _sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=wasmExports["sqlite3_bind_blob64"];var _sqlite3_bind_double=Module["_sqlite3_bind_double"]=wasmExports["sqlite3_bind_double"];var _sqlite3_bind_int=Module["_sqlite3_bind_int"]=wasmExports["sqlite3_bind_int"];var _sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=wasmExports["sqlite3_bind_int64"];var _sqlite3_bind_null=Module["_sqlite3_bind_null"]=wasmExports["sqlite3_bind_null"];var _sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=wasmExports["sqlite3_bind_pointer"];var _sqlite3_bind_text=Module["_sqlite3_bind_text"]=wasmExports["sqlite3_bind_text"];var _sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=wasmExports["sqlite3_bind_text64"];var _sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=wasmExports["sqlite3_bind_text16"];var _sqlite3_bind_value=Module["_sqlite3_bind_value"]=wasmExports["sqlite3_bind_value"];var _sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=wasmExports["sqlite3_bind_zeroblob"];var _sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=wasmExports["sqlite3_bind_zeroblob64"];var _sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=wasmExports["sqlite3_bind_parameter_count"];var _sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=wasmExports["sqlite3_bind_parameter_name"];var _sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=wasmExports["sqlite3_bind_parameter_index"];var _sqlite3_db_handle=Module["_sqlite3_db_handle"]=wasmExports["sqlite3_db_handle"];var _sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=wasmExports["sqlite3_stmt_readonly"];var _sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=wasmExports["sqlite3_stmt_isexplain"];var _sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=wasmExports["sqlite3_stmt_explain"];var _sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=wasmExports["sqlite3_stmt_busy"];var _sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=wasmExports["sqlite3_next_stmt"];var _sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=wasmExports["sqlite3_stmt_status"];var _sqlite3_sql=Module["_sqlite3_sql"]=wasmExports["sqlite3_sql"];var _sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=wasmExports["sqlite3_expanded_sql"];var _sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=wasmExports["sqlite3_value_numeric_type"];var _sqlite3_blob_open=Module["_sqlite3_blob_open"]=wasmExports["sqlite3_blob_open"];var _sqlite3_blob_close=Module["_sqlite3_blob_close"]=wasmExports["sqlite3_blob_close"];var _sqlite3_blob_read=Module["_sqlite3_blob_read"]=wasmExports["sqlite3_blob_read"];var _sqlite3_blob_write=Module["_sqlite3_blob_write"]=wasmExports["sqlite3_blob_write"];var _sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=wasmExports["sqlite3_blob_bytes"];var _sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=wasmExports["sqlite3_blob_reopen"];var _sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=wasmExports["sqlite3_set_authorizer"];var _sqlite3_strglob=Module["_sqlite3_strglob"]=wasmExports["sqlite3_strglob"];var _sqlite3_strlike=Module["_sqlite3_strlike"]=wasmExports["sqlite3_strlike"];var _sqlite3_errmsg=Module["_sqlite3_errmsg"]=wasmExports["sqlite3_errmsg"];var _sqlite3_load_extension=Module["_sqlite3_load_extension"]=wasmExports["sqlite3_load_extension"];var _sqlite3_enable_load_extension=Module["_sqlite3_enable_load_extension"]=wasmExports["sqlite3_enable_load_extension"];var _sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=wasmExports["sqlite3_auto_extension"];var _sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=wasmExports["sqlite3_cancel_auto_extension"];var _sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=wasmExports["sqlite3_reset_auto_extension"];var _sqlite3_prepare=Module["_sqlite3_prepare"]=wasmExports["sqlite3_prepare"];var _sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=wasmExports["sqlite3_prepare_v3"];var _sqlite3_prepare16=Module["_sqlite3_prepare16"]=wasmExports["sqlite3_prepare16"];var _sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=wasmExports["sqlite3_prepare16_v2"];var _sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=wasmExports["sqlite3_prepare16_v3"];var _sqlite3_get_table=Module["_sqlite3_get_table"]=wasmExports["sqlite3_get_table"];var _sqlite3_free_table=Module["_sqlite3_free_table"]=wasmExports["sqlite3_free_table"];var _sqlite3_create_module=Module["_sqlite3_create_module"]=wasmExports["sqlite3_create_module"];var _sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=wasmExports["sqlite3_create_module_v2"];var _sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=wasmExports["sqlite3_drop_modules"];var _sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=wasmExports["sqlite3_declare_vtab"];var _sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=wasmExports["sqlite3_vtab_on_conflict"];var _sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=wasmExports["sqlite3_vtab_config"];var _sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=wasmExports["sqlite3_vtab_collation"];var _sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=wasmExports["sqlite3_vtab_in"];var _sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=wasmExports["sqlite3_vtab_rhs_value"];var _sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=wasmExports["sqlite3_vtab_distinct"];var _sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=wasmExports["sqlite3_keyword_name"];var _sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=wasmExports["sqlite3_keyword_count"];var _sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=wasmExports["sqlite3_keyword_check"];var _sqlite3_complete=Module["_sqlite3_complete"]=wasmExports["sqlite3_complete"];var _sqlite3_complete16=Module["_sqlite3_complete16"]=wasmExports["sqlite3_complete16"];var _sqlite3_libversion=Module["_sqlite3_libversion"]=wasmExports["sqlite3_libversion"];var _sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=wasmExports["sqlite3_libversion_number"];var _sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=wasmExports["sqlite3_threadsafe"];var _sqlite3_initialize=Module["_sqlite3_initialize"]=wasmExports["sqlite3_initialize"];var _sqlite3_shutdown=Module["_sqlite3_shutdown"]=wasmExports["sqlite3_shutdown"];var _sqlite3_config=Module["_sqlite3_config"]=wasmExports["sqlite3_config"];var _sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=wasmExports["sqlite3_db_mutex"];var _sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=wasmExports["sqlite3_db_release_memory"];var _sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=wasmExports["sqlite3_db_cacheflush"];var _sqlite3_db_config=Module["_sqlite3_db_config"]=wasmExports["sqlite3_db_config"];var _sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=wasmExports["sqlite3_last_insert_rowid"];var _sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=wasmExports["sqlite3_set_last_insert_rowid"];var _sqlite3_changes64=Module["_sqlite3_changes64"]=wasmExports["sqlite3_changes64"];var _sqlite3_changes=Module["_sqlite3_changes"]=wasmExports["sqlite3_changes"];var _sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=wasmExports["sqlite3_total_changes64"];var _sqlite3_total_changes=Module["_sqlite3_total_changes"]=wasmExports["sqlite3_total_changes"];var _sqlite3_txn_state=Module["_sqlite3_txn_state"]=wasmExports["sqlite3_txn_state"];var _sqlite3_close=Module["_sqlite3_close"]=wasmExports["sqlite3_close"];var _sqlite3_close_v2=Module["_sqlite3_close_v2"]=wasmExports["sqlite3_close_v2"];var _sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=wasmExports["sqlite3_busy_handler"];var _sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=wasmExports["sqlite3_progress_handler"];var _sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=wasmExports["sqlite3_busy_timeout"];var _sqlite3_interrupt=Module["_sqlite3_interrupt"]=wasmExports["sqlite3_interrupt"];var _sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=wasmExports["sqlite3_is_interrupted"];var _sqlite3_create_function=Module["_sqlite3_create_function"]=wasmExports["sqlite3_create_function"];var _sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=wasmExports["sqlite3_create_function_v2"];var _sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=wasmExports["sqlite3_create_window_function"];var _sqlite3_create_function16=Module["_sqlite3_create_function16"]=wasmExports["sqlite3_create_function16"];var _sqlite3_overload_function=Module["_sqlite3_overload_function"]=wasmExports["sqlite3_overload_function"];var _sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=wasmExports["sqlite3_trace_v2"];var _sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=wasmExports["sqlite3_commit_hook"];var _sqlite3_update_hook=Module["_sqlite3_update_hook"]=wasmExports["sqlite3_update_hook"];var _sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=wasmExports["sqlite3_rollback_hook"];var _sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=wasmExports["sqlite3_autovacuum_pages"];var _sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=wasmExports["sqlite3_wal_autocheckpoint"];var _sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=wasmExports["sqlite3_wal_hook"];var _sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=wasmExports["sqlite3_wal_checkpoint_v2"];var _sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=wasmExports["sqlite3_wal_checkpoint"];var _sqlite3_error_offset=Module["_sqlite3_error_offset"]=wasmExports["sqlite3_error_offset"];var _sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=wasmExports["sqlite3_errmsg16"];var _sqlite3_errcode=Module["_sqlite3_errcode"]=wasmExports["sqlite3_errcode"];var _sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=wasmExports["sqlite3_extended_errcode"];var _sqlite3_system_errno=Module["_sqlite3_system_errno"]=wasmExports["sqlite3_system_errno"];var _sqlite3_errstr=Module["_sqlite3_errstr"]=wasmExports["sqlite3_errstr"];var _sqlite3_limit=Module["_sqlite3_limit"]=wasmExports["sqlite3_limit"];var _sqlite3_open=Module["_sqlite3_open"]=wasmExports["sqlite3_open"];var _sqlite3_open_v2=Module["_sqlite3_open_v2"]=wasmExports["sqlite3_open_v2"];var _sqlite3_open16=Module["_sqlite3_open16"]=wasmExports["sqlite3_open16"];var _sqlite3_create_collation=Module["_sqlite3_create_collation"]=wasmExports["sqlite3_create_collation"];var _sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=wasmExports["sqlite3_create_collation_v2"];var _sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=wasmExports["sqlite3_create_collation16"];var _sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=wasmExports["sqlite3_collation_needed"];var _sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=wasmExports["sqlite3_collation_needed16"];var _sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=wasmExports["sqlite3_get_clientdata"];var _sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=wasmExports["sqlite3_set_clientdata"];var _sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=wasmExports["sqlite3_get_autocommit"];var _sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=wasmExports["sqlite3_table_column_metadata"];var _sqlite3_sleep=Module["_sqlite3_sleep"]=wasmExports["sqlite3_sleep"];var _sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=wasmExports["sqlite3_extended_result_codes"];var _sqlite3_file_control=Module["_sqlite3_file_control"]=wasmExports["sqlite3_file_control"];var _sqlite3_test_control=Module["_sqlite3_test_control"]=wasmExports["sqlite3_test_control"];var _sqlite3_create_filename=Module["_sqlite3_create_filename"]=wasmExports["sqlite3_create_filename"];var _sqlite3_free_filename=Module["_sqlite3_free_filename"]=wasmExports["sqlite3_free_filename"];var _sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=wasmExports["sqlite3_uri_parameter"];var _sqlite3_uri_key=Module["_sqlite3_uri_key"]=wasmExports["sqlite3_uri_key"];var _sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=wasmExports["sqlite3_uri_boolean"];var _sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=wasmExports["sqlite3_uri_int64"];var _sqlite3_filename_database=Module["_sqlite3_filename_database"]=wasmExports["sqlite3_filename_database"];var _sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=wasmExports["sqlite3_filename_journal"];var _sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=wasmExports["sqlite3_filename_wal"];var _sqlite3_db_name=Module["_sqlite3_db_name"]=wasmExports["sqlite3_db_name"];var _sqlite3_db_filename=Module["_sqlite3_db_filename"]=wasmExports["sqlite3_db_filename"];var _sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=wasmExports["sqlite3_db_readonly"];var _sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=wasmExports["sqlite3_compileoption_used"];var _sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=wasmExports["sqlite3_compileoption_get"];var _sqlite3_sourceid=Module["_sqlite3_sourceid"]=wasmExports["sqlite3_sourceid"];var _strerror=wasmExports["strerror"];var _memcmp=Module["_memcmp"]=wasmExports["memcmp"];var _malloc=Module["_malloc"]=wasmExports["malloc"];var _free=Module["_free"]=wasmExports["free"];var _realloc=wasmExports["realloc"];var _RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=wasmExports["RegisterExtensionFunctions"];var _calloc=wasmExports["calloc"];var _getSqliteFree=Module["_getSqliteFree"]=wasmExports["getSqliteFree"];var _main=Module["_main"]=wasmExports["main"];var _libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=wasmExports["libauthorizer_set_authorizer"];var _libfunction_create_function=Module["_libfunction_create_function"]=wasmExports["libfunction_create_function"];var _libhook_commit_hook=Module["_libhook_commit_hook"]=wasmExports["libhook_commit_hook"];var _libhook_update_hook=Module["_libhook_update_hook"]=wasmExports["libhook_update_hook"];var _libprogress_progress_handler=Module["_libprogress_progress_handler"]=wasmExports["libprogress_progress_handler"];var _libvfs_vfs_register=Module["_libvfs_vfs_register"]=wasmExports["libvfs_vfs_register"];var ___dl_seterr=wasmExports["__dl_seterr"];var __emscripten_find_dylib=wasmExports["_emscripten_find_dylib"];var _memcpy=Module["_memcpy"]=wasmExports["memcpy"];var _memset=Module["_memset"]=wasmExports["memset"];var _fileno=wasmExports["fileno"];var _htonl=wasmExports["htonl"];var _htons=wasmExports["htons"];var _emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"];var _ntohs=wasmExports["ntohs"];var __emscripten_timeout=wasmExports["_emscripten_timeout"];var _setThrew=wasmExports["setThrew"];var __emscripten_tempret_set=wasmExports["_emscripten_tempret_set"];var __emscripten_tempret_get=wasmExports["_emscripten_tempret_get"];var ___get_temp_ret=wasmExports["__get_temp_ret"];var ___set_temp_ret=wasmExports["__set_temp_ret"];var _emscripten_stack_set_limits=wasmExports["emscripten_stack_set_limits"];var __emscripten_stack_restore=wasmExports["_emscripten_stack_restore"];var __emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"];var _emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"];var ___cxa_demangle=wasmExports["__cxa_demangle"];var ___cxa_increment_exception_refcount=wasmExports["__cxa_increment_exception_refcount"];var ___cxa_decrement_exception_refcount=wasmExports["__cxa_decrement_exception_refcount"];var ___cxa_can_catch=wasmExports["__cxa_can_catch"];var ___cxa_get_exception_ptr=wasmExports["__cxa_get_exception_ptr"];var ___wasm_apply_data_relocs=wasmExports["__wasm_apply_data_relocs"];var _asyncify_start_unwind=wasmExports["asyncify_start_unwind"];var _asyncify_stop_unwind=wasmExports["asyncify_stop_unwind"];var _asyncify_start_rewind=wasmExports["asyncify_start_rewind"];var _asyncify_stop_rewind=wasmExports["asyncify_stop_rewind"];var _sqlite3_version=Module["_sqlite3_version"]=65489;function callMain(args=[]){var entryFunction=resolveGlobalSymbol("main").sym;if(!entryFunction)return;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args=arguments_){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}preInit();run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc,xStep,xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{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=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var dynamicLibraries=[];var wasmBinary;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var isFileURI=filename=>filename.startsWith("file://");var readyPromiseResolve,readyPromiseReject;var wasmMemory;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b)}function initMemory(){if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:32768})}updateMemoryViews()}var __RELOC_FUNCS__=[];function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__RELOC_FUNCS__);callRuntimeCallbacks(onInits);if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();SOCKFS.root=FS.mount(SOCKFS,{},null);PIPEFS.root=FS.mount(PIPEFS,{},null);wasmExports["__wasm_call_ctors"]();callRuntimeCallbacks(onPostCtors);FS.ignorePermissions=false}function preMain(){callRuntimeCallbacks(onMains)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("wa-sqlite-async-dynamic-main.wasm")}return new URL("wa-sqlite-async-dynamic-main.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=relocateExports(wasmExports,1024);wasmExports=Asyncify.instrumentWasmExports(wasmExports);var metadata=getDylinkMetadata(module);if(metadata.neededDynlibs){dynamicLibraries=metadata.neededDynlibs.concat(dynamicLibraries)}mergeLibSymbols(wasmExports,"main");LDSO.init();loadDylibs();__RELOC_FUNCS__.push(wasmExports["__wasm_apply_data_relocs"]);assignWasmExports(wasmExports);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"],result["module"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}var tempDouble;var tempI64;var asyncifyStubs={};class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var GOT={};var currentModuleWeakSymbols=new Set([]);var GOTHandler={get(obj,symName){var rtn=GOT[symName];if(!rtn){rtn=GOT[symName]=new WebAssembly.Global({value:"i32",mutable:true})}if(!currentModuleWeakSymbols.has(symName)){rtn.required=true}return rtn}};var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var dynCalls={};var dynCallLegacy=(sig,ptr,args)=>{sig=sig.replace(/p/g,"i");var f=dynCalls[sig];return f(ptr,...args)};var dynCall=(sig,ptr,args=[],promising=false)=>{var rtn=dynCallLegacy(sig,ptr,args);function convert(rtn){return rtn}return convert(rtn)};var UTF8Decoder=new TextDecoder;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heapOrArray.buffer?heapOrArray.subarray(idx,endPtr):new Uint8Array(heapOrArray.slice(idx,endPtr)))};var getDylinkMetadata=binary=>{var offset=0;var end=0;function getU8(){return binary[offset++]}function getLEB(){var ret=0;var mul=1;while(1){var byte=binary[offset++];ret+=(byte&127)*mul;mul*=128;if(!(byte&128))break}return ret}function getString(){var len=getLEB();offset+=len;return UTF8ArrayToString(binary,offset-len,len)}function getStringList(){var count=getLEB();var rtn=[];while(count--)rtn.push(getString());return rtn}function failIf(condition,message){if(condition)throw new Error(message)}if(binary instanceof WebAssembly.Module){var dylinkSection=WebAssembly.Module.customSections(binary,"dylink.0");failIf(dylinkSection.length===0,"need dylink section");binary=new Uint8Array(dylinkSection[0]);end=binary.length}else{var int32View=new Uint32Array(new Uint8Array(binary.subarray(0,24)).buffer);var magicNumberFound=int32View[0]==1836278016;failIf(!magicNumberFound,"need to see wasm magic number");failIf(binary[8]!==0,"need the dylink section to be first");offset=9;var section_size=getLEB();end=offset+section_size;var name=getString();failIf(name!=="dylink.0")}var customSection={neededDynlibs:[],tlsExports:new Set,weakImports:new Set,runtimePaths:[]};var WASM_DYLINK_MEM_INFO=1;var WASM_DYLINK_NEEDED=2;var WASM_DYLINK_EXPORT_INFO=3;var WASM_DYLINK_IMPORT_INFO=4;var WASM_DYLINK_RUNTIME_PATH=5;var WASM_SYMBOL_TLS=256;var WASM_SYMBOL_BINDING_MASK=3;var WASM_SYMBOL_BINDING_WEAK=1;while(offset>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var newDSO=(name,handle,syms)=>{var dso={refcount:Infinity,name,exports:syms,global:true};LDSO.loadedLibsByName[name]=dso;if(handle!=undefined){LDSO.loadedLibsByHandle[handle]=dso}return dso};var LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO("__main__",0,wasmImports)}};var ___heap_base=1035968;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var getMemory=size=>{if(runtimeInitialized){return _calloc(size,1)}var ret=___heap_base;var end=ret+alignMemory(size,16);___heap_base=end;GOT["__heap_base"].value=end;return ret};var isInternalSym=symName=>["__cpp_exception","__c_longjmp","__wasm_apply_data_relocs","__dso_handle","__tls_size","__tls_align","__set_stack_limits","_emscripten_tls_init","__wasm_init_tls","__wasm_call_ctors","__start_em_asm","__stop_em_asm","__start_em_js","__stop_em_js"].includes(symName)||symName.startsWith("__em_js__");var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var paramType of sigParam){target.push(typeCodes[paramType])}if(sigRet=="v"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTable=new WebAssembly.Table({initial:1857,element:"anyfunc"});var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>wasmTable.set(idx,func);var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var updateGOT=(exports,replace)=>{for(var symName in exports){if(isInternalSym(symName)){continue}var value=exports[symName];if(symName.startsWith("orig$")){symName=symName.split("$")[1];replace=true}GOT[symName]||=new WebAssembly.Global({value:"i32",mutable:true});if(replace||GOT[symName].value==0){if(typeof value=="function"){GOT[symName].value=addFunction(value)}else if(typeof value=="number"){GOT[symName].value=value}else{err(`unhandled export type for '${symName}': ${typeof value}`)}}}};var relocateExports=(exports,memoryBase,replace)=>{var relocated={};for(var e in exports){var value=exports[e];if(typeof value=="object"){value=value.value}if(typeof value=="number"){value+=memoryBase}relocated[e]=value}updateGOT(relocated,replace);return relocated};var isSymbolDefined=symName=>{var existing=wasmImports[symName];if(!existing||existing.stub){return false}if(symName in asyncifyStubs&&!asyncifyStubs[symName]){return false}return true};var stackSave=()=>_emscripten_stack_get_current();var stackRestore=val=>__emscripten_stack_restore(val);var createInvokeFunction=sig=>(ptr,...args)=>{var sp=stackSave();try{return dynCall(sig,ptr,args)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}};var resolveGlobalSymbol=(symName,direct=false)=>{var sym;if(direct&&"orig$"+symName in wasmImports){symName="orig$"+symName}if(isSymbolDefined(symName)){sym=wasmImports[symName]}else if(symName.startsWith("invoke_")){sym=wasmImports[symName]=createInvokeFunction(symName.split("_")[1])}return{sym,name:symName}};var onPostCtors=[];var addOnPostCtor=cb=>onPostCtors.push(cb);var UTF8ToString=(ptr,maxBytesToRead)=>{if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))};var loadWebAssemblyModule=(binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);currentModuleWeakSymbols=metadata.weakImports;function loadModule(){var memAlign=Math.pow(2,metadata.memoryAlign);var memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0;var tableBase=metadata.tableSize?wasmTable.length:0;if(handle){HEAP8[handle+8]=1;HEAPU32[handle+12>>2]=memoryBase;HEAP32[handle+16>>2]=metadata.memorySize;HEAPU32[handle+20>>2]=tableBase;HEAP32[handle+24>>2]=metadata.tableSize}if(metadata.tableSize){wasmTable.grow(metadata.tableSize)}var moduleExports;function resolveSymbol(sym){var resolved=resolveGlobalSymbol(sym).sym;if(!resolved&&localScope){resolved=localScope[sym]}if(!resolved){resolved=moduleExports[sym]}return resolved}var proxyHandler={get(stubs,prop){switch(prop){case"__memory_base":return memoryBase;case"__table_base":return tableBase}if(prop in wasmImports&&!wasmImports[prop].stub){var res=wasmImports[prop];if(res.orig){res=res.orig}return res}if(!(prop in stubs)){var resolved;stubs[prop]=(...args)=>{resolved||=resolveSymbol(prop);return resolved(...args)}}return stubs[prop]}};var proxy=new Proxy({},proxyHandler);var info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize);moduleExports=relocateExports(instance.exports,memoryBase);moduleExports=Asyncify.instrumentWasmExports(moduleExports);if(!flags.allowUndefined){reportUndefinedSymbols()}function addEmAsm(addr,body){var args=[];var arity=0;for(;arity<16;arity++){if(body.indexOf("$"+arity)!=-1){args.push("$"+arity)}else{break}}args=args.join(",");var func=`(${args}) => { ${body} };`;ASM_CONSTS[start]=eval(func)}if("__start_em_asm"in moduleExports){var start=moduleExports["__start_em_asm"];var stop=moduleExports["__stop_em_asm"];while(start ${body};`;moduleExports[name]=eval(func)}for(var name in moduleExports){if(name.startsWith("__em_js__")){var start=moduleExports[name];var jsString=UTF8ToString(start);var parts=jsString.split("<::>");addEmJs(name.replace("__em_js__",""),parts[0],parts[1]);delete moduleExports[name]}}var applyRelocs=moduleExports["__wasm_apply_data_relocs"];if(applyRelocs){if(runtimeInitialized){applyRelocs()}else{__RELOC_FUNCS__.push(applyRelocs)}}var init=moduleExports["__wasm_call_ctors"];if(init){if(runtimeInitialized){init()}else{addOnPostCtor(init)}}return moduleExports}if(flags.loadAsync){return(async()=>{var instance;if(binary instanceof WebAssembly.Module){instance=new WebAssembly.Instance(binary,info)}else{({module:binary,instance}=await WebAssembly.instantiate(binary,info))}return postInstantiation(binary,instance)})()}var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary);var instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}flags={...flags,rpath:{parentLibPath:libName,paths:metadata.runtimePaths}};if(flags.loadAsync){return metadata.neededDynlibs.reduce((chain,dynNeeded)=>chain.then(()=>loadDynamicLibrary(dynNeeded,flags,localScope)),Promise.resolve()).then(loadModule)}metadata.neededDynlibs.forEach(needed=>loadDynamicLibrary(needed,flags,localScope));return loadModule()};var mergeLibSymbols=(exports,libName)=>{registerDynCallSymbols(exports);for(var[sym,exp]of Object.entries(exports)){const setImport=target=>{if(target in asyncifyStubs){asyncifyStubs[target]=exp}if(!isSymbolDefined(target)){wasmImports[target]=exp}};setImport(sym)}};var asyncLoad=async url=>{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};asyncLoad.isAsync=true;var preloadPlugins=[];var registerWasmPlugin=()=>{var wasmPlugin={promiseChainEnd:Promise.resolve(),canHandle:name=>!Module["noWasmDecoding"]&&name.endsWith(".so"),handle:(byteArray,name,onload,onerror)=>{wasmPlugin["promiseChainEnd"]=wasmPlugin["promiseChainEnd"].then(()=>loadWebAssemblyModule(byteArray,{loadAsync:true,nodelete:true},name,{})).then(exports=>{preloadedWasm[name]=exports;onload(byteArray)},error=>{err(`failed to instantiate wasm: ${name}: ${error}`);onerror()})}};preloadPlugins.push(wasmPlugin)};var preloadedWasm={};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.slice(-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.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var replaceORIGIN=(parentLibName,rpath)=>{if(rpath.startsWith("$ORIGIN")){var origin=PATH.dirname(parentLibName);return rpath.replace("$ORIGIN",origin)}return rpath};var withStackSave=f=>{var stack=stackSave();var ret=f();stackRestore(stack);return ret};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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;i++}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var initRandomFill=()=>view=>crypto.getRandomValues(view);var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,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.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthFS.createDataFile(...args);var getUniqueRunDependency=id=>id;var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}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|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,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){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}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)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){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);old_node.parent=new_dir}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;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return 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 link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){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)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},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}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,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,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){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},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)}if(!length){throw new FS.ErrnoError(28)}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)},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 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"){buf=UTF8ArrayToString(buf)}FS.close(stream);return buf},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){data=new Uint8Array(intArrayFromString(data,true))}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,llseek:()=>0});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){randomFill(randomBuffer);randomLeft=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",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},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){if(e.errno!=20)throw 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;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var findLibraryFS=(libName,rpath)=>{if(!runtimeInitialized){return undefined}if(PATH.isAbs(libName)){try{FS.lookupPath(libName);return libName}catch(e){return undefined}}var rpathResolved=(rpath?.paths||[]).map(p=>replaceORIGIN(rpath?.parentLibPath,p));return withStackSave(()=>{var bufSize=2*255+2;var buf=stackAlloc(bufSize);var rpathC=stringToUTF8OnStack(rpathResolved.join(":"));var libNameC=stringToUTF8OnStack(libName);var resLibNameC=__emscripten_find_dylib(buf,rpathC,libNameC,bufSize);return resLibNameC?UTF8ToString(resLibNameC):undefined})};var registerDynCallSymbols=exports=>{for(var[sym,exp]of Object.entries(exports)){if(sym.startsWith("dynCall_")&&!Module.hasOwnProperty(sym)){Module[sym]=exp}}};function loadDynamicLibrary(libName,flags={global:true,nodelete:true},localScope,handle){var dso=LDSO.loadedLibsByName[libName];if(dso){if(!flags.global){if(localScope){Object.assign(localScope,dso.exports)}registerDynCallSymbols(dso.exports)}else if(!dso.global){dso.global=true;mergeLibSymbols(dso.exports,libName)}if(flags.nodelete&&dso.refcount!==Infinity){dso.refcount=Infinity}dso.refcount++;if(handle){LDSO.loadedLibsByHandle[handle]=dso}return flags.loadAsync?Promise.resolve(true):true}dso=newDSO(libName,handle,"loading");dso.refcount=flags.nodelete?Infinity:1;dso.global=flags.global;function loadLibData(){if(handle){var data=HEAPU32[handle+28>>2];var dataSize=HEAPU32[handle+32>>2];if(data&&dataSize){var libData=HEAP8.slice(data,data+dataSize);return flags.loadAsync?Promise.resolve(libData):libData}}var f=findLibraryFS(libName,flags.rpath);if(f){var libData=FS.readFile(f,{encoding:"binary"});return flags.loadAsync?Promise.resolve(libData):libData}var libFile=locateFile(libName);if(flags.loadAsync){return asyncLoad(libFile)}if(!readBinary){throw new Error(`${libFile}: file not found, and synchronous loading of external files is not available`)}return readBinary(libFile)}function getExports(){var preloaded=preloadedWasm[libName];if(preloaded){return flags.loadAsync?Promise.resolve(preloaded):preloaded}if(flags.loadAsync){return loadLibData().then(libData=>loadWebAssemblyModule(libData,flags,libName,localScope,handle))}return loadWebAssemblyModule(loadLibData(),flags,libName,localScope,handle)}function moduleLoaded(exports){if(dso.global){mergeLibSymbols(exports,libName)}else if(localScope){Object.assign(localScope,exports);registerDynCallSymbols(exports)}dso.exports=exports}if(flags.loadAsync){return getExports().then(exports=>{moduleLoaded(exports);return true})}moduleLoaded(getExports());return true}var reportUndefinedSymbols=()=>{for(var[symName,entry]of Object.entries(GOT)){if(entry.value==0){var value=resolveGlobalSymbol(symName,true).sym;if(!value&&!entry.required){continue}if(typeof value=="function"){entry.value=addFunction(value,value.sig)}else if(typeof value=="number"){entry.value=value}else{throw new Error(`bad export type for '${symName}': ${typeof value}`)}}}};var loadDylibs=()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency("loadDylibs");dynamicLibraries.reduce((chain,lib)=>chain.then(()=>loadDynamicLibrary(lib,{loadAsync:true,global:true,nodelete:true,allowUndefined:true})),Promise.resolve()).then(()=>{reportUndefinedSymbols();removeRunDependency("loadDylibs")})};var noExitRuntime=true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);___assert_fail.sig="vppip";var ___asyncify_data=new WebAssembly.Global({value:"i32",mutable:true},0);var ___asyncify_state=new WebAssembly.Global({value:"i32",mutable:true},0);var ___call_sighandler=(fp,sig)=>(a1=>{})(sig);___call_sighandler.sig="vpi";var ___memory_base=new WebAssembly.Global({value:"i32",mutable:false},1024);var ___stack_high=1035968;var ___stack_low=511680;var ___stack_pointer=new WebAssembly.Global({value:"i32",mutable:true},1035968);var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},writeStatFs(buf,stats){HEAP32[buf+4>>2]=stats.bsize;HEAP32[buf+40>>2]=stats.bsize;HEAP32[buf+8>>2]=stats.blocks;HEAP32[buf+12>>2]=stats.bfree;HEAP32[buf+16>>2]=stats.bavail;HEAP32[buf+20>>2]=stats.files;HEAP32[buf+24>>2]=stats.ffree;HEAP32[buf+28>>2]=stats.fsid;HEAP32[buf+44>>2]=stats.flags;HEAP32[buf+36>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};var ___syscall__newselect=function(nfds,readfds,writefds,exceptfds,timeout){try{var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);var check=(fd,low,high,val)=>fd<32?low&val:high&val;for(var fd=0;fd>2]:0,tv_usec=readfds?HEAP32[timeout+4>>2]:0;timeoutInMillis=(tv_sec+tv_usec/1e6)*1e3}flags=stream.stream_ops.poll(stream,timeoutInMillis)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}};___syscall__newselect.sig="iipppp";var SOCKFS={websocketArgs:{},callbacks:{},on(event,callback){SOCKFS.callbacks[event]=callback},emit(event,param){SOCKFS.callbacks[event]?.(param)},mount(mount){SOCKFS.websocketArgs=Module["websocket"]||{};(Module["websocket"]??={})["on"]=SOCKFS.on;return FS.createNode(null,"/",16895,0)},createSocket(family,type,protocol){if(family!=2){throw new FS.ErrnoError(5)}type&=~526336;if(type!=1&&type!=2){throw new FS.ErrnoError(28)}var streaming=type==1;if(streaming&&protocol&&protocol!=6){throw new FS.ErrnoError(66)}var sock={family,type,protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return`socket[${SOCKFS.nextname.current++}]`},websocket_sock_ops:{createPeer(sock,addr,port){var ws;if(typeof addr=="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var url="ws://".replace("#","//");var subProtocols="binary";var opts=undefined;if(SOCKFS.websocketArgs["url"]){url=SOCKFS.websocketArgs["url"]}if(SOCKFS.websocketArgs["subprotocol"]){subProtocols=SOCKFS.websocketArgs["subprotocol"]}else if(SOCKFS.websocketArgs["subprotocol"]===null){subProtocols="null"}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=subProtocols}var WebSocketConstructor;{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr,port,socket:ws,msg_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!="undefined"){peer.msg_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer(sock,addr,port){return sock.peers[addr+":"+port]},addPeer(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents(sock,peer){var first=true;var handleOpen=function(){sock.connecting=false;SOCKFS.emit("open",sock.stream.fd);try{var queued=peer.msg_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.msg_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data=="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}data=new Uint8Array(data)}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data});SOCKFS.emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,isBinary){if(!isBinary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){SOCKFS.emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;SOCKFS.emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){SOCKFS.emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;SOCKFS.emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){if(sock.connecting){mask|=4}else{mask|=16}}return mask},ioctl(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return 28}},close(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}for(var peer of Object.values(sock.peers)){try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0},bind(sock,addr,port){if(typeof sock.saddr!="undefined"||typeof sock.sport!="undefined"){throw new FS.ErrnoError(28)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e.name==="ErrnoError"))throw e;if(e.errno!==138)throw e}}},connect(sock,addr,port){if(sock.server){throw new FS.ErrnoError(138)}if(typeof sock.daddr!="undefined"&&typeof sock.dport!="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(7)}else{throw new FS.ErrnoError(30)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;sock.connecting=true},listen(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(138)}},accept(listensock){if(!listensock.server||!listensock.pending.length){throw new FS.ErrnoError(28)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock},getname(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(53)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr,port}},sendmsg(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(17)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(53)}}if(ArrayBuffer.isView(buffer)){offset+=buffer.byteOffset;buffer=buffer.buffer}var data=buffer.slice(offset,offset+length);if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(sock.type===2){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}}dest.msg_send_queue.push(data);return length}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(28)}},recvmsg(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(53)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(53)}if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}throw new FS.ErrnoError(6)}throw new FS.ErrnoError(6)}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead{var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket};var inetPton4=str=>{var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0};var inetPton6=str=>{var words;var w,offset,z,i;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=Number(words[words.length-4])+Number(words[words.length-3])*256;words[words.length-3]=Number(words[words.length-2])+Number(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w{switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>2]=16}HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>2]=28}HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);break;default:return 5}return 0};var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};function ___syscall_accept4(fd,addr,addrlen,flags,d1,d2){try{var sock=getSocketFromFD(fd);var newsock=sock.sock_ops.accept(sock);if(addr){var errno=writeSockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport,addrlen)}return newsock.stream.fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_accept4.sig="iippiii";var inetNtop4=addr=>(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255);var inetNtop6=ints=>{var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word{var family=HEAP16[sa>>1];var port=_ntohs(HEAPU16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family,addr,port}};var getSocketAddress=(addrp,addrlen)=>{var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info};function ___syscall_bind(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.bind(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_bind.sig="iippiii";function ___syscall_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_chdir.sig="ip";function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_chmod.sig="ipi";function ___syscall_connect(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_connect.sig="iippiii";function ___syscall_dup(fd){try{var old=SYSCALLS.getStreamFromFD(fd);return FS.dupStream(old).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_dup.sig="ii";function ___syscall_dup3(fd,newfd,flags){try{var old=SYSCALLS.getStreamFromFD(fd);if(old.fd===newfd)return-28;if(newfd<0||newfd>=FS.MAX_OPEN_FDS)return-8;var existing=FS.getStream(newfd);if(existing)FS.close(existing);return FS.dupStream(old,newfd).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_dup3.sig="iiii";function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_faccessat.sig="iipii";var ___syscall_fadvise64=(fd,offset,len,advice)=>0;___syscall_fadvise64.sig="iiiiiii";var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_fallocate(fd,mode,offset_low,offset_high,len_low,len_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);var len=convertI32PairToI53Checked(len_low,len_high);try{if(isNaN(offset)||isNaN(len))return-61;if(mode!=0){return-138}if(offset<0||len<0){return-28}var oldSize=FS.fstat(fd).size;var newSize=offset+len;if(newSize>oldSize){FS.ftruncate(fd,newSize)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fallocate.sig="iiiiiii";function ___syscall_fchdir(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.chdir(stream.path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchdir.sig="ii";function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchmod.sig="iii";function ___syscall_fchmodat2(dirfd,path,mode,flags){try{var nofollow=flags&256;path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);FS.chmod(path,mode,nofollow);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchmodat2.sig="iipii";function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchown32.sig="iiii";function ___syscall_fchownat(dirfd,path,owner,group,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;flags=flags&~256;path=SYSCALLS.calculateAt(dirfd,path);(nofollow?FS.lchown:FS.chown)(path,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchownat.sig="iipiii";var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fcntl64.sig="iiip";function ___syscall_fdatasync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fdatasync.sig="ii";function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fstat64.sig="iip";function ___syscall_fstatfs64(fd,size,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);SYSCALLS.writeStatFs(buf,FS.statfsStream(stream));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fstatfs64.sig="iipp";function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_ftruncate64.sig="iiii";function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size>>0,(tempDouble=id,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getdents64.sig="iipp";function ___syscall_getpeername(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);if(!sock.daddr){return-53}var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport,addrlen);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getpeername.sig="iippiii";function ___syscall_getsockname(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport,addrlen);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getsockname.sig="iippiii";function ___syscall_getsockopt(fd,level,optname,optval,optlen,d1){try{var sock=getSocketFromFD(fd);if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-50}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getsockopt.sig="iiiippi";function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag,c_oflag,c_cflag,c_lflag,c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_ioctl.sig="iiip";function ___syscall_listen(fd,backlog){try{var sock=getSocketFromFD(fd);sock.sock_ops.listen(sock,backlog);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_listen.sig="iiiiiii";function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.lstat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_lstat64.sig="ipp";function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_mkdirat.sig="iipi";function ___syscall_mknodat(dirfd,path,mode,dev){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_mknodat.sig="iipii";function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.writeStat(buf,nofollow?FS.lstat(path):FS.stat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_newfstatat.sig="iippi";function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_openat.sig="iipip";var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount(mount){return FS.createNode(null,"/",16384|511,0)},createPipe(){var pipe={buckets:[],refcnt:2,timestamp:new Date};pipe.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var rName=PIPEFS.nextname();var wName=PIPEFS.nextname();var rNode=FS.createNode(PIPEFS.root,rName,4096,0);var wNode=FS.createNode(PIPEFS.root,wName,4096,0);rNode.pipe=pipe;wNode.pipe=pipe;var readableStream=FS.createStream({path:rName,node:rNode,flags:0,seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:1,seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{getattr(stream){var node=stream.node;var timestamp=node.pipe.timestamp;return{dev:14,ino:node.id,mode:4480,nlink:1,uid:0,gid:0,rdev:0,size:0,atime:timestamp,mtime:timestamp,ctime:timestamp,blksize:4096,blocks:0}},poll(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}for(var bucket of pipe.buckets){if(bucket.offset-bucket.roffset>0){return 64|1}}return 0},dup(stream){stream.node.pipe.refcnt++},ioctl(stream,request,varargs){return 28},fsync(stream){return 28},read(stream,buffer,offset,length,position){var pipe=stream.node.pipe;var currentLength=0;for(var bucket of pipe.buckets){currentLength+=bucket.offset-bucket.roffset}var data=buffer.subarray(offset,offset+length);if(length<=0){return 0}if(currentLength==0){throw new FS.ErrnoError(6)}var toRead=Math.min(currentLength,length);var totalRead=toRead;var toRemove=0;for(var bucket of pipe.buckets){var bucketSize=bucket.offset-bucket.roffset;if(toRead<=bucketSize){var tmpSlice=bucket.buffer.subarray(bucket.roffset,bucket.offset);if(toRead=dataLen){currBucket.buffer.set(data,currBucket.offset);currBucket.offset+=dataLen;return dataLen}else if(freeBytesInCurrBuffer>0){currBucket.buffer.set(data.subarray(0,freeBytesInCurrBuffer),currBucket.offset);currBucket.offset+=freeBytesInCurrBuffer;data=data.subarray(freeBytesInCurrBuffer,data.byteLength)}var numBuckets=data.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0;var remElements=data.byteLength%PIPEFS.BUCKET_BUFFER_SIZE;for(var i=0;i0){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:data.byteLength,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data)}return dataLen},close(stream){var pipe=stream.node.pipe;pipe.refcnt--;if(pipe.refcnt===0){pipe.buckets=null}}},nextname(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall_pipe(fdPtr){try{if(fdPtr==0){throw new FS.ErrnoError(21)}var res=PIPEFS.createPipe();HEAP32[fdPtr>>2]=res.readable_fd;HEAP32[fdPtr+4>>2]=res.writable_fd;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_pipe.sig="ip";function ___syscall_poll(fds,nfds,timeout){try{var nonzero=0;for(var i=0;i>2];var events=HEAP16[pollfd+4>>1];var mask=32;var stream=FS.getStream(fd);if(stream){mask=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){mask=stream.stream_ops.poll(stream,-1)}}mask&=events|8|16;if(mask)nonzero++;HEAP16[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_poll.sig="ipii";function ___syscall_readlinkat(dirfd,path,buf,bufsize){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_readlinkat.sig="iippp";function ___syscall_recvfrom(fd,buf,len,flags,addr,addrlen){try{var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_recvfrom.sig="iippipp";function ___syscall_recvmsg(fd,message,flags,d1,d2,d3){try{var sock=getSocketFromFD(fd);var iov=HEAPU32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAPU32[message>>2];if(name){var errno=writeSockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_recvmsg.sig="iipiiii";function ___syscall_renameat(olddirfd,oldpath,newdirfd,newpath){try{oldpath=SYSCALLS.getStr(oldpath);newpath=SYSCALLS.getStr(newpath);oldpath=SYSCALLS.calculateAt(olddirfd,oldpath);newpath=SYSCALLS.calculateAt(newdirfd,newpath);FS.rename(oldpath,newpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_renameat.sig="iipip";function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_rmdir.sig="ip";function ___syscall_sendmsg(fd,message,flags,d1,d2,d3){try{var sock=getSocketFromFD(fd);var iov=HEAPU32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAPU32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=getSocketAddress(name,namelen);port=info.port;addr=info.addr}var total=0;for(var i=0;i>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;jHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);var now=Date.now(),atime,mtime;if(!times){atime=now;mtime=now}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){atime=now}else if(nanoseconds==1073741822){atime=null}else{atime=seconds*1e3+nanoseconds/(1e3*1e3)}times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){mtime=now}else if(nanoseconds==1073741822){mtime=null}else{mtime=seconds*1e3+nanoseconds/(1e3*1e3)}}if((mtime??atime)!==null){FS.utime(path,atime,mtime)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_utimensat.sig="iippi";var ___table_base=new WebAssembly.Global({value:"i32",mutable:false},1);var __abort_js=()=>abort("");__abort_js.sig="v";var dlSetError=msg=>{var sp=stackSave();var cmsg=stringToUTF8OnStack(msg);___dl_seterr(cmsg,0);stackRestore(sp)};var dlopenInternal=(handle,jsflags)=>{var filename=UTF8ToString(handle+36);var flags=HEAP32[handle+4>>2];filename=PATH.normalize(filename);var searchpaths=[];var global=Boolean(flags&256);var localScope=global?null:{};var combinedFlags={global,nodelete:Boolean(flags&4096),loadAsync:jsflags.loadAsync};if(jsflags.loadAsync){return loadDynamicLibrary(filename,combinedFlags,localScope,handle)}try{return loadDynamicLibrary(filename,combinedFlags,localScope,handle)}catch(e){dlSetError(`Could not load dynamic lib: ${filename}\n${e}`);return 0}};var __dlopen_js=handle=>Asyncify.handleSleep(wakeUp=>dlopenInternal(handle,{loadAsync:true}).then(wakeUp).catch(()=>wakeUp(0)));__dlopen_js.sig="pp";__dlopen_js.isAsync=true;var __dlsym_js=(handle,symbol,symbolIndex)=>{symbol=UTF8ToString(symbol);var result;var newSymIndex;var lib=LDSO.loadedLibsByHandle[handle];if(!lib.exports.hasOwnProperty(symbol)||lib.exports[symbol].stub){dlSetError(`Tried to lookup unknown symbol "${symbol}" in dynamic lib: ${lib.name}`);return 0}newSymIndex=Object.keys(lib.exports).indexOf(symbol);var origSym="orig$"+symbol;result=lib.exports[origSym];if(result){newSymIndex=Object.keys(lib.exports).indexOf(origSym)}else result=lib.exports[symbol];if(typeof result=="function"){if(result.orig){result=result.orig}var addr=getFunctionAddress(result);if(addr){result=addr}else{result=addFunction(result,result.sig);HEAPU32[symbolIndex>>2]=newSymIndex}}return result};__dlsym_js.sig="pppp";var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};_proc_exit.sig="vi";var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;_exit.sig="vi";var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var __emscripten_dlopen_js=(handle,onsuccess,onerror,user_data)=>{function errorCallback(e){var filename=UTF8ToString(handle+36);dlSetError(`'Could not load dynamic lib: ${filename}\n${e}`);callUserCallback(()=>((a1,a2)=>{})(handle,user_data))}function successCallback(){callUserCallback(()=>((a1,a2)=>{})(handle,user_data))}var promise=dlopenInternal(handle,{loadAsync:true});if(promise){promise.then(successCallback,errorCallback)}else{errorCallback()}};__emscripten_dlopen_js.sig="vpppp";var getExecutableName=()=>thisProgram||"./this.program";var __emscripten_get_progname=(str,len)=>stringToUTF8(getExecutableName(),str,len);__emscripten_get_progname.sig="vpi";var __emscripten_lookup_name=name=>{var nameString=UTF8ToString(name);return inetPton4(DNS.lookup_name(nameString))};__emscripten_lookup_name.sig="ip";var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};__emscripten_runtime_keepalive_clear.sig="v";var __emscripten_system=command=>{if(!command)return 0;return-52};__emscripten_system.sig="ip";var __emscripten_throw_longjmp=()=>{throw Infinity};__emscripten_throw_longjmp.sig="v";function __gmtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday}__gmtime_js.sig="viip";var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}__localtime_js.sig="viip";var setTempRet0=val=>__emscripten_tempret_set(val);var _setTempRet0=setTempRet0;var __mktime_js=function(tmPtr){var ret=(()=>{var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getYear();var timeMs=date.getTime();if(isNaN(timeMs)){return-1}return timeMs/1e3})();return setTempRet0((tempDouble=ret,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),ret>>>0};__mktime_js.sig="ip";function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}__mmap_js.sig="ipiiiiipp";function __msync_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return-61;SYSCALLS.doMsync(addr,SYSCALLS.getStreamFromFD(fd),len,flags,offset);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}__msync_js.sig="ippiiiii";function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}__munmap_js.sig="ippiiiii";var timers={};var _emscripten_get_now=()=>performance.now();_emscripten_get_now.sig="d";var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};__setitimer_js.sig="iid";var __timegm_js=function(tmPtr){var ret=(()=>{var time=Date.UTC(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var date=new Date(time);HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3})();return setTempRet0((tempDouble=ret,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),ret>>>0};__timegm_js.sig="ip";var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset{MainLoop.timingMode=mode;MainLoop.timingValue=value;if(!MainLoop.func){return 1}if(!MainLoop.running){MainLoop.running=true}if(mode==0){MainLoop.scheduler=function MainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,MainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(MainLoop.runner,timeUntilNextTick)};MainLoop.method="timeout"}else if(mode==1){MainLoop.scheduler=function MainLoop_scheduler_rAF(){MainLoop.requestAnimationFrame(MainLoop.runner)};MainLoop.method="rAF"}else if(mode==2){if(typeof MainLoop.setImmediate=="undefined"){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var MainLoop_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",MainLoop_setImmediate_messageHandler,true);MainLoop.setImmediate=func=>{setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){Module["setImmediates"]??=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}else{MainLoop.setImmediate=setImmediate}}MainLoop.scheduler=function MainLoop_scheduler_setImmediate(){MainLoop.setImmediate(MainLoop.runner)};MainLoop.method="immediate"}return 0};_emscripten_set_main_loop_timing.sig="iii";var setMainLoop=(iterFunc,fps,simulateInfiniteLoop,arg,noSetTiming)=>{MainLoop.func=iterFunc;MainLoop.arg=arg;var thisMainLoopId=MainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=MainLoop.queue.shift();blocker.func(blocker.arg);if(MainLoop.remainingBlockers){var remaining=MainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){MainLoop.remainingBlockers=next}else{next=next+.5;MainLoop.remainingBlockers=(8*remaining+next)/9}}MainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(MainLoop.runner,0);return}if(!checkIsRunning())return;MainLoop.currentFrameNumber=MainLoop.currentFrameNumber+1|0;if(MainLoop.timingMode==1&&MainLoop.timingValue>1&&MainLoop.currentFrameNumber%MainLoop.timingValue!=0){MainLoop.scheduler();return}else if(MainLoop.timingMode==0){MainLoop.tickStartTime=_emscripten_get_now()}MainLoop.runIter(iterFunc);if(!checkIsRunning())return;MainLoop.scheduler()};if(!noSetTiming){if(fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}MainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}};var MainLoop={running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],preMainLoop:[],postMainLoop:[],pause(){MainLoop.scheduler=null;MainLoop.currentlyRunningMainloop++},resume(){MainLoop.currentlyRunningMainloop++;var timingMode=MainLoop.timingMode;var timingValue=MainLoop.timingValue;var func=MainLoop.func;MainLoop.func=null;setMainLoop(func,0,false,MainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);MainLoop.scheduler()},updateStatus(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=MainLoop.remainingBlockers??0;var expected=MainLoop.expectedBlockers??0;if(remaining){if(remaining=MainLoop.nextRAF){MainLoop.nextRAF+=1e3/60}}var delay=Math.max(MainLoop.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=MainLoop.fakeRequestAnimationFrame;RAF(func)}};var AL={QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:.1,DEVICE_NAME:"Emscripten OpenAL",CAPTURE_DEVICE_NAME:"Emscripten OpenAL capture",ALC_EXTENSIONS:{ALC_SOFT_pause_device:true,ALC_SOFT_HRTF:true},AL_EXTENSIONS:{AL_EXT_float32:true,AL_SOFT_loop_points:true,AL_SOFT_source_length:true,AL_EXT_source_distance_model:true,AL_SOFT_source_spatialize:true},_alcErr:0,alcErr:0,deviceRefCounts:{},alcStringCache:{},paused:false,stringCache:{},contexts:{},currentCtx:null,buffers:{0:{id:0,refCount:0,audioBuf:null,frequency:0,bytesPerSample:2,channels:1,length:0}},paramArray:[],_nextId:1,newId:()=>AL.freeIds.length>0?AL.freeIds.pop():AL._nextId++,freeIds:[],scheduleContextAudio:ctx=>{if(MainLoop.timingMode===1&&document["visibilityState"]!="visible"){return}for(var i in ctx.sources){AL.scheduleSourceAudio(ctx.sources[i])}},scheduleSourceAudio:(src,lookahead)=>{if(MainLoop.timingMode===1&&document["visibilityState"]!="visible"){return}if(src.state!==4114){return}var currentTime=AL.updateSourceTime(src);var startTime=src.bufStartTime;var startOffset=src.bufOffset;var bufCursor=src.bufsProcessed;for(var i=0;i=src.bufQueue.length){if(src.looping){bufCursor%=src.bufQueue.length}else{break}}var buf=src.bufQueue[bufCursor%src.bufQueue.length];if(buf.length===0){skipCount++;if(skipCount===src.bufQueue.length){break}}else{var audioSrc=src.context.audioCtx.createBufferSource();audioSrc.buffer=buf.audioBuf;audioSrc.playbackRate.value=src.playbackRate;if(buf.audioBuf._loopStart||buf.audioBuf._loopEnd){audioSrc.loopStart=buf.audioBuf._loopStart;audioSrc.loopEnd=buf.audioBuf._loopEnd}var duration=0;if(src.type===4136&&src.looping){duration=Number.POSITIVE_INFINITY;audioSrc.loop=true;if(buf.audioBuf._loopStart){audioSrc.loopStart=buf.audioBuf._loopStart}if(buf.audioBuf._loopEnd){audioSrc.loopEnd=buf.audioBuf._loopEnd}}else{duration=(buf.audioBuf.duration-startOffset)/src.playbackRate}audioSrc._startOffset=startOffset;audioSrc._duration=duration;audioSrc._skipCount=skipCount;skipCount=0;audioSrc.connect(src.gain);if(typeof audioSrc.start!="undefined"){startTime=Math.max(startTime,src.context.audioCtx.currentTime);audioSrc.start(startTime,startOffset)}else if(typeof audioSrc.noteOn!="undefined"){startTime=Math.max(startTime,src.context.audioCtx.currentTime);audioSrc.noteOn(startTime)}audioSrc._startTime=startTime;src.audioQueue.push(audioSrc);startTime+=duration}startOffset=0;bufCursor++}},updateSourceTime:src=>{var currentTime=src.context.audioCtx.currentTime;if(src.state!==4114){return currentTime}if(!isFinite(src.bufStartTime)){src.bufStartTime=currentTime-src.bufOffset/src.playbackRate;src.bufOffset=0}var nextStartTime=0;while(src.audioQueue.length){var audioSrc=src.audioQueue[0];src.bufsProcessed+=audioSrc._skipCount;nextStartTime=audioSrc._startTime+audioSrc._duration;if(currentTime=src.bufQueue.length&&!src.looping){AL.setSourceState(src,4116)}else if(src.type===4136&&src.looping){var buf=src.bufQueue[0];if(buf.length===0){src.bufOffset=0}else{var delta=(currentTime-src.bufStartTime)*src.playbackRate;var loopStart=buf.audioBuf._loopStart||0;var loopEnd=buf.audioBuf._loopEnd||buf.audioBuf.duration;if(loopEnd<=loopStart){loopEnd=buf.audioBuf.duration}if(delta0){src.bufStartTime+=Math.floor((currentTime-src.bufStartTime)/srcDuration)*srcDuration}}for(var i=0;i=src.bufQueue.length){if(src.looping){src.bufsProcessed%=src.bufQueue.length}else{AL.setSourceState(src,4116);break}}var buf=src.bufQueue[src.bufsProcessed];if(buf.length>0){nextStartTime=src.bufStartTime+buf.audioBuf.duration/src.playbackRate;if(currentTime{AL.updateSourceTime(src);for(var i=1;i1){src.audioQueue.length=1}},stopSourceAudio:src=>{for(var i=0;i{if(state===4114){if(src.state===4114||src.state==4116){src.bufsProcessed=0;src.bufOffset=0}else{}AL.stopSourceAudio(src);src.state=4114;src.bufStartTime=Number.NEGATIVE_INFINITY;AL.scheduleSourceAudio(src)}else if(state===4115){if(src.state===4114){AL.updateSourceTime(src);AL.stopSourceAudio(src);src.state=4115}}else if(state===4116){if(src.state!==4113){src.state=4116;src.bufsProcessed=src.bufQueue.length;src.bufStartTime=Number.NEGATIVE_INFINITY;src.bufOffset=0;AL.stopSourceAudio(src)}}else if(state===4113){if(src.state!==4113){src.state=4113;src.bufsProcessed=0;src.bufStartTime=Number.NEGATIVE_INFINITY;src.bufOffset=0;AL.stopSourceAudio(src)}}},initSourcePanner:src=>{if(src.type===4144){return}var templateBuf=AL.buffers[0];for(var i=0;i{for(var i in ctx.sources){AL.updateSourceGlobal(ctx.sources[i])}},updateSourceGlobal:src=>{var panner=src.panner;if(!panner){return}panner.refDistance=src.refDistance;panner.maxDistance=src.maxDistance;panner.rolloffFactor=src.rolloffFactor;panner.panningModel=src.context.hrtf?"HRTF":"equalpower";var distanceModel=src.context.sourceDistanceModel?src.distanceModel:src.context.distanceModel;switch(distanceModel){case 0:panner.distanceModel="inverse";panner.refDistance=340282e33;break;case 53249:case 53250:panner.distanceModel="inverse";break;case 53251:case 53252:panner.distanceModel="linear";break;case 53253:case 53254:panner.distanceModel="exponential";break}},updateListenerSpace:ctx=>{var listener=ctx.audioCtx.listener;if(listener.positionX){listener.positionX.value=ctx.listener.position[0];listener.positionY.value=ctx.listener.position[1];listener.positionZ.value=ctx.listener.position[2]}else{listener.setPosition(ctx.listener.position[0],ctx.listener.position[1],ctx.listener.position[2])}if(listener.forwardX){listener.forwardX.value=ctx.listener.direction[0];listener.forwardY.value=ctx.listener.direction[1];listener.forwardZ.value=ctx.listener.direction[2];listener.upX.value=ctx.listener.up[0];listener.upY.value=ctx.listener.up[1];listener.upZ.value=ctx.listener.up[2]}else{listener.setOrientation(ctx.listener.direction[0],ctx.listener.direction[1],ctx.listener.direction[2],ctx.listener.up[0],ctx.listener.up[1],ctx.listener.up[2])}for(var i in ctx.sources){AL.updateSourceSpace(ctx.sources[i])}},updateSourceSpace:src=>{if(!src.panner){return}var panner=src.panner;var posX=src.position[0];var posY=src.position[1];var posZ=src.position[2];var dirX=src.direction[0];var dirY=src.direction[1];var dirZ=src.direction[2];var listener=src.context.listener;var lPosX=listener.position[0];var lPosY=listener.position[1];var lPosZ=listener.position[2];if(src.relative){var lBackX=-listener.direction[0];var lBackY=-listener.direction[1];var lBackZ=-listener.direction[2];var lUpX=listener.up[0];var lUpY=listener.up[1];var lUpZ=listener.up[2];var inverseMagnitude=(x,y,z)=>{var length=Math.sqrt(x*x+y*y+z*z);if(length{if(src.state===4114){AL.cancelPendingSourceAudio(src);var audioSrc=src.audioQueue[0];if(!audioSrc){return}var duration;if(src.type===4136&&src.looping){duration=Number.POSITIVE_INFINITY}else{duration=(audioSrc.buffer.duration-audioSrc._startOffset)/src.playbackRate}audioSrc._duration=duration;audioSrc.playbackRate.value=src.playbackRate;AL.scheduleSourceAudio(src)}},sourceDuration:src=>{var length=0;for(var i=0;i{AL.updateSourceTime(src);var offset=0;for(var i=0;i{var playing=src.state==4114;if(playing){AL.setSourceState(src,4113)}if(src.bufQueue[src.bufsProcessed].audioBuf!==null){src.bufsProcessed=0;while(offset>src.bufQueue[src.bufsProcessed].audioBuf.duration){offset-=src.bufQueue[src.bufsProcessed].audioBuf.duration;src.bufsProcessed++}src.bufOffset=offset}if(playing){AL.setSourceState(src,4114)}},getGlobalParam:(funcname,param)=>{if(!AL.currentCtx){return null}switch(param){case 49152:return AL.currentCtx.dopplerFactor;case 49155:return AL.currentCtx.speedOfSound;case 53248:return AL.currentCtx.distanceModel;default:AL.currentCtx.err=40962;return null}},setGlobalParam:(funcname,param,value)=>{if(!AL.currentCtx){return}switch(param){case 49152:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}AL.currentCtx.dopplerFactor=value;AL.updateListenerSpace(AL.currentCtx);break;case 49155:if(!Number.isFinite(value)||value<=0){AL.currentCtx.err=40963;return}AL.currentCtx.speedOfSound=value;AL.updateListenerSpace(AL.currentCtx);break;case 53248:switch(value){case 0:case 53249:case 53250:case 53251:case 53252:case 53253:case 53254:AL.currentCtx.distanceModel=value;AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}},getListenerParam:(funcname,param)=>{if(!AL.currentCtx){return null}switch(param){case 4100:return AL.currentCtx.listener.position;case 4102:return AL.currentCtx.listener.velocity;case 4111:return AL.currentCtx.listener.direction.concat(AL.currentCtx.listener.up);case 4106:return AL.currentCtx.gain.gain.value;default:AL.currentCtx.err=40962;return null}},setListenerParam:(funcname,param,value)=>{if(!AL.currentCtx){return}if(value===null){AL.currentCtx.err=40962;return}var listener=AL.currentCtx.listener;switch(param){case 4100:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}listener.position[0]=value[0];listener.position[1]=value[1];listener.position[2]=value[2];AL.updateListenerSpace(AL.currentCtx);break;case 4102:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}listener.velocity[0]=value[0];listener.velocity[1]=value[1];listener.velocity[2]=value[2];AL.updateListenerSpace(AL.currentCtx);break;case 4106:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}AL.currentCtx.gain.gain.value=value;break;case 4111:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])||!Number.isFinite(value[3])||!Number.isFinite(value[4])||!Number.isFinite(value[5])){AL.currentCtx.err=40963;return}listener.direction[0]=value[0];listener.direction[1]=value[1];listener.direction[2]=value[2];listener.up[0]=value[3];listener.up[1]=value[4];listener.up[2]=value[5];AL.updateListenerSpace(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}},getBufferParam:(funcname,bufferId,param)=>{if(!AL.currentCtx){return}var buf=AL.buffers[bufferId];if(!buf||bufferId===0){AL.currentCtx.err=40961;return}switch(param){case 8193:return buf.frequency;case 8194:return buf.bytesPerSample*8;case 8195:return buf.channels;case 8196:return buf.length*buf.bytesPerSample*buf.channels;case 8213:if(buf.length===0){return[0,0]}return[(buf.audioBuf._loopStart||0)*buf.frequency,(buf.audioBuf._loopEnd||buf.length)*buf.frequency];default:AL.currentCtx.err=40962;return null}},setBufferParam:(funcname,bufferId,param,value)=>{if(!AL.currentCtx){return}var buf=AL.buffers[bufferId];if(!buf||bufferId===0){AL.currentCtx.err=40961;return}if(value===null){AL.currentCtx.err=40962;return}switch(param){case 8196:if(value!==0){AL.currentCtx.err=40963;return}break;case 8213:if(value[0]<0||value[0]>buf.length||value[1]<0||value[1]>buf.Length||value[0]>=value[1]){AL.currentCtx.err=40963;return}if(buf.refCount>0){AL.currentCtx.err=40964;return}if(buf.audioBuf){buf.audioBuf._loopStart=value[0]/buf.frequency;buf.audioBuf._loopEnd=value[1]/buf.frequency}break;default:AL.currentCtx.err=40962;return}},getSourceParam:(funcname,sourceId,param)=>{if(!AL.currentCtx){return null}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return null}switch(param){case 514:return src.relative;case 4097:return src.coneInnerAngle;case 4098:return src.coneOuterAngle;case 4099:return src.pitch;case 4100:return src.position;case 4101:return src.direction;case 4102:return src.velocity;case 4103:return src.looping;case 4105:if(src.type===4136){return src.bufQueue[0].id}return 0;case 4106:return src.gain.gain.value;case 4109:return src.minGain;case 4110:return src.maxGain;case 4112:return src.state;case 4117:if(src.bufQueue.length===1&&src.bufQueue[0].id===0){return 0}return src.bufQueue.length;case 4118:if(src.bufQueue.length===1&&src.bufQueue[0].id===0||src.looping){return 0}return src.bufsProcessed;case 4128:return src.refDistance;case 4129:return src.rolloffFactor;case 4130:return src.coneOuterGain;case 4131:return src.maxDistance;case 4132:return AL.sourceTell(src);case 4133:var offset=AL.sourceTell(src);if(offset>0){offset*=src.bufQueue[0].frequency}return offset;case 4134:var offset=AL.sourceTell(src);if(offset>0){offset*=src.bufQueue[0].frequency*src.bufQueue[0].bytesPerSample}return offset;case 4135:return src.type;case 4628:return src.spatialize;case 8201:var length=0;var bytesPerFrame=0;for(var i=0;i{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(value===null){AL.currentCtx.err=40962;return}switch(param){case 514:if(value===1){src.relative=true;AL.updateSourceSpace(src)}else if(value===0){src.relative=false;AL.updateSourceSpace(src)}else{AL.currentCtx.err=40963;return}break;case 4097:if(!Number.isFinite(value)){AL.currentCtx.err=40963;return}src.coneInnerAngle=value;if(src.panner){src.panner.coneInnerAngle=value%360}break;case 4098:if(!Number.isFinite(value)){AL.currentCtx.err=40963;return}src.coneOuterAngle=value;if(src.panner){src.panner.coneOuterAngle=value%360}break;case 4099:if(!Number.isFinite(value)||value<=0){AL.currentCtx.err=40963;return}if(src.pitch===value){break}src.pitch=value;AL.updateSourceRate(src);break;case 4100:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.position[0]=value[0];src.position[1]=value[1];src.position[2]=value[2];AL.updateSourceSpace(src);break;case 4101:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.direction[0]=value[0];src.direction[1]=value[1];src.direction[2]=value[2];AL.updateSourceSpace(src);break;case 4102:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.velocity[0]=value[0];src.velocity[1]=value[1];src.velocity[2]=value[2];AL.updateSourceSpace(src);break;case 4103:if(value===1){src.looping=true;AL.updateSourceTime(src);if(src.type===4136&&src.audioQueue.length>0){var audioSrc=src.audioQueue[0];audioSrc.loop=true;audioSrc._duration=Number.POSITIVE_INFINITY}}else if(value===0){src.looping=false;var currentTime=AL.updateSourceTime(src);if(src.type===4136&&src.audioQueue.length>0){var audioSrc=src.audioQueue[0];audioSrc.loop=false;audioSrc._duration=src.bufQueue[0].audioBuf.duration/src.playbackRate;audioSrc._startTime=currentTime-src.bufOffset/src.playbackRate}}else{AL.currentCtx.err=40963;return}break;case 4105:if(src.state===4114||src.state===4115){AL.currentCtx.err=40964;return}if(value===0){for(var i in src.bufQueue){src.bufQueue[i].refCount--}src.bufQueue.length=1;src.bufQueue[0]=AL.buffers[0];src.bufsProcessed=0;src.type=4144}else{var buf=AL.buffers[value];if(!buf){AL.currentCtx.err=40963;return}for(var i in src.bufQueue){src.bufQueue[i].refCount--}src.bufQueue.length=0;buf.refCount++;src.bufQueue=[buf];src.bufsProcessed=0;src.type=4136}AL.initSourcePanner(src);AL.scheduleSourceAudio(src);break;case 4106:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.gain.gain.value=value;break;case 4109:if(!Number.isFinite(value)||value<0||value>Math.min(src.maxGain,1)){AL.currentCtx.err=40963;return}src.minGain=value;break;case 4110:if(!Number.isFinite(value)||value1){AL.currentCtx.err=40963;return}src.maxGain=value;break;case 4128:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.refDistance=value;if(src.panner){src.panner.refDistance=value}break;case 4129:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.rolloffFactor=value;if(src.panner){src.panner.rolloffFactor=value}break;case 4130:if(!Number.isFinite(value)||value<0||value>1){AL.currentCtx.err=40963;return}src.coneOuterGain=value;if(src.panner){src.panner.coneOuterGain=value}break;case 4131:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.maxDistance=value;if(src.panner){src.panner.maxDistance=value}break;case 4132:if(value<0||value>AL.sourceDuration(src)){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case 4133:var srcLen=AL.sourceDuration(src);if(srcLen>0){var frequency;for(var bufId in src.bufQueue){if(bufId){frequency=src.bufQueue[bufId].frequency;break}}value/=frequency}if(value<0||value>srcLen){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case 4134:var srcLen=AL.sourceDuration(src);if(srcLen>0){var bytesPerSec;for(var bufId in src.bufQueue){if(bufId){var buf=src.bufQueue[bufId];bytesPerSec=buf.frequency*buf.bytesPerSample*buf.channels;break}}value/=bytesPerSec}if(value<0||value>srcLen){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case 4628:if(value!==0&&value!==1&&value!==2){AL.currentCtx.err=40963;return}src.spatialize=value;AL.initSourcePanner(src);break;case 8201:case 8202:case 8203:AL.currentCtx.err=40964;break;case 53248:switch(value){case 0:case 53249:case 53250:case 53251:case 53252:case 53253:case 53254:src.distanceModel=value;if(AL.currentCtx.sourceDistanceModel){AL.updateContextGlobal(AL.currentCtx)}break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}},captures:{},sharedCaptureAudioCtx:null,requireValidCaptureDevice:(deviceId,funcname)=>{if(deviceId===0){AL.alcErr=40961;return null}var c=AL.captures[deviceId];if(!c){AL.alcErr=40961;return null}var err=c.mediaStreamError;if(err){AL.alcErr=40961;return null}return c}};var _alBuffer3f=(bufferId,param,value0,value1,value2)=>{AL.setBufferParam("alBuffer3f",bufferId,param,null)};_alBuffer3f.sig="viifff";var _alBuffer3i=(bufferId,param,value0,value1,value2)=>{AL.setBufferParam("alBuffer3i",bufferId,param,null)};_alBuffer3i.sig="viiiii";var _alBufferData=(bufferId,format,pData,size,freq)=>{if(!AL.currentCtx){return}var buf=AL.buffers[bufferId];if(!buf){AL.currentCtx.err=40963;return}if(freq<=0){AL.currentCtx.err=40963;return}var audioBuf=null;try{switch(format){case 4352:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size,freq);var channel0=audioBuf.getChannelData(0);for(var i=0;i0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size>>1,freq);var channel0=audioBuf.getChannelData(0);pData>>=1;for(var i=0;i>1;++i){channel0[i]=HEAP16[pData++]*30517578125e-15}}buf.bytesPerSample=2;buf.channels=1;buf.length=size>>1;break;case 4354:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>1,freq);var channel0=audioBuf.getChannelData(0);var channel1=audioBuf.getChannelData(1);for(var i=0;i>1;++i){channel0[i]=HEAPU8[pData++]*.0078125-1;channel1[i]=HEAPU8[pData++]*.0078125-1}}buf.bytesPerSample=1;buf.channels=2;buf.length=size>>1;break;case 4355:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>2,freq);var channel0=audioBuf.getChannelData(0);var channel1=audioBuf.getChannelData(1);pData>>=1;for(var i=0;i>2;++i){channel0[i]=HEAP16[pData++]*30517578125e-15;channel1[i]=HEAP16[pData++]*30517578125e-15}}buf.bytesPerSample=2;buf.channels=2;buf.length=size>>2;break;case 65552:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size>>2,freq);var channel0=audioBuf.getChannelData(0);pData>>=2;for(var i=0;i>2;++i){channel0[i]=HEAPF32[pData++]}}buf.bytesPerSample=4;buf.channels=1;buf.length=size>>2;break;case 65553:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>3,freq);var channel0=audioBuf.getChannelData(0);var channel1=audioBuf.getChannelData(1);pData>>=2;for(var i=0;i>3;++i){channel0[i]=HEAPF32[pData++];channel1[i]=HEAPF32[pData++]}}buf.bytesPerSample=4;buf.channels=2;buf.length=size>>3;break;default:AL.currentCtx.err=40963;return}buf.frequency=freq;buf.audioBuf=audioBuf}catch(e){AL.currentCtx.err=40963;return}};_alBufferData.sig="viipii";var _alBufferf=(bufferId,param,value)=>{AL.setBufferParam("alBufferf",bufferId,param,null)};_alBufferf.sig="viif";var _alBufferfv=(bufferId,param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}AL.setBufferParam("alBufferfv",bufferId,param,null)};_alBufferfv.sig="viip";var _alBufferi=(bufferId,param,value)=>{AL.setBufferParam("alBufferi",bufferId,param,null)};_alBufferi.sig="viii";var _alBufferiv=(bufferId,param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 8213:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.setBufferParam("alBufferiv",bufferId,param,AL.paramArray);break;default:AL.setBufferParam("alBufferiv",bufferId,param,null);break}};_alBufferiv.sig="viip";var _alDeleteBuffers=(count,pBufferIds)=>{if(!AL.currentCtx){return}for(var i=0;i>2];if(bufId===0){continue}if(!AL.buffers[bufId]){AL.currentCtx.err=40961;return}if(AL.buffers[bufId].refCount){AL.currentCtx.err=40964;return}}for(var i=0;i>2];if(bufId===0){continue}AL.deviceRefCounts[AL.buffers[bufId].deviceId]--;delete AL.buffers[bufId];AL.freeIds.push(bufId)}};_alDeleteBuffers.sig="vip";var _alSourcei=(sourceId,param,value)=>{switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4628:case 8201:case 8202:case 53248:AL.setSourceParam("alSourcei",sourceId,param,value);break;default:AL.setSourceParam("alSourcei",sourceId,param,null);break}};_alSourcei.sig="viii";var _alDeleteSources=(count,pSourceIds)=>{if(!AL.currentCtx){return}for(var i=0;i>2];if(!AL.currentCtx.sources[srcId]){AL.currentCtx.err=40961;return}}for(var i=0;i>2];AL.setSourceState(AL.currentCtx.sources[srcId],4116);_alSourcei(srcId,4105,0);delete AL.currentCtx.sources[srcId];AL.freeIds.push(srcId)}};_alDeleteSources.sig="vip";var _alDisable=param=>{if(!AL.currentCtx){return}switch(param){case 512:AL.currentCtx.sourceDistanceModel=false;AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}};_alDisable.sig="vi";var _alDistanceModel=model=>{AL.setGlobalParam("alDistanceModel",53248,model)};_alDistanceModel.sig="vi";var _alDopplerFactor=value=>{AL.setGlobalParam("alDopplerFactor",49152,value)};_alDopplerFactor.sig="vf";var _alDopplerVelocity=value=>{warnOnce("alDopplerVelocity() is deprecated, and only kept for compatibility with OpenAL 1.0. Use alSpeedOfSound() instead.");if(!AL.currentCtx){return}if(value<=0){AL.currentCtx.err=40963;return}};_alDopplerVelocity.sig="vf";var _alEnable=param=>{if(!AL.currentCtx){return}switch(param){case 512:AL.currentCtx.sourceDistanceModel=true;AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}};_alEnable.sig="vi";var _alGenBuffers=(count,pBufferIds)=>{if(!AL.currentCtx){return}for(var i=0;i>2]=buf.id}};_alGenBuffers.sig="vip";var _alGenSources=(count,pSourceIds)=>{if(!AL.currentCtx){return}for(var i=0;i>2]=src.id}};_alGenSources.sig="vip";var _alGetBoolean=param=>{var val=AL.getGlobalParam("alGetBoolean",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val!==0?1:0;default:AL.currentCtx.err=40962;return 0}};_alGetBoolean.sig="ii";var _alGetBooleanv=(param,pValues)=>{var val=AL.getGlobalParam("alGetBooleanv",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAP8[pValues]=val;break;default:AL.currentCtx.err=40962;return}};_alGetBooleanv.sig="vip";var _alGetBuffer3f=(bufferId,param,pValue0,pValue1,pValue2)=>{var val=AL.getBufferParam("alGetBuffer3f",bufferId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962};_alGetBuffer3f.sig="viippp";var _alGetBuffer3i=(bufferId,param,pValue0,pValue1,pValue2)=>{var val=AL.getBufferParam("alGetBuffer3i",bufferId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962};_alGetBuffer3i.sig="viippp";var _alGetBufferf=(bufferId,param,pValue)=>{var val=AL.getBufferParam("alGetBufferf",bufferId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962};_alGetBufferf.sig="viip";var _alGetBufferfv=(bufferId,param,pValues)=>{var val=AL.getBufferParam("alGetBufferfv",bufferId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962};_alGetBufferfv.sig="viip";var _alGetBufferi=(bufferId,param,pValue)=>{var val=AL.getBufferParam("alGetBufferi",bufferId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 8193:case 8194:case 8195:case 8196:HEAP32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetBufferi.sig="viip";var _alGetBufferiv=(bufferId,param,pValues)=>{var val=AL.getBufferParam("alGetBufferiv",bufferId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 8193:case 8194:case 8195:case 8196:HEAP32[pValues>>2]=val;break;case 8213:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];break;default:AL.currentCtx.err=40962;return}};_alGetBufferiv.sig="viip";var _alGetDouble=param=>{var val=AL.getGlobalParam("alGetDouble",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val;default:AL.currentCtx.err=40962;return 0}};_alGetDouble.sig="di";var _alGetDoublev=(param,pValues)=>{var val=AL.getGlobalParam("alGetDoublev",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAPF64[pValues>>3]=val;break;default:AL.currentCtx.err=40962;return}};_alGetDoublev.sig="vip";var _alGetEnumValue=pEnumName=>{if(!AL.currentCtx){return 0}if(!pEnumName){AL.currentCtx.err=40963;return 0}var name=UTF8ToString(pEnumName);switch(name){case"AL_BITS":return 8194;case"AL_BUFFER":return 4105;case"AL_BUFFERS_PROCESSED":return 4118;case"AL_BUFFERS_QUEUED":return 4117;case"AL_BYTE_OFFSET":return 4134;case"AL_CHANNELS":return 8195;case"AL_CONE_INNER_ANGLE":return 4097;case"AL_CONE_OUTER_ANGLE":return 4098;case"AL_CONE_OUTER_GAIN":return 4130;case"AL_DIRECTION":return 4101;case"AL_DISTANCE_MODEL":return 53248;case"AL_DOPPLER_FACTOR":return 49152;case"AL_DOPPLER_VELOCITY":return 49153;case"AL_EXPONENT_DISTANCE":return 53253;case"AL_EXPONENT_DISTANCE_CLAMPED":return 53254;case"AL_EXTENSIONS":return 45060;case"AL_FORMAT_MONO16":return 4353;case"AL_FORMAT_MONO8":return 4352;case"AL_FORMAT_STEREO16":return 4355;case"AL_FORMAT_STEREO8":return 4354;case"AL_FREQUENCY":return 8193;case"AL_GAIN":return 4106;case"AL_INITIAL":return 4113;case"AL_INVALID":return-1;case"AL_ILLEGAL_ENUM":case"AL_INVALID_ENUM":return 40962;case"AL_INVALID_NAME":return 40961;case"AL_ILLEGAL_COMMAND":case"AL_INVALID_OPERATION":return 40964;case"AL_INVALID_VALUE":return 40963;case"AL_INVERSE_DISTANCE":return 53249;case"AL_INVERSE_DISTANCE_CLAMPED":return 53250;case"AL_LINEAR_DISTANCE":return 53251;case"AL_LINEAR_DISTANCE_CLAMPED":return 53252;case"AL_LOOPING":return 4103;case"AL_MAX_DISTANCE":return 4131;case"AL_MAX_GAIN":return 4110;case"AL_MIN_GAIN":return 4109;case"AL_NONE":return 0;case"AL_NO_ERROR":return 0;case"AL_ORIENTATION":return 4111;case"AL_OUT_OF_MEMORY":return 40965;case"AL_PAUSED":return 4115;case"AL_PENDING":return 8209;case"AL_PITCH":return 4099;case"AL_PLAYING":return 4114;case"AL_POSITION":return 4100;case"AL_PROCESSED":return 8210;case"AL_REFERENCE_DISTANCE":return 4128;case"AL_RENDERER":return 45059;case"AL_ROLLOFF_FACTOR":return 4129;case"AL_SAMPLE_OFFSET":return 4133;case"AL_SEC_OFFSET":return 4132;case"AL_SIZE":return 8196;case"AL_SOURCE_RELATIVE":return 514;case"AL_SOURCE_STATE":return 4112;case"AL_SOURCE_TYPE":return 4135;case"AL_SPEED_OF_SOUND":return 49155;case"AL_STATIC":return 4136;case"AL_STOPPED":return 4116;case"AL_STREAMING":return 4137;case"AL_UNDETERMINED":return 4144;case"AL_UNUSED":return 8208;case"AL_VELOCITY":return 4102;case"AL_VENDOR":return 45057;case"AL_VERSION":return 45058;case"AL_AUTO_SOFT":return 2;case"AL_SOURCE_DISTANCE_MODEL":return 512;case"AL_SOURCE_SPATIALIZE_SOFT":return 4628;case"AL_LOOP_POINTS_SOFT":return 8213;case"AL_BYTE_LENGTH_SOFT":return 8201;case"AL_SAMPLE_LENGTH_SOFT":return 8202;case"AL_SEC_LENGTH_SOFT":return 8203;case"AL_FORMAT_MONO_FLOAT32":return 65552;case"AL_FORMAT_STEREO_FLOAT32":return 65553;default:AL.currentCtx.err=40963;return 0}};_alGetEnumValue.sig="ip";var _alGetError=()=>{if(!AL.currentCtx){return 40964}var err=AL.currentCtx.err;AL.currentCtx.err=0;return err};_alGetError.sig="i";var _alGetFloat=param=>{var val=AL.getGlobalParam("alGetFloat",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val;default:return 0}};_alGetFloat.sig="fi";var _alGetFloatv=(param,pValues)=>{var val=AL.getGlobalParam("alGetFloatv",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAPF32[pValues>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetFloatv.sig="vip";var _alGetInteger=param=>{var val=AL.getGlobalParam("alGetInteger",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val;default:AL.currentCtx.err=40962;return 0}};_alGetInteger.sig="ii";var _alGetIntegerv=(param,pValues)=>{var val=AL.getGlobalParam("alGetIntegerv",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAP32[pValues>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetIntegerv.sig="vip";var _alGetListener3f=(param,pValue0,pValue1,pValue2)=>{var val=AL.getListenerParam("alGetListener3f",param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAPF32[pValue0>>2]=val[0];HEAPF32[pValue1>>2]=val[1];HEAPF32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetListener3f.sig="vippp";var _alGetListener3i=(param,pValue0,pValue1,pValue2)=>{var val=AL.getListenerParam("alGetListener3i",param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAP32[pValue0>>2]=val[0];HEAP32[pValue1>>2]=val[1];HEAP32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetListener3i.sig="vippp";var _alGetListenerf=(param,pValue)=>{var val=AL.getListenerParam("alGetListenerf",param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 4106:HEAPF32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetListenerf.sig="vip";var _alGetListenerfv=(param,pValues)=>{var val=AL.getListenerParam("alGetListenerfv",param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAPF32[pValues>>2]=val[0];HEAPF32[pValues+4>>2]=val[1];HEAPF32[pValues+8>>2]=val[2];break;case 4111:HEAPF32[pValues>>2]=val[0];HEAPF32[pValues+4>>2]=val[1];HEAPF32[pValues+8>>2]=val[2];HEAPF32[pValues+12>>2]=val[3];HEAPF32[pValues+16>>2]=val[4];HEAPF32[pValues+20>>2]=val[5];break;default:AL.currentCtx.err=40962;return}};_alGetListenerfv.sig="vip";var _alGetListeneri=(param,pValue)=>{var val=AL.getListenerParam("alGetListeneri",param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962};_alGetListeneri.sig="vip";var _alGetListeneriv=(param,pValues)=>{var val=AL.getListenerParam("alGetListeneriv",param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];HEAP32[pValues+8>>2]=val[2];break;case 4111:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];HEAP32[pValues+8>>2]=val[2];HEAP32[pValues+12>>2]=val[3];HEAP32[pValues+16>>2]=val[4];HEAP32[pValues+20>>2]=val[5];break;default:AL.currentCtx.err=40962;return}};_alGetListeneriv.sig="vip";var _alGetSource3f=(sourceId,param,pValue0,pValue1,pValue2)=>{var val=AL.getSourceParam("alGetSource3f",sourceId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4101:case 4102:HEAPF32[pValue0>>2]=val[0];HEAPF32[pValue1>>2]=val[1];HEAPF32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetSource3f.sig="viippp";var _alGetSource3i=(sourceId,param,pValue0,pValue1,pValue2)=>{var val=AL.getSourceParam("alGetSource3i",sourceId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4101:case 4102:HEAP32[pValue0>>2]=val[0];HEAP32[pValue1>>2]=val[1];HEAP32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetSource3i.sig="viippp";var _alGetSourcef=(sourceId,param,pValue)=>{var val=AL.getSourceParam("alGetSourcef",sourceId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:HEAPF32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetSourcef.sig="viip";var _alGetSourcefv=(sourceId,param,pValues)=>{var val=AL.getSourceParam("alGetSourcefv",sourceId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:HEAPF32[pValues>>2]=val[0];break;case 4100:case 4101:case 4102:HEAPF32[pValues>>2]=val[0];HEAPF32[pValues+4>>2]=val[1];HEAPF32[pValues+8>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetSourcefv.sig="viip";var _alGetSourcei=(sourceId,param,pValue)=>{var val=AL.getSourceParam("alGetSourcei",sourceId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4112:case 4117:case 4118:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4135:case 4628:case 8201:case 8202:case 53248:HEAP32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetSourcei.sig="viip";var _alGetSourceiv=(sourceId,param,pValues)=>{var val=AL.getSourceParam("alGetSourceiv",sourceId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4112:case 4117:case 4118:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4135:case 4628:case 8201:case 8202:case 53248:HEAP32[pValues>>2]=val;break;case 4100:case 4101:case 4102:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];HEAP32[pValues+8>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetSourceiv.sig="viip";var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var _alGetString=param=>{if(AL.stringCache[param]){return AL.stringCache[param]}var ret;switch(param){case 0:ret="No Error";break;case 40961:ret="Invalid Name";break;case 40962:ret="Invalid Enum";break;case 40963:ret="Invalid Value";break;case 40964:ret="Invalid Operation";break;case 40965:ret="Out of Memory";break;case 45057:ret="Emscripten";break;case 45058:ret="1.1";break;case 45059:ret="WebAudio";break;case 45060:ret=Object.keys(AL.AL_EXTENSIONS).join(" ");break;default:if(AL.currentCtx){AL.currentCtx.err=40962}else{}return 0}ret=stringToNewUTF8(ret);AL.stringCache[param]=ret;return ret};_alGetString.sig="pi";var _alIsBuffer=bufferId=>{if(!AL.currentCtx){return false}if(bufferId>AL.buffers.length){return false}if(!AL.buffers[bufferId]){return false}return true};_alIsBuffer.sig="ii";var _alIsEnabled=param=>{if(!AL.currentCtx){return 0}switch(param){case 512:return AL.currentCtx.sourceDistanceModel?0:1;default:AL.currentCtx.err=40962;return 0}};_alIsEnabled.sig="ii";var _alIsExtensionPresent=pExtName=>{var name=UTF8ToString(pExtName);return AL.AL_EXTENSIONS[name]?1:0};_alIsExtensionPresent.sig="ip";var _alIsSource=sourceId=>{if(!AL.currentCtx){return false}if(!AL.currentCtx.sources[sourceId]){return false}return true};_alIsSource.sig="ii";var _alListener3f=(param,value0,value1,value2)=>{switch(param){case 4100:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setListenerParam("alListener3f",param,AL.paramArray);break;default:AL.setListenerParam("alListener3f",param,null);break}};_alListener3f.sig="vifff";var _alListener3i=(param,value0,value1,value2)=>{switch(param){case 4100:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setListenerParam("alListener3i",param,AL.paramArray);break;default:AL.setListenerParam("alListener3i",param,null);break}};_alListener3i.sig="viiii";var _alListenerf=(param,value)=>{switch(param){case 4106:AL.setListenerParam("alListenerf",param,value);break;default:AL.setListenerParam("alListenerf",param,null);break}};_alListenerf.sig="vif";var _alListenerfv=(param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.setListenerParam("alListenerfv",param,AL.paramArray);break;case 4111:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.paramArray[3]=HEAPF32[pValues+12>>2];AL.paramArray[4]=HEAPF32[pValues+16>>2];AL.paramArray[5]=HEAPF32[pValues+20>>2];AL.setListenerParam("alListenerfv",param,AL.paramArray);break;default:AL.setListenerParam("alListenerfv",param,null);break}};_alListenerfv.sig="vip";var _alListeneri=(param,value)=>{AL.setListenerParam("alListeneri",param,null)};_alListeneri.sig="vii";var _alListeneriv=(param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.paramArray[2]=HEAP32[pValues+8>>2];AL.setListenerParam("alListeneriv",param,AL.paramArray);break;case 4111:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.paramArray[2]=HEAP32[pValues+8>>2];AL.paramArray[3]=HEAP32[pValues+12>>2];AL.paramArray[4]=HEAP32[pValues+16>>2];AL.paramArray[5]=HEAP32[pValues+20>>2];AL.setListenerParam("alListeneriv",param,AL.paramArray);break;default:AL.setListenerParam("alListeneriv",param,null);break}};_alListeneriv.sig="vip";var _alSource3f=(sourceId,param,value0,value1,value2)=>{switch(param){case 4100:case 4101:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setSourceParam("alSource3f",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSource3f",sourceId,param,null);break}};_alSource3f.sig="viifff";var _alSource3i=(sourceId,param,value0,value1,value2)=>{switch(param){case 4100:case 4101:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setSourceParam("alSource3i",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSource3i",sourceId,param,null);break}};_alSource3i.sig="viiiii";var _alSourcePause=sourceId=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4115)};_alSourcePause.sig="vi";var _alSourcePausev=(count,pSourceIds)=>{if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i>2];AL.setSourceState(AL.currentCtx.sources[srcId],4115)}};_alSourcePausev.sig="vip";var _alSourcePlay=sourceId=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4114)};_alSourcePlay.sig="vi";var _alSourcePlayv=(count,pSourceIds)=>{if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i>2];AL.setSourceState(AL.currentCtx.sources[srcId],4114)}};_alSourcePlayv.sig="vip";var _alSourceQueueBuffers=(sourceId,count,pBufferIds)=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(src.type===4136){AL.currentCtx.err=40964;return}if(count===0){return}var templateBuf=AL.buffers[0];for(var buf of src.bufQueue){if(buf.id!==0){templateBuf=buf;break}}for(var i=0;i>2];var buf=AL.buffers[bufId];if(!buf){AL.currentCtx.err=40961;return}if(templateBuf.id!==0&&(buf.frequency!==templateBuf.frequency||buf.bytesPerSample!==templateBuf.bytesPerSample||buf.channels!==templateBuf.channels)){AL.currentCtx.err=40964}}if(src.bufQueue.length===1&&src.bufQueue[0].id===0){src.bufQueue.length=0}src.type=4137;for(var i=0;i>2];var buf=AL.buffers[bufId];buf.refCount++;src.bufQueue.push(buf)}if(src.looping){AL.cancelPendingSourceAudio(src)}AL.initSourcePanner(src);AL.scheduleSourceAudio(src)};_alSourceQueueBuffers.sig="viip";var _alSourceRewind=sourceId=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4116);AL.setSourceState(src,4113)};_alSourceRewind.sig="vi";var _alSourceRewindv=(count,pSourceIds)=>{if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i>2];AL.setSourceState(AL.currentCtx.sources[srcId],4113)}};_alSourceRewindv.sig="vip";var _alSourceStop=sourceId=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4116)};_alSourceStop.sig="vi";var _alSourceStopv=(count,pSourceIds)=>{if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i>2];AL.setSourceState(AL.currentCtx.sources[srcId],4116)}};_alSourceStopv.sig="vip";var _alSourceUnqueueBuffers=(sourceId,count,pBufferIds)=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(count>(src.bufQueue.length===1&&src.bufQueue[0].id===0?0:src.bufsProcessed)){AL.currentCtx.err=40963;return}if(count===0){return}for(var i=0;i>2]=buf.id;src.bufsProcessed--}if(src.bufQueue.length===0){src.bufQueue.push(AL.buffers[0])}AL.initSourcePanner(src);AL.scheduleSourceAudio(src)};_alSourceUnqueueBuffers.sig="viip";var _alSourcef=(sourceId,param,value)=>{switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:AL.setSourceParam("alSourcef",sourceId,param,value);break;default:AL.setSourceParam("alSourcef",sourceId,param,null);break}};_alSourcef.sig="viif";var _alSourcefv=(sourceId,param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:var val=HEAPF32[pValues>>2];AL.setSourceParam("alSourcefv",sourceId,param,val);break;case 4100:case 4101:case 4102:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.setSourceParam("alSourcefv",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSourcefv",sourceId,param,null);break}};_alSourcefv.sig="viip";var _alSourceiv=(sourceId,param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4628:case 8201:case 8202:case 53248:var val=HEAP32[pValues>>2];AL.setSourceParam("alSourceiv",sourceId,param,val);break;case 4100:case 4101:case 4102:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.paramArray[2]=HEAP32[pValues+8>>2];AL.setSourceParam("alSourceiv",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSourceiv",sourceId,param,null);break}};_alSourceiv.sig="viip";var _alSpeedOfSound=value=>{AL.setGlobalParam("alSpeedOfSound",49155,value)};_alSpeedOfSound.sig="vf";var _alcCaptureCloseDevice=deviceId=>{var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureCloseDevice");if(!c)return false;delete AL.captures[deviceId];AL.freeIds.push(deviceId);c.mediaStreamSourceNode?.disconnect();c.mergerNode?.disconnect();c.splitterNode?.disconnect();c.scriptProcessorNode?.disconnect();if(c.mediaStream){c.mediaStream.getTracks().forEach(track=>track.stop())}delete c.buffers;c.capturedFrameCount=0;c.isCapturing=false;return true};_alcCaptureCloseDevice.sig="ip";var autoResumeAudioContext=(ctx,elements)=>{if(!elements){elements=[document,document.getElementById("canvas")]}["keydown","mousedown","touchstart"].forEach(event=>{elements.forEach(element=>{element?.addEventListener(event,()=>{if(ctx.state==="suspended")ctx.resume()},{once:true})})})};var _alcCaptureOpenDevice=(pDeviceName,requestedSampleRate,format,bufferFrameCapacity)=>{var resolvedDeviceName=AL.CAPTURE_DEVICE_NAME;if(pDeviceName!==0){resolvedDeviceName=UTF8ToString(pDeviceName);if(resolvedDeviceName!==AL.CAPTURE_DEVICE_NAME){AL.alcErr=40965;return 0}}if(bufferFrameCapacity<0){AL.alcErr=40964;return 0}navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var has_getUserMedia=navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia;if(!has_getUserMedia){AL.alcErr=40965;return 0}var AudioContext=window.AudioContext||window.webkitAudioContext;if(!AL.sharedCaptureAudioCtx){try{AL.sharedCaptureAudioCtx=new AudioContext}catch(e){AL.alcErr=40965;return 0}}autoResumeAudioContext(AL.sharedCaptureAudioCtx);var outputChannelCount;switch(format){case 65552:case 4353:case 4352:outputChannelCount=1;break;case 65553:case 4355:case 4354:outputChannelCount=2;break;default:AL.alcErr=40964;return 0}function newF32Array(cap){return new Float32Array(cap)}function newI16Array(cap){return new Int16Array(cap)}function newU8Array(cap){return new Uint8Array(cap)}var requestedSampleType;var newSampleArray;switch(format){case 65552:case 65553:requestedSampleType="f32";newSampleArray=newF32Array;break;case 4353:case 4355:requestedSampleType="i16";newSampleArray=newI16Array;break;case 4352:case 4354:requestedSampleType="u8";newSampleArray=newU8Array;break}var buffers=[];try{for(var chan=0;chan{newCapture.mediaStreamError=mediaStreamError};var onSuccess=mediaStream=>{newCapture.mediaStreamSourceNode=newCapture.audioCtx.createMediaStreamSource(mediaStream);newCapture.mediaStream=mediaStream;var inputChannelCount=1;switch(newCapture.mediaStreamSourceNode.channelCountMode){case"max":inputChannelCount=outputChannelCount;break;case"clamped-max":inputChannelCount=Math.min(outputChannelCount,newCapture.mediaStreamSourceNode.channelCount);break;case"explicit":inputChannelCount=newCapture.mediaStreamSourceNode.channelCount;break}newCapture.inputChannelCount=inputChannelCount;var processorFrameCount=512;newCapture.scriptProcessorNode=newCapture.audioCtx.createScriptProcessor(processorFrameCount,inputChannelCount,outputChannelCount);if(inputChannelCount>outputChannelCount){newCapture.mergerNode=newCapture.audioCtx.createChannelMerger(inputChannelCount);newCapture.mediaStreamSourceNode.connect(newCapture.mergerNode);newCapture.mergerNode.connect(newCapture.scriptProcessorNode)}else if(inputChannelCount{if(!newCapture.isCapturing){return}var c=newCapture;var srcBuf=audioProcessingEvent.inputBuffer;switch(format){case 65552:var channel0=srcBuf.getChannelData(0);for(var i=0;i{var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureSamples");if(!c)return;var dstfreq=c.requestedSampleRate;var srcfreq=c.audioCtx.sampleRate;var fratio=srcfreq/dstfreq;if(requestedFrameCount<0||requestedFrameCount>c.capturedFrameCount/fratio){AL.alcErr=40964;return}function setF32Sample(i,sample){HEAPF32[pFrames+4*i>>2]=sample}function setI16Sample(i,sample){HEAP16[pFrames+2*i>>1]=sample}function setU8Sample(i,sample){HEAP8[pFrames+i]=sample}var setSample;switch(c.requestedSampleType){case"f32":setSample=setF32Sample;break;case"i16":setSample=setI16Sample;break;case"u8":setSample=setU8Sample;break;default:return}if(Math.floor(fratio)==fratio){for(var i=0,frame_i=0;frame_i{var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureStart");if(!c)return;if(c.isCapturing){return}c.isCapturing=true;c.capturedFrameCount=0;c.capturePlayhead=0};_alcCaptureStart.sig="vp";var _alcCaptureStop=deviceId=>{var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureStop");if(!c)return;c.isCapturing=false};_alcCaptureStop.sig="vp";var _alcCloseDevice=deviceId=>{if(!(deviceId in AL.deviceRefCounts)||AL.deviceRefCounts[deviceId]>0){return 0}delete AL.deviceRefCounts[deviceId];AL.freeIds.push(deviceId);return 1};_alcCloseDevice.sig="ip";var _alcCreateContext=(deviceId,pAttrList)=>{if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return 0}var options=null;var attrs=[];var hrtf=null;pAttrList>>=2;if(pAttrList){var attr=0;var val=0;while(true){attr=HEAP32[pAttrList++];attrs.push(attr);if(attr===0){break}val=HEAP32[pAttrList++];attrs.push(val);switch(attr){case 4103:if(!options){options={}}options.sampleRate=val;break;case 4112:case 4113:break;case 6546:switch(val){case 0:hrtf=false;break;case 1:hrtf=true;break;case 2:break;default:AL.alcErr=40964;return 0}break;case 6550:if(val!==0){AL.alcErr=40964;return 0}break;default:AL.alcErr=40964;return 0}}}var AudioContext=window.AudioContext||window.webkitAudioContext;var ac=null;try{if(options){ac=new AudioContext(options)}else{ac=new AudioContext}}catch(e){if(e.name==="NotSupportedError"){AL.alcErr=40964}else{AL.alcErr=40961}return 0}autoResumeAudioContext(ac);if(typeof ac.createGain=="undefined"){ac.createGain=ac.createGainNode}var gain=ac.createGain();gain.connect(ac.destination);var ctx={deviceId,id:AL.newId(),attrs,audioCtx:ac,listener:{position:[0,0,0],velocity:[0,0,0],direction:[0,0,0],up:[0,0,0]},sources:[],interval:setInterval(()=>AL.scheduleContextAudio(ctx),AL.QUEUE_INTERVAL),gain,distanceModel:53250,speedOfSound:343.3,dopplerFactor:1,sourceDistanceModel:false,hrtf:hrtf||false,_err:0,get err(){return this._err},set err(val){if(this._err===0||val===0){this._err=val}}};AL.deviceRefCounts[deviceId]++;AL.contexts[ctx.id]=ctx;if(hrtf!==null){for(var ctxId in AL.contexts){var c=AL.contexts[ctxId];if(c.deviceId===deviceId){c.hrtf=hrtf;AL.updateContextGlobal(c)}}}return ctx.id};_alcCreateContext.sig="ppp";var _alcDestroyContext=contextId=>{var ctx=AL.contexts[contextId];if(AL.currentCtx===ctx){AL.alcErr=40962;return}if(AL.contexts[contextId].interval){clearInterval(AL.contexts[contextId].interval)}AL.deviceRefCounts[ctx.deviceId]--;delete AL.contexts[contextId];AL.freeIds.push(contextId)};_alcDestroyContext.sig="vp";var _alcGetContextsDevice=contextId=>{if(contextId in AL.contexts){return AL.contexts[contextId].deviceId}return 0};_alcGetContextsDevice.sig="pp";var _alcGetCurrentContext=()=>{if(AL.currentCtx!==null){return AL.currentCtx.id}return 0};_alcGetCurrentContext.sig="p";var _alcGetEnumValue=(deviceId,pEnumName)=>{if(deviceId!==0&&!(deviceId in AL.deviceRefCounts)){return 0}else if(!pEnumName){AL.alcErr=40964;return 0}var name=UTF8ToString(pEnumName);switch(name){case"ALC_NO_ERROR":return 0;case"ALC_INVALID_DEVICE":return 40961;case"ALC_INVALID_CONTEXT":return 40962;case"ALC_INVALID_ENUM":return 40963;case"ALC_INVALID_VALUE":return 40964;case"ALC_OUT_OF_MEMORY":return 40965;case"ALC_MAJOR_VERSION":return 4096;case"ALC_MINOR_VERSION":return 4097;case"ALC_ATTRIBUTES_SIZE":return 4098;case"ALC_ALL_ATTRIBUTES":return 4099;case"ALC_DEFAULT_DEVICE_SPECIFIER":return 4100;case"ALC_DEVICE_SPECIFIER":return 4101;case"ALC_EXTENSIONS":return 4102;case"ALC_FREQUENCY":return 4103;case"ALC_REFRESH":return 4104;case"ALC_SYNC":return 4105;case"ALC_MONO_SOURCES":return 4112;case"ALC_STEREO_SOURCES":return 4113;case"ALC_CAPTURE_DEVICE_SPECIFIER":return 784;case"ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER":return 785;case"ALC_CAPTURE_SAMPLES":return 786;case"ALC_HRTF_SOFT":return 6546;case"ALC_HRTF_ID_SOFT":return 6550;case"ALC_DONT_CARE_SOFT":return 2;case"ALC_HRTF_STATUS_SOFT":return 6547;case"ALC_NUM_HRTF_SPECIFIERS_SOFT":return 6548;case"ALC_HRTF_SPECIFIER_SOFT":return 6549;case"ALC_HRTF_DISABLED_SOFT":return 0;case"ALC_HRTF_ENABLED_SOFT":return 1;case"ALC_HRTF_DENIED_SOFT":return 2;case"ALC_HRTF_REQUIRED_SOFT":return 3;case"ALC_HRTF_HEADPHONES_DETECTED_SOFT":return 4;case"ALC_HRTF_UNSUPPORTED_FORMAT_SOFT":return 5;default:AL.alcErr=40964;return 0}};_alcGetEnumValue.sig="ipp";var _alcGetError=deviceId=>{var err=AL.alcErr;AL.alcErr=0;return err};_alcGetError.sig="ip";var _alcGetIntegerv=(deviceId,param,size,pValues)=>{if(size===0||!pValues){return}switch(param){case 4096:HEAP32[pValues>>2]=1;break;case 4097:HEAP32[pValues>>2]=1;break;case 4098:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=AL.currentCtx.attrs.length;break;case 4099:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}for(var i=0;i>2]=AL.currentCtx.attrs[i]}break;case 4103:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=AL.currentCtx.audioCtx.sampleRate;break;case 4112:case 4113:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=2147483647;break;case 6546:case 6547:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}var hrtfStatus=0;for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId===deviceId){hrtfStatus=ctx.hrtf?1:0}}HEAP32[pValues>>2]=hrtfStatus;break;case 6548:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}HEAP32[pValues>>2]=1;break;case 131075:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=1;case 786:var c=AL.requireValidCaptureDevice(deviceId,"alcGetIntegerv");if(!c){return}var n=c.capturedFrameCount;var dstfreq=c.requestedSampleRate;var srcfreq=c.audioCtx.sampleRate;var nsamples=Math.floor(n*(dstfreq/srcfreq));HEAP32[pValues>>2]=nsamples;break;default:AL.alcErr=40963;return}};_alcGetIntegerv.sig="vpiip";var _alcGetString=(deviceId,param)=>{if(AL.alcStringCache[param]){return AL.alcStringCache[param]}var ret;switch(param){case 0:ret="No Error";break;case 40961:ret="Invalid Device";break;case 40962:ret="Invalid Context";break;case 40963:ret="Invalid Enum";break;case 40964:ret="Invalid Value";break;case 40965:ret="Out of Memory";break;case 4100:if(typeof AudioContext!="undefined"||typeof webkitAudioContext!="undefined"){ret=AL.DEVICE_NAME}else{return 0}break;case 4101:if(typeof AudioContext!="undefined"||typeof webkitAudioContext!="undefined"){ret=AL.DEVICE_NAME+"\0"}else{ret="\0"}break;case 785:ret=AL.CAPTURE_DEVICE_NAME;break;case 784:if(deviceId===0){ret=AL.CAPTURE_DEVICE_NAME+"\0"}else{var c=AL.requireValidCaptureDevice(deviceId,"alcGetString");if(!c){return 0}ret=c.deviceName}break;case 4102:if(!deviceId){AL.alcErr=40961;return 0}ret=Object.keys(AL.ALC_EXTENSIONS).join(" ");break;default:AL.alcErr=40963;return 0}ret=stringToNewUTF8(ret);AL.alcStringCache[param]=ret;return ret};_alcGetString.sig="ppi";var _alcIsExtensionPresent=(deviceId,pExtName)=>{var name=UTF8ToString(pExtName);return AL.ALC_EXTENSIONS[name]?1:0};_alcIsExtensionPresent.sig="ipp";var _alcMakeContextCurrent=contextId=>{if(contextId===0){AL.currentCtx=null}else{AL.currentCtx=AL.contexts[contextId]}return 1};_alcMakeContextCurrent.sig="ip";var _alcOpenDevice=pDeviceName=>{if(pDeviceName){var name=UTF8ToString(pDeviceName);if(name!==AL.DEVICE_NAME){return 0}}if(typeof AudioContext!="undefined"||typeof webkitAudioContext!="undefined"){var deviceId=AL.newId();AL.deviceRefCounts[deviceId]=0;return deviceId}return 0};_alcOpenDevice.sig="pp";var _alcProcessContext=contextId=>{};_alcProcessContext.sig="vp";var _alcSuspendContext=contextId=>{};_alcSuspendContext.sig="vp";var _emscripten_get_now_res=()=>1e3;_emscripten_get_now_res.sig="d";var nowIsMonotonic=1;var checkWasiClock=clock_id=>clock_id>=0&&clock_id<=3;var _clock_res_get=(clk_id,pres)=>{if(!checkWasiClock(clk_id)){return 28}var nsec;if(clk_id===0){nsec=1e3*1e3}else if(nowIsMonotonic){nsec=_emscripten_get_now_res()}else{return 52}tempI64=[nsec>>>0,(tempDouble=nsec,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pres>>2]=tempI64[0],HEAP32[pres+4>>2]=tempI64[1];return 0};_clock_res_get.sig="iip";var _emscripten_date_now=()=>Date.now();_emscripten_date_now.sig="d";function _clock_time_get(clk_id,ignored_precision_low,ignored_precision_high,ptime){var ignored_precision=convertI32PairToI53Checked(ignored_precision_low,ignored_precision_high);if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=_emscripten_date_now()}else if(nowIsMonotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);tempI64=[nsec>>>0,(tempDouble=nsec,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptime>>2]=tempI64[0],HEAP32[ptime+4>>2]=tempI64[1];return 0}_clock_time_get.sig="iiiip";var _emscripten_alcDevicePauseSOFT=deviceId=>{if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(AL.paused){return}AL.paused=true;for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId!==deviceId){continue}ctx.audioCtx.suspend();clearInterval(ctx.interval);ctx.interval=null}};_emscripten_alcDevicePauseSOFT.sig="vi";var _emscripten_alcDeviceResumeSOFT=deviceId=>{if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.paused){return}AL.paused=false;for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId!==deviceId){continue}ctx.interval=setInterval(()=>AL.scheduleContextAudio(ctx),AL.QUEUE_INTERVAL);ctx.audioCtx.resume()}};_emscripten_alcDeviceResumeSOFT.sig="vi";var _emscripten_alcGetStringiSOFT=(deviceId,param,index)=>{if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return 0}if(AL.alcStringCache[param]){return AL.alcStringCache[param]}var ret;switch(param){case 6549:if(index===0){ret="Web Audio HRTF"}else{AL.alcErr=40964;return 0}break;default:if(index!==0){AL.alcErr=40963;return 0}return _alcGetString(deviceId,param)}ret=stringToNewUTF8(ret);AL.alcStringCache[param]=ret;return ret};_emscripten_alcGetStringiSOFT.sig="iiii";var _emscripten_alcResetDeviceSOFT=(deviceId,pAttrList)=>{if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return 0}var hrtf=null;pAttrList>>=2;if(pAttrList){var attr=0;var val=0;while(true){attr=HEAP32[pAttrList++];if(attr===0){break}val=HEAP32[pAttrList++];switch(attr){case 6546:if(val===1){hrtf=true}else if(val===0){hrtf=false}break}}}if(hrtf!==null){for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId===deviceId){ctx.hrtf=hrtf;AL.updateContextGlobal(ctx)}}}return 1};_emscripten_alcResetDeviceSOFT.sig="iii";var readEmAsmArgsArray=[];var readEmAsmArgs=(sigPtr,buf)=>{readEmAsmArgsArray.length=0;var ch;while(ch=HEAPU8[sigPtr++]){var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?HEAPU32[buf>>2]:ch==105?HEAP32[buf>>2]:HEAPF64[buf>>3]);buf+=wide?8:4}return readEmAsmArgsArray};var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code](...args)};var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);_emscripten_asm_const_int.sig="ippp";var _emscripten_console_error=str=>{console.error(UTF8ToString(str))};_emscripten_console_error.sig="vp";var _emscripten_console_log=str=>{console.log(UTF8ToString(str))};_emscripten_console_log.sig="vp";var _emscripten_console_trace=str=>{console.trace(UTF8ToString(str))};_emscripten_console_trace.sig="vp";var _emscripten_console_warn=str=>{console.warn(UTF8ToString(str))};_emscripten_console_warn.sig="vp";var _emscripten_err=str=>err(UTF8ToString(str));_emscripten_err.sig="vp";var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>getHeapMax();_emscripten_get_heap_max.sig="p";var GLctx;var webgl_enable_ANGLE_instanced_arrays=ctx=>{var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=(index,divisor)=>ext["vertexAttribDivisorANGLE"](index,divisor);ctx["drawArraysInstanced"]=(mode,first,count,primcount)=>ext["drawArraysInstancedANGLE"](mode,first,count,primcount);ctx["drawElementsInstanced"]=(mode,count,type,indices,primcount)=>ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount);return 1}};var webgl_enable_OES_vertex_array_object=ctx=>{var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=()=>ext["createVertexArrayOES"]();ctx["deleteVertexArray"]=vao=>ext["deleteVertexArrayOES"](vao);ctx["bindVertexArray"]=vao=>ext["bindVertexArrayOES"](vao);ctx["isVertexArray"]=vao=>ext["isVertexArrayOES"](vao);return 1}};var webgl_enable_WEBGL_draw_buffers=ctx=>{var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=(n,bufs)=>ext["drawBuffersWEBGL"](n,bufs);return 1}};var webgl_enable_EXT_polygon_offset_clamp=ctx=>!!(ctx.extPolygonOffsetClamp=ctx.getExtension("EXT_polygon_offset_clamp"));var webgl_enable_EXT_clip_control=ctx=>!!(ctx.extClipControl=ctx.getExtension("EXT_clip_control"));var webgl_enable_WEBGL_polygon_mode=ctx=>!!(ctx.webglPolygonMode=ctx.getExtension("WEBGL_polygon_mode"));var webgl_enable_WEBGL_multi_draw=ctx=>!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"));var getEmscriptenSupportedExtensions=ctx=>{var supportedExtensions=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"];return(ctx.getSupportedExtensions()||[]).filter(ext=>supportedExtensions.includes(ext))};var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,unpackRowLength:0,recordError:errorCode=>{if(!GL.lastError){GL.lastError=errorCode}},getNewId:table=>{var ret=GL.counter++;for(var i=table.length;i{for(var i=0;i>2]=id}},getSource:(shader,count,string,length)=>{var source="";for(var i=0;i>2]:undefined;source+=UTF8ToString(HEAPU32[string+i*4>>2],len)}return source},createContext:(canvas,webGLContextAttributes)=>{if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;function fixedGetContext(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}canvas.getContext=fixedGetContext}var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:(ctx,webGLContextAttributes)=>{var handle=GL.getNewId(GL.contexts);var context={handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:contextHandle=>{GL.currentContext=GL.contexts[contextHandle];Module["ctx"]=GLctx=GL.currentContext?.GLctx;return!(contextHandle&&!GLctx)},getContext:contextHandle=>GL.contexts[contextHandle],deleteContext:contextHandle=>{if(GL.currentContext===GL.contexts[contextHandle]){GL.currentContext=null}if(typeof JSEvents=="object"){JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas)}if(GL.contexts[contextHandle]?.GLctx.canvas){GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined}GL.contexts[contextHandle]=null},initExtensions:context=>{context||=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_WEBGL_multi_draw(GLctx);webgl_enable_EXT_polygon_offset_clamp(GLctx);webgl_enable_EXT_clip_control(GLctx);webgl_enable_WEBGL_polygon_mode(GLctx);webgl_enable_ANGLE_instanced_arrays(GLctx);webgl_enable_OES_vertex_array_object(GLctx);webgl_enable_WEBGL_draw_buffers(GLctx);{GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}getEmscriptenSupportedExtensions(GLctx).forEach(ext=>{if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var _glActiveTexture=x0=>GLctx.activeTexture(x0);_glActiveTexture.sig="vi";var _emscripten_glActiveTexture=_glActiveTexture;_emscripten_glActiveTexture.sig="vi";var _glAttachShader=(program,shader)=>{GLctx.attachShader(GL.programs[program],GL.shaders[shader])};_glAttachShader.sig="vii";var _emscripten_glAttachShader=_glAttachShader;_emscripten_glAttachShader.sig="vii";var _glBeginQueryEXT=(target,id)=>{GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])};_glBeginQueryEXT.sig="vii";var _emscripten_glBeginQueryEXT=_glBeginQueryEXT;var _glBindAttribLocation=(program,index,name)=>{GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))};_glBindAttribLocation.sig="viip";var _emscripten_glBindAttribLocation=_glBindAttribLocation;_emscripten_glBindAttribLocation.sig="viip";var _glBindBuffer=(target,buffer)=>{GLctx.bindBuffer(target,GL.buffers[buffer])};_glBindBuffer.sig="vii";var _emscripten_glBindBuffer=_glBindBuffer;_emscripten_glBindBuffer.sig="vii";var _glBindFramebuffer=(target,framebuffer)=>{GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])};_glBindFramebuffer.sig="vii";var _emscripten_glBindFramebuffer=_glBindFramebuffer;_emscripten_glBindFramebuffer.sig="vii";var _glBindRenderbuffer=(target,renderbuffer)=>{GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])};_glBindRenderbuffer.sig="vii";var _emscripten_glBindRenderbuffer=_glBindRenderbuffer;_emscripten_glBindRenderbuffer.sig="vii";var _glBindTexture=(target,texture)=>{GLctx.bindTexture(target,GL.textures[texture])};_glBindTexture.sig="vii";var _emscripten_glBindTexture=_glBindTexture;_emscripten_glBindTexture.sig="vii";var _glBindVertexArray=vao=>{GLctx.bindVertexArray(GL.vaos[vao])};_glBindVertexArray.sig="vi";var _glBindVertexArrayOES=_glBindVertexArray;_glBindVertexArrayOES.sig="vi";var _emscripten_glBindVertexArrayOES=_glBindVertexArrayOES;_emscripten_glBindVertexArrayOES.sig="vi";var _glBlendColor=(x0,x1,x2,x3)=>GLctx.blendColor(x0,x1,x2,x3);_glBlendColor.sig="vffff";var _emscripten_glBlendColor=_glBlendColor;_emscripten_glBlendColor.sig="vffff";var _glBlendEquation=x0=>GLctx.blendEquation(x0);_glBlendEquation.sig="vi";var _emscripten_glBlendEquation=_glBlendEquation;_emscripten_glBlendEquation.sig="vi";var _glBlendEquationSeparate=(x0,x1)=>GLctx.blendEquationSeparate(x0,x1);_glBlendEquationSeparate.sig="vii";var _emscripten_glBlendEquationSeparate=_glBlendEquationSeparate;_emscripten_glBlendEquationSeparate.sig="vii";var _glBlendFunc=(x0,x1)=>GLctx.blendFunc(x0,x1);_glBlendFunc.sig="vii";var _emscripten_glBlendFunc=_glBlendFunc;_emscripten_glBlendFunc.sig="vii";var _glBlendFuncSeparate=(x0,x1,x2,x3)=>GLctx.blendFuncSeparate(x0,x1,x2,x3);_glBlendFuncSeparate.sig="viiii";var _emscripten_glBlendFuncSeparate=_glBlendFuncSeparate;_emscripten_glBlendFuncSeparate.sig="viiii";var _glBufferData=(target,size,data,usage)=>{GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)};_glBufferData.sig="vippi";var _emscripten_glBufferData=_glBufferData;_emscripten_glBufferData.sig="vippi";var _glBufferSubData=(target,offset,size,data)=>{GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))};_glBufferSubData.sig="vippp";var _emscripten_glBufferSubData=_glBufferSubData;_emscripten_glBufferSubData.sig="vippp";var _glCheckFramebufferStatus=x0=>GLctx.checkFramebufferStatus(x0);_glCheckFramebufferStatus.sig="ii";var _emscripten_glCheckFramebufferStatus=_glCheckFramebufferStatus;_emscripten_glCheckFramebufferStatus.sig="ii";var _glClear=x0=>GLctx.clear(x0);_glClear.sig="vi";var _emscripten_glClear=_glClear;_emscripten_glClear.sig="vi";var _glClearColor=(x0,x1,x2,x3)=>GLctx.clearColor(x0,x1,x2,x3);_glClearColor.sig="vffff";var _emscripten_glClearColor=_glClearColor;_emscripten_glClearColor.sig="vffff";var _glClearDepthf=x0=>GLctx.clearDepth(x0);_glClearDepthf.sig="vf";var _emscripten_glClearDepthf=_glClearDepthf;_emscripten_glClearDepthf.sig="vf";var _glClearStencil=x0=>GLctx.clearStencil(x0);_glClearStencil.sig="vi";var _emscripten_glClearStencil=_glClearStencil;_emscripten_glClearStencil.sig="vi";var _glClipControlEXT=(origin,depth)=>{GLctx.extClipControl["clipControlEXT"](origin,depth)};_glClipControlEXT.sig="vii";var _emscripten_glClipControlEXT=_glClipControlEXT;var _glColorMask=(red,green,blue,alpha)=>{GLctx.colorMask(!!red,!!green,!!blue,!!alpha)};_glColorMask.sig="viiii";var _emscripten_glColorMask=_glColorMask;_emscripten_glColorMask.sig="viiii";var _glCompileShader=shader=>{GLctx.compileShader(GL.shaders[shader])};_glCompileShader.sig="vi";var _emscripten_glCompileShader=_glCompileShader;_emscripten_glCompileShader.sig="vi";var _glCompressedTexImage2D=(target,level,internalFormat,width,height,border,imageSize,data)=>{GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,HEAPU8.subarray(data,data+imageSize))};_glCompressedTexImage2D.sig="viiiiiiip";var _emscripten_glCompressedTexImage2D=_glCompressedTexImage2D;_emscripten_glCompressedTexImage2D.sig="viiiiiiip";var _glCompressedTexSubImage2D=(target,level,xoffset,yoffset,width,height,format,imageSize,data)=>{GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,HEAPU8.subarray(data,data+imageSize))};_glCompressedTexSubImage2D.sig="viiiiiiiip";var _emscripten_glCompressedTexSubImage2D=_glCompressedTexSubImage2D;_emscripten_glCompressedTexSubImage2D.sig="viiiiiiiip";var _glCopyTexImage2D=(x0,x1,x2,x3,x4,x5,x6,x7)=>GLctx.copyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7);_glCopyTexImage2D.sig="viiiiiiii";var _emscripten_glCopyTexImage2D=_glCopyTexImage2D;_emscripten_glCopyTexImage2D.sig="viiiiiiii";var _glCopyTexSubImage2D=(x0,x1,x2,x3,x4,x5,x6,x7)=>GLctx.copyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7);_glCopyTexSubImage2D.sig="viiiiiiii";var _emscripten_glCopyTexSubImage2D=_glCopyTexSubImage2D;_emscripten_glCopyTexSubImage2D.sig="viiiiiiii";var _glCreateProgram=()=>{var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id};_glCreateProgram.sig="i";var _emscripten_glCreateProgram=_glCreateProgram;_emscripten_glCreateProgram.sig="i";var _glCreateShader=shaderType=>{var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id};_glCreateShader.sig="ii";var _emscripten_glCreateShader=_glCreateShader;_emscripten_glCreateShader.sig="ii";var _glCullFace=x0=>GLctx.cullFace(x0);_glCullFace.sig="vi";var _emscripten_glCullFace=_glCullFace;_emscripten_glCullFace.sig="vi";var _glDeleteBuffers=(n,buffers)=>{for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}};_glDeleteBuffers.sig="vip";var _emscripten_glDeleteBuffers=_glDeleteBuffers;_emscripten_glDeleteBuffers.sig="vip";var _glDeleteFramebuffers=(n,framebuffers)=>{for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}};_glDeleteFramebuffers.sig="vip";var _emscripten_glDeleteFramebuffers=_glDeleteFramebuffers;_emscripten_glDeleteFramebuffers.sig="vip";var _glDeleteProgram=id=>{if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null};_glDeleteProgram.sig="vi";var _emscripten_glDeleteProgram=_glDeleteProgram;_emscripten_glDeleteProgram.sig="vi";var _glDeleteQueriesEXT=(n,ids)=>{for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.queries[id]=null}};_glDeleteQueriesEXT.sig="vip";var _emscripten_glDeleteQueriesEXT=_glDeleteQueriesEXT;var _glDeleteRenderbuffers=(n,renderbuffers)=>{for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}};_glDeleteRenderbuffers.sig="vip";var _emscripten_glDeleteRenderbuffers=_glDeleteRenderbuffers;_emscripten_glDeleteRenderbuffers.sig="vip";var _glDeleteShader=id=>{if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null};_glDeleteShader.sig="vi";var _emscripten_glDeleteShader=_glDeleteShader;_emscripten_glDeleteShader.sig="vi";var _glDeleteTextures=(n,textures)=>{for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}};_glDeleteTextures.sig="vip";var _emscripten_glDeleteTextures=_glDeleteTextures;_emscripten_glDeleteTextures.sig="vip";var _glDeleteVertexArrays=(n,vaos)=>{for(var i=0;i>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}};_glDeleteVertexArrays.sig="vip";var _glDeleteVertexArraysOES=_glDeleteVertexArrays;_glDeleteVertexArraysOES.sig="vip";var _emscripten_glDeleteVertexArraysOES=_glDeleteVertexArraysOES;_emscripten_glDeleteVertexArraysOES.sig="vip";var _glDepthFunc=x0=>GLctx.depthFunc(x0);_glDepthFunc.sig="vi";var _emscripten_glDepthFunc=_glDepthFunc;_emscripten_glDepthFunc.sig="vi";var _glDepthMask=flag=>{GLctx.depthMask(!!flag)};_glDepthMask.sig="vi";var _emscripten_glDepthMask=_glDepthMask;_emscripten_glDepthMask.sig="vi";var _glDepthRangef=(x0,x1)=>GLctx.depthRange(x0,x1);_glDepthRangef.sig="vff";var _emscripten_glDepthRangef=_glDepthRangef;_emscripten_glDepthRangef.sig="vff";var _glDetachShader=(program,shader)=>{GLctx.detachShader(GL.programs[program],GL.shaders[shader])};_glDetachShader.sig="vii";var _emscripten_glDetachShader=_glDetachShader;_emscripten_glDetachShader.sig="vii";var _glDisable=x0=>GLctx.disable(x0);_glDisable.sig="vi";var _emscripten_glDisable=_glDisable;_emscripten_glDisable.sig="vi";var _glDisableVertexAttribArray=index=>{GLctx.disableVertexAttribArray(index)};_glDisableVertexAttribArray.sig="vi";var _emscripten_glDisableVertexAttribArray=_glDisableVertexAttribArray;_emscripten_glDisableVertexAttribArray.sig="vi";var _glDrawArrays=(mode,first,count)=>{GLctx.drawArrays(mode,first,count)};_glDrawArrays.sig="viii";var _emscripten_glDrawArrays=_glDrawArrays;_emscripten_glDrawArrays.sig="viii";var _glDrawArraysInstanced=(mode,first,count,primcount)=>{GLctx.drawArraysInstanced(mode,first,count,primcount)};_glDrawArraysInstanced.sig="viiii";var _glDrawArraysInstancedANGLE=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedANGLE=_glDrawArraysInstancedANGLE;var tempFixedLengthArray=[];var _glDrawBuffers=(n,bufs)=>{var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx.drawBuffers(bufArray)};_glDrawBuffers.sig="vip";var _glDrawBuffersWEBGL=_glDrawBuffers;var _emscripten_glDrawBuffersWEBGL=_glDrawBuffersWEBGL;var _glDrawElements=(mode,count,type,indices)=>{GLctx.drawElements(mode,count,type,indices)};_glDrawElements.sig="viiip";var _emscripten_glDrawElements=_glDrawElements;_emscripten_glDrawElements.sig="viiip";var _glDrawElementsInstanced=(mode,count,type,indices,primcount)=>{GLctx.drawElementsInstanced(mode,count,type,indices,primcount)};_glDrawElementsInstanced.sig="viiipi";var _glDrawElementsInstancedANGLE=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedANGLE=_glDrawElementsInstancedANGLE;var _glEnable=x0=>GLctx.enable(x0);_glEnable.sig="vi";var _emscripten_glEnable=_glEnable;_emscripten_glEnable.sig="vi";var _glEnableVertexAttribArray=index=>{GLctx.enableVertexAttribArray(index)};_glEnableVertexAttribArray.sig="vi";var _emscripten_glEnableVertexAttribArray=_glEnableVertexAttribArray;_emscripten_glEnableVertexAttribArray.sig="vi";var _glEndQueryEXT=target=>{GLctx.disjointTimerQueryExt["endQueryEXT"](target)};_glEndQueryEXT.sig="vi";var _emscripten_glEndQueryEXT=_glEndQueryEXT;var _glFinish=()=>GLctx.finish();_glFinish.sig="v";var _emscripten_glFinish=_glFinish;_emscripten_glFinish.sig="v";var _glFlush=()=>GLctx.flush();_glFlush.sig="v";var _emscripten_glFlush=_glFlush;_emscripten_glFlush.sig="v";var _glFramebufferRenderbuffer=(target,attachment,renderbuffertarget,renderbuffer)=>{GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])};_glFramebufferRenderbuffer.sig="viiii";var _emscripten_glFramebufferRenderbuffer=_glFramebufferRenderbuffer;_emscripten_glFramebufferRenderbuffer.sig="viiii";var _glFramebufferTexture2D=(target,attachment,textarget,texture,level)=>{GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)};_glFramebufferTexture2D.sig="viiiii";var _emscripten_glFramebufferTexture2D=_glFramebufferTexture2D;_emscripten_glFramebufferTexture2D.sig="viiiii";var _glFrontFace=x0=>GLctx.frontFace(x0);_glFrontFace.sig="vi";var _emscripten_glFrontFace=_glFrontFace;_emscripten_glFrontFace.sig="vi";var _glGenBuffers=(n,buffers)=>{GL.genObject(n,buffers,"createBuffer",GL.buffers)};_glGenBuffers.sig="vip";var _emscripten_glGenBuffers=_glGenBuffers;_emscripten_glGenBuffers.sig="vip";var _glGenFramebuffers=(n,ids)=>{GL.genObject(n,ids,"createFramebuffer",GL.framebuffers)};_glGenFramebuffers.sig="vip";var _emscripten_glGenFramebuffers=_glGenFramebuffers;_emscripten_glGenFramebuffers.sig="vip";var _glGenQueriesEXT=(n,ids)=>{for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.queries);query.name=id;GL.queries[id]=query;HEAP32[ids+i*4>>2]=id}};_glGenQueriesEXT.sig="vip";var _emscripten_glGenQueriesEXT=_glGenQueriesEXT;var _glGenRenderbuffers=(n,renderbuffers)=>{GL.genObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)};_glGenRenderbuffers.sig="vip";var _emscripten_glGenRenderbuffers=_glGenRenderbuffers;_emscripten_glGenRenderbuffers.sig="vip";var _glGenTextures=(n,textures)=>{GL.genObject(n,textures,"createTexture",GL.textures)};_glGenTextures.sig="vip";var _emscripten_glGenTextures=_glGenTextures;_emscripten_glGenTextures.sig="vip";var _glGenVertexArrays=(n,arrays)=>{GL.genObject(n,arrays,"createVertexArray",GL.vaos)};_glGenVertexArrays.sig="vip";var _glGenVertexArraysOES=_glGenVertexArrays;_glGenVertexArraysOES.sig="vip";var _emscripten_glGenVertexArraysOES=_glGenVertexArraysOES;_emscripten_glGenVertexArraysOES.sig="vip";var _glGenerateMipmap=x0=>GLctx.generateMipmap(x0);_glGenerateMipmap.sig="vi";var _emscripten_glGenerateMipmap=_glGenerateMipmap;_emscripten_glGenerateMipmap.sig="vi";var __glGetActiveAttribOrUniform=(funcName,program,index,bufSize,length,size,type,name)=>{program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}};var _glGetActiveAttrib=(program,index,bufSize,length,size,type,name)=>__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name);_glGetActiveAttrib.sig="viiipppp";var _emscripten_glGetActiveAttrib=_glGetActiveAttrib;_emscripten_glGetActiveAttrib.sig="viiipppp";var _glGetActiveUniform=(program,index,bufSize,length,size,type,name)=>__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name);_glGetActiveUniform.sig="viiipppp";var _emscripten_glGetActiveUniform=_glGetActiveUniform;_emscripten_glGetActiveUniform.sig="viiipppp";var _glGetAttachedShaders=(program,maxCount,count,shaders)=>{var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}};_glGetAttachedShaders.sig="viipp";var _emscripten_glGetAttachedShaders=_glGetAttachedShaders;_emscripten_glGetAttachedShaders.sig="viipp";var _glGetAttribLocation=(program,name)=>GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name));_glGetAttribLocation.sig="iip";var _emscripten_glGetAttribLocation=_glGetAttribLocation;_emscripten_glGetAttribLocation.sig="iip";var writeI53ToI64=(ptr,num)=>{HEAPU32[ptr>>2]=num;var lower=HEAPU32[ptr>>2];HEAPU32[ptr+4>>2]=(num-lower)/4294967296};var emscriptenWebGLGet=(name_,p,type)=>{if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Unknown object returned from WebGL getParameter(${name_})! (error: ${e})`);return}}break;default:GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Native code calling glGet${type}v(${name_}) and it returns ${result} of type ${typeof result}!`);return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p]=ret?1:0;break}};var _glGetBooleanv=(name_,p)=>emscriptenWebGLGet(name_,p,4);_glGetBooleanv.sig="vip";var _emscripten_glGetBooleanv=_glGetBooleanv;_emscripten_glGetBooleanv.sig="vip";var _glGetBufferParameteriv=(target,value,data)=>{if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)};_glGetBufferParameteriv.sig="viip";var _emscripten_glGetBufferParameteriv=_glGetBufferParameteriv;_emscripten_glGetBufferParameteriv.sig="viip";var _glGetError=()=>{var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error};_glGetError.sig="i";var _emscripten_glGetError=_glGetError;_emscripten_glGetError.sig="i";var _glGetFloatv=(name_,p)=>emscriptenWebGLGet(name_,p,2);_glGetFloatv.sig="vip";var _emscripten_glGetFloatv=_glGetFloatv;_emscripten_glGetFloatv.sig="vip";var _glGetFramebufferAttachmentParameteriv=(target,attachment,pname,params)=>{var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result};_glGetFramebufferAttachmentParameteriv.sig="viiip";var _emscripten_glGetFramebufferAttachmentParameteriv=_glGetFramebufferAttachmentParameteriv;_emscripten_glGetFramebufferAttachmentParameteriv.sig="viiip";var _glGetIntegerv=(name_,p)=>emscriptenWebGLGet(name_,p,0);_glGetIntegerv.sig="vip";var _emscripten_glGetIntegerv=_glGetIntegerv;_emscripten_glGetIntegerv.sig="vip";var _glGetProgramInfoLog=(program,maxLength,length,infoLog)=>{var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};_glGetProgramInfoLog.sig="viipp";var _emscripten_glGetProgramInfoLog=_glGetProgramInfoLog;_emscripten_glGetProgramInfoLog.sig="viipp";var _glGetProgramiv=(program,pname,p)=>{if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){var numActiveUniforms=GLctx.getProgramParameter(program,35718);for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){var numActiveAttributes=GLctx.getProgramParameter(program,35721);for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){var numActiveUniformBlocks=GLctx.getProgramParameter(program,35382);for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}};_glGetProgramiv.sig="viip";var _emscripten_glGetProgramiv=_glGetProgramiv;_emscripten_glGetProgramiv.sig="viip";var _glGetQueryObjecti64vEXT=(id,pname,params)=>{if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;{param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)};_glGetQueryObjecti64vEXT.sig="viip";var _emscripten_glGetQueryObjecti64vEXT=_glGetQueryObjecti64vEXT;var _glGetQueryObjectivEXT=(id,pname,params)=>{if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret};_glGetQueryObjectivEXT.sig="viip";var _emscripten_glGetQueryObjectivEXT=_glGetQueryObjectivEXT;var _glGetQueryObjectui64vEXT=_glGetQueryObjecti64vEXT;var _emscripten_glGetQueryObjectui64vEXT=_glGetQueryObjectui64vEXT;var _glGetQueryObjectuivEXT=_glGetQueryObjectivEXT;var _emscripten_glGetQueryObjectuivEXT=_glGetQueryObjectuivEXT;var _glGetQueryivEXT=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)};_glGetQueryivEXT.sig="viip";var _emscripten_glGetQueryivEXT=_glGetQueryivEXT;var _glGetRenderbufferParameteriv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)};_glGetRenderbufferParameteriv.sig="viip";var _emscripten_glGetRenderbufferParameteriv=_glGetRenderbufferParameteriv;_emscripten_glGetRenderbufferParameteriv.sig="viip";var _glGetShaderInfoLog=(shader,maxLength,length,infoLog)=>{var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};_glGetShaderInfoLog.sig="viipp";var _emscripten_glGetShaderInfoLog=_glGetShaderInfoLog;_emscripten_glGetShaderInfoLog.sig="viipp";var _glGetShaderPrecisionFormat=(shaderType,precisionType,range,precision)=>{var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision};_glGetShaderPrecisionFormat.sig="viipp";var _emscripten_glGetShaderPrecisionFormat=_glGetShaderPrecisionFormat;_emscripten_glGetShaderPrecisionFormat.sig="viipp";var _glGetShaderSource=(shader,bufSize,length,source)=>{var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};_glGetShaderSource.sig="viipp";var _emscripten_glGetShaderSource=_glGetShaderSource;_emscripten_glGetShaderSource.sig="viipp";var _glGetShaderiv=(shader,pname,p)=>{if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}};_glGetShaderiv.sig="viip";var _emscripten_glGetShaderiv=_glGetShaderiv;_emscripten_glGetShaderiv.sig="viip";var webglGetExtensions=()=>{var exts=getEmscriptenSupportedExtensions(GLctx);exts=exts.concat(exts.map(e=>"GL_"+e));return exts};var _glGetString=name_=>{var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:ret=stringToNewUTF8(webglGetExtensions().join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s?stringToNewUTF8(s):0;break;case 7938:var webGLVersion=GLctx.getParameter(7938);var glVersion=`OpenGL ES 2.0 (${webGLVersion})`;ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion=`OpenGL ES GLSL ES ${ver_num[1]} (${glslVersion})`}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret};_glGetString.sig="pi";var _emscripten_glGetString=_glGetString;_emscripten_glGetString.sig="pi";var _glGetTexParameterfv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)};_glGetTexParameterfv.sig="viip";var _emscripten_glGetTexParameterfv=_glGetTexParameterfv;_emscripten_glGetTexParameterfv.sig="viip";var _glGetTexParameteriv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)};_glGetTexParameteriv.sig="viip";var _emscripten_glGetTexParameteriv=_glGetTexParameteriv;_emscripten_glGetTexParameteriv.sig="viip";var jstoi_q=str=>parseInt(str);var webglGetLeftBracePos=name=>name.slice(-1)=="]"&&name.lastIndexOf("[");var webglPrepareUniformLocationsBeforeFirstUse=program=>{var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};var numActiveUniforms=GLctx.getProgramParameter(program,35718);for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j{name=UTF8ToString(name);if(program=GL.programs[program]){webglPrepareUniformLocationsBeforeFirstUse(program);var uniformLocsById=program.uniformLocsById;var arrayIndex=0;var uniformBaseName=name;var leftBrace=webglGetLeftBracePos(name);if(leftBrace>0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex{var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc=="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?`[${webglLoc}]`:""))}return webglLoc}else{GL.recordError(1282)}};var emscriptenWebGLGetUniform=(program,location,params,type)=>{if(!params){GL.recordError(1281);return}program=GL.programs[program];webglPrepareUniformLocationsBeforeFirstUse(program);var data=GLctx.getUniform(program,webglGetUniformLocation(location));if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}};var _glGetUniformfv=(program,location,params)=>{emscriptenWebGLGetUniform(program,location,params,2)};_glGetUniformfv.sig="viip";var _emscripten_glGetUniformfv=_glGetUniformfv;_emscripten_glGetUniformfv.sig="viip";var _glGetUniformiv=(program,location,params)=>{emscriptenWebGLGetUniform(program,location,params,0)};_glGetUniformiv.sig="viip";var _emscripten_glGetUniformiv=_glGetUniformiv;_emscripten_glGetUniformiv.sig="viip";var _glGetVertexAttribPointerv=(index,pname,pointer)=>{if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)};_glGetVertexAttribPointerv.sig="viip";var _emscripten_glGetVertexAttribPointerv=_glGetVertexAttribPointerv;_emscripten_glGetVertexAttribPointerv.sig="viip";var emscriptenWebGLGetVertexAttrib=(index,pname,params,type)=>{if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}};var _glGetVertexAttribfv=(index,pname,params)=>{emscriptenWebGLGetVertexAttrib(index,pname,params,2)};_glGetVertexAttribfv.sig="viip";var _emscripten_glGetVertexAttribfv=_glGetVertexAttribfv;_emscripten_glGetVertexAttribfv.sig="viip";var _glGetVertexAttribiv=(index,pname,params)=>{emscriptenWebGLGetVertexAttrib(index,pname,params,5)};_glGetVertexAttribiv.sig="viip";var _emscripten_glGetVertexAttribiv=_glGetVertexAttribiv;_emscripten_glGetVertexAttribiv.sig="viip";var _glHint=(x0,x1)=>GLctx.hint(x0,x1);_glHint.sig="vii";var _emscripten_glHint=_glHint;_emscripten_glHint.sig="vii";var _glIsBuffer=buffer=>{var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)};_glIsBuffer.sig="ii";var _emscripten_glIsBuffer=_glIsBuffer;_emscripten_glIsBuffer.sig="ii";var _glIsEnabled=x0=>GLctx.isEnabled(x0);_glIsEnabled.sig="ii";var _emscripten_glIsEnabled=_glIsEnabled;_emscripten_glIsEnabled.sig="ii";var _glIsFramebuffer=framebuffer=>{var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)};_glIsFramebuffer.sig="ii";var _emscripten_glIsFramebuffer=_glIsFramebuffer;_emscripten_glIsFramebuffer.sig="ii";var _glIsProgram=program=>{program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)};_glIsProgram.sig="ii";var _emscripten_glIsProgram=_glIsProgram;_emscripten_glIsProgram.sig="ii";var _glIsQueryEXT=id=>{var query=GL.queries[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)};_glIsQueryEXT.sig="ii";var _emscripten_glIsQueryEXT=_glIsQueryEXT;var _glIsRenderbuffer=renderbuffer=>{var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)};_glIsRenderbuffer.sig="ii";var _emscripten_glIsRenderbuffer=_glIsRenderbuffer;_emscripten_glIsRenderbuffer.sig="ii";var _glIsShader=shader=>{var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)};_glIsShader.sig="ii";var _emscripten_glIsShader=_glIsShader;_emscripten_glIsShader.sig="ii";var _glIsTexture=id=>{var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)};_glIsTexture.sig="ii";var _emscripten_glIsTexture=_glIsTexture;_emscripten_glIsTexture.sig="ii";var _glIsVertexArray=array=>{var vao=GL.vaos[array];if(!vao)return 0;return GLctx.isVertexArray(vao)};_glIsVertexArray.sig="ii";var _glIsVertexArrayOES=_glIsVertexArray;_glIsVertexArrayOES.sig="ii";var _emscripten_glIsVertexArrayOES=_glIsVertexArrayOES;_emscripten_glIsVertexArrayOES.sig="ii";var _glLineWidth=x0=>GLctx.lineWidth(x0);_glLineWidth.sig="vf";var _emscripten_glLineWidth=_glLineWidth;_emscripten_glLineWidth.sig="vf";var _glLinkProgram=program=>{program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}};_glLinkProgram.sig="vi";var _emscripten_glLinkProgram=_glLinkProgram;_emscripten_glLinkProgram.sig="vi";var _glPixelStorei=(pname,param)=>{if(pname==3317){GL.unpackAlignment=param}else if(pname==3314){GL.unpackRowLength=param}GLctx.pixelStorei(pname,param)};_glPixelStorei.sig="vii";var _emscripten_glPixelStorei=_glPixelStorei;_emscripten_glPixelStorei.sig="vii";var _glPolygonModeWEBGL=(face,mode)=>{GLctx.webglPolygonMode["polygonModeWEBGL"](face,mode)};_glPolygonModeWEBGL.sig="vii";var _emscripten_glPolygonModeWEBGL=_glPolygonModeWEBGL;var _glPolygonOffset=(x0,x1)=>GLctx.polygonOffset(x0,x1);_glPolygonOffset.sig="vff";var _emscripten_glPolygonOffset=_glPolygonOffset;_emscripten_glPolygonOffset.sig="vff";var _glPolygonOffsetClampEXT=(factor,units,clamp)=>{GLctx.extPolygonOffsetClamp["polygonOffsetClampEXT"](factor,units,clamp)};_glPolygonOffsetClampEXT.sig="vfff";var _emscripten_glPolygonOffsetClampEXT=_glPolygonOffsetClampEXT;var _glQueryCounterEXT=(id,target)=>{GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)};_glQueryCounterEXT.sig="vii";var _emscripten_glQueryCounterEXT=_glQueryCounterEXT;var computeUnpackAlignedImageSize=(width,height,sizePerPixel)=>{function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=(GL.unpackRowLength||width)*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,GL.unpackAlignment);return height*alignedRowSize};var colorChannelsInGlTextureFormat=format=>{var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1};var heapObjectForWebGLType=type=>{type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16};var toTypedArrayIndex=(pointer,heap)=>pointer>>>31-Math.clz32(heap.BYTES_PER_ELEMENT);var emscriptenWebGLGetTexPixelData=(type,format,width,height,pixels,internalFormat)=>{var heap=heapObjectForWebGLType(type);var sizePerPixel=colorChannelsInGlTextureFormat(format)*heap.BYTES_PER_ELEMENT;var bytes=computeUnpackAlignedImageSize(width,height,sizePerPixel);return heap.subarray(toTypedArrayIndex(pixels,heap),toTypedArrayIndex(pixels+bytes,heap))};var _glReadPixels=(x,y,width,height,format,type,pixels)=>{var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)};_glReadPixels.sig="viiiiiip";var _emscripten_glReadPixels=_glReadPixels;_emscripten_glReadPixels.sig="viiiiiip";var _glReleaseShaderCompiler=()=>{};_glReleaseShaderCompiler.sig="v";var _emscripten_glReleaseShaderCompiler=_glReleaseShaderCompiler;_emscripten_glReleaseShaderCompiler.sig="v";var _glRenderbufferStorage=(x0,x1,x2,x3)=>GLctx.renderbufferStorage(x0,x1,x2,x3);_glRenderbufferStorage.sig="viiii";var _emscripten_glRenderbufferStorage=_glRenderbufferStorage;_emscripten_glRenderbufferStorage.sig="viiii";var _glSampleCoverage=(value,invert)=>{GLctx.sampleCoverage(value,!!invert)};_glSampleCoverage.sig="vfi";var _emscripten_glSampleCoverage=_glSampleCoverage;_emscripten_glSampleCoverage.sig="vfi";var _glScissor=(x0,x1,x2,x3)=>GLctx.scissor(x0,x1,x2,x3);_glScissor.sig="viiii";var _emscripten_glScissor=_glScissor;_emscripten_glScissor.sig="viiii";var _glShaderBinary=(count,shaders,binaryformat,binary,length)=>{GL.recordError(1280)};_glShaderBinary.sig="vipipi";var _emscripten_glShaderBinary=_glShaderBinary;_emscripten_glShaderBinary.sig="vipipi";var _glShaderSource=(shader,count,string,length)=>{var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)};_glShaderSource.sig="viipp";var _emscripten_glShaderSource=_glShaderSource;_emscripten_glShaderSource.sig="viipp";var _glStencilFunc=(x0,x1,x2)=>GLctx.stencilFunc(x0,x1,x2);_glStencilFunc.sig="viii";var _emscripten_glStencilFunc=_glStencilFunc;_emscripten_glStencilFunc.sig="viii";var _glStencilFuncSeparate=(x0,x1,x2,x3)=>GLctx.stencilFuncSeparate(x0,x1,x2,x3);_glStencilFuncSeparate.sig="viiii";var _emscripten_glStencilFuncSeparate=_glStencilFuncSeparate;_emscripten_glStencilFuncSeparate.sig="viiii";var _glStencilMask=x0=>GLctx.stencilMask(x0);_glStencilMask.sig="vi";var _emscripten_glStencilMask=_glStencilMask;_emscripten_glStencilMask.sig="vi";var _glStencilMaskSeparate=(x0,x1)=>GLctx.stencilMaskSeparate(x0,x1);_glStencilMaskSeparate.sig="vii";var _emscripten_glStencilMaskSeparate=_glStencilMaskSeparate;_emscripten_glStencilMaskSeparate.sig="vii";var _glStencilOp=(x0,x1,x2)=>GLctx.stencilOp(x0,x1,x2);_glStencilOp.sig="viii";var _emscripten_glStencilOp=_glStencilOp;_emscripten_glStencilOp.sig="viii";var _glStencilOpSeparate=(x0,x1,x2,x3)=>GLctx.stencilOpSeparate(x0,x1,x2,x3);_glStencilOpSeparate.sig="viiii";var _emscripten_glStencilOpSeparate=_glStencilOpSeparate;_emscripten_glStencilOpSeparate.sig="viiii";var _glTexImage2D=(target,level,internalFormat,width,height,border,format,type,pixels)=>{var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null;GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)};_glTexImage2D.sig="viiiiiiiip";var _emscripten_glTexImage2D=_glTexImage2D;_emscripten_glTexImage2D.sig="viiiiiiiip";var _glTexParameterf=(x0,x1,x2)=>GLctx.texParameterf(x0,x1,x2);_glTexParameterf.sig="viif";var _emscripten_glTexParameterf=_glTexParameterf;_emscripten_glTexParameterf.sig="viif";var _glTexParameterfv=(target,pname,params)=>{var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)};_glTexParameterfv.sig="viip";var _emscripten_glTexParameterfv=_glTexParameterfv;_emscripten_glTexParameterfv.sig="viip";var _glTexParameteri=(x0,x1,x2)=>GLctx.texParameteri(x0,x1,x2);_glTexParameteri.sig="viii";var _emscripten_glTexParameteri=_glTexParameteri;_emscripten_glTexParameteri.sig="viii";var _glTexParameteriv=(target,pname,params)=>{var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)};_glTexParameteriv.sig="viip";var _emscripten_glTexParameteriv=_glTexParameteriv;_emscripten_glTexParameteriv.sig="viip";var _glTexSubImage2D=(target,level,xoffset,yoffset,width,height,format,type,pixels)=>{var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0):null;GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)};_glTexSubImage2D.sig="viiiiiiiip";var _emscripten_glTexSubImage2D=_glTexSubImage2D;_emscripten_glTexSubImage2D.sig="viiiiiiiip";var _glUniform1f=(location,v0)=>{GLctx.uniform1f(webglGetUniformLocation(location),v0)};_glUniform1f.sig="vif";var _emscripten_glUniform1f=_glUniform1f;_emscripten_glUniform1f.sig="vif";var miniTempWebGLFloatBuffers=[];var _glUniform1fv=(location,count,value)=>{if(count<=288){var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(webglGetUniformLocation(location),view)};_glUniform1fv.sig="viip";var _emscripten_glUniform1fv=_glUniform1fv;_emscripten_glUniform1fv.sig="viip";var _glUniform1i=(location,v0)=>{GLctx.uniform1i(webglGetUniformLocation(location),v0)};_glUniform1i.sig="vii";var _emscripten_glUniform1i=_glUniform1i;_emscripten_glUniform1i.sig="vii";var miniTempWebGLIntBuffers=[];var _glUniform1iv=(location,count,value)=>{if(count<=288){var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(webglGetUniformLocation(location),view)};_glUniform1iv.sig="viip";var _emscripten_glUniform1iv=_glUniform1iv;_emscripten_glUniform1iv.sig="viip";var _glUniform2f=(location,v0,v1)=>{GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)};_glUniform2f.sig="viff";var _emscripten_glUniform2f=_glUniform2f;_emscripten_glUniform2f.sig="viff";var _glUniform2fv=(location,count,value)=>{if(count<=144){count*=2;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(webglGetUniformLocation(location),view)};_glUniform2fv.sig="viip";var _emscripten_glUniform2fv=_glUniform2fv;_emscripten_glUniform2fv.sig="viip";var _glUniform2i=(location,v0,v1)=>{GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)};_glUniform2i.sig="viii";var _emscripten_glUniform2i=_glUniform2i;_emscripten_glUniform2i.sig="viii";var _glUniform2iv=(location,count,value)=>{if(count<=144){count*=2;var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(webglGetUniformLocation(location),view)};_glUniform2iv.sig="viip";var _emscripten_glUniform2iv=_glUniform2iv;_emscripten_glUniform2iv.sig="viip";var _glUniform3f=(location,v0,v1,v2)=>{GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)};_glUniform3f.sig="vifff";var _emscripten_glUniform3f=_glUniform3f;_emscripten_glUniform3f.sig="vifff";var _glUniform3fv=(location,count,value)=>{if(count<=96){count*=3;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(webglGetUniformLocation(location),view)};_glUniform3fv.sig="viip";var _emscripten_glUniform3fv=_glUniform3fv;_emscripten_glUniform3fv.sig="viip";var _glUniform3i=(location,v0,v1,v2)=>{GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)};_glUniform3i.sig="viiii";var _emscripten_glUniform3i=_glUniform3i;_emscripten_glUniform3i.sig="viiii";var _glUniform3iv=(location,count,value)=>{if(count<=96){count*=3;var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(webglGetUniformLocation(location),view)};_glUniform3iv.sig="viip";var _emscripten_glUniform3iv=_glUniform3iv;_emscripten_glUniform3iv.sig="viip";var _glUniform4f=(location,v0,v1,v2,v3)=>{GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)};_glUniform4f.sig="viffff";var _emscripten_glUniform4f=_glUniform4f;_emscripten_glUniform4f.sig="viffff";var _glUniform4fv=(location,count,value)=>{if(count<=72){var view=miniTempWebGLFloatBuffers[4*count];var heap=HEAPF32;value=value>>2;count*=4;for(var i=0;i>2,value+count*16>>2)}GLctx.uniform4fv(webglGetUniformLocation(location),view)};_glUniform4fv.sig="viip";var _emscripten_glUniform4fv=_glUniform4fv;_emscripten_glUniform4fv.sig="viip";var _glUniform4i=(location,v0,v1,v2,v3)=>{GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)};_glUniform4i.sig="viiiii";var _emscripten_glUniform4i=_glUniform4i;_emscripten_glUniform4i.sig="viiiii";var _glUniform4iv=(location,count,value)=>{if(count<=72){count*=4;var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(webglGetUniformLocation(location),view)};_glUniform4iv.sig="viip";var _emscripten_glUniform4iv=_glUniform4iv;_emscripten_glUniform4iv.sig="viip";var _glUniformMatrix2fv=(location,count,transpose,value)=>{if(count<=72){count*=4;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,view)};_glUniformMatrix2fv.sig="viiip";var _emscripten_glUniformMatrix2fv=_glUniformMatrix2fv;_emscripten_glUniformMatrix2fv.sig="viiip";var _glUniformMatrix3fv=(location,count,transpose,value)=>{if(count<=32){count*=9;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)};_glUniformMatrix3fv.sig="viiip";var _emscripten_glUniformMatrix3fv=_glUniformMatrix3fv;_emscripten_glUniformMatrix3fv.sig="viiip";var _glUniformMatrix4fv=(location,count,transpose,value)=>{if(count<=18){var view=miniTempWebGLFloatBuffers[16*count];var heap=HEAPF32;value=value>>2;count*=16;for(var i=0;i>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)};_glUniformMatrix4fv.sig="viiip";var _emscripten_glUniformMatrix4fv=_glUniformMatrix4fv;_emscripten_glUniformMatrix4fv.sig="viiip";var _glUseProgram=program=>{program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program};_glUseProgram.sig="vi";var _emscripten_glUseProgram=_glUseProgram;_emscripten_glUseProgram.sig="vi";var _glValidateProgram=program=>{GLctx.validateProgram(GL.programs[program])};_glValidateProgram.sig="vi";var _emscripten_glValidateProgram=_glValidateProgram;_emscripten_glValidateProgram.sig="vi";var _glVertexAttrib1f=(x0,x1)=>GLctx.vertexAttrib1f(x0,x1);_glVertexAttrib1f.sig="vif";var _emscripten_glVertexAttrib1f=_glVertexAttrib1f;_emscripten_glVertexAttrib1f.sig="vif";var _glVertexAttrib1fv=(index,v)=>{GLctx.vertexAttrib1f(index,HEAPF32[v>>2])};_glVertexAttrib1fv.sig="vip";var _emscripten_glVertexAttrib1fv=_glVertexAttrib1fv;_emscripten_glVertexAttrib1fv.sig="vip";var _glVertexAttrib2f=(x0,x1,x2)=>GLctx.vertexAttrib2f(x0,x1,x2);_glVertexAttrib2f.sig="viff";var _emscripten_glVertexAttrib2f=_glVertexAttrib2f;_emscripten_glVertexAttrib2f.sig="viff";var _glVertexAttrib2fv=(index,v)=>{GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])};_glVertexAttrib2fv.sig="vip";var _emscripten_glVertexAttrib2fv=_glVertexAttrib2fv;_emscripten_glVertexAttrib2fv.sig="vip";var _glVertexAttrib3f=(x0,x1,x2,x3)=>GLctx.vertexAttrib3f(x0,x1,x2,x3);_glVertexAttrib3f.sig="vifff";var _emscripten_glVertexAttrib3f=_glVertexAttrib3f;_emscripten_glVertexAttrib3f.sig="vifff";var _glVertexAttrib3fv=(index,v)=>{GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])};_glVertexAttrib3fv.sig="vip";var _emscripten_glVertexAttrib3fv=_glVertexAttrib3fv;_emscripten_glVertexAttrib3fv.sig="vip";var _glVertexAttrib4f=(x0,x1,x2,x3,x4)=>GLctx.vertexAttrib4f(x0,x1,x2,x3,x4);_glVertexAttrib4f.sig="viffff";var _emscripten_glVertexAttrib4f=_glVertexAttrib4f;_emscripten_glVertexAttrib4f.sig="viffff";var _glVertexAttrib4fv=(index,v)=>{GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])};_glVertexAttrib4fv.sig="vip";var _emscripten_glVertexAttrib4fv=_glVertexAttrib4fv;_emscripten_glVertexAttrib4fv.sig="vip";var _glVertexAttribDivisor=(index,divisor)=>{GLctx.vertexAttribDivisor(index,divisor)};_glVertexAttribDivisor.sig="vii";var _glVertexAttribDivisorANGLE=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorANGLE=_glVertexAttribDivisorANGLE;var _glVertexAttribPointer=(index,size,type,normalized,stride,ptr)=>{GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)};_glVertexAttribPointer.sig="viiiiip";var _emscripten_glVertexAttribPointer=_glVertexAttribPointer;_emscripten_glVertexAttribPointer.sig="viiiiip";var _glViewport=(x0,x1,x2,x3)=>GLctx.viewport(x0,x1,x2,x3);_glViewport.sig="viiii";var _emscripten_glViewport=_glViewport;_emscripten_glViewport.sig="viiii";var _emscripten_out=str=>out(UTF8ToString(str));_emscripten_out.sig="vp";class HandleAllocator{allocated=[undefined];freelist=[];get(id){return this.allocated[id]}has(id){return this.allocated[id]!==undefined}allocate(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id}free(id){this.allocated[id]=undefined;this.freelist.push(id)}}var promiseMap=new HandleAllocator;var makePromise=()=>{var promiseInfo={};promiseInfo.promise=new Promise((resolve,reject)=>{promiseInfo.reject=reject;promiseInfo.resolve=resolve});promiseInfo.id=promiseMap.allocate(promiseInfo);return promiseInfo};var _emscripten_promise_create=()=>makePromise().id;_emscripten_promise_create.sig="p";var _emscripten_promise_destroy=id=>{promiseMap.free(id)};_emscripten_promise_destroy.sig="vp";var getPromise=id=>promiseMap.get(id).promise;var _emscripten_promise_resolve=(id,result,value)=>{var info=promiseMap.get(id);switch(result){case 0:info.resolve(value);return;case 1:info.resolve(getPromise(value));return;case 2:info.resolve(getPromise(value));_emscripten_promise_destroy(value);return;case 3:info.reject(value);return}};_emscripten_promise_resolve.sig="vpip";var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}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,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};_emscripten_resize_heap.sig="ip";var _emscripten_wget_data=(url,pbuffer,pnum,perror)=>Asyncify.handleAsync(async()=>{try{const byteArray=await asyncLoad(UTF8ToString(url));var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);HEAPU32[pbuffer>>2]=buffer;HEAP32[pnum>>2]=byteArray.length;HEAP32[perror>>2]=0}catch(err){HEAP32[perror>>2]=1}});_emscripten_wget_data.sig="vpppp";_emscripten_wget_data.isAsync=true;var ENV={};var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.language||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};_environ_get.sig="ipp";var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};_environ_sizes_get.sig="ipp";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}}_fd_close.sig="ii";function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_fdstat_get.sig="iip";var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_pread.sig="iippiip";var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_pwrite.sig="iippiip";function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_read.sig="iippp";function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_seek.sig="iiiiip";var _fd_sync=function(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return Asyncify.handleSleep(wakeUp=>{var mount=stream.node.mount;if(!mount.type.syncfs){wakeUp(0);return}mount.type.syncfs(mount,false,err=>{wakeUp(err?29:0)})})}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}};_fd_sync.sig="ii";_fd_sync.isAsync=true;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}}_fd_write.sig="iippp";var _getnameinfo=(sa,salen,node,nodelen,serv,servlen,flags)=>{var info=readSockaddr(sa,salen);if(info.errno){return-6}var port=info.port;var addr=info.addr;var overflowed=false;if(node&&nodelen){var lookup;if(flags&1||!(lookup=DNS.lookup_addr(addr))){if(flags&8){return-2}}else{addr=lookup}var numBytesWrittenExclNull=stringToUTF8(addr,node,nodelen);if(numBytesWrittenExclNull+1>=nodelen){overflowed=true}}if(serv&&servlen){port=""+port;var numBytesWrittenExclNull=stringToUTF8(port,serv,servlen);if(numBytesWrittenExclNull+1>=servlen){overflowed=true}}if(overflowed){return-12}return 0};_getnameinfo.sig="ipipipii";var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}_ipp.sig="ipp";function _ipp_async(...args){return adapters_support(true,...args)}_ipp_async.sig="ipp";_ipp_async.isAsync=true;function _ippipppp(...args){return adapters_support(false,...args)}_ippipppp.sig="ippipppp";function _ippipppp_async(...args){return adapters_support(true,...args)}_ippipppp_async.sig="ippipppp";_ippipppp_async.isAsync=true;function _ippp(...args){return adapters_support(false,...args)}_ippp.sig="ippp";function _ippp_async(...args){return adapters_support(true,...args)}_ippp_async.sig="ippp";_ippp_async.isAsync=true;function _ipppi(...args){return adapters_support(false,...args)}_ipppi.sig="ipppi";function _ipppi_async(...args){return adapters_support(true,...args)}_ipppi_async.sig="ipppi";_ipppi_async.isAsync=true;function _ipppiii(...args){return adapters_support(false,...args)}_ipppiii.sig="ipppiii";function _ipppiii_async(...args){return adapters_support(true,...args)}_ipppiii_async.sig="ipppiii";_ipppiii_async.isAsync=true;function _ipppiiip(...args){return adapters_support(false,...args)}_ipppiiip.sig="ipppiiip";function _ipppiiip_async(...args){return adapters_support(true,...args)}_ipppiiip_async.sig="ipppiiip";_ipppiiip_async.isAsync=true;function _ipppip(...args){return adapters_support(false,...args)}_ipppip.sig="ipppip";function _ipppip_async(...args){return adapters_support(true,...args)}_ipppip_async.sig="ipppip";_ipppip_async.isAsync=true;function _ipppj(...args){return adapters_support(false,...args)}_ipppj.sig="ipppii";function _ipppj_async(...args){return adapters_support(true,...args)}_ipppj_async.sig="ipppii";_ipppj_async.isAsync=true;function _ipppp(...args){return adapters_support(false,...args)}_ipppp.sig="ipppp";function _ipppp_async(...args){return adapters_support(true,...args)}_ipppp_async.sig="ipppp";_ipppp_async.isAsync=true;function _ippppi(...args){return adapters_support(false,...args)}_ippppi.sig="ippppi";function _ippppi_async(...args){return adapters_support(true,...args)}_ippppi_async.sig="ippppi";_ippppi_async.isAsync=true;function _ippppij(...args){return adapters_support(false,...args)}_ippppij.sig="ippppiii";function _ippppij_async(...args){return adapters_support(true,...args)}_ippppij_async.sig="ippppiii";_ippppij_async.isAsync=true;function _ippppip(...args){return adapters_support(false,...args)}_ippppip.sig="ippppip";function _ippppip_async(...args){return adapters_support(true,...args)}_ippppip_async.sig="ippppip";_ippppip_async.isAsync=true;function _ipppppip(...args){return adapters_support(false,...args)}_ipppppip.sig="ipppppip";function _ipppppip_async(...args){return adapters_support(true,...args)}_ipppppip_async.sig="ipppppip";_ipppppip_async.isAsync=true;function _random_get(buffer,size){try{randomFill(HEAPU8.subarray(buffer,buffer+size));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_random_get.sig="ipp";function _vppippii(...args){return adapters_support(false,...args)}_vppippii.sig="vppippii";function _vppippii_async(...args){return adapters_support(true,...args)}_vppippii_async.sig="vppippii";_vppippii_async.isAsync=true;function _vppp(...args){return adapters_support(false,...args)}_vppp.sig="vppp";function _vppp_async(...args){return adapters_support(true,...args)}_vppp_async.sig="vppp";_vppp_async.isAsync=true;function _vpppip(...args){return adapters_support(false,...args)}_vpppip.sig="vpppip";function _vpppip_async(...args){return adapters_support(true,...args)}_vpppip_async.sig="vpppip";_vpppip_async.isAsync=true;var runAndAbortIfError=func=>{try{return func()}catch(e){abort(e)}};var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};runtimeKeepalivePush.sig="v";var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};runtimeKeepalivePop.sig="v";var Asyncify={instrumentWasmImports(imports){var importPattern=/^(ipp|ipp_async|ippp|ippp_async|vppp|vppp_async|ipppj|ipppj_async|ipppi|ipppi_async|ipppp|ipppp_async|ipppip|ipppip_async|vpppip|vpppip_async|ippppi|ippppi_async|ippppij|ippppij_async|ipppiii|ipppiii_async|ippppip|ippppip_async|ippipppp|ippipppp_async|ipppppip|ipppppip_async|ipppiiip|ipppiiip_async|vppippii|vppippii_async|invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original=="function"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},instrumentFunction(original){var wrapper=(...args)=>{Asyncify.exportCallStack.push(original);try{return original(...args)}finally{if(!ABORT){var top=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}};Asyncify.funcWrappers.set(original,wrapper);wrapper.orig=original;return wrapper},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){var wrapper=Asyncify.instrumentFunction(original);ret[x]=wrapper}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:16384,currData:null,handleSleepReturnValue:0,exportCallStack:[],callstackFuncToId:new Map,callStackIdToFunc:new Map,funcWrappers:new Map,callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(func){if(!Asyncify.callstackFuncToId.has(func)){var id=Asyncify.callStackId++;Asyncify.callstackFuncToId.set(func,id);Asyncify.callStackIdToFunc.set(id,func)}return Asyncify.callstackFuncToId.get(func)},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!="undefined"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve,reject}})},allocateData(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){HEAPU32[ptr>>2]=stack;HEAPU32[ptr+4>>2]=stack+stackSize},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);HEAP32[ptr+8>>2]=rewindId},getDataRewindFunc(ptr){var id=HEAP32[ptr+8>>2];var func=Asyncify.callStackIdToFunc.get(id);return func},doRewind(ptr){var original=Asyncify.getDataRewindFunc(ptr);var func=Asyncify.funcWrappers.get(original);return func()},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync:startAsync=>Asyncify.handleSleep(wakeUp=>{startAsync().then(wakeUp)})};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i65535){i++}HEAP32[outPtr>>2]=codePoint;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=new TextDecoder("utf-16le");var UTF16ToString=(ptr,maxBytesToRead)=>{var idx=ptr>>1;var maxIdx=idx+maxBytesToRead/2;var endIdx=idx;while(!(endIdx>=maxIdx)&&HEAPU16[endIdx])++endIdx;return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx))};var UTF32ToString=(ptr,maxBytesToRead)=>{var str="";for(var i=0;!(i>=maxBytesToRead/4);i++){var utf32=HEAP32[ptr+i*4>>2];if(!utf32)break;str+=String.fromCodePoint(utf32)}return str};var intArrayToString=array=>{var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")};var writeI53ToI64Clamped=(ptr,num)=>{if(num>0x8000000000000000){HEAPU32[ptr>>2]=4294967295;HEAPU32[ptr+4>>2]=2147483647}else if(num<-0x8000000000000000){HEAPU32[ptr>>2]=0;HEAPU32[ptr+4>>2]=2147483648}else{writeI53ToI64(ptr,num)}};var writeI53ToI64Signaling=(ptr,num)=>{if(num>0x8000000000000000||num<-0x8000000000000000){throw`RangeError: ${num}`}writeI53ToI64(ptr,num)};var writeI53ToU64Clamped=(ptr,num)=>{if(num>0x10000000000000000){HEAPU32[ptr>>2]=4294967295;HEAPU32[ptr+4>>2]=4294967295}else if(num<0){HEAPU32[ptr>>2]=0;HEAPU32[ptr+4>>2]=0}else{writeI53ToI64(ptr,num)}};var writeI53ToU64Signaling=(ptr,num)=>{if(num<0||num>0x10000000000000000){throw`RangeError: ${num}`}writeI53ToI64(ptr,num)};var readI53FromU64=ptr=>HEAPU32[ptr>>2]+HEAPU32[ptr+4>>2]*4294967296;var convertI32PairToI53=(lo,hi)=>(lo>>>0)+hi*4294967296;var convertU32PairToI53=(lo,hi)=>(lo>>>0)+(hi>>>0)*4294967296;var _stackAlloc=stackAlloc;var _stackSave=stackSave;var _stackRestore=stackSave;var _getTempRet0=getTempRet0;var ptrToString=ptr=>{ptr>>>=0;return"0x"+ptr.toString(16).padStart(8,"0")};var _emscripten_notify_memory_growth=memoryIndex=>{updateMemoryViews()};_emscripten_notify_memory_growth.sig="vp";var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var strError=errno=>UTF8ToString(_strerror(errno));var _getaddrinfo=(node,service,hint,out)=>{var addrs=[];var canon=null;var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai,last;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;HEAPU32[ai+24>>2]=canon;HEAPU32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,_htonl(1)]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>2]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAPU32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>2]=ai;return 0};_getaddrinfo.sig="ipppp";var Protocols={list:[],map:{}};var stringToAscii=(str,buffer)=>{for(var i=0;i{function allocprotoent(name,proto,aliases){var nameBuf=_malloc(name.length+1);stringToAscii(name,nameBuf);var j=0;var length=aliases.length;var aliasListBuf=_malloc((length+1)*4);for(var i=0;i>2]=aliasBuf}HEAPU32[aliasListBuf+j>>2]=0;var pe=_malloc(12);HEAPU32[pe>>2]=nameBuf;HEAPU32[pe+4>>2]=aliasListBuf;HEAP32[pe+8>>2]=proto;return pe}var list=Protocols.list;var map=Protocols.map;if(list.length===0){var entry=allocprotoent("tcp",6,["TCP"]);list.push(entry);map["tcp"]=map["6"]=entry;entry=allocprotoent("udp",17,["UDP"]);list.push(entry);map["udp"]=map["17"]=entry}_setprotoent.index=0};_setprotoent.sig="vi";var _endprotoent=()=>{};_endprotoent.sig="v";var _getprotoent=number=>{if(_setprotoent.index===Protocols.list.length){return 0}var result=Protocols.list[_setprotoent.index++];return result};_getprotoent.sig="p";var _getprotobyname=name=>{name=UTF8ToString(name);_setprotoent(true);var result=Protocols.map[name];return result};_getprotobyname.sig="pp";var _getprotobynumber=number=>{_setprotoent(true);var result=Protocols.map[number];return result};_getprotobynumber.sig="pi";var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};var _emscripten_run_script=ptr=>{eval(UTF8ToString(ptr))};_emscripten_run_script.sig="vp";var _emscripten_run_script_int=ptr=>eval(UTF8ToString(ptr))|0;_emscripten_run_script_int.sig="ip";var _emscripten_run_script_string=ptr=>{var s=eval(UTF8ToString(ptr));if(s==null){return 0}s+="";var me=_emscripten_run_script_string;me.bufferSize=lengthBytesUTF8(s)+1;me.buffer=_realloc(me.buffer??0,me.bufferSize);stringToUTF8(s,me.buffer,me.bufferSize);return me.buffer};_emscripten_run_script_string.sig="pp";var _emscripten_random=()=>Math.random();_emscripten_random.sig="f";var _emscripten_performance_now=()=>performance.now();_emscripten_performance_now.sig="d";var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;__emscripten_get_now_is_monotonic.sig="i";var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}};var jsStackTrace=()=>(new Error).stack.toString();var getCallstack=flags=>{var callstack=jsStackTrace();var lines=callstack.split("\n");callstack="";var firefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var line of lines){var symbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts?.length==5){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=firefoxRe.exec(line);if(parts?.length>=4){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}if(symbolName=="_emscripten_log"||symbolName=="_emscripten_get_callstack"){callstack="";continue}if(flags&24){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=` at ${symbolName} (${file}:${lineno}:${column})\n`}}callstack=callstack.replace(/\s+$/,"");return callstack};var emscriptenLog=(flags,str)=>{if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+getCallstack(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else if(flags&512){console.info(str)}else if(flags&256){console.debug(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}};var reallyNegative=x=>x<0||x===0&&1/x===-Infinity;var reSign=(value,bits)=>{if(value<=0){return value}var half=bits<=32?Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value};var unSign=(value,bits)=>{if(value>=0){return value}return bits<=32?2*Math.abs(1<{var end=ptr;while(HEAPU8[end])++end;return end-ptr};var formatString=(format,varargs)=>{var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){ptr+=4}}else{}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex];if(curr===0)break;next=HEAP8[textIndex+1];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=next==117?convertU32PairToI53(currArg[0],currArg[1]):convertI32PairToI53(currArg[0],currArg[1])}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.slice(1)}while(prefix.length+argText.lengthret.push(chr.charCodeAt(0)));break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].includes(".")&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.lengthret.push(chr.charCodeAt(0)));break}case"s":{var arg=getNextArg("i8*");var argLength=arg?strLen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i{var result=formatString(format,varargs);var str=UTF8ArrayToString(result);emscriptenLog(flags,str)};_emscripten_log.sig="vipp";var _emscripten_get_compiler_setting=name=>{throw"You must build with -sRETAIN_COMPILER_SETTINGS for getCompilerSetting or emscripten_get_compiler_setting to work"};_emscripten_get_compiler_setting.sig="pp";var _emscripten_has_asyncify=()=>1;_emscripten_has_asyncify.sig="i";var _emscripten_debugger=()=>{debugger};_emscripten_debugger.sig="v";var _emscripten_print_double=(x,to,max)=>{var str=x+"";if(to)return stringToUTF8(str,to,max);else return lengthBytesUTF8(str)};_emscripten_print_double.sig="idpi";var _emscripten_asm_const_double=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);_emscripten_asm_const_double.sig="dppp";var _emscripten_asm_const_ptr=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);_emscripten_asm_const_ptr.sig="pppp";var runMainThreadEmAsm=(emAsmAddr,sigPtr,argbuf,sync)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[emAsmAddr](...args)};var _emscripten_asm_const_int_sync_on_main_thread=(emAsmAddr,sigPtr,argbuf)=>runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,1);_emscripten_asm_const_int_sync_on_main_thread.sig="ippp";var _emscripten_asm_const_ptr_sync_on_main_thread=(emAsmAddr,sigPtr,argbuf)=>runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,1);_emscripten_asm_const_ptr_sync_on_main_thread.sig="pppp";var _emscripten_asm_const_double_sync_on_main_thread=_emscripten_asm_const_int_sync_on_main_thread;_emscripten_asm_const_double_sync_on_main_thread.sig="dppp";var _emscripten_asm_const_async_on_main_thread=(emAsmAddr,sigPtr,argbuf)=>runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,0);_emscripten_asm_const_async_on_main_thread.sig="vppp";var __Unwind_Backtrace=(func,arg)=>{var trace=getCallstack();var parts=trace.split("\n");for(var i=0;i{})(0,arg);if(ret!==0)return}};__Unwind_Backtrace.sig="ipp";var __Unwind_GetIPInfo=(context,ipBefore)=>abort("Unwind_GetIPInfo");__Unwind_GetIPInfo.sig="ppp";var __Unwind_FindEnclosingFunction=ip=>0;__Unwind_FindEnclosingFunction.sig="pp";class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>2]=type}get_type(){return HEAPU32[this.ptr+4>>2]}set_destructor(destructor){HEAPU32[this.ptr+8>>2]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>2]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12]=caught}get_caught(){return HEAP8[this.ptr+12]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13]=rethrown}get_rethrown(){return HEAP8[this.ptr+13]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>2]}}var exceptionLast=0;var uncaughtExceptionCount=0;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};___cxa_throw.sig="vppp";var __Unwind_RaiseException=ex=>{err("Warning: _Unwind_RaiseException is not correctly implemented");return ___cxa_throw(ex,0,0)};__Unwind_RaiseException.sig="ip";var __Unwind_DeleteException=ex=>err("TODO: Unwind_DeleteException");__Unwind_DeleteException.sig="vp";var getDynCaller=(sig,ptr,promising=false)=>(...args)=>dynCall(sig,ptr,args,promising);var _emscripten_exit_with_live_runtime=()=>{throw"unwind"};_emscripten_exit_with_live_runtime.sig="v";var _emscripten_force_exit=status=>{__emscripten_runtime_keepalive_clear();_exit(status)};_emscripten_force_exit.sig="vi";var _emscripten_outn=(str,len)=>out(UTF8ToString(str,len));_emscripten_outn.sig="vpp";var _emscripten_errn=(str,len)=>err(UTF8ToString(str,len));_emscripten_errn.sig="vpp";var _emscripten_throw_number=number=>{throw number};_emscripten_throw_number.sig="vd";var _emscripten_throw_string=str=>{throw UTF8ToString(str)};_emscripten_throw_string.sig="vp";var _emscripten_runtime_keepalive_push=runtimeKeepalivePush;_emscripten_runtime_keepalive_push.sig="v";var _emscripten_runtime_keepalive_pop=runtimeKeepalivePop;_emscripten_runtime_keepalive_pop.sig="v";var _emscripten_runtime_keepalive_check=keepRuntimeAlive;_emscripten_runtime_keepalive_check.sig="i";var asmjsMangle=x=>{if(x=="__main_argc_argv"){x="main"}return x.startsWith("dynCall_")?x:"_"+x};var ___global_base=1024;var __emscripten_fs_load_embedded_files=ptr=>{do{var name_addr=HEAPU32[ptr>>2];ptr+=4;var len=HEAPU32[ptr>>2];ptr+=4;var content=HEAPU32[ptr>>2];ptr+=4;var name=UTF8ToString(name_addr);FS.createPath("/",PATH.dirname(name),true,true);FS.createDataFile(name,null,HEAP8.subarray(content,content+len),true,true,true)}while(HEAPU32[ptr>>2])};__emscripten_fs_load_embedded_files.sig="vp";var POINTER_SIZE=4;function getNativeTypeSize(type){switch(type){case"i1":case"i8":case"u8":return 1;case"i16":case"u16":return 2;case"i32":case"u32":return 4;case"i64":case"u64":return 8;case"float":return 4;case"double":return 8;default:{if(type.endsWith("*")){return POINTER_SIZE}if(type[0]==="i"){const bits=Number(type.slice(1));assert(bits%8===0,`getNativeTypeSize invalid bits ${bits}, ${type} type`);return bits/8}return 0}}}var onInits=[];var addOnInit=cb=>onInits.push(cb);var onMains=[];var addOnPreMain=cb=>onMains.push(cb);var onExits=[];var addOnExit=cb=>onExits.push(cb);var STACK_SIZE=524288;var STACK_ALIGN=16;var ASSERTIONS=0;var removeFunction=index=>{functionsInTableMap.delete(getWasmTableEntry(index));setWasmTableEntry(index,null);freeTableIndexes.push(index)};var _emscripten_math_cbrt=Math.cbrt;_emscripten_math_cbrt.sig="dd";var _emscripten_math_pow=Math.pow;_emscripten_math_pow.sig="ddd";var _emscripten_math_random=Math.random;_emscripten_math_random.sig="d";var _emscripten_math_sign=Math.sign;_emscripten_math_sign.sig="dd";var _emscripten_math_sqrt=Math.sqrt;_emscripten_math_sqrt.sig="dd";var _emscripten_math_exp=Math.exp;_emscripten_math_exp.sig="dd";var _emscripten_math_expm1=Math.expm1;_emscripten_math_expm1.sig="dd";var _emscripten_math_fmod=(x,y)=>x%y;_emscripten_math_fmod.sig="ddd";var _emscripten_math_log=Math.log;_emscripten_math_log.sig="dd";var _emscripten_math_log1p=Math.log1p;_emscripten_math_log1p.sig="dd";var _emscripten_math_log10=Math.log10;_emscripten_math_log10.sig="dd";var _emscripten_math_log2=Math.log2;_emscripten_math_log2.sig="dd";var _emscripten_math_round=Math.round;_emscripten_math_round.sig="dd";var _emscripten_math_acos=Math.acos;_emscripten_math_acos.sig="dd";var _emscripten_math_acosh=Math.acosh;_emscripten_math_acosh.sig="dd";var _emscripten_math_asin=Math.asin;_emscripten_math_asin.sig="dd";var _emscripten_math_asinh=Math.asinh;_emscripten_math_asinh.sig="dd";var _emscripten_math_atan=Math.atan;_emscripten_math_atan.sig="dd";var _emscripten_math_atanh=Math.atanh;_emscripten_math_atanh.sig="dd";var _emscripten_math_atan2=Math.atan2;_emscripten_math_atan2.sig="ddd";var _emscripten_math_cos=Math.cos;_emscripten_math_cos.sig="dd";var _emscripten_math_cosh=Math.cosh;_emscripten_math_cosh.sig="dd";var _emscripten_math_hypot=(count,varargs)=>{var args=[];for(var i=0;i>3])}return Math.hypot(...args)};_emscripten_math_hypot.sig="dip";var _emscripten_math_sin=Math.sin;_emscripten_math_sin.sig="dd";var _emscripten_math_sinh=Math.sinh;_emscripten_math_sinh.sig="dd";var _emscripten_math_tan=Math.tan;_emscripten_math_tan.sig="dd";var _emscripten_math_tanh=Math.tanh;_emscripten_math_tanh.sig="dd";var lengthBytesUTF16=str=>str.length*2;var lengthBytesUTF32=str=>{var len=0;for(var i=0;i65535){i++}len+=4}return len};var JSEvents={memcpy(target,src,size){HEAP8.set(HEAP8.subarray(src,src+size),target)},removeAllEventListeners(){while(JSEvents.eventHandlers.length){JSEvents._removeHandler(JSEvents.eventHandlers.length-1)}JSEvents.deferredCalls=[]},inEventHandler:0,deferredCalls:[],deferCall(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var call of JSEvents.deferredCalls){if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction,precedence,argsList});JSEvents.deferredCalls.sort((x,y)=>x.precedencecall.targetFunction!=targetFunction)},canPerformEventHandlerRequests(){if(navigator.userActivation){return navigator.userActivation.isActive}return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls(){if(!JSEvents.canPerformEventHandlerRequests()){return}var deferredCalls=JSEvents.deferredCalls;JSEvents.deferredCalls=[];for(var call of deferredCalls){call.targetFunction(...call.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(target,eventTypeString)=>{for(var i=0;icString>2?UTF8ToString(cString):cString;var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];var findEventTarget=target=>{target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):null);return domElement};var registerKeyEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.keyEvent||=_malloc(160);var keyEventHandlerFunc=e=>{var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP8[keyEventData+12]=e.ctrlKey;HEAP8[keyEventData+13]=e.shiftKey;HEAP8[keyEventData+14]=e.altKey;HEAP8[keyEventData+15]=e.metaKey;HEAP8[keyEventData+16]=e.repeat;HEAP32[idx+5]=e.charCode;HEAP32[idx+6]=e.keyCode;HEAP32[idx+7]=e.which;stringToUTF8(e.key||"",keyEventData+32,32);stringToUTF8(e.code||"",keyEventData+64,32);stringToUTF8(e.char||"",keyEventData+96,32);stringToUTF8(e.locale||"",keyEventData+128,32);if(((a1,a2,a3)=>{})(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var findCanvasEventTarget=findEventTarget;var _emscripten_set_keypress_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);_emscripten_set_keypress_callback_on_thread.sig="ippipp";var _emscripten_set_keydown_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);_emscripten_set_keydown_callback_on_thread.sig="ippipp";var _emscripten_set_keyup_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread);_emscripten_set_keyup_callback_on_thread.sig="ippipp";var getBoundingClientRect=e=>specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{left:0,top:0};var fillMouseEventData=(eventStruct,e,target)=>{HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP8[eventStruct+24]=e.ctrlKey;HEAP8[eventStruct+25]=e.shiftKey;HEAP8[eventStruct+26]=e.altKey;HEAP8[eventStruct+27]=e.metaKey;HEAP16[idx*2+14]=e.button;HEAP16[idx*2+15]=e.buttons;HEAP32[idx+8]=e["movementX"];HEAP32[idx+9]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+10]=e.clientX-(rect.left|0);HEAP32[idx+11]=e.clientY-(rect.top|0)};var registerMouseEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.mouseEvent||=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=(e=event)=>{fillMouseEventData(JSEvents.mouseEvent,e,target);if(((a1,a2,a3)=>{})(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString,callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_click_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);_emscripten_set_click_callback_on_thread.sig="ippipp";var _emscripten_set_mousedown_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread);_emscripten_set_mousedown_callback_on_thread.sig="ippipp";var _emscripten_set_mouseup_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread);_emscripten_set_mouseup_callback_on_thread.sig="ippipp";var _emscripten_set_dblclick_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,7,"dblclick",targetThread);_emscripten_set_dblclick_callback_on_thread.sig="ippipp";var _emscripten_set_mousemove_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread);_emscripten_set_mousemove_callback_on_thread.sig="ippipp";var _emscripten_set_mouseenter_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter",targetThread);_emscripten_set_mouseenter_callback_on_thread.sig="ippipp";var _emscripten_set_mouseleave_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave",targetThread);_emscripten_set_mouseleave_callback_on_thread.sig="ippipp";var _emscripten_set_mouseover_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,35,"mouseover",targetThread);_emscripten_set_mouseover_callback_on_thread.sig="ippipp";var _emscripten_set_mouseout_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,36,"mouseout",targetThread);_emscripten_set_mouseout_callback_on_thread.sig="ippipp";var _emscripten_get_mouse_status=mouseState=>{if(!JSEvents.mouseEvent)return-7;JSEvents.memcpy(mouseState,JSEvents.mouseEvent,64);return 0};_emscripten_get_mouse_status.sig="ip";var registerWheelEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.wheelEvent||=_malloc(96);var wheelHandlerFunc=(e=event)=>{var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+64>>3]=e["deltaX"];HEAPF64[wheelEvent+72>>3]=e["deltaY"];HEAPF64[wheelEvent+80>>3]=e["deltaZ"];HEAP32[wheelEvent+88>>2]=e["deltaMode"];if(((a1,a2,a3)=>{})(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:true,eventTypeString,callbackfunc,handlerFunc:wheelHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_wheel_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{target=findEventTarget(target);if(!target)return-4;if(typeof target.onwheel!="undefined"){return registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread)}else{return-1}};_emscripten_set_wheel_callback_on_thread.sig="ippipp";var registerUiEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.uiEvent||=_malloc(36);target=findEventTarget(target);var uiEventHandlerFunc=(e=event)=>{if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>2]=0;HEAP32[uiEvent+4>>2]=b.clientWidth;HEAP32[uiEvent+8>>2]=b.clientHeight;HEAP32[uiEvent+12>>2]=innerWidth;HEAP32[uiEvent+16>>2]=innerHeight;HEAP32[uiEvent+20>>2]=outerWidth;HEAP32[uiEvent+24>>2]=outerHeight;HEAP32[uiEvent+28>>2]=pageXOffset|0;HEAP32[uiEvent+32>>2]=pageYOffset|0;if(((a1,a2,a3)=>{})(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_resize_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread);_emscripten_set_resize_callback_on_thread.sig="ippipp";var _emscripten_set_scroll_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerUiEventCallback(target,userData,useCapture,callbackfunc,11,"scroll",targetThread);_emscripten_set_scroll_callback_on_thread.sig="ippipp";var registerFocusEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.focusEvent||=_malloc(256);var focusEventHandlerFunc=(e=event)=>{var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(((a1,a2,a3)=>{})(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_blur_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread);_emscripten_set_blur_callback_on_thread.sig="ippipp";var _emscripten_set_focus_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread);_emscripten_set_focus_callback_on_thread.sig="ippipp";var _emscripten_set_focusin_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,14,"focusin",targetThread);_emscripten_set_focusin_callback_on_thread.sig="ippipp";var _emscripten_set_focusout_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,15,"focusout",targetThread);_emscripten_set_focusout_callback_on_thread.sig="ippipp";var fillDeviceOrientationEventData=(eventStruct,e,target)=>{HEAPF64[eventStruct>>3]=e.alpha;HEAPF64[eventStruct+8>>3]=e.beta;HEAPF64[eventStruct+16>>3]=e.gamma;HEAP8[eventStruct+24]=e.absolute};var registerDeviceOrientationEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.deviceOrientationEvent||=_malloc(32);var deviceOrientationEventHandlerFunc=(e=event)=>{fillDeviceOrientationEventData(JSEvents.deviceOrientationEvent,e,target);if(((a1,a2,a3)=>{})(eventTypeId,JSEvents.deviceOrientationEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:deviceOrientationEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_deviceorientation_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>registerDeviceOrientationEventCallback(2,userData,useCapture,callbackfunc,16,"deviceorientation",targetThread);_emscripten_set_deviceorientation_callback_on_thread.sig="ipipp";var _emscripten_get_deviceorientation_status=orientationState=>{if(!JSEvents.deviceOrientationEvent)return-7;JSEvents.memcpy(orientationState,JSEvents.deviceOrientationEvent,32);return 0};_emscripten_get_deviceorientation_status.sig="ip";var fillDeviceMotionEventData=(eventStruct,e,target)=>{var supportedFields=0;var a=e["acceleration"];supportedFields|=a&&1;var ag=e["accelerationIncludingGravity"];supportedFields|=ag&&2;var rr=e["rotationRate"];supportedFields|=rr&&4;a=a||{};ag=ag||{};rr=rr||{};HEAPF64[eventStruct>>3]=a["x"];HEAPF64[eventStruct+8>>3]=a["y"];HEAPF64[eventStruct+16>>3]=a["z"];HEAPF64[eventStruct+24>>3]=ag["x"];HEAPF64[eventStruct+32>>3]=ag["y"];HEAPF64[eventStruct+40>>3]=ag["z"];HEAPF64[eventStruct+48>>3]=rr["alpha"];HEAPF64[eventStruct+56>>3]=rr["beta"];HEAPF64[eventStruct+64>>3]=rr["gamma"]};var registerDeviceMotionEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.deviceMotionEvent||=_malloc(80);var deviceMotionEventHandlerFunc=(e=event)=>{fillDeviceMotionEventData(JSEvents.deviceMotionEvent,e,target);if(((a1,a2,a3)=>{})(eventTypeId,JSEvents.deviceMotionEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:deviceMotionEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_devicemotion_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>registerDeviceMotionEventCallback(2,userData,useCapture,callbackfunc,17,"devicemotion",targetThread);_emscripten_set_devicemotion_callback_on_thread.sig="ipipp";var _emscripten_get_devicemotion_status=motionState=>{if(!JSEvents.deviceMotionEvent)return-7;JSEvents.memcpy(motionState,JSEvents.deviceMotionEvent,80);return 0};_emscripten_get_devicemotion_status.sig="ip";var screenOrientation=()=>{if(!window.screen)return undefined;return screen.orientation||screen["mozOrientation"]||screen["webkitOrientation"]};var fillOrientationChangeEventData=eventStruct=>{var orientationsType1=["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];var orientationsType2=["portrait","portrait","landscape","landscape"];var orientationIndex=0;var orientationAngle=0;var screenOrientObj=screenOrientation();if(typeof screenOrientObj==="object"){orientationIndex=orientationsType1.indexOf(screenOrientObj.type);if(orientationIndex<0){orientationIndex=orientationsType2.indexOf(screenOrientObj.type)}if(orientationIndex>=0){orientationIndex=1<>2]=orientationIndex;HEAP32[eventStruct+4>>2]=orientationAngle};var registerOrientationChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.orientationChangeEvent||=_malloc(8);var orientationChangeEventHandlerFunc=(e=event)=>{var orientationChangeEvent=JSEvents.orientationChangeEvent;fillOrientationChangeEventData(orientationChangeEvent);if(((a1,a2,a3)=>{})(eventTypeId,orientationChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:orientationChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_orientationchange_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(!window.screen||!screen.orientation)return-1;return registerOrientationChangeEventCallback(screen.orientation,userData,useCapture,callbackfunc,18,"change",targetThread)};_emscripten_set_orientationchange_callback_on_thread.sig="ipipp";var _emscripten_get_orientation_status=orientationChangeEvent=>{if(!screenOrientation()&&typeof orientation=="undefined")return-1;fillOrientationChangeEventData(orientationChangeEvent);return 0};_emscripten_get_orientation_status.sig="ip";var _emscripten_lock_orientation=allowedOrientations=>{var orientations=[];if(allowedOrientations&1)orientations.push("portrait-primary");if(allowedOrientations&2)orientations.push("portrait-secondary");if(allowedOrientations&4)orientations.push("landscape-primary");if(allowedOrientations&8)orientations.push("landscape-secondary");var succeeded;if(screen.lockOrientation){succeeded=screen.lockOrientation(orientations)}else if(screen.mozLockOrientation){succeeded=screen.mozLockOrientation(orientations)}else if(screen.webkitLockOrientation){succeeded=screen.webkitLockOrientation(orientations)}else{return-1}if(succeeded){return 0}return-6};_emscripten_lock_orientation.sig="ii";var _emscripten_unlock_orientation=()=>{if(screen.unlockOrientation){screen.unlockOrientation()}else if(screen.mozUnlockOrientation){screen.mozUnlockOrientation()}else if(screen.webkitUnlockOrientation){screen.webkitUnlockOrientation()}else{return-1}return 0};_emscripten_unlock_orientation.sig="i";var fillFullscreenChangeEventData=eventStruct=>{var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP8[eventStruct]=isFullscreen;HEAP8[eventStruct+1]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement?.id||"";stringToUTF8(nodeName,eventStruct+2,128);stringToUTF8(id,eventStruct+130,128);HEAP32[eventStruct+260>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+268>>2]=screen.width;HEAP32[eventStruct+272>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}};var registerFullscreenChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.fullscreenChangeEvent||=_malloc(276);var fullscreenChangeEventhandlerFunc=(e=event)=>{var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(((a1,a2,a3)=>{})(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_fullscreenchange_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread)};_emscripten_set_fullscreenchange_callback_on_thread.sig="ippipp";var _emscripten_get_fullscreen_status=fullscreenStatus=>{if(!JSEvents.fullscreenEnabled())return-1;fillFullscreenChangeEventData(fullscreenStatus);return 0};_emscripten_get_fullscreen_status.sig="ip";var _emscripten_get_canvas_element_size=(target,width,height)=>{var canvas=findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height};_emscripten_get_canvas_element_size.sig="ippp";var getCanvasElementSize=target=>{var sp=stackSave();var w=stackAlloc(8);var h=w+4;var targetInt=stringToUTF8OnStack(target.id);var ret=_emscripten_get_canvas_element_size(targetInt,w,h);var size=[HEAP32[w>>2],HEAP32[h>>2]];stackRestore(sp);return size};var _emscripten_set_canvas_element_size=(target,width,height)=>{var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0};_emscripten_set_canvas_element_size.sig="ipii";var setCanvasElementSize=(target,width,height)=>{if(!target.controlTransferredOffscreen){target.width=width;target.height=height}else{var sp=stackSave();var targetInt=stringToUTF8OnStack(target.id);_emscripten_set_canvas_element_size(targetInt,width,height);stackRestore(sp)}};var currentFullscreenStrategy={};var registerRestoreOldStyle=canvas=>{var canvasSize=getCanvasElementSize(canvas);var oldWidth=canvasSize[0];var oldHeight=canvasSize[1];var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.webkitFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);setCanvasElementSize(canvas,oldWidth,oldHeight);canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(currentFullscreenStrategy.canvasResizedCallback){((a1,a2,a3)=>{})(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);return restoreOldStyle};var setLetterbox=(element,topBottom,leftRight)=>{element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"};var JSEvents_resizeCanvasForFullscreen=(target,strategy)=>{var restoreOldStyle=registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?innerWidth:screen.width;var cssHeight=strategy.softFullscreen?innerHeight:screen.height;var rect=getBoundingClientRect(target);var windowedCssWidth=rect.width;var windowedCssHeight=rect.height;var canvasSize=getCanvasElementSize(target);var windowedRttWidth=canvasSize[0];var windowedRttHeight=canvasSize[1];if(strategy.scaleMode==3){setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight{if(strategy.scaleMode!=0||strategy.canvasResolutionScaleMode!=0){JSEvents_resizeCanvasForFullscreen(target,strategy)}if(target.requestFullscreen){target.requestFullscreen()}else if(target.webkitRequestFullscreen){target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}else{return JSEvents.fullscreenEnabled()?-3:-1}currentFullscreenStrategy=strategy;if(strategy.canvasResizedCallback){((a1,a2,a3)=>{})(37,0,strategy.canvasResizedCallbackUserData)}return 0};var hideEverythingExceptGivenElement=onlyVisibleElement=>{var child=onlyVisibleElement;var parent=child.parentNode;var hiddenElements=[];while(child!=document.body){var children=parent.children;for(var currChild of children){if(currChild!=child){hiddenElements.push({node:currChild,displayState:currChild.style.display});currChild.style.display="none"}}child=parent;parent=parent.parentNode}return hiddenElements};var restoreHiddenElements=hiddenElements=>{for(var elem of hiddenElements){elem.node.style.display=elem.displayState}};var restoreOldWindowedStyle=null;var softFullscreenResizeWebGLRenderTarget=()=>{var dpr=devicePixelRatio;var inHiDPIFullscreenMode=currentFullscreenStrategy.canvasResolutionScaleMode==2;var inAspectRatioFixedFullscreenMode=currentFullscreenStrategy.scaleMode==2;var inPixelPerfectFullscreenMode=currentFullscreenStrategy.canvasResolutionScaleMode!=0;var inCenteredWithoutScalingFullscreenMode=currentFullscreenStrategy.scaleMode==3;var screenWidth=inHiDPIFullscreenMode?Math.round(innerWidth*dpr):innerWidth;var screenHeight=inHiDPIFullscreenMode?Math.round(innerHeight*dpr):innerHeight;var w=screenWidth;var h=screenHeight;var canvas=currentFullscreenStrategy.target;var canvasSize=getCanvasElementSize(canvas);var x=canvasSize[0];var y=canvasSize[1];var topMargin;if(inAspectRatioFixedFullscreenMode){if(w*yx*h)w=h*x/y|0;topMargin=(screenHeight-h)/2|0}if(inPixelPerfectFullscreenMode){setCanvasElementSize(canvas,w,h);if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,w,h)}if(inHiDPIFullscreenMode){topMargin/=dpr;w/=dpr;h/=dpr;w=Math.round(w*1e4)/1e4;h=Math.round(h*1e4)/1e4;topMargin=Math.round(topMargin*1e4)/1e4}if(inCenteredWithoutScalingFullscreenMode){var t=(innerHeight-jstoi_q(canvas.style.height))/2;var b=(innerWidth-jstoi_q(canvas.style.width))/2;setLetterbox(canvas,t,b)}else{canvas.style.width=w+"px";canvas.style.height=h+"px";var b=(innerWidth-w)/2;setLetterbox(canvas,topMargin,b)}if(!inCenteredWithoutScalingFullscreenMode&¤tFullscreenStrategy.canvasResizedCallback){((a1,a2,a3)=>{})(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}};var doRequestFullscreen=(target,strategy)=>{if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.webkitRequestFullscreen){return-3}if(!JSEvents.canPerformEventHandlerRequests()){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents_requestFullscreen,1,[target,strategy]);return 1}return-2}return JSEvents_requestFullscreen(target,strategy)};var _emscripten_request_fullscreen=(target,deferUntilInEventHandler)=>{var strategy={scaleMode:0,canvasResolutionScaleMode:0,filteringMode:0,deferUntilInEventHandler,canvasResizedCallbackTargetThread:2};return doRequestFullscreen(target,strategy)};_emscripten_request_fullscreen.sig="ipi";var _emscripten_request_fullscreen_strategy=(target,deferUntilInEventHandler,fullscreenStrategy)=>{var strategy={scaleMode:HEAP32[fullscreenStrategy>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>2],filteringMode:HEAP32[fullscreenStrategy+8>>2],deferUntilInEventHandler,canvasResizedCallback:HEAP32[fullscreenStrategy+12>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>2]};return doRequestFullscreen(target,strategy)};_emscripten_request_fullscreen_strategy.sig="ipip";var _emscripten_enter_soft_fullscreen=(target,fullscreenStrategy)=>{target=findEventTarget(target);if(!target)return-4;var strategy={scaleMode:HEAP32[fullscreenStrategy>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>2],filteringMode:HEAP32[fullscreenStrategy+8>>2],canvasResizedCallback:HEAP32[fullscreenStrategy+12>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>2],target,softFullscreen:true};var restoreOldStyle=JSEvents_resizeCanvasForFullscreen(target,strategy);document.documentElement.style.overflow="hidden";document.body.scroll="no";document.body.style.margin="0px";var hiddenElements=hideEverythingExceptGivenElement(target);function restoreWindowedState(){restoreOldStyle();restoreHiddenElements(hiddenElements);removeEventListener("resize",softFullscreenResizeWebGLRenderTarget);if(strategy.canvasResizedCallback){((a1,a2,a3)=>{})(37,0,strategy.canvasResizedCallbackUserData)}currentFullscreenStrategy=0}restoreOldWindowedStyle=restoreWindowedState;currentFullscreenStrategy=strategy;addEventListener("resize",softFullscreenResizeWebGLRenderTarget);if(strategy.canvasResizedCallback){((a1,a2,a3)=>{})(37,0,strategy.canvasResizedCallbackUserData)}return 0};_emscripten_enter_soft_fullscreen.sig="ipp";var _emscripten_exit_soft_fullscreen=()=>{restoreOldWindowedStyle?.();restoreOldWindowedStyle=null;return 0};_emscripten_exit_soft_fullscreen.sig="i";var _emscripten_exit_fullscreen=()=>{if(!JSEvents.fullscreenEnabled())return-1;JSEvents.removeDeferredCalls(JSEvents_requestFullscreen);var d=specialHTMLTargets[1];if(d.exitFullscreen){d.fullscreenElement&&d.exitFullscreen()}else if(d.webkitExitFullscreen){d.webkitFullscreenElement&&d.webkitExitFullscreen()}else{return-1}return 0};_emscripten_exit_fullscreen.sig="i";var fillPointerlockChangeEventData=eventStruct=>{var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP8[eventStruct]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement?.id||"";stringToUTF8(nodeName,eventStruct+1,128);stringToUTF8(id,eventStruct+129,128)};var registerPointerlockChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.pointerlockChangeEvent||=_malloc(257);var pointerlockChangeEventHandlerFunc=(e=event)=>{var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(pointerlockChangeEvent);if(((a1,a2,a3)=>{})(eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_pointerlockchange_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange",targetThread);return registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange",targetThread)};_emscripten_set_pointerlockchange_callback_on_thread.sig="ippipp";var registerPointerlockErrorEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var pointerlockErrorEventHandlerFunc=(e=event)=>{if(((a1,a2,a3)=>{})(eventTypeId,0,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:pointerlockErrorEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_pointerlockerror_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{if(!document||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"mozpointerlockerror",targetThread);registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"webkitpointerlockerror",targetThread);registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"mspointerlockerror",targetThread);return registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"pointerlockerror",targetThread)};_emscripten_set_pointerlockerror_callback_on_thread.sig="ippipp";var _emscripten_get_pointerlock_status=pointerlockStatus=>{if(pointerlockStatus)fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0};_emscripten_get_pointerlock_status.sig="ip";var requestPointerLock=target=>{if(target.requestPointerLock){target.requestPointerLock()}else{if(document.body.requestPointerLock){return-3}return-1}return 0};var _emscripten_request_pointerlock=(target,deferUntilInEventHandler)=>{target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock){return-1}if(!JSEvents.canPerformEventHandlerRequests()){if(deferUntilInEventHandler){JSEvents.deferCall(requestPointerLock,2,[target]);return 1}return-2}return requestPointerLock(target)};_emscripten_request_pointerlock.sig="ipi";var _emscripten_exit_pointerlock=()=>{JSEvents.removeDeferredCalls(requestPointerLock);if(!document.exitPointerLock)return-1;document.exitPointerLock();return 0};_emscripten_exit_pointerlock.sig="i";var _emscripten_vibrate=msecs=>{if(!navigator.vibrate)return-1;navigator.vibrate(msecs);return 0};_emscripten_vibrate.sig="ii";var _emscripten_vibrate_pattern=(msecsArray,numEntries)=>{if(!navigator.vibrate)return-1;var vibrateList=[];for(var i=0;i>2];vibrateList.push(msecs)}navigator.vibrate(vibrateList);return 0};_emscripten_vibrate_pattern.sig="ipi";var fillVisibilityChangeEventData=eventStruct=>{var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP8[eventStruct]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState};var registerVisibilityChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.visibilityChangeEvent||=_malloc(8);var visibilityChangeEventHandlerFunc=(e=event)=>{var visibilityChangeEvent=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(visibilityChangeEvent);if(((a1,a2,a3)=>{})(eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_visibilitychange_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(!specialHTMLTargets[1]){return-4}return registerVisibilityChangeEventCallback(specialHTMLTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread)};_emscripten_set_visibilitychange_callback_on_thread.sig="ipipp";var _emscripten_get_visibility_status=visibilityStatus=>{if(typeof document.visibilityState=="undefined"&&typeof document.hidden=="undefined"){return-1}fillVisibilityChangeEventData(visibilityStatus);return 0};_emscripten_get_visibility_status.sig="ip";var registerTouchEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.touchEvent||=_malloc(1552);target=findEventTarget(target);var touchEventHandlerFunc=e=>{var t,touches={},et=e.touches;for(let t of et){t.isChanged=t.onTarget=0;touches[t.identifier]=t}for(let t of e.changedTouches){t.isChanged=1;touches[t.identifier]=t}for(let t of e.targetTouches){touches[t.identifier].onTarget=1}var touchEvent=JSEvents.touchEvent;HEAPF64[touchEvent>>3]=e.timeStamp;HEAP8[touchEvent+12]=e.ctrlKey;HEAP8[touchEvent+13]=e.shiftKey;HEAP8[touchEvent+14]=e.altKey;HEAP8[touchEvent+15]=e.metaKey;var idx=touchEvent+16;var targetRect=getBoundingClientRect(target);var numTouches=0;for(let t of Object.values(touches)){var idx32=idx>>2;HEAP32[idx32+0]=t.identifier;HEAP32[idx32+1]=t.screenX;HEAP32[idx32+2]=t.screenY;HEAP32[idx32+3]=t.clientX;HEAP32[idx32+4]=t.clientY;HEAP32[idx32+5]=t.pageX;HEAP32[idx32+6]=t.pageY;HEAP8[idx+28]=t.isChanged;HEAP8[idx+29]=t.onTarget;HEAP32[idx32+8]=t.clientX-(targetRect.left|0);HEAP32[idx32+9]=t.clientY-(targetRect.top|0);idx+=48;if(++numTouches>31){break}}HEAP32[touchEvent+8>>2]=numTouches;if(((a1,a2,a3)=>{})(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString,callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_touchstart_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);_emscripten_set_touchstart_callback_on_thread.sig="ippipp";var _emscripten_set_touchend_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);_emscripten_set_touchend_callback_on_thread.sig="ippipp";var _emscripten_set_touchmove_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);_emscripten_set_touchmove_callback_on_thread.sig="ippipp";var _emscripten_set_touchcancel_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);_emscripten_set_touchcancel_callback_on_thread.sig="ippipp";var fillGamepadEventData=(eventStruct,e)=>{HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1112,64);stringToUTF8(e.mapping,eventStruct+1176,64)};var registerGamepadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.gamepadEvent||=_malloc(1240);var gamepadEventHandlerFunc=(e=event)=>{var gamepadEvent=JSEvents.gamepadEvent;fillGamepadEventData(gamepadEvent,e["gamepad"]);if(((a1,a2,a3)=>{})(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString,callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_sample_gamepad_data=()=>{try{if(navigator.getGamepads)return(JSEvents.lastGamepadState=navigator.getGamepads())?0:-1}catch(e){navigator.getGamepads=null}return-1};_emscripten_sample_gamepad_data.sig="i";var _emscripten_set_gamepadconnected_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(_emscripten_sample_gamepad_data())return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread)};_emscripten_set_gamepadconnected_callback_on_thread.sig="ipipp";var _emscripten_set_gamepaddisconnected_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(_emscripten_sample_gamepad_data())return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread)};_emscripten_set_gamepaddisconnected_callback_on_thread.sig="ipipp";var _emscripten_get_num_gamepads=()=>JSEvents.lastGamepadState.length;_emscripten_get_num_gamepads.sig="i";var _emscripten_get_gamepad_status=(index,gamepadState)=>{if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0};_emscripten_get_gamepad_status.sig="iip";var registerBeforeUnloadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString)=>{var beforeUnloadEventHandlerFunc=(e=event)=>{var confirmationMessage=((a1,a2,a3)=>{})(eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=UTF8ToString(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:beforeUnloadEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_beforeunload_callback_on_thread=(userData,callbackfunc,targetThread)=>{if(typeof onbeforeunload=="undefined")return-1;if(targetThread!==1)return-5;return registerBeforeUnloadEventCallback(2,userData,true,callbackfunc,28,"beforeunload")};_emscripten_set_beforeunload_callback_on_thread.sig="ippp";var fillBatteryEventData=(eventStruct,e)=>{HEAPF64[eventStruct>>3]=e.chargingTime;HEAPF64[eventStruct+8>>3]=e.dischargingTime;HEAPF64[eventStruct+16>>3]=e.level;HEAP8[eventStruct+24]=e.charging};var battery=()=>navigator.battery||navigator.mozBattery||navigator.webkitBattery;var registerBatteryEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.batteryEvent||=_malloc(32);var batteryEventHandlerFunc=(e=event)=>{var batteryEvent=JSEvents.batteryEvent;fillBatteryEventData(batteryEvent,battery());if(((a1,a2,a3)=>{})(eventTypeId,batteryEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:batteryEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_batterychargingchange_callback_on_thread=(userData,callbackfunc,targetThread)=>{if(!battery())return-1;return registerBatteryEventCallback(battery(),userData,true,callbackfunc,29,"chargingchange",targetThread)};_emscripten_set_batterychargingchange_callback_on_thread.sig="ippp";var _emscripten_set_batterylevelchange_callback_on_thread=(userData,callbackfunc,targetThread)=>{if(!battery())return-1;return registerBatteryEventCallback(battery(),userData,true,callbackfunc,30,"levelchange",targetThread)};_emscripten_set_batterylevelchange_callback_on_thread.sig="ippp";var _emscripten_get_battery_status=batteryState=>{if(!battery())return-1;fillBatteryEventData(batteryState,battery());return 0};_emscripten_get_battery_status.sig="ip";var _emscripten_set_element_css_size=(target,width,height)=>{target=findEventTarget(target);if(!target)return-4;target.style.width=width+"px";target.style.height=height+"px";return 0};_emscripten_set_element_css_size.sig="ipdd";var _emscripten_get_element_css_size=(target,width,height)=>{target=findEventTarget(target);if(!target)return-4;var rect=getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0};_emscripten_get_element_css_size.sig="ippp";var _emscripten_html5_remove_all_event_listeners=()=>JSEvents.removeAllEventListeners();_emscripten_html5_remove_all_event_listeners.sig="v";var _emscripten_request_animation_frame=(cb,userData)=>requestAnimationFrame(timeStamp=>((a1,a2)=>{})(timeStamp,userData));_emscripten_request_animation_frame.sig="ipp";var _emscripten_cancel_animation_frame=id=>cancelAnimationFrame(id);_emscripten_cancel_animation_frame.sig="vi";var _emscripten_request_animation_frame_loop=(cb,userData)=>{function tick(timeStamp){if(((a1,a2)=>{})(timeStamp,userData)){requestAnimationFrame(tick)}}return requestAnimationFrame(tick)};_emscripten_request_animation_frame_loop.sig="vpp";var _emscripten_get_device_pixel_ratio=()=>devicePixelRatio;_emscripten_get_device_pixel_ratio.sig="d";var _emscripten_get_callstack=(flags,str,maxbytes)=>{var callstack=getCallstack(flags);if(!str||maxbytes<=0){return lengthBytesUTF8(callstack)+1}var bytesWrittenExcludingNull=stringToUTF8(callstack,str,maxbytes);return bytesWrittenExcludingNull+1};_emscripten_get_callstack.sig="iipi";var convertFrameToPC=frame=>{abort("Cannot use convertFrameToPC (needed by __builtin_return_address) without -sUSE_OFFSET_CONVERTER");return 0};var _emscripten_return_address=level=>{var callstack=jsStackTrace().split("\n");if(callstack[0]=="Error"){callstack.shift()}var caller=callstack[level+3];return convertFrameToPC(caller)};_emscripten_return_address.sig="pi";var UNWIND_CACHE={};var saveInUnwindCache=callstack=>{callstack.forEach(frame=>{var pc=convertFrameToPC(frame);if(pc){UNWIND_CACHE[pc]=frame}})};var _emscripten_stack_snapshot=()=>{var callstack=jsStackTrace().split("\n");if(callstack[0]=="Error"){callstack.shift()}saveInUnwindCache(callstack);UNWIND_CACHE.last_addr=convertFrameToPC(callstack[3]);UNWIND_CACHE.last_stack=callstack;return UNWIND_CACHE.last_addr};_emscripten_stack_snapshot.sig="p";var _emscripten_stack_unwind_buffer=(addr,buffer,count)=>{var stack;if(UNWIND_CACHE.last_addr==addr){stack=UNWIND_CACHE.last_stack}else{stack=jsStackTrace().split("\n");if(stack[0]=="Error"){stack.shift()}saveInUnwindCache(stack)}var offset=3;while(stack[offset]&&convertFrameToPC(stack[offset])!=addr){++offset}for(var i=0;i>2]=convertFrameToPC(stack[i+offset])}return i};_emscripten_stack_unwind_buffer.sig="ippi";var _emscripten_pc_get_function=pc=>{abort("Cannot use emscripten_pc_get_function without -sUSE_OFFSET_CONVERTER");return 0};_emscripten_pc_get_function.sig="pp";var convertPCtoSourceLocation=pc=>{if(UNWIND_CACHE.last_get_source_pc==pc)return UNWIND_CACHE.last_source;var match;var source;if(!source){var frame=UNWIND_CACHE[pc];if(!frame)return null;if(match=/\((.*):(\d+):(\d+)\)$/.exec(frame)){source={file:match[1],line:match[2],column:match[3]}}else if(match=/@(.*):(\d+):(\d+)/.exec(frame)){source={file:match[1],line:match[2],column:match[3]}}}UNWIND_CACHE.last_get_source_pc=pc;UNWIND_CACHE.last_source=source;return source};var _emscripten_pc_get_file=pc=>{var result=convertPCtoSourceLocation(pc);if(!result)return 0;_free(_emscripten_pc_get_file.ret??0);_emscripten_pc_get_file.ret=stringToNewUTF8(result.file);return _emscripten_pc_get_file.ret};_emscripten_pc_get_file.sig="pp";var _emscripten_pc_get_line=pc=>{var result=convertPCtoSourceLocation(pc);return result?result.line:0};_emscripten_pc_get_line.sig="ip";var _emscripten_pc_get_column=pc=>{var result=convertPCtoSourceLocation(pc);return result?result.column||0:0};_emscripten_pc_get_column.sig="ip";var _sched_yield=()=>0;_sched_yield.sig="i";var wasiRightsToMuslOFlags=rights=>{if(rights&2&&rights&64){return 2}if(rights&2){return 0}if(rights&64){return 1}throw new FS.ErrnoError(28)};var wasiOFlagsToMuslOFlags=oflags=>{var musl_oflags=0;if(oflags&1){musl_oflags|=64}if(oflags&8){musl_oflags|=512}if(oflags&2){musl_oflags|=65536}if(oflags&4){musl_oflags|=128}return musl_oflags};var _emscripten_unwind_to_js_event_loop=()=>{throw"unwind"};_emscripten_unwind_to_js_event_loop.sig="v";var safeSetTimeout=(func,timeout)=>setTimeout(()=>{callUserCallback(func)},timeout);var setImmediateWrapped=func=>{setImmediateWrapped.mapping||=[];var id=setImmediateWrapped.mapping.length;setImmediateWrapped.mapping[id]=setImmediate(()=>{setImmediateWrapped.mapping[id]=undefined;func()});return id};var safeRequestAnimationFrame=func=>MainLoop.requestAnimationFrame(()=>{callUserCallback(func)});var clearImmediateWrapped=id=>{clearImmediate(setImmediateWrapped.mapping[id]);setImmediateWrapped.mapping[id]=undefined};var emClearImmediate;var emSetImmediate;var emClearImmediate_deps=["$emSetImmediate"];var _emscripten_set_immediate=(cb,userData)=>emSetImmediate(()=>{callUserCallback(()=>(a1=>{})(userData))});_emscripten_set_immediate.sig="ipp";var _emscripten_clear_immediate=id=>{emClearImmediate(id)};_emscripten_clear_immediate.sig="vi";var _emscripten_set_immediate_loop=(cb,userData)=>{function tick(){callUserCallback(()=>{if((a1=>{})(userData)){emSetImmediate(tick)}else{}})}emSetImmediate(tick)};_emscripten_set_immediate_loop.sig="vpp";var _emscripten_set_timeout=(cb,msecs,userData)=>safeSetTimeout(()=>(a1=>{})(userData),msecs);_emscripten_set_timeout.sig="ipdp";var _emscripten_clear_timeout=clearTimeout;_emscripten_clear_timeout.sig="vi";var _emscripten_set_timeout_loop=(cb,msecs,userData)=>{function tick(){var t=_emscripten_get_now();var n=t+msecs;callUserCallback(()=>{if(((a1,a2)=>{})(t,userData)){var remaining=n-_emscripten_get_now();setTimeout(tick,remaining)}})}return setTimeout(tick,0)};_emscripten_set_timeout_loop.sig="vpdp";var _emscripten_set_interval=(cb,msecs,userData)=>setInterval(()=>{callUserCallback(()=>(a1=>{})(userData))},msecs);_emscripten_set_interval.sig="ipdp";var _emscripten_clear_interval=id=>{clearInterval(id)};_emscripten_clear_interval.sig="vi";var _emscripten_async_call=(func,arg,millis)=>{var wrapper=()=>(a1=>{})(arg);if(millis>=0){safeSetTimeout(wrapper,millis)}else{safeRequestAnimationFrame(wrapper)}};_emscripten_async_call.sig="vppi";var registerPostMainLoop=f=>{typeof MainLoop!="undefined"&&MainLoop.postMainLoop.push(f)};var registerPreMainLoop=f=>{typeof MainLoop!="undefined"&&MainLoop.preMainLoop.push(f)};var _emscripten_get_main_loop_timing=(mode,value)=>{if(mode)HEAP32[mode>>2]=MainLoop.timingMode;if(value)HEAP32[value>>2]=MainLoop.timingValue};_emscripten_get_main_loop_timing.sig="vpp";var _emscripten_set_main_loop=(func,fps,simulateInfiniteLoop)=>{var iterFunc=()=>{};setMainLoop(iterFunc,fps,simulateInfiniteLoop)};_emscripten_set_main_loop.sig="vpii";var _emscripten_set_main_loop_arg=(func,arg,fps,simulateInfiniteLoop)=>{var iterFunc=()=>(a1=>{})(arg);setMainLoop(iterFunc,fps,simulateInfiniteLoop,arg)};_emscripten_set_main_loop_arg.sig="vppii";var _emscripten_cancel_main_loop=()=>{MainLoop.pause();MainLoop.func=null};_emscripten_cancel_main_loop.sig="v";var _emscripten_pause_main_loop=()=>MainLoop.pause();_emscripten_pause_main_loop.sig="v";var _emscripten_resume_main_loop=()=>MainLoop.resume();_emscripten_resume_main_loop.sig="v";var __emscripten_push_main_loop_blocker=(func,arg,name)=>{MainLoop.queue.push({func:()=>{(a1=>{})(arg)},name:UTF8ToString(name),counted:true});MainLoop.updateStatus()};__emscripten_push_main_loop_blocker.sig="vppp";var __emscripten_push_uncounted_main_loop_blocker=(func,arg,name)=>{MainLoop.queue.push({func:()=>{(a1=>{})(arg)},name:UTF8ToString(name),counted:false});MainLoop.updateStatus()};__emscripten_push_uncounted_main_loop_blocker.sig="vppp";var _emscripten_set_main_loop_expected_blockers=num=>{MainLoop.expectedBlockers=num;MainLoop.remainingBlockers=num;MainLoop.updateStatus()};_emscripten_set_main_loop_expected_blockers.sig="vi";var idsToPromises=(idBuf,size)=>{var promises=[];for(var i=0;i>2];promises[i]=getPromise(id)}return promises};var makePromiseCallback=(callback,userData)=>value=>{var stack=stackSave();var resultPtr=stackAlloc(POINTER_SIZE);HEAPU32[resultPtr>>2]=0;try{var result=((a1,a2,a3)=>{})(resultPtr,userData,value);var resultVal=HEAPU32[resultPtr>>2]}catch(e){if(typeof e!="number"){throw 0}throw e}finally{stackRestore(stack)}switch(result){case 0:return resultVal;case 1:return getPromise(resultVal);case 2:var ret=getPromise(resultVal);_emscripten_promise_destroy(resultVal);return ret;case 3:throw resultVal}};var _emscripten_promise_then=(id,onFulfilled,onRejected,userData)=>{var promise=getPromise(id);var newId=promiseMap.allocate({promise:promise.then(makePromiseCallback(onFulfilled,userData),makePromiseCallback(onRejected,userData))});return newId};_emscripten_promise_then.sig="ppppp";var _emscripten_promise_all=(idBuf,resultBuf,size)=>{var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.all(promises).then(results=>{if(resultBuf){for(var i=0;i>2]=result}}return resultBuf})});return id};_emscripten_promise_all.sig="pppp";var setPromiseResult=(ptr,fulfill,value)=>{var result=fulfill?0:3;HEAP32[ptr>>2]=result;HEAPU32[ptr+4>>2]=value};var _emscripten_promise_all_settled=(idBuf,resultBuf,size)=>{var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.allSettled(promises).then(results=>{if(resultBuf){var offset=resultBuf;for(var i=0;i{var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.any(promises).catch(err=>{if(errorBuf){for(var i=0;i>2]=err.errors[i]}}throw errorBuf})});return id};_emscripten_promise_any.sig="pppp";var _emscripten_promise_race=(idBuf,size)=>{var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.race(promises)});return id};_emscripten_promise_race.sig="ppp";var _emscripten_promise_await=(returnValuePtr,id)=>Asyncify.handleAsync(()=>getPromise(id).then(value=>setPromiseResult(returnValuePtr,true,value),error=>setPromiseResult(returnValuePtr,false,error)));_emscripten_promise_await.sig="vpp";_emscripten_promise_await.isAsync=true;var findMatchingCatch=args=>{var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}for(var caughtType of args){if(caughtType===0||caughtType===thrownType){break}var adjusted_ptr_addr=info.ptr+16;if(___cxa_can_catch(caughtType,thrownType,adjusted_ptr_addr)){setTempRet0(caughtType);return thrown}}setTempRet0(thrownType);return thrown};var ___cxa_find_matching_catch_2=()=>findMatchingCatch([]);___cxa_find_matching_catch_2.sig="p";var ___cxa_find_matching_catch_3=arg0=>findMatchingCatch([arg0]);___cxa_find_matching_catch_3.sig="pp";var ___cxa_find_matching_catch_4=(arg0,arg1)=>findMatchingCatch([arg0,arg1]);___cxa_find_matching_catch_4.sig="ppp";var exceptionCaught=[];var ___cxa_rethrow=()=>{var info=exceptionCaught.pop();if(!info){abort("no exception to throw")}var ptr=info.excPtr;if(!info.get_rethrown()){exceptionCaught.push(info);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}exceptionLast=ptr;throw exceptionLast};___cxa_rethrow.sig="v";var _llvm_eh_typeid_for=type=>type;_llvm_eh_typeid_for.sig="vp";var ___cxa_begin_catch=ptr=>{var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);___cxa_increment_exception_refcount(ptr);return ___cxa_get_exception_ptr(ptr)};___cxa_begin_catch.sig="pp";var ___cxa_end_catch=()=>{_setThrew(0,0);var info=exceptionCaught.pop();___cxa_decrement_exception_refcount(info.excPtr);exceptionLast=0};___cxa_end_catch.sig="v";var ___cxa_uncaught_exceptions=()=>uncaughtExceptionCount;___cxa_uncaught_exceptions.sig="i";var ___cxa_call_unexpected=exception=>abort("Unexpected exception thrown, this is not properly supported - aborting");___cxa_call_unexpected.sig="vp";var ___cxa_current_primary_exception=()=>{if(!exceptionCaught.length){return 0}var info=exceptionCaught[exceptionCaught.length-1];___cxa_increment_exception_refcount(info.excPtr);return info.excPtr};___cxa_current_primary_exception.sig="p";function ___cxa_current_exception_type(){if(!exceptionCaught.length){return 0}var info=exceptionCaught[exceptionCaught.length-1];return info.get_type()}___cxa_current_exception_type.sig="p";var ___cxa_rethrow_primary_exception=ptr=>{if(!ptr)return;var info=new ExceptionInfo(ptr);exceptionCaught.push(info);info.set_rethrown(true);___cxa_rethrow()};___cxa_rethrow_primary_exception.sig="vp";var ___resumeException=ptr=>{if(!exceptionLast){exceptionLast=ptr}throw exceptionLast};___resumeException.sig="vp";var Browser={useWebGL:false,isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],preloadedImages:{},preloadedAudios:{},getCanvas:()=>Module["canvas"],init(){if(Browser.initted)return;Browser.initted=true;var imagePlugin={};imagePlugin["canHandle"]=function imagePlugin_canHandle(name){return!Module["noImageDecoding"]&&/\.(jpg|jpeg|png|bmp|webp)$/i.test(name)};imagePlugin["handle"]=function imagePlugin_handle(byteArray,name,onload,onerror){var b=new Blob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=new Blob([new Uint8Array(byteArray).buffer],{type:Browser.getMimetype(name)})}var url=URL.createObjectURL(b);var img=new Image;img.onload=()=>{var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Browser.preloadedImages[name]=canvas;URL.revokeObjectURL(url);onload?.(byteArray)};img.onerror=event=>{err(`Image ${url} could not be decoded`);onerror?.()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module["noAudioDecoding"]&&name.slice(-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;Browser.preloadedAudios[name]=audio;onload?.(byteArray)}function fail(){if(done)return;done=true;Browser.preloadedAudios[name]=new Audio;onerror?.()}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.slice(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){var canvas=Browser.getCanvas();Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}var canvas=Browser.getCanvas();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&&Browser.getCanvas().requestPointerLock){Browser.getCanvas().requestPointerLock();ev.preventDefault()}},false)}}},createContext(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module["ctx"]&&canvas==Browser.getCanvas())return Module["ctx"];var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){Module["ctx"]=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Browser.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Browser.getCanvas();function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}Module["onFullScreen"]?.(Browser.isFullscreen);Module["onFullscreen"]?.(Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},exitFullscreen(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},safeSetTimeout(func,timeout){return safeSetTimeout(func,timeout)},getMimetype(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.slice(name.lastIndexOf(".")+1)]},getUserMedia(func){window.getUserMedia||=navigator["getUserMedia"]||navigator["mozGetUserMedia"];window.getUserMedia(func)},getMovementX(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(pageX,pageY){var canvas=Browser.getCanvas();var rect=canvas.getBoundingClientRect();var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;var adjustedX=pageX-(scrollX+rect.left);var adjustedY=pageY-(scrollY+rect.top);adjustedX=adjustedX*(canvas.width/rect.width);adjustedY=adjustedY*(canvas.height/rect.height);return{x:adjustedX,y:adjustedY}},setMouseCoords(pageX,pageY){const{x,y}=Browser.calculateMouseCoords(pageX,pageY);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y},calculateMouseEvent(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}else{if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var coords=Browser.calculateMouseCoords(touch.pageX,touch.pageY);if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];last||=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}Browser.setMouseCoords(event.pageX,event.pageY)}},resizeListeners:[],updateResizeListeners(){var canvas=Browser.getCanvas();Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize(width,height,noUpdates){var canvas=Browser.getCanvas();Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Browser.getCanvas());Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Browser.getCanvas());Browser.updateResizeListeners()},updateCanvasDimensions(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]>0){if(w/h{var _file=UTF8ToString(file);var data=FS.analyzePath(_file);if(!data.exists)return-1;FS.createPreloadedFile(PATH.dirname(_file),PATH.basename(_file),new Uint8Array(data.object.contents),true,true,()=>{if(onload)(a1=>{})(file)},()=>{if(onerror)(a1=>{})(file)},true);return 0};_emscripten_run_preload_plugins.sig="ippp";var Browser_asyncPrepareDataCounter=0;var _emscripten_run_preload_plugins_data=(data,size,suffix,arg,onload,onerror)=>{var _suffix=UTF8ToString(suffix);var name="prepare_data_"+Browser_asyncPrepareDataCounter+++"."+_suffix;var cname=stringToNewUTF8(name);FS.createPreloadedFile("/",name,HEAPU8.subarray(data,data+size),true,true,()=>{if(onload)((a1,a2)=>{})(arg,cname)},()=>{if(onerror)(a1=>{})(arg)},true)};_emscripten_run_preload_plugins_data.sig="vpipppp";var _emscripten_async_run_script=(script,millis)=>{safeSetTimeout(()=>_emscripten_run_script(script),millis)};_emscripten_async_run_script.sig="vpi";var _emscripten_async_load_script=async(url,onload,onerror)=>{url=UTF8ToString(url);var loadDone=()=>{if(onload){var onloadCallback=()=>callUserCallback(()=>{});if(runDependencies>0){dependenciesFulfilled=onloadCallback}else{onloadCallback()}}};var loadError=()=>{if(onerror){callUserCallback(()=>{})}};var script=document.createElement("script");script.onload=loadDone;script.onerror=loadError;script.src=url;document.body.appendChild(script)};_emscripten_async_load_script.sig="vppp";_emscripten_async_load_script.isAsync=true;var _emscripten_get_window_title=()=>{var buflen=256;if(!_emscripten_get_window_title.buffer){_emscripten_get_window_title.buffer=_malloc(buflen)}stringToUTF8(document.title,_emscripten_get_window_title.buffer,buflen);return _emscripten_get_window_title.buffer};_emscripten_get_window_title.sig="p";var _emscripten_set_window_title=title=>document.title=UTF8ToString(title);_emscripten_set_window_title.sig="vp";var _emscripten_get_screen_size=(width,height)=>{HEAP32[width>>2]=screen.width;HEAP32[height>>2]=screen.height};_emscripten_get_screen_size.sig="vpp";var _emscripten_hide_mouse=()=>{var styleSheet=document.styleSheets[0];var rules=styleSheet.cssRules;for(var i=0;iBrowser.setCanvasSize(width,height);_emscripten_set_canvas_size.sig="vii";var _emscripten_get_canvas_size=(width,height,isFullscreen)=>{var canvas=Browser.getCanvas();HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height;HEAP32[isFullscreen>>2]=Browser.isFullscreen?1:0};_emscripten_get_canvas_size.sig="vppp";var _emscripten_create_worker=url=>{url=UTF8ToString(url);var id=Browser.workers.length;var info={worker:new Worker(url),callbacks:[],awaited:0,buffer:0};info.worker.onmessage=function info_worker_onmessage(msg){if(ABORT)return;var info=Browser.workers[id];if(!info)return;var callbackId=msg.data["callbackId"];var callbackInfo=info.callbacks[callbackId];if(!callbackInfo)return;if(msg.data["finalResponse"]){info.awaited--;info.callbacks[callbackId]=null}var data=msg.data["data"];if(data){if(!data.byteLength)data=new Uint8Array(data);info.buffer=_realloc(info.buffer,data.length);HEAPU8.set(data,info.buffer);callbackInfo.func(info.buffer,data.length,callbackInfo.arg)}else{callbackInfo.func(0,0,callbackInfo.arg)}};Browser.workers.push(info);return id};_emscripten_create_worker.sig="ip";var _emscripten_destroy_worker=id=>{var info=Browser.workers[id];info.worker.terminate();_free(info.buffer);Browser.workers[id]=null};_emscripten_destroy_worker.sig="vi";var _emscripten_call_worker=(id,funcName,data,size,callback,arg)=>{funcName=UTF8ToString(funcName);var info=Browser.workers[id];var callbackId=-1;if(callback){callbackId=info.callbacks.length;info.callbacks.push({func:(a1,a2,a3)=>{},arg});info.awaited++}var transferObject={funcName,callbackId,data:data?new Uint8Array(HEAPU8.subarray(data,data+size)):0};if(data){info.worker.postMessage(transferObject,[transferObject.data.buffer])}else{info.worker.postMessage(transferObject)}};_emscripten_call_worker.sig="vippipp";var _emscripten_get_worker_queue_size=id=>{var info=Browser.workers[id];if(!info)return-1;return info.awaited};_emscripten_get_worker_queue_size.sig="ii";var getPreloadedImageData=(path,w,h)=>{path=PATH_FS.resolve(path);var canvas=Browser.preloadedImages[path];if(!canvas)return 0;var ctx=canvas.getContext("2d");var image=ctx.getImageData(0,0,canvas.width,canvas.height);var buf=_malloc(canvas.width*canvas.height*4);HEAPU8.set(image.data,buf);HEAP32[w>>2]=canvas.width;HEAP32[h>>2]=canvas.height;return buf};var _emscripten_get_preloaded_image_data=(path,w,h)=>getPreloadedImageData(UTF8ToString(path),w,h);_emscripten_get_preloaded_image_data.sig="pppp";var getPreloadedImageData__data=["$PATH_FS","malloc"];var _emscripten_get_preloaded_image_data_from_FILE=(file,w,h)=>{var fd=_fileno(file);var stream=FS.getStream(fd);if(stream){return getPreloadedImageData(stream.path,w,h)}return 0};_emscripten_get_preloaded_image_data_from_FILE.sig="pppp";var wget={wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle(){var handle=wget.nextWgetRequestHandle;wget.nextWgetRequestHandle++;return handle}};var FS_mkdirTree=(path,mode)=>FS.mkdirTree(path,mode);var FS_unlink=(...args)=>FS.unlink(...args);var _emscripten_async_wget=(url,file,onload,onerror)=>{var _url=UTF8ToString(url);var _file=UTF8ToString(file);_file=PATH_FS.resolve(_file);function doCallback(callback){if(callback){callUserCallback(()=>{var sp=stackSave();(a1=>{})(stringToUTF8OnStack(_file));stackRestore(sp)})}}var destinationDirectory=PATH.dirname(_file);FS_createPreloadedFile(destinationDirectory,PATH.basename(_file),_url,true,true,()=>doCallback(onload),()=>doCallback(onerror),false,false,()=>{try{FS_unlink(_file)}catch(e){}FS_mkdirTree(destinationDirectory)})};_emscripten_async_wget.sig="vpppp";var _emscripten_async_wget_data=async(url,userdata,onload,onerror)=>{try{var byteArray=await asyncLoad(UTF8ToString(url));callUserCallback(()=>{var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);((a1,a2,a3)=>{})(userdata,buffer,byteArray.length);_free(buffer)})}catch(e){if(onerror){callUserCallback(()=>{(a1=>{})(userdata)})}}};_emscripten_async_wget_data.sig="vpppp";_emscripten_async_wget_data.isAsync=true;var _emscripten_async_wget2=(url,file,request,param,userdata,onload,onerror,onprogress)=>{var _url=UTF8ToString(url);var _file=UTF8ToString(file);_file=PATH_FS.resolve(_file);var _request=UTF8ToString(request);var _param=UTF8ToString(param);var index=_file.lastIndexOf("/");var http=new XMLHttpRequest;http.open(_request,_url,true);http.responseType="arraybuffer";var handle=wget.getNextWgetRequestHandle();var destinationDirectory=PATH.dirname(_file);http.onload=e=>{if(http.status>=200&&http.status<300){try{FS.unlink(_file)}catch(e){}FS.mkdirTree(destinationDirectory);FS.createDataFile(_file.slice(0,index),_file.slice(index+1),new Uint8Array(http.response),true,true,false);if(onload){var sp=stackSave();((a1,a2,a3)=>{})(handle,userdata,stringToUTF8OnStack(_file));stackRestore(sp)}}else{if(onerror)((a1,a2,a3)=>{})(handle,userdata,http.status)}delete wget.wgetRequests[handle]};http.onerror=e=>{if(onerror)((a1,a2,a3)=>{})(handle,userdata,http.status);delete wget.wgetRequests[handle]};http.onprogress=e=>{if(e.lengthComputable||e.lengthComputable===undefined&&e.total!=0){var percentComplete=e.loaded/e.total*100;if(onprogress)((a1,a2,a3)=>{})(handle,userdata,percentComplete)}};http.onabort=e=>{delete wget.wgetRequests[handle]};if(_request=="POST"){http.setRequestHeader("Content-type","application/x-www-form-urlencoded");http.send(_param)}else{http.send(null)}wget.wgetRequests[handle]=http;return handle};_emscripten_async_wget2.sig="ipppppppp";var _emscripten_async_wget2_data=(url,request,param,userdata,free,onload,onerror,onprogress)=>{var _url=UTF8ToString(url);var _request=UTF8ToString(request);var _param=UTF8ToString(param);var http=new XMLHttpRequest;http.open(_request,_url,true);http.responseType="arraybuffer";var handle=wget.getNextWgetRequestHandle();function onerrorjs(){if(onerror){var sp=stackSave();var statusText=0;if(http.statusText){statusText=stringToUTF8OnStack(http.statusText)}((a1,a2,a3,a4)=>{})(handle,userdata,http.status,statusText);stackRestore(sp)}}http.onload=e=>{if(http.status>=200&&http.status<300||http.status===0&&_url.slice(0,4).toLowerCase()!="http"){var byteArray=new Uint8Array(http.response);var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);if(onload)((a1,a2,a3,a4)=>{})(handle,userdata,buffer,byteArray.length);_free(buffer)}else{onerrorjs()}delete wget.wgetRequests[handle]};http.onerror=e=>{onerrorjs();delete wget.wgetRequests[handle]};http.onprogress=e=>{if(onprogress)((a1,a2,a3,a4)=>{})(handle,userdata,e.loaded,e.lengthComputable||e.lengthComputable===undefined?e.total:0)};http.onabort=e=>{delete wget.wgetRequests[handle]};if(_request=="POST"){http.setRequestHeader("Content-type","application/x-www-form-urlencoded");http.send(_param)}else{http.send(null)}wget.wgetRequests[handle]=http;return handle};_emscripten_async_wget2_data.sig="ippppippp";var _emscripten_async_wget2_abort=handle=>{var http=wget.wgetRequests[handle];http?.abort()};_emscripten_async_wget2_abort.sig="vi";var ___asctime_r=(tmPtr,buf)=>{var date={tm_sec:HEAP32[tmPtr>>2],tm_min:HEAP32[tmPtr+4>>2],tm_hour:HEAP32[tmPtr+8>>2],tm_mday:HEAP32[tmPtr+12>>2],tm_mon:HEAP32[tmPtr+16>>2],tm_year:HEAP32[tmPtr+20>>2],tm_wday:HEAP32[tmPtr+24>>2]};var days=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var s=days[date.tm_wday]+" "+months[date.tm_mon]+(date.tm_mday<10?" ":" ")+date.tm_mday+(date.tm_hour<10?" 0":" ")+date.tm_hour+(date.tm_min<10?":0":":")+date.tm_min+(date.tm_sec<10?":0":":")+date.tm_sec+" "+(1900+date.tm_year)+"\n";stringToUTF8(s,buf,26);return buf};___asctime_r.sig="ppp";var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var arraySum=(array,index)=>{var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum};var addDays=(date,days)=>{var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate};var _strptime=(buf,format,tm)=>{var pattern=UTF8ToString(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;iEQUIVALENT_MATCHERS[c]||m).replace(/%(.)/g,(_,c)=>{let pat=DATE_PATTERNS[c];if(pat){capture.push(c);return`(${pat})`}else{return c}}).replace(/\s+/g,"\\s*");var matches=new RegExp("^"+pattern_out,"i").exec(UTF8ToString(buf));function initDate(){function fixup(value,min,max){return typeof value!="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59),gmtoff:0}}if(matches){var date=initDate();var value;var getMatch=symbol=>{var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return};if(value=getMatch("S")){date.sec=Number(value)}if(value=getMatch("M")){date.min=Number(value)}if(value=getMatch("H")){date.hour=Number(value)}else if(value=getMatch("I")){var hour=Number(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=Number(value)}else if(value=getMatch("y")){var year=Number(value);if(value=getMatch("C")){year+=Number(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=Number(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=Number(value)}else if(value=getMatch("j")){var day=Number(value);var leapYear=isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=arraySum(leapYear?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=Number(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=Number(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}if(value=getMatch("z")){if(value.toLowerCase()==="z"){date.gmtoff=0}else{var match=value.match(/^((?:\-|\+)\d\d):?(\d\d)?/);date.gmtoff=match[1]*3600;if(match[2]){date.gmtoff+=date.gmtoff>0?match[2]*60:-match[2]*60}}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=arraySum(isLeapYear(fullDate.getFullYear())?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;HEAP32[tm+36>>2]=date.gmtoff;return buf+lengthBytesUTF8(matches[0])}return 0};_strptime.sig="pppp";var _strptime_l=(buf,format,tm,locale)=>_strptime(buf,format,tm);_strptime_l.sig="ppppp";function ___syscall_shutdown(fd,how){try{getSocketFromFD(fd);return-52}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_shutdown.sig="iiiiiii";var __dlsym_catchup_js=(handle,symbolIndex)=>{var lib=LDSO.loadedLibsByHandle[handle];var symDict=lib.exports;var symName=Object.keys(symDict)[symbolIndex];var sym=symDict[symName];var result=addFunction(sym,sym.sig);return result};__dlsym_catchup_js.sig="ppi";var FS_createPath=(...args)=>FS.createPath(...args);var FS_createDevice=(...args)=>FS.createDevice(...args);var FS_readFile=(...args)=>FS.readFile(...args);var FS_root=(...args)=>FS.root(...args);var FS_mounts=(...args)=>FS.mounts(...args);var FS_devices=(...args)=>FS.devices(...args);var FS_streams=(...args)=>FS.streams(...args);var FS_nextInode=(...args)=>FS.nextInode(...args);var FS_nameTable=(...args)=>FS.nameTable(...args);var FS_currentPath=(...args)=>FS.currentPath(...args);var FS_initialized=(...args)=>FS.initialized(...args);var FS_ignorePermissions=(...args)=>FS.ignorePermissions(...args);var FS_filesystems=(...args)=>FS.filesystems(...args);var FS_syncFSRequests=(...args)=>FS.syncFSRequests(...args);var FS_readFiles=(...args)=>FS.readFiles(...args);var FS_lookupPath=(...args)=>FS.lookupPath(...args);var FS_getPath=(...args)=>FS.getPath(...args);var FS_hashName=(...args)=>FS.hashName(...args);var FS_hashAddNode=(...args)=>FS.hashAddNode(...args);var FS_hashRemoveNode=(...args)=>FS.hashRemoveNode(...args);var FS_lookupNode=(...args)=>FS.lookupNode(...args);var FS_createNode=(...args)=>FS.createNode(...args);var FS_destroyNode=(...args)=>FS.destroyNode(...args);var FS_isRoot=(...args)=>FS.isRoot(...args);var FS_isMountpoint=(...args)=>FS.isMountpoint(...args);var FS_isFile=(...args)=>FS.isFile(...args);var FS_isDir=(...args)=>FS.isDir(...args);var FS_isLink=(...args)=>FS.isLink(...args);var FS_isChrdev=(...args)=>FS.isChrdev(...args);var FS_isBlkdev=(...args)=>FS.isBlkdev(...args);var FS_isFIFO=(...args)=>FS.isFIFO(...args);var FS_isSocket=(...args)=>FS.isSocket(...args);var FS_flagsToPermissionString=(...args)=>FS.flagsToPermissionString(...args);var FS_nodePermissions=(...args)=>FS.nodePermissions(...args);var FS_mayLookup=(...args)=>FS.mayLookup(...args);var FS_mayCreate=(...args)=>FS.mayCreate(...args);var FS_mayDelete=(...args)=>FS.mayDelete(...args);var FS_mayOpen=(...args)=>FS.mayOpen(...args);var FS_checkOpExists=(...args)=>FS.checkOpExists(...args);var FS_nextfd=(...args)=>FS.nextfd(...args);var FS_getStreamChecked=(...args)=>FS.getStreamChecked(...args);var FS_getStream=(...args)=>FS.getStream(...args);var FS_createStream=(...args)=>FS.createStream(...args);var FS_closeStream=(...args)=>FS.closeStream(...args);var FS_dupStream=(...args)=>FS.dupStream(...args);var FS_doSetAttr=(...args)=>FS.doSetAttr(...args);var FS_chrdev_stream_ops=(...args)=>FS.chrdev_stream_ops(...args);var FS_major=(...args)=>FS.major(...args);var FS_minor=(...args)=>FS.minor(...args);var FS_makedev=(...args)=>FS.makedev(...args);var FS_registerDevice=(...args)=>FS.registerDevice(...args);var FS_getDevice=(...args)=>FS.getDevice(...args);var FS_getMounts=(...args)=>FS.getMounts(...args);var FS_syncfs=(...args)=>FS.syncfs(...args);var FS_mount=(...args)=>FS.mount(...args);var FS_unmount=(...args)=>FS.unmount(...args);var FS_lookup=(...args)=>FS.lookup(...args);var FS_mknod=(...args)=>FS.mknod(...args);var FS_statfs=(...args)=>FS.statfs(...args);var FS_statfsStream=(...args)=>FS.statfsStream(...args);var FS_statfsNode=(...args)=>FS.statfsNode(...args);var FS_create=(...args)=>FS.create(...args);var FS_mkdir=(...args)=>FS.mkdir(...args);var FS_mkdev=(...args)=>FS.mkdev(...args);var FS_symlink=(...args)=>FS.symlink(...args);var FS_rename=(...args)=>FS.rename(...args);var FS_rmdir=(...args)=>FS.rmdir(...args);var FS_readdir=(...args)=>FS.readdir(...args);var FS_readlink=(...args)=>FS.readlink(...args);var FS_stat=(...args)=>FS.stat(...args);var FS_fstat=(...args)=>FS.fstat(...args);var FS_lstat=(...args)=>FS.lstat(...args);var FS_doChmod=(...args)=>FS.doChmod(...args);var FS_chmod=(...args)=>FS.chmod(...args);var FS_lchmod=(...args)=>FS.lchmod(...args);var FS_fchmod=(...args)=>FS.fchmod(...args);var FS_doChown=(...args)=>FS.doChown(...args);var FS_chown=(...args)=>FS.chown(...args);var FS_lchown=(...args)=>FS.lchown(...args);var FS_fchown=(...args)=>FS.fchown(...args);var FS_doTruncate=(...args)=>FS.doTruncate(...args);var FS_truncate=(...args)=>FS.truncate(...args);var FS_ftruncate=(...args)=>FS.ftruncate(...args);var FS_utime=(...args)=>FS.utime(...args);var FS_open=(...args)=>FS.open(...args);var FS_close=(...args)=>FS.close(...args);var FS_isClosed=(...args)=>FS.isClosed(...args);var FS_llseek=(...args)=>FS.llseek(...args);var FS_read=(...args)=>FS.read(...args);var FS_write=(...args)=>FS.write(...args);var FS_mmap=(...args)=>FS.mmap(...args);var FS_msync=(...args)=>FS.msync(...args);var FS_ioctl=(...args)=>FS.ioctl(...args);var FS_writeFile=(...args)=>FS.writeFile(...args);var FS_cwd=(...args)=>FS.cwd(...args);var FS_chdir=(...args)=>FS.chdir(...args);var FS_createDefaultDirectories=(...args)=>FS.createDefaultDirectories(...args);var FS_createDefaultDevices=(...args)=>FS.createDefaultDevices(...args);var FS_createSpecialDirectories=(...args)=>FS.createSpecialDirectories(...args);var FS_createStandardStreams=(...args)=>FS.createStandardStreams(...args);var FS_staticInit=(...args)=>FS.staticInit(...args);var FS_init=(...args)=>FS.init(...args);var FS_quit=(...args)=>FS.quit(...args);var FS_findObject=(...args)=>FS.findObject(...args);var FS_analyzePath=(...args)=>FS.analyzePath(...args);var FS_createFile=(...args)=>FS.createFile(...args);var FS_forceLoadFile=(...args)=>FS.forceLoadFile(...args);var FS_createLazyFile=(...args)=>FS.createLazyFile(...args);var _setNetworkCallback=(event,userData,callback)=>{function _callback(data){callUserCallback(()=>{if(event==="error"){withStackSave(()=>{var msg=stringToUTF8OnStack(data[2]);((a1,a2,a3,a4)=>{})(data[0],data[1],msg,userData)})}else{((a1,a2)=>{})(data,userData)}})}SOCKFS.on(event,callback?_callback:null)};var _emscripten_set_socket_error_callback=(userData,callback)=>_setNetworkCallback("error",userData,callback);_emscripten_set_socket_error_callback.sig="vpp";var _emscripten_set_socket_open_callback=(userData,callback)=>_setNetworkCallback("open",userData,callback);_emscripten_set_socket_open_callback.sig="vpp";var _emscripten_set_socket_listen_callback=(userData,callback)=>_setNetworkCallback("listen",userData,callback);_emscripten_set_socket_listen_callback.sig="vpp";var _emscripten_set_socket_connection_callback=(userData,callback)=>_setNetworkCallback("connection",userData,callback);_emscripten_set_socket_connection_callback.sig="vpp";var _emscripten_set_socket_message_callback=(userData,callback)=>_setNetworkCallback("message",userData,callback);_emscripten_set_socket_message_callback.sig="vpp";var _emscripten_set_socket_close_callback=(userData,callback)=>_setNetworkCallback("close",userData,callback);_emscripten_set_socket_close_callback.sig="vpp";var _emscripten_webgl_enable_ANGLE_instanced_arrays=ctx=>webgl_enable_ANGLE_instanced_arrays(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_ANGLE_instanced_arrays.sig="ip";var _emscripten_webgl_enable_OES_vertex_array_object=ctx=>webgl_enable_OES_vertex_array_object(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_OES_vertex_array_object.sig="ip";var _emscripten_webgl_enable_WEBGL_draw_buffers=ctx=>webgl_enable_WEBGL_draw_buffers(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_WEBGL_draw_buffers.sig="ip";var _emscripten_webgl_enable_WEBGL_multi_draw=ctx=>webgl_enable_WEBGL_multi_draw(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_WEBGL_multi_draw.sig="ip";var _emscripten_webgl_enable_EXT_polygon_offset_clamp=ctx=>webgl_enable_EXT_polygon_offset_clamp(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_EXT_polygon_offset_clamp.sig="ip";var _emscripten_webgl_enable_EXT_clip_control=ctx=>webgl_enable_EXT_clip_control(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_EXT_clip_control.sig="ip";var _emscripten_webgl_enable_WEBGL_polygon_mode=ctx=>webgl_enable_WEBGL_polygon_mode(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_WEBGL_polygon_mode.sig="ip";var _glVertexPointer=(size,type,stride,ptr)=>{throw"Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glVertexPointer.sig="viiip";var _glMatrixMode=()=>{throw"Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glMatrixMode.sig="vi";var _glBegin=()=>{throw"Legacy GL function (glBegin) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glBegin.sig="vi";var _glLoadIdentity=()=>{throw"Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glLoadIdentity.sig="v";var _glVertexAttribDivisorNV=_glVertexAttribDivisor;var _glDrawArraysInstancedNV=_glDrawArraysInstanced;var _glDrawElementsInstancedNV=_glDrawElementsInstanced;var _glVertexAttribDivisorEXT=_glVertexAttribDivisor;var _glDrawArraysInstancedEXT=_glDrawArraysInstanced;var _glDrawElementsInstancedEXT=_glDrawElementsInstanced;var _glVertexAttribDivisorARB=_glVertexAttribDivisor;var _glDrawArraysInstancedARB=_glDrawArraysInstanced;var _glDrawElementsInstancedARB=_glDrawElementsInstanced;var _glDrawBuffersEXT=_glDrawBuffers;var _glMultiDrawArraysWEBGL=(mode,firsts,counts,drawcount)=>{GLctx.multiDrawWebgl["multiDrawArraysWEBGL"](mode,HEAP32,firsts>>2,HEAP32,counts>>2,drawcount)};_glMultiDrawArraysWEBGL.sig="vippi";var _glMultiDrawArrays=_glMultiDrawArraysWEBGL;_glMultiDrawArrays.sig="vippi";var _glMultiDrawArraysANGLE=_glMultiDrawArraysWEBGL;var _glMultiDrawArraysInstancedWEBGL=(mode,firsts,counts,instanceCounts,drawcount)=>{GLctx.multiDrawWebgl["multiDrawArraysInstancedWEBGL"](mode,HEAP32,firsts>>2,HEAP32,counts>>2,HEAP32,instanceCounts>>2,drawcount)};_glMultiDrawArraysInstancedWEBGL.sig="vipppi";var _glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedWEBGL;var _glMultiDrawElementsWEBGL=(mode,counts,type,offsets,drawcount)=>{GLctx.multiDrawWebgl["multiDrawElementsWEBGL"](mode,HEAP32,counts>>2,type,HEAP32,offsets>>2,drawcount)};_glMultiDrawElementsWEBGL.sig="vipipi";var _glMultiDrawElements=_glMultiDrawElementsWEBGL;_glMultiDrawElements.sig="vipipi";var _glMultiDrawElementsANGLE=_glMultiDrawElementsWEBGL;var _glMultiDrawElementsInstancedWEBGL=(mode,counts,type,offsets,instanceCounts,drawcount)=>{GLctx.multiDrawWebgl["multiDrawElementsInstancedWEBGL"](mode,HEAP32,counts>>2,type,HEAP32,offsets>>2,HEAP32,instanceCounts>>2,drawcount)};_glMultiDrawElementsInstancedWEBGL.sig="vipippi";var _glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedWEBGL;var _glClearDepth=x0=>GLctx.clearDepth(x0);_glClearDepth.sig="vd";var _glDepthRange=(x0,x1)=>GLctx.depthRange(x0,x1);_glDepthRange.sig="vdd";var _emscripten_glGenVertexArrays=_glGenVertexArrays;_emscripten_glGenVertexArrays.sig="vip";var _emscripten_glDeleteVertexArrays=_glDeleteVertexArrays;_emscripten_glDeleteVertexArrays.sig="vip";var _emscripten_glBindVertexArray=_glBindVertexArray;_emscripten_glBindVertexArray.sig="vi";var _emscripten_glIsVertexArray=_glIsVertexArray;_emscripten_glIsVertexArray.sig="ii";var _emscripten_glVertexPointer=_glVertexPointer;_emscripten_glVertexPointer.sig="viiip";var _emscripten_glMatrixMode=_glMatrixMode;_emscripten_glMatrixMode.sig="vi";var _emscripten_glBegin=_glBegin;_emscripten_glBegin.sig="vi";var _emscripten_glLoadIdentity=_glLoadIdentity;_emscripten_glLoadIdentity.sig="v";var _emscripten_glVertexAttribDivisor=_glVertexAttribDivisor;_emscripten_glVertexAttribDivisor.sig="vii";var _emscripten_glDrawArraysInstanced=_glDrawArraysInstanced;_emscripten_glDrawArraysInstanced.sig="viiii";var _emscripten_glDrawElementsInstanced=_glDrawElementsInstanced;_emscripten_glDrawElementsInstanced.sig="viiipi";var _emscripten_glVertexAttribDivisorNV=_glVertexAttribDivisorNV;var _emscripten_glDrawArraysInstancedNV=_glDrawArraysInstancedNV;var _emscripten_glDrawElementsInstancedNV=_glDrawElementsInstancedNV;var _emscripten_glVertexAttribDivisorEXT=_glVertexAttribDivisorEXT;var _emscripten_glDrawArraysInstancedEXT=_glDrawArraysInstancedEXT;var _emscripten_glDrawElementsInstancedEXT=_glDrawElementsInstancedEXT;var _emscripten_glVertexAttribDivisorARB=_glVertexAttribDivisorARB;var _emscripten_glDrawArraysInstancedARB=_glDrawArraysInstancedARB;var _emscripten_glDrawElementsInstancedARB=_glDrawElementsInstancedARB;var _emscripten_glDrawBuffers=_glDrawBuffers;_emscripten_glDrawBuffers.sig="vip";var _emscripten_glDrawBuffersEXT=_glDrawBuffersEXT;var _emscripten_glMultiDrawArrays=_glMultiDrawArrays;_emscripten_glMultiDrawArrays.sig="vippi";var _emscripten_glMultiDrawArraysANGLE=_glMultiDrawArraysANGLE;var _emscripten_glMultiDrawArraysWEBGL=_glMultiDrawArraysWEBGL;var _emscripten_glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedANGLE;var _emscripten_glMultiDrawArraysInstancedWEBGL=_glMultiDrawArraysInstancedWEBGL;var _emscripten_glMultiDrawElements=_glMultiDrawElements;_emscripten_glMultiDrawElements.sig="vipipi";var _emscripten_glMultiDrawElementsANGLE=_glMultiDrawElementsANGLE;var _emscripten_glMultiDrawElementsWEBGL=_glMultiDrawElementsWEBGL;var _emscripten_glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedANGLE;var _emscripten_glMultiDrawElementsInstancedWEBGL=_glMultiDrawElementsInstancedWEBGL;var _emscripten_glClearDepth=_glClearDepth;_emscripten_glClearDepth.sig="vd";var _emscripten_glDepthRange=_glDepthRange;_emscripten_glDepthRange.sig="vdd";var writeGLArray=(arr,dst,dstLength,heapType)=>{var len=arr.length;var writeLength=dstLength>2;for(var i=0;i{var attr32=attributes>>2;var powerPreference=HEAP32[attr32+(8>>2)];var contextAttributes={alpha:!!HEAP8[attributes+0],depth:!!HEAP8[attributes+1],stencil:!!HEAP8[attributes+2],antialias:!!HEAP8[attributes+3],premultipliedAlpha:!!HEAP8[attributes+4],preserveDrawingBuffer:!!HEAP8[attributes+5],powerPreference:webglPowerPreferences[powerPreference],failIfMajorPerformanceCaveat:!!HEAP8[attributes+12],majorVersion:HEAP32[attr32+(16>>2)],minorVersion:HEAP32[attr32+(20>>2)],enableExtensionsByDefault:HEAP8[attributes+24],explicitSwapControl:HEAP8[attributes+25],proxyContextToMainThread:HEAP32[attr32+(28>>2)],renderViaOffscreenBackBuffer:HEAP8[attributes+32]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl){return 0}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle};_emscripten_webgl_do_create_context.sig="ppp";var _emscripten_webgl_create_context=_emscripten_webgl_do_create_context;_emscripten_webgl_create_context.sig="ppp";var _emscripten_webgl_do_get_current_context=()=>GL.currentContext?GL.currentContext.handle:0;_emscripten_webgl_do_get_current_context.sig="p";var _emscripten_webgl_get_current_context=_emscripten_webgl_do_get_current_context;_emscripten_webgl_get_current_context.sig="p";var _emscripten_webgl_do_commit_frame=()=>{if(!GL.currentContext||!GL.currentContext.GLctx){return-3}if(!GL.currentContext.attributes.explicitSwapControl){return-3}return 0};_emscripten_webgl_do_commit_frame.sig="i";var _emscripten_webgl_commit_frame=_emscripten_webgl_do_commit_frame;_emscripten_webgl_commit_frame.sig="i";var _emscripten_webgl_make_context_current=contextHandle=>{var success=GL.makeContextCurrent(contextHandle);return success?0:-5};_emscripten_webgl_make_context_current.sig="ip";var _emscripten_webgl_get_drawing_buffer_size=(contextHandle,width,height)=>{var GLContext=GL.getContext(contextHandle);if(!GLContext||!GLContext.GLctx||!width||!height){return-5}HEAP32[width>>2]=GLContext.GLctx.drawingBufferWidth;HEAP32[height>>2]=GLContext.GLctx.drawingBufferHeight;return 0};_emscripten_webgl_get_drawing_buffer_size.sig="ippp";var _emscripten_webgl_get_context_attributes=(c,a)=>{if(!a)return-5;c=GL.contexts[c];if(!c)return-3;var t=c.GLctx;if(!t)return-3;t=t.getContextAttributes();HEAP8[a]=t.alpha;HEAP8[a+1]=t.depth;HEAP8[a+2]=t.stencil;HEAP8[a+3]=t.antialias;HEAP8[a+4]=t.premultipliedAlpha;HEAP8[a+5]=t.preserveDrawingBuffer;var power=t["powerPreference"]&&webglPowerPreferences.indexOf(t["powerPreference"]);HEAP32[a+8>>2]=power;HEAP8[a+12]=t.failIfMajorPerformanceCaveat;HEAP32[a+16>>2]=c.version;HEAP32[a+20>>2]=0;HEAP8[a+24]=c.attributes.enableExtensionsByDefault;return 0};_emscripten_webgl_get_context_attributes.sig="ipp";var _emscripten_webgl_destroy_context=contextHandle=>{if(GL.currentContext==contextHandle)GL.currentContext=0;GL.deleteContext(contextHandle)};_emscripten_webgl_destroy_context.sig="ip";var _emscripten_webgl_enable_extension=(contextHandle,extension)=>{var context=GL.getContext(contextHandle);var extString=UTF8ToString(extension);if(extString.startsWith("GL_"))extString=extString.slice(3);if(extString=="ANGLE_instanced_arrays")webgl_enable_ANGLE_instanced_arrays(GLctx);if(extString=="OES_vertex_array_object")webgl_enable_OES_vertex_array_object(GLctx);if(extString=="WEBGL_draw_buffers")webgl_enable_WEBGL_draw_buffers(GLctx);if(extString=="WEBGL_multi_draw")webgl_enable_WEBGL_multi_draw(GLctx);if(extString=="EXT_polygon_offset_clamp")webgl_enable_EXT_polygon_offset_clamp(GLctx);if(extString=="EXT_clip_control")webgl_enable_EXT_clip_control(GLctx);if(extString=="WEBGL_polygon_mode")webgl_enable_WEBGL_polygon_mode(GLctx);var ext=context.GLctx.getExtension(extString);return!!ext};_emscripten_webgl_enable_extension.sig="ipp";var _emscripten_supports_offscreencanvas=()=>0;_emscripten_supports_offscreencanvas.sig="i";var registerWebGlEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var webGlEventHandlerFunc=(e=event)=>{if(((a1,a2,a3)=>{})(eventTypeId,0,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:webGlEventHandlerFunc,useCapture};JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_webglcontextlost_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{registerWebGlEventCallback(target,userData,useCapture,callbackfunc,31,"webglcontextlost",targetThread);return 0};_emscripten_set_webglcontextlost_callback_on_thread.sig="ippipp";var _emscripten_set_webglcontextrestored_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{registerWebGlEventCallback(target,userData,useCapture,callbackfunc,32,"webglcontextrestored",targetThread);return 0};_emscripten_set_webglcontextrestored_callback_on_thread.sig="ippipp";var _emscripten_is_webgl_context_lost=contextHandle=>!GL.contexts[contextHandle]||GL.contexts[contextHandle].GLctx.isContextLost();_emscripten_is_webgl_context_lost.sig="ip";var _emscripten_webgl_get_supported_extensions=()=>stringToNewUTF8(GLctx.getSupportedExtensions().join(" "));_emscripten_webgl_get_supported_extensions.sig="p";var _emscripten_webgl_get_program_parameter_d=(program,param)=>GLctx.getProgramParameter(GL.programs[program],param);_emscripten_webgl_get_program_parameter_d.sig="dii";var _emscripten_webgl_get_program_info_log_utf8=program=>stringToNewUTF8(GLctx.getProgramInfoLog(GL.programs[program]));_emscripten_webgl_get_program_info_log_utf8.sig="pi";var _emscripten_webgl_get_shader_parameter_d=(shader,param)=>GLctx.getShaderParameter(GL.shaders[shader],param);_emscripten_webgl_get_shader_parameter_d.sig="dii";var _emscripten_webgl_get_shader_info_log_utf8=shader=>stringToNewUTF8(GLctx.getShaderInfoLog(GL.shaders[shader]));_emscripten_webgl_get_shader_info_log_utf8.sig="pi";var _emscripten_webgl_get_shader_source_utf8=shader=>stringToNewUTF8(GLctx.getShaderSource(GL.shaders[shader]));_emscripten_webgl_get_shader_source_utf8.sig="pi";var _emscripten_webgl_get_vertex_attrib_d=(index,param)=>GLctx.getVertexAttrib(index,param);_emscripten_webgl_get_vertex_attrib_d.sig="dii";var _emscripten_webgl_get_vertex_attrib_o=(index,param)=>{var obj=GLctx.getVertexAttrib(index,param);return obj?.name};_emscripten_webgl_get_vertex_attrib_o.sig="iii";var _emscripten_webgl_get_vertex_attrib_v=(index,param,dst,dstLength,dstType)=>writeGLArray(GLctx.getVertexAttrib(index,param),dst,dstLength,dstType);_emscripten_webgl_get_vertex_attrib_v.sig="iiipii";var _emscripten_webgl_get_uniform_d=(program,location)=>GLctx.getUniform(GL.programs[program],webglGetUniformLocation(location));_emscripten_webgl_get_uniform_d.sig="dii";var _emscripten_webgl_get_uniform_v=(program,location,dst,dstLength,dstType)=>writeGLArray(GLctx.getUniform(GL.programs[program],webglGetUniformLocation(location)),dst,dstLength,dstType);_emscripten_webgl_get_uniform_v.sig="iiipii";var _emscripten_webgl_get_parameter_v=(param,dst,dstLength,dstType)=>writeGLArray(GLctx.getParameter(param),dst,dstLength,dstType);_emscripten_webgl_get_parameter_v.sig="iipii";var _emscripten_webgl_get_parameter_d=param=>GLctx.getParameter(param);_emscripten_webgl_get_parameter_d.sig="di";var _emscripten_webgl_get_parameter_o=param=>{var obj=GLctx.getParameter(param);return obj?.name};_emscripten_webgl_get_parameter_o.sig="ii";var _emscripten_webgl_get_parameter_utf8=param=>stringToNewUTF8(GLctx.getParameter(param));_emscripten_webgl_get_parameter_utf8.sig="pi";var _emscripten_webgl_get_parameter_i64v=(param,dst)=>writeI53ToI64(dst,GLctx.getParameter(param));_emscripten_webgl_get_parameter_i64v.sig="vip";var _glutPostRedisplay=()=>{if(GLUT.displayFunc&&!GLUT.requestedAnimationFrame){GLUT.requestedAnimationFrame=true;MainLoop.requestAnimationFrame(()=>{GLUT.requestedAnimationFrame=false;MainLoop.runIter(()=>(()=>{})())})}};_glutPostRedisplay.sig="v";var GLUT={initTime:null,idleFunc:null,displayFunc:null,keyboardFunc:null,keyboardUpFunc:null,specialFunc:null,specialUpFunc:null,reshapeFunc:null,motionFunc:null,passiveMotionFunc:null,mouseFunc:null,buttons:0,modifiers:0,initWindowWidth:256,initWindowHeight:256,initDisplayMode:18,windowX:0,windowY:0,windowWidth:0,windowHeight:0,requestedAnimationFrame:false,saveModifiers:event=>{GLUT.modifiers=0;if(event["shiftKey"])GLUT.modifiers+=1;if(event["ctrlKey"])GLUT.modifiers+=2;if(event["altKey"])GLUT.modifiers+=4},onMousemove:event=>{var lastX=Browser.mouseX;var lastY=Browser.mouseY;Browser.calculateMouseEvent(event);var newX=Browser.mouseX;var newY=Browser.mouseY;if(newX==lastX&&newY==lastY)return;if(GLUT.buttons==0&&event.target==Browser.getCanvas()&&GLUT.passiveMotionFunc){event.preventDefault();GLUT.saveModifiers(event);((a1,a2)=>{})(lastX,lastY)}else if(GLUT.buttons!=0&&GLUT.motionFunc){event.preventDefault();GLUT.saveModifiers(event);((a1,a2)=>{})(lastX,lastY)}},getSpecialKey:keycode=>{var key=null;switch(keycode){case 8:key=120;break;case 46:key=111;break;case 112:key=1;break;case 113:key=2;break;case 114:key=3;break;case 115:key=4;break;case 116:key=5;break;case 117:key=6;break;case 118:key=7;break;case 119:key=8;break;case 120:key=9;break;case 121:key=10;break;case 122:key=11;break;case 123:key=12;break;case 37:key=100;break;case 38:key=101;break;case 39:key=102;break;case 40:key=103;break;case 33:key=104;break;case 34:key=105;break;case 36:key=106;break;case 35:key=107;break;case 45:key=108;break;case 16:case 5:key=112;break;case 6:key=113;break;case 17:case 3:key=114;break;case 4:key=115;break;case 18:case 2:key=116;break;case 1:key=117;break}return key},getASCIIKey:event=>{if(event["ctrlKey"]||event["altKey"]||event["metaKey"])return null;var keycode=event["keyCode"];if(48<=keycode&&keycode<=57)return keycode;if(65<=keycode&&keycode<=90)return event["shiftKey"]?keycode:keycode+32;if(96<=keycode&&keycode<=105)return keycode-48;if(106<=keycode&&keycode<=111)return keycode-106+42;switch(keycode){case 9:case 13:case 27:case 32:case 61:return keycode}var s=event["shiftKey"];switch(keycode){case 186:return s?58:59;case 187:return s?43:61;case 188:return s?60:44;case 189:return s?95:45;case 190:return s?62:46;case 191:return s?63:47;case 219:return s?123:91;case 220:return s?124:47;case 221:return s?125:93;case 222:return s?34:39}return null},onKeydown:event=>{if(GLUT.specialFunc||GLUT.keyboardFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialFunc){event.preventDefault();GLUT.saveModifiers(event);((a1,a2,a3)=>{})(key,Browser.mouseX,Browser.mouseY)}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardFunc){event.preventDefault();GLUT.saveModifiers(event);((a1,a2,a3)=>{})(key,Browser.mouseX,Browser.mouseY)}}}},onKeyup:event=>{if(GLUT.specialUpFunc||GLUT.keyboardUpFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialUpFunc){event.preventDefault();GLUT.saveModifiers(event);((a1,a2,a3)=>{})(key,Browser.mouseX,Browser.mouseY)}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardUpFunc){event.preventDefault();GLUT.saveModifiers(event);((a1,a2,a3)=>{})(key,Browser.mouseX,Browser.mouseY)}}}},touchHandler:event=>{if(event.target!=Browser.getCanvas()){return}var touches=event.changedTouches,main=touches[0],type="";switch(event.type){case"touchstart":type="mousedown";break;case"touchmove":type="mousemove";break;case"touchend":type="mouseup";break;default:return}var simulatedEvent=document.createEvent("MouseEvent");simulatedEvent.initMouseEvent(type,true,true,window,1,main.screenX,main.screenY,main.clientX,main.clientY,false,false,false,false,0,null);main.target.dispatchEvent(simulatedEvent);event.preventDefault()},onMouseButtonDown:event=>{Browser.calculateMouseEvent(event);GLUT.buttons|=1<{})(event["button"],0,Browser.mouseX,Browser.mouseY)}},onMouseButtonUp:event=>{Browser.calculateMouseEvent(event);GLUT.buttons&=~(1<{})(event["button"],1,Browser.mouseX,Browser.mouseY)}},onMouseWheel:event=>{Browser.calculateMouseEvent(event);var e=window.event||event;var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);var button=3;if(delta<0){button=4}if(GLUT.mouseFunc){event.preventDefault();GLUT.saveModifiers(event);((a1,a2,a3,a4)=>{})(button,0,Browser.mouseX,Browser.mouseY)}},onFullscreenEventChange:event=>{var width;var height;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){width=screen["width"];height=screen["height"]}else{width=GLUT.windowWidth;height=GLUT.windowHeight;document.removeEventListener("fullscreenchange",GLUT.onFullscreenEventChange,true);document.removeEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,true);document.removeEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,true)}Browser.setCanvasSize(width,height,true);if(GLUT.reshapeFunc){((a1,a2)=>{})(width,height)}_glutPostRedisplay()}};var _glutGetModifiers=()=>GLUT.modifiers;_glutGetModifiers.sig="i";var _glutInit=(argcp,argv)=>{GLUT.initTime=Date.now();var isTouchDevice="ontouchstart"in document.documentElement;if(isTouchDevice){window.addEventListener("touchmove",GLUT.touchHandler,true);window.addEventListener("touchstart",GLUT.touchHandler,true);window.addEventListener("touchend",GLUT.touchHandler,true)}window.addEventListener("keydown",GLUT.onKeydown,true);window.addEventListener("keyup",GLUT.onKeyup,true);window.addEventListener("mousemove",GLUT.onMousemove,true);window.addEventListener("mousedown",GLUT.onMouseButtonDown,true);window.addEventListener("mouseup",GLUT.onMouseButtonUp,true);window.addEventListener("mousewheel",GLUT.onMouseWheel,true);window.addEventListener("DOMMouseScroll",GLUT.onMouseWheel,true);Browser.resizeListeners.push((width,height)=>{if(GLUT.reshapeFunc){((a1,a2)=>{})(width,height)}});addOnExit(()=>{if(isTouchDevice){window.removeEventListener("touchmove",GLUT.touchHandler,true);window.removeEventListener("touchstart",GLUT.touchHandler,true);window.removeEventListener("touchend",GLUT.touchHandler,true)}window.removeEventListener("keydown",GLUT.onKeydown,true);window.removeEventListener("keyup",GLUT.onKeyup,true);window.removeEventListener("mousemove",GLUT.onMousemove,true);window.removeEventListener("mousedown",GLUT.onMouseButtonDown,true);window.removeEventListener("mouseup",GLUT.onMouseButtonUp,true);window.removeEventListener("mousewheel",GLUT.onMouseWheel,true);window.removeEventListener("DOMMouseScroll",GLUT.onMouseWheel,true);var canvas=Browser.getCanvas();canvas.width=canvas.height=1})};_glutInit.sig="vpp";var _glutInitWindowSize=(width,height)=>{Browser.setCanvasSize(GLUT.initWindowWidth=width,GLUT.initWindowHeight=height)};_glutInitWindowSize.sig="vii";var _glutInitWindowPosition=(x,y)=>{};_glutInitWindowPosition.sig="vii";var _glutGet=type=>{switch(type){case 100:return 0;case 101:return 0;case 102:return Browser.getCanvas().width;case 103:return Browser.getCanvas().height;case 200:return Browser.getCanvas().width;case 201:return Browser.getCanvas().height;case 500:return 0;case 501:return 0;case 502:return GLUT.initWindowWidth;case 503:return GLUT.initWindowHeight;case 700:var now=Date.now();return now-GLUT.initTime;case 105:return GLctx.getContextAttributes().stencil?8:0;case 106:return GLctx.getContextAttributes().depth?8:0;case 110:return GLctx.getContextAttributes().alpha?8:0;case 120:return GLctx.getContextAttributes().antialias?1:0;default:throw"glutGet("+type+") not implemented yet"}};_glutGet.sig="ii";var _glutIdleFunc=func=>{function callback(){if(GLUT.idleFunc){(()=>{})();safeSetTimeout(callback,4)}}if(!GLUT.idleFunc){safeSetTimeout(callback,0)}GLUT.idleFunc=func};_glutIdleFunc.sig="vp";var _glutTimerFunc=(msec,func,value)=>safeSetTimeout(()=>(a1=>{})(value),msec);_glutTimerFunc.sig="vipi";var _glutDisplayFunc=func=>{GLUT.displayFunc=func};_glutDisplayFunc.sig="vp";var _glutKeyboardFunc=func=>{GLUT.keyboardFunc=func};_glutKeyboardFunc.sig="vp";var _glutKeyboardUpFunc=func=>{GLUT.keyboardUpFunc=func};_glutKeyboardUpFunc.sig="vp";var _glutSpecialFunc=func=>{GLUT.specialFunc=func};_glutSpecialFunc.sig="vp";var _glutSpecialUpFunc=func=>{GLUT.specialUpFunc=func};_glutSpecialUpFunc.sig="vp";var _glutReshapeFunc=func=>{GLUT.reshapeFunc=func};_glutReshapeFunc.sig="vp";var _glutMotionFunc=func=>{GLUT.motionFunc=func};_glutMotionFunc.sig="vp";var _glutPassiveMotionFunc=func=>{GLUT.passiveMotionFunc=func};_glutPassiveMotionFunc.sig="vp";var _glutMouseFunc=func=>{GLUT.mouseFunc=func};_glutMouseFunc.sig="vp";var _glutSetCursor=cursor=>{var cursorStyle="auto";switch(cursor){case 0:break;case 1:break;case 2:cursorStyle="pointer";break;case 3:break;case 4:cursorStyle="help";break;case 5:break;case 6:break;case 7:cursorStyle="wait";break;case 8:cursorStyle="text";break;case 9:case 102:cursorStyle="crosshair";break;case 10:cursorStyle="ns-resize";break;case 11:cursorStyle="ew-resize";break;case 12:cursorStyle="n-resize";break;case 13:cursorStyle="s-resize";break;case 14:cursorStyle="w-resize";break;case 15:cursorStyle="e-resize";break;case 16:cursorStyle="nw-resize";break;case 17:cursorStyle="ne-resize";break;case 18:cursorStyle="se-resize";break;case 19:cursorStyle="sw-resize";break;case 100:break;case 101:cursorStyle="none";break;default:throw"glutSetCursor: Unknown cursor type: "+cursor}Browser.getCanvas().style.cursor=cursorStyle};_glutSetCursor.sig="vi";var _glutCreateWindow=name=>{var contextAttributes={antialias:(GLUT.initDisplayMode&128)!=0,depth:(GLUT.initDisplayMode&16)!=0,stencil:(GLUT.initDisplayMode&32)!=0,alpha:(GLUT.initDisplayMode&8)!=0};if(!Browser.createContext(Browser.getCanvas(),true,true,contextAttributes)){return 0}return 1};_glutCreateWindow.sig="ip";var _glutDestroyWindow=name=>{delete Module["ctx"];return 1};_glutDestroyWindow.sig="vi";var _glutReshapeWindow=(width,height)=>{Browser.exitFullscreen();Browser.setCanvasSize(width,height,true);if(GLUT.reshapeFunc){((a1,a2)=>{})(width,height)}_glutPostRedisplay()};_glutReshapeWindow.sig="vii";var _glutPositionWindow=(x,y)=>{Browser.exitFullscreen();_glutPostRedisplay()};_glutPositionWindow.sig="vii";var _glutFullScreen=()=>{GLUT.windowX=0;GLUT.windowY=0;var canvas=Browser.getCanvas();GLUT.windowWidth=canvas.width;GLUT.windowHeight=canvas.height;document.addEventListener("fullscreenchange",GLUT.onFullscreenEventChange,true);document.addEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,true);document.addEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,true);Browser.requestFullscreen(false,false)};_glutFullScreen.sig="v";var _glutInitDisplayMode=mode=>GLUT.initDisplayMode=mode;_glutInitDisplayMode.sig="vi";var _glutSwapBuffers=()=>{};_glutSwapBuffers.sig="v";var _glutMainLoop=()=>{var canvas=Browser.getCanvas();_glutReshapeWindow(canvas.width,canvas.height);_glutPostRedisplay();throw"unwind"};_glutMainLoop.sig="v";var _XOpenDisplay=name=>1;_XOpenDisplay.sig="pp";var _XCreateWindow=(display,parent,x,y,width,height,border_width,depth,class_,visual,valuemask,attributes)=>{Browser.setCanvasSize(width,height);return 2};_XCreateWindow.sig="pppiiiiiiippp";var _XChangeWindowAttributes=(display,window,valuemask,attributes)=>{};_XChangeWindowAttributes.sig="ipppp";var _XSetWMHints=(display,win,hints)=>{};_XSetWMHints.sig="ippp";var _XMapWindow=(display,win)=>{};_XMapWindow.sig="ipp";var _XStoreName=(display,win,name)=>{};_XStoreName.sig="ippp";var _XInternAtom=(display,name_,hmm)=>0;_XInternAtom.sig="pppi";var _XSendEvent=(display,win,propagate,event_mask,even_send)=>{};_XSendEvent.sig="ippipp";var _XPending=display=>0;_XPending.sig="ip";var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:false,depth:false,stencil:false,antialias:false},stringCache:{},setErrorCode(code){EGL.errorCode=code},chooseConfig(display,attribList,config,config_size,numConfigs){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(attribList){for(;;){var param=HEAP32[attribList>>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAPU32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};var _eglGetDisplay=nativeDisplayType=>{EGL.setErrorCode(12288);if(nativeDisplayType!=0&&nativeDisplayType!=1){return 0}return 62e3};_eglGetDisplay.sig="pp";var _eglInitialize=(display,majorVersion,minorVersion)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1};_eglInitialize.sig="ippp";var _eglTerminate=display=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1};_eglTerminate.sig="ip";var _eglGetConfigs=(display,configs,config_size,numConfigs)=>EGL.chooseConfig(display,0,configs,config_size,numConfigs);_eglGetConfigs.sig="ippip";var _eglChooseConfig=(display,attrib_list,configs,config_size,numConfigs)=>EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs);_eglChooseConfig.sig="ipppip";var _eglGetConfigAttrib=(display,config,attribute,value)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>2]=EGL.contextAttributes.alpha?32:24;return 1;case 12321:HEAP32[value>>2]=EGL.contextAttributes.alpha?8:0;return 1;case 12322:HEAP32[value>>2]=8;return 1;case 12323:HEAP32[value>>2]=8;return 1;case 12324:HEAP32[value>>2]=8;return 1;case 12325:HEAP32[value>>2]=EGL.contextAttributes.depth?24:0;return 1;case 12326:HEAP32[value>>2]=EGL.contextAttributes.stencil?8:0;return 1;case 12327:HEAP32[value>>2]=12344;return 1;case 12328:HEAP32[value>>2]=62002;return 1;case 12329:HEAP32[value>>2]=0;return 1;case 12330:HEAP32[value>>2]=4096;return 1;case 12331:HEAP32[value>>2]=16777216;return 1;case 12332:HEAP32[value>>2]=4096;return 1;case 12333:HEAP32[value>>2]=0;return 1;case 12334:HEAP32[value>>2]=0;return 1;case 12335:HEAP32[value>>2]=12344;return 1;case 12337:HEAP32[value>>2]=EGL.contextAttributes.antialias?4:0;return 1;case 12338:HEAP32[value>>2]=EGL.contextAttributes.antialias?1:0;return 1;case 12339:HEAP32[value>>2]=4;return 1;case 12340:HEAP32[value>>2]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>2]=-1;return 1;case 12345:case 12346:HEAP32[value>>2]=0;return 1;case 12347:HEAP32[value>>2]=0;return 1;case 12348:HEAP32[value>>2]=1;return 1;case 12349:case 12350:HEAP32[value>>2]=0;return 1;case 12351:HEAP32[value>>2]=12430;return 1;case 12352:HEAP32[value>>2]=4;return 1;case 12354:HEAP32[value>>2]=0;return 1;default:EGL.setErrorCode(12292);return 0}};_eglGetConfigAttrib.sig="ippip";var _eglCreateWindowSurface=(display,config,win,attrib_list)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006};_eglCreateWindowSurface.sig="pppip";var _eglDestroySurface=(display,surface)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1};_eglDestroySurface.sig="ipp";var _eglCreateContext=(display,config,hmm,contextAttribs)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion!=2){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Browser.getCanvas(),EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Browser.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}};_eglCreateContext.sig="ppppp";var _eglDestroyContext=(display,context)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1};_eglDestroyContext.sig="ipp";var _eglQuerySurface=(display,surface,attribute,value)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12328:HEAP32[value>>2]=62002;return 1;case 12376:return 1;case 12375:HEAP32[value>>2]=Browser.getCanvas().width;return 1;case 12374:HEAP32[value>>2]=Browser.getCanvas().height;return 1;case 12432:HEAP32[value>>2]=-1;return 1;case 12433:HEAP32[value>>2]=-1;return 1;case 12434:HEAP32[value>>2]=-1;return 1;case 12422:HEAP32[value>>2]=12420;return 1;case 12441:HEAP32[value>>2]=12442;return 1;case 12435:HEAP32[value>>2]=12437;return 1;case 12416:case 12417:case 12418:case 12419:return 1;default:EGL.setErrorCode(12292);return 0}};_eglQuerySurface.sig="ippip";var _eglQueryContext=(display,context,attribute,value)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12328:HEAP32[value>>2]=62002;return 1;case 12439:HEAP32[value>>2]=12448;return 1;case 12440:HEAP32[value>>2]=EGL.contextAttributes.majorVersion+1;return 1;case 12422:HEAP32[value>>2]=12420;return 1;default:EGL.setErrorCode(12292);return 0}};_eglQueryContext.sig="ippip";var _eglGetError=()=>EGL.errorCode;_eglGetError.sig="i";var _eglQueryString=(display,name)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.setErrorCode(12288);if(EGL.stringCache[name])return EGL.stringCache[name];var ret;switch(name){case 12371:ret=stringToNewUTF8("Emscripten");break;case 12372:ret=stringToNewUTF8("1.4 Emscripten EGL");break;case 12373:ret=stringToNewUTF8("");break;case 12429:ret=stringToNewUTF8("OpenGL_ES");break;default:EGL.setErrorCode(12300);return 0}EGL.stringCache[name]=ret;return ret};_eglQueryString.sig="ppi";var _eglBindAPI=api=>{if(api==12448){EGL.setErrorCode(12288);return 1}EGL.setErrorCode(12300);return 0};_eglBindAPI.sig="ii";var _eglQueryAPI=()=>{EGL.setErrorCode(12288);return 12448};_eglQueryAPI.sig="i";var _eglWaitClient=()=>{EGL.setErrorCode(12288);return 1};_eglWaitClient.sig="i";var _eglWaitNative=nativeEngineId=>{EGL.setErrorCode(12288);return 1};_eglWaitNative.sig="ii";var _eglWaitGL=_eglWaitClient;_eglWaitGL.sig="i";var _eglSwapInterval=(display,interval)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1};_eglSwapInterval.sig="ipi";var _eglMakeCurrent=(display,draw,read,context)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1};_eglMakeCurrent.sig="ipppp";var _eglGetCurrentContext=()=>EGL.currentContext;_eglGetCurrentContext.sig="p";var _eglGetCurrentSurface=readdraw=>{if(readdraw==12378){return EGL.currentReadSurface}else if(readdraw==12377){return EGL.currentDrawSurface}else{EGL.setErrorCode(12300);return 0}};_eglGetCurrentSurface.sig="pi";var _eglGetCurrentDisplay=()=>EGL.currentContext?62e3:0;_eglGetCurrentDisplay.sig="p";var _eglSwapBuffers=(dpy,surface)=>{if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!GLctx){EGL.setErrorCode(12290)}else if(GLctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0};_eglSwapBuffers.sig="ipp";var _eglReleaseThread=()=>{EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.setErrorCode(12288);return 1};_eglReleaseThread.sig="i";var _uuid_clear=uu=>zeroMemory(uu,16);_uuid_clear.sig="vp";var _uuid_compare=(uu1,uu2)=>_memcmp(uu1,uu2,16);_uuid_compare.sig="ipp";var _uuid_copy=(dst,src)=>_memcpy(dst,src,16);_uuid_copy.sig="vpp";var _uuid_generate=out=>{var uuid=new Uint8Array(16);randomFill(uuid);uuid[6]=uuid[6]&15|64;uuid[8]=uuid[8]&63|128;writeArrayToMemory(uuid,out)};_uuid_generate.sig="vp";var _uuid_is_null=uu=>{for(var i=0;i<4;i++,uu=uu+4|0){var val=HEAP32[uu>>2];if(val){return 0}}return 1};_uuid_is_null.sig="ip";var _uuid_parse=(inp,uu)=>{inp=UTF8ToString(inp);if(inp.length===36){var i=0;var uuid=new Array(16);inp.toLowerCase().replace(/[0-9a-f]{2}/g,function(byte){if(i<16){uuid[i++]=parseInt(byte,16)}});if(i<16){return-1}writeArrayToMemory(uuid,uu);return 0}return-1};_uuid_parse.sig="ipp";var _uuid_unparse=(uu,out,upper)=>{var i=0;var uuid="xxxx-xx-xx-xx-xxxxxx".replace(/[x]/g,function(c){var r=upper?HEAPU8[uu+i].toString(16).toUpperCase():HEAPU8[uu+i].toString(16);r=r.length===1?"0"+r:r;i++;return r});stringToUTF8(uuid,out,37)};_uuid_unparse.sig="vpp";var _uuid_unparse_lower=(uu,out)=>{_uuid_unparse(uu,out)};_uuid_unparse_lower.sig="vpp";var _uuid_unparse_upper=(uu,out)=>{_uuid_unparse(uu,out,true)};_uuid_unparse_upper.sig="vpp";var _uuid_type=uu=>4;_uuid_type.sig="ip";var _uuid_variant=uu=>1;_uuid_variant.sig="ip";var GLEW={isLinaroFork:1,extensions:null,error:{0:null,1:null,2:null,3:null,4:null,5:null,6:null,7:null,8:null},version:{1:null,2:null,3:null,4:null},errorStringConstantFromCode(error){if(GLEW.isLinaroFork){switch(error){case 4:return"OpenGL ES lib expected, found OpenGL lib";case 5:return"OpenGL lib expected, found OpenGL ES lib";case 6:return"Missing EGL version";case 7:return"EGL 1.1 and up are supported";default:break}}switch(error){case 0:return"No error";case 1:return"Missing GL version";case 2:return"GL 1.1 and up are supported";case 3:return"GLX 1.2 and up are supported";default:return null}},errorString(error){if(!GLEW.error[error]){var string=GLEW.errorStringConstantFromCode(error);if(!string){string="Unknown error";error=8}GLEW.error[error]=stringToNewUTF8(string)}return GLEW.error[error]},versionStringConstantFromCode(name){switch(name){case 1:return"1.10.0";case 2:return"1";case 3:return"10";case 4:return"0";default:return null}},versionString(name){if(!GLEW.version[name]){var string=GLEW.versionStringConstantFromCode(name);if(!string)return 0;GLEW.version[name]=stringToNewUTF8(string)}return GLEW.version[name]},extensionIsSupported(name){GLEW.extensions||=webglGetExtensions();if(GLEW.extensions.includes(name))return 1;return GLEW.extensions.includes("GL_"+name)}};var _glewInit=()=>0;_glewInit.sig="i";var _glewIsSupported=name=>{var exts=UTF8ToString(name).split(" ");for(var ext of exts){if(!GLEW.extensionIsSupported(ext))return 0}return 1};_glewIsSupported.sig="ip";var _glewGetExtension=name=>GLEW.extensionIsSupported(UTF8ToString(name));_glewGetExtension.sig="ip";var _glewGetErrorString=error=>GLEW.errorString(error);_glewGetErrorString.sig="pi";var _glewGetString=name=>GLEW.versionString(name);_glewGetString.sig="pi";var IDBStore={indexedDB(){if(typeof indexedDB!="undefined")return indexedDB;var ret=null;if(typeof window=="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;return ret},DB_VERSION:22,DB_STORE_NAME:"FILE_DATA",dbs:{},blobs:[0],getDB(name,callback){var db=IDBStore.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBStore.indexedDB().open(name,IDBStore.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=e=>{var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBStore.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBStore.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBStore.DB_STORE_NAME)}};req.onsuccess=()=>{db=req.result;IDBStore.dbs[name]=db;callback(null,db)};req.onerror=function(event){callback(event.target.error||"unknown error");event.preventDefault()}},getStore(dbName,type,callback){IDBStore.getDB(dbName,(error,db)=>{if(error)return callback(error);var transaction=db.transaction([IDBStore.DB_STORE_NAME],type);transaction.onerror=event=>{callback(event.target.error||"unknown error");event.preventDefault()};var store=transaction.objectStore(IDBStore.DB_STORE_NAME);callback(null,store)})},getFile(dbName,id,callback){IDBStore.getStore(dbName,"readonly",(err,store)=>{if(err)return callback(err);var req=store.get(id);req.onsuccess=event=>{var result=event.target.result;if(!result){return callback(`file ${id} not found`)}return callback(null,result)};req.onerror=callback})},setFile(dbName,id,data,callback){IDBStore.getStore(dbName,"readwrite",(err,store)=>{if(err)return callback(err);var req=store.put(data,id);req.onsuccess=event=>callback();req.onerror=callback})},deleteFile(dbName,id,callback){IDBStore.getStore(dbName,"readwrite",(err,store)=>{if(err)return callback(err);var req=store.delete(id);req.onsuccess=event=>callback();req.onerror=callback})},existsFile(dbName,id,callback){IDBStore.getStore(dbName,"readonly",(err,store)=>{if(err)return callback(err);var req=store.count(id);req.onsuccess=event=>callback(null,event.target.result>0);req.onerror=callback})},clearStore(dbName,callback){IDBStore.getStore(dbName,"readwrite",(err,store)=>{if(err)return callback(err);var req=store.clear();req.onsuccess=event=>callback();req.onerror=callback})}};var _emscripten_idb_async_load=(db,id,arg,onload,onerror)=>{IDBStore.getFile(UTF8ToString(db),UTF8ToString(id),(error,byteArray)=>{callUserCallback(()=>{if(error){if(onerror)(a1=>{})(arg);return}var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);((a1,a2,a3)=>{})(arg,buffer,byteArray.length);_free(buffer)})})};_emscripten_idb_async_load.sig="vppppp";var _emscripten_idb_async_store=(db,id,ptr,num,arg,onstore,onerror)=>{IDBStore.setFile(UTF8ToString(db),UTF8ToString(id),new Uint8Array(HEAPU8.subarray(ptr,ptr+num)),error=>{callUserCallback(()=>{if(error){if(onerror)(a1=>{})(arg);return}if(onstore)(a1=>{})(arg)})})};_emscripten_idb_async_store.sig="vpppippp";var _emscripten_idb_async_delete=(db,id,arg,ondelete,onerror)=>{IDBStore.deleteFile(UTF8ToString(db),UTF8ToString(id),error=>{callUserCallback(()=>{if(error){if(onerror)(a1=>{})(arg);return}if(ondelete)(a1=>{})(arg)})})};_emscripten_idb_async_delete.sig="vppppp";var _emscripten_idb_async_exists=(db,id,arg,oncheck,onerror)=>{IDBStore.existsFile(UTF8ToString(db),UTF8ToString(id),(error,exists)=>{callUserCallback(()=>{if(error){if(onerror)(a1=>{})(arg);return}if(oncheck)((a1,a2)=>{})(arg,exists)})})};_emscripten_idb_async_exists.sig="vppppp";var _emscripten_idb_async_clear=(db,arg,onclear,onerror)=>{IDBStore.clearStore(UTF8ToString(db),error=>{callUserCallback(()=>{if(error){if(onerror)(a1=>{})(arg);return}if(onclear)(a1=>{})(arg)})})};_emscripten_idb_async_clear.sig="vpppp";var _emscripten_idb_load=(db,id,pbuffer,pnum,perror)=>Asyncify.handleSleep(wakeUp=>{IDBStore.getFile(UTF8ToString(db),UTF8ToString(id),(error,byteArray)=>{if(error){HEAP32[perror>>2]=1;wakeUp();return}var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);HEAPU32[pbuffer>>2]=buffer;HEAP32[pnum>>2]=byteArray.length;HEAP32[perror>>2]=0;wakeUp()})});_emscripten_idb_load.sig="vppppp";_emscripten_idb_load.isAsync=true;var _emscripten_idb_store=(db,id,ptr,num,perror)=>Asyncify.handleSleep(wakeUp=>{IDBStore.setFile(UTF8ToString(db),UTF8ToString(id),new Uint8Array(HEAPU8.subarray(ptr,ptr+num)),error=>{HEAP32[perror>>2]=!!error;wakeUp()})});_emscripten_idb_store.sig="vpppip";_emscripten_idb_store.isAsync=true;var _emscripten_idb_delete=(db,id,perror)=>Asyncify.handleSleep(wakeUp=>{IDBStore.deleteFile(UTF8ToString(db),UTF8ToString(id),error=>{HEAP32[perror>>2]=!!error;wakeUp()})});_emscripten_idb_delete.sig="vppp";_emscripten_idb_delete.isAsync=true;var _emscripten_idb_exists=(db,id,pexists,perror)=>Asyncify.handleSleep(wakeUp=>{IDBStore.existsFile(UTF8ToString(db),UTF8ToString(id),(error,exists)=>{HEAP32[pexists>>2]=!!exists;HEAP32[perror>>2]=!!error;wakeUp()})});_emscripten_idb_exists.sig="vpppp";_emscripten_idb_exists.isAsync=true;var _emscripten_idb_clear=(db,perror)=>Asyncify.handleSleep(wakeUp=>{IDBStore.clearStore(UTF8ToString(db),error=>{HEAP32[perror>>2]=!!error;wakeUp()})});_emscripten_idb_clear.sig="vpp";_emscripten_idb_clear.isAsync=true;var _emscripten_idb_load_blob=(db,id,pblob,perror)=>Asyncify.handleSleep(wakeUp=>{IDBStore.pending=msg=>{IDBStore.pending=null;var blob=msg.blob;if(!blob){HEAP32[perror>>2]=1;wakeUp();return}var blobId=IDBStore.blobs.length;IDBStore.blobs.push(blob);HEAP32[pblob>>2]=blobId;wakeUp()};postMessage({target:"IDBStore",method:"loadBlob",db:UTF8ToString(db),id:UTF8ToString(id)})});_emscripten_idb_load_blob.sig="vpppp";_emscripten_idb_load_blob.isAsync=true;var _emscripten_idb_store_blob=(db,id,ptr,num,perror)=>Asyncify.handleSleep(wakeUp=>{IDBStore.pending=msg=>{IDBStore.pending=null;HEAP32[perror>>2]=!!msg.error;wakeUp()};postMessage({target:"IDBStore",method:"storeBlob",db:UTF8ToString(db),id:UTF8ToString(id),blob:new Blob([new Uint8Array(HEAPU8.subarray(ptr,ptr+num))])})});_emscripten_idb_store_blob.sig="vpppip";_emscripten_idb_store_blob.isAsync=true;var _emscripten_idb_read_from_blob=(blobId,start,num,buffer)=>{var blob=IDBStore.blobs[blobId];if(!blob)return 1;if(start+num>blob.size)return 2;var byteArray=(new FileReaderSync).readAsArrayBuffer(blob.slice(start,start+num));HEAPU8.set(new Uint8Array(byteArray),buffer);return 0};_emscripten_idb_read_from_blob.sig="viiip";var _emscripten_idb_free_blob=blobId=>{IDBStore.blobs[blobId]=null};_emscripten_idb_free_blob.sig="vi";var _emscripten_sleep=ms=>Asyncify.handleSleep(wakeUp=>safeSetTimeout(wakeUp,ms));_emscripten_sleep.sig="vi";_emscripten_sleep.isAsync=true;var _emscripten_scan_registers=func=>Asyncify.handleSleep(wakeUp=>{safeSetTimeout(()=>{var stackBegin=Asyncify.currData+12;var stackEnd=HEAPU32[Asyncify.currData>>2];((a1,a2)=>{})(stackBegin,stackEnd);wakeUp()},0)});_emscripten_scan_registers.sig="vp";_emscripten_scan_registers.isAsync=true;async function __load_secondary_module(){wasmExports["load_secondary_module_status"].value=1;var imports={primary:wasmExports};var deferred=wasmBinaryFile.slice(0,-5)+".deferred.wasm";await instantiateAsync(null,deferred,imports)}__load_secondary_module.sig="v";__load_secondary_module.isAsync=true;var Fibers={nextFiber:0,trampolineRunning:false,trampoline(){if(!Fibers.trampolineRunning&&Fibers.nextFiber){Fibers.trampolineRunning=true;do{var fiber=Fibers.nextFiber;Fibers.nextFiber=0;Fibers.finishContextSwitch(fiber)}while(Fibers.nextFiber);Fibers.trampolineRunning=false}},finishContextSwitch(newFiber){var stack_base=HEAPU32[newFiber>>2];var stack_max=HEAPU32[newFiber+4>>2];_emscripten_stack_set_limits(stack_base,stack_max);stackRestore(HEAPU32[newFiber+8>>2]);var entryPoint=HEAPU32[newFiber+12>>2];if(entryPoint!==0){Asyncify.currData=null;HEAPU32[newFiber+12>>2]=0;var userData=HEAPU32[newFiber+16>>2];(a1=>{})(userData)}else{var asyncifyData=newFiber+20;Asyncify.currData=asyncifyData;Asyncify.state=Asyncify.State.Rewinding;_asyncify_start_rewind(asyncifyData);Asyncify.doRewind(asyncifyData)}}};var _emscripten_fiber_swap=(oldFiber,newFiber)=>{if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){Asyncify.state=Asyncify.State.Unwinding;var asyncifyData=oldFiber+20;Asyncify.setDataRewindFunc(asyncifyData);Asyncify.currData=asyncifyData;_asyncify_start_unwind(asyncifyData);var stackTop=stackSave();HEAPU32[oldFiber+8>>2]=stackTop;Fibers.nextFiber=newFiber}else{Asyncify.state=Asyncify.State.Normal;_asyncify_stop_rewind();Asyncify.currData=null}};_emscripten_fiber_swap.sig="vpp";_emscripten_fiber_swap.isAsync=true;var _SDL_GetTicks=()=>Date.now()-SDL.startTime|0;_SDL_GetTicks.sig="i";var _SDL_LockSurface=surf=>{var surfData=SDL.surfaces[surf];surfData.locked++;if(surfData.locked>1)return 0;if(!surfData.buffer){surfData.buffer=_malloc(surfData.width*surfData.height*4);HEAPU32[surf+20>>2]=surfData.buffer}HEAPU32[surf+20>>2]=surfData.buffer;if(surf==SDL.screen&&Module.screenIsReadOnly&&surfData.image)return 0;if(SDL.defaults.discardOnLock){if(!surfData.image){surfData.image=surfData.ctx.createImageData(surfData.width,surfData.height)}if(!SDL.defaults.opaqueFrontBuffer)return}else{surfData.image=surfData.ctx.getImageData(0,0,surfData.width,surfData.height)}if(surf==SDL.screen&&SDL.defaults.opaqueFrontBuffer){var data=surfData.image.data;var num=data.length;for(var i=0;i>2],y:HEAP32[rect+4>>2],w:HEAP32[rect+8>>2],h:HEAP32[rect+12>>2]}},updateRect(rect,r){HEAP32[rect>>2]=r.x;HEAP32[rect+4>>2]=r.y;HEAP32[rect+8>>2]=r.w;HEAP32[rect+12>>2]=r.h},intersectionOfRects(first,second){var leftX=Math.max(first.x,second.x);var leftY=Math.max(first.y,second.y);var rightX=Math.min(first.x+first.w,second.x+second.w);var rightY=Math.min(first.y+first.h,second.y+second.h);return{x:leftX,y:leftY,w:Math.max(leftX,rightX)-leftX,h:Math.max(leftY,rightY)-leftY}},checkPixelFormat(fmt){},loadColorToCSSRGB(color){var rgba=HEAP32[color>>2];return"rgb("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+")"},loadColorToCSSRGBA(color){var rgba=HEAP32[color>>2];return"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>24&255)/255+")"},translateColorToCSSRGBA:rgba=>"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>>24)/255+")",translateRGBAToCSSRGBA:(r,g,b,a)=>"rgba("+(r&255)+","+(g&255)+","+(b&255)+","+(a&255)/255+")",translateRGBAToColor:(r,g,b,a)=>r|g<<8|b<<16|a<<24,makeSurface(width,height,flags,usePageCanvas,source,rmask,gmask,bmask,amask){var is_SDL_HWSURFACE=flags&134217729;var is_SDL_HWPALETTE=flags&2097152;var is_SDL_OPENGL=flags&67108864;var surf=_malloc(60);var pixelFormat=_malloc(44);var bpp=is_SDL_HWPALETTE?1:4;var buffer=0;if(!is_SDL_HWSURFACE&&!is_SDL_OPENGL){buffer=_malloc(width*height*4)}HEAP32[surf>>2]=flags;HEAPU32[surf+4>>2]=pixelFormat;HEAP32[surf+8>>2]=width;HEAP32[surf+12>>2]=height;HEAP32[surf+16>>2]=width*bpp;HEAPU32[surf+20>>2]=buffer;var canvas=Browser.getCanvas();HEAP32[surf+36>>2]=0;HEAP32[surf+40>>2]=0;HEAP32[surf+44>>2]=canvas.width;HEAP32[surf+48>>2]=canvas.height;HEAP32[surf+56>>2]=1;HEAP32[pixelFormat>>2]=-2042224636;HEAP32[pixelFormat+4>>2]=0;HEAP8[pixelFormat+8]=bpp*8;HEAP8[pixelFormat+9]=bpp;HEAP32[pixelFormat+12>>2]=rmask||255;HEAP32[pixelFormat+16>>2]=gmask||65280;HEAP32[pixelFormat+20>>2]=bmask||16711680;HEAP32[pixelFormat+24>>2]=amask||4278190080;SDL.GL=SDL.GL||is_SDL_OPENGL;if(!usePageCanvas){if(SDL.canvasPool.length>0){canvas=SDL.canvasPool.pop()}else{canvas=document.createElement("canvas")}canvas.width=width;canvas.height=height}var webGLContextAttributes={antialias:SDL.glAttributes[13]!=0&&SDL.glAttributes[14]>1,depth:SDL.glAttributes[6]>0,stencil:SDL.glAttributes[7]>0,alpha:SDL.glAttributes[3]>0};var ctx=Browser.createContext(canvas,is_SDL_OPENGL,usePageCanvas,webGLContextAttributes);SDL.surfaces[surf]={width,height,canvas,ctx,surf,buffer,pixelFormat,alpha:255,flags,locked:0,usePageCanvas,source,isFlagSet:flag=>flags&flag};return surf},copyIndexedColorData(surfData,rX,rY,rW,rH){if(!surfData.colors){return}var canvas=Browser.getCanvas();var fullWidth=canvas.width;var fullHeight=canvas.height;var startX=rX||0;var startY=rY||0;var endX=(rW||fullWidth-startX)+startX;var endY=(rH||fullHeight-startY)+startY;var buffer=surfData.buffer;if(!surfData.image.data32){surfData.image.data32=new Uint32Array(surfData.image.data.buffer)}var data32=surfData.image.data32;var colors32=surfData.colors32;for(var y=startY;y>2];if(refcount>1){HEAP32[refcountPointer>>2]=refcount-1;return}var info=SDL.surfaces[surf];if(!info.usePageCanvas&&info.canvas)SDL.canvasPool.push(info.canvas);_free(info.buffer);_free(info.pixelFormat);_free(surf);SDL.surfaces[surf]=null;if(surf===SDL.screen){SDL.screen=null}},blitSurface(src,srcrect,dst,dstrect,scale){var srcData=SDL.surfaces[src];var dstData=SDL.surfaces[dst];var sr,dr;if(srcrect){sr=SDL.loadRect(srcrect)}else{sr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstrect){dr=SDL.loadRect(dstrect)}else{dr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstData.clipRect){var widthScale=!scale||sr.w===0?1:sr.w/dr.w;var heightScale=!scale||sr.h===0?1:sr.h/dr.h;dr=SDL.intersectionOfRects(dstData.clipRect,dr);sr.w=dr.w*widthScale;sr.h=dr.h*heightScale;if(dstrect){SDL.updateRect(dstrect,dr)}}var blitw,blith;if(scale){blitw=dr.w;blith=dr.h}else{blitw=sr.w;blith=sr.h}if(sr.w===0||sr.h===0||blitw===0||blith===0){return 0}var oldAlpha=dstData.ctx.globalAlpha;dstData.ctx.globalAlpha=srcData.alpha/255;dstData.ctx.drawImage(srcData.canvas,sr.x,sr.y,sr.w,sr.h,dr.x,dr.y,blitw,blith);dstData.ctx.globalAlpha=oldAlpha;if(dst!=SDL.screen){warnOnce("WARNING: copying canvas data to memory for compatibility");_SDL_LockSurface(dst);dstData.locked--}return 0},downFingers:{},savedKeydown:null,receiveEvent(event){function unpressAllPressedKeys(){for(var keyCode of Object.values(SDL.keyboardMap)){SDL.events.push({type:"keyup",keyCode})}}switch(event.type){case"touchstart":case"touchmove":{event.preventDefault();var touches=[];if(event.type==="touchstart"){for(var touch of event.touches){if(SDL.downFingers[touch.identifier]!=true){SDL.downFingers[touch.identifier]=true;touches.push(touch)}}}else{touches=event.touches}var firstTouch=touches[0];if(firstTouch){if(event.type=="touchstart"){SDL.DOMButtons[0]=1}var mouseEventType;switch(event.type){case"touchstart":mouseEventType="mousedown";break;case"touchmove":mouseEventType="mousemove";break}var mouseEvent={type:mouseEventType,button:0,pageX:firstTouch.clientX,pageY:firstTouch.clientY};SDL.events.push(mouseEvent)}for(var touch of touches){SDL.events.push({type:event.type,touch})}break}case"touchend":{event.preventDefault();for(var touch of event.changedTouches){if(SDL.downFingers[touch.identifier]===true){delete SDL.downFingers[touch.identifier]}}var mouseEvent={type:"mouseup",button:0,pageX:event.changedTouches[0].clientX,pageY:event.changedTouches[0].clientY};SDL.DOMButtons[0]=0;SDL.events.push(mouseEvent);for(var touch of event.changedTouches){SDL.events.push({type:"touchend",touch})}break}case"DOMMouseScroll":case"mousewheel":case"wheel":var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);var button=(delta>0?4:5)-1;SDL.events.push({type:"mousedown",button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"mouseup",button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"wheel",deltaX:0,deltaY:delta});event.preventDefault();break;case"mousemove":if(SDL.DOMButtons[0]===1){SDL.events.push({type:"touchmove",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}if(Browser.pointerLock){if("mozMovementX"in event){event["movementX"]=event["mozMovementX"];event["movementY"]=event["mozMovementY"]}if(event["movementX"]==0&&event["movementY"]==0){event.preventDefault();return}}case"keydown":case"keyup":case"keypress":case"mousedown":case"mouseup":if(event.type!=="keydown"||!SDL.unicode&&!SDL.textInput||(event.key=="Backspace"||event.key=="Tab")){event.preventDefault()}if(event.type=="mousedown"){SDL.DOMButtons[event.button]=1;SDL.events.push({type:"touchstart",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}else if(event.type=="mouseup"){if(!SDL.DOMButtons[event.button]){return}SDL.events.push({type:"touchend",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}});SDL.DOMButtons[event.button]=0}if(event.type==="keydown"||event.type==="mousedown"){SDL.canRequestFullscreen=true}else if(event.type==="keyup"||event.type==="mouseup"){if(SDL.isRequestingFullscreen){Module["requestFullscreen"](true,true);SDL.isRequestingFullscreen=false}SDL.canRequestFullscreen=false}if(event.type==="keypress"&&SDL.savedKeydown){SDL.savedKeydown.keypressCharCode=event.charCode;SDL.savedKeydown=null}else if(event.type==="keydown"){SDL.savedKeydown=event}if(event.type!=="keypress"||SDL.textInput){SDL.events.push(event)}break;case"mouseout":for(var i=0;i<3;i++){if(SDL.DOMButtons[i]){SDL.events.push({type:"mouseup",button:i,pageX:event.pageX,pageY:event.pageY});SDL.DOMButtons[i]=0}}event.preventDefault();break;case"focus":SDL.events.push(event);event.preventDefault();break;case"blur":SDL.events.push(event);unpressAllPressedKeys();event.preventDefault();break;case"visibilitychange":SDL.events.push({type:"visibilitychange",visible:!document.hidden});unpressAllPressedKeys();event.preventDefault();break;case"unload":if(MainLoop.runner){SDL.events.push(event);MainLoop.runner()}return;case"resize":SDL.events.push(event);if(event.preventDefault){event.preventDefault()}break}if(SDL.events.length>=1e4){err("SDL event queue full, dropping events");SDL.events=SDL.events.slice(0,1e4)}SDL.flushEventsToHandler();return},lookupKeyCodeForEvent(event){var code=event.keyCode;if(code>=65&&code<=90){code+=32}else{code=SDL.keyCodes[code]||(code<128?code:0);if(event.location===2&&code>=(224|1<<10)&&code<=(227|1<<10)){code+=4}}return code},handleEvent(event){if(event.handled)return;event.handled=true;switch(event.type){case"touchstart":case"touchend":case"touchmove":{Browser.calculateMouseEvent(event);break}case"keydown":case"keyup":{var down=event.type==="keydown";var code=SDL.lookupKeyCodeForEvent(event);if(!code)return;HEAP8[SDL.keyboardState+code]=down;SDL.modState=(HEAP8[SDL.keyboardState+1248]?64:0)|(HEAP8[SDL.keyboardState+1249]?1:0)|(HEAP8[SDL.keyboardState+1250]?256:0)|(HEAP8[SDL.keyboardState+1252]?128:0)|(HEAP8[SDL.keyboardState+1253]?2:0)|(HEAP8[SDL.keyboardState+1254]?512:0);if(down){SDL.keyboardMap[code]=event.keyCode}else{delete SDL.keyboardMap[code]}break}case"mousedown":case"mouseup":if(event.type=="mousedown"){SDL.buttonState|=1<{})(SDL.eventHandlerContext,SDL.eventHandlerTemp)}},pollEvent(ptr){if(SDL.initFlags&512&&SDL.joystickEventState){SDL.queryJoysticks()}if(ptr){while(SDL.events.length>0){if(SDL.makeCEvent(SDL.events.shift(),ptr)!==false)return 1}return 0}return SDL.events.length>0},makeCEvent(event,ptr){if(typeof event=="number"){_memcpy(ptr,event,28);_free(event);return}SDL.handleEvent(event);switch(event.type){case"keydown":case"keyup":{var down=event.type==="keydown";var key=SDL.lookupKeyCodeForEvent(event);if(!key)return false;var scan;if(key>=1024){scan=key-1024}else{scan=SDL.scanCodes[key]||key}HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+8]=down?1:0;HEAP8[ptr+9]=0;HEAP32[ptr+12>>2]=scan;HEAP32[ptr+16>>2]=key;HEAP16[ptr+20>>1]=SDL.modState;HEAP32[ptr+24>>2]=event.keypressCharCode||key;break}case"keypress":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];stringToUTF8(String.fromCharCode(event.charCode),ptr+8,4);break}case"mousedown":case"mouseup":case"mousemove":{if(event.type!="mousemove"){var down=event.type==="mousedown";HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP32[ptr+8>>2]=0;HEAP32[ptr+12>>2]=0;HEAP8[ptr+16]=event.button+1;HEAP8[ptr+17]=down?1:0;HEAP32[ptr+20>>2]=Browser.mouseX;HEAP32[ptr+24>>2]=Browser.mouseY}else{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP32[ptr+8>>2]=0;HEAP32[ptr+12>>2]=0;HEAP32[ptr+16>>2]=SDL.buttonState;HEAP32[ptr+20>>2]=Browser.mouseX;HEAP32[ptr+24>>2]=Browser.mouseY;HEAP32[ptr+28>>2]=Browser.mouseMovementX;HEAP32[ptr+32>>2]=Browser.mouseMovementY}break}case"wheel":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+16>>2]=event.deltaX;HEAP32[ptr+20>>2]=event.deltaY;break}case"touchstart":case"touchend":case"touchmove":{var touch=event.touch;if(!Browser.touches[touch.identifier])break;var canvas=Browser.getCanvas();var x=Browser.touches[touch.identifier].x/canvas.width;var y=Browser.touches[touch.identifier].y/canvas.height;var lx=Browser.lastTouches[touch.identifier].x/canvas.width;var ly=Browser.lastTouches[touch.identifier].y/canvas.height;var dx=x-lx;var dy=y-ly;if(touch["deviceID"]===undefined)touch.deviceID=SDL.TOUCH_DEFAULT_ID;if(dx===0&&dy===0&&event.type==="touchmove")return false;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=_SDL_GetTicks();tempI64=[touch.deviceID>>>0,(tempDouble=touch.deviceID,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr+8>>2]=tempI64[0],HEAP32[ptr+12>>2]=tempI64[1];tempI64=[touch.identifier>>>0,(tempDouble=touch.identifier,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr+16>>2]=tempI64[0],HEAP32[ptr+20>>2]=tempI64[1];HEAPF32[ptr+24>>2]=x;HEAPF32[ptr+28>>2]=y;HEAPF32[ptr+32>>2]=dx;HEAPF32[ptr+36>>2]=dy;if(touch.force!==undefined){HEAPF32[ptr+40>>2]=touch.force}else{HEAPF32[ptr+40>>2]=event.type=="touchend"?0:1}break}case"unload":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];break}case"resize":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=event.w;HEAP32[ptr+8>>2]=event.h;break}case"joystick_button_up":case"joystick_button_down":{var state=event.type==="joystick_button_up"?0:1;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4]=event.index;HEAP8[ptr+5]=event.button;HEAP8[ptr+6]=state;break}case"joystick_axis_motion":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4]=event.index;HEAP8[ptr+5]=event.axis;HEAP32[ptr+8>>2]=SDL.joystickAxisValueConversion(event.value);break}case"focus":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8]=12;break}case"blur":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8]=13;break}case"visibilitychange":{var visibilityEventID=event.visible?1:2;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8]=visibilityEventID;break}default:throw"Unhandled SDL event: "+event.type}},makeFontString(height,fontName){if(fontName.charAt(0)!="'"&&fontName.charAt(0)!='"'){fontName='"'+fontName+'"'}return height+"px "+fontName+", serif"},estimateTextWidth(fontData,text){var h=fontData.size;var fontString=SDL.makeFontString(h,fontData.name);var tempCtx=SDL.ttfContext;tempCtx.font=fontString;var ret=tempCtx.measureText(text).width|0;return ret},allocateChannels(num){if(SDL.numChannels>=num&&num!=0)return;SDL.numChannels=num;SDL.channels=[];for(var i=0;i{if(!audio.paused)SDL.playWebAudio(audio)});return}audio.webAudioNode=SDL.audioContext["createBufferSource"]();audio.webAudioNode["buffer"]=webAudio.decodedBuffer;audio.webAudioNode["loop"]=audio.loop;audio.webAudioNode["onended"]=audio["onended"];audio.webAudioPannerNode=SDL.audioContext["createPanner"]();audio.webAudioPannerNode["setPosition"](0,0,-.5);audio.webAudioPannerNode["panningModel"]="equalpower";audio.webAudioGainNode=SDL.audioContext["createGain"]();audio.webAudioGainNode["gain"]["value"]=audio.volume;audio.webAudioNode["connect"](audio.webAudioPannerNode);audio.webAudioPannerNode["connect"](audio.webAudioGainNode);audio.webAudioGainNode["connect"](SDL.audioContext["destination"]);audio.webAudioNode["start"](0,audio.currentPosition);audio.startTime=SDL.audioContext["currentTime"]-audio.currentPosition}catch(e){err(`playWebAudio failed: ${e}`)}},pauseWebAudio(audio){if(!audio)return;if(audio.webAudioNode){try{audio.currentPosition=(SDL.audioContext["currentTime"]-audio.startTime)%audio.resource.webAudio.decodedBuffer.duration;audio.webAudioNode["onended"]=undefined;audio.webAudioNode.stop(0);audio.webAudioNode=undefined}catch(e){err(`pauseWebAudio failed: ${e}`)}}audio.paused=true},openAudioContext(){if(!SDL.audioContext){if(typeof AudioContext!="undefined"){SDL.audioContext=new AudioContext}else if(typeof webkitAudioContext!="undefined"){SDL.audioContext=new webkitAudioContext}}},webAudioAvailable:()=>!!SDL.audioContext,fillWebAudioBufferFromHeap(heapPtr,sizeSamplesPerChannel,dstAudioBuffer){var audio=SDL.audio;var numChannels=audio.channels;for(var c=0;c>1]/32768}}else if(audio.format==8){for(var j=0;j=0?v-128:v+128)/128}}else if(audio.format==33056){for(var j=0;j>2]}}else{throw"Invalid SDL audio format "+audio.format+"!"}}},joystickEventState:1,lastJoystickState:{},joystickNamePool:{},recordJoystickState(joystick,state){var buttons=[];for(var button of state.buttons){buttons.push(SDL.getJoystickButtonState(button))}SDL.lastJoystickState[joystick]={buttons,axes:state.axes.slice(0),timestamp:state.timestamp,index:state.index,id:state.id}},getJoystickButtonState(button){if(typeof button=="object"){return button["pressed"]}return button>0},queryJoysticks(){for(var joystick in SDL.lastJoystickState){var state=SDL.getGamepad(joystick-1);var prevState=SDL.lastJoystickState[joystick];if(typeof state=="undefined")return;if(state===null)return;if(typeof state.timestamp!="number"||state.timestamp!=prevState.timestamp||!state.timestamp){var i;for(i=0;ideviceIndex&&deviceIndex>=0){return gamepads[deviceIndex]}return null}};var _SDL_Linked_Version=()=>{if(SDL.version===null){SDL.version=_malloc(3);HEAP8[SDL.version]=1;HEAP8[SDL.version+1]=3;HEAP8[SDL.version+2]=0}return SDL.version};_SDL_Linked_Version.sig="p";var _SDL_Init=initFlags=>{SDL.startTime=Date.now();SDL.initFlags=initFlags;if(!Module["doNotCaptureKeyboard"]){var keyboardListeningElement=Module["keyboardListeningElement"]||document;keyboardListeningElement.addEventListener("keydown",SDL.receiveEvent);keyboardListeningElement.addEventListener("keyup",SDL.receiveEvent);keyboardListeningElement.addEventListener("keypress",SDL.receiveEvent);window.addEventListener("focus",SDL.receiveEvent);window.addEventListener("blur",SDL.receiveEvent);document.addEventListener("visibilitychange",SDL.receiveEvent)}window.addEventListener("unload",SDL.receiveEvent);SDL.keyboardState=_calloc(65536,1);SDL.DOMEventToSDLEvent["keydown"]=768;SDL.DOMEventToSDLEvent["keyup"]=769;SDL.DOMEventToSDLEvent["keypress"]=771;SDL.DOMEventToSDLEvent["mousedown"]=1025;SDL.DOMEventToSDLEvent["mouseup"]=1026;SDL.DOMEventToSDLEvent["mousemove"]=1024;SDL.DOMEventToSDLEvent["wheel"]=1027;SDL.DOMEventToSDLEvent["touchstart"]=1792;SDL.DOMEventToSDLEvent["touchend"]=1793;SDL.DOMEventToSDLEvent["touchmove"]=1794;SDL.DOMEventToSDLEvent["unload"]=256;SDL.DOMEventToSDLEvent["resize"]=28673;SDL.DOMEventToSDLEvent["visibilitychange"]=512;SDL.DOMEventToSDLEvent["focus"]=512;SDL.DOMEventToSDLEvent["blur"]=512;SDL.DOMEventToSDLEvent["joystick_axis_motion"]=1536;SDL.DOMEventToSDLEvent["joystick_button_down"]=1539;SDL.DOMEventToSDLEvent["joystick_button_up"]=1540;return 0};_SDL_Init.sig="ii";var _SDL_WasInit=flags=>{if(SDL.startTime===null){_SDL_Init(0)}return 1};_SDL_WasInit.sig="ii";var _SDL_GetVideoInfo=()=>{var ret=_calloc(20,1);var canvas=Browser.getCanvas();HEAP32[ret+12>>2]=canvas.width;HEAP32[ret+16>>2]=canvas.height;return ret};_SDL_GetVideoInfo.sig="p";var _SDL_ListModes=(format,flags)=>-1;_SDL_ListModes.sig="ppi";var _SDL_VideoModeOK=(width,height,depth,flags)=>depth;_SDL_VideoModeOK.sig="iiiii";var _SDL_VideoDriverName=(buf,max_size)=>{if(SDL.startTime===null){return 0}var driverName=[101,109,115,99,114,105,112,116,101,110,95,115,100,108,95,100,114,105,118,101,114];var index=0;var size=driverName.length;if(max_size<=size){size=max_size-1}while(index{var canvas=Browser.getCanvas();["touchstart","touchend","touchmove","mousedown","mouseup","mousemove","mousewheel","wheel","mouseout","DOMMouseScroll"].forEach(e=>canvas.addEventListener(e,SDL.receiveEvent,true));if(width==0&&height==0){width=canvas.width;height=canvas.height}if(!SDL.addedResizeListener){SDL.addedResizeListener=true;Browser.resizeListeners.push((w,h)=>{if(!SDL.settingVideoMode){SDL.receiveEvent({type:"resize",w,h})}})}SDL.settingVideoMode=true;Browser.setCanvasSize(width,height);SDL.settingVideoMode=false;if(SDL.screen){SDL.freeSurface(SDL.screen);assert(!SDL.screen)}if(SDL.GL)flags=flags|67108864;SDL.screen=SDL.makeSurface(width,height,flags,true,"screen");return SDL.screen};_SDL_SetVideoMode.sig="piiii";var _SDL_GetVideoSurface=()=>SDL.screen;_SDL_GetVideoSurface.sig="p";var _SDL_AudioQuit=()=>{for(var i=0;iout("SDL_VideoQuit called (and ignored)");_SDL_VideoQuit.sig="v";var _SDL_QuitSubSystem=flags=>out("SDL_QuitSubSystem called (and ignored)");_SDL_QuitSubSystem.sig="vi";var _SDL_Quit=()=>{_SDL_AudioQuit();out("SDL_Quit called (and ignored)")};_SDL_Quit.sig="v";var _SDL_UnlockSurface=surf=>{assert(!SDL.GL);var surfData=SDL.surfaces[surf];if(!surfData.locked||--surfData.locked>0){return}if(surfData.isFlagSet(2097152)){SDL.copyIndexedColorData(surfData)}else if(!surfData.colors){var data=surfData.image.data;var buffer=surfData.buffer;assert(buffer%4==0,"Invalid buffer offset: "+buffer);var src=buffer>>2;var dst=0;var isScreen=surf==SDL.screen;var num;if(typeof CanvasPixelArray!="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=isScreen?255:val>>24&255;src++;dst+=4}}else{var data32=new Uint32Array(data.buffer);if(isScreen&&SDL.defaults.opaqueFrontBuffer){num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=new Uint8Array(data.buffer);var i=3;var j=i+4*num;if(num%8==0){while(i{};_SDL_Flip.sig="ip";var _SDL_UpdateRect=(surf,x,y,w,h)=>{};_SDL_UpdateRect.sig="vpiiii";var _SDL_UpdateRects=(surf,numrects,rects)=>{};_SDL_UpdateRects.sig="vpip";var _SDL_Delay=delay=>_emscripten_sleep(delay);_SDL_Delay.sig="vi";_SDL_Delay.isAsync=true;var _SDL_WM_SetCaption=(title,icon)=>{if(title){_emscripten_set_window_title(title)}icon&&=UTF8ToString(icon)};_SDL_WM_SetCaption.sig="vpp";var _SDL_EnableKeyRepeat=(delay,interval)=>{};_SDL_EnableKeyRepeat.sig="iii";var _SDL_GetKeyboardState=numKeys=>{if(numKeys){HEAP32[numKeys>>2]=65536}return SDL.keyboardState};_SDL_GetKeyboardState.sig="pp";var _SDL_GetKeyState=()=>_SDL_GetKeyboardState(0);var _SDL_GetKeyName=key=>{var name="";if(key>=97&&key<=122||key>=48&&key<=57){name=String.fromCharCode(key)}var size=lengthBytesUTF8(name)+1;SDL.keyName=_realloc(SDL.keyName,size);stringToUTF8(name,SDL.keyName,size);return SDL.keyName};_SDL_GetKeyName.sig="pi";var _SDL_GetModState=()=>SDL.modState;_SDL_GetModState.sig="i";var _SDL_GetMouseState=(x,y)=>{if(x)HEAP32[x>>2]=Browser.mouseX;if(y)HEAP32[y>>2]=Browser.mouseY;return SDL.buttonState};_SDL_GetMouseState.sig="ipp";var _SDL_WarpMouse=(x,y)=>{};_SDL_WarpMouse.sig="vii";var _SDL_ShowCursor=toggle=>{switch(toggle){case 0:if(Browser.isFullscreen){Browser.getCanvas().requestPointerLock();return 0}return 1;case 1:Browser.getCanvas().exitPointerLock();return 1;case-1:return!Browser.pointerLock;default:err(`SDL_ShowCursor called with unknown toggle parameter value: ${toggle}`);break}};_SDL_ShowCursor.sig="ii";var _SDL_GetError=()=>{SDL.errorMessage||=stringToNewUTF8("unknown SDL-emscripten error");return SDL.errorMessage};_SDL_GetError.sig="p";var _SDL_SetError=(fmt,varargs)=>{};_SDL_SetError.sig="vpp";var _SDL_CreateRGBSurface=(flags,width,height,depth,rmask,gmask,bmask,amask)=>SDL.makeSurface(width,height,flags,false,"CreateRGBSurface",rmask,gmask,bmask,amask);_SDL_CreateRGBSurface.sig="piiiiiiii";var _SDL_CreateRGBSurfaceFrom=(pixels,width,height,depth,pitch,rmask,gmask,bmask,amask)=>{var surf=SDL.makeSurface(width,height,0,false,"CreateRGBSurfaceFrom",rmask,gmask,bmask,amask);if(depth!==32){err("TODO: Partially unimplemented SDL_CreateRGBSurfaceFrom called!");return surf}var data=SDL.surfaces[surf];var image=data.ctx.createImageData(width,height);var pitchOfDst=width*4;for(var row=0;row{if(format){SDL.checkPixelFormat(format)}var oldData=SDL.surfaces[surf];var ret=SDL.makeSurface(oldData.width,oldData.height,oldData.flags,false,"copy:"+oldData.source);var newData=SDL.surfaces[ret];newData.ctx.globalCompositeOperation="copy";newData.ctx.drawImage(oldData.canvas,0,0);newData.ctx.globalCompositeOperation=oldData.ctx.globalCompositeOperation;return ret};_SDL_ConvertSurface.sig="pppi";var _SDL_DisplayFormat=surf=>_SDL_ConvertSurface(surf,0,0);_SDL_DisplayFormat.sig="pp";var _SDL_DisplayFormatAlpha=surf=>_SDL_ConvertSurface(surf,0,0);_SDL_DisplayFormatAlpha.sig="pp";var _SDL_FreeSurface=surf=>{if(surf)SDL.freeSurface(surf)};_SDL_FreeSurface.sig="vp";var _SDL_UpperBlit=(src,srcrect,dst,dstrect)=>SDL.blitSurface(src,srcrect,dst,dstrect,false);_SDL_UpperBlit.sig="ipppp";var _SDL_UpperBlitScaled=(src,srcrect,dst,dstrect)=>SDL.blitSurface(src,srcrect,dst,dstrect,true);_SDL_UpperBlitScaled.sig="ipppp";var _SDL_LowerBlit=_SDL_UpperBlit;_SDL_LowerBlit.sig="ipppp";var _SDL_LowerBlitScaled=_SDL_UpperBlitScaled;_SDL_LowerBlitScaled.sig="ipppp";var _SDL_GetClipRect=(surf,rect)=>{assert(rect);var surfData=SDL.surfaces[surf];var r=surfData.clipRect||{x:0,y:0,w:surfData.width,h:surfData.height};SDL.updateRect(rect,r)};_SDL_GetClipRect.sig="vpp";var _SDL_SetClipRect=(surf,rect)=>{var surfData=SDL.surfaces[surf];if(rect){surfData.clipRect=SDL.intersectionOfRects({x:0,y:0,w:surfData.width,h:surfData.height},SDL.loadRect(rect))}else{delete surfData.clipRect}};_SDL_SetClipRect.sig="ipp";var _SDL_FillRect=(surf,rect,color)=>{var surfData=SDL.surfaces[surf];assert(!surfData.locked);if(surfData.isFlagSet(2097152)){color=surfData.colors32[color]}var r=rect?SDL.loadRect(rect):{x:0,y:0,w:surfData.width,h:surfData.height};if(surfData.clipRect){r=SDL.intersectionOfRects(surfData.clipRect,r);if(rect){SDL.updateRect(rect,r)}}surfData.ctx.save();surfData.ctx.fillStyle=SDL.translateColorToCSSRGBA(color);surfData.ctx.fillRect(r.x,r.y,r.w,r.h);surfData.ctx.restore();return 0};_SDL_FillRect.sig="ippi";var _zoomSurface=(src,x,y,smooth)=>{var srcData=SDL.surfaces[src];var w=srcData.width*x;var h=srcData.height*y;var ret=SDL.makeSurface(Math.abs(w),Math.abs(h),srcData.flags,false,"zoomSurface");var dstData=SDL.surfaces[ret];if(x>=0&&y>=0){dstData.ctx.drawImage(srcData.canvas,0,0,w,h)}else{dstData.ctx.save();dstData.ctx.scale(x<0?-1:1,y<0?-1:1);dstData.ctx.drawImage(srcData.canvas,w<0?w:0,h<0?h:0,Math.abs(w),Math.abs(h));dstData.ctx.restore()}return ret};_zoomSurface.sig="ppddi";var _rotozoomSurface=(src,angle,zoom,smooth)=>{if(angle%360===0){return _zoomSurface(src,zoom,zoom,smooth)}var srcData=SDL.surfaces[src];var w=srcData.width*zoom;var h=srcData.height*zoom;var diagonal=Math.ceil(Math.sqrt(Math.pow(w,2)+Math.pow(h,2)));var ret=SDL.makeSurface(diagonal,diagonal,srcData.flags,false,"rotozoomSurface");var dstData=SDL.surfaces[ret];dstData.ctx.translate(diagonal/2,diagonal/2);dstData.ctx.rotate(-angle*Math.PI/180);dstData.ctx.drawImage(srcData.canvas,-w/2,-h/2,w,h);return ret};_rotozoomSurface.sig="ppddi";var _SDL_SetAlpha=(surf,flag,alpha)=>{var surfData=SDL.surfaces[surf];surfData.alpha=alpha;if(!(flag&65536)){surfData.alpha=255}};_SDL_SetAlpha.sig="ipii";var _SDL_SetColorKey=(surf,flag,key)=>{warnOnce("SDL_SetColorKey is a no-op for performance reasons");return 0};_SDL_SetColorKey.sig="ipii";var _SDL_PollEvent=ptr=>SDL.pollEvent(ptr);_SDL_PollEvent.sig="ip";var _SDL_PushEvent=ptr=>{var copy=_malloc(28);_memcpy(copy,ptr,28);SDL.events.push(copy);return 0};_SDL_PushEvent.sig="ip";var _SDL_PeepEvents=(events,requestedEventCount,action,from,to)=>{switch(action){case 2:{assert(requestedEventCount==1);var index=0;var retrievedEventCount=0;while(indexSDL.events.forEach(SDL.handleEvent);_SDL_PumpEvents.sig="v";var _emscripten_SDL_SetEventHandler=(handler,userdata)=>{SDL.eventHandler=handler;SDL.eventHandlerContext=userdata;SDL.eventHandlerTemp||=_malloc(28)};_emscripten_SDL_SetEventHandler.sig="vpp";var _SDL_SetColors=(surf,colors,firstColor,nColors)=>{var surfData=SDL.surfaces[surf];if(!surfData.colors){var buffer=new ArrayBuffer(256*4);surfData.colors=new Uint8Array(buffer);surfData.colors32=new Uint32Array(buffer)}for(var i=0;i_SDL_SetColors(surf,colors,firstColor,nColors);_SDL_SetPalette.sig="ipipii";var _SDL_MapRGB=(fmt,r,g,b)=>{SDL.checkPixelFormat(fmt);return r&255|(g&255)<<8|(b&255)<<16|4278190080};_SDL_MapRGB.sig="ipiii";var _SDL_MapRGBA=(fmt,r,g,b,a)=>{SDL.checkPixelFormat(fmt);return r&255|(g&255)<<8|(b&255)<<16|(a&255)<<24};_SDL_MapRGBA.sig="ipiiii";var _SDL_GetRGB=(pixel,fmt,r,g,b)=>{SDL.checkPixelFormat(fmt);if(r){HEAP8[r]=pixel&255}if(g){HEAP8[g]=pixel>>8&255}if(b){HEAP8[b]=pixel>>16&255}};_SDL_GetRGB.sig="vipppp";var _SDL_GetRGBA=(pixel,fmt,r,g,b,a)=>{SDL.checkPixelFormat(fmt);if(r){HEAP8[r]=pixel&255}if(g){HEAP8[g]=pixel>>8&255}if(b){HEAP8[b]=pixel>>16&255}if(a){HEAP8[a]=pixel>>24&255}};_SDL_GetRGBA.sig="vippppp";var _SDL_GetAppState=()=>{var state=0;if(Browser.pointerLock){state|=1}if(document.hasFocus()){state|=2}state|=4;return state};_SDL_GetAppState.sig="i";var _SDL_WM_GrabInput=()=>{};_SDL_WM_GrabInput.sig="ii";var _SDL_WM_ToggleFullScreen=surf=>{if(Browser.exitFullscreen()){return 1}if(!SDL.canRequestFullscreen){return 0}SDL.isRequestingFullscreen=true;return 1};_SDL_WM_ToggleFullScreen.sig="ip";var _IMG_Init=flags=>flags;_IMG_Init.sig="ii";var _SDL_FreeRW=rwopsID=>{SDL.rwops[rwopsID]=null;while(SDL.rwops.length>0&&SDL.rwops[SDL.rwops.length-1]===null){SDL.rwops.pop()}};_SDL_FreeRW.sig="vp";var _IMG_Load_RW=(rwopsID,freeSrc)=>{var sp=stackSave();try{var cleanup=()=>{stackRestore(sp);if(rwops&&freeSrc)_SDL_FreeRW(rwopsID)};var addCleanup=func=>{var old=cleanup;cleanup=()=>{old();func()}};var callStbImage=(func,params)=>{var x=stackAlloc(4);var y=stackAlloc(4);var comp=stackAlloc(4);var data=Module["_"+func](...params,x,y,comp,0);if(!data)return null;addCleanup(()=>Module["_stbi_image_free"](data));return{rawData:true,data,width:HEAP32[x>>2],height:HEAP32[y>>2],size:HEAP32[x>>2]*HEAP32[y>>2]*HEAP32[comp>>2],bpp:HEAP32[comp>>2]}};var rwops=SDL.rwops[rwopsID];if(rwops===undefined){return 0}var raw;var filename=rwops.filename;if(filename===undefined){warnOnce("Only file names that have been preloaded are supported for IMG_Load_RW. Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins");return 0}if(!raw){filename=PATH_FS.resolve(filename);raw=Browser.preloadedImages[filename];if(!raw){if(raw===null)err("Trying to reuse preloaded image, but freePreloadedMediaOnUse is set!");warnOnce("Cannot find preloaded image "+filename);warnOnce("Cannot find preloaded image "+filename+". Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins");return 0}else if(Module["freePreloadedMediaOnUse"]){Browser.preloadedImages[filename]=null}}var surf=SDL.makeSurface(raw.width,raw.height,0,false,"load:"+filename);var surfData=SDL.surfaces[surf];surfData.ctx.globalCompositeOperation="copy";if(!raw.rawData){surfData.ctx.drawImage(raw,0,0,raw.width,raw.height,0,0,raw.width,raw.height)}else{var imageData=surfData.ctx.getImageData(0,0,surfData.width,surfData.height);if(raw.bpp==4){imageData.data.set(HEAPU8.subarray(raw.data,raw.data+raw.size))}else if(raw.bpp==3){var pixels=raw.size/3;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i{var id=SDL.rwops.length;var filename=UTF8ToString(_name);SDL.rwops.push({filename,mimetype:Browser.getMimetype(filename)});return id};_SDL_RWFromFile.sig="ppp";var _IMG_Load=filename=>{var rwops=_SDL_RWFromFile(filename,0);var result=_IMG_Load_RW(rwops,1);return result};_IMG_Load.sig="pp";var _IMG_Quit=()=>out("IMG_Quit called (and ignored)");_IMG_Quit.sig="v";var _SDL_OpenAudio=(desired,obtained)=>{try{SDL.audio={freq:HEAPU32[desired>>2],format:HEAPU16[desired+4>>1],channels:HEAPU8[desired+6],samples:HEAPU16[desired+8>>1],callback:HEAPU32[desired+16>>2],userdata:HEAPU32[desired+20>>2],paused:true,timer:null};if(SDL.audio.format==8){SDL.audio.silence=128}else if(SDL.audio.format==32784){SDL.audio.silence=0}else if(SDL.audio.format==33056){SDL.audio.silence=0}else{throw"Invalid SDL audio format "+SDL.audio.format+"!"}if(SDL.audio.freq<=0){throw"Unsupported sound frequency "+SDL.audio.freq+"!"}else if(SDL.audio.freq<=22050){SDL.audio.freq=22050}else if(SDL.audio.freq<=32e3){SDL.audio.freq=32e3}else if(SDL.audio.freq<=44100){SDL.audio.freq=44100}else if(SDL.audio.freq<=48e3){SDL.audio.freq=48e3}else if(SDL.audio.freq<=96e3){SDL.audio.freq=96e3}else{throw`Unsupported sound frequency ${SDL.audio.freq}!`}if(SDL.audio.channels==0){SDL.audio.channels=1}else if(SDL.audio.channels<0||SDL.audio.channels>32){throw`Unsupported number of audio channels for SDL audio: ${SDL.audio.channels}!`}else if(SDL.audio.channels!=1&&SDL.audio.channels!=2){out(`Warning: Using untested number of audio channels ${SDL.audio.channels}`)}if(SDL.audio.samples<128||SDL.audio.samples>524288){throw`Unsupported audio callback buffer size ${SDL.audio.samples}!`}else if((SDL.audio.samples&SDL.audio.samples-1)!=0){throw`Audio callback buffer size ${SDL.audio.samples} must be a power-of-two!`}var totalSamples=SDL.audio.samples*SDL.audio.channels;if(SDL.audio.format==8){SDL.audio.bytesPerSample=1}else if(SDL.audio.format==32784){SDL.audio.bytesPerSample=2}else if(SDL.audio.format==33056){SDL.audio.bytesPerSample=4}else{throw`Invalid SDL audio format ${SDL.audio.format}!`}SDL.audio.bufferSize=totalSamples*SDL.audio.bytesPerSample;SDL.audio.bufferDurationSecs=SDL.audio.bufferSize/SDL.audio.bytesPerSample/SDL.audio.channels/SDL.audio.freq;SDL.audio.bufferingDelay=50/1e3;SDL.audio.buffer=_malloc(SDL.audio.bufferSize);SDL.audio.numSimultaneouslyQueuedBuffers=Module["SDL_numSimultaneouslyQueuedBuffers"]||5;SDL.audio.queueNewAudioData=()=>{if(!SDL.audio)return;for(var i=0;i=SDL.audio.bufferingDelay+SDL.audio.bufferDurationSecs*SDL.audio.numSimultaneouslyQueuedBuffers)return;((a1,a2,a3)=>{})(SDL.audio.userdata,SDL.audio.buffer,SDL.audio.bufferSize);SDL.audio.pushAudio(SDL.audio.buffer,SDL.audio.bufferSize)}};var sleepCallback=()=>{SDL.audio?.queueNewAudioData?.()};Asyncify.sleepCallbacks.push(sleepCallback);SDL.audio.callbackRemover=()=>{Asyncify.sleepCallbacks=Asyncify.sleepCallbacks.filter(callback=>callback!==sleepCallback)};SDL.audio.caller=()=>{if(!SDL.audio)return;--SDL.audio.numAudioTimersPending;SDL.audio.queueNewAudioData();var secsUntilNextPlayStart=SDL.audio.nextPlayTime-SDL.audioContext["currentTime"];var preemptBufferFeedSecs=SDL.audio.bufferDurationSecs/2;if(SDL.audio.numAudioTimersPending{try{if(SDL.audio.paused)return;var sizeSamples=sizeBytes/SDL.audio.bytesPerSample;var sizeSamplesPerChannel=sizeSamples/SDL.audio.channels;if(sizeSamplesPerChannel!=SDL.audio.samples){throw"Received mismatching audio buffer size!"}var source=SDL.audioContext["createBufferSource"]();var soundBuffer=SDL.audioContext["createBuffer"](SDL.audio.channels,sizeSamplesPerChannel,SDL.audio.freq);source["connect"](SDL.audioContext["destination"]);SDL.fillWebAudioBufferFromHeap(ptr,sizeSamplesPerChannel,soundBuffer);source["buffer"]=soundBuffer;var curtime=SDL.audioContext["currentTime"];var playtime=Math.max(curtime+SDL.audio.bufferingDelay,SDL.audio.nextPlayTime);if(typeof source["start"]!="undefined"){source["start"](playtime)}else if(typeof source["noteOn"]!="undefined"){source["noteOn"](playtime)}SDL.audio.nextPlayTime=playtime+SDL.audio.bufferDurationSecs}catch(e){err(`Web Audio API error playing back audio: ${e.toString()}`)}};if(obtained){HEAP32[obtained>>2]=SDL.audio.freq;HEAP16[obtained+4>>1]=SDL.audio.format;HEAP8[obtained+6]=SDL.audio.channels;HEAP8[obtained+7]=SDL.audio.silence;HEAP16[obtained+8>>1]=SDL.audio.samples;HEAPU32[obtained+16>>2]=SDL.audio.callback;HEAPU32[obtained+20>>2]=SDL.audio.userdata}SDL.allocateChannels(32)}catch(e){err(`Initializing SDL audio threw an exception: "${e.toString()}"! Continuing without audio`);SDL.audio=null;SDL.allocateChannels(0);if(obtained){HEAP32[obtained>>2]=0;HEAP16[obtained+4>>1]=0;HEAP8[obtained+6]=0;HEAP8[obtained+7]=0;HEAP16[obtained+8>>1]=0;HEAPU32[obtained+16>>2]=0;HEAPU32[obtained+20>>2]=0}}if(!SDL.audio){return-1}return 0};_SDL_OpenAudio.sig="ipp";var _SDL_PauseAudio=pauseOn=>{if(!SDL.audio){return}if(pauseOn){if(SDL.audio.timer!==undefined){clearTimeout(SDL.audio.timer);SDL.audio.numAudioTimersPending=0;SDL.audio.timer=undefined}}else if(!SDL.audio.timer){SDL.audio.numAudioTimersPending=1;SDL.audio.timer=safeSetTimeout(SDL.audio.caller,1)}SDL.audio.paused=pauseOn};_SDL_PauseAudio.sig="vi";var _SDL_CloseAudio=()=>{if(SDL.audio){if(SDL.audio.callbackRemover){SDL.audio.callbackRemover();SDL.audio.callbackRemover=null}_SDL_PauseAudio(1);_free(SDL.audio.buffer);SDL.audio=null;SDL.allocateChannels(0)}};_SDL_CloseAudio.sig="v";var _SDL_LockAudio=()=>{};_SDL_LockAudio.sig="v";var _SDL_UnlockAudio=()=>{};_SDL_UnlockAudio.sig="v";var _SDL_CreateMutex=()=>0;_SDL_CreateMutex.sig="p";var _SDL_mutexP=mutex=>0;_SDL_mutexP.sig="ip";var _SDL_mutexV=mutex=>0;_SDL_mutexV.sig="ip";var _SDL_DestroyMutex=mutex=>{};_SDL_DestroyMutex.sig="vp";var _SDL_CreateCond=()=>0;_SDL_CreateCond.sig="p";var _SDL_CondSignal=cond=>{};_SDL_CondSignal.sig="ip";var _SDL_CondWait=(cond,mutex)=>{};_SDL_CondWait.sig="ipp";var _SDL_DestroyCond=cond=>{};_SDL_DestroyCond.sig="vp";var _SDL_StartTextInput=()=>{SDL.textInput=true};_SDL_StartTextInput.sig="v";var _SDL_StopTextInput=()=>{SDL.textInput=false};_SDL_StopTextInput.sig="v";var _Mix_Init=flags=>{if(!flags)return 0;return 8};_Mix_Init.sig="ii";var _Mix_Quit=()=>{};_Mix_Quit.sig="v";var _Mix_OpenAudio=(frequency,format,channels,chunksize)=>{SDL.openAudioContext();autoResumeAudioContext(SDL.audioContext);SDL.allocateChannels(32);SDL.mixerFrequency=frequency;SDL.mixerFormat=format;SDL.mixerNumChannels=channels;SDL.mixerChunkSize=chunksize;return 0};_Mix_OpenAudio.sig="iiiii";var _Mix_CloseAudio=_SDL_CloseAudio;_Mix_CloseAudio.sig="v";var _Mix_AllocateChannels=num=>{SDL.allocateChannels(num);return num};_Mix_AllocateChannels.sig="ii";var _Mix_ChannelFinished=func=>{SDL.channelFinished=func};_Mix_ChannelFinished.sig="vp";var _Mix_Volume=(channel,volume)=>{if(channel==-1){for(var i=0;i{left/=255;right/=255;SDL.setPannerPosition(SDL.channels[channel],right-left,0,.1);return 1};_Mix_SetPanning.sig="iiii";var _Mix_LoadWAV_RW=(rwopsID,freesrc)=>{var rwops=SDL.rwops[rwopsID];if(rwops===undefined)return 0;var filename="";var audio;var webAudio;var bytes;if(rwops.filename!==undefined){filename=PATH_FS.resolve(rwops.filename);var raw=Browser.preloadedAudios[filename];if(!raw){if(raw===null)err("Trying to reuse preloaded audio, but freePreloadedMediaOnUse is set!");if(!Module["noAudioDecoding"])warnOnce("Cannot find preloaded audio "+filename);try{bytes=FS.readFile(filename)}catch(e){err(`Couldn't find file for: ${filename}`);return 0}}if(Module["freePreloadedMediaOnUse"]){Browser.preloadedAudios[filename]=null}audio=raw}else if(rwops.bytes!==undefined){if(SDL.webAudioAvailable()){bytes=HEAPU8.buffer.slice(rwops.bytes,rwops.bytes+rwops.count)}else{bytes=HEAPU8.subarray(rwops.bytes,rwops.bytes+rwops.count)}}else{return 0}var arrayBuffer=bytes?bytes.buffer||bytes:bytes;var canPlayWithWebAudio=Module["SDL_canPlayWithWebAudio"]===undefined||Module["SDL_canPlayWithWebAudio"](filename,arrayBuffer);if(bytes!==undefined&&SDL.webAudioAvailable()&&canPlayWithWebAudio){audio=undefined;webAudio={onDecodeComplete:[]};SDL.audioContext["decodeAudioData"](arrayBuffer,data=>{webAudio.decodedBuffer=data;webAudio.onDecodeComplete.forEach(e=>e());delete webAudio.onDecodeComplete})}else if(audio===undefined&&bytes){var blob=new Blob([bytes],{type:rwops.mimetype});var url=URL.createObjectURL(blob);audio=new Audio;audio.src=url;audio.mozAudioChannelType="content"}var id=SDL.audios.length;SDL.audios.push({source:filename,audio,webAudio});return id};_Mix_LoadWAV_RW.sig="ppi";var _Mix_LoadWAV=filename=>{var rwops=_SDL_RWFromFile(filename,0);var result=_Mix_LoadWAV_RW(rwops,0);_SDL_FreeRW(rwops);return result};_Mix_LoadWAV.sig="pp";var _Mix_QuickLoad_RAW=(mem,len)=>{var audio;var webAudio;var numSamples=len>>1;var buffer=new Float32Array(numSamples);for(var i=0;i>1]/32768}if(SDL.webAudioAvailable()){webAudio={decodedBuffer:buffer}}else{audio=new Audio;audio.mozAudioChannelType="content";audio.numChannels=SDL.mixerNumChannels;audio.frequency=SDL.mixerFrequency}var id=SDL.audios.length;SDL.audios.push({source:"",audio,webAudio,buffer});return id};_Mix_QuickLoad_RAW.sig="ppi";var _Mix_FreeChunk=id=>{SDL.audios[id]=null};_Mix_FreeChunk.sig="vp";var _Mix_ReserveChannels=num=>{SDL.channelMinimumNumber=num};_Mix_ReserveChannels.sig="ii";var _Mix_HaltChannel=channel=>{function halt(channel){var info=SDL.channels[channel];if(info.audio){info.audio.pause();info.audio=null}if(SDL.channelFinished){(a1=>{})(channel)}}if(channel!=-1){halt(channel)}else{for(var i=0;i{assert(ticks==-1);var info=SDL.audios[id];if(!info)return-1;if(!info.audio&&!info.webAudio)return-1;if(channel==-1){for(var i=SDL.channelMinimumNumber;i{})(channel)};if(channelInfo.audio){_Mix_HaltChannel(channel)}channelInfo.audio=audio;audio.loop=loops!=0;audio.volume=channelInfo.volume;audio.play();return channel};_Mix_PlayChannelTimed.sig="iipii";var _Mix_FadingChannel=channel=>0;_Mix_FadingChannel.sig="ii";var _Mix_HaltMusic=()=>{var audio=SDL.music.audio;if(audio){audio.src=audio.src;audio.currentPosition=0;audio.pause()}SDL.music.audio=null;if(SDL.hookMusicFinished){(()=>{})()}return 0};_Mix_HaltMusic.sig="i";var _Mix_HookMusicFinished=func=>{SDL.hookMusicFinished=func;if(SDL.music.audio){SDL.music.audio["onended"]=_Mix_HaltMusic}};_Mix_HookMusicFinished.sig="vp";var _Mix_VolumeMusic=volume=>SDL.setGetVolume(SDL.music,volume);_Mix_VolumeMusic.sig="ii";var _Mix_LoadMUS_RW=filename=>_Mix_LoadWAV_RW(filename,0);_Mix_LoadMUS_RW.sig="pp";var _Mix_LoadMUS=filename=>{var rwops=_SDL_RWFromFile(filename,0);var result=_Mix_LoadMUS_RW(rwops);_SDL_FreeRW(rwops);return result};_Mix_LoadMUS.sig="pp";var _Mix_FreeMusic=_Mix_FreeChunk;_Mix_FreeMusic.sig="vp";var _Mix_PlayMusic=(id,loops)=>{if(SDL.music.audio){if(!SDL.music.audio.paused)err(`Music is already playing. ${SDL.music.source}`);SDL.music.audio.pause()}var info=SDL.audios[id];var audio;if(info.webAudio){audio={resource:info,paused:false,currentPosition:0,play(){SDL.playWebAudio(this)},pause(){SDL.pauseWebAudio(this)}}}else if(info.audio){audio=info.audio}audio["onended"]=function(){if(SDL.music.audio===this||SDL.music.audio?.webAudioNode===this){_Mix_HaltMusic()}};audio.loop=loops!=0&&loops!=1;audio.volume=SDL.music.volume;SDL.music.audio=audio;audio.play();return 0};_Mix_PlayMusic.sig="ipi";var _Mix_PauseMusic=()=>{var audio=SDL.music.audio;audio?.pause()};_Mix_PauseMusic.sig="v";var _Mix_ResumeMusic=()=>{var audio=SDL.music.audio;audio?.play()};_Mix_ResumeMusic.sig="v";var _Mix_FadeInMusicPos=_Mix_PlayMusic;_Mix_FadeInMusicPos.sig="ipiid";var _Mix_FadeOutMusic=_Mix_HaltMusic;_Mix_FadeOutMusic.sig="ii";var _Mix_PlayingMusic=()=>SDL.music.audio&&!SDL.music.audio.paused;_Mix_PlayingMusic.sig="i";var _Mix_Playing=channel=>{if(channel===-1){var count=0;for(var i=0;i{if(channel===-1){for(var i=0;i{if(channel===-1){var pausedCount=0;for(var i=0;iSDL.music.audio?.paused?1:0;_Mix_PausedMusic.sig="i";var _Mix_Resume=channel=>{if(channel===-1){for(var i=0;i{try{var offscreenCanvas=new OffscreenCanvas(0,0);SDL.ttfContext=offscreenCanvas.getContext("2d");if(typeof SDL.ttfContext.measureText!="function"){throw"bad context"}}catch(ex){var canvas=document.createElement("canvas");SDL.ttfContext=canvas.getContext("2d")}return 0};_TTF_Init.sig="i";var _TTF_OpenFont=(name,size)=>{name=PATH.normalize(UTF8ToString(name));var id=SDL.fonts.length;SDL.fonts.push({name,size});return id};_TTF_OpenFont.sig="ppi";var _TTF_CloseFont=font=>{SDL.fonts[font]=null};_TTF_CloseFont.sig="vp";var _TTF_RenderText_Solid=(font,text,color)=>{text=UTF8ToString(text)||" ";var fontData=SDL.fonts[font];var w=SDL.estimateTextWidth(fontData,text);var h=fontData.size;color=SDL.loadColorToCSSRGB(color);var fontString=SDL.makeFontString(h,fontData.name);var surf=SDL.makeSurface(w,h,0,false,"text:"+text);var surfData=SDL.surfaces[surf];surfData.ctx.save();surfData.ctx.fillStyle=color;surfData.ctx.font=fontString;surfData.ctx.textBaseline="bottom";surfData.ctx.fillText(text,0,h|0);surfData.ctx.restore();return surf};_TTF_RenderText_Solid.sig="pppp";var _TTF_RenderText_Blended=_TTF_RenderText_Solid;_TTF_RenderText_Blended.sig="pppp";var _TTF_RenderText_Shaded=_TTF_RenderText_Solid;_TTF_RenderText_Shaded.sig="ppppp";var _TTF_RenderUTF8_Solid=_TTF_RenderText_Solid;_TTF_RenderUTF8_Solid.sig="pppp";var _TTF_SizeText=(font,text,w,h)=>{var fontData=SDL.fonts[font];if(w){HEAP32[w>>2]=SDL.estimateTextWidth(fontData,UTF8ToString(text))}if(h){HEAP32[h>>2]=fontData.size}return 0};_TTF_SizeText.sig="ipppp";var _TTF_SizeUTF8=_TTF_SizeText;_TTF_SizeUTF8.sig="ipppp";var _TTF_GlyphMetrics=(font,ch,minx,maxx,miny,maxy,advance)=>{var fontData=SDL.fonts[font];var width=SDL.estimateTextWidth(fontData,String.fromCharCode(ch));if(advance){HEAP32[advance>>2]=width}if(minx){HEAP32[minx>>2]=0}if(maxx){HEAP32[maxx>>2]=width}if(miny){HEAP32[miny>>2]=0}if(maxy){HEAP32[maxy>>2]=fontData.size}};_TTF_GlyphMetrics.sig="ipippppp";var _TTF_FontAscent=font=>{var fontData=SDL.fonts[font];return fontData.size*.98|0};_TTF_FontAscent.sig="ip";var _TTF_FontDescent=font=>{var fontData=SDL.fonts[font];return fontData.size*.02|0};_TTF_FontDescent.sig="ip";var _TTF_FontHeight=font=>{var fontData=SDL.fonts[font];return fontData.size};_TTF_FontHeight.sig="ip";var _TTF_FontLineSkip=_TTF_FontHeight;_TTF_FontLineSkip.sig="ip";var _TTF_Quit=()=>out("TTF_Quit called (and ignored)");_TTF_Quit.sig="v";var SDL_gfx={drawRectangle:(surf,x1,y1,x2,y2,action,cssColor)=>{x1=x1<<16>>16;y1=y1<<16>>16;x2=x2<<16>>16;y2=y2<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);var x=x1{x1=x1<<16>>16;y1=y1<<16>>16;x2=x2<<16>>16;y2=y2<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);surfData.ctx.save();surfData.ctx.strokeStyle=cssColor;surfData.ctx.beginPath();surfData.ctx.moveTo(x1,y1);surfData.ctx.lineTo(x2,y2);surfData.ctx.stroke();surfData.ctx.restore()},drawEllipse:(surf,x,y,rx,ry,action,cssColor)=>{x=x<<16>>16;y=y<<16>>16;rx=rx<<16>>16;ry=ry<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);surfData.ctx.save();surfData.ctx.beginPath();surfData.ctx.translate(x,y);surfData.ctx.scale(rx,ry);surfData.ctx.arc(0,0,1,0,2*Math.PI);surfData.ctx.restore();surfData.ctx.save();surfData.ctx[action+"Style"]=cssColor;surfData.ctx[action]();surfData.ctx.restore()},translateColorToCSSRGBA:rgba=>`rgba(${rgba>>>24},${rgba>>16&255},${rgba>>8&255},${rgba&255})`};var _boxColor=(surf,x1,y1,x2,y2,color)=>SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"fill",SDL_gfx.translateColorToCSSRGBA(color));_boxColor.sig="ipiiiii";var _boxRGBA=(surf,x1,y1,x2,y2,r,g,b,a)=>SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"fill",SDL.translateRGBAToCSSRGBA(r,g,b,a));_boxRGBA.sig="ipiiiiiiii";var _rectangleColor=(surf,x1,y1,x2,y2,color)=>SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"stroke",SDL_gfx.translateColorToCSSRGBA(color));_rectangleColor.sig="ipiiiii";var _rectangleRGBA=(surf,x1,y1,x2,y2,r,g,b,a)=>SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"stroke",SDL.translateRGBAToCSSRGBA(r,g,b,a));_rectangleRGBA.sig="ipiiiiiiii";var _ellipseColor=(surf,x,y,rx,ry,color)=>SDL_gfx.drawEllipse(surf,x,y,rx,ry,"stroke",SDL_gfx.translateColorToCSSRGBA(color));_ellipseColor.sig="ipiiiii";var _ellipseRGBA=(surf,x,y,rx,ry,r,g,b,a)=>SDL_gfx.drawEllipse(surf,x,y,rx,ry,"stroke",SDL.translateRGBAToCSSRGBA(r,g,b,a));_ellipseRGBA.sig="ipiiiiiiii";var _filledEllipseColor=(surf,x,y,rx,ry,color)=>SDL_gfx.drawEllipse(surf,x,y,rx,ry,"fill",SDL_gfx.translateColorToCSSRGBA(color));_filledEllipseColor.sig="ipiiiii";var _filledEllipseRGBA=(surf,x,y,rx,ry,r,g,b,a)=>SDL_gfx.drawEllipse(surf,x,y,rx,ry,"fill",SDL.translateRGBAToCSSRGBA(r,g,b,a));_filledEllipseRGBA.sig="ipiiiiiiii";var _lineColor=(surf,x1,y1,x2,y2,color)=>SDL_gfx.drawLine(surf,x1,y1,x2,y2,SDL_gfx.translateColorToCSSRGBA(color));_lineColor.sig="ipiiiii";var _lineRGBA=(surf,x1,y1,x2,y2,r,g,b,a)=>SDL_gfx.drawLine(surf,x1,y1,x2,y2,SDL.translateRGBAToCSSRGBA(r,g,b,a));_lineRGBA.sig="ipiiiiiiii";var _pixelRGBA=(surf,x1,y1,r,g,b,a)=>_boxRGBA(surf,x1,y1,x1,y1,r,g,b,a);_pixelRGBA.sig="ipiiiiii";var _SDL_GL_SetAttribute=(attr,value)=>{if(!(attr in SDL.glAttributes)){abort("Unknown SDL GL attribute ("+attr+"). Please check if your SDL version is supported.")}SDL.glAttributes[attr]=value};_SDL_GL_SetAttribute.sig="iii";var _SDL_GL_GetAttribute=(attr,value)=>{if(!(attr in SDL.glAttributes)){abort("Unknown SDL GL attribute ("+attr+"). Please check if your SDL version is supported.")}if(value)HEAP32[value>>2]=SDL.glAttributes[attr];return 0};_SDL_GL_GetAttribute.sig="iip";var _SDL_GL_SwapBuffers=()=>Browser.doSwapBuffers?.();_SDL_GL_SwapBuffers.sig="v";var _SDL_GL_ExtensionSupported=extension=>GLctx?.getExtension(UTF8ToString(extension))?1:0;_SDL_GL_ExtensionSupported.sig="ip";var _SDL_DestroyWindow=window=>{};_SDL_DestroyWindow.sig="vp";var _SDL_DestroyRenderer=renderer=>{};_SDL_DestroyRenderer.sig="vp";var _SDL_GetWindowFlags=window=>{if(Browser.isFullscreen){return 1}return 0};_SDL_GetWindowFlags.sig="ip";var _SDL_GL_SwapWindow=window=>{};_SDL_GL_SwapWindow.sig="vp";var _SDL_GL_MakeCurrent=(window,context)=>{};_SDL_GL_MakeCurrent.sig="ipp";var _SDL_GL_DeleteContext=context=>{};_SDL_GL_DeleteContext.sig="vp";var _SDL_GL_GetSwapInterval=()=>{if(MainLoop.timingMode==1){return MainLoop.timingValue}else{return 0}};_SDL_GL_GetSwapInterval.sig="i";var _SDL_GL_SetSwapInterval=state=>_emscripten_set_main_loop_timing(1,state);_SDL_GL_SetSwapInterval.sig="ii";var _SDL_SetWindowTitle=(window,title)=>{if(title)document.title=UTF8ToString(title)};_SDL_SetWindowTitle.sig="vpp";var _SDL_GetWindowSize=(window,width,height)=>{var canvas=Browser.getCanvas();if(width)HEAP32[width>>2]=canvas.width;if(height)HEAP32[height>>2]=canvas.height};_SDL_GetWindowSize.sig="vppp";var _SDL_LogSetOutputFunction=(callback,userdata)=>{};_SDL_LogSetOutputFunction.sig="vpp";var _SDL_SetWindowFullscreen=(window,fullscreen)=>{if(Browser.isFullscreen){Browser.getCanvas().exitFullscreen();return 1}return 0};_SDL_SetWindowFullscreen.sig="ipi";var _SDL_ClearError=()=>{};_SDL_ClearError.sig="v";var _SDL_SetGamma=(r,g,b)=>-1;_SDL_SetGamma.sig="ifff";var _SDL_SetGammaRamp=(redTable,greenTable,blueTable)=>-1;_SDL_SetGammaRamp.sig="ippp";var _SDL_NumJoysticks=()=>{var count=0;var gamepads=SDL.getGamepads();for(var gamepad of gamepads){if(gamepad!==undefined)count++}return count};_SDL_NumJoysticks.sig="i";var _SDL_JoystickName=deviceIndex=>{var gamepad=SDL.getGamepad(deviceIndex);if(gamepad){var name=gamepad.id;if(SDL.joystickNamePool.hasOwnProperty(name)){return SDL.joystickNamePool[name]}return SDL.joystickNamePool[name]=stringToNewUTF8(name)}return 0};_SDL_JoystickName.sig="pi";var _SDL_JoystickOpen=deviceIndex=>{var gamepad=SDL.getGamepad(deviceIndex);if(gamepad){var joystick=deviceIndex+1;SDL.recordJoystickState(joystick,gamepad);return joystick}return 0};_SDL_JoystickOpen.sig="pi";var _SDL_JoystickOpened=deviceIndex=>SDL.lastJoystickState.hasOwnProperty(deviceIndex+1)?1:0;_SDL_JoystickOpened.sig="ii";var _SDL_JoystickIndex=joystick=>joystick-1;_SDL_JoystickIndex.sig="ip";var _SDL_JoystickNumAxes=joystick=>{var gamepad=SDL.getGamepad(joystick-1);if(gamepad){return gamepad.axes.length}return 0};_SDL_JoystickNumAxes.sig="ip";var _SDL_JoystickNumBalls=joystick=>0;_SDL_JoystickNumBalls.sig="ip";var _SDL_JoystickNumHats=joystick=>0;_SDL_JoystickNumHats.sig="ip";var _SDL_JoystickNumButtons=joystick=>{var gamepad=SDL.getGamepad(joystick-1);if(gamepad){return gamepad.buttons.length}return 0};_SDL_JoystickNumButtons.sig="ip";var _SDL_JoystickUpdate=()=>SDL.queryJoysticks();_SDL_JoystickUpdate.sig="v";var _SDL_JoystickEventState=state=>{if(state<0){return SDL.joystickEventState}return SDL.joystickEventState=state};_SDL_JoystickEventState.sig="ii";var _SDL_JoystickGetAxis=(joystick,axis)=>{var gamepad=SDL.getGamepad(joystick-1);if(gamepad?.axes.length>axis){return SDL.joystickAxisValueConversion(gamepad.axes[axis])}return 0};_SDL_JoystickGetAxis.sig="ipi";var _SDL_JoystickGetHat=(joystick,hat)=>0;_SDL_JoystickGetHat.sig="ipi";var _SDL_JoystickGetBall=(joystick,ball,dxptr,dyptr)=>-1;_SDL_JoystickGetBall.sig="ipipp";var _SDL_JoystickGetButton=(joystick,button)=>{var gamepad=SDL.getGamepad(joystick-1);if(gamepad?.buttons.length>button){return SDL.getJoystickButtonState(gamepad.buttons[button])?1:0}return 0};_SDL_JoystickGetButton.sig="ipi";var _SDL_JoystickClose=joystick=>{delete SDL.lastJoystickState[joystick]};_SDL_JoystickClose.sig="vp";var _SDL_InitSubSystem=flags=>0;_SDL_InitSubSystem.sig="ii";var _SDL_RWFromConstMem=(mem,size)=>{var id=SDL.rwops.length;SDL.rwops.push({bytes:mem,count:size});return id};_SDL_RWFromConstMem.sig="ppi";var _SDL_RWFromMem=_SDL_RWFromConstMem;_SDL_RWFromMem.sig="ppi";var _SDL_GetNumAudioDrivers=()=>1;_SDL_GetNumAudioDrivers.sig="i";var _SDL_GetCurrentAudioDriver=()=>stringToNewUTF8("Emscripten Audio");_SDL_GetCurrentAudioDriver.sig="p";var _SDL_GetScancodeFromKey=key=>SDL.scanCodes[key];_SDL_GetScancodeFromKey.sig="ii";var _SDL_GetAudioDriver=index=>_SDL_GetCurrentAudioDriver();_SDL_GetAudioDriver.sig="pi";var _SDL_EnableUNICODE=on=>{var ret=SDL.unicode||0;SDL.unicode=on;return ret};_SDL_EnableUNICODE.sig="ii";var _SDL_AddTimer=(interval,callback,param)=>safeSetTimeout(()=>((a1,a2)=>{})(interval,param),interval);_SDL_AddTimer.sig="iipp";var _SDL_RemoveTimer=id=>{clearTimeout(id);return true};_SDL_RemoveTimer.sig="ii";var _SDL_CreateThread=(fs,data,pfnBeginThread,pfnEndThread)=>{throw"SDL threads cannot be supported in the web platform because they assume shared state. See emscripten_create_worker etc. for a message-passing concurrency model that does let you run code in another thread."};_SDL_CreateThread.sig="ppp";var _SDL_WaitThread=(thread,status)=>{throw"SDL_WaitThread"};_SDL_WaitThread.sig="vpp";var _SDL_GetThreadID=thread=>{throw"SDL_GetThreadID"};_SDL_GetThreadID.sig="pp";var _SDL_ThreadID=()=>0;_SDL_ThreadID.sig="p";var _SDL_AllocRW=()=>{throw"SDL_AllocRW: TODO"};_SDL_AllocRW.sig="p";var _SDL_CondBroadcast=cond=>{throw"SDL_CondBroadcast: TODO"};_SDL_CondBroadcast.sig="ip";var _SDL_CondWaitTimeout=(cond,mutex,ms)=>{throw"SDL_CondWaitTimeout: TODO"};_SDL_CondWaitTimeout.sig="ippi";var _SDL_WM_IconifyWindow=()=>{throw"SDL_WM_IconifyWindow TODO"};_SDL_WM_IconifyWindow.sig="i";var _Mix_SetPostMix=(func,arg)=>warnOnce("Mix_SetPostMix: TODO");_Mix_SetPostMix.sig="vpp";var _Mix_VolumeChunk=(chunk,volume)=>{throw"Mix_VolumeChunk: TODO"};_Mix_VolumeChunk.sig="ipi";var _Mix_SetPosition=(channel,angle,distance)=>{throw"Mix_SetPosition: TODO"};_Mix_SetPosition.sig="iiii";var _Mix_QuerySpec=(frequency,format,channels)=>{throw"Mix_QuerySpec: TODO"};_Mix_QuerySpec.sig="ippp";var _Mix_FadeInChannelTimed=(channel,chunk,loop,ms,ticks)=>{throw"Mix_FadeInChannelTimed"};_Mix_FadeInChannelTimed.sig="iipiii";var _Mix_FadeOutChannel=()=>{throw"Mix_FadeOutChannel"};_Mix_FadeOutChannel.sig="iii";var _Mix_Linked_Version=()=>{throw"Mix_Linked_Version: TODO"};_Mix_Linked_Version.sig="p";var _SDL_SaveBMP_RW=(surface,dst,freedst)=>{throw"SDL_SaveBMP_RW: TODO"};_SDL_SaveBMP_RW.sig="ippi";var _SDL_WM_SetIcon=(icon,mask)=>{};_SDL_WM_SetIcon.sig="vpp";var _SDL_HasRDTSC=()=>0;_SDL_HasRDTSC.sig="i";var _SDL_HasMMX=()=>0;_SDL_HasMMX.sig="i";var _SDL_HasMMXExt=()=>0;_SDL_HasMMXExt.sig="i";var _SDL_Has3DNow=()=>0;_SDL_Has3DNow.sig="i";var _SDL_Has3DNowExt=()=>0;_SDL_Has3DNowExt.sig="i";var _SDL_HasSSE=()=>0;_SDL_HasSSE.sig="i";var _SDL_HasSSE2=()=>0;_SDL_HasSSE2.sig="i";var _SDL_HasAltiVec=()=>0;_SDL_HasAltiVec.sig="i";var ALLOC_NORMAL=0;var ALLOC_STACK=1;var allocate=(slab,allocator)=>{var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(!slab.subarray&&!slab.slice){slab=new Uint8Array(slab)}HEAPU8.set(slab,ret);return ret};var writeStringToMemory=(string,buffer,dontAddNull)=>{warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar};var writeAsciiToMemory=(str,buffer,dontAddNull)=>{for(var i=0;i{demangle.recursionGuard=(demangle.recursionGuard|0)+1;if(demangle.recursionGuard>1)return func;return withStackSave(()=>{try{var s=func;if(s.startsWith("__Z"))s=s.slice(1);var buf=stringToUTF8OnStack(s);var status=stackAlloc(4);var ret=___cxa_demangle(buf,0,0,status);if(HEAP32[status>>2]===0&&ret){return UTF8ToString(ret)}}catch(e){}finally{_free(ret);if(demangle.recursionGuard<2)--demangle.recursionGuard}return func})};var stackTrace=()=>{var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return js};var print=out;var printErr=err;var jstoi_s=Number;var _emscripten_is_main_browser_thread=()=>!ENVIRONMENT_IS_WORKER;registerWasmPlugin();FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";Module["requestAnimationFrame"]=MainLoop.requestAnimationFrame;Module["pauseMainLoop"]=MainLoop.pause;Module["resumeMainLoop"]=MainLoop.resume;MainLoop.init();for(let i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<=288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i)}var miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<=288;++i){miniTempWebGLIntBuffers[i]=miniTempWebGLIntBuffersStorage.subarray(0,i)}adapters_support();if(typeof setImmediate!="undefined"){emSetImmediate=setImmediateWrapped;emClearImmediate=clearImmediateWrapped}else if(typeof addEventListener=="function"){var __setImmediate_id_counter=0;var __setImmediate_queue=[];var __setImmediate_message_id="_si";var __setImmediate_cb=e=>{if(e.data===__setImmediate_message_id){e.stopPropagation();__setImmediate_queue.shift()();++__setImmediate_id_counter}};addEventListener("message",__setImmediate_cb,true);emSetImmediate=func=>{postMessage(__setImmediate_message_id,"*");return __setImmediate_id_counter+__setImmediate_queue.push(func)-1};emClearImmediate=id=>{var index=id-__setImmediate_id_counter;if(index>=0&&index<__setImmediate_queue.length)__setImmediate_queue[index]=()=>{}}}registerPostMainLoop(()=>SDL.audio?.queueNewAudioData?.());{initMemory();if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["dynamicLibraries"])dynamicLibraries=Module["dynamicLibraries"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"]}Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;Module["_setTempRet0"]=_setTempRet0;Module["_getTempRet0"]=_getTempRet0;Module["_sched_yield"]=_sched_yield;Module["___cxa_uncaught_exceptions"]=___cxa_uncaught_exceptions;Module["___cxa_current_primary_exception"]=___cxa_current_primary_exception;Module["___cxa_rethrow_primary_exception"]=___cxa_rethrow_primary_exception;Module["___syscall_shutdown"]=___syscall_shutdown;var ASM_CONSTS={464820:$0=>{if(!$0){AL.alcErr=40964;return 1}},464868:$0=>{if(!AL.currentCtx){err("alGetProcAddress() called without a valid context");return 1}if(!$0){AL.currentCtx.err=40963;return 1}}};var _sqlite3_status64,_sqlite3_status,_sqlite3_db_status,_sqlite3_msize,_sqlite3_vfs_find,_sqlite3_vfs_register,_sqlite3_vfs_unregister,_sqlite3_release_memory,_sqlite3_soft_heap_limit64,_sqlite3_memory_used,_sqlite3_hard_heap_limit64,_sqlite3_memory_highwater,_sqlite3_malloc,_sqlite3_malloc64,_sqlite3_free,_sqlite3_realloc,_sqlite3_realloc64,_sqlite3_str_vappendf,_sqlite3_str_append,_sqlite3_str_appendchar,_sqlite3_str_appendall,_sqlite3_str_appendf,_sqlite3_str_finish,_sqlite3_str_errcode,_sqlite3_str_length,_sqlite3_str_value,_sqlite3_str_reset,_sqlite3_str_new,_sqlite3_vmprintf,_sqlite3_mprintf,_sqlite3_vsnprintf,_sqlite3_snprintf,_sqlite3_log,_sqlite3_randomness,_sqlite3_stricmp,_sqlite3_strnicmp,_sqlite3_os_init,_sqlite3_os_end,_sqlite3_serialize,_sqlite3_prepare_v2,_sqlite3_step,_sqlite3_column_int64,_sqlite3_reset,_sqlite3_exec,_sqlite3_column_int,_sqlite3_finalize,_sqlite3_deserialize,_sqlite3_database_file_object,_sqlite3_backup_init,_sqlite3_backup_step,_sqlite3_backup_finish,_sqlite3_backup_remaining,_sqlite3_backup_pagecount,_sqlite3_clear_bindings,_sqlite3_value_blob,_sqlite3_value_text,_sqlite3_value_bytes,_sqlite3_value_bytes16,_sqlite3_value_double,_sqlite3_value_int,_sqlite3_value_int64,_sqlite3_value_subtype,_sqlite3_value_pointer,_sqlite3_value_text16,_sqlite3_value_text16be,_sqlite3_value_text16le,_sqlite3_value_type,_sqlite3_value_encoding,_sqlite3_value_nochange,_sqlite3_value_frombind,_sqlite3_value_dup,_sqlite3_value_free,_sqlite3_result_blob,_sqlite3_result_blob64,_sqlite3_result_double,_sqlite3_result_error,_sqlite3_result_error16,_sqlite3_result_int,_sqlite3_result_int64,_sqlite3_result_null,_sqlite3_result_pointer,_sqlite3_result_subtype,_sqlite3_result_text,_sqlite3_result_text64,_sqlite3_result_text16,_sqlite3_result_text16be,_sqlite3_result_text16le,_sqlite3_result_value,_sqlite3_result_error_toobig,_sqlite3_result_zeroblob,_sqlite3_result_zeroblob64,_sqlite3_result_error_code,_sqlite3_result_error_nomem,_sqlite3_user_data,_sqlite3_context_db_handle,_sqlite3_vtab_nochange,_sqlite3_vtab_in_first,_sqlite3_vtab_in_next,_sqlite3_aggregate_context,_sqlite3_get_auxdata,_sqlite3_set_auxdata,_sqlite3_column_count,_sqlite3_data_count,_sqlite3_column_blob,_sqlite3_column_bytes,_sqlite3_column_bytes16,_sqlite3_column_double,_sqlite3_column_text,_sqlite3_column_value,_sqlite3_column_text16,_sqlite3_column_type,_sqlite3_column_name,_sqlite3_column_name16,_sqlite3_bind_blob,_sqlite3_bind_blob64,_sqlite3_bind_double,_sqlite3_bind_int,_sqlite3_bind_int64,_sqlite3_bind_null,_sqlite3_bind_pointer,_sqlite3_bind_text,_sqlite3_bind_text64,_sqlite3_bind_text16,_sqlite3_bind_value,_sqlite3_bind_zeroblob,_sqlite3_bind_zeroblob64,_sqlite3_bind_parameter_count,_sqlite3_bind_parameter_name,_sqlite3_bind_parameter_index,_sqlite3_db_handle,_sqlite3_stmt_readonly,_sqlite3_stmt_isexplain,_sqlite3_stmt_explain,_sqlite3_stmt_busy,_sqlite3_next_stmt,_sqlite3_stmt_status,_sqlite3_sql,_sqlite3_expanded_sql,_sqlite3_value_numeric_type,_sqlite3_blob_open,_sqlite3_blob_close,_sqlite3_blob_read,_sqlite3_blob_write,_sqlite3_blob_bytes,_sqlite3_blob_reopen,_sqlite3_set_authorizer,_sqlite3_strglob,_sqlite3_strlike,_sqlite3_errmsg,_sqlite3_load_extension,_sqlite3_enable_load_extension,_sqlite3_auto_extension,_sqlite3_cancel_auto_extension,_sqlite3_reset_auto_extension,_sqlite3_prepare,_sqlite3_prepare_v3,_sqlite3_prepare16,_sqlite3_prepare16_v2,_sqlite3_prepare16_v3,_sqlite3_get_table,_sqlite3_free_table,_sqlite3_create_module,_sqlite3_create_module_v2,_sqlite3_drop_modules,_sqlite3_declare_vtab,_sqlite3_vtab_on_conflict,_sqlite3_vtab_config,_sqlite3_vtab_collation,_sqlite3_vtab_in,_sqlite3_vtab_rhs_value,_sqlite3_vtab_distinct,_sqlite3_keyword_name,_sqlite3_keyword_count,_sqlite3_keyword_check,_sqlite3_complete,_sqlite3_complete16,_sqlite3_libversion,_sqlite3_libversion_number,_sqlite3_threadsafe,_sqlite3_initialize,_sqlite3_shutdown,_sqlite3_config,_sqlite3_db_mutex,_sqlite3_db_release_memory,_sqlite3_db_cacheflush,_sqlite3_db_config,_sqlite3_last_insert_rowid,_sqlite3_set_last_insert_rowid,_sqlite3_changes64,_sqlite3_changes,_sqlite3_total_changes64,_sqlite3_total_changes,_sqlite3_txn_state,_sqlite3_close,_sqlite3_close_v2,_sqlite3_busy_handler,_sqlite3_progress_handler,_sqlite3_busy_timeout,_sqlite3_interrupt,_sqlite3_is_interrupted,_sqlite3_create_function,_sqlite3_create_function_v2,_sqlite3_create_window_function,_sqlite3_create_function16,_sqlite3_overload_function,_sqlite3_trace_v2,_sqlite3_commit_hook,_sqlite3_update_hook,_sqlite3_rollback_hook,_sqlite3_autovacuum_pages,_sqlite3_wal_autocheckpoint,_sqlite3_wal_hook,_sqlite3_wal_checkpoint_v2,_sqlite3_wal_checkpoint,_sqlite3_error_offset,_sqlite3_errmsg16,_sqlite3_errcode,_sqlite3_extended_errcode,_sqlite3_system_errno,_sqlite3_errstr,_sqlite3_limit,_sqlite3_open,_sqlite3_open_v2,_sqlite3_open16,_sqlite3_create_collation,_sqlite3_create_collation_v2,_sqlite3_create_collation16,_sqlite3_collation_needed,_sqlite3_collation_needed16,_sqlite3_get_clientdata,_sqlite3_set_clientdata,_sqlite3_get_autocommit,_sqlite3_table_column_metadata,_sqlite3_sleep,_sqlite3_extended_result_codes,_sqlite3_file_control,_sqlite3_test_control,_sqlite3_create_filename,_sqlite3_free_filename,_sqlite3_uri_parameter,_sqlite3_uri_key,_sqlite3_uri_boolean,_sqlite3_uri_int64,_sqlite3_filename_database,_sqlite3_filename_journal,_sqlite3_filename_wal,_sqlite3_db_name,_sqlite3_db_filename,_sqlite3_db_readonly,_sqlite3_compileoption_used,_sqlite3_compileoption_get,_sqlite3_sourceid,_strerror,_memcmp,_malloc,_free,_realloc,_RegisterExtensionFunctions,_calloc,_getSqliteFree,_main,_libauthorizer_set_authorizer,_libfunction_create_function,_libhook_commit_hook,_libhook_update_hook,_libprogress_progress_handler,_libvfs_vfs_register,___dl_seterr,__emscripten_find_dylib,_memcpy,_memset,_fileno,_htonl,_htons,_emscripten_builtin_memalign,_ntohs,__emscripten_timeout,_setThrew,__emscripten_tempret_set,__emscripten_tempret_get,___get_temp_ret,___set_temp_ret,_emscripten_stack_set_limits,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,___cxa_demangle,___cxa_increment_exception_refcount,___cxa_decrement_exception_refcount,___cxa_can_catch,___cxa_get_exception_ptr,___wasm_apply_data_relocs,_asyncify_start_unwind,_asyncify_stop_unwind,_asyncify_start_rewind,_asyncify_stop_rewind;function assignWasmExports(wasmExports){Module["_sqlite3_status64"]=_sqlite3_status64=wasmExports["sqlite3_status64"];Module["_sqlite3_status"]=_sqlite3_status=wasmExports["sqlite3_status"];Module["_sqlite3_db_status"]=_sqlite3_db_status=wasmExports["sqlite3_db_status"];Module["_sqlite3_msize"]=_sqlite3_msize=wasmExports["sqlite3_msize"];Module["_sqlite3_vfs_find"]=_sqlite3_vfs_find=wasmExports["sqlite3_vfs_find"];Module["_sqlite3_vfs_register"]=_sqlite3_vfs_register=wasmExports["sqlite3_vfs_register"];Module["_sqlite3_vfs_unregister"]=_sqlite3_vfs_unregister=wasmExports["sqlite3_vfs_unregister"];Module["_sqlite3_release_memory"]=_sqlite3_release_memory=wasmExports["sqlite3_release_memory"];Module["_sqlite3_soft_heap_limit64"]=_sqlite3_soft_heap_limit64=wasmExports["sqlite3_soft_heap_limit64"];Module["_sqlite3_memory_used"]=_sqlite3_memory_used=wasmExports["sqlite3_memory_used"];Module["_sqlite3_hard_heap_limit64"]=_sqlite3_hard_heap_limit64=wasmExports["sqlite3_hard_heap_limit64"];Module["_sqlite3_memory_highwater"]=_sqlite3_memory_highwater=wasmExports["sqlite3_memory_highwater"];Module["_sqlite3_malloc"]=_sqlite3_malloc=wasmExports["sqlite3_malloc"];Module["_sqlite3_malloc64"]=_sqlite3_malloc64=wasmExports["sqlite3_malloc64"];Module["_sqlite3_free"]=_sqlite3_free=wasmExports["sqlite3_free"];Module["_sqlite3_realloc"]=_sqlite3_realloc=wasmExports["sqlite3_realloc"];Module["_sqlite3_realloc64"]=_sqlite3_realloc64=wasmExports["sqlite3_realloc64"];Module["_sqlite3_str_vappendf"]=_sqlite3_str_vappendf=wasmExports["sqlite3_str_vappendf"];Module["_sqlite3_str_append"]=_sqlite3_str_append=wasmExports["sqlite3_str_append"];Module["_sqlite3_str_appendchar"]=_sqlite3_str_appendchar=wasmExports["sqlite3_str_appendchar"];Module["_sqlite3_str_appendall"]=_sqlite3_str_appendall=wasmExports["sqlite3_str_appendall"];Module["_sqlite3_str_appendf"]=_sqlite3_str_appendf=wasmExports["sqlite3_str_appendf"];Module["_sqlite3_str_finish"]=_sqlite3_str_finish=wasmExports["sqlite3_str_finish"];Module["_sqlite3_str_errcode"]=_sqlite3_str_errcode=wasmExports["sqlite3_str_errcode"];Module["_sqlite3_str_length"]=_sqlite3_str_length=wasmExports["sqlite3_str_length"];Module["_sqlite3_str_value"]=_sqlite3_str_value=wasmExports["sqlite3_str_value"];Module["_sqlite3_str_reset"]=_sqlite3_str_reset=wasmExports["sqlite3_str_reset"];Module["_sqlite3_str_new"]=_sqlite3_str_new=wasmExports["sqlite3_str_new"];Module["_sqlite3_vmprintf"]=_sqlite3_vmprintf=wasmExports["sqlite3_vmprintf"];Module["_sqlite3_mprintf"]=_sqlite3_mprintf=wasmExports["sqlite3_mprintf"];Module["_sqlite3_vsnprintf"]=_sqlite3_vsnprintf=wasmExports["sqlite3_vsnprintf"];Module["_sqlite3_snprintf"]=_sqlite3_snprintf=wasmExports["sqlite3_snprintf"];Module["_sqlite3_log"]=_sqlite3_log=wasmExports["sqlite3_log"];Module["_sqlite3_randomness"]=_sqlite3_randomness=wasmExports["sqlite3_randomness"];Module["_sqlite3_stricmp"]=_sqlite3_stricmp=wasmExports["sqlite3_stricmp"];Module["_sqlite3_strnicmp"]=_sqlite3_strnicmp=wasmExports["sqlite3_strnicmp"];Module["_sqlite3_os_init"]=_sqlite3_os_init=wasmExports["sqlite3_os_init"];Module["_sqlite3_os_end"]=_sqlite3_os_end=wasmExports["sqlite3_os_end"];Module["_sqlite3_serialize"]=_sqlite3_serialize=wasmExports["sqlite3_serialize"];Module["_sqlite3_prepare_v2"]=_sqlite3_prepare_v2=wasmExports["sqlite3_prepare_v2"];Module["_sqlite3_step"]=_sqlite3_step=wasmExports["sqlite3_step"];Module["_sqlite3_column_int64"]=_sqlite3_column_int64=wasmExports["sqlite3_column_int64"];Module["_sqlite3_reset"]=_sqlite3_reset=wasmExports["sqlite3_reset"];Module["_sqlite3_exec"]=_sqlite3_exec=wasmExports["sqlite3_exec"];Module["_sqlite3_column_int"]=_sqlite3_column_int=wasmExports["sqlite3_column_int"];Module["_sqlite3_finalize"]=_sqlite3_finalize=wasmExports["sqlite3_finalize"];Module["_sqlite3_deserialize"]=_sqlite3_deserialize=wasmExports["sqlite3_deserialize"];Module["_sqlite3_database_file_object"]=_sqlite3_database_file_object=wasmExports["sqlite3_database_file_object"];Module["_sqlite3_backup_init"]=_sqlite3_backup_init=wasmExports["sqlite3_backup_init"];Module["_sqlite3_backup_step"]=_sqlite3_backup_step=wasmExports["sqlite3_backup_step"];Module["_sqlite3_backup_finish"]=_sqlite3_backup_finish=wasmExports["sqlite3_backup_finish"];Module["_sqlite3_backup_remaining"]=_sqlite3_backup_remaining=wasmExports["sqlite3_backup_remaining"];Module["_sqlite3_backup_pagecount"]=_sqlite3_backup_pagecount=wasmExports["sqlite3_backup_pagecount"];Module["_sqlite3_clear_bindings"]=_sqlite3_clear_bindings=wasmExports["sqlite3_clear_bindings"];Module["_sqlite3_value_blob"]=_sqlite3_value_blob=wasmExports["sqlite3_value_blob"];Module["_sqlite3_value_text"]=_sqlite3_value_text=wasmExports["sqlite3_value_text"];Module["_sqlite3_value_bytes"]=_sqlite3_value_bytes=wasmExports["sqlite3_value_bytes"];Module["_sqlite3_value_bytes16"]=_sqlite3_value_bytes16=wasmExports["sqlite3_value_bytes16"];Module["_sqlite3_value_double"]=_sqlite3_value_double=wasmExports["sqlite3_value_double"];Module["_sqlite3_value_int"]=_sqlite3_value_int=wasmExports["sqlite3_value_int"];Module["_sqlite3_value_int64"]=_sqlite3_value_int64=wasmExports["sqlite3_value_int64"];Module["_sqlite3_value_subtype"]=_sqlite3_value_subtype=wasmExports["sqlite3_value_subtype"];Module["_sqlite3_value_pointer"]=_sqlite3_value_pointer=wasmExports["sqlite3_value_pointer"];Module["_sqlite3_value_text16"]=_sqlite3_value_text16=wasmExports["sqlite3_value_text16"];Module["_sqlite3_value_text16be"]=_sqlite3_value_text16be=wasmExports["sqlite3_value_text16be"];Module["_sqlite3_value_text16le"]=_sqlite3_value_text16le=wasmExports["sqlite3_value_text16le"];Module["_sqlite3_value_type"]=_sqlite3_value_type=wasmExports["sqlite3_value_type"];Module["_sqlite3_value_encoding"]=_sqlite3_value_encoding=wasmExports["sqlite3_value_encoding"];Module["_sqlite3_value_nochange"]=_sqlite3_value_nochange=wasmExports["sqlite3_value_nochange"];Module["_sqlite3_value_frombind"]=_sqlite3_value_frombind=wasmExports["sqlite3_value_frombind"];Module["_sqlite3_value_dup"]=_sqlite3_value_dup=wasmExports["sqlite3_value_dup"];Module["_sqlite3_value_free"]=_sqlite3_value_free=wasmExports["sqlite3_value_free"];Module["_sqlite3_result_blob"]=_sqlite3_result_blob=wasmExports["sqlite3_result_blob"];Module["_sqlite3_result_blob64"]=_sqlite3_result_blob64=wasmExports["sqlite3_result_blob64"];Module["_sqlite3_result_double"]=_sqlite3_result_double=wasmExports["sqlite3_result_double"];Module["_sqlite3_result_error"]=_sqlite3_result_error=wasmExports["sqlite3_result_error"];Module["_sqlite3_result_error16"]=_sqlite3_result_error16=wasmExports["sqlite3_result_error16"];Module["_sqlite3_result_int"]=_sqlite3_result_int=wasmExports["sqlite3_result_int"];Module["_sqlite3_result_int64"]=_sqlite3_result_int64=wasmExports["sqlite3_result_int64"];Module["_sqlite3_result_null"]=_sqlite3_result_null=wasmExports["sqlite3_result_null"];Module["_sqlite3_result_pointer"]=_sqlite3_result_pointer=wasmExports["sqlite3_result_pointer"];Module["_sqlite3_result_subtype"]=_sqlite3_result_subtype=wasmExports["sqlite3_result_subtype"];Module["_sqlite3_result_text"]=_sqlite3_result_text=wasmExports["sqlite3_result_text"];Module["_sqlite3_result_text64"]=_sqlite3_result_text64=wasmExports["sqlite3_result_text64"];Module["_sqlite3_result_text16"]=_sqlite3_result_text16=wasmExports["sqlite3_result_text16"];Module["_sqlite3_result_text16be"]=_sqlite3_result_text16be=wasmExports["sqlite3_result_text16be"];Module["_sqlite3_result_text16le"]=_sqlite3_result_text16le=wasmExports["sqlite3_result_text16le"];Module["_sqlite3_result_value"]=_sqlite3_result_value=wasmExports["sqlite3_result_value"];Module["_sqlite3_result_error_toobig"]=_sqlite3_result_error_toobig=wasmExports["sqlite3_result_error_toobig"];Module["_sqlite3_result_zeroblob"]=_sqlite3_result_zeroblob=wasmExports["sqlite3_result_zeroblob"];Module["_sqlite3_result_zeroblob64"]=_sqlite3_result_zeroblob64=wasmExports["sqlite3_result_zeroblob64"];Module["_sqlite3_result_error_code"]=_sqlite3_result_error_code=wasmExports["sqlite3_result_error_code"];Module["_sqlite3_result_error_nomem"]=_sqlite3_result_error_nomem=wasmExports["sqlite3_result_error_nomem"];Module["_sqlite3_user_data"]=_sqlite3_user_data=wasmExports["sqlite3_user_data"];Module["_sqlite3_context_db_handle"]=_sqlite3_context_db_handle=wasmExports["sqlite3_context_db_handle"];Module["_sqlite3_vtab_nochange"]=_sqlite3_vtab_nochange=wasmExports["sqlite3_vtab_nochange"];Module["_sqlite3_vtab_in_first"]=_sqlite3_vtab_in_first=wasmExports["sqlite3_vtab_in_first"];Module["_sqlite3_vtab_in_next"]=_sqlite3_vtab_in_next=wasmExports["sqlite3_vtab_in_next"];Module["_sqlite3_aggregate_context"]=_sqlite3_aggregate_context=wasmExports["sqlite3_aggregate_context"];Module["_sqlite3_get_auxdata"]=_sqlite3_get_auxdata=wasmExports["sqlite3_get_auxdata"];Module["_sqlite3_set_auxdata"]=_sqlite3_set_auxdata=wasmExports["sqlite3_set_auxdata"];Module["_sqlite3_column_count"]=_sqlite3_column_count=wasmExports["sqlite3_column_count"];Module["_sqlite3_data_count"]=_sqlite3_data_count=wasmExports["sqlite3_data_count"];Module["_sqlite3_column_blob"]=_sqlite3_column_blob=wasmExports["sqlite3_column_blob"];Module["_sqlite3_column_bytes"]=_sqlite3_column_bytes=wasmExports["sqlite3_column_bytes"];Module["_sqlite3_column_bytes16"]=_sqlite3_column_bytes16=wasmExports["sqlite3_column_bytes16"];Module["_sqlite3_column_double"]=_sqlite3_column_double=wasmExports["sqlite3_column_double"];Module["_sqlite3_column_text"]=_sqlite3_column_text=wasmExports["sqlite3_column_text"];Module["_sqlite3_column_value"]=_sqlite3_column_value=wasmExports["sqlite3_column_value"];Module["_sqlite3_column_text16"]=_sqlite3_column_text16=wasmExports["sqlite3_column_text16"];Module["_sqlite3_column_type"]=_sqlite3_column_type=wasmExports["sqlite3_column_type"];Module["_sqlite3_column_name"]=_sqlite3_column_name=wasmExports["sqlite3_column_name"];Module["_sqlite3_column_name16"]=_sqlite3_column_name16=wasmExports["sqlite3_column_name16"];Module["_sqlite3_bind_blob"]=_sqlite3_bind_blob=wasmExports["sqlite3_bind_blob"];Module["_sqlite3_bind_blob64"]=_sqlite3_bind_blob64=wasmExports["sqlite3_bind_blob64"];Module["_sqlite3_bind_double"]=_sqlite3_bind_double=wasmExports["sqlite3_bind_double"];Module["_sqlite3_bind_int"]=_sqlite3_bind_int=wasmExports["sqlite3_bind_int"];Module["_sqlite3_bind_int64"]=_sqlite3_bind_int64=wasmExports["sqlite3_bind_int64"];Module["_sqlite3_bind_null"]=_sqlite3_bind_null=wasmExports["sqlite3_bind_null"];Module["_sqlite3_bind_pointer"]=_sqlite3_bind_pointer=wasmExports["sqlite3_bind_pointer"];Module["_sqlite3_bind_text"]=_sqlite3_bind_text=wasmExports["sqlite3_bind_text"];Module["_sqlite3_bind_text64"]=_sqlite3_bind_text64=wasmExports["sqlite3_bind_text64"];Module["_sqlite3_bind_text16"]=_sqlite3_bind_text16=wasmExports["sqlite3_bind_text16"];Module["_sqlite3_bind_value"]=_sqlite3_bind_value=wasmExports["sqlite3_bind_value"];Module["_sqlite3_bind_zeroblob"]=_sqlite3_bind_zeroblob=wasmExports["sqlite3_bind_zeroblob"];Module["_sqlite3_bind_zeroblob64"]=_sqlite3_bind_zeroblob64=wasmExports["sqlite3_bind_zeroblob64"];Module["_sqlite3_bind_parameter_count"]=_sqlite3_bind_parameter_count=wasmExports["sqlite3_bind_parameter_count"];Module["_sqlite3_bind_parameter_name"]=_sqlite3_bind_parameter_name=wasmExports["sqlite3_bind_parameter_name"];Module["_sqlite3_bind_parameter_index"]=_sqlite3_bind_parameter_index=wasmExports["sqlite3_bind_parameter_index"];Module["_sqlite3_db_handle"]=_sqlite3_db_handle=wasmExports["sqlite3_db_handle"];Module["_sqlite3_stmt_readonly"]=_sqlite3_stmt_readonly=wasmExports["sqlite3_stmt_readonly"];Module["_sqlite3_stmt_isexplain"]=_sqlite3_stmt_isexplain=wasmExports["sqlite3_stmt_isexplain"];Module["_sqlite3_stmt_explain"]=_sqlite3_stmt_explain=wasmExports["sqlite3_stmt_explain"];Module["_sqlite3_stmt_busy"]=_sqlite3_stmt_busy=wasmExports["sqlite3_stmt_busy"];Module["_sqlite3_next_stmt"]=_sqlite3_next_stmt=wasmExports["sqlite3_next_stmt"];Module["_sqlite3_stmt_status"]=_sqlite3_stmt_status=wasmExports["sqlite3_stmt_status"];Module["_sqlite3_sql"]=_sqlite3_sql=wasmExports["sqlite3_sql"];Module["_sqlite3_expanded_sql"]=_sqlite3_expanded_sql=wasmExports["sqlite3_expanded_sql"];Module["_sqlite3_value_numeric_type"]=_sqlite3_value_numeric_type=wasmExports["sqlite3_value_numeric_type"];Module["_sqlite3_blob_open"]=_sqlite3_blob_open=wasmExports["sqlite3_blob_open"];Module["_sqlite3_blob_close"]=_sqlite3_blob_close=wasmExports["sqlite3_blob_close"];Module["_sqlite3_blob_read"]=_sqlite3_blob_read=wasmExports["sqlite3_blob_read"];Module["_sqlite3_blob_write"]=_sqlite3_blob_write=wasmExports["sqlite3_blob_write"];Module["_sqlite3_blob_bytes"]=_sqlite3_blob_bytes=wasmExports["sqlite3_blob_bytes"];Module["_sqlite3_blob_reopen"]=_sqlite3_blob_reopen=wasmExports["sqlite3_blob_reopen"];Module["_sqlite3_set_authorizer"]=_sqlite3_set_authorizer=wasmExports["sqlite3_set_authorizer"];Module["_sqlite3_strglob"]=_sqlite3_strglob=wasmExports["sqlite3_strglob"];Module["_sqlite3_strlike"]=_sqlite3_strlike=wasmExports["sqlite3_strlike"];Module["_sqlite3_errmsg"]=_sqlite3_errmsg=wasmExports["sqlite3_errmsg"];Module["_sqlite3_load_extension"]=_sqlite3_load_extension=wasmExports["sqlite3_load_extension"];Module["_sqlite3_enable_load_extension"]=_sqlite3_enable_load_extension=wasmExports["sqlite3_enable_load_extension"];Module["_sqlite3_auto_extension"]=_sqlite3_auto_extension=wasmExports["sqlite3_auto_extension"];Module["_sqlite3_cancel_auto_extension"]=_sqlite3_cancel_auto_extension=wasmExports["sqlite3_cancel_auto_extension"];Module["_sqlite3_reset_auto_extension"]=_sqlite3_reset_auto_extension=wasmExports["sqlite3_reset_auto_extension"];Module["_sqlite3_prepare"]=_sqlite3_prepare=wasmExports["sqlite3_prepare"];Module["_sqlite3_prepare_v3"]=_sqlite3_prepare_v3=wasmExports["sqlite3_prepare_v3"];Module["_sqlite3_prepare16"]=_sqlite3_prepare16=wasmExports["sqlite3_prepare16"];Module["_sqlite3_prepare16_v2"]=_sqlite3_prepare16_v2=wasmExports["sqlite3_prepare16_v2"];Module["_sqlite3_prepare16_v3"]=_sqlite3_prepare16_v3=wasmExports["sqlite3_prepare16_v3"];Module["_sqlite3_get_table"]=_sqlite3_get_table=wasmExports["sqlite3_get_table"];Module["_sqlite3_free_table"]=_sqlite3_free_table=wasmExports["sqlite3_free_table"];Module["_sqlite3_create_module"]=_sqlite3_create_module=wasmExports["sqlite3_create_module"];Module["_sqlite3_create_module_v2"]=_sqlite3_create_module_v2=wasmExports["sqlite3_create_module_v2"];Module["_sqlite3_drop_modules"]=_sqlite3_drop_modules=wasmExports["sqlite3_drop_modules"];Module["_sqlite3_declare_vtab"]=_sqlite3_declare_vtab=wasmExports["sqlite3_declare_vtab"];Module["_sqlite3_vtab_on_conflict"]=_sqlite3_vtab_on_conflict=wasmExports["sqlite3_vtab_on_conflict"];Module["_sqlite3_vtab_config"]=_sqlite3_vtab_config=wasmExports["sqlite3_vtab_config"];Module["_sqlite3_vtab_collation"]=_sqlite3_vtab_collation=wasmExports["sqlite3_vtab_collation"];Module["_sqlite3_vtab_in"]=_sqlite3_vtab_in=wasmExports["sqlite3_vtab_in"];Module["_sqlite3_vtab_rhs_value"]=_sqlite3_vtab_rhs_value=wasmExports["sqlite3_vtab_rhs_value"];Module["_sqlite3_vtab_distinct"]=_sqlite3_vtab_distinct=wasmExports["sqlite3_vtab_distinct"];Module["_sqlite3_keyword_name"]=_sqlite3_keyword_name=wasmExports["sqlite3_keyword_name"];Module["_sqlite3_keyword_count"]=_sqlite3_keyword_count=wasmExports["sqlite3_keyword_count"];Module["_sqlite3_keyword_check"]=_sqlite3_keyword_check=wasmExports["sqlite3_keyword_check"];Module["_sqlite3_complete"]=_sqlite3_complete=wasmExports["sqlite3_complete"];Module["_sqlite3_complete16"]=_sqlite3_complete16=wasmExports["sqlite3_complete16"];Module["_sqlite3_libversion"]=_sqlite3_libversion=wasmExports["sqlite3_libversion"];Module["_sqlite3_libversion_number"]=_sqlite3_libversion_number=wasmExports["sqlite3_libversion_number"];Module["_sqlite3_threadsafe"]=_sqlite3_threadsafe=wasmExports["sqlite3_threadsafe"];Module["_sqlite3_initialize"]=_sqlite3_initialize=wasmExports["sqlite3_initialize"];Module["_sqlite3_shutdown"]=_sqlite3_shutdown=wasmExports["sqlite3_shutdown"];Module["_sqlite3_config"]=_sqlite3_config=wasmExports["sqlite3_config"];Module["_sqlite3_db_mutex"]=_sqlite3_db_mutex=wasmExports["sqlite3_db_mutex"];Module["_sqlite3_db_release_memory"]=_sqlite3_db_release_memory=wasmExports["sqlite3_db_release_memory"];Module["_sqlite3_db_cacheflush"]=_sqlite3_db_cacheflush=wasmExports["sqlite3_db_cacheflush"];Module["_sqlite3_db_config"]=_sqlite3_db_config=wasmExports["sqlite3_db_config"];Module["_sqlite3_last_insert_rowid"]=_sqlite3_last_insert_rowid=wasmExports["sqlite3_last_insert_rowid"];Module["_sqlite3_set_last_insert_rowid"]=_sqlite3_set_last_insert_rowid=wasmExports["sqlite3_set_last_insert_rowid"];Module["_sqlite3_changes64"]=_sqlite3_changes64=wasmExports["sqlite3_changes64"];Module["_sqlite3_changes"]=_sqlite3_changes=wasmExports["sqlite3_changes"];Module["_sqlite3_total_changes64"]=_sqlite3_total_changes64=wasmExports["sqlite3_total_changes64"];Module["_sqlite3_total_changes"]=_sqlite3_total_changes=wasmExports["sqlite3_total_changes"];Module["_sqlite3_txn_state"]=_sqlite3_txn_state=wasmExports["sqlite3_txn_state"];Module["_sqlite3_close"]=_sqlite3_close=wasmExports["sqlite3_close"];Module["_sqlite3_close_v2"]=_sqlite3_close_v2=wasmExports["sqlite3_close_v2"];Module["_sqlite3_busy_handler"]=_sqlite3_busy_handler=wasmExports["sqlite3_busy_handler"];Module["_sqlite3_progress_handler"]=_sqlite3_progress_handler=wasmExports["sqlite3_progress_handler"];Module["_sqlite3_busy_timeout"]=_sqlite3_busy_timeout=wasmExports["sqlite3_busy_timeout"];Module["_sqlite3_interrupt"]=_sqlite3_interrupt=wasmExports["sqlite3_interrupt"];Module["_sqlite3_is_interrupted"]=_sqlite3_is_interrupted=wasmExports["sqlite3_is_interrupted"];Module["_sqlite3_create_function"]=_sqlite3_create_function=wasmExports["sqlite3_create_function"];Module["_sqlite3_create_function_v2"]=_sqlite3_create_function_v2=wasmExports["sqlite3_create_function_v2"];Module["_sqlite3_create_window_function"]=_sqlite3_create_window_function=wasmExports["sqlite3_create_window_function"];Module["_sqlite3_create_function16"]=_sqlite3_create_function16=wasmExports["sqlite3_create_function16"];Module["_sqlite3_overload_function"]=_sqlite3_overload_function=wasmExports["sqlite3_overload_function"];Module["_sqlite3_trace_v2"]=_sqlite3_trace_v2=wasmExports["sqlite3_trace_v2"];Module["_sqlite3_commit_hook"]=_sqlite3_commit_hook=wasmExports["sqlite3_commit_hook"];Module["_sqlite3_update_hook"]=_sqlite3_update_hook=wasmExports["sqlite3_update_hook"];Module["_sqlite3_rollback_hook"]=_sqlite3_rollback_hook=wasmExports["sqlite3_rollback_hook"];Module["_sqlite3_autovacuum_pages"]=_sqlite3_autovacuum_pages=wasmExports["sqlite3_autovacuum_pages"];Module["_sqlite3_wal_autocheckpoint"]=_sqlite3_wal_autocheckpoint=wasmExports["sqlite3_wal_autocheckpoint"];Module["_sqlite3_wal_hook"]=_sqlite3_wal_hook=wasmExports["sqlite3_wal_hook"];Module["_sqlite3_wal_checkpoint_v2"]=_sqlite3_wal_checkpoint_v2=wasmExports["sqlite3_wal_checkpoint_v2"];Module["_sqlite3_wal_checkpoint"]=_sqlite3_wal_checkpoint=wasmExports["sqlite3_wal_checkpoint"];Module["_sqlite3_error_offset"]=_sqlite3_error_offset=wasmExports["sqlite3_error_offset"];Module["_sqlite3_errmsg16"]=_sqlite3_errmsg16=wasmExports["sqlite3_errmsg16"];Module["_sqlite3_errcode"]=_sqlite3_errcode=wasmExports["sqlite3_errcode"];Module["_sqlite3_extended_errcode"]=_sqlite3_extended_errcode=wasmExports["sqlite3_extended_errcode"];Module["_sqlite3_system_errno"]=_sqlite3_system_errno=wasmExports["sqlite3_system_errno"];Module["_sqlite3_errstr"]=_sqlite3_errstr=wasmExports["sqlite3_errstr"];Module["_sqlite3_limit"]=_sqlite3_limit=wasmExports["sqlite3_limit"];Module["_sqlite3_open"]=_sqlite3_open=wasmExports["sqlite3_open"];Module["_sqlite3_open_v2"]=_sqlite3_open_v2=wasmExports["sqlite3_open_v2"];Module["_sqlite3_open16"]=_sqlite3_open16=wasmExports["sqlite3_open16"];Module["_sqlite3_create_collation"]=_sqlite3_create_collation=wasmExports["sqlite3_create_collation"];Module["_sqlite3_create_collation_v2"]=_sqlite3_create_collation_v2=wasmExports["sqlite3_create_collation_v2"];Module["_sqlite3_create_collation16"]=_sqlite3_create_collation16=wasmExports["sqlite3_create_collation16"];Module["_sqlite3_collation_needed"]=_sqlite3_collation_needed=wasmExports["sqlite3_collation_needed"];Module["_sqlite3_collation_needed16"]=_sqlite3_collation_needed16=wasmExports["sqlite3_collation_needed16"];Module["_sqlite3_get_clientdata"]=_sqlite3_get_clientdata=wasmExports["sqlite3_get_clientdata"];Module["_sqlite3_set_clientdata"]=_sqlite3_set_clientdata=wasmExports["sqlite3_set_clientdata"];Module["_sqlite3_get_autocommit"]=_sqlite3_get_autocommit=wasmExports["sqlite3_get_autocommit"];Module["_sqlite3_table_column_metadata"]=_sqlite3_table_column_metadata=wasmExports["sqlite3_table_column_metadata"];Module["_sqlite3_sleep"]=_sqlite3_sleep=wasmExports["sqlite3_sleep"];Module["_sqlite3_extended_result_codes"]=_sqlite3_extended_result_codes=wasmExports["sqlite3_extended_result_codes"];Module["_sqlite3_file_control"]=_sqlite3_file_control=wasmExports["sqlite3_file_control"];Module["_sqlite3_test_control"]=_sqlite3_test_control=wasmExports["sqlite3_test_control"];Module["_sqlite3_create_filename"]=_sqlite3_create_filename=wasmExports["sqlite3_create_filename"];Module["_sqlite3_free_filename"]=_sqlite3_free_filename=wasmExports["sqlite3_free_filename"];Module["_sqlite3_uri_parameter"]=_sqlite3_uri_parameter=wasmExports["sqlite3_uri_parameter"];Module["_sqlite3_uri_key"]=_sqlite3_uri_key=wasmExports["sqlite3_uri_key"];Module["_sqlite3_uri_boolean"]=_sqlite3_uri_boolean=wasmExports["sqlite3_uri_boolean"];Module["_sqlite3_uri_int64"]=_sqlite3_uri_int64=wasmExports["sqlite3_uri_int64"];Module["_sqlite3_filename_database"]=_sqlite3_filename_database=wasmExports["sqlite3_filename_database"];Module["_sqlite3_filename_journal"]=_sqlite3_filename_journal=wasmExports["sqlite3_filename_journal"];Module["_sqlite3_filename_wal"]=_sqlite3_filename_wal=wasmExports["sqlite3_filename_wal"];Module["_sqlite3_db_name"]=_sqlite3_db_name=wasmExports["sqlite3_db_name"];Module["_sqlite3_db_filename"]=_sqlite3_db_filename=wasmExports["sqlite3_db_filename"];Module["_sqlite3_db_readonly"]=_sqlite3_db_readonly=wasmExports["sqlite3_db_readonly"];Module["_sqlite3_compileoption_used"]=_sqlite3_compileoption_used=wasmExports["sqlite3_compileoption_used"];Module["_sqlite3_compileoption_get"]=_sqlite3_compileoption_get=wasmExports["sqlite3_compileoption_get"];Module["_sqlite3_sourceid"]=_sqlite3_sourceid=wasmExports["sqlite3_sourceid"];_strerror=wasmExports["strerror"];Module["_memcmp"]=_memcmp=wasmExports["memcmp"];Module["_malloc"]=_malloc=wasmExports["malloc"];Module["_free"]=_free=wasmExports["free"];_realloc=wasmExports["realloc"];Module["_RegisterExtensionFunctions"]=_RegisterExtensionFunctions=wasmExports["RegisterExtensionFunctions"];_calloc=wasmExports["calloc"];Module["_getSqliteFree"]=_getSqliteFree=wasmExports["getSqliteFree"];Module["_main"]=_main=wasmExports["main"];Module["_libauthorizer_set_authorizer"]=_libauthorizer_set_authorizer=wasmExports["libauthorizer_set_authorizer"];Module["_libfunction_create_function"]=_libfunction_create_function=wasmExports["libfunction_create_function"];Module["_libhook_commit_hook"]=_libhook_commit_hook=wasmExports["libhook_commit_hook"];Module["_libhook_update_hook"]=_libhook_update_hook=wasmExports["libhook_update_hook"];Module["_libprogress_progress_handler"]=_libprogress_progress_handler=wasmExports["libprogress_progress_handler"];Module["_libvfs_vfs_register"]=_libvfs_vfs_register=wasmExports["libvfs_vfs_register"];___dl_seterr=wasmExports["__dl_seterr"];__emscripten_find_dylib=wasmExports["_emscripten_find_dylib"];Module["_memcpy"]=_memcpy=wasmExports["memcpy"];Module["_memset"]=_memset=wasmExports["memset"];_fileno=wasmExports["fileno"];_htonl=wasmExports["htonl"];_htons=wasmExports["htons"];_emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"];_ntohs=wasmExports["ntohs"];__emscripten_timeout=wasmExports["_emscripten_timeout"];_setThrew=wasmExports["setThrew"];__emscripten_tempret_set=wasmExports["_emscripten_tempret_set"];__emscripten_tempret_get=wasmExports["_emscripten_tempret_get"];___get_temp_ret=wasmExports["__get_temp_ret"];___set_temp_ret=wasmExports["__set_temp_ret"];_emscripten_stack_set_limits=wasmExports["emscripten_stack_set_limits"];__emscripten_stack_restore=wasmExports["_emscripten_stack_restore"];__emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"];_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"];___cxa_demangle=wasmExports["__cxa_demangle"];___cxa_increment_exception_refcount=wasmExports["__cxa_increment_exception_refcount"];___cxa_decrement_exception_refcount=wasmExports["__cxa_decrement_exception_refcount"];___cxa_can_catch=wasmExports["__cxa_can_catch"];___cxa_get_exception_ptr=wasmExports["__cxa_get_exception_ptr"];___wasm_apply_data_relocs=wasmExports["__wasm_apply_data_relocs"];_asyncify_start_unwind=wasmExports["asyncify_start_unwind"];_asyncify_stop_unwind=wasmExports["asyncify_stop_unwind"];_asyncify_start_rewind=wasmExports["asyncify_start_rewind"];_asyncify_stop_rewind=wasmExports["asyncify_stop_rewind"]}var _sqlite3_version=Module["_sqlite3_version"]=67092;var wasmImports={IMG_Init:_IMG_Init,IMG_Load:_IMG_Load,IMG_Load_RW:_IMG_Load_RW,IMG_Quit:_IMG_Quit,Mix_AllocateChannels:_Mix_AllocateChannels,Mix_ChannelFinished:_Mix_ChannelFinished,Mix_CloseAudio:_Mix_CloseAudio,Mix_FadeInChannelTimed:_Mix_FadeInChannelTimed,Mix_FadeInMusicPos:_Mix_FadeInMusicPos,Mix_FadeOutChannel:_Mix_FadeOutChannel,Mix_FadeOutMusic:_Mix_FadeOutMusic,Mix_FadingChannel:_Mix_FadingChannel,Mix_FreeChunk:_Mix_FreeChunk,Mix_FreeMusic:_Mix_FreeMusic,Mix_HaltChannel:_Mix_HaltChannel,Mix_HaltMusic:_Mix_HaltMusic,Mix_HookMusicFinished:_Mix_HookMusicFinished,Mix_Init:_Mix_Init,Mix_Linked_Version:_Mix_Linked_Version,Mix_LoadMUS:_Mix_LoadMUS,Mix_LoadMUS_RW:_Mix_LoadMUS_RW,Mix_LoadWAV:_Mix_LoadWAV,Mix_LoadWAV_RW:_Mix_LoadWAV_RW,Mix_OpenAudio:_Mix_OpenAudio,Mix_Pause:_Mix_Pause,Mix_PauseMusic:_Mix_PauseMusic,Mix_Paused:_Mix_Paused,Mix_PausedMusic:_Mix_PausedMusic,Mix_PlayChannelTimed:_Mix_PlayChannelTimed,Mix_PlayMusic:_Mix_PlayMusic,Mix_Playing:_Mix_Playing,Mix_PlayingMusic:_Mix_PlayingMusic,Mix_QuerySpec:_Mix_QuerySpec,Mix_QuickLoad_RAW:_Mix_QuickLoad_RAW,Mix_Quit:_Mix_Quit,Mix_ReserveChannels:_Mix_ReserveChannels,Mix_Resume:_Mix_Resume,Mix_ResumeMusic:_Mix_ResumeMusic,Mix_SetPanning:_Mix_SetPanning,Mix_SetPosition:_Mix_SetPosition,Mix_SetPostMix:_Mix_SetPostMix,Mix_Volume:_Mix_Volume,Mix_VolumeChunk:_Mix_VolumeChunk,Mix_VolumeMusic:_Mix_VolumeMusic,SDL_AddTimer:_SDL_AddTimer,SDL_AllocRW:_SDL_AllocRW,SDL_AudioDriverName:_SDL_AudioDriverName,SDL_AudioQuit:_SDL_AudioQuit,SDL_ClearError:_SDL_ClearError,SDL_CloseAudio:_SDL_CloseAudio,SDL_CondBroadcast:_SDL_CondBroadcast,SDL_CondSignal:_SDL_CondSignal,SDL_CondWait:_SDL_CondWait,SDL_CondWaitTimeout:_SDL_CondWaitTimeout,SDL_ConvertSurface:_SDL_ConvertSurface,SDL_CreateCond:_SDL_CreateCond,SDL_CreateMutex:_SDL_CreateMutex,SDL_CreateRGBSurface:_SDL_CreateRGBSurface,SDL_CreateRGBSurfaceFrom:_SDL_CreateRGBSurfaceFrom,SDL_CreateThread:_SDL_CreateThread,SDL_Delay:_SDL_Delay,SDL_DestroyCond:_SDL_DestroyCond,SDL_DestroyMutex:_SDL_DestroyMutex,SDL_DestroyRenderer:_SDL_DestroyRenderer,SDL_DestroyWindow:_SDL_DestroyWindow,SDL_DisplayFormat:_SDL_DisplayFormat,SDL_DisplayFormatAlpha:_SDL_DisplayFormatAlpha,SDL_EnableKeyRepeat:_SDL_EnableKeyRepeat,SDL_EnableUNICODE:_SDL_EnableUNICODE,SDL_FillRect:_SDL_FillRect,SDL_Flip:_SDL_Flip,SDL_FreeRW:_SDL_FreeRW,SDL_FreeSurface:_SDL_FreeSurface,SDL_GL_DeleteContext:_SDL_GL_DeleteContext,SDL_GL_ExtensionSupported:_SDL_GL_ExtensionSupported,SDL_GL_GetAttribute:_SDL_GL_GetAttribute,SDL_GL_GetSwapInterval:_SDL_GL_GetSwapInterval,SDL_GL_MakeCurrent:_SDL_GL_MakeCurrent,SDL_GL_SetAttribute:_SDL_GL_SetAttribute,SDL_GL_SetSwapInterval:_SDL_GL_SetSwapInterval,SDL_GL_SwapBuffers:_SDL_GL_SwapBuffers,SDL_GL_SwapWindow:_SDL_GL_SwapWindow,SDL_GetAppState:_SDL_GetAppState,SDL_GetAudioDriver:_SDL_GetAudioDriver,SDL_GetClipRect:_SDL_GetClipRect,SDL_GetCurrentAudioDriver:_SDL_GetCurrentAudioDriver,SDL_GetError:_SDL_GetError,SDL_GetKeyName:_SDL_GetKeyName,SDL_GetKeyState:_SDL_GetKeyState,SDL_GetKeyboardState:_SDL_GetKeyboardState,SDL_GetModState:_SDL_GetModState,SDL_GetMouseState:_SDL_GetMouseState,SDL_GetNumAudioDrivers:_SDL_GetNumAudioDrivers,SDL_GetRGB:_SDL_GetRGB,SDL_GetRGBA:_SDL_GetRGBA,SDL_GetScancodeFromKey:_SDL_GetScancodeFromKey,SDL_GetThreadID:_SDL_GetThreadID,SDL_GetTicks:_SDL_GetTicks,SDL_GetVideoInfo:_SDL_GetVideoInfo,SDL_GetVideoSurface:_SDL_GetVideoSurface,SDL_GetWindowFlags:_SDL_GetWindowFlags,SDL_GetWindowSize:_SDL_GetWindowSize,SDL_Has3DNow:_SDL_Has3DNow,SDL_Has3DNowExt:_SDL_Has3DNowExt,SDL_HasAltiVec:_SDL_HasAltiVec,SDL_HasMMX:_SDL_HasMMX,SDL_HasMMXExt:_SDL_HasMMXExt,SDL_HasRDTSC:_SDL_HasRDTSC,SDL_HasSSE:_SDL_HasSSE,SDL_HasSSE2:_SDL_HasSSE2,SDL_Init:_SDL_Init,SDL_InitSubSystem:_SDL_InitSubSystem,SDL_JoystickClose:_SDL_JoystickClose,SDL_JoystickEventState:_SDL_JoystickEventState,SDL_JoystickGetAxis:_SDL_JoystickGetAxis,SDL_JoystickGetBall:_SDL_JoystickGetBall,SDL_JoystickGetButton:_SDL_JoystickGetButton,SDL_JoystickGetHat:_SDL_JoystickGetHat,SDL_JoystickIndex:_SDL_JoystickIndex,SDL_JoystickName:_SDL_JoystickName,SDL_JoystickNumAxes:_SDL_JoystickNumAxes,SDL_JoystickNumBalls:_SDL_JoystickNumBalls,SDL_JoystickNumButtons:_SDL_JoystickNumButtons,SDL_JoystickNumHats:_SDL_JoystickNumHats,SDL_JoystickOpen:_SDL_JoystickOpen,SDL_JoystickOpened:_SDL_JoystickOpened,SDL_JoystickUpdate:_SDL_JoystickUpdate,SDL_Linked_Version:_SDL_Linked_Version,SDL_ListModes:_SDL_ListModes,SDL_LoadBMP_RW:_SDL_LoadBMP_RW,SDL_LockAudio:_SDL_LockAudio,SDL_LockSurface:_SDL_LockSurface,SDL_LogSetOutputFunction:_SDL_LogSetOutputFunction,SDL_LowerBlit:_SDL_LowerBlit,SDL_LowerBlitScaled:_SDL_LowerBlitScaled,SDL_MapRGB:_SDL_MapRGB,SDL_MapRGBA:_SDL_MapRGBA,SDL_NumJoysticks:_SDL_NumJoysticks,SDL_OpenAudio:_SDL_OpenAudio,SDL_PauseAudio:_SDL_PauseAudio,SDL_PeepEvents:_SDL_PeepEvents,SDL_PollEvent:_SDL_PollEvent,SDL_PumpEvents:_SDL_PumpEvents,SDL_PushEvent:_SDL_PushEvent,SDL_Quit:_SDL_Quit,SDL_QuitSubSystem:_SDL_QuitSubSystem,SDL_RWFromConstMem:_SDL_RWFromConstMem,SDL_RWFromFile:_SDL_RWFromFile,SDL_RWFromMem:_SDL_RWFromMem,SDL_RemoveTimer:_SDL_RemoveTimer,SDL_SaveBMP_RW:_SDL_SaveBMP_RW,SDL_SetAlpha:_SDL_SetAlpha,SDL_SetClipRect:_SDL_SetClipRect,SDL_SetColorKey:_SDL_SetColorKey,SDL_SetColors:_SDL_SetColors,SDL_SetError:_SDL_SetError,SDL_SetGamma:_SDL_SetGamma,SDL_SetGammaRamp:_SDL_SetGammaRamp,SDL_SetPalette:_SDL_SetPalette,SDL_SetVideoMode:_SDL_SetVideoMode,SDL_SetWindowFullscreen:_SDL_SetWindowFullscreen,SDL_SetWindowTitle:_SDL_SetWindowTitle,SDL_ShowCursor:_SDL_ShowCursor,SDL_StartTextInput:_SDL_StartTextInput,SDL_StopTextInput:_SDL_StopTextInput,SDL_ThreadID:_SDL_ThreadID,SDL_UnlockAudio:_SDL_UnlockAudio,SDL_UnlockSurface:_SDL_UnlockSurface,SDL_UpdateRect:_SDL_UpdateRect,SDL_UpdateRects:_SDL_UpdateRects,SDL_UpperBlit:_SDL_UpperBlit,SDL_UpperBlitScaled:_SDL_UpperBlitScaled,SDL_VideoDriverName:_SDL_VideoDriverName,SDL_VideoModeOK:_SDL_VideoModeOK,SDL_VideoQuit:_SDL_VideoQuit,SDL_WM_GrabInput:_SDL_WM_GrabInput,SDL_WM_IconifyWindow:_SDL_WM_IconifyWindow,SDL_WM_SetCaption:_SDL_WM_SetCaption,SDL_WM_SetIcon:_SDL_WM_SetIcon,SDL_WM_ToggleFullScreen:_SDL_WM_ToggleFullScreen,SDL_WaitThread:_SDL_WaitThread,SDL_WarpMouse:_SDL_WarpMouse,SDL_WasInit:_SDL_WasInit,SDL_mutexP:_SDL_mutexP,SDL_mutexV:_SDL_mutexV,TTF_CloseFont:_TTF_CloseFont,TTF_FontAscent:_TTF_FontAscent,TTF_FontDescent:_TTF_FontDescent,TTF_FontHeight:_TTF_FontHeight,TTF_FontLineSkip:_TTF_FontLineSkip,TTF_GlyphMetrics:_TTF_GlyphMetrics,TTF_Init:_TTF_Init,TTF_OpenFont:_TTF_OpenFont,TTF_Quit:_TTF_Quit,TTF_RenderText_Blended:_TTF_RenderText_Blended,TTF_RenderText_Shaded:_TTF_RenderText_Shaded,TTF_RenderText_Solid:_TTF_RenderText_Solid,TTF_RenderUTF8_Solid:_TTF_RenderUTF8_Solid,TTF_SizeText:_TTF_SizeText,TTF_SizeUTF8:_TTF_SizeUTF8,XChangeWindowAttributes:_XChangeWindowAttributes,XCreateWindow:_XCreateWindow,XInternAtom:_XInternAtom,XMapWindow:_XMapWindow,XOpenDisplay:_XOpenDisplay,XPending:_XPending,XSendEvent:_XSendEvent,XSetWMHints:_XSetWMHints,XStoreName:_XStoreName,_Unwind_Backtrace:__Unwind_Backtrace,_Unwind_DeleteException:__Unwind_DeleteException,_Unwind_FindEnclosingFunction:__Unwind_FindEnclosingFunction,_Unwind_GetIPInfo:__Unwind_GetIPInfo,_Unwind_RaiseException:__Unwind_RaiseException,__asctime_r:___asctime_r,__assert_fail:___assert_fail,__asyncify_data:___asyncify_data,__asyncify_state:___asyncify_state,__call_sighandler:___call_sighandler,__cxa_begin_catch:___cxa_begin_catch,__cxa_call_unexpected:___cxa_call_unexpected,__cxa_current_exception_type:___cxa_current_exception_type,__cxa_end_catch:___cxa_end_catch,__cxa_find_matching_catch_2:___cxa_find_matching_catch_2,__cxa_find_matching_catch_3:___cxa_find_matching_catch_3,__cxa_find_matching_catch_4:___cxa_find_matching_catch_4,__cxa_rethrow:___cxa_rethrow,__cxa_throw:___cxa_throw,__global_base:___global_base,__heap_base:___heap_base,__indirect_function_table:wasmTable,__memory_base:___memory_base,__resumeException:___resumeException,__stack_high:___stack_high,__stack_low:___stack_low,__stack_pointer:___stack_pointer,__syscall__newselect:___syscall__newselect,__syscall_accept4:___syscall_accept4,__syscall_bind:___syscall_bind,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_connect:___syscall_connect,__syscall_dup:___syscall_dup,__syscall_dup3:___syscall_dup3,__syscall_faccessat:___syscall_faccessat,__syscall_fadvise64:___syscall_fadvise64,__syscall_fallocate:___syscall_fallocate,__syscall_fchdir:___syscall_fchdir,__syscall_fchmod:___syscall_fchmod,__syscall_fchmodat2:___syscall_fchmodat2,__syscall_fchown32:___syscall_fchown32,__syscall_fchownat:___syscall_fchownat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fdatasync:___syscall_fdatasync,__syscall_fstat64:___syscall_fstat64,__syscall_fstatfs64:___syscall_fstatfs64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_getpeername:___syscall_getpeername,__syscall_getsockname:___syscall_getsockname,__syscall_getsockopt:___syscall_getsockopt,__syscall_ioctl:___syscall_ioctl,__syscall_listen:___syscall_listen,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_mknodat:___syscall_mknodat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_pipe:___syscall_pipe,__syscall_poll:___syscall_poll,__syscall_readlinkat:___syscall_readlinkat,__syscall_recvfrom:___syscall_recvfrom,__syscall_recvmsg:___syscall_recvmsg,__syscall_renameat:___syscall_renameat,__syscall_rmdir:___syscall_rmdir,__syscall_sendmsg:___syscall_sendmsg,__syscall_sendto:___syscall_sendto,__syscall_socket:___syscall_socket,__syscall_stat64:___syscall_stat64,__syscall_statfs64:___syscall_statfs64,__syscall_symlinkat:___syscall_symlinkat,__syscall_truncate64:___syscall_truncate64,__syscall_unlinkat:___syscall_unlinkat,__syscall_utimensat:___syscall_utimensat,__table_base:___table_base,_abort_js:__abort_js,_dlopen_js:__dlopen_js,_dlsym_catchup_js:__dlsym_catchup_js,_dlsym_js:__dlsym_js,_emscripten_dlopen_js:__emscripten_dlopen_js,_emscripten_fs_load_embedded_files:__emscripten_fs_load_embedded_files,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_get_progname:__emscripten_get_progname,_emscripten_lookup_name:__emscripten_lookup_name,_emscripten_push_main_loop_blocker:__emscripten_push_main_loop_blocker,_emscripten_push_uncounted_main_loop_blocker:__emscripten_push_uncounted_main_loop_blocker,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_emscripten_system:__emscripten_system,_emscripten_throw_longjmp:__emscripten_throw_longjmp,_glGetActiveAttribOrUniform:__glGetActiveAttribOrUniform,_gmtime_js:__gmtime_js,_load_secondary_module:__load_secondary_module,_localtime_js:__localtime_js,_mktime_js:__mktime_js,_mmap_js:__mmap_js,_msync_js:__msync_js,_munmap_js:__munmap_js,_setitimer_js:__setitimer_js,_timegm_js:__timegm_js,_tzset_js:__tzset_js,alBuffer3f:_alBuffer3f,alBuffer3i:_alBuffer3i,alBufferData:_alBufferData,alBufferf:_alBufferf,alBufferfv:_alBufferfv,alBufferi:_alBufferi,alBufferiv:_alBufferiv,alDeleteBuffers:_alDeleteBuffers,alDeleteSources:_alDeleteSources,alDisable:_alDisable,alDistanceModel:_alDistanceModel,alDopplerFactor:_alDopplerFactor,alDopplerVelocity:_alDopplerVelocity,alEnable:_alEnable,alGenBuffers:_alGenBuffers,alGenSources:_alGenSources,alGetBoolean:_alGetBoolean,alGetBooleanv:_alGetBooleanv,alGetBuffer3f:_alGetBuffer3f,alGetBuffer3i:_alGetBuffer3i,alGetBufferf:_alGetBufferf,alGetBufferfv:_alGetBufferfv,alGetBufferi:_alGetBufferi,alGetBufferiv:_alGetBufferiv,alGetDouble:_alGetDouble,alGetDoublev:_alGetDoublev,alGetEnumValue:_alGetEnumValue,alGetError:_alGetError,alGetFloat:_alGetFloat,alGetFloatv:_alGetFloatv,alGetInteger:_alGetInteger,alGetIntegerv:_alGetIntegerv,alGetListener3f:_alGetListener3f,alGetListener3i:_alGetListener3i,alGetListenerf:_alGetListenerf,alGetListenerfv:_alGetListenerfv,alGetListeneri:_alGetListeneri,alGetListeneriv:_alGetListeneriv,alGetSource3f:_alGetSource3f,alGetSource3i:_alGetSource3i,alGetSourcef:_alGetSourcef,alGetSourcefv:_alGetSourcefv,alGetSourcei:_alGetSourcei,alGetSourceiv:_alGetSourceiv,alGetString:_alGetString,alIsBuffer:_alIsBuffer,alIsEnabled:_alIsEnabled,alIsExtensionPresent:_alIsExtensionPresent,alIsSource:_alIsSource,alListener3f:_alListener3f,alListener3i:_alListener3i,alListenerf:_alListenerf,alListenerfv:_alListenerfv,alListeneri:_alListeneri,alListeneriv:_alListeneriv,alSource3f:_alSource3f,alSource3i:_alSource3i,alSourcePause:_alSourcePause,alSourcePausev:_alSourcePausev,alSourcePlay:_alSourcePlay,alSourcePlayv:_alSourcePlayv,alSourceQueueBuffers:_alSourceQueueBuffers,alSourceRewind:_alSourceRewind,alSourceRewindv:_alSourceRewindv,alSourceStop:_alSourceStop,alSourceStopv:_alSourceStopv,alSourceUnqueueBuffers:_alSourceUnqueueBuffers,alSourcef:_alSourcef,alSourcefv:_alSourcefv,alSourcei:_alSourcei,alSourceiv:_alSourceiv,alSpeedOfSound:_alSpeedOfSound,alcCaptureCloseDevice:_alcCaptureCloseDevice,alcCaptureOpenDevice:_alcCaptureOpenDevice,alcCaptureSamples:_alcCaptureSamples,alcCaptureStart:_alcCaptureStart,alcCaptureStop:_alcCaptureStop,alcCloseDevice:_alcCloseDevice,alcCreateContext:_alcCreateContext,alcDestroyContext:_alcDestroyContext,alcGetContextsDevice:_alcGetContextsDevice,alcGetCurrentContext:_alcGetCurrentContext,alcGetEnumValue:_alcGetEnumValue,alcGetError:_alcGetError,alcGetIntegerv:_alcGetIntegerv,alcGetString:_alcGetString,alcIsExtensionPresent:_alcIsExtensionPresent,alcMakeContextCurrent:_alcMakeContextCurrent,alcOpenDevice:_alcOpenDevice,alcProcessContext:_alcProcessContext,alcSuspendContext:_alcSuspendContext,boxColor:_boxColor,boxRGBA:_boxRGBA,clock_res_get:_clock_res_get,clock_time_get:_clock_time_get,eglBindAPI:_eglBindAPI,eglChooseConfig:_eglChooseConfig,eglCreateContext:_eglCreateContext,eglCreateWindowSurface:_eglCreateWindowSurface,eglDestroyContext:_eglDestroyContext,eglDestroySurface:_eglDestroySurface,eglGetConfigAttrib:_eglGetConfigAttrib,eglGetConfigs:_eglGetConfigs,eglGetCurrentContext:_eglGetCurrentContext,eglGetCurrentDisplay:_eglGetCurrentDisplay,eglGetCurrentSurface:_eglGetCurrentSurface,eglGetDisplay:_eglGetDisplay,eglGetError:_eglGetError,eglInitialize:_eglInitialize,eglMakeCurrent:_eglMakeCurrent,eglQueryAPI:_eglQueryAPI,eglQueryContext:_eglQueryContext,eglQueryString:_eglQueryString,eglQuerySurface:_eglQuerySurface,eglReleaseThread:_eglReleaseThread,eglSwapBuffers:_eglSwapBuffers,eglSwapInterval:_eglSwapInterval,eglTerminate:_eglTerminate,eglWaitClient:_eglWaitClient,eglWaitGL:_eglWaitGL,eglWaitNative:_eglWaitNative,ellipseColor:_ellipseColor,ellipseRGBA:_ellipseRGBA,emscripten_SDL_SetEventHandler:_emscripten_SDL_SetEventHandler,emscripten_alcDevicePauseSOFT:_emscripten_alcDevicePauseSOFT,emscripten_alcDeviceResumeSOFT:_emscripten_alcDeviceResumeSOFT,emscripten_alcGetStringiSOFT:_emscripten_alcGetStringiSOFT,emscripten_alcResetDeviceSOFT:_emscripten_alcResetDeviceSOFT,emscripten_asm_const_async_on_main_thread:_emscripten_asm_const_async_on_main_thread,emscripten_asm_const_double:_emscripten_asm_const_double,emscripten_asm_const_double_sync_on_main_thread:_emscripten_asm_const_double_sync_on_main_thread,emscripten_asm_const_int:_emscripten_asm_const_int,emscripten_asm_const_int_sync_on_main_thread:_emscripten_asm_const_int_sync_on_main_thread,emscripten_asm_const_ptr:_emscripten_asm_const_ptr,emscripten_asm_const_ptr_sync_on_main_thread:_emscripten_asm_const_ptr_sync_on_main_thread,emscripten_async_call:_emscripten_async_call,emscripten_async_load_script:_emscripten_async_load_script,emscripten_async_run_script:_emscripten_async_run_script,emscripten_async_wget:_emscripten_async_wget,emscripten_async_wget2:_emscripten_async_wget2,emscripten_async_wget2_abort:_emscripten_async_wget2_abort,emscripten_async_wget2_data:_emscripten_async_wget2_data,emscripten_async_wget_data:_emscripten_async_wget_data,emscripten_call_worker:_emscripten_call_worker,emscripten_cancel_animation_frame:_emscripten_cancel_animation_frame,emscripten_cancel_main_loop:_emscripten_cancel_main_loop,emscripten_clear_immediate:_emscripten_clear_immediate,emscripten_clear_interval:_emscripten_clear_interval,emscripten_clear_timeout:_emscripten_clear_timeout,emscripten_console_error:_emscripten_console_error,emscripten_console_log:_emscripten_console_log,emscripten_console_trace:_emscripten_console_trace,emscripten_console_warn:_emscripten_console_warn,emscripten_create_worker:_emscripten_create_worker,emscripten_date_now:_emscripten_date_now,emscripten_debugger:_emscripten_debugger,emscripten_destroy_worker:_emscripten_destroy_worker,emscripten_enter_soft_fullscreen:_emscripten_enter_soft_fullscreen,emscripten_err:_emscripten_err,emscripten_errn:_emscripten_errn,emscripten_exit_fullscreen:_emscripten_exit_fullscreen,emscripten_exit_pointerlock:_emscripten_exit_pointerlock,emscripten_exit_soft_fullscreen:_emscripten_exit_soft_fullscreen,emscripten_exit_with_live_runtime:_emscripten_exit_with_live_runtime,emscripten_fiber_swap:_emscripten_fiber_swap,emscripten_force_exit:_emscripten_force_exit,emscripten_get_battery_status:_emscripten_get_battery_status,emscripten_get_callstack:_emscripten_get_callstack,emscripten_get_canvas_element_size:_emscripten_get_canvas_element_size,emscripten_get_canvas_size:_emscripten_get_canvas_size,emscripten_get_compiler_setting:_emscripten_get_compiler_setting,emscripten_get_device_pixel_ratio:_emscripten_get_device_pixel_ratio,emscripten_get_devicemotion_status:_emscripten_get_devicemotion_status,emscripten_get_deviceorientation_status:_emscripten_get_deviceorientation_status,emscripten_get_element_css_size:_emscripten_get_element_css_size,emscripten_get_fullscreen_status:_emscripten_get_fullscreen_status,emscripten_get_gamepad_status:_emscripten_get_gamepad_status,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_main_loop_timing:_emscripten_get_main_loop_timing,emscripten_get_mouse_status:_emscripten_get_mouse_status,emscripten_get_now:_emscripten_get_now,emscripten_get_now_res:_emscripten_get_now_res,emscripten_get_num_gamepads:_emscripten_get_num_gamepads,emscripten_get_orientation_status:_emscripten_get_orientation_status,emscripten_get_pointerlock_status:_emscripten_get_pointerlock_status,emscripten_get_preloaded_image_data:_emscripten_get_preloaded_image_data,emscripten_get_preloaded_image_data_from_FILE:_emscripten_get_preloaded_image_data_from_FILE,emscripten_get_screen_size:_emscripten_get_screen_size,emscripten_get_visibility_status:_emscripten_get_visibility_status,emscripten_get_window_title:_emscripten_get_window_title,emscripten_get_worker_queue_size:_emscripten_get_worker_queue_size,emscripten_glActiveTexture:_emscripten_glActiveTexture,emscripten_glAttachShader:_emscripten_glAttachShader,emscripten_glBegin:_emscripten_glBegin,emscripten_glBeginQueryEXT:_emscripten_glBeginQueryEXT,emscripten_glBindAttribLocation:_emscripten_glBindAttribLocation,emscripten_glBindBuffer:_emscripten_glBindBuffer,emscripten_glBindFramebuffer:_emscripten_glBindFramebuffer,emscripten_glBindRenderbuffer:_emscripten_glBindRenderbuffer,emscripten_glBindTexture:_emscripten_glBindTexture,emscripten_glBindVertexArray:_emscripten_glBindVertexArray,emscripten_glBindVertexArrayOES:_emscripten_glBindVertexArrayOES,emscripten_glBlendColor:_emscripten_glBlendColor,emscripten_glBlendEquation:_emscripten_glBlendEquation,emscripten_glBlendEquationSeparate:_emscripten_glBlendEquationSeparate,emscripten_glBlendFunc:_emscripten_glBlendFunc,emscripten_glBlendFuncSeparate:_emscripten_glBlendFuncSeparate,emscripten_glBufferData:_emscripten_glBufferData,emscripten_glBufferSubData:_emscripten_glBufferSubData,emscripten_glCheckFramebufferStatus:_emscripten_glCheckFramebufferStatus,emscripten_glClear:_emscripten_glClear,emscripten_glClearColor:_emscripten_glClearColor,emscripten_glClearDepth:_emscripten_glClearDepth,emscripten_glClearDepthf:_emscripten_glClearDepthf,emscripten_glClearStencil:_emscripten_glClearStencil,emscripten_glClipControlEXT:_emscripten_glClipControlEXT,emscripten_glColorMask:_emscripten_glColorMask,emscripten_glCompileShader:_emscripten_glCompileShader,emscripten_glCompressedTexImage2D:_emscripten_glCompressedTexImage2D,emscripten_glCompressedTexSubImage2D:_emscripten_glCompressedTexSubImage2D,emscripten_glCopyTexImage2D:_emscripten_glCopyTexImage2D,emscripten_glCopyTexSubImage2D:_emscripten_glCopyTexSubImage2D,emscripten_glCreateProgram:_emscripten_glCreateProgram,emscripten_glCreateShader:_emscripten_glCreateShader,emscripten_glCullFace:_emscripten_glCullFace,emscripten_glDeleteBuffers:_emscripten_glDeleteBuffers,emscripten_glDeleteFramebuffers:_emscripten_glDeleteFramebuffers,emscripten_glDeleteProgram:_emscripten_glDeleteProgram,emscripten_glDeleteQueriesEXT:_emscripten_glDeleteQueriesEXT,emscripten_glDeleteRenderbuffers:_emscripten_glDeleteRenderbuffers,emscripten_glDeleteShader:_emscripten_glDeleteShader,emscripten_glDeleteTextures:_emscripten_glDeleteTextures,emscripten_glDeleteVertexArrays:_emscripten_glDeleteVertexArrays,emscripten_glDeleteVertexArraysOES:_emscripten_glDeleteVertexArraysOES,emscripten_glDepthFunc:_emscripten_glDepthFunc,emscripten_glDepthMask:_emscripten_glDepthMask,emscripten_glDepthRange:_emscripten_glDepthRange,emscripten_glDepthRangef:_emscripten_glDepthRangef,emscripten_glDetachShader:_emscripten_glDetachShader,emscripten_glDisable:_emscripten_glDisable,emscripten_glDisableVertexAttribArray:_emscripten_glDisableVertexAttribArray,emscripten_glDrawArrays:_emscripten_glDrawArrays,emscripten_glDrawArraysInstanced:_emscripten_glDrawArraysInstanced,emscripten_glDrawArraysInstancedANGLE:_emscripten_glDrawArraysInstancedANGLE,emscripten_glDrawArraysInstancedARB:_emscripten_glDrawArraysInstancedARB,emscripten_glDrawArraysInstancedEXT:_emscripten_glDrawArraysInstancedEXT,emscripten_glDrawArraysInstancedNV:_emscripten_glDrawArraysInstancedNV,emscripten_glDrawBuffers:_emscripten_glDrawBuffers,emscripten_glDrawBuffersEXT:_emscripten_glDrawBuffersEXT,emscripten_glDrawBuffersWEBGL:_emscripten_glDrawBuffersWEBGL,emscripten_glDrawElements:_emscripten_glDrawElements,emscripten_glDrawElementsInstanced:_emscripten_glDrawElementsInstanced,emscripten_glDrawElementsInstancedANGLE:_emscripten_glDrawElementsInstancedANGLE,emscripten_glDrawElementsInstancedARB:_emscripten_glDrawElementsInstancedARB,emscripten_glDrawElementsInstancedEXT:_emscripten_glDrawElementsInstancedEXT,emscripten_glDrawElementsInstancedNV:_emscripten_glDrawElementsInstancedNV,emscripten_glEnable:_emscripten_glEnable,emscripten_glEnableVertexAttribArray:_emscripten_glEnableVertexAttribArray,emscripten_glEndQueryEXT:_emscripten_glEndQueryEXT,emscripten_glFinish:_emscripten_glFinish,emscripten_glFlush:_emscripten_glFlush,emscripten_glFramebufferRenderbuffer:_emscripten_glFramebufferRenderbuffer,emscripten_glFramebufferTexture2D:_emscripten_glFramebufferTexture2D,emscripten_glFrontFace:_emscripten_glFrontFace,emscripten_glGenBuffers:_emscripten_glGenBuffers,emscripten_glGenFramebuffers:_emscripten_glGenFramebuffers,emscripten_glGenQueriesEXT:_emscripten_glGenQueriesEXT,emscripten_glGenRenderbuffers:_emscripten_glGenRenderbuffers,emscripten_glGenTextures:_emscripten_glGenTextures,emscripten_glGenVertexArrays:_emscripten_glGenVertexArrays,emscripten_glGenVertexArraysOES:_emscripten_glGenVertexArraysOES,emscripten_glGenerateMipmap:_emscripten_glGenerateMipmap,emscripten_glGetActiveAttrib:_emscripten_glGetActiveAttrib,emscripten_glGetActiveUniform:_emscripten_glGetActiveUniform,emscripten_glGetAttachedShaders:_emscripten_glGetAttachedShaders,emscripten_glGetAttribLocation:_emscripten_glGetAttribLocation,emscripten_glGetBooleanv:_emscripten_glGetBooleanv,emscripten_glGetBufferParameteriv:_emscripten_glGetBufferParameteriv,emscripten_glGetError:_emscripten_glGetError,emscripten_glGetFloatv:_emscripten_glGetFloatv,emscripten_glGetFramebufferAttachmentParameteriv:_emscripten_glGetFramebufferAttachmentParameteriv,emscripten_glGetIntegerv:_emscripten_glGetIntegerv,emscripten_glGetProgramInfoLog:_emscripten_glGetProgramInfoLog,emscripten_glGetProgramiv:_emscripten_glGetProgramiv,emscripten_glGetQueryObjecti64vEXT:_emscripten_glGetQueryObjecti64vEXT,emscripten_glGetQueryObjectivEXT:_emscripten_glGetQueryObjectivEXT,emscripten_glGetQueryObjectui64vEXT:_emscripten_glGetQueryObjectui64vEXT,emscripten_glGetQueryObjectuivEXT:_emscripten_glGetQueryObjectuivEXT,emscripten_glGetQueryivEXT:_emscripten_glGetQueryivEXT,emscripten_glGetRenderbufferParameteriv:_emscripten_glGetRenderbufferParameteriv,emscripten_glGetShaderInfoLog:_emscripten_glGetShaderInfoLog,emscripten_glGetShaderPrecisionFormat:_emscripten_glGetShaderPrecisionFormat,emscripten_glGetShaderSource:_emscripten_glGetShaderSource,emscripten_glGetShaderiv:_emscripten_glGetShaderiv,emscripten_glGetString:_emscripten_glGetString,emscripten_glGetTexParameterfv:_emscripten_glGetTexParameterfv,emscripten_glGetTexParameteriv:_emscripten_glGetTexParameteriv,emscripten_glGetUniformLocation:_emscripten_glGetUniformLocation,emscripten_glGetUniformfv:_emscripten_glGetUniformfv,emscripten_glGetUniformiv:_emscripten_glGetUniformiv,emscripten_glGetVertexAttribPointerv:_emscripten_glGetVertexAttribPointerv,emscripten_glGetVertexAttribfv:_emscripten_glGetVertexAttribfv,emscripten_glGetVertexAttribiv:_emscripten_glGetVertexAttribiv,emscripten_glHint:_emscripten_glHint,emscripten_glIsBuffer:_emscripten_glIsBuffer,emscripten_glIsEnabled:_emscripten_glIsEnabled,emscripten_glIsFramebuffer:_emscripten_glIsFramebuffer,emscripten_glIsProgram:_emscripten_glIsProgram,emscripten_glIsQueryEXT:_emscripten_glIsQueryEXT,emscripten_glIsRenderbuffer:_emscripten_glIsRenderbuffer,emscripten_glIsShader:_emscripten_glIsShader,emscripten_glIsTexture:_emscripten_glIsTexture,emscripten_glIsVertexArray:_emscripten_glIsVertexArray,emscripten_glIsVertexArrayOES:_emscripten_glIsVertexArrayOES,emscripten_glLineWidth:_emscripten_glLineWidth,emscripten_glLinkProgram:_emscripten_glLinkProgram,emscripten_glLoadIdentity:_emscripten_glLoadIdentity,emscripten_glMatrixMode:_emscripten_glMatrixMode,emscripten_glMultiDrawArrays:_emscripten_glMultiDrawArrays,emscripten_glMultiDrawArraysANGLE:_emscripten_glMultiDrawArraysANGLE,emscripten_glMultiDrawArraysInstancedANGLE:_emscripten_glMultiDrawArraysInstancedANGLE,emscripten_glMultiDrawArraysInstancedWEBGL:_emscripten_glMultiDrawArraysInstancedWEBGL,emscripten_glMultiDrawArraysWEBGL:_emscripten_glMultiDrawArraysWEBGL,emscripten_glMultiDrawElements:_emscripten_glMultiDrawElements,emscripten_glMultiDrawElementsANGLE:_emscripten_glMultiDrawElementsANGLE,emscripten_glMultiDrawElementsInstancedANGLE:_emscripten_glMultiDrawElementsInstancedANGLE,emscripten_glMultiDrawElementsInstancedWEBGL:_emscripten_glMultiDrawElementsInstancedWEBGL,emscripten_glMultiDrawElementsWEBGL:_emscripten_glMultiDrawElementsWEBGL,emscripten_glPixelStorei:_emscripten_glPixelStorei,emscripten_glPolygonModeWEBGL:_emscripten_glPolygonModeWEBGL,emscripten_glPolygonOffset:_emscripten_glPolygonOffset,emscripten_glPolygonOffsetClampEXT:_emscripten_glPolygonOffsetClampEXT,emscripten_glQueryCounterEXT:_emscripten_glQueryCounterEXT,emscripten_glReadPixels:_emscripten_glReadPixels,emscripten_glReleaseShaderCompiler:_emscripten_glReleaseShaderCompiler,emscripten_glRenderbufferStorage:_emscripten_glRenderbufferStorage,emscripten_glSampleCoverage:_emscripten_glSampleCoverage,emscripten_glScissor:_emscripten_glScissor,emscripten_glShaderBinary:_emscripten_glShaderBinary,emscripten_glShaderSource:_emscripten_glShaderSource,emscripten_glStencilFunc:_emscripten_glStencilFunc,emscripten_glStencilFuncSeparate:_emscripten_glStencilFuncSeparate,emscripten_glStencilMask:_emscripten_glStencilMask,emscripten_glStencilMaskSeparate:_emscripten_glStencilMaskSeparate,emscripten_glStencilOp:_emscripten_glStencilOp,emscripten_glStencilOpSeparate:_emscripten_glStencilOpSeparate,emscripten_glTexImage2D:_emscripten_glTexImage2D,emscripten_glTexParameterf:_emscripten_glTexParameterf,emscripten_glTexParameterfv:_emscripten_glTexParameterfv,emscripten_glTexParameteri:_emscripten_glTexParameteri,emscripten_glTexParameteriv:_emscripten_glTexParameteriv,emscripten_glTexSubImage2D:_emscripten_glTexSubImage2D,emscripten_glUniform1f:_emscripten_glUniform1f,emscripten_glUniform1fv:_emscripten_glUniform1fv,emscripten_glUniform1i:_emscripten_glUniform1i,emscripten_glUniform1iv:_emscripten_glUniform1iv,emscripten_glUniform2f:_emscripten_glUniform2f,emscripten_glUniform2fv:_emscripten_glUniform2fv,emscripten_glUniform2i:_emscripten_glUniform2i,emscripten_glUniform2iv:_emscripten_glUniform2iv,emscripten_glUniform3f:_emscripten_glUniform3f,emscripten_glUniform3fv:_emscripten_glUniform3fv,emscripten_glUniform3i:_emscripten_glUniform3i,emscripten_glUniform3iv:_emscripten_glUniform3iv,emscripten_glUniform4f:_emscripten_glUniform4f,emscripten_glUniform4fv:_emscripten_glUniform4fv,emscripten_glUniform4i:_emscripten_glUniform4i,emscripten_glUniform4iv:_emscripten_glUniform4iv,emscripten_glUniformMatrix2fv:_emscripten_glUniformMatrix2fv,emscripten_glUniformMatrix3fv:_emscripten_glUniformMatrix3fv,emscripten_glUniformMatrix4fv:_emscripten_glUniformMatrix4fv,emscripten_glUseProgram:_emscripten_glUseProgram,emscripten_glValidateProgram:_emscripten_glValidateProgram,emscripten_glVertexAttrib1f:_emscripten_glVertexAttrib1f,emscripten_glVertexAttrib1fv:_emscripten_glVertexAttrib1fv,emscripten_glVertexAttrib2f:_emscripten_glVertexAttrib2f,emscripten_glVertexAttrib2fv:_emscripten_glVertexAttrib2fv,emscripten_glVertexAttrib3f:_emscripten_glVertexAttrib3f,emscripten_glVertexAttrib3fv:_emscripten_glVertexAttrib3fv,emscripten_glVertexAttrib4f:_emscripten_glVertexAttrib4f,emscripten_glVertexAttrib4fv:_emscripten_glVertexAttrib4fv,emscripten_glVertexAttribDivisor:_emscripten_glVertexAttribDivisor,emscripten_glVertexAttribDivisorANGLE:_emscripten_glVertexAttribDivisorANGLE,emscripten_glVertexAttribDivisorARB:_emscripten_glVertexAttribDivisorARB,emscripten_glVertexAttribDivisorEXT:_emscripten_glVertexAttribDivisorEXT,emscripten_glVertexAttribDivisorNV:_emscripten_glVertexAttribDivisorNV,emscripten_glVertexAttribPointer:_emscripten_glVertexAttribPointer,emscripten_glVertexPointer:_emscripten_glVertexPointer,emscripten_glViewport:_emscripten_glViewport,emscripten_has_asyncify:_emscripten_has_asyncify,emscripten_hide_mouse:_emscripten_hide_mouse,emscripten_html5_remove_all_event_listeners:_emscripten_html5_remove_all_event_listeners,emscripten_idb_async_clear:_emscripten_idb_async_clear,emscripten_idb_async_delete:_emscripten_idb_async_delete,emscripten_idb_async_exists:_emscripten_idb_async_exists,emscripten_idb_async_load:_emscripten_idb_async_load,emscripten_idb_async_store:_emscripten_idb_async_store,emscripten_idb_clear:_emscripten_idb_clear,emscripten_idb_delete:_emscripten_idb_delete,emscripten_idb_exists:_emscripten_idb_exists,emscripten_idb_free_blob:_emscripten_idb_free_blob,emscripten_idb_load:_emscripten_idb_load,emscripten_idb_load_blob:_emscripten_idb_load_blob,emscripten_idb_read_from_blob:_emscripten_idb_read_from_blob,emscripten_idb_store:_emscripten_idb_store,emscripten_idb_store_blob:_emscripten_idb_store_blob,emscripten_is_main_browser_thread:_emscripten_is_main_browser_thread,emscripten_is_webgl_context_lost:_emscripten_is_webgl_context_lost,emscripten_lock_orientation:_emscripten_lock_orientation,emscripten_log:_emscripten_log,emscripten_math_acos:_emscripten_math_acos,emscripten_math_acosh:_emscripten_math_acosh,emscripten_math_asin:_emscripten_math_asin,emscripten_math_asinh:_emscripten_math_asinh,emscripten_math_atan:_emscripten_math_atan,emscripten_math_atan2:_emscripten_math_atan2,emscripten_math_atanh:_emscripten_math_atanh,emscripten_math_cbrt:_emscripten_math_cbrt,emscripten_math_cos:_emscripten_math_cos,emscripten_math_cosh:_emscripten_math_cosh,emscripten_math_exp:_emscripten_math_exp,emscripten_math_expm1:_emscripten_math_expm1,emscripten_math_fmod:_emscripten_math_fmod,emscripten_math_hypot:_emscripten_math_hypot,emscripten_math_log:_emscripten_math_log,emscripten_math_log10:_emscripten_math_log10,emscripten_math_log1p:_emscripten_math_log1p,emscripten_math_log2:_emscripten_math_log2,emscripten_math_pow:_emscripten_math_pow,emscripten_math_random:_emscripten_math_random,emscripten_math_round:_emscripten_math_round,emscripten_math_sign:_emscripten_math_sign,emscripten_math_sin:_emscripten_math_sin,emscripten_math_sinh:_emscripten_math_sinh,emscripten_math_sqrt:_emscripten_math_sqrt,emscripten_math_tan:_emscripten_math_tan,emscripten_math_tanh:_emscripten_math_tanh,emscripten_notify_memory_growth:_emscripten_notify_memory_growth,emscripten_out:_emscripten_out,emscripten_outn:_emscripten_outn,emscripten_pause_main_loop:_emscripten_pause_main_loop,emscripten_pc_get_column:_emscripten_pc_get_column,emscripten_pc_get_file:_emscripten_pc_get_file,emscripten_pc_get_function:_emscripten_pc_get_function,emscripten_pc_get_line:_emscripten_pc_get_line,emscripten_performance_now:_emscripten_performance_now,emscripten_print_double:_emscripten_print_double,emscripten_promise_all:_emscripten_promise_all,emscripten_promise_all_settled:_emscripten_promise_all_settled,emscripten_promise_any:_emscripten_promise_any,emscripten_promise_await:_emscripten_promise_await,emscripten_promise_create:_emscripten_promise_create,emscripten_promise_destroy:_emscripten_promise_destroy,emscripten_promise_race:_emscripten_promise_race,emscripten_promise_resolve:_emscripten_promise_resolve,emscripten_promise_then:_emscripten_promise_then,emscripten_random:_emscripten_random,emscripten_request_animation_frame:_emscripten_request_animation_frame,emscripten_request_animation_frame_loop:_emscripten_request_animation_frame_loop,emscripten_request_fullscreen:_emscripten_request_fullscreen,emscripten_request_fullscreen_strategy:_emscripten_request_fullscreen_strategy,emscripten_request_pointerlock:_emscripten_request_pointerlock,emscripten_resize_heap:_emscripten_resize_heap,emscripten_resume_main_loop:_emscripten_resume_main_loop,emscripten_return_address:_emscripten_return_address,emscripten_run_preload_plugins:_emscripten_run_preload_plugins,emscripten_run_preload_plugins_data:_emscripten_run_preload_plugins_data,emscripten_run_script:_emscripten_run_script,emscripten_run_script_int:_emscripten_run_script_int,emscripten_run_script_string:_emscripten_run_script_string,emscripten_runtime_keepalive_check:_emscripten_runtime_keepalive_check,emscripten_runtime_keepalive_pop:_emscripten_runtime_keepalive_pop,emscripten_runtime_keepalive_push:_emscripten_runtime_keepalive_push,emscripten_sample_gamepad_data:_emscripten_sample_gamepad_data,emscripten_scan_registers:_emscripten_scan_registers,emscripten_set_batterychargingchange_callback_on_thread:_emscripten_set_batterychargingchange_callback_on_thread,emscripten_set_batterylevelchange_callback_on_thread:_emscripten_set_batterylevelchange_callback_on_thread,emscripten_set_beforeunload_callback_on_thread:_emscripten_set_beforeunload_callback_on_thread,emscripten_set_blur_callback_on_thread:_emscripten_set_blur_callback_on_thread,emscripten_set_canvas_element_size:_emscripten_set_canvas_element_size,emscripten_set_canvas_size:_emscripten_set_canvas_size,emscripten_set_click_callback_on_thread:_emscripten_set_click_callback_on_thread,emscripten_set_dblclick_callback_on_thread:_emscripten_set_dblclick_callback_on_thread,emscripten_set_devicemotion_callback_on_thread:_emscripten_set_devicemotion_callback_on_thread,emscripten_set_deviceorientation_callback_on_thread:_emscripten_set_deviceorientation_callback_on_thread,emscripten_set_element_css_size:_emscripten_set_element_css_size,emscripten_set_focus_callback_on_thread:_emscripten_set_focus_callback_on_thread,emscripten_set_focusin_callback_on_thread:_emscripten_set_focusin_callback_on_thread,emscripten_set_focusout_callback_on_thread:_emscripten_set_focusout_callback_on_thread,emscripten_set_fullscreenchange_callback_on_thread:_emscripten_set_fullscreenchange_callback_on_thread,emscripten_set_gamepadconnected_callback_on_thread:_emscripten_set_gamepadconnected_callback_on_thread,emscripten_set_gamepaddisconnected_callback_on_thread:_emscripten_set_gamepaddisconnected_callback_on_thread,emscripten_set_immediate:_emscripten_set_immediate,emscripten_set_immediate_loop:_emscripten_set_immediate_loop,emscripten_set_interval:_emscripten_set_interval,emscripten_set_keydown_callback_on_thread:_emscripten_set_keydown_callback_on_thread,emscripten_set_keypress_callback_on_thread:_emscripten_set_keypress_callback_on_thread,emscripten_set_keyup_callback_on_thread:_emscripten_set_keyup_callback_on_thread,emscripten_set_main_loop:_emscripten_set_main_loop,emscripten_set_main_loop_arg:_emscripten_set_main_loop_arg,emscripten_set_main_loop_expected_blockers:_emscripten_set_main_loop_expected_blockers,emscripten_set_main_loop_timing:_emscripten_set_main_loop_timing,emscripten_set_mousedown_callback_on_thread:_emscripten_set_mousedown_callback_on_thread,emscripten_set_mouseenter_callback_on_thread:_emscripten_set_mouseenter_callback_on_thread,emscripten_set_mouseleave_callback_on_thread:_emscripten_set_mouseleave_callback_on_thread,emscripten_set_mousemove_callback_on_thread:_emscripten_set_mousemove_callback_on_thread,emscripten_set_mouseout_callback_on_thread:_emscripten_set_mouseout_callback_on_thread,emscripten_set_mouseover_callback_on_thread:_emscripten_set_mouseover_callback_on_thread,emscripten_set_mouseup_callback_on_thread:_emscripten_set_mouseup_callback_on_thread,emscripten_set_orientationchange_callback_on_thread:_emscripten_set_orientationchange_callback_on_thread,emscripten_set_pointerlockchange_callback_on_thread:_emscripten_set_pointerlockchange_callback_on_thread,emscripten_set_pointerlockerror_callback_on_thread:_emscripten_set_pointerlockerror_callback_on_thread,emscripten_set_resize_callback_on_thread:_emscripten_set_resize_callback_on_thread,emscripten_set_scroll_callback_on_thread:_emscripten_set_scroll_callback_on_thread,emscripten_set_socket_close_callback:_emscripten_set_socket_close_callback,emscripten_set_socket_connection_callback:_emscripten_set_socket_connection_callback,emscripten_set_socket_error_callback:_emscripten_set_socket_error_callback,emscripten_set_socket_listen_callback:_emscripten_set_socket_listen_callback,emscripten_set_socket_message_callback:_emscripten_set_socket_message_callback,emscripten_set_socket_open_callback:_emscripten_set_socket_open_callback,emscripten_set_timeout:_emscripten_set_timeout,emscripten_set_timeout_loop:_emscripten_set_timeout_loop,emscripten_set_touchcancel_callback_on_thread:_emscripten_set_touchcancel_callback_on_thread,emscripten_set_touchend_callback_on_thread:_emscripten_set_touchend_callback_on_thread,emscripten_set_touchmove_callback_on_thread:_emscripten_set_touchmove_callback_on_thread,emscripten_set_touchstart_callback_on_thread:_emscripten_set_touchstart_callback_on_thread,emscripten_set_visibilitychange_callback_on_thread:_emscripten_set_visibilitychange_callback_on_thread,emscripten_set_webglcontextlost_callback_on_thread:_emscripten_set_webglcontextlost_callback_on_thread,emscripten_set_webglcontextrestored_callback_on_thread:_emscripten_set_webglcontextrestored_callback_on_thread,emscripten_set_wheel_callback_on_thread:_emscripten_set_wheel_callback_on_thread,emscripten_set_window_title:_emscripten_set_window_title,emscripten_sleep:_emscripten_sleep,emscripten_stack_snapshot:_emscripten_stack_snapshot,emscripten_stack_unwind_buffer:_emscripten_stack_unwind_buffer,emscripten_supports_offscreencanvas:_emscripten_supports_offscreencanvas,emscripten_throw_number:_emscripten_throw_number,emscripten_throw_string:_emscripten_throw_string,emscripten_unlock_orientation:_emscripten_unlock_orientation,emscripten_unwind_to_js_event_loop:_emscripten_unwind_to_js_event_loop,emscripten_vibrate:_emscripten_vibrate,emscripten_vibrate_pattern:_emscripten_vibrate_pattern,emscripten_webgl_commit_frame:_emscripten_webgl_commit_frame,emscripten_webgl_create_context:_emscripten_webgl_create_context,emscripten_webgl_destroy_context:_emscripten_webgl_destroy_context,emscripten_webgl_do_commit_frame:_emscripten_webgl_do_commit_frame,emscripten_webgl_do_create_context:_emscripten_webgl_do_create_context,emscripten_webgl_do_get_current_context:_emscripten_webgl_do_get_current_context,emscripten_webgl_enable_ANGLE_instanced_arrays:_emscripten_webgl_enable_ANGLE_instanced_arrays,emscripten_webgl_enable_EXT_clip_control:_emscripten_webgl_enable_EXT_clip_control,emscripten_webgl_enable_EXT_polygon_offset_clamp:_emscripten_webgl_enable_EXT_polygon_offset_clamp,emscripten_webgl_enable_OES_vertex_array_object:_emscripten_webgl_enable_OES_vertex_array_object,emscripten_webgl_enable_WEBGL_draw_buffers:_emscripten_webgl_enable_WEBGL_draw_buffers,emscripten_webgl_enable_WEBGL_multi_draw:_emscripten_webgl_enable_WEBGL_multi_draw,emscripten_webgl_enable_WEBGL_polygon_mode:_emscripten_webgl_enable_WEBGL_polygon_mode,emscripten_webgl_enable_extension:_emscripten_webgl_enable_extension,emscripten_webgl_get_context_attributes:_emscripten_webgl_get_context_attributes,emscripten_webgl_get_current_context:_emscripten_webgl_get_current_context,emscripten_webgl_get_drawing_buffer_size:_emscripten_webgl_get_drawing_buffer_size,emscripten_webgl_get_parameter_d:_emscripten_webgl_get_parameter_d,emscripten_webgl_get_parameter_i64v:_emscripten_webgl_get_parameter_i64v,emscripten_webgl_get_parameter_o:_emscripten_webgl_get_parameter_o,emscripten_webgl_get_parameter_utf8:_emscripten_webgl_get_parameter_utf8,emscripten_webgl_get_parameter_v:_emscripten_webgl_get_parameter_v,emscripten_webgl_get_program_info_log_utf8:_emscripten_webgl_get_program_info_log_utf8,emscripten_webgl_get_program_parameter_d:_emscripten_webgl_get_program_parameter_d,emscripten_webgl_get_shader_info_log_utf8:_emscripten_webgl_get_shader_info_log_utf8,emscripten_webgl_get_shader_parameter_d:_emscripten_webgl_get_shader_parameter_d,emscripten_webgl_get_shader_source_utf8:_emscripten_webgl_get_shader_source_utf8,emscripten_webgl_get_supported_extensions:_emscripten_webgl_get_supported_extensions,emscripten_webgl_get_uniform_d:_emscripten_webgl_get_uniform_d,emscripten_webgl_get_uniform_v:_emscripten_webgl_get_uniform_v,emscripten_webgl_get_vertex_attrib_d:_emscripten_webgl_get_vertex_attrib_d,emscripten_webgl_get_vertex_attrib_o:_emscripten_webgl_get_vertex_attrib_o,emscripten_webgl_get_vertex_attrib_v:_emscripten_webgl_get_vertex_attrib_v,emscripten_webgl_make_context_current:_emscripten_webgl_make_context_current,emscripten_wget_data:_emscripten_wget_data,endprotoent:_endprotoent,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_pread:_fd_pread,fd_pwrite:_fd_pwrite,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,filledEllipseColor:_filledEllipseColor,filledEllipseRGBA:_filledEllipseRGBA,getaddrinfo:_getaddrinfo,getnameinfo:_getnameinfo,getprotobyname:_getprotobyname,getprotobynumber:_getprotobynumber,getprotoent:_getprotoent,glActiveTexture:_glActiveTexture,glAttachShader:_glAttachShader,glBegin:_glBegin,glBeginQueryEXT:_glBeginQueryEXT,glBindAttribLocation:_glBindAttribLocation,glBindBuffer:_glBindBuffer,glBindFramebuffer:_glBindFramebuffer,glBindRenderbuffer:_glBindRenderbuffer,glBindTexture:_glBindTexture,glBindVertexArray:_glBindVertexArray,glBindVertexArrayOES:_glBindVertexArrayOES,glBlendColor:_glBlendColor,glBlendEquation:_glBlendEquation,glBlendEquationSeparate:_glBlendEquationSeparate,glBlendFunc:_glBlendFunc,glBlendFuncSeparate:_glBlendFuncSeparate,glBufferData:_glBufferData,glBufferSubData:_glBufferSubData,glCheckFramebufferStatus:_glCheckFramebufferStatus,glClear:_glClear,glClearColor:_glClearColor,glClearDepth:_glClearDepth,glClearDepthf:_glClearDepthf,glClearStencil:_glClearStencil,glClipControlEXT:_glClipControlEXT,glColorMask:_glColorMask,glCompileShader:_glCompileShader,glCompressedTexImage2D:_glCompressedTexImage2D,glCompressedTexSubImage2D:_glCompressedTexSubImage2D,glCopyTexImage2D:_glCopyTexImage2D,glCopyTexSubImage2D:_glCopyTexSubImage2D,glCreateProgram:_glCreateProgram,glCreateShader:_glCreateShader,glCullFace:_glCullFace,glDeleteBuffers:_glDeleteBuffers,glDeleteFramebuffers:_glDeleteFramebuffers,glDeleteProgram:_glDeleteProgram,glDeleteQueriesEXT:_glDeleteQueriesEXT,glDeleteRenderbuffers:_glDeleteRenderbuffers,glDeleteShader:_glDeleteShader,glDeleteTextures:_glDeleteTextures,glDeleteVertexArrays:_glDeleteVertexArrays,glDeleteVertexArraysOES:_glDeleteVertexArraysOES,glDepthFunc:_glDepthFunc,glDepthMask:_glDepthMask,glDepthRange:_glDepthRange,glDepthRangef:_glDepthRangef,glDetachShader:_glDetachShader,glDisable:_glDisable,glDisableVertexAttribArray:_glDisableVertexAttribArray,glDrawArrays:_glDrawArrays,glDrawArraysInstanced:_glDrawArraysInstanced,glDrawArraysInstancedANGLE:_glDrawArraysInstancedANGLE,glDrawArraysInstancedARB:_glDrawArraysInstancedARB,glDrawArraysInstancedEXT:_glDrawArraysInstancedEXT,glDrawArraysInstancedNV:_glDrawArraysInstancedNV,glDrawBuffers:_glDrawBuffers,glDrawBuffersEXT:_glDrawBuffersEXT,glDrawBuffersWEBGL:_glDrawBuffersWEBGL,glDrawElements:_glDrawElements,glDrawElementsInstanced:_glDrawElementsInstanced,glDrawElementsInstancedANGLE:_glDrawElementsInstancedANGLE,glDrawElementsInstancedARB:_glDrawElementsInstancedARB,glDrawElementsInstancedEXT:_glDrawElementsInstancedEXT,glDrawElementsInstancedNV:_glDrawElementsInstancedNV,glEnable:_glEnable,glEnableVertexAttribArray:_glEnableVertexAttribArray,glEndQueryEXT:_glEndQueryEXT,glFinish:_glFinish,glFlush:_glFlush,glFramebufferRenderbuffer:_glFramebufferRenderbuffer,glFramebufferTexture2D:_glFramebufferTexture2D,glFrontFace:_glFrontFace,glGenBuffers:_glGenBuffers,glGenFramebuffers:_glGenFramebuffers,glGenQueriesEXT:_glGenQueriesEXT,glGenRenderbuffers:_glGenRenderbuffers,glGenTextures:_glGenTextures,glGenVertexArrays:_glGenVertexArrays,glGenVertexArraysOES:_glGenVertexArraysOES,glGenerateMipmap:_glGenerateMipmap,glGetActiveAttrib:_glGetActiveAttrib,glGetActiveUniform:_glGetActiveUniform,glGetAttachedShaders:_glGetAttachedShaders,glGetAttribLocation:_glGetAttribLocation,glGetBooleanv:_glGetBooleanv,glGetBufferParameteriv:_glGetBufferParameteriv,glGetError:_glGetError,glGetFloatv:_glGetFloatv,glGetFramebufferAttachmentParameteriv:_glGetFramebufferAttachmentParameteriv,glGetIntegerv:_glGetIntegerv,glGetProgramInfoLog:_glGetProgramInfoLog,glGetProgramiv:_glGetProgramiv,glGetQueryObjecti64vEXT:_glGetQueryObjecti64vEXT,glGetQueryObjectivEXT:_glGetQueryObjectivEXT,glGetQueryObjectui64vEXT:_glGetQueryObjectui64vEXT,glGetQueryObjectuivEXT:_glGetQueryObjectuivEXT,glGetQueryivEXT:_glGetQueryivEXT,glGetRenderbufferParameteriv:_glGetRenderbufferParameteriv,glGetShaderInfoLog:_glGetShaderInfoLog,glGetShaderPrecisionFormat:_glGetShaderPrecisionFormat,glGetShaderSource:_glGetShaderSource,glGetShaderiv:_glGetShaderiv,glGetString:_glGetString,glGetTexParameterfv:_glGetTexParameterfv,glGetTexParameteriv:_glGetTexParameteriv,glGetUniformLocation:_glGetUniformLocation,glGetUniformfv:_glGetUniformfv,glGetUniformiv:_glGetUniformiv,glGetVertexAttribPointerv:_glGetVertexAttribPointerv,glGetVertexAttribfv:_glGetVertexAttribfv,glGetVertexAttribiv:_glGetVertexAttribiv,glHint:_glHint,glIsBuffer:_glIsBuffer,glIsEnabled:_glIsEnabled,glIsFramebuffer:_glIsFramebuffer,glIsProgram:_glIsProgram,glIsQueryEXT:_glIsQueryEXT,glIsRenderbuffer:_glIsRenderbuffer,glIsShader:_glIsShader,glIsTexture:_glIsTexture,glIsVertexArray:_glIsVertexArray,glIsVertexArrayOES:_glIsVertexArrayOES,glLineWidth:_glLineWidth,glLinkProgram:_glLinkProgram,glLoadIdentity:_glLoadIdentity,glMatrixMode:_glMatrixMode,glMultiDrawArrays:_glMultiDrawArrays,glMultiDrawArraysANGLE:_glMultiDrawArraysANGLE,glMultiDrawArraysInstancedANGLE:_glMultiDrawArraysInstancedANGLE,glMultiDrawArraysInstancedWEBGL:_glMultiDrawArraysInstancedWEBGL,glMultiDrawArraysWEBGL:_glMultiDrawArraysWEBGL,glMultiDrawElements:_glMultiDrawElements,glMultiDrawElementsANGLE:_glMultiDrawElementsANGLE,glMultiDrawElementsInstancedANGLE:_glMultiDrawElementsInstancedANGLE,glMultiDrawElementsInstancedWEBGL:_glMultiDrawElementsInstancedWEBGL,glMultiDrawElementsWEBGL:_glMultiDrawElementsWEBGL,glPixelStorei:_glPixelStorei,glPolygonModeWEBGL:_glPolygonModeWEBGL,glPolygonOffset:_glPolygonOffset,glPolygonOffsetClampEXT:_glPolygonOffsetClampEXT,glQueryCounterEXT:_glQueryCounterEXT,glReadPixels:_glReadPixels,glReleaseShaderCompiler:_glReleaseShaderCompiler,glRenderbufferStorage:_glRenderbufferStorage,glSampleCoverage:_glSampleCoverage,glScissor:_glScissor,glShaderBinary:_glShaderBinary,glShaderSource:_glShaderSource,glStencilFunc:_glStencilFunc,glStencilFuncSeparate:_glStencilFuncSeparate,glStencilMask:_glStencilMask,glStencilMaskSeparate:_glStencilMaskSeparate,glStencilOp:_glStencilOp,glStencilOpSeparate:_glStencilOpSeparate,glTexImage2D:_glTexImage2D,glTexParameterf:_glTexParameterf,glTexParameterfv:_glTexParameterfv,glTexParameteri:_glTexParameteri,glTexParameteriv:_glTexParameteriv,glTexSubImage2D:_glTexSubImage2D,glUniform1f:_glUniform1f,glUniform1fv:_glUniform1fv,glUniform1i:_glUniform1i,glUniform1iv:_glUniform1iv,glUniform2f:_glUniform2f,glUniform2fv:_glUniform2fv,glUniform2i:_glUniform2i,glUniform2iv:_glUniform2iv,glUniform3f:_glUniform3f,glUniform3fv:_glUniform3fv,glUniform3i:_glUniform3i,glUniform3iv:_glUniform3iv,glUniform4f:_glUniform4f,glUniform4fv:_glUniform4fv,glUniform4i:_glUniform4i,glUniform4iv:_glUniform4iv,glUniformMatrix2fv:_glUniformMatrix2fv,glUniformMatrix3fv:_glUniformMatrix3fv,glUniformMatrix4fv:_glUniformMatrix4fv,glUseProgram:_glUseProgram,glValidateProgram:_glValidateProgram,glVertexAttrib1f:_glVertexAttrib1f,glVertexAttrib1fv:_glVertexAttrib1fv,glVertexAttrib2f:_glVertexAttrib2f,glVertexAttrib2fv:_glVertexAttrib2fv,glVertexAttrib3f:_glVertexAttrib3f,glVertexAttrib3fv:_glVertexAttrib3fv,glVertexAttrib4f:_glVertexAttrib4f,glVertexAttrib4fv:_glVertexAttrib4fv,glVertexAttribDivisor:_glVertexAttribDivisor,glVertexAttribDivisorANGLE:_glVertexAttribDivisorANGLE,glVertexAttribDivisorARB:_glVertexAttribDivisorARB,glVertexAttribDivisorEXT:_glVertexAttribDivisorEXT,glVertexAttribDivisorNV:_glVertexAttribDivisorNV,glVertexAttribPointer:_glVertexAttribPointer,glVertexPointer:_glVertexPointer,glViewport:_glViewport,glewGetErrorString:_glewGetErrorString,glewGetExtension:_glewGetExtension,glewGetString:_glewGetString,glewInit:_glewInit,glewIsSupported:_glewIsSupported,glutCreateWindow:_glutCreateWindow,glutDestroyWindow:_glutDestroyWindow,glutDisplayFunc:_glutDisplayFunc,glutFullScreen:_glutFullScreen,glutGet:_glutGet,glutGetModifiers:_glutGetModifiers,glutIdleFunc:_glutIdleFunc,glutInit:_glutInit,glutInitDisplayMode:_glutInitDisplayMode,glutInitWindowPosition:_glutInitWindowPosition,glutInitWindowSize:_glutInitWindowSize,glutKeyboardFunc:_glutKeyboardFunc,glutKeyboardUpFunc:_glutKeyboardUpFunc,glutMainLoop:_glutMainLoop,glutMotionFunc:_glutMotionFunc,glutMouseFunc:_glutMouseFunc,glutPassiveMotionFunc:_glutPassiveMotionFunc,glutPositionWindow:_glutPositionWindow,glutPostRedisplay:_glutPostRedisplay,glutReshapeFunc:_glutReshapeFunc,glutReshapeWindow:_glutReshapeWindow,glutSetCursor:_glutSetCursor,glutSpecialFunc:_glutSpecialFunc,glutSpecialUpFunc:_glutSpecialUpFunc,glutSwapBuffers:_glutSwapBuffers,glutTimerFunc:_glutTimerFunc,ipp:_ipp,ipp_async:_ipp_async,ippipppp:_ippipppp,ippipppp_async:_ippipppp_async,ippp:_ippp,ippp_async:_ippp_async,ipppi:_ipppi,ipppi_async:_ipppi_async,ipppiii:_ipppiii,ipppiii_async:_ipppiii_async,ipppiiip:_ipppiiip,ipppiiip_async:_ipppiiip_async,ipppip:_ipppip,ipppip_async:_ipppip_async,ipppj:_ipppj,ipppj_async:_ipppj_async,ipppp:_ipppp,ipppp_async:_ipppp_async,ippppi:_ippppi,ippppi_async:_ippppi_async,ippppij:_ippppij,ippppij_async:_ippppij_async,ippppip:_ippppip,ippppip_async:_ippppip_async,ipppppip:_ipppppip,ipppppip_async:_ipppppip_async,lineColor:_lineColor,lineRGBA:_lineRGBA,llvm_eh_typeid_for:_llvm_eh_typeid_for,memory:wasmMemory,pixelRGBA:_pixelRGBA,proc_exit:_proc_exit,random_get:_random_get,rectangleColor:_rectangleColor,rectangleRGBA:_rectangleRGBA,rotozoomSurface:_rotozoomSurface,setNetworkCallback:_setNetworkCallback,setprotoent:_setprotoent,stackAlloc:_stackAlloc,stackRestore:_stackRestore,stackSave:_stackSave,strptime:_strptime,strptime_l:_strptime_l,uuid_clear:_uuid_clear,uuid_compare:_uuid_compare,uuid_copy:_uuid_copy,uuid_generate:_uuid_generate,uuid_is_null:_uuid_is_null,uuid_parse:_uuid_parse,uuid_type:_uuid_type,uuid_unparse:_uuid_unparse,uuid_unparse_lower:_uuid_unparse_lower,uuid_unparse_upper:_uuid_unparse_upper,uuid_variant:_uuid_variant,vppippii:_vppippii,vppippii_async:_vppippii_async,vppp:_vppp,vppp_async:_vppp_async,vpppip:_vpppip,vpppip_async:_vpppip_async,zoomSurface:_zoomSurface};var wasmExports=await createWasm();function callMain(args=[]){var entryFunction=resolveGlobalSymbol("main").sym;if(!entryFunction)return;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args=arguments_){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve?.(Module);Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}preInit();run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc,xStep,xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{readyPromiseResolve=resolve;readyPromiseReject=reject})} return moduleRtn; diff --git a/dist/wa-sqlite-async-dynamic-main.wasm b/dist/wa-sqlite-async-dynamic-main.wasm index 1f985a7ec1dc939f5613fe9e4f7442c7dc00325e..12c63e4b9df3bdf6af6563209bc3db72c94ddf4e 100755 GIT binary patch delta 517154 zcmcFs2VfM%*Wa1FmIfrG2a;Sa^qK^LyGS`8NJJqNdpSZ11XCah&A)P?sHmvH1qKu_ z2qH=`7z-#0C@LsoP}Hc1K~WG9gCe4$d~fF6-tArj2J|~IZ{M4lH~lwn-fa2v&BJ8h zp>IfKM9`MS38oz_Byu3IdST+IaFbj7q;VF!aJz|n;XS3XWEPnDS-LsS|5~EBek@0Ztmc|+2FQgq8sOoWpP=e@Hq`kp?7jY}QNO!Y= zhmu*!uS7A){PHg45!z0c$lc0TIxynyaVGa&A`0XssVyA_K(y`wx!um&CqV#saQ zES{;`eK(T3q;WEoK-nmdP|nL!l<9`Mf`NxZKvJkoO@pDEk@TsF51dYbED2go$dxsY zkfoG_)O^%(O#7R5w2)7xznb2%Wy_#MV(ioU*6`Nhw$8TBQd?^xp~M(O`Onz8ZJ!aX zA;?POha_2}&-h4CG(q63PO zq~hpk*&xZrAkxxk?9{pQ95M`ohqUeF&aw{ckQfG6cu_Jr*49}bk-(HdS zSlK8W;U}3)RH8&ON>cJj<@vsSNU(CeZyvcq$+F*0ub8J)+h-(|LKNB1(I7)a*<_{$ zgUQU3$pOJ8v%%1c1}j%P`gI7FB}oP`&!0k5Ns@_zOa{i>(;yi@U@;j&lueG99>FHa z)kvu+#0)B-VvxjQqGm}7k>ygOK_*lRmRd=MsIuVTs9@!cqmwa2HXE*1lG8Jy?;(}| z7y%M7S_njx&5|+DCNA8u(#iY5fS9 zmNRYuX(Q)Uk^x~EO8LOFPD$a>Vc}t6wjKn!0mh+ZAu_a^ExvP-91Rus{3M%FJ21XS zk}S6l4+9y@7CxjX%-tZE1tk}VeKDO(@tM@nRvf-t{mpbS&NI9=vy0n7Lrbn5`}b$PE^RCE)*cJ`=IuQ;9x0Nxp7dh_PLAs z;IZ(IFhGSU4U!;rLKp~zW*DHdF;97Z(7-|0U3dNULQIXkpg>S%M)^PSOezJpj0l7AQ~vg+2=~1pz`q zt0>)u44^Y+D8)l;EgWV;{tae{=CyC%e(+%Bi6LX%$LZmPjz8^Lhr?j z;?t>DdC~IIffrS&2{d`?4C8_i7!nbi+P%BfJw}-@wBvXp6BxGm3xdfWWPvq>w*{GI zHU|a<2H$!sv@4(f27p8$1+jd{!?2bCS9pXzeax!}kI^gcNsF1=NfV&NYm5P()gruEx!l7u)ZVVz>Xs^e{Zp@Hap zDdoi#^BWQdwFI#YQ=AwLQcFH71Ueb{EHpy~W(iV2WMH8bku=f-BFH}wrZlvOWD-SC zUb$*GOet7$VTwa2BoT##IRGOOvH=?deljeeuqFZmgIeGL+aw8^5r(ELL#x4(D&{3G zAlJ`-O7^hUL{iF!b+kw=jU>oJ$4!g@0f3}- z6EsE8V1P%N1_TW5-aR0|G&l(Ua3&xi@UDClapVUC+|c8OfB=|afCaE>l2$~5h0|b% z#gsx+^%r=TxPsgOuL8^#8W~^#>j9de>&+HRK-ZhExtj)9ET%}4``TIj0t#jchy+al z<`6~1h`e@|C4};&Ihg-v2?-XzK>jx{1WMVIyj81UYJqlEDXb6BUA%h)g+II$L~eC8 z>CJIkSu;HHT7C_d42MxZI3pwFRz~1VbduED4b#aC1`f1pz@*-QJbWRP0)m5~_l+R| zrVuDTtX>uvB_@+8z!IRGAD$#~H9}Tw^P4F#tsz&iCm>rseMn0{1%q<)HJv(zzz<-O zAeBNa6jT7PLLn?cK_-~7;u6NjrfbF~!8ig`h1C{Xm9OJw5iUf82EzhR6zjD%fZ&X4 zJH=2ltSv?hCot%YX3z`EIgB4=&b2-I@U??d$Q-g(|K~;Vl*A+S61Wiml%v9{>Me0TqpMkjslhn|y z8_W@CSR%!=Cx%{zR5=ig6j|9kBHSvbhY@PYdyX5NCb%$2Mvhow1}Wc;Nb4fQaDizC z77dJAKJfr4#7YPgi}w@VKvV4lGO50sB# z3Xyn3W%bA_J2_y{0aLMkd$@r4OJWBNN*ELeb4!jL1asX?W98Uk#!g|wlz^;3p#U<_ z%m6{W;xZIkxjn02KUnklM1Zz2#sYwdA1uN~*#vO{AR-hWB3Sqkg^GYBDK5;Q2Qc8X ztRY~ba)7)-v5o3RLX{Dty0#BCi$yC?g0)Pdfsw&5Ew~-Ue*#sg$w)(#s!@?i!Os%1 zp4^aY?{Rg=1`|G zQD7zqT42hxwVK5LCWr-XMo8dBvWY~&_=jIqZ%D;kQH1g~s=!D+AD~QP*6(yP4wzWbgprePwaLXN@zZ6V;OK&KP6bS!8H-XYy?l6Uz zKmy1PXdeXj8Po~-od1CeS|WQ!!Tux&A<^6xdJwuAkPoJTxfSSut6&P23H%^{6SoEG z2w)Qu&?=x+NJsqJv7^ZZ6VVjJQv_QiGfZ$kR$#1w)c`*z5OC1;0fCVwu-#z_OXiM* zT3UtB;K+`xI@$*g96j1B%g+&Lv*FNHbnI9d&b+N!jcGL|vS%dho?zCS+`<%qeG=CU z0AXxtY#C(wC4G;@O`K8?{Mm6LhLfX&|6Te}94FPU2-!K-hI92_x8>xxh_U-KAzQaz zMBGs;g7%`Y;g}E#wc=0hXKoRDIjUW`G?ptm_O*yswN!-t!Gv%Zs@PE#%A*`vEy8M% zRR0vug;k3aIN5^f<{uVOs_z#i*oFnEKPptO!vu9F;@u*{6C!=ZGng+1)}yci$m*9^)W%#eJ9BL?*-Y7EmMnR2R1@2lHEw^kZi$5*nwm>l3GFB&a;@l z0;ThjR3fQEQjcVLwJ6hRB#WLG+^)@n96_$?Ey2|zsn{gAI&A!N*vz~42;qWv1##CR zUG$z{w|peX*$)M&#q{ft?D#|o=YK264`Q^R5Pz$eiQd_OeYFVtYKI8gDgGWgAR^Qw zIfkT~k9KJBy`PIfk8}YJ+e(~uRcpj>Z+H?34*sfLf~&0-q#C1C9*E}MS9?~F>Q!Qb zHmnw8!^fh?l}PG02w~+$PTbD=rv+R8j3A3vh^Xg~922E)SS4h2s|DG$Mvw(Z#2~20 zv9J`milah!8o4^;YH=tne;Sh`nYT`G8{9~D;M80GtdJf}w*d;dMcdY!{^dZ9#UtBgoR-f;8-Q3tET0zkILY>XEE@UvRZM1Ua}< zkYgyU-Y2*NI8LgO?EXLq=hX_b1IalgTlNd#X(aV;V9Z@{0)Lib*|s5RK;6qx+XIJ1 zzbyDvq&SFU@CD>5v4PGZIgK;7;&Tym0g|ex#o($uDYVpnBf{n%5##_TFlK(lk&2+Q z1<3+Tx5$H~IKbDf70Mc(6l5NPZ^Ki_@i57`Xr6%+u_Ro89OT0v!US z_zDC?aS38_T!KD-oR5FWIghVPlJkY9gmgEDDak273(_OE28me6APf`S zyH+GPgJg?G%l9IAH8%cSj&71utbCI51V&ko!qc3C!1)~PB}F5)gZSHvkxdtQ~_zDjhagc@nL9$y2-A)0v&_NhS7y~fX zxVZzJ&XENMGLrhuqM)ad6YHSleBgN@+`?By$aj^f#H%Qr_niqrIVcZza*3{M@}q%lJfv^=a77WQ3M`KPGL#G zuzE@)uST-?WuZl2wS-m{45X*{`U8!Dao)l>0>~xjugD2o75adiNl-K-ReUjoPDf7I zs4%%ucp8-n3l4JHBJy2_WCN0FBrj}<5%X^gvfGgCK(Y(TZX|n=)FL^6qz=hJB=ty+ zAUTHQ1d;|Mr;(gRa*h+IMa5Q8#Cb^OBUyl?(!+6!0@?|O-XauMBOtFuZX0sDkP`-p z=R&a;&48Qw{n6Om6 zBly$bEwx>}16JTf_G-lJgIgiX9E;M&XLx zB15s;fwtt^9Lc#8g<{hKrbvwt9zo#?9uCR;JtBDna#b&gn9rhc1Lr{7L6q)A=`rM% zz9^#pgu*q*9YFHvyFzI_a+{E=cu6FvMpBEyZOENK@*@h*BDd~k%>IG*gtiwr3w?-W zJqjC;tJ)&M_M&hDatD!|MBy>ymTna>EB6YWYmhsD&^ zps)_P`L7D4%ib4C7a_L|xhmv7L~a9eCz0EN+?;(P-7e%-B3Fx?`*~y=kllscIphu@ zH-DSR{w#8fkbCF@p|lFQCz0EL+;-%|9tm*HlN`yG*Mzcz7^TjQY*nq$)_~kg$ccRv zEN8Ea6d$0l4mo8%CO~e@b`j+n6z)RqN8}D7H}^x4KpkZwV?9^;4| z7tA=mhX|}Z?+WR>&qY+>9s#^T;nOG-z7klR_-n;XyY_g_i)94(=Y1ocGm>^ulKV zCLao)N1^Z_z~taA2g!K|g~CYy0}6%0D*=T;Zo@|+X2mhoiQG9PD~{p(dj$hOLQ?;+ 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%0A$h4+)Sn0^89?ZCwU{y}0_EvL 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 D5Lo%F8qkhQCGnVjeO7Hs?sijf;dwO) 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

h(XxT=i$bv(>I3zp<@}nR1{4{HdYzXl|m)>S| z8wU%dQ{*n)Lsg55nv>#6FHN+XibNc8g!7{qTCfa$8>N@(rLhKx1L@Rs*-f<%4s)*113shsvb0r$4RZvE{TT_kyA;wu}fyW)_(0t)X+UaAt^l~9sG6?^n#fDTvh z(O<-$$h~@7jtgnOSAV#bn~z!4Wt_toR)M3dIL-|sArzP#%3pyPbrg-{-O9U&&)TcE zZqMJ8iy(Q9kptbuJikic+H#aMOSr>kh!1N(Ges<~Qm zKwU%P4y0VBMf(sNQi{En^lqfwjH7tw4ams}!U5)}EUz-C^&uE05c}61(wpOqf+r5? zpT%=YQ0gr`{+^%o@puyVvmTV+H)!S02vorbM}F3Qy+iuH`D(tSQEX8|30R~dn!rsS zpv1~c*vX|q&ka3~g8K;Af#ZZgyMe#xGi2~B?XX@b+7^gLFJYmyr$xu~v2^G#%>MWY z`dG_+km`>hX=vO`cN3a@MAsYxvAx2|{U^AP2g2w1h`vQ$ZO~W0>P0C+_Y`4mb>=~^ zI5*4)=KrSWNb*NUu>7bVEnO&dR3%;#jE-^+?n{ z;&=Uh9_^Q{unQ!xKbFhBwMwL8F3wDY$QlutgWU$H+7Ko7% zcG$g9Mu0mSj53w)kt3O%^gWt>C96ytmxoFpm?t}3=FTp^D|+Vu?MH8}p`k%b%xXC-mt zS~L7{t5pR`x=Z@jEaXF1sMU3d&(L7Ifp8<(XTybSxd4*Wv!4yCG9@BByqzkX|Gule5RqO?*CP)qBIo|n$Y>RHFkT$XRlw~ZNMrz81Bb9v!%D)tyx za|R6LS8&lpk8yk4zL{Bp$3zYc=M<{_EIysK4$tjL!@Pzn|6=foOPRs{KpMbbhd^uiv-uOzHz=ad'MSS=)KHO0tJ}fUZ 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

cztQ*$@ftrRI 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 hPVqQTnqO_mA~WBli_@+v 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 DRF_P{ diff --git a/dist/wa-sqlite-async.mjs b/dist/wa-sqlite-async.mjs index 4135a59c..206a9263 100644 --- a/dist/wa-sqlite-async.mjs +++ b/dist/wa-sqlite-async.mjs @@ -4,7 +4,7 @@ var Module = (() => { async function(moduleArg = {}) { var moduleRtn; -var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&process.versions?.node&&process.type!="renderer";var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{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=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["qa"]();FS.ignorePermissions=false}function preMain(){}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("wa-sqlite-async.wasm")}return new URL("wa-sqlite-async.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{a:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmMemory=wasmExports["pa"];updateMemoryViews();wasmTable=wasmExports["pf"];removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})})}wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}catch(e){readyPromiseReject(e);return Promise.reject(e)}}var tempDouble;var tempI64;class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=new TextDecoder;var UTF8ToString=(ptr,maxBytesToRead)=>{if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))};var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);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.slice(-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.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>view=>crypto.getRandomValues(view);var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heapOrArray.buffer?heapOrArray.subarray(idx,endPtr):new Uint8Array(heapOrArray.slice(idx,endPtr)))};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,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.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};asyncLoad.isAsync=true;var FS_createDataFile=(...args)=>FS.createDataFile(...args);var preloadPlugins=[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}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|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,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){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}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)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){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);old_node.parent=new_dir}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;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return 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 link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){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)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},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}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,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,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){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},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)}if(!length){throw new FS.ErrnoError(28)}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)},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)}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,llseek:()=>0});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){randomFill(randomBuffer);randomLeft=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",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},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){if(e.errno!=20)throw 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;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},writeStatFs(buf,stats){HEAP32[buf+4>>2]=stats.bsize;HEAP32[buf+40>>2]=stats.bsize;HEAP32[buf+8>>2]=stats.blocks;HEAP32[buf+12>>2]=stats.bfree;HEAP32[buf+16>>2]=stats.bavail;HEAP32[buf+20>>2]=stats.files;HEAP32[buf+24>>2]=stats.ffree;HEAP32[buf+28>>2]=stats.fsid;HEAP32[buf+44>>2]=stats.flags;HEAP32[buf+36>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);var now=Date.now(),atime,mtime;if(!times){atime=now;mtime=now}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){atime=now}else if(nanoseconds==1073741822){atime=null}else{atime=seconds*1e3+nanoseconds/(1e3*1e3)}times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){mtime=now}else if(nanoseconds==1073741822){mtime=null}else{mtime=seconds*1e3+nanoseconds/(1e3*1e3)}}if((mtime??atime)!==null){FS.utime(path,atime,mtime)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("");var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var timers={};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var _emscripten_get_now=()=>performance.now();var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetDate.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}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,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var _fd_sync=function(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return Asyncify.handleSleep(wakeUp=>{var mount=stream.node.mount;if(!mount.type.syncfs){wakeUp(0);return}mount.type.syncfs(mount,false,err=>{wakeUp(err?29:0)})})}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}};_fd_sync.isAsync=true;var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}function _ipp_async(...args){return adapters_support(true,...args)}_ipp_async.isAsync=true;function _ippipppp(...args){return adapters_support(false,...args)}function _ippipppp_async(...args){return adapters_support(true,...args)}_ippipppp_async.isAsync=true;function _ippp(...args){return adapters_support(false,...args)}function _ippp_async(...args){return adapters_support(true,...args)}_ippp_async.isAsync=true;function _ipppi(...args){return adapters_support(false,...args)}function _ipppi_async(...args){return adapters_support(true,...args)}_ipppi_async.isAsync=true;function _ipppiii(...args){return adapters_support(false,...args)}function _ipppiii_async(...args){return adapters_support(true,...args)}_ipppiii_async.isAsync=true;function _ipppiiip(...args){return adapters_support(false,...args)}function _ipppiiip_async(...args){return adapters_support(true,...args)}_ipppiiip_async.isAsync=true;function _ipppip(...args){return adapters_support(false,...args)}function _ipppip_async(...args){return adapters_support(true,...args)}_ipppip_async.isAsync=true;function _ipppj(...args){return adapters_support(false,...args)}function _ipppj_async(...args){return adapters_support(true,...args)}_ipppj_async.isAsync=true;function _ipppp(...args){return adapters_support(false,...args)}function _ipppp_async(...args){return adapters_support(true,...args)}_ipppp_async.isAsync=true;function _ippppi(...args){return adapters_support(false,...args)}function _ippppi_async(...args){return adapters_support(true,...args)}_ippppi_async.isAsync=true;function _ippppij(...args){return adapters_support(false,...args)}function _ippppij_async(...args){return adapters_support(true,...args)}_ippppij_async.isAsync=true;function _ippppip(...args){return adapters_support(false,...args)}function _ippppip_async(...args){return adapters_support(true,...args)}_ippppip_async.isAsync=true;function _ipppppip(...args){return adapters_support(false,...args)}function _ipppppip_async(...args){return adapters_support(true,...args)}_ipppppip_async.isAsync=true;function _vppippii(...args){return adapters_support(false,...args)}function _vppippii_async(...args){return adapters_support(true,...args)}_vppippii_async.isAsync=true;function _vppp(...args){return adapters_support(false,...args)}function _vppp_async(...args){return adapters_support(true,...args)}_vppp_async.isAsync=true;function _vpppip(...args){return adapters_support(false,...args)}function _vpppip_async(...args){return adapters_support(true,...args)}_vpppip_async.isAsync=true;var runAndAbortIfError=func=>{try{return func()}catch(e){abort(e)}};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{runtimeKeepaliveCounter+=1};var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};var Asyncify={instrumentWasmImports(imports){var importPattern=/^(ipp|ipp_async|ippp|ippp_async|vppp|vppp_async|ipppj|ipppj_async|ipppi|ipppi_async|ipppp|ipppp_async|ipppip|ipppip_async|vpppip|vpppip_async|ippppi|ippppi_async|ippppij|ippppij_async|ipppiii|ipppiii_async|ippppip|ippppip_async|ippipppp|ippipppp_async|ipppppip|ipppppip_async|ipppiiip|ipppiiip_async|vppippii|vppippii_async|invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original=="function"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){ret[x]=(...args)=>{Asyncify.exportCallStack.push(x);try{return original(...args)}finally{if(!ABORT){var y=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}}}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:16384,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(funcName){var id=Asyncify.callStackNameToId[funcName];if(id===undefined){id=Asyncify.callStackId++;Asyncify.callStackNameToId[funcName]=id;Asyncify.callStackIdToName[id]=funcName}return id},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!="undefined"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve,reject}})},allocateData(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){HEAPU32[ptr>>2]=stack;HEAPU32[ptr+4>>2]=stack+stackSize},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);HEAP32[ptr+8>>2]=rewindId},getDataRewindFuncName(ptr){var id=HEAP32[ptr+8>>2];var name=Asyncify.callStackIdToName[id];return name},getDataRewindFunc(name){var func=wasmExports[name];return func},doRewind(ptr){var name=Asyncify.getDataRewindFuncName(ptr);var func=Asyncify.getDataRewindFunc(name);return func()},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync:startAsync=>Asyncify.handleSleep(wakeUp=>{startAsync().then(wakeUp)})};var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var generateFuncType=(sig,target)=>{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var paramType of sigParam){target.push(typeCodes[paramType])}if(sigRet=="v"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTable;var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>wasmTable.set(idx,func);var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=new TextDecoder("utf-16le");var UTF16ToString=(ptr,maxBytesToRead)=>{var idx=ptr>>1;var maxIdx=idx+maxBytesToRead/2;var endIdx=idx;while(!(endIdx>=maxIdx)&&HEAPU16[endIdx])++endIdx;return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx))};var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var intArrayToString=array=>{var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")};var _getTempRet0=getTempRet0;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";adapters_support();{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"]}Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;Module["_getTempRet0"]=_getTempRet0;var wasmImports={a:___assert_fail,aa:___syscall_chmod,da:___syscall_faccessat,ba:___syscall_fchmod,$:___syscall_fchown32,b:___syscall_fcntl64,_:___syscall_fstat64,y:___syscall_ftruncate64,U:___syscall_getcwd,Y:___syscall_lstat64,R:___syscall_mkdirat,X:___syscall_newfstatat,P:___syscall_openat,N:___syscall_readlinkat,M:___syscall_rmdir,Z:___syscall_stat64,K:___syscall_unlinkat,J:___syscall_utimensat,F:__abort_js,E:__emscripten_runtime_keepalive_clear,w:__localtime_js,u:__mmap_js,v:__munmap_js,G:__setitimer_js,Q:__tzset_js,n:_emscripten_date_now,g:_emscripten_get_now,H:_emscripten_resize_heap,S:_environ_get,T:_environ_sizes_get,o:_fd_close,I:_fd_fdstat_get,O:_fd_read,x:_fd_seek,V:_fd_sync,L:_fd_write,s:_ipp,t:_ipp_async,ka:_ippipppp,oa:_ippipppp_async,j:_ippp,k:_ippp_async,c:_ipppi,d:_ipppi_async,ga:_ipppiii,ha:_ipppiii_async,ia:_ipppiiip,ja:_ipppiiip_async,h:_ipppip,i:_ipppip_async,z:_ipppj,A:_ipppj_async,e:_ipppp,f:_ipppp_async,ea:_ippppi,fa:_ippppi_async,B:_ippppij,C:_ippppij_async,p:_ippppip,q:_ippppip_async,la:_ipppppip,ma:_ipppppip_async,D:_proc_exit,na:_vppippii,r:_vppippii_async,l:_vppp,m:_vppp_async,W:_vpppip,ca:_vpppip_async};var wasmExports=await createWasm();var ___wasm_call_ctors=wasmExports["qa"];var _powersync_init_static=Module["_powersync_init_static"]=wasmExports["ra"];var _sqlite3_status64=Module["_sqlite3_status64"]=wasmExports["sa"];var _sqlite3_status=Module["_sqlite3_status"]=wasmExports["ta"];var _sqlite3_db_status=Module["_sqlite3_db_status"]=wasmExports["ua"];var _sqlite3_msize=Module["_sqlite3_msize"]=wasmExports["va"];var _sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=wasmExports["wa"];var _sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=wasmExports["xa"];var _sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=wasmExports["ya"];var _sqlite3_release_memory=Module["_sqlite3_release_memory"]=wasmExports["za"];var _sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=wasmExports["Aa"];var _sqlite3_memory_used=Module["_sqlite3_memory_used"]=wasmExports["Ba"];var _sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=wasmExports["Ca"];var _sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=wasmExports["Da"];var _sqlite3_malloc=Module["_sqlite3_malloc"]=wasmExports["Ea"];var _sqlite3_malloc64=Module["_sqlite3_malloc64"]=wasmExports["Fa"];var _sqlite3_free=Module["_sqlite3_free"]=wasmExports["Ga"];var _sqlite3_realloc=Module["_sqlite3_realloc"]=wasmExports["Ha"];var _sqlite3_realloc64=Module["_sqlite3_realloc64"]=wasmExports["Ia"];var _sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=wasmExports["Ja"];var _sqlite3_str_append=Module["_sqlite3_str_append"]=wasmExports["Ka"];var _sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=wasmExports["La"];var _sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=wasmExports["Ma"];var _sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=wasmExports["Na"];var _sqlite3_str_finish=Module["_sqlite3_str_finish"]=wasmExports["Oa"];var _sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=wasmExports["Pa"];var _sqlite3_str_length=Module["_sqlite3_str_length"]=wasmExports["Qa"];var _sqlite3_str_value=Module["_sqlite3_str_value"]=wasmExports["Ra"];var _sqlite3_str_reset=Module["_sqlite3_str_reset"]=wasmExports["Sa"];var _sqlite3_str_new=Module["_sqlite3_str_new"]=wasmExports["Ta"];var _sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=wasmExports["Ua"];var _sqlite3_mprintf=Module["_sqlite3_mprintf"]=wasmExports["Va"];var _sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=wasmExports["Wa"];var _sqlite3_snprintf=Module["_sqlite3_snprintf"]=wasmExports["Xa"];var _sqlite3_log=Module["_sqlite3_log"]=wasmExports["Ya"];var _sqlite3_randomness=Module["_sqlite3_randomness"]=wasmExports["Za"];var _sqlite3_stricmp=Module["_sqlite3_stricmp"]=wasmExports["_a"];var _sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=wasmExports["$a"];var _sqlite3_os_init=Module["_sqlite3_os_init"]=wasmExports["ab"];var _sqlite3_os_end=Module["_sqlite3_os_end"]=wasmExports["bb"];var _sqlite3_serialize=Module["_sqlite3_serialize"]=wasmExports["cb"];var _sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=wasmExports["db"];var _sqlite3_step=Module["_sqlite3_step"]=wasmExports["eb"];var _sqlite3_column_int64=Module["_sqlite3_column_int64"]=wasmExports["fb"];var _sqlite3_reset=Module["_sqlite3_reset"]=wasmExports["gb"];var _sqlite3_exec=Module["_sqlite3_exec"]=wasmExports["hb"];var _sqlite3_column_int=Module["_sqlite3_column_int"]=wasmExports["ib"];var _sqlite3_finalize=Module["_sqlite3_finalize"]=wasmExports["jb"];var _sqlite3_deserialize=Module["_sqlite3_deserialize"]=wasmExports["kb"];var _sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=wasmExports["lb"];var _sqlite3_backup_init=Module["_sqlite3_backup_init"]=wasmExports["mb"];var _sqlite3_backup_step=Module["_sqlite3_backup_step"]=wasmExports["nb"];var _sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=wasmExports["ob"];var _sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=wasmExports["pb"];var _sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=wasmExports["qb"];var _sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=wasmExports["rb"];var _sqlite3_value_blob=Module["_sqlite3_value_blob"]=wasmExports["sb"];var _sqlite3_value_text=Module["_sqlite3_value_text"]=wasmExports["tb"];var _sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=wasmExports["ub"];var _sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=wasmExports["vb"];var _sqlite3_value_double=Module["_sqlite3_value_double"]=wasmExports["wb"];var _sqlite3_value_int=Module["_sqlite3_value_int"]=wasmExports["xb"];var _sqlite3_value_int64=Module["_sqlite3_value_int64"]=wasmExports["yb"];var _sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=wasmExports["zb"];var _sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=wasmExports["Ab"];var _sqlite3_value_text16=Module["_sqlite3_value_text16"]=wasmExports["Bb"];var _sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=wasmExports["Cb"];var _sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=wasmExports["Db"];var _sqlite3_value_type=Module["_sqlite3_value_type"]=wasmExports["Eb"];var _sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=wasmExports["Fb"];var _sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=wasmExports["Gb"];var _sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=wasmExports["Hb"];var _sqlite3_value_dup=Module["_sqlite3_value_dup"]=wasmExports["Ib"];var _sqlite3_value_free=Module["_sqlite3_value_free"]=wasmExports["Jb"];var _sqlite3_result_blob=Module["_sqlite3_result_blob"]=wasmExports["Kb"];var _sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=wasmExports["Lb"];var _sqlite3_result_double=Module["_sqlite3_result_double"]=wasmExports["Mb"];var _sqlite3_result_error=Module["_sqlite3_result_error"]=wasmExports["Nb"];var _sqlite3_result_error16=Module["_sqlite3_result_error16"]=wasmExports["Ob"];var _sqlite3_result_int=Module["_sqlite3_result_int"]=wasmExports["Pb"];var _sqlite3_result_int64=Module["_sqlite3_result_int64"]=wasmExports["Qb"];var _sqlite3_result_null=Module["_sqlite3_result_null"]=wasmExports["Rb"];var _sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=wasmExports["Sb"];var _sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=wasmExports["Tb"];var _sqlite3_result_text=Module["_sqlite3_result_text"]=wasmExports["Ub"];var _sqlite3_result_text64=Module["_sqlite3_result_text64"]=wasmExports["Vb"];var _sqlite3_result_text16=Module["_sqlite3_result_text16"]=wasmExports["Wb"];var _sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=wasmExports["Xb"];var _sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=wasmExports["Yb"];var _sqlite3_result_value=Module["_sqlite3_result_value"]=wasmExports["Zb"];var _sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=wasmExports["_b"];var _sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=wasmExports["$b"];var _sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=wasmExports["ac"];var _sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=wasmExports["bc"];var _sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=wasmExports["cc"];var _sqlite3_user_data=Module["_sqlite3_user_data"]=wasmExports["dc"];var _sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=wasmExports["ec"];var _sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=wasmExports["fc"];var _sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=wasmExports["gc"];var _sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=wasmExports["hc"];var _sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=wasmExports["ic"];var _sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=wasmExports["jc"];var _sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=wasmExports["kc"];var _sqlite3_column_count=Module["_sqlite3_column_count"]=wasmExports["lc"];var _sqlite3_data_count=Module["_sqlite3_data_count"]=wasmExports["mc"];var _sqlite3_column_blob=Module["_sqlite3_column_blob"]=wasmExports["nc"];var _sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=wasmExports["oc"];var _sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=wasmExports["pc"];var _sqlite3_column_double=Module["_sqlite3_column_double"]=wasmExports["qc"];var _sqlite3_column_text=Module["_sqlite3_column_text"]=wasmExports["rc"];var _sqlite3_column_value=Module["_sqlite3_column_value"]=wasmExports["sc"];var _sqlite3_column_text16=Module["_sqlite3_column_text16"]=wasmExports["tc"];var _sqlite3_column_type=Module["_sqlite3_column_type"]=wasmExports["uc"];var _sqlite3_column_name=Module["_sqlite3_column_name"]=wasmExports["vc"];var _sqlite3_column_name16=Module["_sqlite3_column_name16"]=wasmExports["wc"];var _sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=wasmExports["xc"];var _sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=wasmExports["yc"];var _sqlite3_bind_double=Module["_sqlite3_bind_double"]=wasmExports["zc"];var _sqlite3_bind_int=Module["_sqlite3_bind_int"]=wasmExports["Ac"];var _sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=wasmExports["Bc"];var _sqlite3_bind_null=Module["_sqlite3_bind_null"]=wasmExports["Cc"];var _sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=wasmExports["Dc"];var _sqlite3_bind_text=Module["_sqlite3_bind_text"]=wasmExports["Ec"];var _sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=wasmExports["Fc"];var _sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=wasmExports["Gc"];var _sqlite3_bind_value=Module["_sqlite3_bind_value"]=wasmExports["Hc"];var _sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=wasmExports["Ic"];var _sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=wasmExports["Jc"];var _sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=wasmExports["Kc"];var _sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=wasmExports["Lc"];var _sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=wasmExports["Mc"];var _sqlite3_db_handle=Module["_sqlite3_db_handle"]=wasmExports["Nc"];var _sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=wasmExports["Oc"];var _sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=wasmExports["Pc"];var _sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=wasmExports["Qc"];var _sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=wasmExports["Rc"];var _sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=wasmExports["Sc"];var _sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=wasmExports["Tc"];var _sqlite3_sql=Module["_sqlite3_sql"]=wasmExports["Uc"];var _sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=wasmExports["Vc"];var _sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=wasmExports["Wc"];var _sqlite3_blob_open=Module["_sqlite3_blob_open"]=wasmExports["Xc"];var _sqlite3_blob_close=Module["_sqlite3_blob_close"]=wasmExports["Yc"];var _sqlite3_blob_read=Module["_sqlite3_blob_read"]=wasmExports["Zc"];var _sqlite3_blob_write=Module["_sqlite3_blob_write"]=wasmExports["_c"];var _sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=wasmExports["$c"];var _sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=wasmExports["ad"];var _sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=wasmExports["bd"];var _sqlite3_strglob=Module["_sqlite3_strglob"]=wasmExports["cd"];var _sqlite3_strlike=Module["_sqlite3_strlike"]=wasmExports["dd"];var _sqlite3_errmsg=Module["_sqlite3_errmsg"]=wasmExports["ed"];var _sqlite3_load_extension=Module["_sqlite3_load_extension"]=wasmExports["fd"];var _sqlite3_enable_load_extension=Module["_sqlite3_enable_load_extension"]=wasmExports["gd"];var _sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=wasmExports["hd"];var _sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=wasmExports["id"];var _sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=wasmExports["jd"];var _sqlite3_prepare=Module["_sqlite3_prepare"]=wasmExports["kd"];var _sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=wasmExports["ld"];var _sqlite3_prepare16=Module["_sqlite3_prepare16"]=wasmExports["md"];var _sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=wasmExports["nd"];var _sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=wasmExports["od"];var _sqlite3_get_table=Module["_sqlite3_get_table"]=wasmExports["pd"];var _sqlite3_free_table=Module["_sqlite3_free_table"]=wasmExports["qd"];var _sqlite3_create_module=Module["_sqlite3_create_module"]=wasmExports["rd"];var _sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=wasmExports["sd"];var _sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=wasmExports["td"];var _sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=wasmExports["ud"];var _sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=wasmExports["vd"];var _sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=wasmExports["wd"];var _sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=wasmExports["xd"];var _sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=wasmExports["yd"];var _sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=wasmExports["zd"];var _sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=wasmExports["Ad"];var _sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=wasmExports["Bd"];var _sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=wasmExports["Cd"];var _sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=wasmExports["Dd"];var _sqlite3_complete=Module["_sqlite3_complete"]=wasmExports["Ed"];var _sqlite3_complete16=Module["_sqlite3_complete16"]=wasmExports["Fd"];var _sqlite3_libversion=Module["_sqlite3_libversion"]=wasmExports["Gd"];var _sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=wasmExports["Hd"];var _sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=wasmExports["Id"];var _sqlite3_initialize=Module["_sqlite3_initialize"]=wasmExports["Jd"];var _sqlite3_shutdown=Module["_sqlite3_shutdown"]=wasmExports["Kd"];var _sqlite3_config=Module["_sqlite3_config"]=wasmExports["Ld"];var _sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=wasmExports["Md"];var _sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=wasmExports["Nd"];var _sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=wasmExports["Od"];var _sqlite3_db_config=Module["_sqlite3_db_config"]=wasmExports["Pd"];var _sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=wasmExports["Qd"];var _sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=wasmExports["Rd"];var _sqlite3_changes64=Module["_sqlite3_changes64"]=wasmExports["Sd"];var _sqlite3_changes=Module["_sqlite3_changes"]=wasmExports["Td"];var _sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=wasmExports["Ud"];var _sqlite3_total_changes=Module["_sqlite3_total_changes"]=wasmExports["Vd"];var _sqlite3_txn_state=Module["_sqlite3_txn_state"]=wasmExports["Wd"];var _sqlite3_close=Module["_sqlite3_close"]=wasmExports["Xd"];var _sqlite3_close_v2=Module["_sqlite3_close_v2"]=wasmExports["Yd"];var _sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=wasmExports["Zd"];var _sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=wasmExports["_d"];var _sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=wasmExports["$d"];var _sqlite3_interrupt=Module["_sqlite3_interrupt"]=wasmExports["ae"];var _sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=wasmExports["be"];var _sqlite3_create_function=Module["_sqlite3_create_function"]=wasmExports["ce"];var _sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=wasmExports["de"];var _sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=wasmExports["ee"];var _sqlite3_create_function16=Module["_sqlite3_create_function16"]=wasmExports["fe"];var _sqlite3_overload_function=Module["_sqlite3_overload_function"]=wasmExports["ge"];var _sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=wasmExports["he"];var _sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=wasmExports["ie"];var _sqlite3_update_hook=Module["_sqlite3_update_hook"]=wasmExports["je"];var _sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=wasmExports["ke"];var _sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=wasmExports["le"];var _sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=wasmExports["me"];var _sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=wasmExports["ne"];var _sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=wasmExports["oe"];var _sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=wasmExports["pe"];var _sqlite3_error_offset=Module["_sqlite3_error_offset"]=wasmExports["qe"];var _sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=wasmExports["re"];var _sqlite3_errcode=Module["_sqlite3_errcode"]=wasmExports["se"];var _sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=wasmExports["te"];var _sqlite3_system_errno=Module["_sqlite3_system_errno"]=wasmExports["ue"];var _sqlite3_errstr=Module["_sqlite3_errstr"]=wasmExports["ve"];var _sqlite3_limit=Module["_sqlite3_limit"]=wasmExports["we"];var _sqlite3_open=Module["_sqlite3_open"]=wasmExports["xe"];var _sqlite3_open_v2=Module["_sqlite3_open_v2"]=wasmExports["ye"];var _sqlite3_open16=Module["_sqlite3_open16"]=wasmExports["ze"];var _sqlite3_create_collation=Module["_sqlite3_create_collation"]=wasmExports["Ae"];var _sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=wasmExports["Be"];var _sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=wasmExports["Ce"];var _sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=wasmExports["De"];var _sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=wasmExports["Ee"];var _sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=wasmExports["Fe"];var _sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=wasmExports["Ge"];var _sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=wasmExports["He"];var _sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=wasmExports["Ie"];var _sqlite3_sleep=Module["_sqlite3_sleep"]=wasmExports["Je"];var _sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=wasmExports["Ke"];var _sqlite3_file_control=Module["_sqlite3_file_control"]=wasmExports["Le"];var _sqlite3_test_control=Module["_sqlite3_test_control"]=wasmExports["Me"];var _sqlite3_create_filename=Module["_sqlite3_create_filename"]=wasmExports["Ne"];var _sqlite3_free_filename=Module["_sqlite3_free_filename"]=wasmExports["Oe"];var _sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=wasmExports["Pe"];var _sqlite3_uri_key=Module["_sqlite3_uri_key"]=wasmExports["Qe"];var _sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=wasmExports["Re"];var _sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=wasmExports["Se"];var _sqlite3_filename_database=Module["_sqlite3_filename_database"]=wasmExports["Te"];var _sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=wasmExports["Ue"];var _sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=wasmExports["Ve"];var _sqlite3_db_name=Module["_sqlite3_db_name"]=wasmExports["We"];var _sqlite3_db_filename=Module["_sqlite3_db_filename"]=wasmExports["Xe"];var _sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=wasmExports["Ye"];var _sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=wasmExports["Ze"];var _sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=wasmExports["_e"];var _sqlite3_sourceid=Module["_sqlite3_sourceid"]=wasmExports["$e"];var _memcmp=Module["_memcmp"]=wasmExports["af"];var _malloc=Module["_malloc"]=wasmExports["bf"];var _free=Module["_free"]=wasmExports["cf"];var _RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=wasmExports["df"];var _getSqliteFree=Module["_getSqliteFree"]=wasmExports["ef"];var _main=Module["_main"]=wasmExports["ff"];var _libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=wasmExports["gf"];var _libfunction_create_function=Module["_libfunction_create_function"]=wasmExports["hf"];var _libhook_commit_hook=Module["_libhook_commit_hook"]=wasmExports["jf"];var _libhook_update_hook=Module["_libhook_update_hook"]=wasmExports["kf"];var _libprogress_progress_handler=Module["_libprogress_progress_handler"]=wasmExports["lf"];var _libvfs_vfs_register=Module["_libvfs_vfs_register"]=wasmExports["mf"];var _memcpy=Module["_memcpy"]=wasmExports["nf"];var _memset=Module["_memset"]=wasmExports["of"];var _emscripten_builtin_memalign=wasmExports["qf"];var __emscripten_timeout=wasmExports["rf"];var __emscripten_tempret_get=wasmExports["sf"];var __emscripten_stack_restore=wasmExports["tf"];var __emscripten_stack_alloc=wasmExports["uf"];var _emscripten_stack_get_current=wasmExports["vf"];var dynCall_iii=Module["dynCall_iii"]=wasmExports["dynCall_iii"];var dynCall_vii=Module["dynCall_vii"]=wasmExports["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=wasmExports["dynCall_viii"];var dynCall_vi=Module["dynCall_vi"]=wasmExports["dynCall_vi"];var dynCall_iiii=Module["dynCall_iiii"]=wasmExports["dynCall_iiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=wasmExports["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=wasmExports["dynCall_ii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=wasmExports["dynCall_iiiiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=wasmExports["dynCall_iiiii"];var dynCall_viiii=Module["dynCall_viiii"]=wasmExports["dynCall_viiii"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=wasmExports["dynCall_iiiiiiiii"];var dynCall_vijii=Module["dynCall_vijii"]=wasmExports["dynCall_vijii"];var dynCall_viiiii=Module["dynCall_viiiii"]=wasmExports["dynCall_viiiii"];var dynCall_iiiij=Module["dynCall_iiiij"]=wasmExports["dynCall_iiiij"];var dynCall_viji=Module["dynCall_viji"]=wasmExports["dynCall_viji"];var dynCall_viiiij=Module["dynCall_viiiij"]=wasmExports["dynCall_viiiij"];var dynCall_iij=Module["dynCall_iij"]=wasmExports["dynCall_iij"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=wasmExports["dynCall_iidiiii"];var dynCall_v=Module["dynCall_v"]=wasmExports["dynCall_v"];var dynCall_iijii=Module["dynCall_iijii"]=wasmExports["dynCall_iijii"];var dynCall_iiji=Module["dynCall_iiji"]=wasmExports["dynCall_iiji"];var dynCall_i=Module["dynCall_i"]=wasmExports["dynCall_i"];var dynCall_iiiiiij=Module["dynCall_iiiiiij"]=wasmExports["dynCall_iiiiiij"];var dynCall_iiid=Module["dynCall_iiid"]=wasmExports["dynCall_iiid"];var dynCall_iiij=Module["dynCall_iiij"]=wasmExports["dynCall_iiij"];var dynCall_dii=Module["dynCall_dii"]=wasmExports["dynCall_dii"];var dynCall_jii=Module["dynCall_jii"]=wasmExports["dynCall_jii"];var dynCall_ji=Module["dynCall_ji"]=wasmExports["dynCall_ji"];var dynCall_vid=Module["dynCall_vid"]=wasmExports["dynCall_vid"];var dynCall_vij=Module["dynCall_vij"]=wasmExports["dynCall_vij"];var dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=wasmExports["dynCall_iiiiiiiiii"];var dynCall_di=Module["dynCall_di"]=wasmExports["dynCall_di"];var dynCall_iiiiijii=Module["dynCall_iiiiijii"]=wasmExports["dynCall_iiiiijii"];var dynCall_j=Module["dynCall_j"]=wasmExports["dynCall_j"];var dynCall_jj=Module["dynCall_jj"]=wasmExports["dynCall_jj"];var dynCall_jiij=Module["dynCall_jiij"]=wasmExports["dynCall_jiij"];var dynCall_iiiiji=Module["dynCall_iiiiji"]=wasmExports["dynCall_iiiiji"];var dynCall_iiiijii=Module["dynCall_iiiijii"]=wasmExports["dynCall_iiiijii"];var dynCall_ij=Module["dynCall_ij"]=wasmExports["dynCall_ij"];var dynCall_viiji=Module["dynCall_viiji"]=wasmExports["dynCall_viiji"];var dynCall_viijii=Module["dynCall_viijii"]=wasmExports["dynCall_viijii"];var dynCall_iiiiiiiiiii=Module["dynCall_iiiiiiiiiii"]=wasmExports["dynCall_iiiiiiiiiii"];var dynCall_iiiijji=Module["dynCall_iiiijji"]=wasmExports["dynCall_iiiijji"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=wasmExports["dynCall_iiiiiiii"];var _asyncify_start_unwind=wasmExports["wf"];var _asyncify_stop_unwind=wasmExports["xf"];var _asyncify_start_rewind=wasmExports["yf"];var _asyncify_stop_rewind=wasmExports["zf"];var _sqlite3_version=Module["_sqlite3_version"]=85408;function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}preInit();run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc,xStep,xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{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=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var EXITSTATUS;var readyPromiseResolve,readyPromiseReject;var wasmMemory;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["qa"]();FS.ignorePermissions=false}function preMain(){}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("wa-sqlite-async.wasm")}return new URL("wa-sqlite-async.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{a:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmMemory=wasmExports["pa"];updateMemoryViews();wasmTable=wasmExports["pf"];assignWasmExports(wasmExports);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}var tempDouble;var tempI64;class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var dynCalls={};function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=new TextDecoder;var UTF8ToString=(ptr,maxBytesToRead)=>{if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))};var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);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.slice(-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.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>view=>crypto.getRandomValues(view);var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heapOrArray.buffer?heapOrArray.subarray(idx,endPtr):new Uint8Array(heapOrArray.slice(idx,endPtr)))};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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;i++}}heap[outIdx]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,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.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};asyncLoad.isAsync=true;var FS_createDataFile=(...args)=>FS.createDataFile(...args);var getUniqueRunDependency=id=>id;var preloadPlugins=[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}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|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,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){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}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)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){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);old_node.parent=new_dir}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;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return 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 link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){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)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},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}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,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,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){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},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)}if(!length){throw new FS.ErrnoError(28)}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)},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 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"){buf=UTF8ArrayToString(buf)}FS.close(stream);return buf},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){data=new Uint8Array(intArrayFromString(data,true))}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,llseek:()=>0});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){randomFill(randomBuffer);randomLeft=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",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},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){if(e.errno!=20)throw 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;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},writeStatFs(buf,stats){HEAP32[buf+4>>2]=stats.bsize;HEAP32[buf+40>>2]=stats.bsize;HEAP32[buf+8>>2]=stats.blocks;HEAP32[buf+12>>2]=stats.bfree;HEAP32[buf+16>>2]=stats.bavail;HEAP32[buf+20>>2]=stats.files;HEAP32[buf+24>>2]=stats.ffree;HEAP32[buf+28>>2]=stats.fsid;HEAP32[buf+44>>2]=stats.flags;HEAP32[buf+36>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);var now=Date.now(),atime,mtime;if(!times){atime=now;mtime=now}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){atime=now}else if(nanoseconds==1073741822){atime=null}else{atime=seconds*1e3+nanoseconds/(1e3*1e3)}times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){mtime=now}else if(nanoseconds==1073741822){mtime=null}else{mtime=seconds*1e3+nanoseconds/(1e3*1e3)}}if((mtime??atime)!==null){FS.utime(path,atime,mtime)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("");var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var timers={};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var _emscripten_get_now=()=>performance.now();var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetDate.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}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,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.language||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var _fd_sync=function(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return Asyncify.handleSleep(wakeUp=>{var mount=stream.node.mount;if(!mount.type.syncfs){wakeUp(0);return}mount.type.syncfs(mount,false,err=>{wakeUp(err?29:0)})})}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}};_fd_sync.isAsync=true;var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}function _ipp_async(...args){return adapters_support(true,...args)}_ipp_async.isAsync=true;function _ippipppp(...args){return adapters_support(false,...args)}function _ippipppp_async(...args){return adapters_support(true,...args)}_ippipppp_async.isAsync=true;function _ippp(...args){return adapters_support(false,...args)}function _ippp_async(...args){return adapters_support(true,...args)}_ippp_async.isAsync=true;function _ipppi(...args){return adapters_support(false,...args)}function _ipppi_async(...args){return adapters_support(true,...args)}_ipppi_async.isAsync=true;function _ipppiii(...args){return adapters_support(false,...args)}function _ipppiii_async(...args){return adapters_support(true,...args)}_ipppiii_async.isAsync=true;function _ipppiiip(...args){return adapters_support(false,...args)}function _ipppiiip_async(...args){return adapters_support(true,...args)}_ipppiiip_async.isAsync=true;function _ipppip(...args){return adapters_support(false,...args)}function _ipppip_async(...args){return adapters_support(true,...args)}_ipppip_async.isAsync=true;function _ipppj(...args){return adapters_support(false,...args)}function _ipppj_async(...args){return adapters_support(true,...args)}_ipppj_async.isAsync=true;function _ipppp(...args){return adapters_support(false,...args)}function _ipppp_async(...args){return adapters_support(true,...args)}_ipppp_async.isAsync=true;function _ippppi(...args){return adapters_support(false,...args)}function _ippppi_async(...args){return adapters_support(true,...args)}_ippppi_async.isAsync=true;function _ippppij(...args){return adapters_support(false,...args)}function _ippppij_async(...args){return adapters_support(true,...args)}_ippppij_async.isAsync=true;function _ippppip(...args){return adapters_support(false,...args)}function _ippppip_async(...args){return adapters_support(true,...args)}_ippppip_async.isAsync=true;function _ipppppip(...args){return adapters_support(false,...args)}function _ipppppip_async(...args){return adapters_support(true,...args)}_ipppppip_async.isAsync=true;function _vppippii(...args){return adapters_support(false,...args)}function _vppippii_async(...args){return adapters_support(true,...args)}_vppippii_async.isAsync=true;function _vppp(...args){return adapters_support(false,...args)}function _vppp_async(...args){return adapters_support(true,...args)}_vppp_async.isAsync=true;function _vpppip(...args){return adapters_support(false,...args)}function _vpppip_async(...args){return adapters_support(true,...args)}_vpppip_async.isAsync=true;var runAndAbortIfError=func=>{try{return func()}catch(e){abort(e)}};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{runtimeKeepaliveCounter+=1};var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};var Asyncify={instrumentWasmImports(imports){var importPattern=/^(ipp|ipp_async|ippp|ippp_async|vppp|vppp_async|ipppj|ipppj_async|ipppi|ipppi_async|ipppp|ipppp_async|ipppip|ipppip_async|vpppip|vpppip_async|ippppi|ippppi_async|ippppij|ippppij_async|ipppiii|ipppiii_async|ippppip|ippppip_async|ippipppp|ippipppp_async|ipppppip|ipppppip_async|ipppiiip|ipppiiip_async|vppippii|vppippii_async|invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original=="function"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},instrumentFunction(original){var wrapper=(...args)=>{Asyncify.exportCallStack.push(original);try{return original(...args)}finally{if(!ABORT){var top=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}};Asyncify.funcWrappers.set(original,wrapper);return wrapper},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){var wrapper=Asyncify.instrumentFunction(original);ret[x]=wrapper}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:16384,currData:null,handleSleepReturnValue:0,exportCallStack:[],callstackFuncToId:new Map,callStackIdToFunc:new Map,funcWrappers:new Map,callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(func){if(!Asyncify.callstackFuncToId.has(func)){var id=Asyncify.callStackId++;Asyncify.callstackFuncToId.set(func,id);Asyncify.callStackIdToFunc.set(id,func)}return Asyncify.callstackFuncToId.get(func)},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!="undefined"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve,reject}})},allocateData(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){HEAPU32[ptr>>2]=stack;HEAPU32[ptr+4>>2]=stack+stackSize},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);HEAP32[ptr+8>>2]=rewindId},getDataRewindFunc(ptr){var id=HEAP32[ptr+8>>2];var func=Asyncify.callStackIdToFunc.get(id);return func},doRewind(ptr){var original=Asyncify.getDataRewindFunc(ptr);var func=Asyncify.funcWrappers.get(original);return func()},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync:startAsync=>Asyncify.handleSleep(wakeUp=>{startAsync().then(wakeUp)})};var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var generateFuncType=(sig,target)=>{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var paramType of sigParam){target.push(typeCodes[paramType])}if(sigRet=="v"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTable;var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>wasmTable.set(idx,func);var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i65535){i++}HEAP32[outPtr>>2]=codePoint;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=new TextDecoder("utf-16le");var UTF16ToString=(ptr,maxBytesToRead)=>{var idx=ptr>>1;var maxIdx=idx+maxBytesToRead/2;var endIdx=idx;while(!(endIdx>=maxIdx)&&HEAPU16[endIdx])++endIdx;return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx))};var UTF32ToString=(ptr,maxBytesToRead)=>{var str="";for(var i=0;!(i>=maxBytesToRead/4);i++){var utf32=HEAP32[ptr+i*4>>2];if(!utf32)break;str+=String.fromCodePoint(utf32)}return str};var intArrayToString=array=>{var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")};var _getTempRet0=getTempRet0;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";adapters_support();{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"]}Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;Module["_getTempRet0"]=_getTempRet0;var _powersync_init_static,_sqlite3_status64,_sqlite3_status,_sqlite3_db_status,_sqlite3_msize,_sqlite3_vfs_find,_sqlite3_vfs_register,_sqlite3_vfs_unregister,_sqlite3_release_memory,_sqlite3_soft_heap_limit64,_sqlite3_memory_used,_sqlite3_hard_heap_limit64,_sqlite3_memory_highwater,_sqlite3_malloc,_sqlite3_malloc64,_sqlite3_free,_sqlite3_realloc,_sqlite3_realloc64,_sqlite3_str_vappendf,_sqlite3_str_append,_sqlite3_str_appendchar,_sqlite3_str_appendall,_sqlite3_str_appendf,_sqlite3_str_finish,_sqlite3_str_errcode,_sqlite3_str_length,_sqlite3_str_value,_sqlite3_str_reset,_sqlite3_str_new,_sqlite3_vmprintf,_sqlite3_mprintf,_sqlite3_vsnprintf,_sqlite3_snprintf,_sqlite3_log,_sqlite3_randomness,_sqlite3_stricmp,_sqlite3_strnicmp,_sqlite3_os_init,_sqlite3_os_end,_sqlite3_serialize,_sqlite3_prepare_v2,_sqlite3_step,_sqlite3_column_int64,_sqlite3_reset,_sqlite3_exec,_sqlite3_column_int,_sqlite3_finalize,_sqlite3_deserialize,_sqlite3_database_file_object,_sqlite3_backup_init,_sqlite3_backup_step,_sqlite3_backup_finish,_sqlite3_backup_remaining,_sqlite3_backup_pagecount,_sqlite3_clear_bindings,_sqlite3_value_blob,_sqlite3_value_text,_sqlite3_value_bytes,_sqlite3_value_bytes16,_sqlite3_value_double,_sqlite3_value_int,_sqlite3_value_int64,_sqlite3_value_subtype,_sqlite3_value_pointer,_sqlite3_value_text16,_sqlite3_value_text16be,_sqlite3_value_text16le,_sqlite3_value_type,_sqlite3_value_encoding,_sqlite3_value_nochange,_sqlite3_value_frombind,_sqlite3_value_dup,_sqlite3_value_free,_sqlite3_result_blob,_sqlite3_result_blob64,_sqlite3_result_double,_sqlite3_result_error,_sqlite3_result_error16,_sqlite3_result_int,_sqlite3_result_int64,_sqlite3_result_null,_sqlite3_result_pointer,_sqlite3_result_subtype,_sqlite3_result_text,_sqlite3_result_text64,_sqlite3_result_text16,_sqlite3_result_text16be,_sqlite3_result_text16le,_sqlite3_result_value,_sqlite3_result_error_toobig,_sqlite3_result_zeroblob,_sqlite3_result_zeroblob64,_sqlite3_result_error_code,_sqlite3_result_error_nomem,_sqlite3_user_data,_sqlite3_context_db_handle,_sqlite3_vtab_nochange,_sqlite3_vtab_in_first,_sqlite3_vtab_in_next,_sqlite3_aggregate_context,_sqlite3_get_auxdata,_sqlite3_set_auxdata,_sqlite3_column_count,_sqlite3_data_count,_sqlite3_column_blob,_sqlite3_column_bytes,_sqlite3_column_bytes16,_sqlite3_column_double,_sqlite3_column_text,_sqlite3_column_value,_sqlite3_column_text16,_sqlite3_column_type,_sqlite3_column_name,_sqlite3_column_name16,_sqlite3_bind_blob,_sqlite3_bind_blob64,_sqlite3_bind_double,_sqlite3_bind_int,_sqlite3_bind_int64,_sqlite3_bind_null,_sqlite3_bind_pointer,_sqlite3_bind_text,_sqlite3_bind_text64,_sqlite3_bind_text16,_sqlite3_bind_value,_sqlite3_bind_zeroblob,_sqlite3_bind_zeroblob64,_sqlite3_bind_parameter_count,_sqlite3_bind_parameter_name,_sqlite3_bind_parameter_index,_sqlite3_db_handle,_sqlite3_stmt_readonly,_sqlite3_stmt_isexplain,_sqlite3_stmt_explain,_sqlite3_stmt_busy,_sqlite3_next_stmt,_sqlite3_stmt_status,_sqlite3_sql,_sqlite3_expanded_sql,_sqlite3_value_numeric_type,_sqlite3_blob_open,_sqlite3_blob_close,_sqlite3_blob_read,_sqlite3_blob_write,_sqlite3_blob_bytes,_sqlite3_blob_reopen,_sqlite3_set_authorizer,_sqlite3_strglob,_sqlite3_strlike,_sqlite3_errmsg,_sqlite3_load_extension,_sqlite3_enable_load_extension,_sqlite3_auto_extension,_sqlite3_cancel_auto_extension,_sqlite3_reset_auto_extension,_sqlite3_prepare,_sqlite3_prepare_v3,_sqlite3_prepare16,_sqlite3_prepare16_v2,_sqlite3_prepare16_v3,_sqlite3_get_table,_sqlite3_free_table,_sqlite3_create_module,_sqlite3_create_module_v2,_sqlite3_drop_modules,_sqlite3_declare_vtab,_sqlite3_vtab_on_conflict,_sqlite3_vtab_config,_sqlite3_vtab_collation,_sqlite3_vtab_in,_sqlite3_vtab_rhs_value,_sqlite3_vtab_distinct,_sqlite3_keyword_name,_sqlite3_keyword_count,_sqlite3_keyword_check,_sqlite3_complete,_sqlite3_complete16,_sqlite3_libversion,_sqlite3_libversion_number,_sqlite3_threadsafe,_sqlite3_initialize,_sqlite3_shutdown,_sqlite3_config,_sqlite3_db_mutex,_sqlite3_db_release_memory,_sqlite3_db_cacheflush,_sqlite3_db_config,_sqlite3_last_insert_rowid,_sqlite3_set_last_insert_rowid,_sqlite3_changes64,_sqlite3_changes,_sqlite3_total_changes64,_sqlite3_total_changes,_sqlite3_txn_state,_sqlite3_close,_sqlite3_close_v2,_sqlite3_busy_handler,_sqlite3_progress_handler,_sqlite3_busy_timeout,_sqlite3_interrupt,_sqlite3_is_interrupted,_sqlite3_create_function,_sqlite3_create_function_v2,_sqlite3_create_window_function,_sqlite3_create_function16,_sqlite3_overload_function,_sqlite3_trace_v2,_sqlite3_commit_hook,_sqlite3_update_hook,_sqlite3_rollback_hook,_sqlite3_autovacuum_pages,_sqlite3_wal_autocheckpoint,_sqlite3_wal_hook,_sqlite3_wal_checkpoint_v2,_sqlite3_wal_checkpoint,_sqlite3_error_offset,_sqlite3_errmsg16,_sqlite3_errcode,_sqlite3_extended_errcode,_sqlite3_system_errno,_sqlite3_errstr,_sqlite3_limit,_sqlite3_open,_sqlite3_open_v2,_sqlite3_open16,_sqlite3_create_collation,_sqlite3_create_collation_v2,_sqlite3_create_collation16,_sqlite3_collation_needed,_sqlite3_collation_needed16,_sqlite3_get_clientdata,_sqlite3_set_clientdata,_sqlite3_get_autocommit,_sqlite3_table_column_metadata,_sqlite3_sleep,_sqlite3_extended_result_codes,_sqlite3_file_control,_sqlite3_test_control,_sqlite3_create_filename,_sqlite3_free_filename,_sqlite3_uri_parameter,_sqlite3_uri_key,_sqlite3_uri_boolean,_sqlite3_uri_int64,_sqlite3_filename_database,_sqlite3_filename_journal,_sqlite3_filename_wal,_sqlite3_db_name,_sqlite3_db_filename,_sqlite3_db_readonly,_sqlite3_compileoption_used,_sqlite3_compileoption_get,_sqlite3_sourceid,_memcmp,_malloc,_free,_RegisterExtensionFunctions,_getSqliteFree,_main,_libauthorizer_set_authorizer,_libfunction_create_function,_libhook_commit_hook,_libhook_update_hook,_libprogress_progress_handler,_libvfs_vfs_register,_memcpy,_memset,_emscripten_builtin_memalign,__emscripten_timeout,__emscripten_tempret_get,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,dynCall_iii,dynCall_vii,dynCall_viii,dynCall_vi,dynCall_iiii,dynCall_iiiiiii,dynCall_ii,dynCall_iiiiii,dynCall_iiiii,dynCall_viiii,dynCall_iiiiiiiii,dynCall_vijii,dynCall_viiiii,dynCall_iiiij,dynCall_viji,dynCall_viiiij,dynCall_iij,dynCall_iidiiii,dynCall_v,dynCall_iijii,dynCall_iiji,dynCall_i,dynCall_iiiiiij,dynCall_iiid,dynCall_iiij,dynCall_dii,dynCall_jii,dynCall_ji,dynCall_vid,dynCall_vij,dynCall_iiiiiiiiii,dynCall_di,dynCall_iiiiijii,dynCall_j,dynCall_jj,dynCall_jiij,dynCall_iiiiji,dynCall_iiiijii,dynCall_ij,dynCall_viiji,dynCall_viijii,dynCall_iiiiiiiiiii,dynCall_iiiijji,dynCall_iiiiiiii,_asyncify_start_unwind,_asyncify_stop_unwind,_asyncify_start_rewind,_asyncify_stop_rewind;function assignWasmExports(wasmExports){Module["_powersync_init_static"]=_powersync_init_static=wasmExports["ra"];Module["_sqlite3_status64"]=_sqlite3_status64=wasmExports["sa"];Module["_sqlite3_status"]=_sqlite3_status=wasmExports["ta"];Module["_sqlite3_db_status"]=_sqlite3_db_status=wasmExports["ua"];Module["_sqlite3_msize"]=_sqlite3_msize=wasmExports["va"];Module["_sqlite3_vfs_find"]=_sqlite3_vfs_find=wasmExports["wa"];Module["_sqlite3_vfs_register"]=_sqlite3_vfs_register=wasmExports["xa"];Module["_sqlite3_vfs_unregister"]=_sqlite3_vfs_unregister=wasmExports["ya"];Module["_sqlite3_release_memory"]=_sqlite3_release_memory=wasmExports["za"];Module["_sqlite3_soft_heap_limit64"]=_sqlite3_soft_heap_limit64=wasmExports["Aa"];Module["_sqlite3_memory_used"]=_sqlite3_memory_used=wasmExports["Ba"];Module["_sqlite3_hard_heap_limit64"]=_sqlite3_hard_heap_limit64=wasmExports["Ca"];Module["_sqlite3_memory_highwater"]=_sqlite3_memory_highwater=wasmExports["Da"];Module["_sqlite3_malloc"]=_sqlite3_malloc=wasmExports["Ea"];Module["_sqlite3_malloc64"]=_sqlite3_malloc64=wasmExports["Fa"];Module["_sqlite3_free"]=_sqlite3_free=wasmExports["Ga"];Module["_sqlite3_realloc"]=_sqlite3_realloc=wasmExports["Ha"];Module["_sqlite3_realloc64"]=_sqlite3_realloc64=wasmExports["Ia"];Module["_sqlite3_str_vappendf"]=_sqlite3_str_vappendf=wasmExports["Ja"];Module["_sqlite3_str_append"]=_sqlite3_str_append=wasmExports["Ka"];Module["_sqlite3_str_appendchar"]=_sqlite3_str_appendchar=wasmExports["La"];Module["_sqlite3_str_appendall"]=_sqlite3_str_appendall=wasmExports["Ma"];Module["_sqlite3_str_appendf"]=_sqlite3_str_appendf=wasmExports["Na"];Module["_sqlite3_str_finish"]=_sqlite3_str_finish=wasmExports["Oa"];Module["_sqlite3_str_errcode"]=_sqlite3_str_errcode=wasmExports["Pa"];Module["_sqlite3_str_length"]=_sqlite3_str_length=wasmExports["Qa"];Module["_sqlite3_str_value"]=_sqlite3_str_value=wasmExports["Ra"];Module["_sqlite3_str_reset"]=_sqlite3_str_reset=wasmExports["Sa"];Module["_sqlite3_str_new"]=_sqlite3_str_new=wasmExports["Ta"];Module["_sqlite3_vmprintf"]=_sqlite3_vmprintf=wasmExports["Ua"];Module["_sqlite3_mprintf"]=_sqlite3_mprintf=wasmExports["Va"];Module["_sqlite3_vsnprintf"]=_sqlite3_vsnprintf=wasmExports["Wa"];Module["_sqlite3_snprintf"]=_sqlite3_snprintf=wasmExports["Xa"];Module["_sqlite3_log"]=_sqlite3_log=wasmExports["Ya"];Module["_sqlite3_randomness"]=_sqlite3_randomness=wasmExports["Za"];Module["_sqlite3_stricmp"]=_sqlite3_stricmp=wasmExports["_a"];Module["_sqlite3_strnicmp"]=_sqlite3_strnicmp=wasmExports["$a"];Module["_sqlite3_os_init"]=_sqlite3_os_init=wasmExports["ab"];Module["_sqlite3_os_end"]=_sqlite3_os_end=wasmExports["bb"];Module["_sqlite3_serialize"]=_sqlite3_serialize=wasmExports["cb"];Module["_sqlite3_prepare_v2"]=_sqlite3_prepare_v2=wasmExports["db"];Module["_sqlite3_step"]=_sqlite3_step=wasmExports["eb"];Module["_sqlite3_column_int64"]=_sqlite3_column_int64=wasmExports["fb"];Module["_sqlite3_reset"]=_sqlite3_reset=wasmExports["gb"];Module["_sqlite3_exec"]=_sqlite3_exec=wasmExports["hb"];Module["_sqlite3_column_int"]=_sqlite3_column_int=wasmExports["ib"];Module["_sqlite3_finalize"]=_sqlite3_finalize=wasmExports["jb"];Module["_sqlite3_deserialize"]=_sqlite3_deserialize=wasmExports["kb"];Module["_sqlite3_database_file_object"]=_sqlite3_database_file_object=wasmExports["lb"];Module["_sqlite3_backup_init"]=_sqlite3_backup_init=wasmExports["mb"];Module["_sqlite3_backup_step"]=_sqlite3_backup_step=wasmExports["nb"];Module["_sqlite3_backup_finish"]=_sqlite3_backup_finish=wasmExports["ob"];Module["_sqlite3_backup_remaining"]=_sqlite3_backup_remaining=wasmExports["pb"];Module["_sqlite3_backup_pagecount"]=_sqlite3_backup_pagecount=wasmExports["qb"];Module["_sqlite3_clear_bindings"]=_sqlite3_clear_bindings=wasmExports["rb"];Module["_sqlite3_value_blob"]=_sqlite3_value_blob=wasmExports["sb"];Module["_sqlite3_value_text"]=_sqlite3_value_text=wasmExports["tb"];Module["_sqlite3_value_bytes"]=_sqlite3_value_bytes=wasmExports["ub"];Module["_sqlite3_value_bytes16"]=_sqlite3_value_bytes16=wasmExports["vb"];Module["_sqlite3_value_double"]=_sqlite3_value_double=wasmExports["wb"];Module["_sqlite3_value_int"]=_sqlite3_value_int=wasmExports["xb"];Module["_sqlite3_value_int64"]=_sqlite3_value_int64=wasmExports["yb"];Module["_sqlite3_value_subtype"]=_sqlite3_value_subtype=wasmExports["zb"];Module["_sqlite3_value_pointer"]=_sqlite3_value_pointer=wasmExports["Ab"];Module["_sqlite3_value_text16"]=_sqlite3_value_text16=wasmExports["Bb"];Module["_sqlite3_value_text16be"]=_sqlite3_value_text16be=wasmExports["Cb"];Module["_sqlite3_value_text16le"]=_sqlite3_value_text16le=wasmExports["Db"];Module["_sqlite3_value_type"]=_sqlite3_value_type=wasmExports["Eb"];Module["_sqlite3_value_encoding"]=_sqlite3_value_encoding=wasmExports["Fb"];Module["_sqlite3_value_nochange"]=_sqlite3_value_nochange=wasmExports["Gb"];Module["_sqlite3_value_frombind"]=_sqlite3_value_frombind=wasmExports["Hb"];Module["_sqlite3_value_dup"]=_sqlite3_value_dup=wasmExports["Ib"];Module["_sqlite3_value_free"]=_sqlite3_value_free=wasmExports["Jb"];Module["_sqlite3_result_blob"]=_sqlite3_result_blob=wasmExports["Kb"];Module["_sqlite3_result_blob64"]=_sqlite3_result_blob64=wasmExports["Lb"];Module["_sqlite3_result_double"]=_sqlite3_result_double=wasmExports["Mb"];Module["_sqlite3_result_error"]=_sqlite3_result_error=wasmExports["Nb"];Module["_sqlite3_result_error16"]=_sqlite3_result_error16=wasmExports["Ob"];Module["_sqlite3_result_int"]=_sqlite3_result_int=wasmExports["Pb"];Module["_sqlite3_result_int64"]=_sqlite3_result_int64=wasmExports["Qb"];Module["_sqlite3_result_null"]=_sqlite3_result_null=wasmExports["Rb"];Module["_sqlite3_result_pointer"]=_sqlite3_result_pointer=wasmExports["Sb"];Module["_sqlite3_result_subtype"]=_sqlite3_result_subtype=wasmExports["Tb"];Module["_sqlite3_result_text"]=_sqlite3_result_text=wasmExports["Ub"];Module["_sqlite3_result_text64"]=_sqlite3_result_text64=wasmExports["Vb"];Module["_sqlite3_result_text16"]=_sqlite3_result_text16=wasmExports["Wb"];Module["_sqlite3_result_text16be"]=_sqlite3_result_text16be=wasmExports["Xb"];Module["_sqlite3_result_text16le"]=_sqlite3_result_text16le=wasmExports["Yb"];Module["_sqlite3_result_value"]=_sqlite3_result_value=wasmExports["Zb"];Module["_sqlite3_result_error_toobig"]=_sqlite3_result_error_toobig=wasmExports["_b"];Module["_sqlite3_result_zeroblob"]=_sqlite3_result_zeroblob=wasmExports["$b"];Module["_sqlite3_result_zeroblob64"]=_sqlite3_result_zeroblob64=wasmExports["ac"];Module["_sqlite3_result_error_code"]=_sqlite3_result_error_code=wasmExports["bc"];Module["_sqlite3_result_error_nomem"]=_sqlite3_result_error_nomem=wasmExports["cc"];Module["_sqlite3_user_data"]=_sqlite3_user_data=wasmExports["dc"];Module["_sqlite3_context_db_handle"]=_sqlite3_context_db_handle=wasmExports["ec"];Module["_sqlite3_vtab_nochange"]=_sqlite3_vtab_nochange=wasmExports["fc"];Module["_sqlite3_vtab_in_first"]=_sqlite3_vtab_in_first=wasmExports["gc"];Module["_sqlite3_vtab_in_next"]=_sqlite3_vtab_in_next=wasmExports["hc"];Module["_sqlite3_aggregate_context"]=_sqlite3_aggregate_context=wasmExports["ic"];Module["_sqlite3_get_auxdata"]=_sqlite3_get_auxdata=wasmExports["jc"];Module["_sqlite3_set_auxdata"]=_sqlite3_set_auxdata=wasmExports["kc"];Module["_sqlite3_column_count"]=_sqlite3_column_count=wasmExports["lc"];Module["_sqlite3_data_count"]=_sqlite3_data_count=wasmExports["mc"];Module["_sqlite3_column_blob"]=_sqlite3_column_blob=wasmExports["nc"];Module["_sqlite3_column_bytes"]=_sqlite3_column_bytes=wasmExports["oc"];Module["_sqlite3_column_bytes16"]=_sqlite3_column_bytes16=wasmExports["pc"];Module["_sqlite3_column_double"]=_sqlite3_column_double=wasmExports["qc"];Module["_sqlite3_column_text"]=_sqlite3_column_text=wasmExports["rc"];Module["_sqlite3_column_value"]=_sqlite3_column_value=wasmExports["sc"];Module["_sqlite3_column_text16"]=_sqlite3_column_text16=wasmExports["tc"];Module["_sqlite3_column_type"]=_sqlite3_column_type=wasmExports["uc"];Module["_sqlite3_column_name"]=_sqlite3_column_name=wasmExports["vc"];Module["_sqlite3_column_name16"]=_sqlite3_column_name16=wasmExports["wc"];Module["_sqlite3_bind_blob"]=_sqlite3_bind_blob=wasmExports["xc"];Module["_sqlite3_bind_blob64"]=_sqlite3_bind_blob64=wasmExports["yc"];Module["_sqlite3_bind_double"]=_sqlite3_bind_double=wasmExports["zc"];Module["_sqlite3_bind_int"]=_sqlite3_bind_int=wasmExports["Ac"];Module["_sqlite3_bind_int64"]=_sqlite3_bind_int64=wasmExports["Bc"];Module["_sqlite3_bind_null"]=_sqlite3_bind_null=wasmExports["Cc"];Module["_sqlite3_bind_pointer"]=_sqlite3_bind_pointer=wasmExports["Dc"];Module["_sqlite3_bind_text"]=_sqlite3_bind_text=wasmExports["Ec"];Module["_sqlite3_bind_text64"]=_sqlite3_bind_text64=wasmExports["Fc"];Module["_sqlite3_bind_text16"]=_sqlite3_bind_text16=wasmExports["Gc"];Module["_sqlite3_bind_value"]=_sqlite3_bind_value=wasmExports["Hc"];Module["_sqlite3_bind_zeroblob"]=_sqlite3_bind_zeroblob=wasmExports["Ic"];Module["_sqlite3_bind_zeroblob64"]=_sqlite3_bind_zeroblob64=wasmExports["Jc"];Module["_sqlite3_bind_parameter_count"]=_sqlite3_bind_parameter_count=wasmExports["Kc"];Module["_sqlite3_bind_parameter_name"]=_sqlite3_bind_parameter_name=wasmExports["Lc"];Module["_sqlite3_bind_parameter_index"]=_sqlite3_bind_parameter_index=wasmExports["Mc"];Module["_sqlite3_db_handle"]=_sqlite3_db_handle=wasmExports["Nc"];Module["_sqlite3_stmt_readonly"]=_sqlite3_stmt_readonly=wasmExports["Oc"];Module["_sqlite3_stmt_isexplain"]=_sqlite3_stmt_isexplain=wasmExports["Pc"];Module["_sqlite3_stmt_explain"]=_sqlite3_stmt_explain=wasmExports["Qc"];Module["_sqlite3_stmt_busy"]=_sqlite3_stmt_busy=wasmExports["Rc"];Module["_sqlite3_next_stmt"]=_sqlite3_next_stmt=wasmExports["Sc"];Module["_sqlite3_stmt_status"]=_sqlite3_stmt_status=wasmExports["Tc"];Module["_sqlite3_sql"]=_sqlite3_sql=wasmExports["Uc"];Module["_sqlite3_expanded_sql"]=_sqlite3_expanded_sql=wasmExports["Vc"];Module["_sqlite3_value_numeric_type"]=_sqlite3_value_numeric_type=wasmExports["Wc"];Module["_sqlite3_blob_open"]=_sqlite3_blob_open=wasmExports["Xc"];Module["_sqlite3_blob_close"]=_sqlite3_blob_close=wasmExports["Yc"];Module["_sqlite3_blob_read"]=_sqlite3_blob_read=wasmExports["Zc"];Module["_sqlite3_blob_write"]=_sqlite3_blob_write=wasmExports["_c"];Module["_sqlite3_blob_bytes"]=_sqlite3_blob_bytes=wasmExports["$c"];Module["_sqlite3_blob_reopen"]=_sqlite3_blob_reopen=wasmExports["ad"];Module["_sqlite3_set_authorizer"]=_sqlite3_set_authorizer=wasmExports["bd"];Module["_sqlite3_strglob"]=_sqlite3_strglob=wasmExports["cd"];Module["_sqlite3_strlike"]=_sqlite3_strlike=wasmExports["dd"];Module["_sqlite3_errmsg"]=_sqlite3_errmsg=wasmExports["ed"];Module["_sqlite3_load_extension"]=_sqlite3_load_extension=wasmExports["fd"];Module["_sqlite3_enable_load_extension"]=_sqlite3_enable_load_extension=wasmExports["gd"];Module["_sqlite3_auto_extension"]=_sqlite3_auto_extension=wasmExports["hd"];Module["_sqlite3_cancel_auto_extension"]=_sqlite3_cancel_auto_extension=wasmExports["id"];Module["_sqlite3_reset_auto_extension"]=_sqlite3_reset_auto_extension=wasmExports["jd"];Module["_sqlite3_prepare"]=_sqlite3_prepare=wasmExports["kd"];Module["_sqlite3_prepare_v3"]=_sqlite3_prepare_v3=wasmExports["ld"];Module["_sqlite3_prepare16"]=_sqlite3_prepare16=wasmExports["md"];Module["_sqlite3_prepare16_v2"]=_sqlite3_prepare16_v2=wasmExports["nd"];Module["_sqlite3_prepare16_v3"]=_sqlite3_prepare16_v3=wasmExports["od"];Module["_sqlite3_get_table"]=_sqlite3_get_table=wasmExports["pd"];Module["_sqlite3_free_table"]=_sqlite3_free_table=wasmExports["qd"];Module["_sqlite3_create_module"]=_sqlite3_create_module=wasmExports["rd"];Module["_sqlite3_create_module_v2"]=_sqlite3_create_module_v2=wasmExports["sd"];Module["_sqlite3_drop_modules"]=_sqlite3_drop_modules=wasmExports["td"];Module["_sqlite3_declare_vtab"]=_sqlite3_declare_vtab=wasmExports["ud"];Module["_sqlite3_vtab_on_conflict"]=_sqlite3_vtab_on_conflict=wasmExports["vd"];Module["_sqlite3_vtab_config"]=_sqlite3_vtab_config=wasmExports["wd"];Module["_sqlite3_vtab_collation"]=_sqlite3_vtab_collation=wasmExports["xd"];Module["_sqlite3_vtab_in"]=_sqlite3_vtab_in=wasmExports["yd"];Module["_sqlite3_vtab_rhs_value"]=_sqlite3_vtab_rhs_value=wasmExports["zd"];Module["_sqlite3_vtab_distinct"]=_sqlite3_vtab_distinct=wasmExports["Ad"];Module["_sqlite3_keyword_name"]=_sqlite3_keyword_name=wasmExports["Bd"];Module["_sqlite3_keyword_count"]=_sqlite3_keyword_count=wasmExports["Cd"];Module["_sqlite3_keyword_check"]=_sqlite3_keyword_check=wasmExports["Dd"];Module["_sqlite3_complete"]=_sqlite3_complete=wasmExports["Ed"];Module["_sqlite3_complete16"]=_sqlite3_complete16=wasmExports["Fd"];Module["_sqlite3_libversion"]=_sqlite3_libversion=wasmExports["Gd"];Module["_sqlite3_libversion_number"]=_sqlite3_libversion_number=wasmExports["Hd"];Module["_sqlite3_threadsafe"]=_sqlite3_threadsafe=wasmExports["Id"];Module["_sqlite3_initialize"]=_sqlite3_initialize=wasmExports["Jd"];Module["_sqlite3_shutdown"]=_sqlite3_shutdown=wasmExports["Kd"];Module["_sqlite3_config"]=_sqlite3_config=wasmExports["Ld"];Module["_sqlite3_db_mutex"]=_sqlite3_db_mutex=wasmExports["Md"];Module["_sqlite3_db_release_memory"]=_sqlite3_db_release_memory=wasmExports["Nd"];Module["_sqlite3_db_cacheflush"]=_sqlite3_db_cacheflush=wasmExports["Od"];Module["_sqlite3_db_config"]=_sqlite3_db_config=wasmExports["Pd"];Module["_sqlite3_last_insert_rowid"]=_sqlite3_last_insert_rowid=wasmExports["Qd"];Module["_sqlite3_set_last_insert_rowid"]=_sqlite3_set_last_insert_rowid=wasmExports["Rd"];Module["_sqlite3_changes64"]=_sqlite3_changes64=wasmExports["Sd"];Module["_sqlite3_changes"]=_sqlite3_changes=wasmExports["Td"];Module["_sqlite3_total_changes64"]=_sqlite3_total_changes64=wasmExports["Ud"];Module["_sqlite3_total_changes"]=_sqlite3_total_changes=wasmExports["Vd"];Module["_sqlite3_txn_state"]=_sqlite3_txn_state=wasmExports["Wd"];Module["_sqlite3_close"]=_sqlite3_close=wasmExports["Xd"];Module["_sqlite3_close_v2"]=_sqlite3_close_v2=wasmExports["Yd"];Module["_sqlite3_busy_handler"]=_sqlite3_busy_handler=wasmExports["Zd"];Module["_sqlite3_progress_handler"]=_sqlite3_progress_handler=wasmExports["_d"];Module["_sqlite3_busy_timeout"]=_sqlite3_busy_timeout=wasmExports["$d"];Module["_sqlite3_interrupt"]=_sqlite3_interrupt=wasmExports["ae"];Module["_sqlite3_is_interrupted"]=_sqlite3_is_interrupted=wasmExports["be"];Module["_sqlite3_create_function"]=_sqlite3_create_function=wasmExports["ce"];Module["_sqlite3_create_function_v2"]=_sqlite3_create_function_v2=wasmExports["de"];Module["_sqlite3_create_window_function"]=_sqlite3_create_window_function=wasmExports["ee"];Module["_sqlite3_create_function16"]=_sqlite3_create_function16=wasmExports["fe"];Module["_sqlite3_overload_function"]=_sqlite3_overload_function=wasmExports["ge"];Module["_sqlite3_trace_v2"]=_sqlite3_trace_v2=wasmExports["he"];Module["_sqlite3_commit_hook"]=_sqlite3_commit_hook=wasmExports["ie"];Module["_sqlite3_update_hook"]=_sqlite3_update_hook=wasmExports["je"];Module["_sqlite3_rollback_hook"]=_sqlite3_rollback_hook=wasmExports["ke"];Module["_sqlite3_autovacuum_pages"]=_sqlite3_autovacuum_pages=wasmExports["le"];Module["_sqlite3_wal_autocheckpoint"]=_sqlite3_wal_autocheckpoint=wasmExports["me"];Module["_sqlite3_wal_hook"]=_sqlite3_wal_hook=wasmExports["ne"];Module["_sqlite3_wal_checkpoint_v2"]=_sqlite3_wal_checkpoint_v2=wasmExports["oe"];Module["_sqlite3_wal_checkpoint"]=_sqlite3_wal_checkpoint=wasmExports["pe"];Module["_sqlite3_error_offset"]=_sqlite3_error_offset=wasmExports["qe"];Module["_sqlite3_errmsg16"]=_sqlite3_errmsg16=wasmExports["re"];Module["_sqlite3_errcode"]=_sqlite3_errcode=wasmExports["se"];Module["_sqlite3_extended_errcode"]=_sqlite3_extended_errcode=wasmExports["te"];Module["_sqlite3_system_errno"]=_sqlite3_system_errno=wasmExports["ue"];Module["_sqlite3_errstr"]=_sqlite3_errstr=wasmExports["ve"];Module["_sqlite3_limit"]=_sqlite3_limit=wasmExports["we"];Module["_sqlite3_open"]=_sqlite3_open=wasmExports["xe"];Module["_sqlite3_open_v2"]=_sqlite3_open_v2=wasmExports["ye"];Module["_sqlite3_open16"]=_sqlite3_open16=wasmExports["ze"];Module["_sqlite3_create_collation"]=_sqlite3_create_collation=wasmExports["Ae"];Module["_sqlite3_create_collation_v2"]=_sqlite3_create_collation_v2=wasmExports["Be"];Module["_sqlite3_create_collation16"]=_sqlite3_create_collation16=wasmExports["Ce"];Module["_sqlite3_collation_needed"]=_sqlite3_collation_needed=wasmExports["De"];Module["_sqlite3_collation_needed16"]=_sqlite3_collation_needed16=wasmExports["Ee"];Module["_sqlite3_get_clientdata"]=_sqlite3_get_clientdata=wasmExports["Fe"];Module["_sqlite3_set_clientdata"]=_sqlite3_set_clientdata=wasmExports["Ge"];Module["_sqlite3_get_autocommit"]=_sqlite3_get_autocommit=wasmExports["He"];Module["_sqlite3_table_column_metadata"]=_sqlite3_table_column_metadata=wasmExports["Ie"];Module["_sqlite3_sleep"]=_sqlite3_sleep=wasmExports["Je"];Module["_sqlite3_extended_result_codes"]=_sqlite3_extended_result_codes=wasmExports["Ke"];Module["_sqlite3_file_control"]=_sqlite3_file_control=wasmExports["Le"];Module["_sqlite3_test_control"]=_sqlite3_test_control=wasmExports["Me"];Module["_sqlite3_create_filename"]=_sqlite3_create_filename=wasmExports["Ne"];Module["_sqlite3_free_filename"]=_sqlite3_free_filename=wasmExports["Oe"];Module["_sqlite3_uri_parameter"]=_sqlite3_uri_parameter=wasmExports["Pe"];Module["_sqlite3_uri_key"]=_sqlite3_uri_key=wasmExports["Qe"];Module["_sqlite3_uri_boolean"]=_sqlite3_uri_boolean=wasmExports["Re"];Module["_sqlite3_uri_int64"]=_sqlite3_uri_int64=wasmExports["Se"];Module["_sqlite3_filename_database"]=_sqlite3_filename_database=wasmExports["Te"];Module["_sqlite3_filename_journal"]=_sqlite3_filename_journal=wasmExports["Ue"];Module["_sqlite3_filename_wal"]=_sqlite3_filename_wal=wasmExports["Ve"];Module["_sqlite3_db_name"]=_sqlite3_db_name=wasmExports["We"];Module["_sqlite3_db_filename"]=_sqlite3_db_filename=wasmExports["Xe"];Module["_sqlite3_db_readonly"]=_sqlite3_db_readonly=wasmExports["Ye"];Module["_sqlite3_compileoption_used"]=_sqlite3_compileoption_used=wasmExports["Ze"];Module["_sqlite3_compileoption_get"]=_sqlite3_compileoption_get=wasmExports["_e"];Module["_sqlite3_sourceid"]=_sqlite3_sourceid=wasmExports["$e"];Module["_memcmp"]=_memcmp=wasmExports["af"];Module["_malloc"]=_malloc=wasmExports["bf"];Module["_free"]=_free=wasmExports["cf"];Module["_RegisterExtensionFunctions"]=_RegisterExtensionFunctions=wasmExports["df"];Module["_getSqliteFree"]=_getSqliteFree=wasmExports["ef"];Module["_main"]=_main=wasmExports["ff"];Module["_libauthorizer_set_authorizer"]=_libauthorizer_set_authorizer=wasmExports["gf"];Module["_libfunction_create_function"]=_libfunction_create_function=wasmExports["hf"];Module["_libhook_commit_hook"]=_libhook_commit_hook=wasmExports["jf"];Module["_libhook_update_hook"]=_libhook_update_hook=wasmExports["kf"];Module["_libprogress_progress_handler"]=_libprogress_progress_handler=wasmExports["lf"];Module["_libvfs_vfs_register"]=_libvfs_vfs_register=wasmExports["mf"];Module["_memcpy"]=_memcpy=wasmExports["nf"];Module["_memset"]=_memset=wasmExports["of"];_emscripten_builtin_memalign=wasmExports["qf"];__emscripten_timeout=wasmExports["rf"];__emscripten_tempret_get=wasmExports["sf"];__emscripten_stack_restore=wasmExports["tf"];__emscripten_stack_alloc=wasmExports["uf"];_emscripten_stack_get_current=wasmExports["vf"];dynCalls["iii"]=dynCall_iii=wasmExports["wf"];dynCalls["vii"]=dynCall_vii=wasmExports["xf"];dynCalls["viii"]=dynCall_viii=wasmExports["yf"];dynCalls["vi"]=dynCall_vi=wasmExports["zf"];dynCalls["iiii"]=dynCall_iiii=wasmExports["Af"];dynCalls["iiiiiii"]=dynCall_iiiiiii=wasmExports["Bf"];dynCalls["ii"]=dynCall_ii=wasmExports["Cf"];dynCalls["iiiiii"]=dynCall_iiiiii=wasmExports["Df"];dynCalls["iiiii"]=dynCall_iiiii=wasmExports["Ef"];dynCalls["viiii"]=dynCall_viiii=wasmExports["Ff"];dynCalls["iiiiiiiii"]=dynCall_iiiiiiiii=wasmExports["Gf"];dynCalls["vijii"]=dynCall_vijii=wasmExports["Hf"];dynCalls["viiiii"]=dynCall_viiiii=wasmExports["If"];dynCalls["iiiij"]=dynCall_iiiij=wasmExports["Jf"];dynCalls["viji"]=dynCall_viji=wasmExports["Kf"];dynCalls["viiiij"]=dynCall_viiiij=wasmExports["Lf"];dynCalls["iij"]=dynCall_iij=wasmExports["Mf"];dynCalls["iidiiii"]=dynCall_iidiiii=wasmExports["Nf"];dynCalls["v"]=dynCall_v=wasmExports["Of"];dynCalls["iijii"]=dynCall_iijii=wasmExports["Pf"];dynCalls["iiji"]=dynCall_iiji=wasmExports["Qf"];dynCalls["i"]=dynCall_i=wasmExports["Rf"];dynCalls["iiiiiij"]=dynCall_iiiiiij=wasmExports["Sf"];dynCalls["iiid"]=dynCall_iiid=wasmExports["Tf"];dynCalls["iiij"]=dynCall_iiij=wasmExports["Uf"];dynCalls["dii"]=dynCall_dii=wasmExports["Vf"];dynCalls["jii"]=dynCall_jii=wasmExports["Wf"];dynCalls["ji"]=dynCall_ji=wasmExports["Xf"];dynCalls["vid"]=dynCall_vid=wasmExports["Yf"];dynCalls["vij"]=dynCall_vij=wasmExports["Zf"];dynCalls["iiiiiiiiii"]=dynCall_iiiiiiiiii=wasmExports["_f"];dynCalls["di"]=dynCall_di=wasmExports["$f"];dynCalls["iiiiijii"]=dynCall_iiiiijii=wasmExports["ag"];dynCalls["j"]=dynCall_j=wasmExports["bg"];dynCalls["jj"]=dynCall_jj=wasmExports["cg"];dynCalls["jiij"]=dynCall_jiij=wasmExports["dg"];dynCalls["iiiiji"]=dynCall_iiiiji=wasmExports["eg"];dynCalls["iiiijii"]=dynCall_iiiijii=wasmExports["fg"];dynCalls["ij"]=dynCall_ij=wasmExports["gg"];dynCalls["viiji"]=dynCall_viiji=wasmExports["hg"];dynCalls["viijii"]=dynCall_viijii=wasmExports["ig"];dynCalls["iiiiiiiiiii"]=dynCall_iiiiiiiiiii=wasmExports["jg"];dynCalls["iiiijji"]=dynCall_iiiijji=wasmExports["kg"];dynCalls["iiiiiiii"]=dynCall_iiiiiiii=wasmExports["lg"];_asyncify_start_unwind=wasmExports["mg"];_asyncify_stop_unwind=wasmExports["ng"];_asyncify_start_rewind=wasmExports["og"];_asyncify_stop_rewind=wasmExports["pg"]}var _sqlite3_version=Module["_sqlite3_version"]=85408;var wasmImports={a:___assert_fail,aa:___syscall_chmod,da:___syscall_faccessat,ba:___syscall_fchmod,$:___syscall_fchown32,b:___syscall_fcntl64,_:___syscall_fstat64,y:___syscall_ftruncate64,U:___syscall_getcwd,Y:___syscall_lstat64,R:___syscall_mkdirat,X:___syscall_newfstatat,P:___syscall_openat,N:___syscall_readlinkat,M:___syscall_rmdir,Z:___syscall_stat64,K:___syscall_unlinkat,J:___syscall_utimensat,F:__abort_js,E:__emscripten_runtime_keepalive_clear,w:__localtime_js,u:__mmap_js,v:__munmap_js,G:__setitimer_js,Q:__tzset_js,n:_emscripten_date_now,g:_emscripten_get_now,H:_emscripten_resize_heap,S:_environ_get,T:_environ_sizes_get,o:_fd_close,I:_fd_fdstat_get,O:_fd_read,x:_fd_seek,V:_fd_sync,L:_fd_write,s:_ipp,t:_ipp_async,ka:_ippipppp,oa:_ippipppp_async,j:_ippp,k:_ippp_async,c:_ipppi,d:_ipppi_async,ga:_ipppiii,ha:_ipppiii_async,ia:_ipppiiip,ja:_ipppiiip_async,h:_ipppip,i:_ipppip_async,z:_ipppj,A:_ipppj_async,e:_ipppp,f:_ipppp_async,ea:_ippppi,fa:_ippppi_async,B:_ippppij,C:_ippppij_async,p:_ippppip,q:_ippppip_async,la:_ipppppip,ma:_ipppppip_async,D:_proc_exit,na:_vppippii,r:_vppippii_async,l:_vppp,m:_vppp_async,W:_vpppip,ca:_vpppip_async};var wasmExports=await createWasm();function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve?.(Module);Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}preInit();run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc,xStep,xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{readyPromiseResolve=resolve;readyPromiseReject=reject})} return moduleRtn; diff --git a/dist/wa-sqlite-async.wasm b/dist/wa-sqlite-async.wasm index 0f359a062f6c19e00e2eaa348ef9a83c9ce9f1a9..ec8816ef9547f231481e4c1d52613bb8da420855 100755 GIT binary patch delta 7863 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 delta 5296 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 diff --git a/dist/wa-sqlite-dynamic-main.mjs b/dist/wa-sqlite-dynamic-main.mjs index ca5ba74c..eb678050 100644 --- a/dist/wa-sqlite-dynamic-main.mjs +++ b/dist/wa-sqlite-dynamic-main.mjs @@ -4,7 +4,7 @@ var Module = (() => { async function(moduleArg = {}) { var moduleRtn; -var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&process.versions?.node&&process.type!="renderer";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{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=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var dynamicLibraries=[];var wasmBinary;var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var runtimeInitialized=false;var isFileURI=filename=>filename.startsWith("file://");function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b)}function initMemory(){if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:32768})}updateMemoryViews()}var __RELOC_FUNCS__=[];function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__RELOC_FUNCS__);callRuntimeCallbacks(onInits);if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();SOCKFS.root=FS.mount(SOCKFS,{},null);PIPEFS.root=FS.mount(PIPEFS,{},null);wasmExports["__wasm_call_ctors"]();callRuntimeCallbacks(onPostCtors);FS.ignorePermissions=false}function preMain(){callRuntimeCallbacks(onMains)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("wa-sqlite-dynamic-main.wasm")}return new URL("wa-sqlite-dynamic-main.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=relocateExports(wasmExports,1024);var metadata=getDylinkMetadata(module);if(metadata.neededDynlibs){dynamicLibraries=metadata.neededDynlibs.concat(dynamicLibraries)}mergeLibSymbols(wasmExports,"main");LDSO.init();loadDylibs();__RELOC_FUNCS__.push(wasmExports["__wasm_apply_data_relocs"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"],result["module"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})})}wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}catch(e){readyPromiseReject(e);return Promise.reject(e)}}var tempDouble;var tempI64;class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var GOT={};var currentModuleWeakSymbols=new Set([]);var GOTHandler={get(obj,symName){var rtn=GOT[symName];if(!rtn){rtn=GOT[symName]=new WebAssembly.Global({value:"i32",mutable:true})}if(!currentModuleWeakSymbols.has(symName)){rtn.required=true}return rtn}};var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var UTF8Decoder=new TextDecoder;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heapOrArray.buffer?heapOrArray.subarray(idx,endPtr):new Uint8Array(heapOrArray.slice(idx,endPtr)))};var getDylinkMetadata=binary=>{var offset=0;var end=0;function getU8(){return binary[offset++]}function getLEB(){var ret=0;var mul=1;while(1){var byte=binary[offset++];ret+=(byte&127)*mul;mul*=128;if(!(byte&128))break}return ret}function getString(){var len=getLEB();offset+=len;return UTF8ArrayToString(binary,offset-len,len)}function getStringList(){var count=getLEB();var rtn=[];while(count--)rtn.push(getString());return rtn}function failIf(condition,message){if(condition)throw new Error(message)}if(binary instanceof WebAssembly.Module){var dylinkSection=WebAssembly.Module.customSections(binary,"dylink.0");failIf(dylinkSection.length===0,"need dylink section");binary=new Uint8Array(dylinkSection[0]);end=binary.length}else{var int32View=new Uint32Array(new Uint8Array(binary.subarray(0,24)).buffer);var magicNumberFound=int32View[0]==1836278016;failIf(!magicNumberFound,"need to see wasm magic number");failIf(binary[8]!==0,"need the dylink section to be first");offset=9;var section_size=getLEB();end=offset+section_size;var name=getString();failIf(name!=="dylink.0")}var customSection={neededDynlibs:[],tlsExports:new Set,weakImports:new Set,runtimePaths:[]};var WASM_DYLINK_MEM_INFO=1;var WASM_DYLINK_NEEDED=2;var WASM_DYLINK_EXPORT_INFO=3;var WASM_DYLINK_IMPORT_INFO=4;var WASM_DYLINK_RUNTIME_PATH=5;var WASM_SYMBOL_TLS=256;var WASM_SYMBOL_BINDING_MASK=3;var WASM_SYMBOL_BINDING_WEAK=1;while(offset>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var newDSO=(name,handle,syms)=>{var dso={refcount:Infinity,name,exports:syms,global:true};LDSO.loadedLibsByName[name]=dso;if(handle!=undefined){LDSO.loadedLibsByHandle[handle]=dso}return dso};var LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO("__main__",0,wasmImports)}};var ___heap_base=1021824;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var getMemory=size=>{if(runtimeInitialized){return _calloc(size,1)}var ret=___heap_base;var end=ret+alignMemory(size,16);___heap_base=end;GOT["__heap_base"].value=end;return ret};var isInternalSym=symName=>["__cpp_exception","__c_longjmp","__wasm_apply_data_relocs","__dso_handle","__tls_size","__tls_align","__set_stack_limits","_emscripten_tls_init","__wasm_init_tls","__wasm_call_ctors","__start_em_asm","__stop_em_asm","__start_em_js","__stop_em_js"].includes(symName)||symName.startsWith("__em_js__");var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var paramType of sigParam){target.push(typeCodes[paramType])}if(sigRet=="v"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTable=new WebAssembly.Table({initial:1855,element:"anyfunc"});var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>wasmTable.set(idx,func);var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var updateGOT=(exports,replace)=>{for(var symName in exports){if(isInternalSym(symName)){continue}var value=exports[symName];if(symName.startsWith("orig$")){symName=symName.split("$")[1];replace=true}GOT[symName]||=new WebAssembly.Global({value:"i32",mutable:true});if(replace||GOT[symName].value==0){if(typeof value=="function"){GOT[symName].value=addFunction(value)}else if(typeof value=="number"){GOT[symName].value=value}else{err(`unhandled export type for '${symName}': ${typeof value}`)}}}};var relocateExports=(exports,memoryBase,replace)=>{var relocated={};for(var e in exports){var value=exports[e];if(typeof value=="object"){value=value.value}if(typeof value=="number"){value+=memoryBase}relocated[e]=value}updateGOT(relocated,replace);return relocated};var isSymbolDefined=symName=>{var existing=wasmImports[symName];if(!existing||existing.stub){return false}return true};var dynCall=(sig,ptr,args=[],promising=false)=>{if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var func=getWasmTableEntry(ptr);var rtn=func(...args);function convert(rtn){return rtn}return convert(rtn)};var stackSave=()=>_emscripten_stack_get_current();var stackRestore=val=>__emscripten_stack_restore(val);var createInvokeFunction=sig=>(ptr,...args)=>{var sp=stackSave();try{return dynCall(sig,ptr,args)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}};var resolveGlobalSymbol=(symName,direct=false)=>{var sym;if(direct&&"orig$"+symName in wasmImports){symName="orig$"+symName}if(isSymbolDefined(symName)){sym=wasmImports[symName]}else if(symName.startsWith("invoke_")){sym=wasmImports[symName]=createInvokeFunction(symName.split("_")[1])}return{sym,name:symName}};var onPostCtors=[];var addOnPostCtor=cb=>onPostCtors.push(cb);var UTF8ToString=(ptr,maxBytesToRead)=>{if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))};var loadWebAssemblyModule=(binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);currentModuleWeakSymbols=metadata.weakImports;function loadModule(){var memAlign=Math.pow(2,metadata.memoryAlign);var memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0;var tableBase=metadata.tableSize?wasmTable.length:0;if(handle){HEAP8[handle+8]=1;HEAPU32[handle+12>>2]=memoryBase;HEAP32[handle+16>>2]=metadata.memorySize;HEAPU32[handle+20>>2]=tableBase;HEAP32[handle+24>>2]=metadata.tableSize}if(metadata.tableSize){wasmTable.grow(metadata.tableSize)}var moduleExports;function resolveSymbol(sym){var resolved=resolveGlobalSymbol(sym).sym;if(!resolved&&localScope){resolved=localScope[sym]}if(!resolved){resolved=moduleExports[sym]}return resolved}var proxyHandler={get(stubs,prop){switch(prop){case"__memory_base":return memoryBase;case"__table_base":return tableBase}if(prop in wasmImports&&!wasmImports[prop].stub){var res=wasmImports[prop];return res}if(!(prop in stubs)){var resolved;stubs[prop]=(...args)=>{resolved||=resolveSymbol(prop);return resolved(...args)}}return stubs[prop]}};var proxy=new Proxy({},proxyHandler);var info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize);moduleExports=relocateExports(instance.exports,memoryBase);if(!flags.allowUndefined){reportUndefinedSymbols()}function addEmAsm(addr,body){var args=[];var arity=0;for(;arity<16;arity++){if(body.indexOf("$"+arity)!=-1){args.push("$"+arity)}else{break}}args=args.join(",");var func=`(${args}) => { ${body} };`;ASM_CONSTS[start]=eval(func)}if("__start_em_asm"in moduleExports){var start=moduleExports["__start_em_asm"];var stop=moduleExports["__stop_em_asm"];while(start ${body};`;moduleExports[name]=eval(func)}for(var name in moduleExports){if(name.startsWith("__em_js__")){var start=moduleExports[name];var jsString=UTF8ToString(start);var parts=jsString.split("<::>");addEmJs(name.replace("__em_js__",""),parts[0],parts[1]);delete moduleExports[name]}}var applyRelocs=moduleExports["__wasm_apply_data_relocs"];if(applyRelocs){if(runtimeInitialized){applyRelocs()}else{__RELOC_FUNCS__.push(applyRelocs)}}var init=moduleExports["__wasm_call_ctors"];if(init){if(runtimeInitialized){init()}else{addOnPostCtor(init)}}return moduleExports}if(flags.loadAsync){return(async()=>{var instance;if(binary instanceof WebAssembly.Module){instance=new WebAssembly.Instance(binary,info)}else{({module:binary,instance}=await WebAssembly.instantiate(binary,info))}return postInstantiation(binary,instance)})()}var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary);var instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}flags={...flags,rpath:{parentLibPath:libName,paths:metadata.runtimePaths}};if(flags.loadAsync){return metadata.neededDynlibs.reduce((chain,dynNeeded)=>chain.then(()=>loadDynamicLibrary(dynNeeded,flags,localScope)),Promise.resolve()).then(loadModule)}metadata.neededDynlibs.forEach(needed=>loadDynamicLibrary(needed,flags,localScope));return loadModule()};var mergeLibSymbols=(exports,libName)=>{registerDynCallSymbols(exports);for(var[sym,exp]of Object.entries(exports)){const setImport=target=>{if(!isSymbolDefined(target)){wasmImports[target]=exp}};setImport(sym)}};var asyncLoad=async url=>{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};var preloadPlugins=[];var registerWasmPlugin=()=>{var wasmPlugin={promiseChainEnd:Promise.resolve(),canHandle:name=>!Module["noWasmDecoding"]&&name.endsWith(".so"),handle:(byteArray,name,onload,onerror)=>{wasmPlugin["promiseChainEnd"]=wasmPlugin["promiseChainEnd"].then(()=>loadWebAssemblyModule(byteArray,{loadAsync:true,nodelete:true},name,{})).then(exports=>{preloadedWasm[name]=exports;onload(byteArray)},error=>{err(`failed to instantiate wasm: ${name}: ${error}`);onerror()})}};preloadPlugins.push(wasmPlugin)};var preloadedWasm={};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.slice(-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.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var replaceORIGIN=(parentLibName,rpath)=>{if(rpath.startsWith("$ORIGIN")){var origin=PATH.dirname(parentLibName);return rpath.replace("$ORIGIN",origin)}return rpath};var withStackSave=f=>{var stack=stackSave();var ret=f();stackRestore(stack);return ret};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var initRandomFill=()=>view=>crypto.getRandomValues(view);var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,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.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthFS.createDataFile(...args);var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}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|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,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){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}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)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){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);old_node.parent=new_dir}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;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return 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 link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){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)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},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}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,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,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){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},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)}if(!length){throw new FS.ErrnoError(28)}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)},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)}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,llseek:()=>0});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){randomFill(randomBuffer);randomLeft=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",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},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){if(e.errno!=20)throw 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;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var findLibraryFS=(libName,rpath)=>{if(!runtimeInitialized){return undefined}if(PATH.isAbs(libName)){try{FS.lookupPath(libName);return libName}catch(e){return undefined}}var rpathResolved=(rpath?.paths||[]).map(p=>replaceORIGIN(rpath?.parentLibPath,p));return withStackSave(()=>{var bufSize=2*255+2;var buf=stackAlloc(bufSize);var rpathC=stringToUTF8OnStack(rpathResolved.join(":"));var libNameC=stringToUTF8OnStack(libName);var resLibNameC=__emscripten_find_dylib(buf,rpathC,libNameC,bufSize);return resLibNameC?UTF8ToString(resLibNameC):undefined})};var registerDynCallSymbols=exports=>{for(var[sym,exp]of Object.entries(exports)){if(sym.startsWith("dynCall_")&&!Module.hasOwnProperty(sym)){Module[sym]=exp}}};function loadDynamicLibrary(libName,flags={global:true,nodelete:true},localScope,handle){var dso=LDSO.loadedLibsByName[libName];if(dso){if(!flags.global){if(localScope){Object.assign(localScope,dso.exports)}registerDynCallSymbols(dso.exports)}else if(!dso.global){dso.global=true;mergeLibSymbols(dso.exports,libName)}if(flags.nodelete&&dso.refcount!==Infinity){dso.refcount=Infinity}dso.refcount++;if(handle){LDSO.loadedLibsByHandle[handle]=dso}return flags.loadAsync?Promise.resolve(true):true}dso=newDSO(libName,handle,"loading");dso.refcount=flags.nodelete?Infinity:1;dso.global=flags.global;function loadLibData(){if(handle){var data=HEAPU32[handle+28>>2];var dataSize=HEAPU32[handle+32>>2];if(data&&dataSize){var libData=HEAP8.slice(data,data+dataSize);return flags.loadAsync?Promise.resolve(libData):libData}}var f=findLibraryFS(libName,flags.rpath);if(f){var libData=FS.readFile(f,{encoding:"binary"});return flags.loadAsync?Promise.resolve(libData):libData}var libFile=locateFile(libName);if(flags.loadAsync){return asyncLoad(libFile)}if(!readBinary){throw new Error(`${libFile}: file not found, and synchronous loading of external files is not available`)}return readBinary(libFile)}function getExports(){var preloaded=preloadedWasm[libName];if(preloaded){return flags.loadAsync?Promise.resolve(preloaded):preloaded}if(flags.loadAsync){return loadLibData().then(libData=>loadWebAssemblyModule(libData,flags,libName,localScope,handle))}return loadWebAssemblyModule(loadLibData(),flags,libName,localScope,handle)}function moduleLoaded(exports){if(dso.global){mergeLibSymbols(exports,libName)}else if(localScope){Object.assign(localScope,exports);registerDynCallSymbols(exports)}dso.exports=exports}if(flags.loadAsync){return getExports().then(exports=>{moduleLoaded(exports);return true})}moduleLoaded(getExports());return true}var reportUndefinedSymbols=()=>{for(var[symName,entry]of Object.entries(GOT)){if(entry.value==0){var value=resolveGlobalSymbol(symName,true).sym;if(!value&&!entry.required){continue}if(typeof value=="function"){entry.value=addFunction(value,value.sig)}else if(typeof value=="number"){entry.value=value}else{throw new Error(`bad export type for '${symName}': ${typeof value}`)}}}};var loadDylibs=()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency("loadDylibs");dynamicLibraries.reduce((chain,lib)=>chain.then(()=>loadDynamicLibrary(lib,{loadAsync:true,global:true,nodelete:true,allowUndefined:true})),Promise.resolve()).then(()=>{reportUndefinedSymbols();removeRunDependency("loadDylibs")})};var noExitRuntime=true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);___assert_fail.sig="vppip";var ___call_sighandler=(fp,sig)=>getWasmTableEntry(fp)(sig);___call_sighandler.sig="vpi";var ___memory_base=new WebAssembly.Global({value:"i32",mutable:false},1024);var ___stack_high=1021824;var ___stack_low=497536;var ___stack_pointer=new WebAssembly.Global({value:"i32",mutable:true},1021824);var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},writeStatFs(buf,stats){HEAP32[buf+4>>2]=stats.bsize;HEAP32[buf+40>>2]=stats.bsize;HEAP32[buf+8>>2]=stats.blocks;HEAP32[buf+12>>2]=stats.bfree;HEAP32[buf+16>>2]=stats.bavail;HEAP32[buf+20>>2]=stats.files;HEAP32[buf+24>>2]=stats.ffree;HEAP32[buf+28>>2]=stats.fsid;HEAP32[buf+44>>2]=stats.flags;HEAP32[buf+36>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};var ___syscall__newselect=function(nfds,readfds,writefds,exceptfds,timeout){try{var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);var check=(fd,low,high,val)=>fd<32?low&val:high&val;for(var fd=0;fd>2]:0,tv_usec=readfds?HEAP32[timeout+4>>2]:0;timeoutInMillis=(tv_sec+tv_usec/1e6)*1e3}flags=stream.stream_ops.poll(stream,timeoutInMillis)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}};___syscall__newselect.sig="iipppp";var SOCKFS={websocketArgs:{},callbacks:{},on(event,callback){SOCKFS.callbacks[event]=callback},emit(event,param){SOCKFS.callbacks[event]?.(param)},mount(mount){SOCKFS.websocketArgs=Module["websocket"]||{};(Module["websocket"]??={})["on"]=SOCKFS.on;return FS.createNode(null,"/",16895,0)},createSocket(family,type,protocol){type&=~526336;var streaming=type==1;if(streaming&&protocol&&protocol!=6){throw new FS.ErrnoError(66)}var sock={family,type,protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return`socket[${SOCKFS.nextname.current++}]`},websocket_sock_ops:{createPeer(sock,addr,port){var ws;if(typeof addr=="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var url="ws://".replace("#","//");var subProtocols="binary";var opts=undefined;if(SOCKFS.websocketArgs["url"]){url=SOCKFS.websocketArgs["url"]}if(SOCKFS.websocketArgs["subprotocol"]){subProtocols=SOCKFS.websocketArgs["subprotocol"]}else if(SOCKFS.websocketArgs["subprotocol"]===null){subProtocols="null"}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=subProtocols}var WebSocketConstructor;{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr,port,socket:ws,msg_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!="undefined"){peer.msg_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer(sock,addr,port){return sock.peers[addr+":"+port]},addPeer(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents(sock,peer){var first=true;var handleOpen=function(){sock.connecting=false;SOCKFS.emit("open",sock.stream.fd);try{var queued=peer.msg_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.msg_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data=="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}data=new Uint8Array(data)}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data});SOCKFS.emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,isBinary){if(!isBinary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){SOCKFS.emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;SOCKFS.emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){SOCKFS.emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;SOCKFS.emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){if(sock.connecting){mask|=4}else{mask|=16}}return mask},ioctl(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return 28}},close(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}for(var peer of Object.values(sock.peers)){try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0},bind(sock,addr,port){if(typeof sock.saddr!="undefined"||typeof sock.sport!="undefined"){throw new FS.ErrnoError(28)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e.name==="ErrnoError"))throw e;if(e.errno!==138)throw e}}},connect(sock,addr,port){if(sock.server){throw new FS.ErrnoError(138)}if(typeof sock.daddr!="undefined"&&typeof sock.dport!="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(7)}else{throw new FS.ErrnoError(30)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;sock.connecting=true},listen(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(138)}},accept(listensock){if(!listensock.server||!listensock.pending.length){throw new FS.ErrnoError(28)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock},getname(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(53)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr,port}},sendmsg(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(17)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(53)}}if(ArrayBuffer.isView(buffer)){offset+=buffer.byteOffset;buffer=buffer.buffer}var data=buffer.slice(offset,offset+length);if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(sock.type===2){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}}dest.msg_send_queue.push(data);return length}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(28)}},recvmsg(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(53)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(53)}if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}throw new FS.ErrnoError(6)}throw new FS.ErrnoError(6)}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead{var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket};var inetPton4=str=>{var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0};var inetPton6=str=>{var words;var w,offset,z,i;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=Number(words[words.length-4])+Number(words[words.length-3])*256;words[words.length-3]=Number(words[words.length-2])+Number(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w{switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>2]=16}HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>2]=28}HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);break;default:return 5}return 0};var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};function ___syscall_accept4(fd,addr,addrlen,flags,d1,d2){try{var sock=getSocketFromFD(fd);var newsock=sock.sock_ops.accept(sock);if(addr){var errno=writeSockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport,addrlen)}return newsock.stream.fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_accept4.sig="iippiii";var inetNtop4=addr=>(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255);var inetNtop6=ints=>{var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word{var family=HEAP16[sa>>1];var port=_ntohs(HEAPU16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family,addr,port}};var getSocketAddress=(addrp,addrlen)=>{var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info};function ___syscall_bind(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.bind(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_bind.sig="iippiii";function ___syscall_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_chdir.sig="ip";function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_chmod.sig="ipi";function ___syscall_connect(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_connect.sig="iippiii";function ___syscall_dup(fd){try{var old=SYSCALLS.getStreamFromFD(fd);return FS.dupStream(old).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_dup.sig="ii";function ___syscall_dup3(fd,newfd,flags){try{var old=SYSCALLS.getStreamFromFD(fd);if(old.fd===newfd)return-28;if(newfd<0||newfd>=FS.MAX_OPEN_FDS)return-8;var existing=FS.getStream(newfd);if(existing)FS.close(existing);return FS.dupStream(old,newfd).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_dup3.sig="iiii";function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_faccessat.sig="iipii";var ___syscall_fadvise64=(fd,offset,len,advice)=>0;___syscall_fadvise64.sig="iiiiiii";var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_fallocate(fd,mode,offset_low,offset_high,len_low,len_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);var len=convertI32PairToI53Checked(len_low,len_high);try{if(isNaN(offset)||isNaN(len))return-61;if(mode!=0){return-138}if(offset<0||len<0){return-28}var oldSize=FS.fstat(fd).size;var newSize=offset+len;if(newSize>oldSize){FS.ftruncate(fd,newSize)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fallocate.sig="iiiiiii";function ___syscall_fchdir(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.chdir(stream.path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchdir.sig="ii";function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchmod.sig="iii";function ___syscall_fchmodat2(dirfd,path,mode,flags){try{var nofollow=flags&256;path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);FS.chmod(path,mode,nofollow);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchmodat2.sig="iipii";function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchown32.sig="iiii";function ___syscall_fchownat(dirfd,path,owner,group,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;flags=flags&~256;path=SYSCALLS.calculateAt(dirfd,path);(nofollow?FS.lchown:FS.chown)(path,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchownat.sig="iipiii";var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fcntl64.sig="iiip";function ___syscall_fdatasync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fdatasync.sig="ii";function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fstat64.sig="iip";function ___syscall_fstatfs64(fd,size,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);SYSCALLS.writeStatFs(buf,FS.statfsStream(stream));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fstatfs64.sig="iipp";function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_ftruncate64.sig="iiii";function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size>>0,(tempDouble=id,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getdents64.sig="iipp";function ___syscall_getpeername(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);if(!sock.daddr){return-53}var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport,addrlen);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getpeername.sig="iippiii";function ___syscall_getsockname(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport,addrlen);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getsockname.sig="iippiii";function ___syscall_getsockopt(fd,level,optname,optval,optlen,d1){try{var sock=getSocketFromFD(fd);if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-50}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getsockopt.sig="iiiippi";function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag,c_oflag,c_cflag,c_lflag,c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_ioctl.sig="iiip";function ___syscall_listen(fd,backlog){try{var sock=getSocketFromFD(fd);sock.sock_ops.listen(sock,backlog);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_listen.sig="iiiiiii";function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.lstat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_lstat64.sig="ipp";function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_mkdirat.sig="iipi";function ___syscall_mknodat(dirfd,path,mode,dev){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_mknodat.sig="iipii";function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.writeStat(buf,nofollow?FS.lstat(path):FS.stat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_newfstatat.sig="iippi";function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_openat.sig="iipip";var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount(mount){return FS.createNode(null,"/",16384|511,0)},createPipe(){var pipe={buckets:[],refcnt:2,timestamp:new Date};pipe.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var rName=PIPEFS.nextname();var wName=PIPEFS.nextname();var rNode=FS.createNode(PIPEFS.root,rName,4096,0);var wNode=FS.createNode(PIPEFS.root,wName,4096,0);rNode.pipe=pipe;wNode.pipe=pipe;var readableStream=FS.createStream({path:rName,node:rNode,flags:0,seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:1,seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{getattr(stream){var node=stream.node;var timestamp=node.pipe.timestamp;return{dev:14,ino:node.id,mode:4480,nlink:1,uid:0,gid:0,rdev:0,size:0,atime:timestamp,mtime:timestamp,ctime:timestamp,blksize:4096,blocks:0}},poll(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}for(var bucket of pipe.buckets){if(bucket.offset-bucket.roffset>0){return 64|1}}return 0},dup(stream){stream.node.pipe.refcnt++},ioctl(stream,request,varargs){return 28},fsync(stream){return 28},read(stream,buffer,offset,length,position){var pipe=stream.node.pipe;var currentLength=0;for(var bucket of pipe.buckets){currentLength+=bucket.offset-bucket.roffset}var data=buffer.subarray(offset,offset+length);if(length<=0){return 0}if(currentLength==0){throw new FS.ErrnoError(6)}var toRead=Math.min(currentLength,length);var totalRead=toRead;var toRemove=0;for(var bucket of pipe.buckets){var bucketSize=bucket.offset-bucket.roffset;if(toRead<=bucketSize){var tmpSlice=bucket.buffer.subarray(bucket.roffset,bucket.offset);if(toRead=dataLen){currBucket.buffer.set(data,currBucket.offset);currBucket.offset+=dataLen;return dataLen}else if(freeBytesInCurrBuffer>0){currBucket.buffer.set(data.subarray(0,freeBytesInCurrBuffer),currBucket.offset);currBucket.offset+=freeBytesInCurrBuffer;data=data.subarray(freeBytesInCurrBuffer,data.byteLength)}var numBuckets=data.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0;var remElements=data.byteLength%PIPEFS.BUCKET_BUFFER_SIZE;for(var i=0;i0){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:data.byteLength,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data)}return dataLen},close(stream){var pipe=stream.node.pipe;pipe.refcnt--;if(pipe.refcnt===0){pipe.buckets=null}}},nextname(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall_pipe(fdPtr){try{if(fdPtr==0){throw new FS.ErrnoError(21)}var res=PIPEFS.createPipe();HEAP32[fdPtr>>2]=res.readable_fd;HEAP32[fdPtr+4>>2]=res.writable_fd;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_pipe.sig="ip";function ___syscall_poll(fds,nfds,timeout){try{var nonzero=0;for(var i=0;i>2];var events=HEAP16[pollfd+4>>1];var mask=32;var stream=FS.getStream(fd);if(stream){mask=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){mask=stream.stream_ops.poll(stream,-1)}}mask&=events|8|16;if(mask)nonzero++;HEAP16[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_poll.sig="ipii";function ___syscall_readlinkat(dirfd,path,buf,bufsize){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_readlinkat.sig="iippp";function ___syscall_recvfrom(fd,buf,len,flags,addr,addrlen){try{var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_recvfrom.sig="iippipp";function ___syscall_recvmsg(fd,message,flags,d1,d2,d3){try{var sock=getSocketFromFD(fd);var iov=HEAPU32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAPU32[message>>2];if(name){var errno=writeSockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_recvmsg.sig="iipiiii";function ___syscall_renameat(olddirfd,oldpath,newdirfd,newpath){try{oldpath=SYSCALLS.getStr(oldpath);newpath=SYSCALLS.getStr(newpath);oldpath=SYSCALLS.calculateAt(olddirfd,oldpath);newpath=SYSCALLS.calculateAt(newdirfd,newpath);FS.rename(oldpath,newpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_renameat.sig="iipip";function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_rmdir.sig="ip";function ___syscall_sendmsg(fd,message,flags,d1,d2,d3){try{var sock=getSocketFromFD(fd);var iov=HEAPU32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAPU32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=getSocketAddress(name,namelen);port=info.port;addr=info.addr}var total=0;for(var i=0;i>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;jHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);var now=Date.now(),atime,mtime;if(!times){atime=now;mtime=now}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){atime=now}else if(nanoseconds==1073741822){atime=null}else{atime=seconds*1e3+nanoseconds/(1e3*1e3)}times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){mtime=now}else if(nanoseconds==1073741822){mtime=null}else{mtime=seconds*1e3+nanoseconds/(1e3*1e3)}}if((mtime??atime)!==null){FS.utime(path,atime,mtime)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_utimensat.sig="iippi";var ___table_base=new WebAssembly.Global({value:"i32",mutable:false},1);var __abort_js=()=>abort("");__abort_js.sig="v";var dlSetError=msg=>{var sp=stackSave();var cmsg=stringToUTF8OnStack(msg);___dl_seterr(cmsg,0);stackRestore(sp)};var dlopenInternal=(handle,jsflags)=>{var filename=UTF8ToString(handle+36);var flags=HEAP32[handle+4>>2];filename=PATH.normalize(filename);var searchpaths=[];var global=Boolean(flags&256);var localScope=global?null:{};var combinedFlags={global,nodelete:Boolean(flags&4096),loadAsync:jsflags.loadAsync};if(jsflags.loadAsync){return loadDynamicLibrary(filename,combinedFlags,localScope,handle)}try{return loadDynamicLibrary(filename,combinedFlags,localScope,handle)}catch(e){dlSetError(`Could not load dynamic lib: ${filename}\n${e}`);return 0}};var __dlopen_js=handle=>dlopenInternal(handle,{loadAsync:false});__dlopen_js.sig="pp";var __dlsym_js=(handle,symbol,symbolIndex)=>{symbol=UTF8ToString(symbol);var result;var newSymIndex;var lib=LDSO.loadedLibsByHandle[handle];if(!lib.exports.hasOwnProperty(symbol)||lib.exports[symbol].stub){dlSetError(`Tried to lookup unknown symbol "${symbol}" in dynamic lib: ${lib.name}`);return 0}newSymIndex=Object.keys(lib.exports).indexOf(symbol);var origSym="orig$"+symbol;result=lib.exports[origSym];if(result){newSymIndex=Object.keys(lib.exports).indexOf(origSym)}else result=lib.exports[symbol];if(typeof result=="function"){var addr=getFunctionAddress(result);if(addr){result=addr}else{result=addFunction(result,result.sig);HEAPU32[symbolIndex>>2]=newSymIndex}}return result};__dlsym_js.sig="pppp";var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};_proc_exit.sig="vi";var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;_exit.sig="vi";var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var __emscripten_dlopen_js=(handle,onsuccess,onerror,user_data)=>{function errorCallback(e){var filename=UTF8ToString(handle+36);dlSetError(`'Could not load dynamic lib: ${filename}\n${e}`);callUserCallback(()=>getWasmTableEntry(onerror)(handle,user_data))}function successCallback(){callUserCallback(()=>getWasmTableEntry(onsuccess)(handle,user_data))}var promise=dlopenInternal(handle,{loadAsync:true});if(promise){promise.then(successCallback,errorCallback)}else{errorCallback()}};__emscripten_dlopen_js.sig="vpppp";var getExecutableName=()=>thisProgram||"./this.program";var __emscripten_get_progname=(str,len)=>stringToUTF8(getExecutableName(),str,len);__emscripten_get_progname.sig="vpi";var __emscripten_lookup_name=name=>{var nameString=UTF8ToString(name);return inetPton4(DNS.lookup_name(nameString))};__emscripten_lookup_name.sig="ip";var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};__emscripten_runtime_keepalive_clear.sig="v";var __emscripten_system=command=>{if(!command)return 0;return-52};__emscripten_system.sig="ip";var __emscripten_throw_longjmp=()=>{throw Infinity};__emscripten_throw_longjmp.sig="v";function __gmtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday}__gmtime_js.sig="viip";var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}__localtime_js.sig="viip";var setTempRet0=val=>__emscripten_tempret_set(val);var _setTempRet0=setTempRet0;var __mktime_js=function(tmPtr){var ret=(()=>{var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getYear();var timeMs=date.getTime();if(isNaN(timeMs)){return-1}return timeMs/1e3})();return setTempRet0((tempDouble=ret,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),ret>>>0};__mktime_js.sig="ip";function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}__mmap_js.sig="ipiiiiipp";function __msync_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return-61;SYSCALLS.doMsync(addr,SYSCALLS.getStreamFromFD(fd),len,flags,offset);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}__msync_js.sig="ippiiiii";function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}__munmap_js.sig="ippiiiii";var timers={};var _emscripten_get_now=()=>performance.now();_emscripten_get_now.sig="d";var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};__setitimer_js.sig="iid";var __timegm_js=function(tmPtr){var ret=(()=>{var time=Date.UTC(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var date=new Date(time);HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3})();return setTempRet0((tempDouble=ret,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),ret>>>0};__timegm_js.sig="ip";var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset{MainLoop.timingMode=mode;MainLoop.timingValue=value;if(!MainLoop.func){return 1}if(!MainLoop.running){MainLoop.running=true}if(mode==0){MainLoop.scheduler=function MainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,MainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(MainLoop.runner,timeUntilNextTick)};MainLoop.method="timeout"}else if(mode==1){MainLoop.scheduler=function MainLoop_scheduler_rAF(){MainLoop.requestAnimationFrame(MainLoop.runner)};MainLoop.method="rAF"}else if(mode==2){if(typeof MainLoop.setImmediate=="undefined"){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var MainLoop_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",MainLoop_setImmediate_messageHandler,true);MainLoop.setImmediate=func=>{setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){Module["setImmediates"]??=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}else{MainLoop.setImmediate=setImmediate}}MainLoop.scheduler=function MainLoop_scheduler_setImmediate(){MainLoop.setImmediate(MainLoop.runner)};MainLoop.method="immediate"}return 0};_emscripten_set_main_loop_timing.sig="iii";var setMainLoop=(iterFunc,fps,simulateInfiniteLoop,arg,noSetTiming)=>{MainLoop.func=iterFunc;MainLoop.arg=arg;var thisMainLoopId=MainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=MainLoop.queue.shift();blocker.func(blocker.arg);if(MainLoop.remainingBlockers){var remaining=MainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){MainLoop.remainingBlockers=next}else{next=next+.5;MainLoop.remainingBlockers=(8*remaining+next)/9}}MainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(MainLoop.runner,0);return}if(!checkIsRunning())return;MainLoop.currentFrameNumber=MainLoop.currentFrameNumber+1|0;if(MainLoop.timingMode==1&&MainLoop.timingValue>1&&MainLoop.currentFrameNumber%MainLoop.timingValue!=0){MainLoop.scheduler();return}else if(MainLoop.timingMode==0){MainLoop.tickStartTime=_emscripten_get_now()}MainLoop.runIter(iterFunc);if(!checkIsRunning())return;MainLoop.scheduler()};if(!noSetTiming){if(fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}MainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}};var MainLoop={running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],preMainLoop:[],postMainLoop:[],pause(){MainLoop.scheduler=null;MainLoop.currentlyRunningMainloop++},resume(){MainLoop.currentlyRunningMainloop++;var timingMode=MainLoop.timingMode;var timingValue=MainLoop.timingValue;var func=MainLoop.func;MainLoop.func=null;setMainLoop(func,0,false,MainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);MainLoop.scheduler()},updateStatus(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=MainLoop.remainingBlockers??0;var expected=MainLoop.expectedBlockers??0;if(remaining){if(remaining=MainLoop.nextRAF){MainLoop.nextRAF+=1e3/60}}var delay=Math.max(MainLoop.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=MainLoop.fakeRequestAnimationFrame;RAF(func)}};var AL={QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:.1,DEVICE_NAME:"Emscripten OpenAL",CAPTURE_DEVICE_NAME:"Emscripten OpenAL capture",ALC_EXTENSIONS:{ALC_SOFT_pause_device:true,ALC_SOFT_HRTF:true},AL_EXTENSIONS:{AL_EXT_float32:true,AL_SOFT_loop_points:true,AL_SOFT_source_length:true,AL_EXT_source_distance_model:true,AL_SOFT_source_spatialize:true},_alcErr:0,alcErr:0,deviceRefCounts:{},alcStringCache:{},paused:false,stringCache:{},contexts:{},currentCtx:null,buffers:{0:{id:0,refCount:0,audioBuf:null,frequency:0,bytesPerSample:2,channels:1,length:0}},paramArray:[],_nextId:1,newId:()=>AL.freeIds.length>0?AL.freeIds.pop():AL._nextId++,freeIds:[],scheduleContextAudio:ctx=>{if(MainLoop.timingMode===1&&document["visibilityState"]!="visible"){return}for(var i in ctx.sources){AL.scheduleSourceAudio(ctx.sources[i])}},scheduleSourceAudio:(src,lookahead)=>{if(MainLoop.timingMode===1&&document["visibilityState"]!="visible"){return}if(src.state!==4114){return}var currentTime=AL.updateSourceTime(src);var startTime=src.bufStartTime;var startOffset=src.bufOffset;var bufCursor=src.bufsProcessed;for(var i=0;i=src.bufQueue.length){if(src.looping){bufCursor%=src.bufQueue.length}else{break}}var buf=src.bufQueue[bufCursor%src.bufQueue.length];if(buf.length===0){skipCount++;if(skipCount===src.bufQueue.length){break}}else{var audioSrc=src.context.audioCtx.createBufferSource();audioSrc.buffer=buf.audioBuf;audioSrc.playbackRate.value=src.playbackRate;if(buf.audioBuf._loopStart||buf.audioBuf._loopEnd){audioSrc.loopStart=buf.audioBuf._loopStart;audioSrc.loopEnd=buf.audioBuf._loopEnd}var duration=0;if(src.type===4136&&src.looping){duration=Number.POSITIVE_INFINITY;audioSrc.loop=true;if(buf.audioBuf._loopStart){audioSrc.loopStart=buf.audioBuf._loopStart}if(buf.audioBuf._loopEnd){audioSrc.loopEnd=buf.audioBuf._loopEnd}}else{duration=(buf.audioBuf.duration-startOffset)/src.playbackRate}audioSrc._startOffset=startOffset;audioSrc._duration=duration;audioSrc._skipCount=skipCount;skipCount=0;audioSrc.connect(src.gain);if(typeof audioSrc.start!="undefined"){startTime=Math.max(startTime,src.context.audioCtx.currentTime);audioSrc.start(startTime,startOffset)}else if(typeof audioSrc.noteOn!="undefined"){startTime=Math.max(startTime,src.context.audioCtx.currentTime);audioSrc.noteOn(startTime)}audioSrc._startTime=startTime;src.audioQueue.push(audioSrc);startTime+=duration}startOffset=0;bufCursor++}},updateSourceTime:src=>{var currentTime=src.context.audioCtx.currentTime;if(src.state!==4114){return currentTime}if(!isFinite(src.bufStartTime)){src.bufStartTime=currentTime-src.bufOffset/src.playbackRate;src.bufOffset=0}var nextStartTime=0;while(src.audioQueue.length){var audioSrc=src.audioQueue[0];src.bufsProcessed+=audioSrc._skipCount;nextStartTime=audioSrc._startTime+audioSrc._duration;if(currentTime=src.bufQueue.length&&!src.looping){AL.setSourceState(src,4116)}else if(src.type===4136&&src.looping){var buf=src.bufQueue[0];if(buf.length===0){src.bufOffset=0}else{var delta=(currentTime-src.bufStartTime)*src.playbackRate;var loopStart=buf.audioBuf._loopStart||0;var loopEnd=buf.audioBuf._loopEnd||buf.audioBuf.duration;if(loopEnd<=loopStart){loopEnd=buf.audioBuf.duration}if(delta0){src.bufStartTime+=Math.floor((currentTime-src.bufStartTime)/srcDuration)*srcDuration}}for(var i=0;i=src.bufQueue.length){if(src.looping){src.bufsProcessed%=src.bufQueue.length}else{AL.setSourceState(src,4116);break}}var buf=src.bufQueue[src.bufsProcessed];if(buf.length>0){nextStartTime=src.bufStartTime+buf.audioBuf.duration/src.playbackRate;if(currentTime{AL.updateSourceTime(src);for(var i=1;i1){src.audioQueue.length=1}},stopSourceAudio:src=>{for(var i=0;i{if(state===4114){if(src.state===4114||src.state==4116){src.bufsProcessed=0;src.bufOffset=0}else{}AL.stopSourceAudio(src);src.state=4114;src.bufStartTime=Number.NEGATIVE_INFINITY;AL.scheduleSourceAudio(src)}else if(state===4115){if(src.state===4114){AL.updateSourceTime(src);AL.stopSourceAudio(src);src.state=4115}}else if(state===4116){if(src.state!==4113){src.state=4116;src.bufsProcessed=src.bufQueue.length;src.bufStartTime=Number.NEGATIVE_INFINITY;src.bufOffset=0;AL.stopSourceAudio(src)}}else if(state===4113){if(src.state!==4113){src.state=4113;src.bufsProcessed=0;src.bufStartTime=Number.NEGATIVE_INFINITY;src.bufOffset=0;AL.stopSourceAudio(src)}}},initSourcePanner:src=>{if(src.type===4144){return}var templateBuf=AL.buffers[0];for(var i=0;i{for(var i in ctx.sources){AL.updateSourceGlobal(ctx.sources[i])}},updateSourceGlobal:src=>{var panner=src.panner;if(!panner){return}panner.refDistance=src.refDistance;panner.maxDistance=src.maxDistance;panner.rolloffFactor=src.rolloffFactor;panner.panningModel=src.context.hrtf?"HRTF":"equalpower";var distanceModel=src.context.sourceDistanceModel?src.distanceModel:src.context.distanceModel;switch(distanceModel){case 0:panner.distanceModel="inverse";panner.refDistance=340282e33;break;case 53249:case 53250:panner.distanceModel="inverse";break;case 53251:case 53252:panner.distanceModel="linear";break;case 53253:case 53254:panner.distanceModel="exponential";break}},updateListenerSpace:ctx=>{var listener=ctx.audioCtx.listener;if(listener.positionX){listener.positionX.value=ctx.listener.position[0];listener.positionY.value=ctx.listener.position[1];listener.positionZ.value=ctx.listener.position[2]}else{listener.setPosition(ctx.listener.position[0],ctx.listener.position[1],ctx.listener.position[2])}if(listener.forwardX){listener.forwardX.value=ctx.listener.direction[0];listener.forwardY.value=ctx.listener.direction[1];listener.forwardZ.value=ctx.listener.direction[2];listener.upX.value=ctx.listener.up[0];listener.upY.value=ctx.listener.up[1];listener.upZ.value=ctx.listener.up[2]}else{listener.setOrientation(ctx.listener.direction[0],ctx.listener.direction[1],ctx.listener.direction[2],ctx.listener.up[0],ctx.listener.up[1],ctx.listener.up[2])}for(var i in ctx.sources){AL.updateSourceSpace(ctx.sources[i])}},updateSourceSpace:src=>{if(!src.panner){return}var panner=src.panner;var posX=src.position[0];var posY=src.position[1];var posZ=src.position[2];var dirX=src.direction[0];var dirY=src.direction[1];var dirZ=src.direction[2];var listener=src.context.listener;var lPosX=listener.position[0];var lPosY=listener.position[1];var lPosZ=listener.position[2];if(src.relative){var lBackX=-listener.direction[0];var lBackY=-listener.direction[1];var lBackZ=-listener.direction[2];var lUpX=listener.up[0];var lUpY=listener.up[1];var lUpZ=listener.up[2];var inverseMagnitude=(x,y,z)=>{var length=Math.sqrt(x*x+y*y+z*z);if(length{if(src.state===4114){AL.cancelPendingSourceAudio(src);var audioSrc=src.audioQueue[0];if(!audioSrc){return}var duration;if(src.type===4136&&src.looping){duration=Number.POSITIVE_INFINITY}else{duration=(audioSrc.buffer.duration-audioSrc._startOffset)/src.playbackRate}audioSrc._duration=duration;audioSrc.playbackRate.value=src.playbackRate;AL.scheduleSourceAudio(src)}},sourceDuration:src=>{var length=0;for(var i=0;i{AL.updateSourceTime(src);var offset=0;for(var i=0;i{var playing=src.state==4114;if(playing){AL.setSourceState(src,4113)}if(src.bufQueue[src.bufsProcessed].audioBuf!==null){src.bufsProcessed=0;while(offset>src.bufQueue[src.bufsProcessed].audioBuf.duration){offset-=src.bufQueue[src.bufsProcessed].audioBuf.duration;src.bufsProcessed++}src.bufOffset=offset}if(playing){AL.setSourceState(src,4114)}},getGlobalParam:(funcname,param)=>{if(!AL.currentCtx){return null}switch(param){case 49152:return AL.currentCtx.dopplerFactor;case 49155:return AL.currentCtx.speedOfSound;case 53248:return AL.currentCtx.distanceModel;default:AL.currentCtx.err=40962;return null}},setGlobalParam:(funcname,param,value)=>{if(!AL.currentCtx){return}switch(param){case 49152:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}AL.currentCtx.dopplerFactor=value;AL.updateListenerSpace(AL.currentCtx);break;case 49155:if(!Number.isFinite(value)||value<=0){AL.currentCtx.err=40963;return}AL.currentCtx.speedOfSound=value;AL.updateListenerSpace(AL.currentCtx);break;case 53248:switch(value){case 0:case 53249:case 53250:case 53251:case 53252:case 53253:case 53254:AL.currentCtx.distanceModel=value;AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}},getListenerParam:(funcname,param)=>{if(!AL.currentCtx){return null}switch(param){case 4100:return AL.currentCtx.listener.position;case 4102:return AL.currentCtx.listener.velocity;case 4111:return AL.currentCtx.listener.direction.concat(AL.currentCtx.listener.up);case 4106:return AL.currentCtx.gain.gain.value;default:AL.currentCtx.err=40962;return null}},setListenerParam:(funcname,param,value)=>{if(!AL.currentCtx){return}if(value===null){AL.currentCtx.err=40962;return}var listener=AL.currentCtx.listener;switch(param){case 4100:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}listener.position[0]=value[0];listener.position[1]=value[1];listener.position[2]=value[2];AL.updateListenerSpace(AL.currentCtx);break;case 4102:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}listener.velocity[0]=value[0];listener.velocity[1]=value[1];listener.velocity[2]=value[2];AL.updateListenerSpace(AL.currentCtx);break;case 4106:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}AL.currentCtx.gain.gain.value=value;break;case 4111:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])||!Number.isFinite(value[3])||!Number.isFinite(value[4])||!Number.isFinite(value[5])){AL.currentCtx.err=40963;return}listener.direction[0]=value[0];listener.direction[1]=value[1];listener.direction[2]=value[2];listener.up[0]=value[3];listener.up[1]=value[4];listener.up[2]=value[5];AL.updateListenerSpace(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}},getBufferParam:(funcname,bufferId,param)=>{if(!AL.currentCtx){return}var buf=AL.buffers[bufferId];if(!buf||bufferId===0){AL.currentCtx.err=40961;return}switch(param){case 8193:return buf.frequency;case 8194:return buf.bytesPerSample*8;case 8195:return buf.channels;case 8196:return buf.length*buf.bytesPerSample*buf.channels;case 8213:if(buf.length===0){return[0,0]}return[(buf.audioBuf._loopStart||0)*buf.frequency,(buf.audioBuf._loopEnd||buf.length)*buf.frequency];default:AL.currentCtx.err=40962;return null}},setBufferParam:(funcname,bufferId,param,value)=>{if(!AL.currentCtx){return}var buf=AL.buffers[bufferId];if(!buf||bufferId===0){AL.currentCtx.err=40961;return}if(value===null){AL.currentCtx.err=40962;return}switch(param){case 8196:if(value!==0){AL.currentCtx.err=40963;return}break;case 8213:if(value[0]<0||value[0]>buf.length||value[1]<0||value[1]>buf.Length||value[0]>=value[1]){AL.currentCtx.err=40963;return}if(buf.refCount>0){AL.currentCtx.err=40964;return}if(buf.audioBuf){buf.audioBuf._loopStart=value[0]/buf.frequency;buf.audioBuf._loopEnd=value[1]/buf.frequency}break;default:AL.currentCtx.err=40962;return}},getSourceParam:(funcname,sourceId,param)=>{if(!AL.currentCtx){return null}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return null}switch(param){case 514:return src.relative;case 4097:return src.coneInnerAngle;case 4098:return src.coneOuterAngle;case 4099:return src.pitch;case 4100:return src.position;case 4101:return src.direction;case 4102:return src.velocity;case 4103:return src.looping;case 4105:if(src.type===4136){return src.bufQueue[0].id}return 0;case 4106:return src.gain.gain.value;case 4109:return src.minGain;case 4110:return src.maxGain;case 4112:return src.state;case 4117:if(src.bufQueue.length===1&&src.bufQueue[0].id===0){return 0}return src.bufQueue.length;case 4118:if(src.bufQueue.length===1&&src.bufQueue[0].id===0||src.looping){return 0}return src.bufsProcessed;case 4128:return src.refDistance;case 4129:return src.rolloffFactor;case 4130:return src.coneOuterGain;case 4131:return src.maxDistance;case 4132:return AL.sourceTell(src);case 4133:var offset=AL.sourceTell(src);if(offset>0){offset*=src.bufQueue[0].frequency}return offset;case 4134:var offset=AL.sourceTell(src);if(offset>0){offset*=src.bufQueue[0].frequency*src.bufQueue[0].bytesPerSample}return offset;case 4135:return src.type;case 4628:return src.spatialize;case 8201:var length=0;var bytesPerFrame=0;for(var i=0;i{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(value===null){AL.currentCtx.err=40962;return}switch(param){case 514:if(value===1){src.relative=true;AL.updateSourceSpace(src)}else if(value===0){src.relative=false;AL.updateSourceSpace(src)}else{AL.currentCtx.err=40963;return}break;case 4097:if(!Number.isFinite(value)){AL.currentCtx.err=40963;return}src.coneInnerAngle=value;if(src.panner){src.panner.coneInnerAngle=value%360}break;case 4098:if(!Number.isFinite(value)){AL.currentCtx.err=40963;return}src.coneOuterAngle=value;if(src.panner){src.panner.coneOuterAngle=value%360}break;case 4099:if(!Number.isFinite(value)||value<=0){AL.currentCtx.err=40963;return}if(src.pitch===value){break}src.pitch=value;AL.updateSourceRate(src);break;case 4100:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.position[0]=value[0];src.position[1]=value[1];src.position[2]=value[2];AL.updateSourceSpace(src);break;case 4101:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.direction[0]=value[0];src.direction[1]=value[1];src.direction[2]=value[2];AL.updateSourceSpace(src);break;case 4102:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.velocity[0]=value[0];src.velocity[1]=value[1];src.velocity[2]=value[2];AL.updateSourceSpace(src);break;case 4103:if(value===1){src.looping=true;AL.updateSourceTime(src);if(src.type===4136&&src.audioQueue.length>0){var audioSrc=src.audioQueue[0];audioSrc.loop=true;audioSrc._duration=Number.POSITIVE_INFINITY}}else if(value===0){src.looping=false;var currentTime=AL.updateSourceTime(src);if(src.type===4136&&src.audioQueue.length>0){var audioSrc=src.audioQueue[0];audioSrc.loop=false;audioSrc._duration=src.bufQueue[0].audioBuf.duration/src.playbackRate;audioSrc._startTime=currentTime-src.bufOffset/src.playbackRate}}else{AL.currentCtx.err=40963;return}break;case 4105:if(src.state===4114||src.state===4115){AL.currentCtx.err=40964;return}if(value===0){for(var i in src.bufQueue){src.bufQueue[i].refCount--}src.bufQueue.length=1;src.bufQueue[0]=AL.buffers[0];src.bufsProcessed=0;src.type=4144}else{var buf=AL.buffers[value];if(!buf){AL.currentCtx.err=40963;return}for(var i in src.bufQueue){src.bufQueue[i].refCount--}src.bufQueue.length=0;buf.refCount++;src.bufQueue=[buf];src.bufsProcessed=0;src.type=4136}AL.initSourcePanner(src);AL.scheduleSourceAudio(src);break;case 4106:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.gain.gain.value=value;break;case 4109:if(!Number.isFinite(value)||value<0||value>Math.min(src.maxGain,1)){AL.currentCtx.err=40963;return}src.minGain=value;break;case 4110:if(!Number.isFinite(value)||value1){AL.currentCtx.err=40963;return}src.maxGain=value;break;case 4128:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.refDistance=value;if(src.panner){src.panner.refDistance=value}break;case 4129:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.rolloffFactor=value;if(src.panner){src.panner.rolloffFactor=value}break;case 4130:if(!Number.isFinite(value)||value<0||value>1){AL.currentCtx.err=40963;return}src.coneOuterGain=value;if(src.panner){src.panner.coneOuterGain=value}break;case 4131:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.maxDistance=value;if(src.panner){src.panner.maxDistance=value}break;case 4132:if(value<0||value>AL.sourceDuration(src)){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case 4133:var srcLen=AL.sourceDuration(src);if(srcLen>0){var frequency;for(var bufId in src.bufQueue){if(bufId){frequency=src.bufQueue[bufId].frequency;break}}value/=frequency}if(value<0||value>srcLen){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case 4134:var srcLen=AL.sourceDuration(src);if(srcLen>0){var bytesPerSec;for(var bufId in src.bufQueue){if(bufId){var buf=src.bufQueue[bufId];bytesPerSec=buf.frequency*buf.bytesPerSample*buf.channels;break}}value/=bytesPerSec}if(value<0||value>srcLen){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case 4628:if(value!==0&&value!==1&&value!==2){AL.currentCtx.err=40963;return}src.spatialize=value;AL.initSourcePanner(src);break;case 8201:case 8202:case 8203:AL.currentCtx.err=40964;break;case 53248:switch(value){case 0:case 53249:case 53250:case 53251:case 53252:case 53253:case 53254:src.distanceModel=value;if(AL.currentCtx.sourceDistanceModel){AL.updateContextGlobal(AL.currentCtx)}break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}},captures:{},sharedCaptureAudioCtx:null,requireValidCaptureDevice:(deviceId,funcname)=>{if(deviceId===0){AL.alcErr=40961;return null}var c=AL.captures[deviceId];if(!c){AL.alcErr=40961;return null}var err=c.mediaStreamError;if(err){AL.alcErr=40961;return null}return c}};var _alBuffer3f=(bufferId,param,value0,value1,value2)=>{AL.setBufferParam("alBuffer3f",bufferId,param,null)};_alBuffer3f.sig="viifff";var _alBuffer3i=(bufferId,param,value0,value1,value2)=>{AL.setBufferParam("alBuffer3i",bufferId,param,null)};_alBuffer3i.sig="viiiii";var _alBufferData=(bufferId,format,pData,size,freq)=>{if(!AL.currentCtx){return}var buf=AL.buffers[bufferId];if(!buf){AL.currentCtx.err=40963;return}if(freq<=0){AL.currentCtx.err=40963;return}var audioBuf=null;try{switch(format){case 4352:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size,freq);var channel0=audioBuf.getChannelData(0);for(var i=0;i0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size>>1,freq);var channel0=audioBuf.getChannelData(0);pData>>=1;for(var i=0;i>1;++i){channel0[i]=HEAP16[pData++]*30517578125e-15}}buf.bytesPerSample=2;buf.channels=1;buf.length=size>>1;break;case 4354:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>1,freq);var channel0=audioBuf.getChannelData(0);var channel1=audioBuf.getChannelData(1);for(var i=0;i>1;++i){channel0[i]=HEAPU8[pData++]*.0078125-1;channel1[i]=HEAPU8[pData++]*.0078125-1}}buf.bytesPerSample=1;buf.channels=2;buf.length=size>>1;break;case 4355:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>2,freq);var channel0=audioBuf.getChannelData(0);var channel1=audioBuf.getChannelData(1);pData>>=1;for(var i=0;i>2;++i){channel0[i]=HEAP16[pData++]*30517578125e-15;channel1[i]=HEAP16[pData++]*30517578125e-15}}buf.bytesPerSample=2;buf.channels=2;buf.length=size>>2;break;case 65552:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size>>2,freq);var channel0=audioBuf.getChannelData(0);pData>>=2;for(var i=0;i>2;++i){channel0[i]=HEAPF32[pData++]}}buf.bytesPerSample=4;buf.channels=1;buf.length=size>>2;break;case 65553:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>3,freq);var channel0=audioBuf.getChannelData(0);var channel1=audioBuf.getChannelData(1);pData>>=2;for(var i=0;i>3;++i){channel0[i]=HEAPF32[pData++];channel1[i]=HEAPF32[pData++]}}buf.bytesPerSample=4;buf.channels=2;buf.length=size>>3;break;default:AL.currentCtx.err=40963;return}buf.frequency=freq;buf.audioBuf=audioBuf}catch(e){AL.currentCtx.err=40963;return}};_alBufferData.sig="viipii";var _alBufferf=(bufferId,param,value)=>{AL.setBufferParam("alBufferf",bufferId,param,null)};_alBufferf.sig="viif";var _alBufferfv=(bufferId,param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}AL.setBufferParam("alBufferfv",bufferId,param,null)};_alBufferfv.sig="viip";var _alBufferi=(bufferId,param,value)=>{AL.setBufferParam("alBufferi",bufferId,param,null)};_alBufferi.sig="viii";var _alBufferiv=(bufferId,param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 8213:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.setBufferParam("alBufferiv",bufferId,param,AL.paramArray);break;default:AL.setBufferParam("alBufferiv",bufferId,param,null);break}};_alBufferiv.sig="viip";var _alDeleteBuffers=(count,pBufferIds)=>{if(!AL.currentCtx){return}for(var i=0;i>2];if(bufId===0){continue}if(!AL.buffers[bufId]){AL.currentCtx.err=40961;return}if(AL.buffers[bufId].refCount){AL.currentCtx.err=40964;return}}for(var i=0;i>2];if(bufId===0){continue}AL.deviceRefCounts[AL.buffers[bufId].deviceId]--;delete AL.buffers[bufId];AL.freeIds.push(bufId)}};_alDeleteBuffers.sig="vip";var _alSourcei=(sourceId,param,value)=>{switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4628:case 8201:case 8202:case 53248:AL.setSourceParam("alSourcei",sourceId,param,value);break;default:AL.setSourceParam("alSourcei",sourceId,param,null);break}};_alSourcei.sig="viii";var _alDeleteSources=(count,pSourceIds)=>{if(!AL.currentCtx){return}for(var i=0;i>2];if(!AL.currentCtx.sources[srcId]){AL.currentCtx.err=40961;return}}for(var i=0;i>2];AL.setSourceState(AL.currentCtx.sources[srcId],4116);_alSourcei(srcId,4105,0);delete AL.currentCtx.sources[srcId];AL.freeIds.push(srcId)}};_alDeleteSources.sig="vip";var _alDisable=param=>{if(!AL.currentCtx){return}switch(param){case 512:AL.currentCtx.sourceDistanceModel=false;AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}};_alDisable.sig="vi";var _alDistanceModel=model=>{AL.setGlobalParam("alDistanceModel",53248,model)};_alDistanceModel.sig="vi";var _alDopplerFactor=value=>{AL.setGlobalParam("alDopplerFactor",49152,value)};_alDopplerFactor.sig="vf";var _alDopplerVelocity=value=>{warnOnce("alDopplerVelocity() is deprecated, and only kept for compatibility with OpenAL 1.0. Use alSpeedOfSound() instead.");if(!AL.currentCtx){return}if(value<=0){AL.currentCtx.err=40963;return}};_alDopplerVelocity.sig="vf";var _alEnable=param=>{if(!AL.currentCtx){return}switch(param){case 512:AL.currentCtx.sourceDistanceModel=true;AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}};_alEnable.sig="vi";var _alGenBuffers=(count,pBufferIds)=>{if(!AL.currentCtx){return}for(var i=0;i>2]=buf.id}};_alGenBuffers.sig="vip";var _alGenSources=(count,pSourceIds)=>{if(!AL.currentCtx){return}for(var i=0;i>2]=src.id}};_alGenSources.sig="vip";var _alGetBoolean=param=>{var val=AL.getGlobalParam("alGetBoolean",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val!==0?1:0;default:AL.currentCtx.err=40962;return 0}};_alGetBoolean.sig="ii";var _alGetBooleanv=(param,pValues)=>{var val=AL.getGlobalParam("alGetBooleanv",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAP8[pValues]=val;break;default:AL.currentCtx.err=40962;return}};_alGetBooleanv.sig="vip";var _alGetBuffer3f=(bufferId,param,pValue0,pValue1,pValue2)=>{var val=AL.getBufferParam("alGetBuffer3f",bufferId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962};_alGetBuffer3f.sig="viippp";var _alGetBuffer3i=(bufferId,param,pValue0,pValue1,pValue2)=>{var val=AL.getBufferParam("alGetBuffer3i",bufferId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962};_alGetBuffer3i.sig="viippp";var _alGetBufferf=(bufferId,param,pValue)=>{var val=AL.getBufferParam("alGetBufferf",bufferId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962};_alGetBufferf.sig="viip";var _alGetBufferfv=(bufferId,param,pValues)=>{var val=AL.getBufferParam("alGetBufferfv",bufferId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962};_alGetBufferfv.sig="viip";var _alGetBufferi=(bufferId,param,pValue)=>{var val=AL.getBufferParam("alGetBufferi",bufferId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 8193:case 8194:case 8195:case 8196:HEAP32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetBufferi.sig="viip";var _alGetBufferiv=(bufferId,param,pValues)=>{var val=AL.getBufferParam("alGetBufferiv",bufferId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 8193:case 8194:case 8195:case 8196:HEAP32[pValues>>2]=val;break;case 8213:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];break;default:AL.currentCtx.err=40962;return}};_alGetBufferiv.sig="viip";var _alGetDouble=param=>{var val=AL.getGlobalParam("alGetDouble",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val;default:AL.currentCtx.err=40962;return 0}};_alGetDouble.sig="di";var _alGetDoublev=(param,pValues)=>{var val=AL.getGlobalParam("alGetDoublev",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAPF64[pValues>>3]=val;break;default:AL.currentCtx.err=40962;return}};_alGetDoublev.sig="vip";var _alGetEnumValue=pEnumName=>{if(!AL.currentCtx){return 0}if(!pEnumName){AL.currentCtx.err=40963;return 0}var name=UTF8ToString(pEnumName);switch(name){case"AL_BITS":return 8194;case"AL_BUFFER":return 4105;case"AL_BUFFERS_PROCESSED":return 4118;case"AL_BUFFERS_QUEUED":return 4117;case"AL_BYTE_OFFSET":return 4134;case"AL_CHANNELS":return 8195;case"AL_CONE_INNER_ANGLE":return 4097;case"AL_CONE_OUTER_ANGLE":return 4098;case"AL_CONE_OUTER_GAIN":return 4130;case"AL_DIRECTION":return 4101;case"AL_DISTANCE_MODEL":return 53248;case"AL_DOPPLER_FACTOR":return 49152;case"AL_DOPPLER_VELOCITY":return 49153;case"AL_EXPONENT_DISTANCE":return 53253;case"AL_EXPONENT_DISTANCE_CLAMPED":return 53254;case"AL_EXTENSIONS":return 45060;case"AL_FORMAT_MONO16":return 4353;case"AL_FORMAT_MONO8":return 4352;case"AL_FORMAT_STEREO16":return 4355;case"AL_FORMAT_STEREO8":return 4354;case"AL_FREQUENCY":return 8193;case"AL_GAIN":return 4106;case"AL_INITIAL":return 4113;case"AL_INVALID":return-1;case"AL_ILLEGAL_ENUM":case"AL_INVALID_ENUM":return 40962;case"AL_INVALID_NAME":return 40961;case"AL_ILLEGAL_COMMAND":case"AL_INVALID_OPERATION":return 40964;case"AL_INVALID_VALUE":return 40963;case"AL_INVERSE_DISTANCE":return 53249;case"AL_INVERSE_DISTANCE_CLAMPED":return 53250;case"AL_LINEAR_DISTANCE":return 53251;case"AL_LINEAR_DISTANCE_CLAMPED":return 53252;case"AL_LOOPING":return 4103;case"AL_MAX_DISTANCE":return 4131;case"AL_MAX_GAIN":return 4110;case"AL_MIN_GAIN":return 4109;case"AL_NONE":return 0;case"AL_NO_ERROR":return 0;case"AL_ORIENTATION":return 4111;case"AL_OUT_OF_MEMORY":return 40965;case"AL_PAUSED":return 4115;case"AL_PENDING":return 8209;case"AL_PITCH":return 4099;case"AL_PLAYING":return 4114;case"AL_POSITION":return 4100;case"AL_PROCESSED":return 8210;case"AL_REFERENCE_DISTANCE":return 4128;case"AL_RENDERER":return 45059;case"AL_ROLLOFF_FACTOR":return 4129;case"AL_SAMPLE_OFFSET":return 4133;case"AL_SEC_OFFSET":return 4132;case"AL_SIZE":return 8196;case"AL_SOURCE_RELATIVE":return 514;case"AL_SOURCE_STATE":return 4112;case"AL_SOURCE_TYPE":return 4135;case"AL_SPEED_OF_SOUND":return 49155;case"AL_STATIC":return 4136;case"AL_STOPPED":return 4116;case"AL_STREAMING":return 4137;case"AL_UNDETERMINED":return 4144;case"AL_UNUSED":return 8208;case"AL_VELOCITY":return 4102;case"AL_VENDOR":return 45057;case"AL_VERSION":return 45058;case"AL_AUTO_SOFT":return 2;case"AL_SOURCE_DISTANCE_MODEL":return 512;case"AL_SOURCE_SPATIALIZE_SOFT":return 4628;case"AL_LOOP_POINTS_SOFT":return 8213;case"AL_BYTE_LENGTH_SOFT":return 8201;case"AL_SAMPLE_LENGTH_SOFT":return 8202;case"AL_SEC_LENGTH_SOFT":return 8203;case"AL_FORMAT_MONO_FLOAT32":return 65552;case"AL_FORMAT_STEREO_FLOAT32":return 65553;default:AL.currentCtx.err=40963;return 0}};_alGetEnumValue.sig="ip";var _alGetError=()=>{if(!AL.currentCtx){return 40964}var err=AL.currentCtx.err;AL.currentCtx.err=0;return err};_alGetError.sig="i";var _alGetFloat=param=>{var val=AL.getGlobalParam("alGetFloat",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val;default:return 0}};_alGetFloat.sig="fi";var _alGetFloatv=(param,pValues)=>{var val=AL.getGlobalParam("alGetFloatv",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAPF32[pValues>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetFloatv.sig="vip";var _alGetInteger=param=>{var val=AL.getGlobalParam("alGetInteger",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val;default:AL.currentCtx.err=40962;return 0}};_alGetInteger.sig="ii";var _alGetIntegerv=(param,pValues)=>{var val=AL.getGlobalParam("alGetIntegerv",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAP32[pValues>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetIntegerv.sig="vip";var _alGetListener3f=(param,pValue0,pValue1,pValue2)=>{var val=AL.getListenerParam("alGetListener3f",param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAPF32[pValue0>>2]=val[0];HEAPF32[pValue1>>2]=val[1];HEAPF32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetListener3f.sig="vippp";var _alGetListener3i=(param,pValue0,pValue1,pValue2)=>{var val=AL.getListenerParam("alGetListener3i",param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAP32[pValue0>>2]=val[0];HEAP32[pValue1>>2]=val[1];HEAP32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetListener3i.sig="vippp";var _alGetListenerf=(param,pValue)=>{var val=AL.getListenerParam("alGetListenerf",param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 4106:HEAPF32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetListenerf.sig="vip";var _alGetListenerfv=(param,pValues)=>{var val=AL.getListenerParam("alGetListenerfv",param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAPF32[pValues>>2]=val[0];HEAPF32[pValues+4>>2]=val[1];HEAPF32[pValues+8>>2]=val[2];break;case 4111:HEAPF32[pValues>>2]=val[0];HEAPF32[pValues+4>>2]=val[1];HEAPF32[pValues+8>>2]=val[2];HEAPF32[pValues+12>>2]=val[3];HEAPF32[pValues+16>>2]=val[4];HEAPF32[pValues+20>>2]=val[5];break;default:AL.currentCtx.err=40962;return}};_alGetListenerfv.sig="vip";var _alGetListeneri=(param,pValue)=>{var val=AL.getListenerParam("alGetListeneri",param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962};_alGetListeneri.sig="vip";var _alGetListeneriv=(param,pValues)=>{var val=AL.getListenerParam("alGetListeneriv",param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];HEAP32[pValues+8>>2]=val[2];break;case 4111:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];HEAP32[pValues+8>>2]=val[2];HEAP32[pValues+12>>2]=val[3];HEAP32[pValues+16>>2]=val[4];HEAP32[pValues+20>>2]=val[5];break;default:AL.currentCtx.err=40962;return}};_alGetListeneriv.sig="vip";var _alGetSource3f=(sourceId,param,pValue0,pValue1,pValue2)=>{var val=AL.getSourceParam("alGetSource3f",sourceId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4101:case 4102:HEAPF32[pValue0>>2]=val[0];HEAPF32[pValue1>>2]=val[1];HEAPF32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetSource3f.sig="viippp";var _alGetSource3i=(sourceId,param,pValue0,pValue1,pValue2)=>{var val=AL.getSourceParam("alGetSource3i",sourceId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4101:case 4102:HEAP32[pValue0>>2]=val[0];HEAP32[pValue1>>2]=val[1];HEAP32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetSource3i.sig="viippp";var _alGetSourcef=(sourceId,param,pValue)=>{var val=AL.getSourceParam("alGetSourcef",sourceId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:HEAPF32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetSourcef.sig="viip";var _alGetSourcefv=(sourceId,param,pValues)=>{var val=AL.getSourceParam("alGetSourcefv",sourceId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:HEAPF32[pValues>>2]=val[0];break;case 4100:case 4101:case 4102:HEAPF32[pValues>>2]=val[0];HEAPF32[pValues+4>>2]=val[1];HEAPF32[pValues+8>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetSourcefv.sig="viip";var _alGetSourcei=(sourceId,param,pValue)=>{var val=AL.getSourceParam("alGetSourcei",sourceId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4112:case 4117:case 4118:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4135:case 4628:case 8201:case 8202:case 53248:HEAP32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetSourcei.sig="viip";var _alGetSourceiv=(sourceId,param,pValues)=>{var val=AL.getSourceParam("alGetSourceiv",sourceId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4112:case 4117:case 4118:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4135:case 4628:case 8201:case 8202:case 53248:HEAP32[pValues>>2]=val;break;case 4100:case 4101:case 4102:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];HEAP32[pValues+8>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetSourceiv.sig="viip";var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var _alGetString=param=>{if(AL.stringCache[param]){return AL.stringCache[param]}var ret;switch(param){case 0:ret="No Error";break;case 40961:ret="Invalid Name";break;case 40962:ret="Invalid Enum";break;case 40963:ret="Invalid Value";break;case 40964:ret="Invalid Operation";break;case 40965:ret="Out of Memory";break;case 45057:ret="Emscripten";break;case 45058:ret="1.1";break;case 45059:ret="WebAudio";break;case 45060:ret=Object.keys(AL.AL_EXTENSIONS).join(" ");break;default:if(AL.currentCtx){AL.currentCtx.err=40962}else{}return 0}ret=stringToNewUTF8(ret);AL.stringCache[param]=ret;return ret};_alGetString.sig="pi";var _alIsBuffer=bufferId=>{if(!AL.currentCtx){return false}if(bufferId>AL.buffers.length){return false}if(!AL.buffers[bufferId]){return false}return true};_alIsBuffer.sig="ii";var _alIsEnabled=param=>{if(!AL.currentCtx){return 0}switch(param){case 512:return AL.currentCtx.sourceDistanceModel?0:1;default:AL.currentCtx.err=40962;return 0}};_alIsEnabled.sig="ii";var _alIsExtensionPresent=pExtName=>{var name=UTF8ToString(pExtName);return AL.AL_EXTENSIONS[name]?1:0};_alIsExtensionPresent.sig="ip";var _alIsSource=sourceId=>{if(!AL.currentCtx){return false}if(!AL.currentCtx.sources[sourceId]){return false}return true};_alIsSource.sig="ii";var _alListener3f=(param,value0,value1,value2)=>{switch(param){case 4100:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setListenerParam("alListener3f",param,AL.paramArray);break;default:AL.setListenerParam("alListener3f",param,null);break}};_alListener3f.sig="vifff";var _alListener3i=(param,value0,value1,value2)=>{switch(param){case 4100:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setListenerParam("alListener3i",param,AL.paramArray);break;default:AL.setListenerParam("alListener3i",param,null);break}};_alListener3i.sig="viiii";var _alListenerf=(param,value)=>{switch(param){case 4106:AL.setListenerParam("alListenerf",param,value);break;default:AL.setListenerParam("alListenerf",param,null);break}};_alListenerf.sig="vif";var _alListenerfv=(param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.setListenerParam("alListenerfv",param,AL.paramArray);break;case 4111:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.paramArray[3]=HEAPF32[pValues+12>>2];AL.paramArray[4]=HEAPF32[pValues+16>>2];AL.paramArray[5]=HEAPF32[pValues+20>>2];AL.setListenerParam("alListenerfv",param,AL.paramArray);break;default:AL.setListenerParam("alListenerfv",param,null);break}};_alListenerfv.sig="vip";var _alListeneri=(param,value)=>{AL.setListenerParam("alListeneri",param,null)};_alListeneri.sig="vii";var _alListeneriv=(param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.paramArray[2]=HEAP32[pValues+8>>2];AL.setListenerParam("alListeneriv",param,AL.paramArray);break;case 4111:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.paramArray[2]=HEAP32[pValues+8>>2];AL.paramArray[3]=HEAP32[pValues+12>>2];AL.paramArray[4]=HEAP32[pValues+16>>2];AL.paramArray[5]=HEAP32[pValues+20>>2];AL.setListenerParam("alListeneriv",param,AL.paramArray);break;default:AL.setListenerParam("alListeneriv",param,null);break}};_alListeneriv.sig="vip";var _alSource3f=(sourceId,param,value0,value1,value2)=>{switch(param){case 4100:case 4101:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setSourceParam("alSource3f",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSource3f",sourceId,param,null);break}};_alSource3f.sig="viifff";var _alSource3i=(sourceId,param,value0,value1,value2)=>{switch(param){case 4100:case 4101:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setSourceParam("alSource3i",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSource3i",sourceId,param,null);break}};_alSource3i.sig="viiiii";var _alSourcePause=sourceId=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4115)};_alSourcePause.sig="vi";var _alSourcePausev=(count,pSourceIds)=>{if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i>2];AL.setSourceState(AL.currentCtx.sources[srcId],4115)}};_alSourcePausev.sig="vip";var _alSourcePlay=sourceId=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4114)};_alSourcePlay.sig="vi";var _alSourcePlayv=(count,pSourceIds)=>{if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i>2];AL.setSourceState(AL.currentCtx.sources[srcId],4114)}};_alSourcePlayv.sig="vip";var _alSourceQueueBuffers=(sourceId,count,pBufferIds)=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(src.type===4136){AL.currentCtx.err=40964;return}if(count===0){return}var templateBuf=AL.buffers[0];for(var buf of src.bufQueue){if(buf.id!==0){templateBuf=buf;break}}for(var i=0;i>2];var buf=AL.buffers[bufId];if(!buf){AL.currentCtx.err=40961;return}if(templateBuf.id!==0&&(buf.frequency!==templateBuf.frequency||buf.bytesPerSample!==templateBuf.bytesPerSample||buf.channels!==templateBuf.channels)){AL.currentCtx.err=40964}}if(src.bufQueue.length===1&&src.bufQueue[0].id===0){src.bufQueue.length=0}src.type=4137;for(var i=0;i>2];var buf=AL.buffers[bufId];buf.refCount++;src.bufQueue.push(buf)}if(src.looping){AL.cancelPendingSourceAudio(src)}AL.initSourcePanner(src);AL.scheduleSourceAudio(src)};_alSourceQueueBuffers.sig="viip";var _alSourceRewind=sourceId=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4116);AL.setSourceState(src,4113)};_alSourceRewind.sig="vi";var _alSourceRewindv=(count,pSourceIds)=>{if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i>2];AL.setSourceState(AL.currentCtx.sources[srcId],4113)}};_alSourceRewindv.sig="vip";var _alSourceStop=sourceId=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4116)};_alSourceStop.sig="vi";var _alSourceStopv=(count,pSourceIds)=>{if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i>2];AL.setSourceState(AL.currentCtx.sources[srcId],4116)}};_alSourceStopv.sig="vip";var _alSourceUnqueueBuffers=(sourceId,count,pBufferIds)=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(count>(src.bufQueue.length===1&&src.bufQueue[0].id===0?0:src.bufsProcessed)){AL.currentCtx.err=40963;return}if(count===0){return}for(var i=0;i>2]=buf.id;src.bufsProcessed--}if(src.bufQueue.length===0){src.bufQueue.push(AL.buffers[0])}AL.initSourcePanner(src);AL.scheduleSourceAudio(src)};_alSourceUnqueueBuffers.sig="viip";var _alSourcef=(sourceId,param,value)=>{switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:AL.setSourceParam("alSourcef",sourceId,param,value);break;default:AL.setSourceParam("alSourcef",sourceId,param,null);break}};_alSourcef.sig="viif";var _alSourcefv=(sourceId,param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:var val=HEAPF32[pValues>>2];AL.setSourceParam("alSourcefv",sourceId,param,val);break;case 4100:case 4101:case 4102:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.setSourceParam("alSourcefv",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSourcefv",sourceId,param,null);break}};_alSourcefv.sig="viip";var _alSourceiv=(sourceId,param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4628:case 8201:case 8202:case 53248:var val=HEAP32[pValues>>2];AL.setSourceParam("alSourceiv",sourceId,param,val);break;case 4100:case 4101:case 4102:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.paramArray[2]=HEAP32[pValues+8>>2];AL.setSourceParam("alSourceiv",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSourceiv",sourceId,param,null);break}};_alSourceiv.sig="viip";var _alSpeedOfSound=value=>{AL.setGlobalParam("alSpeedOfSound",49155,value)};_alSpeedOfSound.sig="vf";var _alcCaptureCloseDevice=deviceId=>{var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureCloseDevice");if(!c)return false;delete AL.captures[deviceId];AL.freeIds.push(deviceId);c.mediaStreamSourceNode?.disconnect();c.mergerNode?.disconnect();c.splitterNode?.disconnect();c.scriptProcessorNode?.disconnect();if(c.mediaStream){c.mediaStream.getTracks().forEach(track=>track.stop())}delete c.buffers;c.capturedFrameCount=0;c.isCapturing=false;return true};_alcCaptureCloseDevice.sig="ip";var listenOnce=(object,event,func)=>object.addEventListener(event,func,{once:true});var autoResumeAudioContext=(ctx,elements)=>{if(!elements){elements=[document,document.getElementById("canvas")]}["keydown","mousedown","touchstart"].forEach(event=>{elements.forEach(element=>{if(element){listenOnce(element,event,()=>{if(ctx.state==="suspended")ctx.resume()})}})})};var _alcCaptureOpenDevice=(pDeviceName,requestedSampleRate,format,bufferFrameCapacity)=>{var resolvedDeviceName=AL.CAPTURE_DEVICE_NAME;if(pDeviceName!==0){resolvedDeviceName=UTF8ToString(pDeviceName);if(resolvedDeviceName!==AL.CAPTURE_DEVICE_NAME){AL.alcErr=40965;return 0}}if(bufferFrameCapacity<0){AL.alcErr=40964;return 0}navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var has_getUserMedia=navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia;if(!has_getUserMedia){AL.alcErr=40965;return 0}var AudioContext=window.AudioContext||window.webkitAudioContext;if(!AL.sharedCaptureAudioCtx){try{AL.sharedCaptureAudioCtx=new AudioContext}catch(e){AL.alcErr=40965;return 0}}autoResumeAudioContext(AL.sharedCaptureAudioCtx);var outputChannelCount;switch(format){case 65552:case 4353:case 4352:outputChannelCount=1;break;case 65553:case 4355:case 4354:outputChannelCount=2;break;default:AL.alcErr=40964;return 0}function newF32Array(cap){return new Float32Array(cap)}function newI16Array(cap){return new Int16Array(cap)}function newU8Array(cap){return new Uint8Array(cap)}var requestedSampleType;var newSampleArray;switch(format){case 65552:case 65553:requestedSampleType="f32";newSampleArray=newF32Array;break;case 4353:case 4355:requestedSampleType="i16";newSampleArray=newI16Array;break;case 4352:case 4354:requestedSampleType="u8";newSampleArray=newU8Array;break}var buffers=[];try{for(var chan=0;chan{newCapture.mediaStreamError=mediaStreamError};var onSuccess=mediaStream=>{newCapture.mediaStreamSourceNode=newCapture.audioCtx.createMediaStreamSource(mediaStream);newCapture.mediaStream=mediaStream;var inputChannelCount=1;switch(newCapture.mediaStreamSourceNode.channelCountMode){case"max":inputChannelCount=outputChannelCount;break;case"clamped-max":inputChannelCount=Math.min(outputChannelCount,newCapture.mediaStreamSourceNode.channelCount);break;case"explicit":inputChannelCount=newCapture.mediaStreamSourceNode.channelCount;break}newCapture.inputChannelCount=inputChannelCount;var processorFrameCount=512;newCapture.scriptProcessorNode=newCapture.audioCtx.createScriptProcessor(processorFrameCount,inputChannelCount,outputChannelCount);if(inputChannelCount>outputChannelCount){newCapture.mergerNode=newCapture.audioCtx.createChannelMerger(inputChannelCount);newCapture.mediaStreamSourceNode.connect(newCapture.mergerNode);newCapture.mergerNode.connect(newCapture.scriptProcessorNode)}else if(inputChannelCount{if(!newCapture.isCapturing){return}var c=newCapture;var srcBuf=audioProcessingEvent.inputBuffer;switch(format){case 65552:var channel0=srcBuf.getChannelData(0);for(var i=0;i{var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureSamples");if(!c)return;var dstfreq=c.requestedSampleRate;var srcfreq=c.audioCtx.sampleRate;var fratio=srcfreq/dstfreq;if(requestedFrameCount<0||requestedFrameCount>c.capturedFrameCount/fratio){AL.alcErr=40964;return}function setF32Sample(i,sample){HEAPF32[pFrames+4*i>>2]=sample}function setI16Sample(i,sample){HEAP16[pFrames+2*i>>1]=sample}function setU8Sample(i,sample){HEAP8[pFrames+i]=sample}var setSample;switch(c.requestedSampleType){case"f32":setSample=setF32Sample;break;case"i16":setSample=setI16Sample;break;case"u8":setSample=setU8Sample;break;default:return}if(Math.floor(fratio)==fratio){for(var i=0,frame_i=0;frame_i{var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureStart");if(!c)return;if(c.isCapturing){return}c.isCapturing=true;c.capturedFrameCount=0;c.capturePlayhead=0};_alcCaptureStart.sig="vp";var _alcCaptureStop=deviceId=>{var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureStop");if(!c)return;c.isCapturing=false};_alcCaptureStop.sig="vp";var _alcCloseDevice=deviceId=>{if(!(deviceId in AL.deviceRefCounts)||AL.deviceRefCounts[deviceId]>0){return 0}delete AL.deviceRefCounts[deviceId];AL.freeIds.push(deviceId);return 1};_alcCloseDevice.sig="ip";var _alcCreateContext=(deviceId,pAttrList)=>{if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return 0}var options=null;var attrs=[];var hrtf=null;pAttrList>>=2;if(pAttrList){var attr=0;var val=0;while(true){attr=HEAP32[pAttrList++];attrs.push(attr);if(attr===0){break}val=HEAP32[pAttrList++];attrs.push(val);switch(attr){case 4103:if(!options){options={}}options.sampleRate=val;break;case 4112:case 4113:break;case 6546:switch(val){case 0:hrtf=false;break;case 1:hrtf=true;break;case 2:break;default:AL.alcErr=40964;return 0}break;case 6550:if(val!==0){AL.alcErr=40964;return 0}break;default:AL.alcErr=40964;return 0}}}var AudioContext=window.AudioContext||window.webkitAudioContext;var ac=null;try{if(options){ac=new AudioContext(options)}else{ac=new AudioContext}}catch(e){if(e.name==="NotSupportedError"){AL.alcErr=40964}else{AL.alcErr=40961}return 0}autoResumeAudioContext(ac);if(typeof ac.createGain=="undefined"){ac.createGain=ac.createGainNode}var gain=ac.createGain();gain.connect(ac.destination);var ctx={deviceId,id:AL.newId(),attrs,audioCtx:ac,listener:{position:[0,0,0],velocity:[0,0,0],direction:[0,0,0],up:[0,0,0]},sources:[],interval:setInterval(()=>AL.scheduleContextAudio(ctx),AL.QUEUE_INTERVAL),gain,distanceModel:53250,speedOfSound:343.3,dopplerFactor:1,sourceDistanceModel:false,hrtf:hrtf||false,_err:0,get err(){return this._err},set err(val){if(this._err===0||val===0){this._err=val}}};AL.deviceRefCounts[deviceId]++;AL.contexts[ctx.id]=ctx;if(hrtf!==null){for(var ctxId in AL.contexts){var c=AL.contexts[ctxId];if(c.deviceId===deviceId){c.hrtf=hrtf;AL.updateContextGlobal(c)}}}return ctx.id};_alcCreateContext.sig="ppp";var _alcDestroyContext=contextId=>{var ctx=AL.contexts[contextId];if(AL.currentCtx===ctx){AL.alcErr=40962;return}if(AL.contexts[contextId].interval){clearInterval(AL.contexts[contextId].interval)}AL.deviceRefCounts[ctx.deviceId]--;delete AL.contexts[contextId];AL.freeIds.push(contextId)};_alcDestroyContext.sig="vp";var _alcGetContextsDevice=contextId=>{if(contextId in AL.contexts){return AL.contexts[contextId].deviceId}return 0};_alcGetContextsDevice.sig="pp";var _alcGetCurrentContext=()=>{if(AL.currentCtx!==null){return AL.currentCtx.id}return 0};_alcGetCurrentContext.sig="p";var _alcGetEnumValue=(deviceId,pEnumName)=>{if(deviceId!==0&&!(deviceId in AL.deviceRefCounts)){return 0}else if(!pEnumName){AL.alcErr=40964;return 0}var name=UTF8ToString(pEnumName);switch(name){case"ALC_NO_ERROR":return 0;case"ALC_INVALID_DEVICE":return 40961;case"ALC_INVALID_CONTEXT":return 40962;case"ALC_INVALID_ENUM":return 40963;case"ALC_INVALID_VALUE":return 40964;case"ALC_OUT_OF_MEMORY":return 40965;case"ALC_MAJOR_VERSION":return 4096;case"ALC_MINOR_VERSION":return 4097;case"ALC_ATTRIBUTES_SIZE":return 4098;case"ALC_ALL_ATTRIBUTES":return 4099;case"ALC_DEFAULT_DEVICE_SPECIFIER":return 4100;case"ALC_DEVICE_SPECIFIER":return 4101;case"ALC_EXTENSIONS":return 4102;case"ALC_FREQUENCY":return 4103;case"ALC_REFRESH":return 4104;case"ALC_SYNC":return 4105;case"ALC_MONO_SOURCES":return 4112;case"ALC_STEREO_SOURCES":return 4113;case"ALC_CAPTURE_DEVICE_SPECIFIER":return 784;case"ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER":return 785;case"ALC_CAPTURE_SAMPLES":return 786;case"ALC_HRTF_SOFT":return 6546;case"ALC_HRTF_ID_SOFT":return 6550;case"ALC_DONT_CARE_SOFT":return 2;case"ALC_HRTF_STATUS_SOFT":return 6547;case"ALC_NUM_HRTF_SPECIFIERS_SOFT":return 6548;case"ALC_HRTF_SPECIFIER_SOFT":return 6549;case"ALC_HRTF_DISABLED_SOFT":return 0;case"ALC_HRTF_ENABLED_SOFT":return 1;case"ALC_HRTF_DENIED_SOFT":return 2;case"ALC_HRTF_REQUIRED_SOFT":return 3;case"ALC_HRTF_HEADPHONES_DETECTED_SOFT":return 4;case"ALC_HRTF_UNSUPPORTED_FORMAT_SOFT":return 5;default:AL.alcErr=40964;return 0}};_alcGetEnumValue.sig="ipp";var _alcGetError=deviceId=>{var err=AL.alcErr;AL.alcErr=0;return err};_alcGetError.sig="ip";var _alcGetIntegerv=(deviceId,param,size,pValues)=>{if(size===0||!pValues){return}switch(param){case 4096:HEAP32[pValues>>2]=1;break;case 4097:HEAP32[pValues>>2]=1;break;case 4098:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=AL.currentCtx.attrs.length;break;case 4099:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}for(var i=0;i>2]=AL.currentCtx.attrs[i]}break;case 4103:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=AL.currentCtx.audioCtx.sampleRate;break;case 4112:case 4113:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=2147483647;break;case 6546:case 6547:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}var hrtfStatus=0;for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId===deviceId){hrtfStatus=ctx.hrtf?1:0}}HEAP32[pValues>>2]=hrtfStatus;break;case 6548:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}HEAP32[pValues>>2]=1;break;case 131075:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=1;case 786:var c=AL.requireValidCaptureDevice(deviceId,"alcGetIntegerv");if(!c){return}var n=c.capturedFrameCount;var dstfreq=c.requestedSampleRate;var srcfreq=c.audioCtx.sampleRate;var nsamples=Math.floor(n*(dstfreq/srcfreq));HEAP32[pValues>>2]=nsamples;break;default:AL.alcErr=40963;return}};_alcGetIntegerv.sig="vpiip";var _alcGetString=(deviceId,param)=>{if(AL.alcStringCache[param]){return AL.alcStringCache[param]}var ret;switch(param){case 0:ret="No Error";break;case 40961:ret="Invalid Device";break;case 40962:ret="Invalid Context";break;case 40963:ret="Invalid Enum";break;case 40964:ret="Invalid Value";break;case 40965:ret="Out of Memory";break;case 4100:if(typeof AudioContext!="undefined"||typeof webkitAudioContext!="undefined"){ret=AL.DEVICE_NAME}else{return 0}break;case 4101:if(typeof AudioContext!="undefined"||typeof webkitAudioContext!="undefined"){ret=AL.DEVICE_NAME+"\0"}else{ret="\0"}break;case 785:ret=AL.CAPTURE_DEVICE_NAME;break;case 784:if(deviceId===0){ret=AL.CAPTURE_DEVICE_NAME+"\0"}else{var c=AL.requireValidCaptureDevice(deviceId,"alcGetString");if(!c){return 0}ret=c.deviceName}break;case 4102:if(!deviceId){AL.alcErr=40961;return 0}ret=Object.keys(AL.ALC_EXTENSIONS).join(" ");break;default:AL.alcErr=40963;return 0}ret=stringToNewUTF8(ret);AL.alcStringCache[param]=ret;return ret};_alcGetString.sig="ppi";var _alcIsExtensionPresent=(deviceId,pExtName)=>{var name=UTF8ToString(pExtName);return AL.ALC_EXTENSIONS[name]?1:0};_alcIsExtensionPresent.sig="ipp";var _alcMakeContextCurrent=contextId=>{if(contextId===0){AL.currentCtx=null}else{AL.currentCtx=AL.contexts[contextId]}return 1};_alcMakeContextCurrent.sig="ip";var _alcOpenDevice=pDeviceName=>{if(pDeviceName){var name=UTF8ToString(pDeviceName);if(name!==AL.DEVICE_NAME){return 0}}if(typeof AudioContext!="undefined"||typeof webkitAudioContext!="undefined"){var deviceId=AL.newId();AL.deviceRefCounts[deviceId]=0;return deviceId}return 0};_alcOpenDevice.sig="pp";var _alcProcessContext=contextId=>{};_alcProcessContext.sig="vp";var _alcSuspendContext=contextId=>{};_alcSuspendContext.sig="vp";var _emscripten_get_now_res=()=>1e3;_emscripten_get_now_res.sig="d";var nowIsMonotonic=1;var checkWasiClock=clock_id=>clock_id>=0&&clock_id<=3;var _clock_res_get=(clk_id,pres)=>{if(!checkWasiClock(clk_id)){return 28}var nsec;if(clk_id===0){nsec=1e3*1e3}else if(nowIsMonotonic){nsec=_emscripten_get_now_res()}else{return 52}tempI64=[nsec>>>0,(tempDouble=nsec,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pres>>2]=tempI64[0],HEAP32[pres+4>>2]=tempI64[1];return 0};_clock_res_get.sig="iip";var _emscripten_date_now=()=>Date.now();_emscripten_date_now.sig="d";function _clock_time_get(clk_id,ignored_precision_low,ignored_precision_high,ptime){var ignored_precision=convertI32PairToI53Checked(ignored_precision_low,ignored_precision_high);if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=_emscripten_date_now()}else if(nowIsMonotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);tempI64=[nsec>>>0,(tempDouble=nsec,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptime>>2]=tempI64[0],HEAP32[ptime+4>>2]=tempI64[1];return 0}_clock_time_get.sig="iiiip";var _emscripten_alcDevicePauseSOFT=deviceId=>{if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(AL.paused){return}AL.paused=true;for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId!==deviceId){continue}ctx.audioCtx.suspend();clearInterval(ctx.interval);ctx.interval=null}};_emscripten_alcDevicePauseSOFT.sig="vi";var _emscripten_alcDeviceResumeSOFT=deviceId=>{if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.paused){return}AL.paused=false;for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId!==deviceId){continue}ctx.interval=setInterval(()=>AL.scheduleContextAudio(ctx),AL.QUEUE_INTERVAL);ctx.audioCtx.resume()}};_emscripten_alcDeviceResumeSOFT.sig="vi";var _emscripten_alcGetStringiSOFT=(deviceId,param,index)=>{if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return 0}if(AL.alcStringCache[param]){return AL.alcStringCache[param]}var ret;switch(param){case 6549:if(index===0){ret="Web Audio HRTF"}else{AL.alcErr=40964;return 0}break;default:if(index!==0){AL.alcErr=40963;return 0}return _alcGetString(deviceId,param)}ret=stringToNewUTF8(ret);AL.alcStringCache[param]=ret;return ret};_emscripten_alcGetStringiSOFT.sig="iiii";var _emscripten_alcResetDeviceSOFT=(deviceId,pAttrList)=>{if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return 0}var hrtf=null;pAttrList>>=2;if(pAttrList){var attr=0;var val=0;while(true){attr=HEAP32[pAttrList++];if(attr===0){break}val=HEAP32[pAttrList++];switch(attr){case 6546:if(val===1){hrtf=true}else if(val===0){hrtf=false}break}}}if(hrtf!==null){for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId===deviceId){ctx.hrtf=hrtf;AL.updateContextGlobal(ctx)}}}return 1};_emscripten_alcResetDeviceSOFT.sig="iii";var readEmAsmArgsArray=[];var readEmAsmArgs=(sigPtr,buf)=>{readEmAsmArgsArray.length=0;var ch;while(ch=HEAPU8[sigPtr++]){var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?HEAPU32[buf>>2]:ch==105?HEAP32[buf>>2]:HEAPF64[buf>>3]);buf+=wide?8:4}return readEmAsmArgsArray};var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code](...args)};var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);_emscripten_asm_const_int.sig="ippp";var _emscripten_console_error=str=>{console.error(UTF8ToString(str))};_emscripten_console_error.sig="vp";var _emscripten_console_log=str=>{console.log(UTF8ToString(str))};_emscripten_console_log.sig="vp";var _emscripten_console_trace=str=>{console.trace(UTF8ToString(str))};_emscripten_console_trace.sig="vp";var _emscripten_console_warn=str=>{console.warn(UTF8ToString(str))};_emscripten_console_warn.sig="vp";var _emscripten_err=str=>err(UTF8ToString(str));_emscripten_err.sig="vp";var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>getHeapMax();_emscripten_get_heap_max.sig="p";var GLctx;var webgl_enable_ANGLE_instanced_arrays=ctx=>{var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=(index,divisor)=>ext["vertexAttribDivisorANGLE"](index,divisor);ctx["drawArraysInstanced"]=(mode,first,count,primcount)=>ext["drawArraysInstancedANGLE"](mode,first,count,primcount);ctx["drawElementsInstanced"]=(mode,count,type,indices,primcount)=>ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount);return 1}};var webgl_enable_OES_vertex_array_object=ctx=>{var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=()=>ext["createVertexArrayOES"]();ctx["deleteVertexArray"]=vao=>ext["deleteVertexArrayOES"](vao);ctx["bindVertexArray"]=vao=>ext["bindVertexArrayOES"](vao);ctx["isVertexArray"]=vao=>ext["isVertexArrayOES"](vao);return 1}};var webgl_enable_WEBGL_draw_buffers=ctx=>{var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=(n,bufs)=>ext["drawBuffersWEBGL"](n,bufs);return 1}};var webgl_enable_EXT_polygon_offset_clamp=ctx=>!!(ctx.extPolygonOffsetClamp=ctx.getExtension("EXT_polygon_offset_clamp"));var webgl_enable_EXT_clip_control=ctx=>!!(ctx.extClipControl=ctx.getExtension("EXT_clip_control"));var webgl_enable_WEBGL_polygon_mode=ctx=>!!(ctx.webglPolygonMode=ctx.getExtension("WEBGL_polygon_mode"));var webgl_enable_WEBGL_multi_draw=ctx=>!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"));var getEmscriptenSupportedExtensions=ctx=>{var supportedExtensions=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"];return(ctx.getSupportedExtensions()||[]).filter(ext=>supportedExtensions.includes(ext))};var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,unpackRowLength:0,recordError:errorCode=>{if(!GL.lastError){GL.lastError=errorCode}},getNewId:table=>{var ret=GL.counter++;for(var i=table.length;i{for(var i=0;i>2]=id}},getSource:(shader,count,string,length)=>{var source="";for(var i=0;i>2]:undefined;source+=UTF8ToString(HEAPU32[string+i*4>>2],len)}return source},createContext:(canvas,webGLContextAttributes)=>{if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;function fixedGetContext(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}canvas.getContext=fixedGetContext}var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:(ctx,webGLContextAttributes)=>{var handle=GL.getNewId(GL.contexts);var context={handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:contextHandle=>{GL.currentContext=GL.contexts[contextHandle];Module["ctx"]=GLctx=GL.currentContext?.GLctx;return!(contextHandle&&!GLctx)},getContext:contextHandle=>GL.contexts[contextHandle],deleteContext:contextHandle=>{if(GL.currentContext===GL.contexts[contextHandle]){GL.currentContext=null}if(typeof JSEvents=="object"){JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas)}if(GL.contexts[contextHandle]?.GLctx.canvas){GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined}GL.contexts[contextHandle]=null},initExtensions:context=>{context||=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_WEBGL_multi_draw(GLctx);webgl_enable_EXT_polygon_offset_clamp(GLctx);webgl_enable_EXT_clip_control(GLctx);webgl_enable_WEBGL_polygon_mode(GLctx);webgl_enable_ANGLE_instanced_arrays(GLctx);webgl_enable_OES_vertex_array_object(GLctx);webgl_enable_WEBGL_draw_buffers(GLctx);{GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}getEmscriptenSupportedExtensions(GLctx).forEach(ext=>{if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var _glActiveTexture=x0=>GLctx.activeTexture(x0);_glActiveTexture.sig="vi";var _emscripten_glActiveTexture=_glActiveTexture;_emscripten_glActiveTexture.sig="vi";var _glAttachShader=(program,shader)=>{GLctx.attachShader(GL.programs[program],GL.shaders[shader])};_glAttachShader.sig="vii";var _emscripten_glAttachShader=_glAttachShader;_emscripten_glAttachShader.sig="vii";var _glBeginQueryEXT=(target,id)=>{GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])};_glBeginQueryEXT.sig="vii";var _emscripten_glBeginQueryEXT=_glBeginQueryEXT;var _glBindAttribLocation=(program,index,name)=>{GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))};_glBindAttribLocation.sig="viip";var _emscripten_glBindAttribLocation=_glBindAttribLocation;_emscripten_glBindAttribLocation.sig="viip";var _glBindBuffer=(target,buffer)=>{GLctx.bindBuffer(target,GL.buffers[buffer])};_glBindBuffer.sig="vii";var _emscripten_glBindBuffer=_glBindBuffer;_emscripten_glBindBuffer.sig="vii";var _glBindFramebuffer=(target,framebuffer)=>{GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])};_glBindFramebuffer.sig="vii";var _emscripten_glBindFramebuffer=_glBindFramebuffer;_emscripten_glBindFramebuffer.sig="vii";var _glBindRenderbuffer=(target,renderbuffer)=>{GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])};_glBindRenderbuffer.sig="vii";var _emscripten_glBindRenderbuffer=_glBindRenderbuffer;_emscripten_glBindRenderbuffer.sig="vii";var _glBindTexture=(target,texture)=>{GLctx.bindTexture(target,GL.textures[texture])};_glBindTexture.sig="vii";var _emscripten_glBindTexture=_glBindTexture;_emscripten_glBindTexture.sig="vii";var _glBindVertexArray=vao=>{GLctx.bindVertexArray(GL.vaos[vao])};_glBindVertexArray.sig="vi";var _glBindVertexArrayOES=_glBindVertexArray;_glBindVertexArrayOES.sig="vi";var _emscripten_glBindVertexArrayOES=_glBindVertexArrayOES;_emscripten_glBindVertexArrayOES.sig="vi";var _glBlendColor=(x0,x1,x2,x3)=>GLctx.blendColor(x0,x1,x2,x3);_glBlendColor.sig="vffff";var _emscripten_glBlendColor=_glBlendColor;_emscripten_glBlendColor.sig="vffff";var _glBlendEquation=x0=>GLctx.blendEquation(x0);_glBlendEquation.sig="vi";var _emscripten_glBlendEquation=_glBlendEquation;_emscripten_glBlendEquation.sig="vi";var _glBlendEquationSeparate=(x0,x1)=>GLctx.blendEquationSeparate(x0,x1);_glBlendEquationSeparate.sig="vii";var _emscripten_glBlendEquationSeparate=_glBlendEquationSeparate;_emscripten_glBlendEquationSeparate.sig="vii";var _glBlendFunc=(x0,x1)=>GLctx.blendFunc(x0,x1);_glBlendFunc.sig="vii";var _emscripten_glBlendFunc=_glBlendFunc;_emscripten_glBlendFunc.sig="vii";var _glBlendFuncSeparate=(x0,x1,x2,x3)=>GLctx.blendFuncSeparate(x0,x1,x2,x3);_glBlendFuncSeparate.sig="viiii";var _emscripten_glBlendFuncSeparate=_glBlendFuncSeparate;_emscripten_glBlendFuncSeparate.sig="viiii";var _glBufferData=(target,size,data,usage)=>{GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)};_glBufferData.sig="vippi";var _emscripten_glBufferData=_glBufferData;_emscripten_glBufferData.sig="vippi";var _glBufferSubData=(target,offset,size,data)=>{GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))};_glBufferSubData.sig="vippp";var _emscripten_glBufferSubData=_glBufferSubData;_emscripten_glBufferSubData.sig="vippp";var _glCheckFramebufferStatus=x0=>GLctx.checkFramebufferStatus(x0);_glCheckFramebufferStatus.sig="ii";var _emscripten_glCheckFramebufferStatus=_glCheckFramebufferStatus;_emscripten_glCheckFramebufferStatus.sig="ii";var _glClear=x0=>GLctx.clear(x0);_glClear.sig="vi";var _emscripten_glClear=_glClear;_emscripten_glClear.sig="vi";var _glClearColor=(x0,x1,x2,x3)=>GLctx.clearColor(x0,x1,x2,x3);_glClearColor.sig="vffff";var _emscripten_glClearColor=_glClearColor;_emscripten_glClearColor.sig="vffff";var _glClearDepthf=x0=>GLctx.clearDepth(x0);_glClearDepthf.sig="vf";var _emscripten_glClearDepthf=_glClearDepthf;_emscripten_glClearDepthf.sig="vf";var _glClearStencil=x0=>GLctx.clearStencil(x0);_glClearStencil.sig="vi";var _emscripten_glClearStencil=_glClearStencil;_emscripten_glClearStencil.sig="vi";var _glClipControlEXT=(origin,depth)=>{GLctx.extClipControl["clipControlEXT"](origin,depth)};_glClipControlEXT.sig="vii";var _emscripten_glClipControlEXT=_glClipControlEXT;var _glColorMask=(red,green,blue,alpha)=>{GLctx.colorMask(!!red,!!green,!!blue,!!alpha)};_glColorMask.sig="viiii";var _emscripten_glColorMask=_glColorMask;_emscripten_glColorMask.sig="viiii";var _glCompileShader=shader=>{GLctx.compileShader(GL.shaders[shader])};_glCompileShader.sig="vi";var _emscripten_glCompileShader=_glCompileShader;_emscripten_glCompileShader.sig="vi";var _glCompressedTexImage2D=(target,level,internalFormat,width,height,border,imageSize,data)=>{GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,HEAPU8.subarray(data,data+imageSize))};_glCompressedTexImage2D.sig="viiiiiiip";var _emscripten_glCompressedTexImage2D=_glCompressedTexImage2D;_emscripten_glCompressedTexImage2D.sig="viiiiiiip";var _glCompressedTexSubImage2D=(target,level,xoffset,yoffset,width,height,format,imageSize,data)=>{GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,HEAPU8.subarray(data,data+imageSize))};_glCompressedTexSubImage2D.sig="viiiiiiiip";var _emscripten_glCompressedTexSubImage2D=_glCompressedTexSubImage2D;_emscripten_glCompressedTexSubImage2D.sig="viiiiiiiip";var _glCopyTexImage2D=(x0,x1,x2,x3,x4,x5,x6,x7)=>GLctx.copyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7);_glCopyTexImage2D.sig="viiiiiiii";var _emscripten_glCopyTexImage2D=_glCopyTexImage2D;_emscripten_glCopyTexImage2D.sig="viiiiiiii";var _glCopyTexSubImage2D=(x0,x1,x2,x3,x4,x5,x6,x7)=>GLctx.copyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7);_glCopyTexSubImage2D.sig="viiiiiiii";var _emscripten_glCopyTexSubImage2D=_glCopyTexSubImage2D;_emscripten_glCopyTexSubImage2D.sig="viiiiiiii";var _glCreateProgram=()=>{var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id};_glCreateProgram.sig="i";var _emscripten_glCreateProgram=_glCreateProgram;_emscripten_glCreateProgram.sig="i";var _glCreateShader=shaderType=>{var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id};_glCreateShader.sig="ii";var _emscripten_glCreateShader=_glCreateShader;_emscripten_glCreateShader.sig="ii";var _glCullFace=x0=>GLctx.cullFace(x0);_glCullFace.sig="vi";var _emscripten_glCullFace=_glCullFace;_emscripten_glCullFace.sig="vi";var _glDeleteBuffers=(n,buffers)=>{for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}};_glDeleteBuffers.sig="vip";var _emscripten_glDeleteBuffers=_glDeleteBuffers;_emscripten_glDeleteBuffers.sig="vip";var _glDeleteFramebuffers=(n,framebuffers)=>{for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}};_glDeleteFramebuffers.sig="vip";var _emscripten_glDeleteFramebuffers=_glDeleteFramebuffers;_emscripten_glDeleteFramebuffers.sig="vip";var _glDeleteProgram=id=>{if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null};_glDeleteProgram.sig="vi";var _emscripten_glDeleteProgram=_glDeleteProgram;_emscripten_glDeleteProgram.sig="vi";var _glDeleteQueriesEXT=(n,ids)=>{for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.queries[id]=null}};_glDeleteQueriesEXT.sig="vip";var _emscripten_glDeleteQueriesEXT=_glDeleteQueriesEXT;var _glDeleteRenderbuffers=(n,renderbuffers)=>{for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}};_glDeleteRenderbuffers.sig="vip";var _emscripten_glDeleteRenderbuffers=_glDeleteRenderbuffers;_emscripten_glDeleteRenderbuffers.sig="vip";var _glDeleteShader=id=>{if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null};_glDeleteShader.sig="vi";var _emscripten_glDeleteShader=_glDeleteShader;_emscripten_glDeleteShader.sig="vi";var _glDeleteTextures=(n,textures)=>{for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}};_glDeleteTextures.sig="vip";var _emscripten_glDeleteTextures=_glDeleteTextures;_emscripten_glDeleteTextures.sig="vip";var _glDeleteVertexArrays=(n,vaos)=>{for(var i=0;i>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}};_glDeleteVertexArrays.sig="vip";var _glDeleteVertexArraysOES=_glDeleteVertexArrays;_glDeleteVertexArraysOES.sig="vip";var _emscripten_glDeleteVertexArraysOES=_glDeleteVertexArraysOES;_emscripten_glDeleteVertexArraysOES.sig="vip";var _glDepthFunc=x0=>GLctx.depthFunc(x0);_glDepthFunc.sig="vi";var _emscripten_glDepthFunc=_glDepthFunc;_emscripten_glDepthFunc.sig="vi";var _glDepthMask=flag=>{GLctx.depthMask(!!flag)};_glDepthMask.sig="vi";var _emscripten_glDepthMask=_glDepthMask;_emscripten_glDepthMask.sig="vi";var _glDepthRangef=(x0,x1)=>GLctx.depthRange(x0,x1);_glDepthRangef.sig="vff";var _emscripten_glDepthRangef=_glDepthRangef;_emscripten_glDepthRangef.sig="vff";var _glDetachShader=(program,shader)=>{GLctx.detachShader(GL.programs[program],GL.shaders[shader])};_glDetachShader.sig="vii";var _emscripten_glDetachShader=_glDetachShader;_emscripten_glDetachShader.sig="vii";var _glDisable=x0=>GLctx.disable(x0);_glDisable.sig="vi";var _emscripten_glDisable=_glDisable;_emscripten_glDisable.sig="vi";var _glDisableVertexAttribArray=index=>{GLctx.disableVertexAttribArray(index)};_glDisableVertexAttribArray.sig="vi";var _emscripten_glDisableVertexAttribArray=_glDisableVertexAttribArray;_emscripten_glDisableVertexAttribArray.sig="vi";var _glDrawArrays=(mode,first,count)=>{GLctx.drawArrays(mode,first,count)};_glDrawArrays.sig="viii";var _emscripten_glDrawArrays=_glDrawArrays;_emscripten_glDrawArrays.sig="viii";var _glDrawArraysInstanced=(mode,first,count,primcount)=>{GLctx.drawArraysInstanced(mode,first,count,primcount)};_glDrawArraysInstanced.sig="viiii";var _glDrawArraysInstancedANGLE=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedANGLE=_glDrawArraysInstancedANGLE;var tempFixedLengthArray=[];var _glDrawBuffers=(n,bufs)=>{var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx.drawBuffers(bufArray)};_glDrawBuffers.sig="vip";var _glDrawBuffersWEBGL=_glDrawBuffers;var _emscripten_glDrawBuffersWEBGL=_glDrawBuffersWEBGL;var _glDrawElements=(mode,count,type,indices)=>{GLctx.drawElements(mode,count,type,indices)};_glDrawElements.sig="viiip";var _emscripten_glDrawElements=_glDrawElements;_emscripten_glDrawElements.sig="viiip";var _glDrawElementsInstanced=(mode,count,type,indices,primcount)=>{GLctx.drawElementsInstanced(mode,count,type,indices,primcount)};_glDrawElementsInstanced.sig="viiipi";var _glDrawElementsInstancedANGLE=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedANGLE=_glDrawElementsInstancedANGLE;var _glEnable=x0=>GLctx.enable(x0);_glEnable.sig="vi";var _emscripten_glEnable=_glEnable;_emscripten_glEnable.sig="vi";var _glEnableVertexAttribArray=index=>{GLctx.enableVertexAttribArray(index)};_glEnableVertexAttribArray.sig="vi";var _emscripten_glEnableVertexAttribArray=_glEnableVertexAttribArray;_emscripten_glEnableVertexAttribArray.sig="vi";var _glEndQueryEXT=target=>{GLctx.disjointTimerQueryExt["endQueryEXT"](target)};_glEndQueryEXT.sig="vi";var _emscripten_glEndQueryEXT=_glEndQueryEXT;var _glFinish=()=>GLctx.finish();_glFinish.sig="v";var _emscripten_glFinish=_glFinish;_emscripten_glFinish.sig="v";var _glFlush=()=>GLctx.flush();_glFlush.sig="v";var _emscripten_glFlush=_glFlush;_emscripten_glFlush.sig="v";var _glFramebufferRenderbuffer=(target,attachment,renderbuffertarget,renderbuffer)=>{GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])};_glFramebufferRenderbuffer.sig="viiii";var _emscripten_glFramebufferRenderbuffer=_glFramebufferRenderbuffer;_emscripten_glFramebufferRenderbuffer.sig="viiii";var _glFramebufferTexture2D=(target,attachment,textarget,texture,level)=>{GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)};_glFramebufferTexture2D.sig="viiiii";var _emscripten_glFramebufferTexture2D=_glFramebufferTexture2D;_emscripten_glFramebufferTexture2D.sig="viiiii";var _glFrontFace=x0=>GLctx.frontFace(x0);_glFrontFace.sig="vi";var _emscripten_glFrontFace=_glFrontFace;_emscripten_glFrontFace.sig="vi";var _glGenBuffers=(n,buffers)=>{GL.genObject(n,buffers,"createBuffer",GL.buffers)};_glGenBuffers.sig="vip";var _emscripten_glGenBuffers=_glGenBuffers;_emscripten_glGenBuffers.sig="vip";var _glGenFramebuffers=(n,ids)=>{GL.genObject(n,ids,"createFramebuffer",GL.framebuffers)};_glGenFramebuffers.sig="vip";var _emscripten_glGenFramebuffers=_glGenFramebuffers;_emscripten_glGenFramebuffers.sig="vip";var _glGenQueriesEXT=(n,ids)=>{for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.queries);query.name=id;GL.queries[id]=query;HEAP32[ids+i*4>>2]=id}};_glGenQueriesEXT.sig="vip";var _emscripten_glGenQueriesEXT=_glGenQueriesEXT;var _glGenRenderbuffers=(n,renderbuffers)=>{GL.genObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)};_glGenRenderbuffers.sig="vip";var _emscripten_glGenRenderbuffers=_glGenRenderbuffers;_emscripten_glGenRenderbuffers.sig="vip";var _glGenTextures=(n,textures)=>{GL.genObject(n,textures,"createTexture",GL.textures)};_glGenTextures.sig="vip";var _emscripten_glGenTextures=_glGenTextures;_emscripten_glGenTextures.sig="vip";var _glGenVertexArrays=(n,arrays)=>{GL.genObject(n,arrays,"createVertexArray",GL.vaos)};_glGenVertexArrays.sig="vip";var _glGenVertexArraysOES=_glGenVertexArrays;_glGenVertexArraysOES.sig="vip";var _emscripten_glGenVertexArraysOES=_glGenVertexArraysOES;_emscripten_glGenVertexArraysOES.sig="vip";var _glGenerateMipmap=x0=>GLctx.generateMipmap(x0);_glGenerateMipmap.sig="vi";var _emscripten_glGenerateMipmap=_glGenerateMipmap;_emscripten_glGenerateMipmap.sig="vi";var __glGetActiveAttribOrUniform=(funcName,program,index,bufSize,length,size,type,name)=>{program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}};var _glGetActiveAttrib=(program,index,bufSize,length,size,type,name)=>__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name);_glGetActiveAttrib.sig="viiipppp";var _emscripten_glGetActiveAttrib=_glGetActiveAttrib;_emscripten_glGetActiveAttrib.sig="viiipppp";var _glGetActiveUniform=(program,index,bufSize,length,size,type,name)=>__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name);_glGetActiveUniform.sig="viiipppp";var _emscripten_glGetActiveUniform=_glGetActiveUniform;_emscripten_glGetActiveUniform.sig="viiipppp";var _glGetAttachedShaders=(program,maxCount,count,shaders)=>{var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}};_glGetAttachedShaders.sig="viipp";var _emscripten_glGetAttachedShaders=_glGetAttachedShaders;_emscripten_glGetAttachedShaders.sig="viipp";var _glGetAttribLocation=(program,name)=>GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name));_glGetAttribLocation.sig="iip";var _emscripten_glGetAttribLocation=_glGetAttribLocation;_emscripten_glGetAttribLocation.sig="iip";var writeI53ToI64=(ptr,num)=>{HEAPU32[ptr>>2]=num;var lower=HEAPU32[ptr>>2];HEAPU32[ptr+4>>2]=(num-lower)/4294967296};var emscriptenWebGLGet=(name_,p,type)=>{if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Unknown object returned from WebGL getParameter(${name_})! (error: ${e})`);return}}break;default:GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Native code calling glGet${type}v(${name_}) and it returns ${result} of type ${typeof result}!`);return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p]=ret?1:0;break}};var _glGetBooleanv=(name_,p)=>emscriptenWebGLGet(name_,p,4);_glGetBooleanv.sig="vip";var _emscripten_glGetBooleanv=_glGetBooleanv;_emscripten_glGetBooleanv.sig="vip";var _glGetBufferParameteriv=(target,value,data)=>{if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)};_glGetBufferParameteriv.sig="viip";var _emscripten_glGetBufferParameteriv=_glGetBufferParameteriv;_emscripten_glGetBufferParameteriv.sig="viip";var _glGetError=()=>{var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error};_glGetError.sig="i";var _emscripten_glGetError=_glGetError;_emscripten_glGetError.sig="i";var _glGetFloatv=(name_,p)=>emscriptenWebGLGet(name_,p,2);_glGetFloatv.sig="vip";var _emscripten_glGetFloatv=_glGetFloatv;_emscripten_glGetFloatv.sig="vip";var _glGetFramebufferAttachmentParameteriv=(target,attachment,pname,params)=>{var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result};_glGetFramebufferAttachmentParameteriv.sig="viiip";var _emscripten_glGetFramebufferAttachmentParameteriv=_glGetFramebufferAttachmentParameteriv;_emscripten_glGetFramebufferAttachmentParameteriv.sig="viiip";var _glGetIntegerv=(name_,p)=>emscriptenWebGLGet(name_,p,0);_glGetIntegerv.sig="vip";var _emscripten_glGetIntegerv=_glGetIntegerv;_emscripten_glGetIntegerv.sig="vip";var _glGetProgramInfoLog=(program,maxLength,length,infoLog)=>{var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};_glGetProgramInfoLog.sig="viipp";var _emscripten_glGetProgramInfoLog=_glGetProgramInfoLog;_emscripten_glGetProgramInfoLog.sig="viipp";var _glGetProgramiv=(program,pname,p)=>{if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){var numActiveUniforms=GLctx.getProgramParameter(program,35718);for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){var numActiveAttributes=GLctx.getProgramParameter(program,35721);for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){var numActiveUniformBlocks=GLctx.getProgramParameter(program,35382);for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}};_glGetProgramiv.sig="viip";var _emscripten_glGetProgramiv=_glGetProgramiv;_emscripten_glGetProgramiv.sig="viip";var _glGetQueryObjecti64vEXT=(id,pname,params)=>{if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;{param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)};_glGetQueryObjecti64vEXT.sig="viip";var _emscripten_glGetQueryObjecti64vEXT=_glGetQueryObjecti64vEXT;var _glGetQueryObjectivEXT=(id,pname,params)=>{if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret};_glGetQueryObjectivEXT.sig="viip";var _emscripten_glGetQueryObjectivEXT=_glGetQueryObjectivEXT;var _glGetQueryObjectui64vEXT=_glGetQueryObjecti64vEXT;var _emscripten_glGetQueryObjectui64vEXT=_glGetQueryObjectui64vEXT;var _glGetQueryObjectuivEXT=_glGetQueryObjectivEXT;var _emscripten_glGetQueryObjectuivEXT=_glGetQueryObjectuivEXT;var _glGetQueryivEXT=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)};_glGetQueryivEXT.sig="viip";var _emscripten_glGetQueryivEXT=_glGetQueryivEXT;var _glGetRenderbufferParameteriv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)};_glGetRenderbufferParameteriv.sig="viip";var _emscripten_glGetRenderbufferParameteriv=_glGetRenderbufferParameteriv;_emscripten_glGetRenderbufferParameteriv.sig="viip";var _glGetShaderInfoLog=(shader,maxLength,length,infoLog)=>{var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};_glGetShaderInfoLog.sig="viipp";var _emscripten_glGetShaderInfoLog=_glGetShaderInfoLog;_emscripten_glGetShaderInfoLog.sig="viipp";var _glGetShaderPrecisionFormat=(shaderType,precisionType,range,precision)=>{var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision};_glGetShaderPrecisionFormat.sig="viipp";var _emscripten_glGetShaderPrecisionFormat=_glGetShaderPrecisionFormat;_emscripten_glGetShaderPrecisionFormat.sig="viipp";var _glGetShaderSource=(shader,bufSize,length,source)=>{var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};_glGetShaderSource.sig="viipp";var _emscripten_glGetShaderSource=_glGetShaderSource;_emscripten_glGetShaderSource.sig="viipp";var _glGetShaderiv=(shader,pname,p)=>{if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}};_glGetShaderiv.sig="viip";var _emscripten_glGetShaderiv=_glGetShaderiv;_emscripten_glGetShaderiv.sig="viip";var webglGetExtensions=()=>{var exts=getEmscriptenSupportedExtensions(GLctx);exts=exts.concat(exts.map(e=>"GL_"+e));return exts};var _glGetString=name_=>{var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:ret=stringToNewUTF8(webglGetExtensions().join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s?stringToNewUTF8(s):0;break;case 7938:var webGLVersion=GLctx.getParameter(7938);var glVersion=`OpenGL ES 2.0 (${webGLVersion})`;ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion=`OpenGL ES GLSL ES ${ver_num[1]} (${glslVersion})`}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret};_glGetString.sig="pi";var _emscripten_glGetString=_glGetString;_emscripten_glGetString.sig="pi";var _glGetTexParameterfv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)};_glGetTexParameterfv.sig="viip";var _emscripten_glGetTexParameterfv=_glGetTexParameterfv;_emscripten_glGetTexParameterfv.sig="viip";var _glGetTexParameteriv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)};_glGetTexParameteriv.sig="viip";var _emscripten_glGetTexParameteriv=_glGetTexParameteriv;_emscripten_glGetTexParameteriv.sig="viip";var jstoi_q=str=>parseInt(str);var webglGetLeftBracePos=name=>name.slice(-1)=="]"&&name.lastIndexOf("[");var webglPrepareUniformLocationsBeforeFirstUse=program=>{var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};var numActiveUniforms=GLctx.getProgramParameter(program,35718);for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j{name=UTF8ToString(name);if(program=GL.programs[program]){webglPrepareUniformLocationsBeforeFirstUse(program);var uniformLocsById=program.uniformLocsById;var arrayIndex=0;var uniformBaseName=name;var leftBrace=webglGetLeftBracePos(name);if(leftBrace>0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex{var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc=="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?`[${webglLoc}]`:""))}return webglLoc}else{GL.recordError(1282)}};var emscriptenWebGLGetUniform=(program,location,params,type)=>{if(!params){GL.recordError(1281);return}program=GL.programs[program];webglPrepareUniformLocationsBeforeFirstUse(program);var data=GLctx.getUniform(program,webglGetUniformLocation(location));if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}};var _glGetUniformfv=(program,location,params)=>{emscriptenWebGLGetUniform(program,location,params,2)};_glGetUniformfv.sig="viip";var _emscripten_glGetUniformfv=_glGetUniformfv;_emscripten_glGetUniformfv.sig="viip";var _glGetUniformiv=(program,location,params)=>{emscriptenWebGLGetUniform(program,location,params,0)};_glGetUniformiv.sig="viip";var _emscripten_glGetUniformiv=_glGetUniformiv;_emscripten_glGetUniformiv.sig="viip";var _glGetVertexAttribPointerv=(index,pname,pointer)=>{if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)};_glGetVertexAttribPointerv.sig="viip";var _emscripten_glGetVertexAttribPointerv=_glGetVertexAttribPointerv;_emscripten_glGetVertexAttribPointerv.sig="viip";var emscriptenWebGLGetVertexAttrib=(index,pname,params,type)=>{if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}};var _glGetVertexAttribfv=(index,pname,params)=>{emscriptenWebGLGetVertexAttrib(index,pname,params,2)};_glGetVertexAttribfv.sig="viip";var _emscripten_glGetVertexAttribfv=_glGetVertexAttribfv;_emscripten_glGetVertexAttribfv.sig="viip";var _glGetVertexAttribiv=(index,pname,params)=>{emscriptenWebGLGetVertexAttrib(index,pname,params,5)};_glGetVertexAttribiv.sig="viip";var _emscripten_glGetVertexAttribiv=_glGetVertexAttribiv;_emscripten_glGetVertexAttribiv.sig="viip";var _glHint=(x0,x1)=>GLctx.hint(x0,x1);_glHint.sig="vii";var _emscripten_glHint=_glHint;_emscripten_glHint.sig="vii";var _glIsBuffer=buffer=>{var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)};_glIsBuffer.sig="ii";var _emscripten_glIsBuffer=_glIsBuffer;_emscripten_glIsBuffer.sig="ii";var _glIsEnabled=x0=>GLctx.isEnabled(x0);_glIsEnabled.sig="ii";var _emscripten_glIsEnabled=_glIsEnabled;_emscripten_glIsEnabled.sig="ii";var _glIsFramebuffer=framebuffer=>{var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)};_glIsFramebuffer.sig="ii";var _emscripten_glIsFramebuffer=_glIsFramebuffer;_emscripten_glIsFramebuffer.sig="ii";var _glIsProgram=program=>{program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)};_glIsProgram.sig="ii";var _emscripten_glIsProgram=_glIsProgram;_emscripten_glIsProgram.sig="ii";var _glIsQueryEXT=id=>{var query=GL.queries[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)};_glIsQueryEXT.sig="ii";var _emscripten_glIsQueryEXT=_glIsQueryEXT;var _glIsRenderbuffer=renderbuffer=>{var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)};_glIsRenderbuffer.sig="ii";var _emscripten_glIsRenderbuffer=_glIsRenderbuffer;_emscripten_glIsRenderbuffer.sig="ii";var _glIsShader=shader=>{var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)};_glIsShader.sig="ii";var _emscripten_glIsShader=_glIsShader;_emscripten_glIsShader.sig="ii";var _glIsTexture=id=>{var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)};_glIsTexture.sig="ii";var _emscripten_glIsTexture=_glIsTexture;_emscripten_glIsTexture.sig="ii";var _glIsVertexArray=array=>{var vao=GL.vaos[array];if(!vao)return 0;return GLctx.isVertexArray(vao)};_glIsVertexArray.sig="ii";var _glIsVertexArrayOES=_glIsVertexArray;_glIsVertexArrayOES.sig="ii";var _emscripten_glIsVertexArrayOES=_glIsVertexArrayOES;_emscripten_glIsVertexArrayOES.sig="ii";var _glLineWidth=x0=>GLctx.lineWidth(x0);_glLineWidth.sig="vf";var _emscripten_glLineWidth=_glLineWidth;_emscripten_glLineWidth.sig="vf";var _glLinkProgram=program=>{program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}};_glLinkProgram.sig="vi";var _emscripten_glLinkProgram=_glLinkProgram;_emscripten_glLinkProgram.sig="vi";var _glPixelStorei=(pname,param)=>{if(pname==3317){GL.unpackAlignment=param}else if(pname==3314){GL.unpackRowLength=param}GLctx.pixelStorei(pname,param)};_glPixelStorei.sig="vii";var _emscripten_glPixelStorei=_glPixelStorei;_emscripten_glPixelStorei.sig="vii";var _glPolygonModeWEBGL=(face,mode)=>{GLctx.webglPolygonMode["polygonModeWEBGL"](face,mode)};_glPolygonModeWEBGL.sig="vii";var _emscripten_glPolygonModeWEBGL=_glPolygonModeWEBGL;var _glPolygonOffset=(x0,x1)=>GLctx.polygonOffset(x0,x1);_glPolygonOffset.sig="vff";var _emscripten_glPolygonOffset=_glPolygonOffset;_emscripten_glPolygonOffset.sig="vff";var _glPolygonOffsetClampEXT=(factor,units,clamp)=>{GLctx.extPolygonOffsetClamp["polygonOffsetClampEXT"](factor,units,clamp)};_glPolygonOffsetClampEXT.sig="vfff";var _emscripten_glPolygonOffsetClampEXT=_glPolygonOffsetClampEXT;var _glQueryCounterEXT=(id,target)=>{GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)};_glQueryCounterEXT.sig="vii";var _emscripten_glQueryCounterEXT=_glQueryCounterEXT;var computeUnpackAlignedImageSize=(width,height,sizePerPixel)=>{function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=(GL.unpackRowLength||width)*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,GL.unpackAlignment);return height*alignedRowSize};var colorChannelsInGlTextureFormat=format=>{var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1};var heapObjectForWebGLType=type=>{type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16};var toTypedArrayIndex=(pointer,heap)=>pointer>>>31-Math.clz32(heap.BYTES_PER_ELEMENT);var emscriptenWebGLGetTexPixelData=(type,format,width,height,pixels,internalFormat)=>{var heap=heapObjectForWebGLType(type);var sizePerPixel=colorChannelsInGlTextureFormat(format)*heap.BYTES_PER_ELEMENT;var bytes=computeUnpackAlignedImageSize(width,height,sizePerPixel);return heap.subarray(toTypedArrayIndex(pixels,heap),toTypedArrayIndex(pixels+bytes,heap))};var _glReadPixels=(x,y,width,height,format,type,pixels)=>{var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)};_glReadPixels.sig="viiiiiip";var _emscripten_glReadPixels=_glReadPixels;_emscripten_glReadPixels.sig="viiiiiip";var _glReleaseShaderCompiler=()=>{};_glReleaseShaderCompiler.sig="v";var _emscripten_glReleaseShaderCompiler=_glReleaseShaderCompiler;_emscripten_glReleaseShaderCompiler.sig="v";var _glRenderbufferStorage=(x0,x1,x2,x3)=>GLctx.renderbufferStorage(x0,x1,x2,x3);_glRenderbufferStorage.sig="viiii";var _emscripten_glRenderbufferStorage=_glRenderbufferStorage;_emscripten_glRenderbufferStorage.sig="viiii";var _glSampleCoverage=(value,invert)=>{GLctx.sampleCoverage(value,!!invert)};_glSampleCoverage.sig="vfi";var _emscripten_glSampleCoverage=_glSampleCoverage;_emscripten_glSampleCoverage.sig="vfi";var _glScissor=(x0,x1,x2,x3)=>GLctx.scissor(x0,x1,x2,x3);_glScissor.sig="viiii";var _emscripten_glScissor=_glScissor;_emscripten_glScissor.sig="viiii";var _glShaderBinary=(count,shaders,binaryformat,binary,length)=>{GL.recordError(1280)};_glShaderBinary.sig="vipipi";var _emscripten_glShaderBinary=_glShaderBinary;_emscripten_glShaderBinary.sig="vipipi";var _glShaderSource=(shader,count,string,length)=>{var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)};_glShaderSource.sig="viipp";var _emscripten_glShaderSource=_glShaderSource;_emscripten_glShaderSource.sig="viipp";var _glStencilFunc=(x0,x1,x2)=>GLctx.stencilFunc(x0,x1,x2);_glStencilFunc.sig="viii";var _emscripten_glStencilFunc=_glStencilFunc;_emscripten_glStencilFunc.sig="viii";var _glStencilFuncSeparate=(x0,x1,x2,x3)=>GLctx.stencilFuncSeparate(x0,x1,x2,x3);_glStencilFuncSeparate.sig="viiii";var _emscripten_glStencilFuncSeparate=_glStencilFuncSeparate;_emscripten_glStencilFuncSeparate.sig="viiii";var _glStencilMask=x0=>GLctx.stencilMask(x0);_glStencilMask.sig="vi";var _emscripten_glStencilMask=_glStencilMask;_emscripten_glStencilMask.sig="vi";var _glStencilMaskSeparate=(x0,x1)=>GLctx.stencilMaskSeparate(x0,x1);_glStencilMaskSeparate.sig="vii";var _emscripten_glStencilMaskSeparate=_glStencilMaskSeparate;_emscripten_glStencilMaskSeparate.sig="vii";var _glStencilOp=(x0,x1,x2)=>GLctx.stencilOp(x0,x1,x2);_glStencilOp.sig="viii";var _emscripten_glStencilOp=_glStencilOp;_emscripten_glStencilOp.sig="viii";var _glStencilOpSeparate=(x0,x1,x2,x3)=>GLctx.stencilOpSeparate(x0,x1,x2,x3);_glStencilOpSeparate.sig="viiii";var _emscripten_glStencilOpSeparate=_glStencilOpSeparate;_emscripten_glStencilOpSeparate.sig="viiii";var _glTexImage2D=(target,level,internalFormat,width,height,border,format,type,pixels)=>{var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null;GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)};_glTexImage2D.sig="viiiiiiiip";var _emscripten_glTexImage2D=_glTexImage2D;_emscripten_glTexImage2D.sig="viiiiiiiip";var _glTexParameterf=(x0,x1,x2)=>GLctx.texParameterf(x0,x1,x2);_glTexParameterf.sig="viif";var _emscripten_glTexParameterf=_glTexParameterf;_emscripten_glTexParameterf.sig="viif";var _glTexParameterfv=(target,pname,params)=>{var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)};_glTexParameterfv.sig="viip";var _emscripten_glTexParameterfv=_glTexParameterfv;_emscripten_glTexParameterfv.sig="viip";var _glTexParameteri=(x0,x1,x2)=>GLctx.texParameteri(x0,x1,x2);_glTexParameteri.sig="viii";var _emscripten_glTexParameteri=_glTexParameteri;_emscripten_glTexParameteri.sig="viii";var _glTexParameteriv=(target,pname,params)=>{var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)};_glTexParameteriv.sig="viip";var _emscripten_glTexParameteriv=_glTexParameteriv;_emscripten_glTexParameteriv.sig="viip";var _glTexSubImage2D=(target,level,xoffset,yoffset,width,height,format,type,pixels)=>{var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0):null;GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)};_glTexSubImage2D.sig="viiiiiiiip";var _emscripten_glTexSubImage2D=_glTexSubImage2D;_emscripten_glTexSubImage2D.sig="viiiiiiiip";var _glUniform1f=(location,v0)=>{GLctx.uniform1f(webglGetUniformLocation(location),v0)};_glUniform1f.sig="vif";var _emscripten_glUniform1f=_glUniform1f;_emscripten_glUniform1f.sig="vif";var miniTempWebGLFloatBuffers=[];var _glUniform1fv=(location,count,value)=>{if(count<=288){var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(webglGetUniformLocation(location),view)};_glUniform1fv.sig="viip";var _emscripten_glUniform1fv=_glUniform1fv;_emscripten_glUniform1fv.sig="viip";var _glUniform1i=(location,v0)=>{GLctx.uniform1i(webglGetUniformLocation(location),v0)};_glUniform1i.sig="vii";var _emscripten_glUniform1i=_glUniform1i;_emscripten_glUniform1i.sig="vii";var miniTempWebGLIntBuffers=[];var _glUniform1iv=(location,count,value)=>{if(count<=288){var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(webglGetUniformLocation(location),view)};_glUniform1iv.sig="viip";var _emscripten_glUniform1iv=_glUniform1iv;_emscripten_glUniform1iv.sig="viip";var _glUniform2f=(location,v0,v1)=>{GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)};_glUniform2f.sig="viff";var _emscripten_glUniform2f=_glUniform2f;_emscripten_glUniform2f.sig="viff";var _glUniform2fv=(location,count,value)=>{if(count<=144){count*=2;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(webglGetUniformLocation(location),view)};_glUniform2fv.sig="viip";var _emscripten_glUniform2fv=_glUniform2fv;_emscripten_glUniform2fv.sig="viip";var _glUniform2i=(location,v0,v1)=>{GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)};_glUniform2i.sig="viii";var _emscripten_glUniform2i=_glUniform2i;_emscripten_glUniform2i.sig="viii";var _glUniform2iv=(location,count,value)=>{if(count<=144){count*=2;var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(webglGetUniformLocation(location),view)};_glUniform2iv.sig="viip";var _emscripten_glUniform2iv=_glUniform2iv;_emscripten_glUniform2iv.sig="viip";var _glUniform3f=(location,v0,v1,v2)=>{GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)};_glUniform3f.sig="vifff";var _emscripten_glUniform3f=_glUniform3f;_emscripten_glUniform3f.sig="vifff";var _glUniform3fv=(location,count,value)=>{if(count<=96){count*=3;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(webglGetUniformLocation(location),view)};_glUniform3fv.sig="viip";var _emscripten_glUniform3fv=_glUniform3fv;_emscripten_glUniform3fv.sig="viip";var _glUniform3i=(location,v0,v1,v2)=>{GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)};_glUniform3i.sig="viiii";var _emscripten_glUniform3i=_glUniform3i;_emscripten_glUniform3i.sig="viiii";var _glUniform3iv=(location,count,value)=>{if(count<=96){count*=3;var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(webglGetUniformLocation(location),view)};_glUniform3iv.sig="viip";var _emscripten_glUniform3iv=_glUniform3iv;_emscripten_glUniform3iv.sig="viip";var _glUniform4f=(location,v0,v1,v2,v3)=>{GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)};_glUniform4f.sig="viffff";var _emscripten_glUniform4f=_glUniform4f;_emscripten_glUniform4f.sig="viffff";var _glUniform4fv=(location,count,value)=>{if(count<=72){var view=miniTempWebGLFloatBuffers[4*count];var heap=HEAPF32;value=value>>2;count*=4;for(var i=0;i>2,value+count*16>>2)}GLctx.uniform4fv(webglGetUniformLocation(location),view)};_glUniform4fv.sig="viip";var _emscripten_glUniform4fv=_glUniform4fv;_emscripten_glUniform4fv.sig="viip";var _glUniform4i=(location,v0,v1,v2,v3)=>{GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)};_glUniform4i.sig="viiiii";var _emscripten_glUniform4i=_glUniform4i;_emscripten_glUniform4i.sig="viiiii";var _glUniform4iv=(location,count,value)=>{if(count<=72){count*=4;var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(webglGetUniformLocation(location),view)};_glUniform4iv.sig="viip";var _emscripten_glUniform4iv=_glUniform4iv;_emscripten_glUniform4iv.sig="viip";var _glUniformMatrix2fv=(location,count,transpose,value)=>{if(count<=72){count*=4;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,view)};_glUniformMatrix2fv.sig="viiip";var _emscripten_glUniformMatrix2fv=_glUniformMatrix2fv;_emscripten_glUniformMatrix2fv.sig="viiip";var _glUniformMatrix3fv=(location,count,transpose,value)=>{if(count<=32){count*=9;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)};_glUniformMatrix3fv.sig="viiip";var _emscripten_glUniformMatrix3fv=_glUniformMatrix3fv;_emscripten_glUniformMatrix3fv.sig="viiip";var _glUniformMatrix4fv=(location,count,transpose,value)=>{if(count<=18){var view=miniTempWebGLFloatBuffers[16*count];var heap=HEAPF32;value=value>>2;count*=16;for(var i=0;i>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)};_glUniformMatrix4fv.sig="viiip";var _emscripten_glUniformMatrix4fv=_glUniformMatrix4fv;_emscripten_glUniformMatrix4fv.sig="viiip";var _glUseProgram=program=>{program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program};_glUseProgram.sig="vi";var _emscripten_glUseProgram=_glUseProgram;_emscripten_glUseProgram.sig="vi";var _glValidateProgram=program=>{GLctx.validateProgram(GL.programs[program])};_glValidateProgram.sig="vi";var _emscripten_glValidateProgram=_glValidateProgram;_emscripten_glValidateProgram.sig="vi";var _glVertexAttrib1f=(x0,x1)=>GLctx.vertexAttrib1f(x0,x1);_glVertexAttrib1f.sig="vif";var _emscripten_glVertexAttrib1f=_glVertexAttrib1f;_emscripten_glVertexAttrib1f.sig="vif";var _glVertexAttrib1fv=(index,v)=>{GLctx.vertexAttrib1f(index,HEAPF32[v>>2])};_glVertexAttrib1fv.sig="vip";var _emscripten_glVertexAttrib1fv=_glVertexAttrib1fv;_emscripten_glVertexAttrib1fv.sig="vip";var _glVertexAttrib2f=(x0,x1,x2)=>GLctx.vertexAttrib2f(x0,x1,x2);_glVertexAttrib2f.sig="viff";var _emscripten_glVertexAttrib2f=_glVertexAttrib2f;_emscripten_glVertexAttrib2f.sig="viff";var _glVertexAttrib2fv=(index,v)=>{GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])};_glVertexAttrib2fv.sig="vip";var _emscripten_glVertexAttrib2fv=_glVertexAttrib2fv;_emscripten_glVertexAttrib2fv.sig="vip";var _glVertexAttrib3f=(x0,x1,x2,x3)=>GLctx.vertexAttrib3f(x0,x1,x2,x3);_glVertexAttrib3f.sig="vifff";var _emscripten_glVertexAttrib3f=_glVertexAttrib3f;_emscripten_glVertexAttrib3f.sig="vifff";var _glVertexAttrib3fv=(index,v)=>{GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])};_glVertexAttrib3fv.sig="vip";var _emscripten_glVertexAttrib3fv=_glVertexAttrib3fv;_emscripten_glVertexAttrib3fv.sig="vip";var _glVertexAttrib4f=(x0,x1,x2,x3,x4)=>GLctx.vertexAttrib4f(x0,x1,x2,x3,x4);_glVertexAttrib4f.sig="viffff";var _emscripten_glVertexAttrib4f=_glVertexAttrib4f;_emscripten_glVertexAttrib4f.sig="viffff";var _glVertexAttrib4fv=(index,v)=>{GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])};_glVertexAttrib4fv.sig="vip";var _emscripten_glVertexAttrib4fv=_glVertexAttrib4fv;_emscripten_glVertexAttrib4fv.sig="vip";var _glVertexAttribDivisor=(index,divisor)=>{GLctx.vertexAttribDivisor(index,divisor)};_glVertexAttribDivisor.sig="vii";var _glVertexAttribDivisorANGLE=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorANGLE=_glVertexAttribDivisorANGLE;var _glVertexAttribPointer=(index,size,type,normalized,stride,ptr)=>{GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)};_glVertexAttribPointer.sig="viiiiip";var _emscripten_glVertexAttribPointer=_glVertexAttribPointer;_emscripten_glVertexAttribPointer.sig="viiiiip";var _glViewport=(x0,x1,x2,x3)=>GLctx.viewport(x0,x1,x2,x3);_glViewport.sig="viiii";var _emscripten_glViewport=_glViewport;_emscripten_glViewport.sig="viiii";var _emscripten_out=str=>out(UTF8ToString(str));_emscripten_out.sig="vp";class HandleAllocator{allocated=[undefined];freelist=[];get(id){return this.allocated[id]}has(id){return this.allocated[id]!==undefined}allocate(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id}free(id){this.allocated[id]=undefined;this.freelist.push(id)}}var promiseMap=new HandleAllocator;var makePromise=()=>{var promiseInfo={};promiseInfo.promise=new Promise((resolve,reject)=>{promiseInfo.reject=reject;promiseInfo.resolve=resolve});promiseInfo.id=promiseMap.allocate(promiseInfo);return promiseInfo};var _emscripten_promise_create=()=>makePromise().id;_emscripten_promise_create.sig="p";var _emscripten_promise_destroy=id=>{promiseMap.free(id)};_emscripten_promise_destroy.sig="vp";var getPromise=id=>promiseMap.get(id).promise;var _emscripten_promise_resolve=(id,result,value)=>{var info=promiseMap.get(id);switch(result){case 0:info.resolve(value);return;case 1:info.resolve(getPromise(value));return;case 2:info.resolve(getPromise(value));_emscripten_promise_destroy(value);return;case 3:info.reject(value);return}};_emscripten_promise_resolve.sig="vpip";var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}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,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};_emscripten_resize_heap.sig="ip";var _emscripten_wget_data=(url,pbuffer,pnum,perror)=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_wget_data"};_emscripten_wget_data.sig="vpppp";var ENV={};var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};_environ_get.sig="ipp";var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};_environ_sizes_get.sig="ipp";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}}_fd_close.sig="ii";function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_fdstat_get.sig="iip";var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_pread.sig="iippiip";var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_pwrite.sig="iippiip";function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_read.sig="iippp";function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_seek.sig="iiiiip";function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops?.fsync){return stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_sync.sig="ii";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}}_fd_write.sig="iippp";var _getnameinfo=(sa,salen,node,nodelen,serv,servlen,flags)=>{var info=readSockaddr(sa,salen);if(info.errno){return-6}var port=info.port;var addr=info.addr;var overflowed=false;if(node&&nodelen){var lookup;if(flags&1||!(lookup=DNS.lookup_addr(addr))){if(flags&8){return-2}}else{addr=lookup}var numBytesWrittenExclNull=stringToUTF8(addr,node,nodelen);if(numBytesWrittenExclNull+1>=nodelen){overflowed=true}}if(serv&&servlen){port=""+port;var numBytesWrittenExclNull=stringToUTF8(port,serv,servlen);if(numBytesWrittenExclNull+1>=servlen){overflowed=true}}if(overflowed){return-12}return 0};_getnameinfo.sig="ipipipii";var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}_ipp.sig="ipp";function _ipp_async(...args){return adapters_support(true,...args)}_ipp_async.sig="ipp";function _ippipppp(...args){return adapters_support(false,...args)}_ippipppp.sig="ippipppp";function _ippipppp_async(...args){return adapters_support(true,...args)}_ippipppp_async.sig="ippipppp";function _ippp(...args){return adapters_support(false,...args)}_ippp.sig="ippp";function _ippp_async(...args){return adapters_support(true,...args)}_ippp_async.sig="ippp";function _ipppi(...args){return adapters_support(false,...args)}_ipppi.sig="ipppi";function _ipppi_async(...args){return adapters_support(true,...args)}_ipppi_async.sig="ipppi";function _ipppiii(...args){return adapters_support(false,...args)}_ipppiii.sig="ipppiii";function _ipppiii_async(...args){return adapters_support(true,...args)}_ipppiii_async.sig="ipppiii";function _ipppiiip(...args){return adapters_support(false,...args)}_ipppiiip.sig="ipppiiip";function _ipppiiip_async(...args){return adapters_support(true,...args)}_ipppiiip_async.sig="ipppiiip";function _ipppip(...args){return adapters_support(false,...args)}_ipppip.sig="ipppip";function _ipppip_async(...args){return adapters_support(true,...args)}_ipppip_async.sig="ipppip";function _ipppj(...args){return adapters_support(false,...args)}_ipppj.sig="ipppii";function _ipppj_async(...args){return adapters_support(true,...args)}_ipppj_async.sig="ipppii";function _ipppp(...args){return adapters_support(false,...args)}_ipppp.sig="ipppp";function _ipppp_async(...args){return adapters_support(true,...args)}_ipppp_async.sig="ipppp";function _ippppi(...args){return adapters_support(false,...args)}_ippppi.sig="ippppi";function _ippppi_async(...args){return adapters_support(true,...args)}_ippppi_async.sig="ippppi";function _ippppij(...args){return adapters_support(false,...args)}_ippppij.sig="ippppiii";function _ippppij_async(...args){return adapters_support(true,...args)}_ippppij_async.sig="ippppiii";function _ippppip(...args){return adapters_support(false,...args)}_ippppip.sig="ippppip";function _ippppip_async(...args){return adapters_support(true,...args)}_ippppip_async.sig="ippppip";function _ipppppip(...args){return adapters_support(false,...args)}_ipppppip.sig="ipppppip";function _ipppppip_async(...args){return adapters_support(true,...args)}_ipppppip_async.sig="ipppppip";function _random_get(buffer,size){try{randomFill(HEAPU8.subarray(buffer,buffer+size));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_random_get.sig="ipp";function _vppippii(...args){return adapters_support(false,...args)}_vppippii.sig="vppippii";function _vppippii_async(...args){return adapters_support(true,...args)}_vppippii_async.sig="vppippii";function _vppp(...args){return adapters_support(false,...args)}_vppp.sig="vppp";function _vppp_async(...args){return adapters_support(true,...args)}_vppp_async.sig="vppp";function _vpppip(...args){return adapters_support(false,...args)}_vpppip.sig="vpppip";function _vpppip_async(...args){return adapters_support(true,...args)}_vpppip_async.sig="vpppip";var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=new TextDecoder("utf-16le");var UTF16ToString=(ptr,maxBytesToRead)=>{var idx=ptr>>1;var maxIdx=idx+maxBytesToRead/2;var endIdx=idx;while(!(endIdx>=maxIdx)&&HEAPU16[endIdx])++endIdx;return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx))};var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var intArrayToString=array=>{var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")};var writeI53ToI64Clamped=(ptr,num)=>{if(num>0x8000000000000000){HEAPU32[ptr>>2]=4294967295;HEAPU32[ptr+4>>2]=2147483647}else if(num<-0x8000000000000000){HEAPU32[ptr>>2]=0;HEAPU32[ptr+4>>2]=2147483648}else{writeI53ToI64(ptr,num)}};var writeI53ToI64Signaling=(ptr,num)=>{if(num>0x8000000000000000||num<-0x8000000000000000){throw`RangeError: ${num}`}writeI53ToI64(ptr,num)};var writeI53ToU64Clamped=(ptr,num)=>{if(num>0x10000000000000000){HEAPU32[ptr>>2]=4294967295;HEAPU32[ptr+4>>2]=4294967295}else if(num<0){HEAPU32[ptr>>2]=0;HEAPU32[ptr+4>>2]=0}else{writeI53ToI64(ptr,num)}};var writeI53ToU64Signaling=(ptr,num)=>{if(num<0||num>0x10000000000000000){throw`RangeError: ${num}`}writeI53ToI64(ptr,num)};var readI53FromU64=ptr=>HEAPU32[ptr>>2]+HEAPU32[ptr+4>>2]*4294967296;var convertI32PairToI53=(lo,hi)=>(lo>>>0)+hi*4294967296;var convertU32PairToI53=(lo,hi)=>(lo>>>0)+(hi>>>0)*4294967296;var _stackAlloc=stackAlloc;var _stackSave=stackSave;var _stackRestore=stackSave;var _getTempRet0=getTempRet0;var ptrToString=ptr=>{ptr>>>=0;return"0x"+ptr.toString(16).padStart(8,"0")};var _emscripten_notify_memory_growth=memoryIndex=>{updateMemoryViews()};_emscripten_notify_memory_growth.sig="vp";var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var strError=errno=>UTF8ToString(_strerror(errno));var _getaddrinfo=(node,service,hint,out)=>{var addrs=[];var canon=null;var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai,last;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;HEAPU32[ai+24>>2]=canon;HEAPU32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,_htonl(1)]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>2]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAPU32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>2]=ai;return 0};_getaddrinfo.sig="ipppp";var Protocols={list:[],map:{}};var stringToAscii=(str,buffer)=>{for(var i=0;i{function allocprotoent(name,proto,aliases){var nameBuf=_malloc(name.length+1);stringToAscii(name,nameBuf);var j=0;var length=aliases.length;var aliasListBuf=_malloc((length+1)*4);for(var i=0;i>2]=aliasBuf}HEAPU32[aliasListBuf+j>>2]=0;var pe=_malloc(12);HEAPU32[pe>>2]=nameBuf;HEAPU32[pe+4>>2]=aliasListBuf;HEAP32[pe+8>>2]=proto;return pe}var list=Protocols.list;var map=Protocols.map;if(list.length===0){var entry=allocprotoent("tcp",6,["TCP"]);list.push(entry);map["tcp"]=map["6"]=entry;entry=allocprotoent("udp",17,["UDP"]);list.push(entry);map["udp"]=map["17"]=entry}_setprotoent.index=0};_setprotoent.sig="vi";var _endprotoent=()=>{};_endprotoent.sig="v";var _getprotoent=number=>{if(_setprotoent.index===Protocols.list.length){return 0}var result=Protocols.list[_setprotoent.index++];return result};_getprotoent.sig="p";var _getprotobyname=name=>{name=UTF8ToString(name);_setprotoent(true);var result=Protocols.map[name];return result};_getprotobyname.sig="pp";var _getprotobynumber=number=>{_setprotoent(true);var result=Protocols.map[number];return result};_getprotobynumber.sig="pi";var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};var _emscripten_run_script=ptr=>{eval(UTF8ToString(ptr))};_emscripten_run_script.sig="vp";var _emscripten_run_script_int=ptr=>eval(UTF8ToString(ptr))|0;_emscripten_run_script_int.sig="ip";var _emscripten_run_script_string=ptr=>{var s=eval(UTF8ToString(ptr));if(s==null){return 0}s+="";var me=_emscripten_run_script_string;var len=lengthBytesUTF8(s);if(!me.bufferSize||me.bufferSizeMath.random();_emscripten_random.sig="f";var _emscripten_performance_now=()=>performance.now();_emscripten_performance_now.sig="d";var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;__emscripten_get_now_is_monotonic.sig="i";var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}};var jsStackTrace=()=>(new Error).stack.toString();var getCallstack=flags=>{var callstack=jsStackTrace();var lines=callstack.split("\n");callstack="";var firefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var line of lines){var symbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts?.length==5){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=firefoxRe.exec(line);if(parts?.length>=4){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}if(symbolName=="_emscripten_log"||symbolName=="_emscripten_get_callstack"){callstack="";continue}if(flags&24){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=` at ${symbolName} (${file}:${lineno}:${column})\n`}}callstack=callstack.replace(/\s+$/,"");return callstack};var emscriptenLog=(flags,str)=>{if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+getCallstack(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else if(flags&512){console.info(str)}else if(flags&256){console.debug(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}};var reallyNegative=x=>x<0||x===0&&1/x===-Infinity;var reSign=(value,bits)=>{if(value<=0){return value}var half=bits<=32?Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value};var unSign=(value,bits)=>{if(value>=0){return value}return bits<=32?2*Math.abs(1<{var end=ptr;while(HEAPU8[end])++end;return end-ptr};var formatString=(format,varargs)=>{var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){ptr+=4}}else{}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex];if(curr===0)break;next=HEAP8[textIndex+1];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=next==117?convertU32PairToI53(currArg[0],currArg[1]):convertI32PairToI53(currArg[0],currArg[1])}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.slice(1)}while(prefix.length+argText.lengthret.push(chr.charCodeAt(0)));break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].includes(".")&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.lengthret.push(chr.charCodeAt(0)));break}case"s":{var arg=getNextArg("i8*");var argLength=arg?strLen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i{var result=formatString(format,varargs);var str=UTF8ArrayToString(result);emscriptenLog(flags,str)};_emscripten_log.sig="vipp";var _emscripten_get_compiler_setting=name=>{throw"You must build with -sRETAIN_COMPILER_SETTINGS for getCompilerSetting or emscripten_get_compiler_setting to work"};_emscripten_get_compiler_setting.sig="pp";var _emscripten_has_asyncify=()=>0;_emscripten_has_asyncify.sig="i";var _emscripten_debugger=()=>{debugger};_emscripten_debugger.sig="v";var _emscripten_print_double=(x,to,max)=>{var str=x+"";if(to)return stringToUTF8(str,to,max);else return lengthBytesUTF8(str)};_emscripten_print_double.sig="idpi";var _emscripten_asm_const_double=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);_emscripten_asm_const_double.sig="dppp";var _emscripten_asm_const_ptr=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);_emscripten_asm_const_ptr.sig="pppp";var runMainThreadEmAsm=(emAsmAddr,sigPtr,argbuf,sync)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[emAsmAddr](...args)};var _emscripten_asm_const_int_sync_on_main_thread=(emAsmAddr,sigPtr,argbuf)=>runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,1);_emscripten_asm_const_int_sync_on_main_thread.sig="ippp";var _emscripten_asm_const_ptr_sync_on_main_thread=(emAsmAddr,sigPtr,argbuf)=>runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,1);_emscripten_asm_const_ptr_sync_on_main_thread.sig="pppp";var _emscripten_asm_const_double_sync_on_main_thread=_emscripten_asm_const_int_sync_on_main_thread;_emscripten_asm_const_double_sync_on_main_thread.sig="dppp";var _emscripten_asm_const_async_on_main_thread=(emAsmAddr,sigPtr,argbuf)=>runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,0);_emscripten_asm_const_async_on_main_thread.sig="vppp";var __Unwind_Backtrace=(func,arg)=>{var trace=getCallstack();var parts=trace.split("\n");for(var i=0;iabort("Unwind_GetIPInfo");__Unwind_GetIPInfo.sig="ppp";var __Unwind_FindEnclosingFunction=ip=>0;__Unwind_FindEnclosingFunction.sig="pp";class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>2]=type}get_type(){return HEAPU32[this.ptr+4>>2]}set_destructor(destructor){HEAPU32[this.ptr+8>>2]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>2]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12]=caught}get_caught(){return HEAP8[this.ptr+12]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13]=rethrown}get_rethrown(){return HEAP8[this.ptr+13]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>2]}}var exceptionLast=0;var uncaughtExceptionCount=0;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};___cxa_throw.sig="vppp";var __Unwind_RaiseException=ex=>{err("Warning: _Unwind_RaiseException is not correctly implemented");return ___cxa_throw(ex,0,0)};__Unwind_RaiseException.sig="ip";var __Unwind_DeleteException=ex=>err("TODO: Unwind_DeleteException");__Unwind_DeleteException.sig="vp";var dynCallLegacy=(sig,ptr,args)=>{sig=sig.replace(/p/g,"i");var f=Module["dynCall_"+sig];return f(ptr,...args)};var getDynCaller=(sig,ptr,promising=false)=>(...args)=>dynCall(sig,ptr,args,promising);var _emscripten_exit_with_live_runtime=()=>{throw"unwind"};_emscripten_exit_with_live_runtime.sig="v";var _emscripten_force_exit=status=>{__emscripten_runtime_keepalive_clear();_exit(status)};_emscripten_force_exit.sig="vi";var _emscripten_outn=(str,len)=>out(UTF8ToString(str,len));_emscripten_outn.sig="vpp";var _emscripten_errn=(str,len)=>err(UTF8ToString(str,len));_emscripten_errn.sig="vpp";var _emscripten_throw_number=number=>{throw number};_emscripten_throw_number.sig="vd";var _emscripten_throw_string=str=>{throw UTF8ToString(str)};_emscripten_throw_string.sig="vp";var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};runtimeKeepalivePush.sig="v";var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};runtimeKeepalivePop.sig="v";var _emscripten_runtime_keepalive_push=runtimeKeepalivePush;_emscripten_runtime_keepalive_push.sig="v";var _emscripten_runtime_keepalive_pop=runtimeKeepalivePop;_emscripten_runtime_keepalive_pop.sig="v";var _emscripten_runtime_keepalive_check=keepRuntimeAlive;_emscripten_runtime_keepalive_check.sig="i";var asmjsMangle=x=>{if(x=="__main_argc_argv"){x="main"}return x.startsWith("dynCall_")?x:"_"+x};var ___global_base=1024;var __emscripten_fs_load_embedded_files=ptr=>{do{var name_addr=HEAPU32[ptr>>2];ptr+=4;var len=HEAPU32[ptr>>2];ptr+=4;var content=HEAPU32[ptr>>2];ptr+=4;var name=UTF8ToString(name_addr);FS.createPath("/",PATH.dirname(name),true,true);FS.createDataFile(name,null,HEAP8.subarray(content,content+len),true,true,true)}while(HEAPU32[ptr>>2])};__emscripten_fs_load_embedded_files.sig="vp";var POINTER_SIZE=4;function getNativeTypeSize(type){switch(type){case"i1":case"i8":case"u8":return 1;case"i16":case"u16":return 2;case"i32":case"u32":return 4;case"i64":case"u64":return 8;case"float":return 4;case"double":return 8;default:{if(type.endsWith("*")){return POINTER_SIZE}if(type[0]==="i"){const bits=Number(type.slice(1));assert(bits%8===0,`getNativeTypeSize invalid bits ${bits}, ${type} type`);return bits/8}return 0}}}var onInits=[];var addOnInit=cb=>onInits.push(cb);var onMains=[];var addOnPreMain=cb=>onMains.push(cb);var onExits=[];var addOnExit=cb=>onExits.push(cb);var STACK_SIZE=524288;var STACK_ALIGN=16;var ASSERTIONS=0;var removeFunction=index=>{functionsInTableMap.delete(getWasmTableEntry(index));setWasmTableEntry(index,null);freeTableIndexes.push(index)};var _emscripten_math_cbrt=Math.cbrt;_emscripten_math_cbrt.sig="dd";var _emscripten_math_pow=Math.pow;_emscripten_math_pow.sig="ddd";var _emscripten_math_random=Math.random;_emscripten_math_random.sig="d";var _emscripten_math_sign=Math.sign;_emscripten_math_sign.sig="dd";var _emscripten_math_sqrt=Math.sqrt;_emscripten_math_sqrt.sig="dd";var _emscripten_math_exp=Math.exp;_emscripten_math_exp.sig="dd";var _emscripten_math_expm1=Math.expm1;_emscripten_math_expm1.sig="dd";var _emscripten_math_fmod=(x,y)=>x%y;_emscripten_math_fmod.sig="ddd";var _emscripten_math_log=Math.log;_emscripten_math_log.sig="dd";var _emscripten_math_log1p=Math.log1p;_emscripten_math_log1p.sig="dd";var _emscripten_math_log10=Math.log10;_emscripten_math_log10.sig="dd";var _emscripten_math_log2=Math.log2;_emscripten_math_log2.sig="dd";var _emscripten_math_round=Math.round;_emscripten_math_round.sig="dd";var _emscripten_math_acos=Math.acos;_emscripten_math_acos.sig="dd";var _emscripten_math_acosh=Math.acosh;_emscripten_math_acosh.sig="dd";var _emscripten_math_asin=Math.asin;_emscripten_math_asin.sig="dd";var _emscripten_math_asinh=Math.asinh;_emscripten_math_asinh.sig="dd";var _emscripten_math_atan=Math.atan;_emscripten_math_atan.sig="dd";var _emscripten_math_atanh=Math.atanh;_emscripten_math_atanh.sig="dd";var _emscripten_math_atan2=Math.atan2;_emscripten_math_atan2.sig="ddd";var _emscripten_math_cos=Math.cos;_emscripten_math_cos.sig="dd";var _emscripten_math_cosh=Math.cosh;_emscripten_math_cosh.sig="dd";var _emscripten_math_hypot=(count,varargs)=>{var args=[];for(var i=0;i>3])}return Math.hypot(...args)};_emscripten_math_hypot.sig="dip";var _emscripten_math_sin=Math.sin;_emscripten_math_sin.sig="dd";var _emscripten_math_sinh=Math.sinh;_emscripten_math_sinh.sig="dd";var _emscripten_math_tan=Math.tan;_emscripten_math_tan.sig="dd";var _emscripten_math_tanh=Math.tanh;_emscripten_math_tanh.sig="dd";var lengthBytesUTF16=str=>str.length*2;var lengthBytesUTF32=str=>{var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len};var JSEvents={memcpy(target,src,size){HEAP8.set(HEAP8.subarray(src,src+size),target)},removeAllEventListeners(){while(JSEvents.eventHandlers.length){JSEvents._removeHandler(JSEvents.eventHandlers.length-1)}JSEvents.deferredCalls=[]},inEventHandler:0,deferredCalls:[],deferCall(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var call of JSEvents.deferredCalls){if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction,precedence,argsList});JSEvents.deferredCalls.sort((x,y)=>x.precedencecall.targetFunction!=targetFunction)},canPerformEventHandlerRequests(){if(navigator.userActivation){return navigator.userActivation.isActive}return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls(){if(!JSEvents.canPerformEventHandlerRequests()){return}var deferredCalls=JSEvents.deferredCalls;JSEvents.deferredCalls=[];for(var call of deferredCalls){call.targetFunction(...call.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(target,eventTypeString)=>{for(var i=0;icString>2?UTF8ToString(cString):cString;var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];var findEventTarget=target=>{target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):null);return domElement};var registerKeyEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.keyEvent||=_malloc(160);var keyEventHandlerFunc=e=>{var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP8[keyEventData+12]=e.ctrlKey;HEAP8[keyEventData+13]=e.shiftKey;HEAP8[keyEventData+14]=e.altKey;HEAP8[keyEventData+15]=e.metaKey;HEAP8[keyEventData+16]=e.repeat;HEAP32[idx+5]=e.charCode;HEAP32[idx+6]=e.keyCode;HEAP32[idx+7]=e.which;stringToUTF8(e.key||"",keyEventData+32,32);stringToUTF8(e.code||"",keyEventData+64,32);stringToUTF8(e.char||"",keyEventData+96,32);stringToUTF8(e.locale||"",keyEventData+128,32);if(getWasmTableEntry(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var findCanvasEventTarget=findEventTarget;var _emscripten_set_keypress_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);_emscripten_set_keypress_callback_on_thread.sig="ippipp";var _emscripten_set_keydown_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);_emscripten_set_keydown_callback_on_thread.sig="ippipp";var _emscripten_set_keyup_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread);_emscripten_set_keyup_callback_on_thread.sig="ippipp";var getBoundingClientRect=e=>specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{left:0,top:0};var fillMouseEventData=(eventStruct,e,target)=>{HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP8[eventStruct+24]=e.ctrlKey;HEAP8[eventStruct+25]=e.shiftKey;HEAP8[eventStruct+26]=e.altKey;HEAP8[eventStruct+27]=e.metaKey;HEAP16[idx*2+14]=e.button;HEAP16[idx*2+15]=e.buttons;HEAP32[idx+8]=e["movementX"];HEAP32[idx+9]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+10]=e.clientX-(rect.left|0);HEAP32[idx+11]=e.clientY-(rect.top|0)};var registerMouseEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.mouseEvent||=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=(e=event)=>{fillMouseEventData(JSEvents.mouseEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString,callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_click_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);_emscripten_set_click_callback_on_thread.sig="ippipp";var _emscripten_set_mousedown_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread);_emscripten_set_mousedown_callback_on_thread.sig="ippipp";var _emscripten_set_mouseup_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread);_emscripten_set_mouseup_callback_on_thread.sig="ippipp";var _emscripten_set_dblclick_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,7,"dblclick",targetThread);_emscripten_set_dblclick_callback_on_thread.sig="ippipp";var _emscripten_set_mousemove_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread);_emscripten_set_mousemove_callback_on_thread.sig="ippipp";var _emscripten_set_mouseenter_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter",targetThread);_emscripten_set_mouseenter_callback_on_thread.sig="ippipp";var _emscripten_set_mouseleave_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave",targetThread);_emscripten_set_mouseleave_callback_on_thread.sig="ippipp";var _emscripten_set_mouseover_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,35,"mouseover",targetThread);_emscripten_set_mouseover_callback_on_thread.sig="ippipp";var _emscripten_set_mouseout_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,36,"mouseout",targetThread);_emscripten_set_mouseout_callback_on_thread.sig="ippipp";var _emscripten_get_mouse_status=mouseState=>{if(!JSEvents.mouseEvent)return-7;JSEvents.memcpy(mouseState,JSEvents.mouseEvent,64);return 0};_emscripten_get_mouse_status.sig="ip";var registerWheelEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.wheelEvent||=_malloc(96);var wheelHandlerFunc=(e=event)=>{var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+64>>3]=e["deltaX"];HEAPF64[wheelEvent+72>>3]=e["deltaY"];HEAPF64[wheelEvent+80>>3]=e["deltaZ"];HEAP32[wheelEvent+88>>2]=e["deltaMode"];if(getWasmTableEntry(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:true,eventTypeString,callbackfunc,handlerFunc:wheelHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_wheel_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{target=findEventTarget(target);if(!target)return-4;if(typeof target.onwheel!="undefined"){return registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread)}else{return-1}};_emscripten_set_wheel_callback_on_thread.sig="ippipp";var registerUiEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.uiEvent||=_malloc(36);target=findEventTarget(target);var uiEventHandlerFunc=(e=event)=>{if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>2]=0;HEAP32[uiEvent+4>>2]=b.clientWidth;HEAP32[uiEvent+8>>2]=b.clientHeight;HEAP32[uiEvent+12>>2]=innerWidth;HEAP32[uiEvent+16>>2]=innerHeight;HEAP32[uiEvent+20>>2]=outerWidth;HEAP32[uiEvent+24>>2]=outerHeight;HEAP32[uiEvent+28>>2]=pageXOffset|0;HEAP32[uiEvent+32>>2]=pageYOffset|0;if(getWasmTableEntry(callbackfunc)(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_resize_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread);_emscripten_set_resize_callback_on_thread.sig="ippipp";var _emscripten_set_scroll_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerUiEventCallback(target,userData,useCapture,callbackfunc,11,"scroll",targetThread);_emscripten_set_scroll_callback_on_thread.sig="ippipp";var registerFocusEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.focusEvent||=_malloc(256);var focusEventHandlerFunc=(e=event)=>{var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(getWasmTableEntry(callbackfunc)(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_blur_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread);_emscripten_set_blur_callback_on_thread.sig="ippipp";var _emscripten_set_focus_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread);_emscripten_set_focus_callback_on_thread.sig="ippipp";var _emscripten_set_focusin_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,14,"focusin",targetThread);_emscripten_set_focusin_callback_on_thread.sig="ippipp";var _emscripten_set_focusout_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,15,"focusout",targetThread);_emscripten_set_focusout_callback_on_thread.sig="ippipp";var fillDeviceOrientationEventData=(eventStruct,e,target)=>{HEAPF64[eventStruct>>3]=e.alpha;HEAPF64[eventStruct+8>>3]=e.beta;HEAPF64[eventStruct+16>>3]=e.gamma;HEAP8[eventStruct+24]=e.absolute};var registerDeviceOrientationEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.deviceOrientationEvent||=_malloc(32);var deviceOrientationEventHandlerFunc=(e=event)=>{fillDeviceOrientationEventData(JSEvents.deviceOrientationEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.deviceOrientationEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:deviceOrientationEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_deviceorientation_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>registerDeviceOrientationEventCallback(2,userData,useCapture,callbackfunc,16,"deviceorientation",targetThread);_emscripten_set_deviceorientation_callback_on_thread.sig="ipipp";var _emscripten_get_deviceorientation_status=orientationState=>{if(!JSEvents.deviceOrientationEvent)return-7;JSEvents.memcpy(orientationState,JSEvents.deviceOrientationEvent,32);return 0};_emscripten_get_deviceorientation_status.sig="ip";var fillDeviceMotionEventData=(eventStruct,e,target)=>{var supportedFields=0;var a=e["acceleration"];supportedFields|=a&&1;var ag=e["accelerationIncludingGravity"];supportedFields|=ag&&2;var rr=e["rotationRate"];supportedFields|=rr&&4;a=a||{};ag=ag||{};rr=rr||{};HEAPF64[eventStruct>>3]=a["x"];HEAPF64[eventStruct+8>>3]=a["y"];HEAPF64[eventStruct+16>>3]=a["z"];HEAPF64[eventStruct+24>>3]=ag["x"];HEAPF64[eventStruct+32>>3]=ag["y"];HEAPF64[eventStruct+40>>3]=ag["z"];HEAPF64[eventStruct+48>>3]=rr["alpha"];HEAPF64[eventStruct+56>>3]=rr["beta"];HEAPF64[eventStruct+64>>3]=rr["gamma"]};var registerDeviceMotionEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.deviceMotionEvent||=_malloc(80);var deviceMotionEventHandlerFunc=(e=event)=>{fillDeviceMotionEventData(JSEvents.deviceMotionEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.deviceMotionEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:deviceMotionEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_devicemotion_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>registerDeviceMotionEventCallback(2,userData,useCapture,callbackfunc,17,"devicemotion",targetThread);_emscripten_set_devicemotion_callback_on_thread.sig="ipipp";var _emscripten_get_devicemotion_status=motionState=>{if(!JSEvents.deviceMotionEvent)return-7;JSEvents.memcpy(motionState,JSEvents.deviceMotionEvent,80);return 0};_emscripten_get_devicemotion_status.sig="ip";var screenOrientation=()=>{if(!window.screen)return undefined;return screen.orientation||screen["mozOrientation"]||screen["webkitOrientation"]};var fillOrientationChangeEventData=eventStruct=>{var orientationsType1=["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];var orientationsType2=["portrait","portrait","landscape","landscape"];var orientationIndex=0;var orientationAngle=0;var screenOrientObj=screenOrientation();if(typeof screenOrientObj==="object"){orientationIndex=orientationsType1.indexOf(screenOrientObj.type);if(orientationIndex<0){orientationIndex=orientationsType2.indexOf(screenOrientObj.type)}if(orientationIndex>=0){orientationIndex=1<>2]=orientationIndex;HEAP32[eventStruct+4>>2]=orientationAngle};var registerOrientationChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.orientationChangeEvent||=_malloc(8);var orientationChangeEventHandlerFunc=(e=event)=>{var orientationChangeEvent=JSEvents.orientationChangeEvent;fillOrientationChangeEventData(orientationChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,orientationChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:orientationChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_orientationchange_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(!window.screen||!screen.orientation)return-1;return registerOrientationChangeEventCallback(screen.orientation,userData,useCapture,callbackfunc,18,"change",targetThread)};_emscripten_set_orientationchange_callback_on_thread.sig="ipipp";var _emscripten_get_orientation_status=orientationChangeEvent=>{if(!screenOrientation()&&typeof orientation=="undefined")return-1;fillOrientationChangeEventData(orientationChangeEvent);return 0};_emscripten_get_orientation_status.sig="ip";var _emscripten_lock_orientation=allowedOrientations=>{var orientations=[];if(allowedOrientations&1)orientations.push("portrait-primary");if(allowedOrientations&2)orientations.push("portrait-secondary");if(allowedOrientations&4)orientations.push("landscape-primary");if(allowedOrientations&8)orientations.push("landscape-secondary");var succeeded;if(screen.lockOrientation){succeeded=screen.lockOrientation(orientations)}else if(screen.mozLockOrientation){succeeded=screen.mozLockOrientation(orientations)}else if(screen.webkitLockOrientation){succeeded=screen.webkitLockOrientation(orientations)}else{return-1}if(succeeded){return 0}return-6};_emscripten_lock_orientation.sig="ii";var _emscripten_unlock_orientation=()=>{if(screen.unlockOrientation){screen.unlockOrientation()}else if(screen.mozUnlockOrientation){screen.mozUnlockOrientation()}else if(screen.webkitUnlockOrientation){screen.webkitUnlockOrientation()}else{return-1}return 0};_emscripten_unlock_orientation.sig="i";var fillFullscreenChangeEventData=eventStruct=>{var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP8[eventStruct]=isFullscreen;HEAP8[eventStruct+1]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement?.id||"";stringToUTF8(nodeName,eventStruct+2,128);stringToUTF8(id,eventStruct+130,128);HEAP32[eventStruct+260>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+268>>2]=screen.width;HEAP32[eventStruct+272>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}};var registerFullscreenChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.fullscreenChangeEvent||=_malloc(276);var fullscreenChangeEventhandlerFunc=(e=event)=>{var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_fullscreenchange_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread)};_emscripten_set_fullscreenchange_callback_on_thread.sig="ippipp";var _emscripten_get_fullscreen_status=fullscreenStatus=>{if(!JSEvents.fullscreenEnabled())return-1;fillFullscreenChangeEventData(fullscreenStatus);return 0};_emscripten_get_fullscreen_status.sig="ip";var _emscripten_get_canvas_element_size=(target,width,height)=>{var canvas=findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height};_emscripten_get_canvas_element_size.sig="ippp";var getCanvasElementSize=target=>{var sp=stackSave();var w=stackAlloc(8);var h=w+4;var targetInt=stringToUTF8OnStack(target.id);var ret=_emscripten_get_canvas_element_size(targetInt,w,h);var size=[HEAP32[w>>2],HEAP32[h>>2]];stackRestore(sp);return size};var _emscripten_set_canvas_element_size=(target,width,height)=>{var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0};_emscripten_set_canvas_element_size.sig="ipii";var setCanvasElementSize=(target,width,height)=>{if(!target.controlTransferredOffscreen){target.width=width;target.height=height}else{var sp=stackSave();var targetInt=stringToUTF8OnStack(target.id);_emscripten_set_canvas_element_size(targetInt,width,height);stackRestore(sp)}};var currentFullscreenStrategy={};var registerRestoreOldStyle=canvas=>{var canvasSize=getCanvasElementSize(canvas);var oldWidth=canvasSize[0];var oldHeight=canvasSize[1];var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.webkitFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);setCanvasElementSize(canvas,oldWidth,oldHeight);canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(currentFullscreenStrategy.canvasResizedCallback){getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);return restoreOldStyle};var setLetterbox=(element,topBottom,leftRight)=>{element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"};var JSEvents_resizeCanvasForFullscreen=(target,strategy)=>{var restoreOldStyle=registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?innerWidth:screen.width;var cssHeight=strategy.softFullscreen?innerHeight:screen.height;var rect=getBoundingClientRect(target);var windowedCssWidth=rect.width;var windowedCssHeight=rect.height;var canvasSize=getCanvasElementSize(target);var windowedRttWidth=canvasSize[0];var windowedRttHeight=canvasSize[1];if(strategy.scaleMode==3){setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight{if(strategy.scaleMode!=0||strategy.canvasResolutionScaleMode!=0){JSEvents_resizeCanvasForFullscreen(target,strategy)}if(target.requestFullscreen){target.requestFullscreen()}else if(target.webkitRequestFullscreen){target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}else{return JSEvents.fullscreenEnabled()?-3:-1}currentFullscreenStrategy=strategy;if(strategy.canvasResizedCallback){getWasmTableEntry(strategy.canvasResizedCallback)(37,0,strategy.canvasResizedCallbackUserData)}return 0};var hideEverythingExceptGivenElement=onlyVisibleElement=>{var child=onlyVisibleElement;var parent=child.parentNode;var hiddenElements=[];while(child!=document.body){var children=parent.children;for(var currChild of children){if(currChild!=child){hiddenElements.push({node:currChild,displayState:currChild.style.display});currChild.style.display="none"}}child=parent;parent=parent.parentNode}return hiddenElements};var restoreHiddenElements=hiddenElements=>{for(var elem of hiddenElements){elem.node.style.display=elem.displayState}};var restoreOldWindowedStyle=null;var softFullscreenResizeWebGLRenderTarget=()=>{var dpr=devicePixelRatio;var inHiDPIFullscreenMode=currentFullscreenStrategy.canvasResolutionScaleMode==2;var inAspectRatioFixedFullscreenMode=currentFullscreenStrategy.scaleMode==2;var inPixelPerfectFullscreenMode=currentFullscreenStrategy.canvasResolutionScaleMode!=0;var inCenteredWithoutScalingFullscreenMode=currentFullscreenStrategy.scaleMode==3;var screenWidth=inHiDPIFullscreenMode?Math.round(innerWidth*dpr):innerWidth;var screenHeight=inHiDPIFullscreenMode?Math.round(innerHeight*dpr):innerHeight;var w=screenWidth;var h=screenHeight;var canvas=currentFullscreenStrategy.target;var canvasSize=getCanvasElementSize(canvas);var x=canvasSize[0];var y=canvasSize[1];var topMargin;if(inAspectRatioFixedFullscreenMode){if(w*yx*h)w=h*x/y|0;topMargin=(screenHeight-h)/2|0}if(inPixelPerfectFullscreenMode){setCanvasElementSize(canvas,w,h);if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,w,h)}if(inHiDPIFullscreenMode){topMargin/=dpr;w/=dpr;h/=dpr;w=Math.round(w*1e4)/1e4;h=Math.round(h*1e4)/1e4;topMargin=Math.round(topMargin*1e4)/1e4}if(inCenteredWithoutScalingFullscreenMode){var t=(innerHeight-jstoi_q(canvas.style.height))/2;var b=(innerWidth-jstoi_q(canvas.style.width))/2;setLetterbox(canvas,t,b)}else{canvas.style.width=w+"px";canvas.style.height=h+"px";var b=(innerWidth-w)/2;setLetterbox(canvas,topMargin,b)}if(!inCenteredWithoutScalingFullscreenMode&¤tFullscreenStrategy.canvasResizedCallback){getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}};var doRequestFullscreen=(target,strategy)=>{if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.webkitRequestFullscreen){return-3}if(!JSEvents.canPerformEventHandlerRequests()){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents_requestFullscreen,1,[target,strategy]);return 1}return-2}return JSEvents_requestFullscreen(target,strategy)};var _emscripten_request_fullscreen=(target,deferUntilInEventHandler)=>{var strategy={scaleMode:0,canvasResolutionScaleMode:0,filteringMode:0,deferUntilInEventHandler,canvasResizedCallbackTargetThread:2};return doRequestFullscreen(target,strategy)};_emscripten_request_fullscreen.sig="ipi";var _emscripten_request_fullscreen_strategy=(target,deferUntilInEventHandler,fullscreenStrategy)=>{var strategy={scaleMode:HEAP32[fullscreenStrategy>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>2],filteringMode:HEAP32[fullscreenStrategy+8>>2],deferUntilInEventHandler,canvasResizedCallback:HEAP32[fullscreenStrategy+12>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>2]};return doRequestFullscreen(target,strategy)};_emscripten_request_fullscreen_strategy.sig="ipip";var _emscripten_enter_soft_fullscreen=(target,fullscreenStrategy)=>{target=findEventTarget(target);if(!target)return-4;var strategy={scaleMode:HEAP32[fullscreenStrategy>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>2],filteringMode:HEAP32[fullscreenStrategy+8>>2],canvasResizedCallback:HEAP32[fullscreenStrategy+12>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>2],target,softFullscreen:true};var restoreOldStyle=JSEvents_resizeCanvasForFullscreen(target,strategy);document.documentElement.style.overflow="hidden";document.body.scroll="no";document.body.style.margin="0px";var hiddenElements=hideEverythingExceptGivenElement(target);function restoreWindowedState(){restoreOldStyle();restoreHiddenElements(hiddenElements);removeEventListener("resize",softFullscreenResizeWebGLRenderTarget);if(strategy.canvasResizedCallback){getWasmTableEntry(strategy.canvasResizedCallback)(37,0,strategy.canvasResizedCallbackUserData)}currentFullscreenStrategy=0}restoreOldWindowedStyle=restoreWindowedState;currentFullscreenStrategy=strategy;addEventListener("resize",softFullscreenResizeWebGLRenderTarget);if(strategy.canvasResizedCallback){getWasmTableEntry(strategy.canvasResizedCallback)(37,0,strategy.canvasResizedCallbackUserData)}return 0};_emscripten_enter_soft_fullscreen.sig="ipp";var _emscripten_exit_soft_fullscreen=()=>{restoreOldWindowedStyle?.();restoreOldWindowedStyle=null;return 0};_emscripten_exit_soft_fullscreen.sig="i";var _emscripten_exit_fullscreen=()=>{if(!JSEvents.fullscreenEnabled())return-1;JSEvents.removeDeferredCalls(JSEvents_requestFullscreen);var d=specialHTMLTargets[1];if(d.exitFullscreen){d.fullscreenElement&&d.exitFullscreen()}else if(d.webkitExitFullscreen){d.webkitFullscreenElement&&d.webkitExitFullscreen()}else{return-1}return 0};_emscripten_exit_fullscreen.sig="i";var fillPointerlockChangeEventData=eventStruct=>{var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP8[eventStruct]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement?.id||"";stringToUTF8(nodeName,eventStruct+1,128);stringToUTF8(id,eventStruct+129,128)};var registerPointerlockChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.pointerlockChangeEvent||=_malloc(257);var pointerlockChangeEventHandlerFunc=(e=event)=>{var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(pointerlockChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_pointerlockchange_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange",targetThread);return registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange",targetThread)};_emscripten_set_pointerlockchange_callback_on_thread.sig="ippipp";var registerPointerlockErrorEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var pointerlockErrorEventHandlerFunc=(e=event)=>{if(getWasmTableEntry(callbackfunc)(eventTypeId,0,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:pointerlockErrorEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_pointerlockerror_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{if(!document||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"mozpointerlockerror",targetThread);registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"webkitpointerlockerror",targetThread);registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"mspointerlockerror",targetThread);return registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"pointerlockerror",targetThread)};_emscripten_set_pointerlockerror_callback_on_thread.sig="ippipp";var _emscripten_get_pointerlock_status=pointerlockStatus=>{if(pointerlockStatus)fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0};_emscripten_get_pointerlock_status.sig="ip";var requestPointerLock=target=>{if(target.requestPointerLock){target.requestPointerLock()}else{if(document.body.requestPointerLock){return-3}return-1}return 0};var _emscripten_request_pointerlock=(target,deferUntilInEventHandler)=>{target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock){return-1}if(!JSEvents.canPerformEventHandlerRequests()){if(deferUntilInEventHandler){JSEvents.deferCall(requestPointerLock,2,[target]);return 1}return-2}return requestPointerLock(target)};_emscripten_request_pointerlock.sig="ipi";var _emscripten_exit_pointerlock=()=>{JSEvents.removeDeferredCalls(requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else{return-1}return 0};_emscripten_exit_pointerlock.sig="i";var _emscripten_vibrate=msecs=>{if(!navigator.vibrate)return-1;navigator.vibrate(msecs);return 0};_emscripten_vibrate.sig="ii";var _emscripten_vibrate_pattern=(msecsArray,numEntries)=>{if(!navigator.vibrate)return-1;var vibrateList=[];for(var i=0;i>2];vibrateList.push(msecs)}navigator.vibrate(vibrateList);return 0};_emscripten_vibrate_pattern.sig="ipi";var fillVisibilityChangeEventData=eventStruct=>{var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP8[eventStruct]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState};var registerVisibilityChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.visibilityChangeEvent||=_malloc(8);var visibilityChangeEventHandlerFunc=(e=event)=>{var visibilityChangeEvent=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(visibilityChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_visibilitychange_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(!specialHTMLTargets[1]){return-4}return registerVisibilityChangeEventCallback(specialHTMLTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread)};_emscripten_set_visibilitychange_callback_on_thread.sig="ipipp";var _emscripten_get_visibility_status=visibilityStatus=>{if(typeof document.visibilityState=="undefined"&&typeof document.hidden=="undefined"){return-1}fillVisibilityChangeEventData(visibilityStatus);return 0};_emscripten_get_visibility_status.sig="ip";var registerTouchEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.touchEvent||=_malloc(1552);target=findEventTarget(target);var touchEventHandlerFunc=e=>{var t,touches={},et=e.touches;for(let t of et){t.isChanged=t.onTarget=0;touches[t.identifier]=t}for(let t of e.changedTouches){t.isChanged=1;touches[t.identifier]=t}for(let t of e.targetTouches){touches[t.identifier].onTarget=1}var touchEvent=JSEvents.touchEvent;HEAPF64[touchEvent>>3]=e.timeStamp;HEAP8[touchEvent+12]=e.ctrlKey;HEAP8[touchEvent+13]=e.shiftKey;HEAP8[touchEvent+14]=e.altKey;HEAP8[touchEvent+15]=e.metaKey;var idx=touchEvent+16;var targetRect=getBoundingClientRect(target);var numTouches=0;for(let t of Object.values(touches)){var idx32=idx>>2;HEAP32[idx32+0]=t.identifier;HEAP32[idx32+1]=t.screenX;HEAP32[idx32+2]=t.screenY;HEAP32[idx32+3]=t.clientX;HEAP32[idx32+4]=t.clientY;HEAP32[idx32+5]=t.pageX;HEAP32[idx32+6]=t.pageY;HEAP8[idx+28]=t.isChanged;HEAP8[idx+29]=t.onTarget;HEAP32[idx32+8]=t.clientX-(targetRect.left|0);HEAP32[idx32+9]=t.clientY-(targetRect.top|0);idx+=48;if(++numTouches>31){break}}HEAP32[touchEvent+8>>2]=numTouches;if(getWasmTableEntry(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString,callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_touchstart_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);_emscripten_set_touchstart_callback_on_thread.sig="ippipp";var _emscripten_set_touchend_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);_emscripten_set_touchend_callback_on_thread.sig="ippipp";var _emscripten_set_touchmove_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);_emscripten_set_touchmove_callback_on_thread.sig="ippipp";var _emscripten_set_touchcancel_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);_emscripten_set_touchcancel_callback_on_thread.sig="ippipp";var fillGamepadEventData=(eventStruct,e)=>{HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1112,64);stringToUTF8(e.mapping,eventStruct+1176,64)};var registerGamepadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.gamepadEvent||=_malloc(1240);var gamepadEventHandlerFunc=(e=event)=>{var gamepadEvent=JSEvents.gamepadEvent;fillGamepadEventData(gamepadEvent,e["gamepad"]);if(getWasmTableEntry(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString,callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_sample_gamepad_data=()=>{try{if(navigator.getGamepads)return(JSEvents.lastGamepadState=navigator.getGamepads())?0:-1}catch(e){navigator.getGamepads=null}return-1};_emscripten_sample_gamepad_data.sig="i";var _emscripten_set_gamepadconnected_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(_emscripten_sample_gamepad_data())return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread)};_emscripten_set_gamepadconnected_callback_on_thread.sig="ipipp";var _emscripten_set_gamepaddisconnected_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(_emscripten_sample_gamepad_data())return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread)};_emscripten_set_gamepaddisconnected_callback_on_thread.sig="ipipp";var _emscripten_get_num_gamepads=()=>JSEvents.lastGamepadState.length;_emscripten_get_num_gamepads.sig="i";var _emscripten_get_gamepad_status=(index,gamepadState)=>{if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0};_emscripten_get_gamepad_status.sig="iip";var registerBeforeUnloadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString)=>{var beforeUnloadEventHandlerFunc=(e=event)=>{var confirmationMessage=getWasmTableEntry(callbackfunc)(eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=UTF8ToString(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:beforeUnloadEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_beforeunload_callback_on_thread=(userData,callbackfunc,targetThread)=>{if(typeof onbeforeunload=="undefined")return-1;if(targetThread!==1)return-5;return registerBeforeUnloadEventCallback(2,userData,true,callbackfunc,28,"beforeunload")};_emscripten_set_beforeunload_callback_on_thread.sig="ippp";var fillBatteryEventData=(eventStruct,e)=>{HEAPF64[eventStruct>>3]=e.chargingTime;HEAPF64[eventStruct+8>>3]=e.dischargingTime;HEAPF64[eventStruct+16>>3]=e.level;HEAP8[eventStruct+24]=e.charging};var battery=()=>navigator.battery||navigator.mozBattery||navigator.webkitBattery;var registerBatteryEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.batteryEvent||=_malloc(32);var batteryEventHandlerFunc=(e=event)=>{var batteryEvent=JSEvents.batteryEvent;fillBatteryEventData(batteryEvent,battery());if(getWasmTableEntry(callbackfunc)(eventTypeId,batteryEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:batteryEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_batterychargingchange_callback_on_thread=(userData,callbackfunc,targetThread)=>{if(!battery())return-1;return registerBatteryEventCallback(battery(),userData,true,callbackfunc,29,"chargingchange",targetThread)};_emscripten_set_batterychargingchange_callback_on_thread.sig="ippp";var _emscripten_set_batterylevelchange_callback_on_thread=(userData,callbackfunc,targetThread)=>{if(!battery())return-1;return registerBatteryEventCallback(battery(),userData,true,callbackfunc,30,"levelchange",targetThread)};_emscripten_set_batterylevelchange_callback_on_thread.sig="ippp";var _emscripten_get_battery_status=batteryState=>{if(!battery())return-1;fillBatteryEventData(batteryState,battery());return 0};_emscripten_get_battery_status.sig="ip";var _emscripten_set_element_css_size=(target,width,height)=>{target=findEventTarget(target);if(!target)return-4;target.style.width=width+"px";target.style.height=height+"px";return 0};_emscripten_set_element_css_size.sig="ipdd";var _emscripten_get_element_css_size=(target,width,height)=>{target=findEventTarget(target);if(!target)return-4;var rect=getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0};_emscripten_get_element_css_size.sig="ippp";var _emscripten_html5_remove_all_event_listeners=()=>JSEvents.removeAllEventListeners();_emscripten_html5_remove_all_event_listeners.sig="v";var _emscripten_request_animation_frame=(cb,userData)=>requestAnimationFrame(timeStamp=>getWasmTableEntry(cb)(timeStamp,userData));_emscripten_request_animation_frame.sig="ipp";var _emscripten_cancel_animation_frame=id=>cancelAnimationFrame(id);_emscripten_cancel_animation_frame.sig="vi";var _emscripten_request_animation_frame_loop=(cb,userData)=>{function tick(timeStamp){if(getWasmTableEntry(cb)(timeStamp,userData)){requestAnimationFrame(tick)}}return requestAnimationFrame(tick)};_emscripten_request_animation_frame_loop.sig="vpp";var _emscripten_get_device_pixel_ratio=()=>devicePixelRatio;_emscripten_get_device_pixel_ratio.sig="d";var _emscripten_get_callstack=(flags,str,maxbytes)=>{var callstack=getCallstack(flags);if(!str||maxbytes<=0){return lengthBytesUTF8(callstack)+1}var bytesWrittenExcludingNull=stringToUTF8(callstack,str,maxbytes);return bytesWrittenExcludingNull+1};_emscripten_get_callstack.sig="iipi";var convertFrameToPC=frame=>{abort("Cannot use convertFrameToPC (needed by __builtin_return_address) without -sUSE_OFFSET_CONVERTER");return 0};var _emscripten_return_address=level=>{var callstack=jsStackTrace().split("\n");if(callstack[0]=="Error"){callstack.shift()}var caller=callstack[level+3];return convertFrameToPC(caller)};_emscripten_return_address.sig="pi";var UNWIND_CACHE={};var saveInUnwindCache=callstack=>{callstack.forEach(frame=>{var pc=convertFrameToPC(frame);if(pc){UNWIND_CACHE[pc]=frame}})};var _emscripten_stack_snapshot=()=>{var callstack=jsStackTrace().split("\n");if(callstack[0]=="Error"){callstack.shift()}saveInUnwindCache(callstack);UNWIND_CACHE.last_addr=convertFrameToPC(callstack[3]);UNWIND_CACHE.last_stack=callstack;return UNWIND_CACHE.last_addr};_emscripten_stack_snapshot.sig="p";var _emscripten_stack_unwind_buffer=(addr,buffer,count)=>{var stack;if(UNWIND_CACHE.last_addr==addr){stack=UNWIND_CACHE.last_stack}else{stack=jsStackTrace().split("\n");if(stack[0]=="Error"){stack.shift()}saveInUnwindCache(stack)}var offset=3;while(stack[offset]&&convertFrameToPC(stack[offset])!=addr){++offset}for(var i=0;i>2]=convertFrameToPC(stack[i+offset])}return i};_emscripten_stack_unwind_buffer.sig="ippi";var _emscripten_pc_get_function=pc=>{abort("Cannot use emscripten_pc_get_function without -sUSE_OFFSET_CONVERTER");return 0};_emscripten_pc_get_function.sig="pp";var convertPCtoSourceLocation=pc=>{if(UNWIND_CACHE.last_get_source_pc==pc)return UNWIND_CACHE.last_source;var match;var source;if(!source){var frame=UNWIND_CACHE[pc];if(!frame)return null;if(match=/\((.*):(\d+):(\d+)\)$/.exec(frame)){source={file:match[1],line:match[2],column:match[3]}}else if(match=/@(.*):(\d+):(\d+)/.exec(frame)){source={file:match[1],line:match[2],column:match[3]}}}UNWIND_CACHE.last_get_source_pc=pc;UNWIND_CACHE.last_source=source;return source};var _emscripten_pc_get_file=pc=>{var result=convertPCtoSourceLocation(pc);if(!result)return 0;if(_emscripten_pc_get_file.ret)_free(_emscripten_pc_get_file.ret);_emscripten_pc_get_file.ret=stringToNewUTF8(result.file);return _emscripten_pc_get_file.ret};_emscripten_pc_get_file.sig="pp";var _emscripten_pc_get_line=pc=>{var result=convertPCtoSourceLocation(pc);return result?result.line:0};_emscripten_pc_get_line.sig="ip";var _emscripten_pc_get_column=pc=>{var result=convertPCtoSourceLocation(pc);return result?result.column||0:0};_emscripten_pc_get_column.sig="ip";var _sched_yield=()=>0;_sched_yield.sig="i";var wasiRightsToMuslOFlags=rights=>{if(rights&2&&rights&64){return 2}if(rights&2){return 0}if(rights&64){return 1}throw new FS.ErrnoError(28)};var wasiOFlagsToMuslOFlags=oflags=>{var musl_oflags=0;if(oflags&1){musl_oflags|=64}if(oflags&8){musl_oflags|=512}if(oflags&2){musl_oflags|=65536}if(oflags&4){musl_oflags|=128}return musl_oflags};var _emscripten_unwind_to_js_event_loop=()=>{throw"unwind"};_emscripten_unwind_to_js_event_loop.sig="v";var safeSetTimeout=(func,timeout)=>setTimeout(()=>{callUserCallback(func)},timeout);var setImmediateWrapped=func=>{setImmediateWrapped.mapping||=[];var id=setImmediateWrapped.mapping.length;setImmediateWrapped.mapping[id]=setImmediate(()=>{setImmediateWrapped.mapping[id]=undefined;func()});return id};var safeRequestAnimationFrame=func=>MainLoop.requestAnimationFrame(()=>{callUserCallback(func)});var clearImmediateWrapped=id=>{clearImmediate(setImmediateWrapped.mapping[id]);setImmediateWrapped.mapping[id]=undefined};var emClearImmediate;var emSetImmediate;var emClearImmediate_deps=["$emSetImmediate"];var _emscripten_set_immediate=(cb,userData)=>emSetImmediate(()=>{callUserCallback(()=>getWasmTableEntry(cb)(userData))});_emscripten_set_immediate.sig="ipp";var _emscripten_clear_immediate=id=>{emClearImmediate(id)};_emscripten_clear_immediate.sig="vi";var _emscripten_set_immediate_loop=(cb,userData)=>{function tick(){callUserCallback(()=>{if(getWasmTableEntry(cb)(userData)){emSetImmediate(tick)}else{}})}emSetImmediate(tick)};_emscripten_set_immediate_loop.sig="vpp";var _emscripten_set_timeout=(cb,msecs,userData)=>safeSetTimeout(()=>getWasmTableEntry(cb)(userData),msecs);_emscripten_set_timeout.sig="ipdp";var _emscripten_clear_timeout=clearTimeout;_emscripten_clear_timeout.sig="vi";var _emscripten_set_timeout_loop=(cb,msecs,userData)=>{function tick(){var t=_emscripten_get_now();var n=t+msecs;callUserCallback(()=>{if(getWasmTableEntry(cb)(t,userData)){var remaining=n-_emscripten_get_now();setTimeout(tick,remaining)}})}return setTimeout(tick,0)};_emscripten_set_timeout_loop.sig="vpdp";var _emscripten_set_interval=(cb,msecs,userData)=>setInterval(()=>{callUserCallback(()=>getWasmTableEntry(cb)(userData))},msecs);_emscripten_set_interval.sig="ipdp";var _emscripten_clear_interval=id=>{clearInterval(id)};_emscripten_clear_interval.sig="vi";var _emscripten_async_call=(func,arg,millis)=>{var wrapper=()=>getWasmTableEntry(func)(arg);if(millis>=0){safeSetTimeout(wrapper,millis)}else{safeRequestAnimationFrame(wrapper)}};_emscripten_async_call.sig="vppi";var registerPostMainLoop=f=>{typeof MainLoop!="undefined"&&MainLoop.postMainLoop.push(f)};var registerPreMainLoop=f=>{typeof MainLoop!="undefined"&&MainLoop.preMainLoop.push(f)};var _emscripten_get_main_loop_timing=(mode,value)=>{if(mode)HEAP32[mode>>2]=MainLoop.timingMode;if(value)HEAP32[value>>2]=MainLoop.timingValue};_emscripten_get_main_loop_timing.sig="vpp";var _emscripten_set_main_loop=(func,fps,simulateInfiniteLoop)=>{var iterFunc=getWasmTableEntry(func);setMainLoop(iterFunc,fps,simulateInfiniteLoop)};_emscripten_set_main_loop.sig="vpii";var _emscripten_set_main_loop_arg=(func,arg,fps,simulateInfiniteLoop)=>{var iterFunc=()=>getWasmTableEntry(func)(arg);setMainLoop(iterFunc,fps,simulateInfiniteLoop,arg)};_emscripten_set_main_loop_arg.sig="vppii";var _emscripten_cancel_main_loop=()=>{MainLoop.pause();MainLoop.func=null};_emscripten_cancel_main_loop.sig="v";var _emscripten_pause_main_loop=()=>MainLoop.pause();_emscripten_pause_main_loop.sig="v";var _emscripten_resume_main_loop=()=>MainLoop.resume();_emscripten_resume_main_loop.sig="v";var __emscripten_push_main_loop_blocker=(func,arg,name)=>{MainLoop.queue.push({func:()=>{getWasmTableEntry(func)(arg)},name:UTF8ToString(name),counted:true});MainLoop.updateStatus()};__emscripten_push_main_loop_blocker.sig="vppp";var __emscripten_push_uncounted_main_loop_blocker=(func,arg,name)=>{MainLoop.queue.push({func:()=>{getWasmTableEntry(func)(arg)},name:UTF8ToString(name),counted:false});MainLoop.updateStatus()};__emscripten_push_uncounted_main_loop_blocker.sig="vppp";var _emscripten_set_main_loop_expected_blockers=num=>{MainLoop.expectedBlockers=num;MainLoop.remainingBlockers=num;MainLoop.updateStatus()};_emscripten_set_main_loop_expected_blockers.sig="vi";var idsToPromises=(idBuf,size)=>{var promises=[];for(var i=0;i>2];promises[i]=getPromise(id)}return promises};var makePromiseCallback=(callback,userData)=>value=>{var stack=stackSave();var resultPtr=stackAlloc(POINTER_SIZE);HEAPU32[resultPtr>>2]=0;try{var result=getWasmTableEntry(callback)(resultPtr,userData,value);var resultVal=HEAPU32[resultPtr>>2]}catch(e){if(typeof e!="number"){throw 0}throw e}finally{stackRestore(stack)}switch(result){case 0:return resultVal;case 1:return getPromise(resultVal);case 2:var ret=getPromise(resultVal);_emscripten_promise_destroy(resultVal);return ret;case 3:throw resultVal}};var _emscripten_promise_then=(id,onFulfilled,onRejected,userData)=>{var promise=getPromise(id);var newId=promiseMap.allocate({promise:promise.then(makePromiseCallback(onFulfilled,userData),makePromiseCallback(onRejected,userData))});return newId};_emscripten_promise_then.sig="ppppp";var _emscripten_promise_all=(idBuf,resultBuf,size)=>{var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.all(promises).then(results=>{if(resultBuf){for(var i=0;i>2]=result}}return resultBuf})});return id};_emscripten_promise_all.sig="pppp";var setPromiseResult=(ptr,fulfill,value)=>{var result=fulfill?0:3;HEAP32[ptr>>2]=result;HEAPU32[ptr+4>>2]=value};var _emscripten_promise_all_settled=(idBuf,resultBuf,size)=>{var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.allSettled(promises).then(results=>{if(resultBuf){var offset=resultBuf;for(var i=0;i{var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.any(promises).catch(err=>{if(errorBuf){for(var i=0;i>2]=err.errors[i]}}throw errorBuf})});return id};_emscripten_promise_any.sig="pppp";var _emscripten_promise_race=(idBuf,size)=>{var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.race(promises)});return id};_emscripten_promise_race.sig="ppp";var _emscripten_promise_await=(returnValuePtr,id)=>{abort("emscripten_promise_await is only available with ASYNCIFY")};_emscripten_promise_await.sig="vpp";var findMatchingCatch=args=>{var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}for(var caughtType of args){if(caughtType===0||caughtType===thrownType){break}var adjusted_ptr_addr=info.ptr+16;if(___cxa_can_catch(caughtType,thrownType,adjusted_ptr_addr)){setTempRet0(caughtType);return thrown}}setTempRet0(thrownType);return thrown};var ___cxa_find_matching_catch_2=()=>findMatchingCatch([]);___cxa_find_matching_catch_2.sig="p";var ___cxa_find_matching_catch_3=arg0=>findMatchingCatch([arg0]);___cxa_find_matching_catch_3.sig="pp";var ___cxa_find_matching_catch_4=(arg0,arg1)=>findMatchingCatch([arg0,arg1]);___cxa_find_matching_catch_4.sig="ppp";var exceptionCaught=[];var ___cxa_rethrow=()=>{var info=exceptionCaught.pop();if(!info){abort("no exception to throw")}var ptr=info.excPtr;if(!info.get_rethrown()){exceptionCaught.push(info);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}exceptionLast=ptr;throw exceptionLast};___cxa_rethrow.sig="v";var _llvm_eh_typeid_for=type=>type;_llvm_eh_typeid_for.sig="vp";var ___cxa_begin_catch=ptr=>{var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);___cxa_increment_exception_refcount(ptr);return ___cxa_get_exception_ptr(ptr)};___cxa_begin_catch.sig="pp";var ___cxa_end_catch=()=>{_setThrew(0,0);var info=exceptionCaught.pop();___cxa_decrement_exception_refcount(info.excPtr);exceptionLast=0};___cxa_end_catch.sig="v";var ___cxa_uncaught_exceptions=()=>uncaughtExceptionCount;___cxa_uncaught_exceptions.sig="i";var ___cxa_call_unexpected=exception=>abort("Unexpected exception thrown, this is not properly supported - aborting");___cxa_call_unexpected.sig="vp";var ___cxa_current_primary_exception=()=>{if(!exceptionCaught.length){return 0}var info=exceptionCaught[exceptionCaught.length-1];___cxa_increment_exception_refcount(info.excPtr);return info.excPtr};___cxa_current_primary_exception.sig="p";function ___cxa_current_exception_type(){if(!exceptionCaught.length){return 0}var info=exceptionCaught[exceptionCaught.length-1];return info.get_type()}___cxa_current_exception_type.sig="p";var ___cxa_rethrow_primary_exception=ptr=>{if(!ptr)return;var info=new ExceptionInfo(ptr);exceptionCaught.push(info);info.set_rethrown(true);___cxa_rethrow()};___cxa_rethrow_primary_exception.sig="vp";var ___resumeException=ptr=>{if(!exceptionLast){exceptionLast=ptr}throw exceptionLast};___resumeException.sig="vp";var Browser={useWebGL:false,isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],preloadedImages:{},preloadedAudios:{},getCanvas:()=>Module["canvas"],init(){if(Browser.initted)return;Browser.initted=true;var imagePlugin={};imagePlugin["canHandle"]=function imagePlugin_canHandle(name){return!Module["noImageDecoding"]&&/\.(jpg|jpeg|png|bmp|webp)$/i.test(name)};imagePlugin["handle"]=function imagePlugin_handle(byteArray,name,onload,onerror){var b=new Blob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=new Blob([new Uint8Array(byteArray).buffer],{type:Browser.getMimetype(name)})}var url=URL.createObjectURL(b);var img=new Image;img.onload=()=>{var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Browser.preloadedImages[name]=canvas;URL.revokeObjectURL(url);onload?.(byteArray)};img.onerror=event=>{err(`Image ${url} could not be decoded`);onerror?.()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module["noAudioDecoding"]&&name.slice(-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;Browser.preloadedAudios[name]=audio;onload?.(byteArray)}function fail(){if(done)return;done=true;Browser.preloadedAudios[name]=new Audio;onerror?.()}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.slice(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){var canvas=Browser.getCanvas();Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}var canvas=Browser.getCanvas();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&&Browser.getCanvas().requestPointerLock){Browser.getCanvas().requestPointerLock();ev.preventDefault()}},false)}}},createContext(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module["ctx"]&&canvas==Browser.getCanvas())return Module["ctx"];var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){Module["ctx"]=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Browser.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Browser.getCanvas();function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}Module["onFullScreen"]?.(Browser.isFullscreen);Module["onFullscreen"]?.(Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},exitFullscreen(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},safeSetTimeout(func,timeout){return safeSetTimeout(func,timeout)},getMimetype(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.slice(name.lastIndexOf(".")+1)]},getUserMedia(func){window.getUserMedia||=navigator["getUserMedia"]||navigator["mozGetUserMedia"];window.getUserMedia(func)},getMovementX(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(pageX,pageY){var canvas=Browser.getCanvas();var rect=canvas.getBoundingClientRect();var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;var adjustedX=pageX-(scrollX+rect.left);var adjustedY=pageY-(scrollY+rect.top);adjustedX=adjustedX*(canvas.width/rect.width);adjustedY=adjustedY*(canvas.height/rect.height);return{x:adjustedX,y:adjustedY}},setMouseCoords(pageX,pageY){const{x,y}=Browser.calculateMouseCoords(pageX,pageY);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y},calculateMouseEvent(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}else{if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var coords=Browser.calculateMouseCoords(touch.pageX,touch.pageY);if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];last||=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}Browser.setMouseCoords(event.pageX,event.pageY)}},resizeListeners:[],updateResizeListeners(){var canvas=Browser.getCanvas();Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize(width,height,noUpdates){var canvas=Browser.getCanvas();Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Browser.getCanvas());Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Browser.getCanvas());Browser.updateResizeListeners()},updateCanvasDimensions(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]>0){if(w/h{var _file=UTF8ToString(file);var data=FS.analyzePath(_file);if(!data.exists)return-1;FS.createPreloadedFile(PATH.dirname(_file),PATH.basename(_file),new Uint8Array(data.object.contents),true,true,()=>{if(onload)getWasmTableEntry(onload)(file)},()=>{if(onerror)getWasmTableEntry(onerror)(file)},true);return 0};_emscripten_run_preload_plugins.sig="ippp";var Browser_asyncPrepareDataCounter=0;var _emscripten_run_preload_plugins_data=(data,size,suffix,arg,onload,onerror)=>{var _suffix=UTF8ToString(suffix);var name="prepare_data_"+Browser_asyncPrepareDataCounter+++"."+_suffix;var cname=stringToNewUTF8(name);FS.createPreloadedFile("/",name,HEAPU8.subarray(data,data+size),true,true,()=>{if(onload)getWasmTableEntry(onload)(arg,cname)},()=>{if(onerror)getWasmTableEntry(onerror)(arg)},true)};_emscripten_run_preload_plugins_data.sig="vpipppp";var _emscripten_async_run_script=(script,millis)=>{safeSetTimeout(()=>_emscripten_run_script(script),millis)};_emscripten_async_run_script.sig="vpi";var _emscripten_async_load_script=async(url,onload,onerror)=>{url=UTF8ToString(url);var loadDone=()=>{if(onload){var onloadCallback=()=>callUserCallback(getWasmTableEntry(onload));if(runDependencies>0){dependenciesFulfilled=onloadCallback}else{onloadCallback()}}};var loadError=()=>{if(onerror){callUserCallback(getWasmTableEntry(onerror))}};var script=document.createElement("script");script.onload=loadDone;script.onerror=loadError;script.src=url;document.body.appendChild(script)};_emscripten_async_load_script.sig="vppp";var _emscripten_get_window_title=()=>{var buflen=256;if(!_emscripten_get_window_title.buffer){_emscripten_get_window_title.buffer=_malloc(buflen)}stringToUTF8(document.title,_emscripten_get_window_title.buffer,buflen);return _emscripten_get_window_title.buffer};_emscripten_get_window_title.sig="p";var _emscripten_set_window_title=title=>document.title=UTF8ToString(title);_emscripten_set_window_title.sig="vp";var _emscripten_get_screen_size=(width,height)=>{HEAP32[width>>2]=screen.width;HEAP32[height>>2]=screen.height};_emscripten_get_screen_size.sig="vpp";var _emscripten_hide_mouse=()=>{var styleSheet=document.styleSheets[0];var rules=styleSheet.cssRules;for(var i=0;iBrowser.setCanvasSize(width,height);_emscripten_set_canvas_size.sig="vii";var _emscripten_get_canvas_size=(width,height,isFullscreen)=>{var canvas=Browser.getCanvas();HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height;HEAP32[isFullscreen>>2]=Browser.isFullscreen?1:0};_emscripten_get_canvas_size.sig="vppp";var _emscripten_create_worker=url=>{url=UTF8ToString(url);var id=Browser.workers.length;var info={worker:new Worker(url),callbacks:[],awaited:0,buffer:0,bufferSize:0};info.worker.onmessage=function info_worker_onmessage(msg){if(ABORT)return;var info=Browser.workers[id];if(!info)return;var callbackId=msg.data["callbackId"];var callbackInfo=info.callbacks[callbackId];if(!callbackInfo)return;if(msg.data["finalResponse"]){info.awaited--;info.callbacks[callbackId]=null}var data=msg.data["data"];if(data){if(!data.byteLength)data=new Uint8Array(data);if(!info.buffer||info.bufferSize{var info=Browser.workers[id];info.worker.terminate();if(info.buffer)_free(info.buffer);Browser.workers[id]=null};_emscripten_destroy_worker.sig="vi";var _emscripten_call_worker=(id,funcName,data,size,callback,arg)=>{funcName=UTF8ToString(funcName);var info=Browser.workers[id];var callbackId=-1;if(callback){callbackId=info.callbacks.length;info.callbacks.push({func:getWasmTableEntry(callback),arg});info.awaited++}var transferObject={funcName,callbackId,data:data?new Uint8Array(HEAPU8.subarray(data,data+size)):0};if(data){info.worker.postMessage(transferObject,[transferObject.data.buffer])}else{info.worker.postMessage(transferObject)}};_emscripten_call_worker.sig="vippipp";var _emscripten_get_worker_queue_size=id=>{var info=Browser.workers[id];if(!info)return-1;return info.awaited};_emscripten_get_worker_queue_size.sig="ii";var getPreloadedImageData=(path,w,h)=>{path=PATH_FS.resolve(path);var canvas=Browser.preloadedImages[path];if(!canvas)return 0;var ctx=canvas.getContext("2d");var image=ctx.getImageData(0,0,canvas.width,canvas.height);var buf=_malloc(canvas.width*canvas.height*4);HEAPU8.set(image.data,buf);HEAP32[w>>2]=canvas.width;HEAP32[h>>2]=canvas.height;return buf};var _emscripten_get_preloaded_image_data=(path,w,h)=>getPreloadedImageData(UTF8ToString(path),w,h);_emscripten_get_preloaded_image_data.sig="pppp";var getPreloadedImageData__data=["$PATH_FS","malloc"];var _emscripten_get_preloaded_image_data_from_FILE=(file,w,h)=>{var fd=_fileno(file);var stream=FS.getStream(fd);if(stream){return getPreloadedImageData(stream.path,w,h)}return 0};_emscripten_get_preloaded_image_data_from_FILE.sig="pppp";var wget={wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle(){var handle=wget.nextWgetRequestHandle;wget.nextWgetRequestHandle++;return handle}};var FS_mkdirTree=(path,mode)=>FS.mkdirTree(path,mode);var FS_unlink=(...args)=>FS.unlink(...args);var _emscripten_async_wget=(url,file,onload,onerror)=>{var _url=UTF8ToString(url);var _file=UTF8ToString(file);_file=PATH_FS.resolve(_file);function doCallback(callback){if(callback){callUserCallback(()=>{var sp=stackSave();getWasmTableEntry(callback)(stringToUTF8OnStack(_file));stackRestore(sp)})}}var destinationDirectory=PATH.dirname(_file);FS_createPreloadedFile(destinationDirectory,PATH.basename(_file),_url,true,true,()=>doCallback(onload),()=>doCallback(onerror),false,false,()=>{try{FS_unlink(_file)}catch(e){}FS_mkdirTree(destinationDirectory)})};_emscripten_async_wget.sig="vpppp";var _emscripten_async_wget_data=async(url,userdata,onload,onerror)=>{try{var byteArray=await asyncLoad(UTF8ToString(url));callUserCallback(()=>{var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);getWasmTableEntry(onload)(userdata,buffer,byteArray.length);_free(buffer)})}catch(e){if(onerror){callUserCallback(()=>{getWasmTableEntry(onerror)(userdata)})}}};_emscripten_async_wget_data.sig="vpppp";var _emscripten_async_wget2=(url,file,request,param,userdata,onload,onerror,onprogress)=>{var _url=UTF8ToString(url);var _file=UTF8ToString(file);_file=PATH_FS.resolve(_file);var _request=UTF8ToString(request);var _param=UTF8ToString(param);var index=_file.lastIndexOf("/");var http=new XMLHttpRequest;http.open(_request,_url,true);http.responseType="arraybuffer";var handle=wget.getNextWgetRequestHandle();var destinationDirectory=PATH.dirname(_file);http.onload=e=>{if(http.status>=200&&http.status<300){try{FS.unlink(_file)}catch(e){}FS.mkdirTree(destinationDirectory);FS.createDataFile(_file.slice(0,index),_file.slice(index+1),new Uint8Array(http.response),true,true,false);if(onload){var sp=stackSave();getWasmTableEntry(onload)(handle,userdata,stringToUTF8OnStack(_file));stackRestore(sp)}}else{if(onerror)getWasmTableEntry(onerror)(handle,userdata,http.status)}delete wget.wgetRequests[handle]};http.onerror=e=>{if(onerror)getWasmTableEntry(onerror)(handle,userdata,http.status);delete wget.wgetRequests[handle]};http.onprogress=e=>{if(e.lengthComputable||e.lengthComputable===undefined&&e.total!=0){var percentComplete=e.loaded/e.total*100;if(onprogress)getWasmTableEntry(onprogress)(handle,userdata,percentComplete)}};http.onabort=e=>{delete wget.wgetRequests[handle]};if(_request=="POST"){http.setRequestHeader("Content-type","application/x-www-form-urlencoded");http.send(_param)}else{http.send(null)}wget.wgetRequests[handle]=http;return handle};_emscripten_async_wget2.sig="ipppppppp";var _emscripten_async_wget2_data=(url,request,param,userdata,free,onload,onerror,onprogress)=>{var _url=UTF8ToString(url);var _request=UTF8ToString(request);var _param=UTF8ToString(param);var http=new XMLHttpRequest;http.open(_request,_url,true);http.responseType="arraybuffer";var handle=wget.getNextWgetRequestHandle();function onerrorjs(){if(onerror){var sp=stackSave();var statusText=0;if(http.statusText){statusText=stringToUTF8OnStack(http.statusText)}getWasmTableEntry(onerror)(handle,userdata,http.status,statusText);stackRestore(sp)}}http.onload=e=>{if(http.status>=200&&http.status<300||http.status===0&&_url.slice(0,4).toLowerCase()!="http"){var byteArray=new Uint8Array(http.response);var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);if(onload)getWasmTableEntry(onload)(handle,userdata,buffer,byteArray.length);if(free)_free(buffer)}else{onerrorjs()}delete wget.wgetRequests[handle]};http.onerror=e=>{onerrorjs();delete wget.wgetRequests[handle]};http.onprogress=e=>{if(onprogress)getWasmTableEntry(onprogress)(handle,userdata,e.loaded,e.lengthComputable||e.lengthComputable===undefined?e.total:0)};http.onabort=e=>{delete wget.wgetRequests[handle]};if(_request=="POST"){http.setRequestHeader("Content-type","application/x-www-form-urlencoded");http.send(_param)}else{http.send(null)}wget.wgetRequests[handle]=http;return handle};_emscripten_async_wget2_data.sig="ippppippp";var _emscripten_async_wget2_abort=handle=>{var http=wget.wgetRequests[handle];http?.abort()};_emscripten_async_wget2_abort.sig="vi";var ___asctime_r=(tmPtr,buf)=>{var date={tm_sec:HEAP32[tmPtr>>2],tm_min:HEAP32[tmPtr+4>>2],tm_hour:HEAP32[tmPtr+8>>2],tm_mday:HEAP32[tmPtr+12>>2],tm_mon:HEAP32[tmPtr+16>>2],tm_year:HEAP32[tmPtr+20>>2],tm_wday:HEAP32[tmPtr+24>>2]};var days=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var s=days[date.tm_wday]+" "+months[date.tm_mon]+(date.tm_mday<10?" ":" ")+date.tm_mday+(date.tm_hour<10?" 0":" ")+date.tm_hour+(date.tm_min<10?":0":":")+date.tm_min+(date.tm_sec<10?":0":":")+date.tm_sec+" "+(1900+date.tm_year)+"\n";stringToUTF8(s,buf,26);return buf};___asctime_r.sig="ppp";var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var arraySum=(array,index)=>{var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum};var addDays=(date,days)=>{var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate};var _strptime=(buf,format,tm)=>{var pattern=UTF8ToString(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;iEQUIVALENT_MATCHERS[c]||m).replace(/%(.)/g,(_,c)=>{let pat=DATE_PATTERNS[c];if(pat){capture.push(c);return`(${pat})`}else{return c}}).replace(/\s+/g,"\\s*");var matches=new RegExp("^"+pattern_out,"i").exec(UTF8ToString(buf));function initDate(){function fixup(value,min,max){return typeof value!="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59),gmtoff:0}}if(matches){var date=initDate();var value;var getMatch=symbol=>{var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return};if(value=getMatch("S")){date.sec=Number(value)}if(value=getMatch("M")){date.min=Number(value)}if(value=getMatch("H")){date.hour=Number(value)}else if(value=getMatch("I")){var hour=Number(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=Number(value)}else if(value=getMatch("y")){var year=Number(value);if(value=getMatch("C")){year+=Number(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=Number(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=Number(value)}else if(value=getMatch("j")){var day=Number(value);var leapYear=isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=arraySum(leapYear?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=Number(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=Number(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}if(value=getMatch("z")){if(value.toLowerCase()==="z"){date.gmtoff=0}else{var match=value.match(/^((?:\-|\+)\d\d):?(\d\d)?/);date.gmtoff=match[1]*3600;if(match[2]){date.gmtoff+=date.gmtoff>0?match[2]*60:-match[2]*60}}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=arraySum(isLeapYear(fullDate.getFullYear())?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;HEAP32[tm+36>>2]=date.gmtoff;return buf+intArrayFromString(matches[0]).length-1}return 0};_strptime.sig="pppp";var _strptime_l=(buf,format,tm,locale)=>_strptime(buf,format,tm);_strptime_l.sig="ppppp";function ___syscall_shutdown(fd,how){try{getSocketFromFD(fd);return-52}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_shutdown.sig="iiiiiii";var __dlsym_catchup_js=(handle,symbolIndex)=>{var lib=LDSO.loadedLibsByHandle[handle];var symDict=lib.exports;var symName=Object.keys(symDict)[symbolIndex];var sym=symDict[symName];var result=addFunction(sym,sym.sig);return result};__dlsym_catchup_js.sig="ppi";var FS_createPath=(...args)=>FS.createPath(...args);var FS_createDevice=(...args)=>FS.createDevice(...args);var FS_readFile=(...args)=>FS.readFile(...args);var FS_root=(...args)=>FS.root(...args);var FS_mounts=(...args)=>FS.mounts(...args);var FS_devices=(...args)=>FS.devices(...args);var FS_streams=(...args)=>FS.streams(...args);var FS_nextInode=(...args)=>FS.nextInode(...args);var FS_nameTable=(...args)=>FS.nameTable(...args);var FS_currentPath=(...args)=>FS.currentPath(...args);var FS_initialized=(...args)=>FS.initialized(...args);var FS_ignorePermissions=(...args)=>FS.ignorePermissions(...args);var FS_filesystems=(...args)=>FS.filesystems(...args);var FS_syncFSRequests=(...args)=>FS.syncFSRequests(...args);var FS_readFiles=(...args)=>FS.readFiles(...args);var FS_lookupPath=(...args)=>FS.lookupPath(...args);var FS_getPath=(...args)=>FS.getPath(...args);var FS_hashName=(...args)=>FS.hashName(...args);var FS_hashAddNode=(...args)=>FS.hashAddNode(...args);var FS_hashRemoveNode=(...args)=>FS.hashRemoveNode(...args);var FS_lookupNode=(...args)=>FS.lookupNode(...args);var FS_createNode=(...args)=>FS.createNode(...args);var FS_destroyNode=(...args)=>FS.destroyNode(...args);var FS_isRoot=(...args)=>FS.isRoot(...args);var FS_isMountpoint=(...args)=>FS.isMountpoint(...args);var FS_isFile=(...args)=>FS.isFile(...args);var FS_isDir=(...args)=>FS.isDir(...args);var FS_isLink=(...args)=>FS.isLink(...args);var FS_isChrdev=(...args)=>FS.isChrdev(...args);var FS_isBlkdev=(...args)=>FS.isBlkdev(...args);var FS_isFIFO=(...args)=>FS.isFIFO(...args);var FS_isSocket=(...args)=>FS.isSocket(...args);var FS_flagsToPermissionString=(...args)=>FS.flagsToPermissionString(...args);var FS_nodePermissions=(...args)=>FS.nodePermissions(...args);var FS_mayLookup=(...args)=>FS.mayLookup(...args);var FS_mayCreate=(...args)=>FS.mayCreate(...args);var FS_mayDelete=(...args)=>FS.mayDelete(...args);var FS_mayOpen=(...args)=>FS.mayOpen(...args);var FS_checkOpExists=(...args)=>FS.checkOpExists(...args);var FS_nextfd=(...args)=>FS.nextfd(...args);var FS_getStreamChecked=(...args)=>FS.getStreamChecked(...args);var FS_getStream=(...args)=>FS.getStream(...args);var FS_createStream=(...args)=>FS.createStream(...args);var FS_closeStream=(...args)=>FS.closeStream(...args);var FS_dupStream=(...args)=>FS.dupStream(...args);var FS_doSetAttr=(...args)=>FS.doSetAttr(...args);var FS_chrdev_stream_ops=(...args)=>FS.chrdev_stream_ops(...args);var FS_major=(...args)=>FS.major(...args);var FS_minor=(...args)=>FS.minor(...args);var FS_makedev=(...args)=>FS.makedev(...args);var FS_registerDevice=(...args)=>FS.registerDevice(...args);var FS_getDevice=(...args)=>FS.getDevice(...args);var FS_getMounts=(...args)=>FS.getMounts(...args);var FS_syncfs=(...args)=>FS.syncfs(...args);var FS_mount=(...args)=>FS.mount(...args);var FS_unmount=(...args)=>FS.unmount(...args);var FS_lookup=(...args)=>FS.lookup(...args);var FS_mknod=(...args)=>FS.mknod(...args);var FS_statfs=(...args)=>FS.statfs(...args);var FS_statfsStream=(...args)=>FS.statfsStream(...args);var FS_statfsNode=(...args)=>FS.statfsNode(...args);var FS_create=(...args)=>FS.create(...args);var FS_mkdir=(...args)=>FS.mkdir(...args);var FS_mkdev=(...args)=>FS.mkdev(...args);var FS_symlink=(...args)=>FS.symlink(...args);var FS_rename=(...args)=>FS.rename(...args);var FS_rmdir=(...args)=>FS.rmdir(...args);var FS_readdir=(...args)=>FS.readdir(...args);var FS_readlink=(...args)=>FS.readlink(...args);var FS_stat=(...args)=>FS.stat(...args);var FS_fstat=(...args)=>FS.fstat(...args);var FS_lstat=(...args)=>FS.lstat(...args);var FS_doChmod=(...args)=>FS.doChmod(...args);var FS_chmod=(...args)=>FS.chmod(...args);var FS_lchmod=(...args)=>FS.lchmod(...args);var FS_fchmod=(...args)=>FS.fchmod(...args);var FS_doChown=(...args)=>FS.doChown(...args);var FS_chown=(...args)=>FS.chown(...args);var FS_lchown=(...args)=>FS.lchown(...args);var FS_fchown=(...args)=>FS.fchown(...args);var FS_doTruncate=(...args)=>FS.doTruncate(...args);var FS_truncate=(...args)=>FS.truncate(...args);var FS_ftruncate=(...args)=>FS.ftruncate(...args);var FS_utime=(...args)=>FS.utime(...args);var FS_open=(...args)=>FS.open(...args);var FS_close=(...args)=>FS.close(...args);var FS_isClosed=(...args)=>FS.isClosed(...args);var FS_llseek=(...args)=>FS.llseek(...args);var FS_read=(...args)=>FS.read(...args);var FS_write=(...args)=>FS.write(...args);var FS_mmap=(...args)=>FS.mmap(...args);var FS_msync=(...args)=>FS.msync(...args);var FS_ioctl=(...args)=>FS.ioctl(...args);var FS_writeFile=(...args)=>FS.writeFile(...args);var FS_cwd=(...args)=>FS.cwd(...args);var FS_chdir=(...args)=>FS.chdir(...args);var FS_createDefaultDirectories=(...args)=>FS.createDefaultDirectories(...args);var FS_createDefaultDevices=(...args)=>FS.createDefaultDevices(...args);var FS_createSpecialDirectories=(...args)=>FS.createSpecialDirectories(...args);var FS_createStandardStreams=(...args)=>FS.createStandardStreams(...args);var FS_staticInit=(...args)=>FS.staticInit(...args);var FS_init=(...args)=>FS.init(...args);var FS_quit=(...args)=>FS.quit(...args);var FS_findObject=(...args)=>FS.findObject(...args);var FS_analyzePath=(...args)=>FS.analyzePath(...args);var FS_createFile=(...args)=>FS.createFile(...args);var FS_forceLoadFile=(...args)=>FS.forceLoadFile(...args);var FS_createLazyFile=(...args)=>FS.createLazyFile(...args);var _setNetworkCallback=(event,userData,callback)=>{function _callback(data){callUserCallback(()=>{if(event==="error"){withStackSave(()=>{var msg=stringToUTF8OnStack(data[2]);getWasmTableEntry(callback)(data[0],data[1],msg,userData)})}else{getWasmTableEntry(callback)(data,userData)}})}SOCKFS.on(event,callback?_callback:null)};var _emscripten_set_socket_error_callback=(userData,callback)=>_setNetworkCallback("error",userData,callback);_emscripten_set_socket_error_callback.sig="vpp";var _emscripten_set_socket_open_callback=(userData,callback)=>_setNetworkCallback("open",userData,callback);_emscripten_set_socket_open_callback.sig="vpp";var _emscripten_set_socket_listen_callback=(userData,callback)=>_setNetworkCallback("listen",userData,callback);_emscripten_set_socket_listen_callback.sig="vpp";var _emscripten_set_socket_connection_callback=(userData,callback)=>_setNetworkCallback("connection",userData,callback);_emscripten_set_socket_connection_callback.sig="vpp";var _emscripten_set_socket_message_callback=(userData,callback)=>_setNetworkCallback("message",userData,callback);_emscripten_set_socket_message_callback.sig="vpp";var _emscripten_set_socket_close_callback=(userData,callback)=>_setNetworkCallback("close",userData,callback);_emscripten_set_socket_close_callback.sig="vpp";var _emscripten_webgl_enable_ANGLE_instanced_arrays=ctx=>webgl_enable_ANGLE_instanced_arrays(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_ANGLE_instanced_arrays.sig="ip";var _emscripten_webgl_enable_OES_vertex_array_object=ctx=>webgl_enable_OES_vertex_array_object(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_OES_vertex_array_object.sig="ip";var _emscripten_webgl_enable_WEBGL_draw_buffers=ctx=>webgl_enable_WEBGL_draw_buffers(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_WEBGL_draw_buffers.sig="ip";var _emscripten_webgl_enable_WEBGL_multi_draw=ctx=>webgl_enable_WEBGL_multi_draw(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_WEBGL_multi_draw.sig="ip";var _emscripten_webgl_enable_EXT_polygon_offset_clamp=ctx=>webgl_enable_EXT_polygon_offset_clamp(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_EXT_polygon_offset_clamp.sig="ip";var _emscripten_webgl_enable_EXT_clip_control=ctx=>webgl_enable_EXT_clip_control(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_EXT_clip_control.sig="ip";var _emscripten_webgl_enable_WEBGL_polygon_mode=ctx=>webgl_enable_WEBGL_polygon_mode(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_WEBGL_polygon_mode.sig="ip";var _glVertexPointer=(size,type,stride,ptr)=>{throw"Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glVertexPointer.sig="viiip";var _glMatrixMode=()=>{throw"Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glMatrixMode.sig="vi";var _glBegin=()=>{throw"Legacy GL function (glBegin) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glBegin.sig="vi";var _glLoadIdentity=()=>{throw"Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glLoadIdentity.sig="v";var _glVertexAttribDivisorNV=_glVertexAttribDivisor;var _glDrawArraysInstancedNV=_glDrawArraysInstanced;var _glDrawElementsInstancedNV=_glDrawElementsInstanced;var _glVertexAttribDivisorEXT=_glVertexAttribDivisor;var _glDrawArraysInstancedEXT=_glDrawArraysInstanced;var _glDrawElementsInstancedEXT=_glDrawElementsInstanced;var _glVertexAttribDivisorARB=_glVertexAttribDivisor;var _glDrawArraysInstancedARB=_glDrawArraysInstanced;var _glDrawElementsInstancedARB=_glDrawElementsInstanced;var _glDrawBuffersEXT=_glDrawBuffers;var _glMultiDrawArraysWEBGL=(mode,firsts,counts,drawcount)=>{GLctx.multiDrawWebgl["multiDrawArraysWEBGL"](mode,HEAP32,firsts>>2,HEAP32,counts>>2,drawcount)};_glMultiDrawArraysWEBGL.sig="vippi";var _glMultiDrawArrays=_glMultiDrawArraysWEBGL;_glMultiDrawArrays.sig="vippi";var _glMultiDrawArraysANGLE=_glMultiDrawArraysWEBGL;var _glMultiDrawArraysInstancedWEBGL=(mode,firsts,counts,instanceCounts,drawcount)=>{GLctx.multiDrawWebgl["multiDrawArraysInstancedWEBGL"](mode,HEAP32,firsts>>2,HEAP32,counts>>2,HEAP32,instanceCounts>>2,drawcount)};_glMultiDrawArraysInstancedWEBGL.sig="vipppi";var _glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedWEBGL;var _glMultiDrawElementsWEBGL=(mode,counts,type,offsets,drawcount)=>{GLctx.multiDrawWebgl["multiDrawElementsWEBGL"](mode,HEAP32,counts>>2,type,HEAP32,offsets>>2,drawcount)};_glMultiDrawElementsWEBGL.sig="vipipi";var _glMultiDrawElements=_glMultiDrawElementsWEBGL;_glMultiDrawElements.sig="vipipi";var _glMultiDrawElementsANGLE=_glMultiDrawElementsWEBGL;var _glMultiDrawElementsInstancedWEBGL=(mode,counts,type,offsets,instanceCounts,drawcount)=>{GLctx.multiDrawWebgl["multiDrawElementsInstancedWEBGL"](mode,HEAP32,counts>>2,type,HEAP32,offsets>>2,HEAP32,instanceCounts>>2,drawcount)};_glMultiDrawElementsInstancedWEBGL.sig="vipippi";var _glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedWEBGL;var _glClearDepth=x0=>GLctx.clearDepth(x0);_glClearDepth.sig="vd";var _glDepthRange=(x0,x1)=>GLctx.depthRange(x0,x1);_glDepthRange.sig="vdd";var _emscripten_glGenVertexArrays=_glGenVertexArrays;_emscripten_glGenVertexArrays.sig="vip";var _emscripten_glDeleteVertexArrays=_glDeleteVertexArrays;_emscripten_glDeleteVertexArrays.sig="vip";var _emscripten_glBindVertexArray=_glBindVertexArray;_emscripten_glBindVertexArray.sig="vi";var _emscripten_glIsVertexArray=_glIsVertexArray;_emscripten_glIsVertexArray.sig="ii";var _emscripten_glVertexPointer=_glVertexPointer;_emscripten_glVertexPointer.sig="viiip";var _emscripten_glMatrixMode=_glMatrixMode;_emscripten_glMatrixMode.sig="vi";var _emscripten_glBegin=_glBegin;_emscripten_glBegin.sig="vi";var _emscripten_glLoadIdentity=_glLoadIdentity;_emscripten_glLoadIdentity.sig="v";var _emscripten_glVertexAttribDivisor=_glVertexAttribDivisor;_emscripten_glVertexAttribDivisor.sig="vii";var _emscripten_glDrawArraysInstanced=_glDrawArraysInstanced;_emscripten_glDrawArraysInstanced.sig="viiii";var _emscripten_glDrawElementsInstanced=_glDrawElementsInstanced;_emscripten_glDrawElementsInstanced.sig="viiipi";var _emscripten_glVertexAttribDivisorNV=_glVertexAttribDivisorNV;var _emscripten_glDrawArraysInstancedNV=_glDrawArraysInstancedNV;var _emscripten_glDrawElementsInstancedNV=_glDrawElementsInstancedNV;var _emscripten_glVertexAttribDivisorEXT=_glVertexAttribDivisorEXT;var _emscripten_glDrawArraysInstancedEXT=_glDrawArraysInstancedEXT;var _emscripten_glDrawElementsInstancedEXT=_glDrawElementsInstancedEXT;var _emscripten_glVertexAttribDivisorARB=_glVertexAttribDivisorARB;var _emscripten_glDrawArraysInstancedARB=_glDrawArraysInstancedARB;var _emscripten_glDrawElementsInstancedARB=_glDrawElementsInstancedARB;var _emscripten_glDrawBuffers=_glDrawBuffers;_emscripten_glDrawBuffers.sig="vip";var _emscripten_glDrawBuffersEXT=_glDrawBuffersEXT;var _emscripten_glMultiDrawArrays=_glMultiDrawArrays;_emscripten_glMultiDrawArrays.sig="vippi";var _emscripten_glMultiDrawArraysANGLE=_glMultiDrawArraysANGLE;var _emscripten_glMultiDrawArraysWEBGL=_glMultiDrawArraysWEBGL;var _emscripten_glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedANGLE;var _emscripten_glMultiDrawArraysInstancedWEBGL=_glMultiDrawArraysInstancedWEBGL;var _emscripten_glMultiDrawElements=_glMultiDrawElements;_emscripten_glMultiDrawElements.sig="vipipi";var _emscripten_glMultiDrawElementsANGLE=_glMultiDrawElementsANGLE;var _emscripten_glMultiDrawElementsWEBGL=_glMultiDrawElementsWEBGL;var _emscripten_glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedANGLE;var _emscripten_glMultiDrawElementsInstancedWEBGL=_glMultiDrawElementsInstancedWEBGL;var _emscripten_glClearDepth=_glClearDepth;_emscripten_glClearDepth.sig="vd";var _emscripten_glDepthRange=_glDepthRange;_emscripten_glDepthRange.sig="vdd";var writeGLArray=(arr,dst,dstLength,heapType)=>{var len=arr.length;var writeLength=dstLength>2;for(var i=0;i{var attr32=attributes>>2;var powerPreference=HEAP32[attr32+(8>>2)];var contextAttributes={alpha:!!HEAP8[attributes+0],depth:!!HEAP8[attributes+1],stencil:!!HEAP8[attributes+2],antialias:!!HEAP8[attributes+3],premultipliedAlpha:!!HEAP8[attributes+4],preserveDrawingBuffer:!!HEAP8[attributes+5],powerPreference:webglPowerPreferences[powerPreference],failIfMajorPerformanceCaveat:!!HEAP8[attributes+12],majorVersion:HEAP32[attr32+(16>>2)],minorVersion:HEAP32[attr32+(20>>2)],enableExtensionsByDefault:HEAP8[attributes+24],explicitSwapControl:HEAP8[attributes+25],proxyContextToMainThread:HEAP32[attr32+(28>>2)],renderViaOffscreenBackBuffer:HEAP8[attributes+32]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl){return 0}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle};_emscripten_webgl_do_create_context.sig="ppp";var _emscripten_webgl_create_context=_emscripten_webgl_do_create_context;_emscripten_webgl_create_context.sig="ppp";var _emscripten_webgl_do_get_current_context=()=>GL.currentContext?GL.currentContext.handle:0;_emscripten_webgl_do_get_current_context.sig="p";var _emscripten_webgl_get_current_context=_emscripten_webgl_do_get_current_context;_emscripten_webgl_get_current_context.sig="p";var _emscripten_webgl_do_commit_frame=()=>{if(!GL.currentContext||!GL.currentContext.GLctx){return-3}if(!GL.currentContext.attributes.explicitSwapControl){return-3}return 0};_emscripten_webgl_do_commit_frame.sig="i";var _emscripten_webgl_commit_frame=_emscripten_webgl_do_commit_frame;_emscripten_webgl_commit_frame.sig="i";var _emscripten_webgl_make_context_current=contextHandle=>{var success=GL.makeContextCurrent(contextHandle);return success?0:-5};_emscripten_webgl_make_context_current.sig="ip";var _emscripten_webgl_get_drawing_buffer_size=(contextHandle,width,height)=>{var GLContext=GL.getContext(contextHandle);if(!GLContext||!GLContext.GLctx||!width||!height){return-5}HEAP32[width>>2]=GLContext.GLctx.drawingBufferWidth;HEAP32[height>>2]=GLContext.GLctx.drawingBufferHeight;return 0};_emscripten_webgl_get_drawing_buffer_size.sig="ippp";var _emscripten_webgl_get_context_attributes=(c,a)=>{if(!a)return-5;c=GL.contexts[c];if(!c)return-3;var t=c.GLctx;if(!t)return-3;t=t.getContextAttributes();HEAP8[a]=t.alpha;HEAP8[a+1]=t.depth;HEAP8[a+2]=t.stencil;HEAP8[a+3]=t.antialias;HEAP8[a+4]=t.premultipliedAlpha;HEAP8[a+5]=t.preserveDrawingBuffer;var power=t["powerPreference"]&&webglPowerPreferences.indexOf(t["powerPreference"]);HEAP32[a+8>>2]=power;HEAP8[a+12]=t.failIfMajorPerformanceCaveat;HEAP32[a+16>>2]=c.version;HEAP32[a+20>>2]=0;HEAP8[a+24]=c.attributes.enableExtensionsByDefault;return 0};_emscripten_webgl_get_context_attributes.sig="ipp";var _emscripten_webgl_destroy_context=contextHandle=>{if(GL.currentContext==contextHandle)GL.currentContext=0;GL.deleteContext(contextHandle)};_emscripten_webgl_destroy_context.sig="ip";var _emscripten_webgl_enable_extension=(contextHandle,extension)=>{var context=GL.getContext(contextHandle);var extString=UTF8ToString(extension);if(extString.startsWith("GL_"))extString=extString.slice(3);if(extString=="ANGLE_instanced_arrays")webgl_enable_ANGLE_instanced_arrays(GLctx);if(extString=="OES_vertex_array_object")webgl_enable_OES_vertex_array_object(GLctx);if(extString=="WEBGL_draw_buffers")webgl_enable_WEBGL_draw_buffers(GLctx);if(extString=="WEBGL_multi_draw")webgl_enable_WEBGL_multi_draw(GLctx);if(extString=="EXT_polygon_offset_clamp")webgl_enable_EXT_polygon_offset_clamp(GLctx);if(extString=="EXT_clip_control")webgl_enable_EXT_clip_control(GLctx);if(extString=="WEBGL_polygon_mode")webgl_enable_WEBGL_polygon_mode(GLctx);var ext=context.GLctx.getExtension(extString);return!!ext};_emscripten_webgl_enable_extension.sig="ipp";var _emscripten_supports_offscreencanvas=()=>0;_emscripten_supports_offscreencanvas.sig="i";var registerWebGlEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var webGlEventHandlerFunc=(e=event)=>{if(getWasmTableEntry(callbackfunc)(eventTypeId,0,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:webGlEventHandlerFunc,useCapture};JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_webglcontextlost_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{registerWebGlEventCallback(target,userData,useCapture,callbackfunc,31,"webglcontextlost",targetThread);return 0};_emscripten_set_webglcontextlost_callback_on_thread.sig="ippipp";var _emscripten_set_webglcontextrestored_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{registerWebGlEventCallback(target,userData,useCapture,callbackfunc,32,"webglcontextrestored",targetThread);return 0};_emscripten_set_webglcontextrestored_callback_on_thread.sig="ippipp";var _emscripten_is_webgl_context_lost=contextHandle=>!GL.contexts[contextHandle]||GL.contexts[contextHandle].GLctx.isContextLost();_emscripten_is_webgl_context_lost.sig="ip";var _emscripten_webgl_get_supported_extensions=()=>stringToNewUTF8(GLctx.getSupportedExtensions().join(" "));_emscripten_webgl_get_supported_extensions.sig="p";var _emscripten_webgl_get_program_parameter_d=(program,param)=>GLctx.getProgramParameter(GL.programs[program],param);_emscripten_webgl_get_program_parameter_d.sig="dii";var _emscripten_webgl_get_program_info_log_utf8=program=>stringToNewUTF8(GLctx.getProgramInfoLog(GL.programs[program]));_emscripten_webgl_get_program_info_log_utf8.sig="pi";var _emscripten_webgl_get_shader_parameter_d=(shader,param)=>GLctx.getShaderParameter(GL.shaders[shader],param);_emscripten_webgl_get_shader_parameter_d.sig="dii";var _emscripten_webgl_get_shader_info_log_utf8=shader=>stringToNewUTF8(GLctx.getShaderInfoLog(GL.shaders[shader]));_emscripten_webgl_get_shader_info_log_utf8.sig="pi";var _emscripten_webgl_get_shader_source_utf8=shader=>stringToNewUTF8(GLctx.getShaderSource(GL.shaders[shader]));_emscripten_webgl_get_shader_source_utf8.sig="pi";var _emscripten_webgl_get_vertex_attrib_d=(index,param)=>GLctx.getVertexAttrib(index,param);_emscripten_webgl_get_vertex_attrib_d.sig="dii";var _emscripten_webgl_get_vertex_attrib_o=(index,param)=>{var obj=GLctx.getVertexAttrib(index,param);return obj?.name};_emscripten_webgl_get_vertex_attrib_o.sig="iii";var _emscripten_webgl_get_vertex_attrib_v=(index,param,dst,dstLength,dstType)=>writeGLArray(GLctx.getVertexAttrib(index,param),dst,dstLength,dstType);_emscripten_webgl_get_vertex_attrib_v.sig="iiipii";var _emscripten_webgl_get_uniform_d=(program,location)=>GLctx.getUniform(GL.programs[program],webglGetUniformLocation(location));_emscripten_webgl_get_uniform_d.sig="dii";var _emscripten_webgl_get_uniform_v=(program,location,dst,dstLength,dstType)=>writeGLArray(GLctx.getUniform(GL.programs[program],webglGetUniformLocation(location)),dst,dstLength,dstType);_emscripten_webgl_get_uniform_v.sig="iiipii";var _emscripten_webgl_get_parameter_v=(param,dst,dstLength,dstType)=>writeGLArray(GLctx.getParameter(param),dst,dstLength,dstType);_emscripten_webgl_get_parameter_v.sig="iipii";var _emscripten_webgl_get_parameter_d=param=>GLctx.getParameter(param);_emscripten_webgl_get_parameter_d.sig="di";var _emscripten_webgl_get_parameter_o=param=>{var obj=GLctx.getParameter(param);return obj?.name};_emscripten_webgl_get_parameter_o.sig="ii";var _emscripten_webgl_get_parameter_utf8=param=>stringToNewUTF8(GLctx.getParameter(param));_emscripten_webgl_get_parameter_utf8.sig="pi";var _emscripten_webgl_get_parameter_i64v=(param,dst)=>writeI53ToI64(dst,GLctx.getParameter(param));_emscripten_webgl_get_parameter_i64v.sig="vip";var _glutPostRedisplay=()=>{if(GLUT.displayFunc&&!GLUT.requestedAnimationFrame){GLUT.requestedAnimationFrame=true;MainLoop.requestAnimationFrame(()=>{GLUT.requestedAnimationFrame=false;MainLoop.runIter(()=>getWasmTableEntry(GLUT.displayFunc)())})}};_glutPostRedisplay.sig="v";var GLUT={initTime:null,idleFunc:null,displayFunc:null,keyboardFunc:null,keyboardUpFunc:null,specialFunc:null,specialUpFunc:null,reshapeFunc:null,motionFunc:null,passiveMotionFunc:null,mouseFunc:null,buttons:0,modifiers:0,initWindowWidth:256,initWindowHeight:256,initDisplayMode:18,windowX:0,windowY:0,windowWidth:0,windowHeight:0,requestedAnimationFrame:false,saveModifiers:event=>{GLUT.modifiers=0;if(event["shiftKey"])GLUT.modifiers+=1;if(event["ctrlKey"])GLUT.modifiers+=2;if(event["altKey"])GLUT.modifiers+=4},onMousemove:event=>{var lastX=Browser.mouseX;var lastY=Browser.mouseY;Browser.calculateMouseEvent(event);var newX=Browser.mouseX;var newY=Browser.mouseY;if(newX==lastX&&newY==lastY)return;if(GLUT.buttons==0&&event.target==Browser.getCanvas()&&GLUT.passiveMotionFunc){event.preventDefault();GLUT.saveModifiers(event);getWasmTableEntry(GLUT.passiveMotionFunc)(lastX,lastY)}else if(GLUT.buttons!=0&&GLUT.motionFunc){event.preventDefault();GLUT.saveModifiers(event);getWasmTableEntry(GLUT.motionFunc)(lastX,lastY)}},getSpecialKey:keycode=>{var key=null;switch(keycode){case 8:key=120;break;case 46:key=111;break;case 112:key=1;break;case 113:key=2;break;case 114:key=3;break;case 115:key=4;break;case 116:key=5;break;case 117:key=6;break;case 118:key=7;break;case 119:key=8;break;case 120:key=9;break;case 121:key=10;break;case 122:key=11;break;case 123:key=12;break;case 37:key=100;break;case 38:key=101;break;case 39:key=102;break;case 40:key=103;break;case 33:key=104;break;case 34:key=105;break;case 36:key=106;break;case 35:key=107;break;case 45:key=108;break;case 16:case 5:key=112;break;case 6:key=113;break;case 17:case 3:key=114;break;case 4:key=115;break;case 18:case 2:key=116;break;case 1:key=117;break}return key},getASCIIKey:event=>{if(event["ctrlKey"]||event["altKey"]||event["metaKey"])return null;var keycode=event["keyCode"];if(48<=keycode&&keycode<=57)return keycode;if(65<=keycode&&keycode<=90)return event["shiftKey"]?keycode:keycode+32;if(96<=keycode&&keycode<=105)return keycode-48;if(106<=keycode&&keycode<=111)return keycode-106+42;switch(keycode){case 9:case 13:case 27:case 32:case 61:return keycode}var s=event["shiftKey"];switch(keycode){case 186:return s?58:59;case 187:return s?43:61;case 188:return s?60:44;case 189:return s?95:45;case 190:return s?62:46;case 191:return s?63:47;case 219:return s?123:91;case 220:return s?124:47;case 221:return s?125:93;case 222:return s?34:39}return null},onKeydown:event=>{if(GLUT.specialFunc||GLUT.keyboardFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialFunc){event.preventDefault();GLUT.saveModifiers(event);getWasmTableEntry(GLUT.specialFunc)(key,Browser.mouseX,Browser.mouseY)}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardFunc){event.preventDefault();GLUT.saveModifiers(event);getWasmTableEntry(GLUT.keyboardFunc)(key,Browser.mouseX,Browser.mouseY)}}}},onKeyup:event=>{if(GLUT.specialUpFunc||GLUT.keyboardUpFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialUpFunc){event.preventDefault();GLUT.saveModifiers(event);getWasmTableEntry(GLUT.specialUpFunc)(key,Browser.mouseX,Browser.mouseY)}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardUpFunc){event.preventDefault();GLUT.saveModifiers(event);getWasmTableEntry(GLUT.keyboardUpFunc)(key,Browser.mouseX,Browser.mouseY)}}}},touchHandler:event=>{if(event.target!=Browser.getCanvas()){return}var touches=event.changedTouches,main=touches[0],type="";switch(event.type){case"touchstart":type="mousedown";break;case"touchmove":type="mousemove";break;case"touchend":type="mouseup";break;default:return}var simulatedEvent=document.createEvent("MouseEvent");simulatedEvent.initMouseEvent(type,true,true,window,1,main.screenX,main.screenY,main.clientX,main.clientY,false,false,false,false,0,null);main.target.dispatchEvent(simulatedEvent);event.preventDefault()},onMouseButtonDown:event=>{Browser.calculateMouseEvent(event);GLUT.buttons|=1<{Browser.calculateMouseEvent(event);GLUT.buttons&=~(1<{Browser.calculateMouseEvent(event);var e=window.event||event;var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);var button=3;if(delta<0){button=4}if(GLUT.mouseFunc){event.preventDefault();GLUT.saveModifiers(event);getWasmTableEntry(GLUT.mouseFunc)(button,0,Browser.mouseX,Browser.mouseY)}},onFullscreenEventChange:event=>{var width;var height;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){width=screen["width"];height=screen["height"]}else{width=GLUT.windowWidth;height=GLUT.windowHeight;document.removeEventListener("fullscreenchange",GLUT.onFullscreenEventChange,true);document.removeEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,true);document.removeEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,true)}Browser.setCanvasSize(width,height,true);if(GLUT.reshapeFunc){getWasmTableEntry(GLUT.reshapeFunc)(width,height)}_glutPostRedisplay()}};var _glutGetModifiers=()=>GLUT.modifiers;_glutGetModifiers.sig="i";var _glutInit=(argcp,argv)=>{GLUT.initTime=Date.now();var isTouchDevice="ontouchstart"in document.documentElement;if(isTouchDevice){window.addEventListener("touchmove",GLUT.touchHandler,true);window.addEventListener("touchstart",GLUT.touchHandler,true);window.addEventListener("touchend",GLUT.touchHandler,true)}window.addEventListener("keydown",GLUT.onKeydown,true);window.addEventListener("keyup",GLUT.onKeyup,true);window.addEventListener("mousemove",GLUT.onMousemove,true);window.addEventListener("mousedown",GLUT.onMouseButtonDown,true);window.addEventListener("mouseup",GLUT.onMouseButtonUp,true);window.addEventListener("mousewheel",GLUT.onMouseWheel,true);window.addEventListener("DOMMouseScroll",GLUT.onMouseWheel,true);Browser.resizeListeners.push((width,height)=>{if(GLUT.reshapeFunc){getWasmTableEntry(GLUT.reshapeFunc)(width,height)}});addOnExit(()=>{if(isTouchDevice){window.removeEventListener("touchmove",GLUT.touchHandler,true);window.removeEventListener("touchstart",GLUT.touchHandler,true);window.removeEventListener("touchend",GLUT.touchHandler,true)}window.removeEventListener("keydown",GLUT.onKeydown,true);window.removeEventListener("keyup",GLUT.onKeyup,true);window.removeEventListener("mousemove",GLUT.onMousemove,true);window.removeEventListener("mousedown",GLUT.onMouseButtonDown,true);window.removeEventListener("mouseup",GLUT.onMouseButtonUp,true);window.removeEventListener("mousewheel",GLUT.onMouseWheel,true);window.removeEventListener("DOMMouseScroll",GLUT.onMouseWheel,true);var canvas=Browser.getCanvas();canvas.width=canvas.height=1})};_glutInit.sig="vpp";var _glutInitWindowSize=(width,height)=>{Browser.setCanvasSize(GLUT.initWindowWidth=width,GLUT.initWindowHeight=height)};_glutInitWindowSize.sig="vii";var _glutInitWindowPosition=(x,y)=>{};_glutInitWindowPosition.sig="vii";var _glutGet=type=>{switch(type){case 100:return 0;case 101:return 0;case 102:return Browser.getCanvas().width;case 103:return Browser.getCanvas().height;case 200:return Browser.getCanvas().width;case 201:return Browser.getCanvas().height;case 500:return 0;case 501:return 0;case 502:return GLUT.initWindowWidth;case 503:return GLUT.initWindowHeight;case 700:var now=Date.now();return now-GLUT.initTime;case 105:return GLctx.getContextAttributes().stencil?8:0;case 106:return GLctx.getContextAttributes().depth?8:0;case 110:return GLctx.getContextAttributes().alpha?8:0;case 120:return GLctx.getContextAttributes().antialias?1:0;default:throw"glutGet("+type+") not implemented yet"}};_glutGet.sig="ii";var _glutIdleFunc=func=>{function callback(){if(GLUT.idleFunc){getWasmTableEntry(GLUT.idleFunc)();safeSetTimeout(callback,4)}}if(!GLUT.idleFunc){safeSetTimeout(callback,0)}GLUT.idleFunc=func};_glutIdleFunc.sig="vp";var _glutTimerFunc=(msec,func,value)=>safeSetTimeout(()=>getWasmTableEntry(func)(value),msec);_glutTimerFunc.sig="vipi";var _glutDisplayFunc=func=>{GLUT.displayFunc=func};_glutDisplayFunc.sig="vp";var _glutKeyboardFunc=func=>{GLUT.keyboardFunc=func};_glutKeyboardFunc.sig="vp";var _glutKeyboardUpFunc=func=>{GLUT.keyboardUpFunc=func};_glutKeyboardUpFunc.sig="vp";var _glutSpecialFunc=func=>{GLUT.specialFunc=func};_glutSpecialFunc.sig="vp";var _glutSpecialUpFunc=func=>{GLUT.specialUpFunc=func};_glutSpecialUpFunc.sig="vp";var _glutReshapeFunc=func=>{GLUT.reshapeFunc=func};_glutReshapeFunc.sig="vp";var _glutMotionFunc=func=>{GLUT.motionFunc=func};_glutMotionFunc.sig="vp";var _glutPassiveMotionFunc=func=>{GLUT.passiveMotionFunc=func};_glutPassiveMotionFunc.sig="vp";var _glutMouseFunc=func=>{GLUT.mouseFunc=func};_glutMouseFunc.sig="vp";var _glutSetCursor=cursor=>{var cursorStyle="auto";switch(cursor){case 0:break;case 1:break;case 2:cursorStyle="pointer";break;case 3:break;case 4:cursorStyle="help";break;case 5:break;case 6:break;case 7:cursorStyle="wait";break;case 8:cursorStyle="text";break;case 9:case 102:cursorStyle="crosshair";break;case 10:cursorStyle="ns-resize";break;case 11:cursorStyle="ew-resize";break;case 12:cursorStyle="n-resize";break;case 13:cursorStyle="s-resize";break;case 14:cursorStyle="w-resize";break;case 15:cursorStyle="e-resize";break;case 16:cursorStyle="nw-resize";break;case 17:cursorStyle="ne-resize";break;case 18:cursorStyle="se-resize";break;case 19:cursorStyle="sw-resize";break;case 100:break;case 101:cursorStyle="none";break;default:throw"glutSetCursor: Unknown cursor type: "+cursor}Browser.getCanvas().style.cursor=cursorStyle};_glutSetCursor.sig="vi";var _glutCreateWindow=name=>{var contextAttributes={antialias:(GLUT.initDisplayMode&128)!=0,depth:(GLUT.initDisplayMode&16)!=0,stencil:(GLUT.initDisplayMode&32)!=0,alpha:(GLUT.initDisplayMode&8)!=0};if(!Browser.createContext(Browser.getCanvas(),true,true,contextAttributes)){return 0}return 1};_glutCreateWindow.sig="ip";var _glutDestroyWindow=name=>{delete Module["ctx"];return 1};_glutDestroyWindow.sig="vi";var _glutReshapeWindow=(width,height)=>{Browser.exitFullscreen();Browser.setCanvasSize(width,height,true);if(GLUT.reshapeFunc){getWasmTableEntry(GLUT.reshapeFunc)(width,height)}_glutPostRedisplay()};_glutReshapeWindow.sig="vii";var _glutPositionWindow=(x,y)=>{Browser.exitFullscreen();_glutPostRedisplay()};_glutPositionWindow.sig="vii";var _glutFullScreen=()=>{GLUT.windowX=0;GLUT.windowY=0;var canvas=Browser.getCanvas();GLUT.windowWidth=canvas.width;GLUT.windowHeight=canvas.height;document.addEventListener("fullscreenchange",GLUT.onFullscreenEventChange,true);document.addEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,true);document.addEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,true);Browser.requestFullscreen(false,false)};_glutFullScreen.sig="v";var _glutInitDisplayMode=mode=>GLUT.initDisplayMode=mode;_glutInitDisplayMode.sig="vi";var _glutSwapBuffers=()=>{};_glutSwapBuffers.sig="v";var _glutMainLoop=()=>{var canvas=Browser.getCanvas();_glutReshapeWindow(canvas.width,canvas.height);_glutPostRedisplay();throw"unwind"};_glutMainLoop.sig="v";var _XOpenDisplay=name=>1;_XOpenDisplay.sig="pp";var _XCreateWindow=(display,parent,x,y,width,height,border_width,depth,class_,visual,valuemask,attributes)=>{Browser.setCanvasSize(width,height);return 2};_XCreateWindow.sig="pppiiiiiiippp";var _XChangeWindowAttributes=(display,window,valuemask,attributes)=>{};_XChangeWindowAttributes.sig="ipppp";var _XSetWMHints=(display,win,hints)=>{};_XSetWMHints.sig="ippp";var _XMapWindow=(display,win)=>{};_XMapWindow.sig="ipp";var _XStoreName=(display,win,name)=>{};_XStoreName.sig="ippp";var _XInternAtom=(display,name_,hmm)=>0;_XInternAtom.sig="pppi";var _XSendEvent=(display,win,propagate,event_mask,even_send)=>{};_XSendEvent.sig="ippipp";var _XPending=display=>0;_XPending.sig="ip";var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:false,depth:false,stencil:false,antialias:false},stringCache:{},setErrorCode(code){EGL.errorCode=code},chooseConfig(display,attribList,config,config_size,numConfigs){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(attribList){for(;;){var param=HEAP32[attribList>>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAPU32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};var _eglGetDisplay=nativeDisplayType=>{EGL.setErrorCode(12288);if(nativeDisplayType!=0&&nativeDisplayType!=1){return 0}return 62e3};_eglGetDisplay.sig="pp";var _eglInitialize=(display,majorVersion,minorVersion)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1};_eglInitialize.sig="ippp";var _eglTerminate=display=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1};_eglTerminate.sig="ip";var _eglGetConfigs=(display,configs,config_size,numConfigs)=>EGL.chooseConfig(display,0,configs,config_size,numConfigs);_eglGetConfigs.sig="ippip";var _eglChooseConfig=(display,attrib_list,configs,config_size,numConfigs)=>EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs);_eglChooseConfig.sig="ipppip";var _eglGetConfigAttrib=(display,config,attribute,value)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>2]=EGL.contextAttributes.alpha?32:24;return 1;case 12321:HEAP32[value>>2]=EGL.contextAttributes.alpha?8:0;return 1;case 12322:HEAP32[value>>2]=8;return 1;case 12323:HEAP32[value>>2]=8;return 1;case 12324:HEAP32[value>>2]=8;return 1;case 12325:HEAP32[value>>2]=EGL.contextAttributes.depth?24:0;return 1;case 12326:HEAP32[value>>2]=EGL.contextAttributes.stencil?8:0;return 1;case 12327:HEAP32[value>>2]=12344;return 1;case 12328:HEAP32[value>>2]=62002;return 1;case 12329:HEAP32[value>>2]=0;return 1;case 12330:HEAP32[value>>2]=4096;return 1;case 12331:HEAP32[value>>2]=16777216;return 1;case 12332:HEAP32[value>>2]=4096;return 1;case 12333:HEAP32[value>>2]=0;return 1;case 12334:HEAP32[value>>2]=0;return 1;case 12335:HEAP32[value>>2]=12344;return 1;case 12337:HEAP32[value>>2]=EGL.contextAttributes.antialias?4:0;return 1;case 12338:HEAP32[value>>2]=EGL.contextAttributes.antialias?1:0;return 1;case 12339:HEAP32[value>>2]=4;return 1;case 12340:HEAP32[value>>2]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>2]=-1;return 1;case 12345:case 12346:HEAP32[value>>2]=0;return 1;case 12347:HEAP32[value>>2]=0;return 1;case 12348:HEAP32[value>>2]=1;return 1;case 12349:case 12350:HEAP32[value>>2]=0;return 1;case 12351:HEAP32[value>>2]=12430;return 1;case 12352:HEAP32[value>>2]=4;return 1;case 12354:HEAP32[value>>2]=0;return 1;default:EGL.setErrorCode(12292);return 0}};_eglGetConfigAttrib.sig="ippip";var _eglCreateWindowSurface=(display,config,win,attrib_list)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006};_eglCreateWindowSurface.sig="pppip";var _eglDestroySurface=(display,surface)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1};_eglDestroySurface.sig="ipp";var _eglCreateContext=(display,config,hmm,contextAttribs)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion!=2){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Browser.getCanvas(),EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Browser.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}};_eglCreateContext.sig="ppppp";var _eglDestroyContext=(display,context)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1};_eglDestroyContext.sig="ipp";var _eglQuerySurface=(display,surface,attribute,value)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12328:HEAP32[value>>2]=62002;return 1;case 12376:return 1;case 12375:HEAP32[value>>2]=Browser.getCanvas().width;return 1;case 12374:HEAP32[value>>2]=Browser.getCanvas().height;return 1;case 12432:HEAP32[value>>2]=-1;return 1;case 12433:HEAP32[value>>2]=-1;return 1;case 12434:HEAP32[value>>2]=-1;return 1;case 12422:HEAP32[value>>2]=12420;return 1;case 12441:HEAP32[value>>2]=12442;return 1;case 12435:HEAP32[value>>2]=12437;return 1;case 12416:case 12417:case 12418:case 12419:return 1;default:EGL.setErrorCode(12292);return 0}};_eglQuerySurface.sig="ippip";var _eglQueryContext=(display,context,attribute,value)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12328:HEAP32[value>>2]=62002;return 1;case 12439:HEAP32[value>>2]=12448;return 1;case 12440:HEAP32[value>>2]=EGL.contextAttributes.majorVersion+1;return 1;case 12422:HEAP32[value>>2]=12420;return 1;default:EGL.setErrorCode(12292);return 0}};_eglQueryContext.sig="ippip";var _eglGetError=()=>EGL.errorCode;_eglGetError.sig="i";var _eglQueryString=(display,name)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.setErrorCode(12288);if(EGL.stringCache[name])return EGL.stringCache[name];var ret;switch(name){case 12371:ret=stringToNewUTF8("Emscripten");break;case 12372:ret=stringToNewUTF8("1.4 Emscripten EGL");break;case 12373:ret=stringToNewUTF8("");break;case 12429:ret=stringToNewUTF8("OpenGL_ES");break;default:EGL.setErrorCode(12300);return 0}EGL.stringCache[name]=ret;return ret};_eglQueryString.sig="ppi";var _eglBindAPI=api=>{if(api==12448){EGL.setErrorCode(12288);return 1}EGL.setErrorCode(12300);return 0};_eglBindAPI.sig="ii";var _eglQueryAPI=()=>{EGL.setErrorCode(12288);return 12448};_eglQueryAPI.sig="i";var _eglWaitClient=()=>{EGL.setErrorCode(12288);return 1};_eglWaitClient.sig="i";var _eglWaitNative=nativeEngineId=>{EGL.setErrorCode(12288);return 1};_eglWaitNative.sig="ii";var _eglWaitGL=_eglWaitClient;_eglWaitGL.sig="i";var _eglSwapInterval=(display,interval)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1};_eglSwapInterval.sig="ipi";var _eglMakeCurrent=(display,draw,read,context)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1};_eglMakeCurrent.sig="ipppp";var _eglGetCurrentContext=()=>EGL.currentContext;_eglGetCurrentContext.sig="p";var _eglGetCurrentSurface=readdraw=>{if(readdraw==12378){return EGL.currentReadSurface}else if(readdraw==12377){return EGL.currentDrawSurface}else{EGL.setErrorCode(12300);return 0}};_eglGetCurrentSurface.sig="pi";var _eglGetCurrentDisplay=()=>EGL.currentContext?62e3:0;_eglGetCurrentDisplay.sig="p";var _eglSwapBuffers=(dpy,surface)=>{if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!GLctx){EGL.setErrorCode(12290)}else if(GLctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0};_eglSwapBuffers.sig="ipp";var _eglReleaseThread=()=>{EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.setErrorCode(12288);return 1};_eglReleaseThread.sig="i";var _uuid_clear=uu=>zeroMemory(uu,16);_uuid_clear.sig="vp";var _uuid_compare=(uu1,uu2)=>_memcmp(uu1,uu2,16);_uuid_compare.sig="ipp";var _uuid_copy=(dst,src)=>_memcpy(dst,src,16);_uuid_copy.sig="vpp";var _uuid_generate=out=>{var uuid=new Uint8Array(16);randomFill(uuid);uuid[6]=uuid[6]&15|64;uuid[8]=uuid[8]&63|128;writeArrayToMemory(uuid,out)};_uuid_generate.sig="vp";var _uuid_is_null=uu=>{for(var i=0;i<4;i++,uu=uu+4|0){var val=HEAP32[uu>>2];if(val){return 0}}return 1};_uuid_is_null.sig="ip";var _uuid_parse=(inp,uu)=>{inp=UTF8ToString(inp);if(inp.length===36){var i=0;var uuid=new Array(16);inp.toLowerCase().replace(/[0-9a-f]{2}/g,function(byte){if(i<16){uuid[i++]=parseInt(byte,16)}});if(i<16){return-1}writeArrayToMemory(uuid,uu);return 0}return-1};_uuid_parse.sig="ipp";var _uuid_unparse=(uu,out,upper)=>{var i=0;var uuid="xxxx-xx-xx-xx-xxxxxx".replace(/[x]/g,function(c){var r=upper?HEAPU8[uu+i].toString(16).toUpperCase():HEAPU8[uu+i].toString(16);r=r.length===1?"0"+r:r;i++;return r});stringToUTF8(uuid,out,37)};_uuid_unparse.sig="vpp";var _uuid_unparse_lower=(uu,out)=>{_uuid_unparse(uu,out)};_uuid_unparse_lower.sig="vpp";var _uuid_unparse_upper=(uu,out)=>{_uuid_unparse(uu,out,true)};_uuid_unparse_upper.sig="vpp";var _uuid_type=uu=>4;_uuid_type.sig="ip";var _uuid_variant=uu=>1;_uuid_variant.sig="ip";var GLEW={isLinaroFork:1,extensions:null,error:{0:null,1:null,2:null,3:null,4:null,5:null,6:null,7:null,8:null},version:{1:null,2:null,3:null,4:null},errorStringConstantFromCode(error){if(GLEW.isLinaroFork){switch(error){case 4:return"OpenGL ES lib expected, found OpenGL lib";case 5:return"OpenGL lib expected, found OpenGL ES lib";case 6:return"Missing EGL version";case 7:return"EGL 1.1 and up are supported";default:break}}switch(error){case 0:return"No error";case 1:return"Missing GL version";case 2:return"GL 1.1 and up are supported";case 3:return"GLX 1.2 and up are supported";default:return null}},errorString(error){if(!GLEW.error[error]){var string=GLEW.errorStringConstantFromCode(error);if(!string){string="Unknown error";error=8}GLEW.error[error]=stringToNewUTF8(string)}return GLEW.error[error]},versionStringConstantFromCode(name){switch(name){case 1:return"1.10.0";case 2:return"1";case 3:return"10";case 4:return"0";default:return null}},versionString(name){if(!GLEW.version[name]){var string=GLEW.versionStringConstantFromCode(name);if(!string)return 0;GLEW.version[name]=stringToNewUTF8(string)}return GLEW.version[name]},extensionIsSupported(name){GLEW.extensions||=webglGetExtensions();if(GLEW.extensions.includes(name))return 1;return GLEW.extensions.includes("GL_"+name)}};var _glewInit=()=>0;_glewInit.sig="i";var _glewIsSupported=name=>{var exts=UTF8ToString(name).split(" ");for(var ext of exts){if(!GLEW.extensionIsSupported(ext))return 0}return 1};_glewIsSupported.sig="ip";var _glewGetExtension=name=>GLEW.extensionIsSupported(UTF8ToString(name));_glewGetExtension.sig="ip";var _glewGetErrorString=error=>GLEW.errorString(error);_glewGetErrorString.sig="pi";var _glewGetString=name=>GLEW.versionString(name);_glewGetString.sig="pi";var IDBStore={indexedDB(){if(typeof indexedDB!="undefined")return indexedDB;var ret=null;if(typeof window=="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;return ret},DB_VERSION:22,DB_STORE_NAME:"FILE_DATA",dbs:{},blobs:[0],getDB(name,callback){var db=IDBStore.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBStore.indexedDB().open(name,IDBStore.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=e=>{var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBStore.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBStore.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBStore.DB_STORE_NAME)}};req.onsuccess=()=>{db=req.result;IDBStore.dbs[name]=db;callback(null,db)};req.onerror=function(event){callback(event.target.error||"unknown error");event.preventDefault()}},getStore(dbName,type,callback){IDBStore.getDB(dbName,(error,db)=>{if(error)return callback(error);var transaction=db.transaction([IDBStore.DB_STORE_NAME],type);transaction.onerror=event=>{callback(event.target.error||"unknown error");event.preventDefault()};var store=transaction.objectStore(IDBStore.DB_STORE_NAME);callback(null,store)})},getFile(dbName,id,callback){IDBStore.getStore(dbName,"readonly",(err,store)=>{if(err)return callback(err);var req=store.get(id);req.onsuccess=event=>{var result=event.target.result;if(!result){return callback(`file ${id} not found`)}return callback(null,result)};req.onerror=callback})},setFile(dbName,id,data,callback){IDBStore.getStore(dbName,"readwrite",(err,store)=>{if(err)return callback(err);var req=store.put(data,id);req.onsuccess=event=>callback();req.onerror=callback})},deleteFile(dbName,id,callback){IDBStore.getStore(dbName,"readwrite",(err,store)=>{if(err)return callback(err);var req=store.delete(id);req.onsuccess=event=>callback();req.onerror=callback})},existsFile(dbName,id,callback){IDBStore.getStore(dbName,"readonly",(err,store)=>{if(err)return callback(err);var req=store.count(id);req.onsuccess=event=>callback(null,event.target.result>0);req.onerror=callback})},clearStore(dbName,callback){IDBStore.getStore(dbName,"readwrite",(err,store)=>{if(err)return callback(err);var req=store.clear();req.onsuccess=event=>callback();req.onerror=callback})}};var _emscripten_idb_async_load=(db,id,arg,onload,onerror)=>{IDBStore.getFile(UTF8ToString(db),UTF8ToString(id),(error,byteArray)=>{callUserCallback(()=>{if(error){if(onerror)getWasmTableEntry(onerror)(arg);return}var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);getWasmTableEntry(onload)(arg,buffer,byteArray.length);_free(buffer)})})};_emscripten_idb_async_load.sig="vppppp";var _emscripten_idb_async_store=(db,id,ptr,num,arg,onstore,onerror)=>{IDBStore.setFile(UTF8ToString(db),UTF8ToString(id),new Uint8Array(HEAPU8.subarray(ptr,ptr+num)),error=>{callUserCallback(()=>{if(error){if(onerror)getWasmTableEntry(onerror)(arg);return}if(onstore)getWasmTableEntry(onstore)(arg)})})};_emscripten_idb_async_store.sig="vpppippp";var _emscripten_idb_async_delete=(db,id,arg,ondelete,onerror)=>{IDBStore.deleteFile(UTF8ToString(db),UTF8ToString(id),error=>{callUserCallback(()=>{if(error){if(onerror)getWasmTableEntry(onerror)(arg);return}if(ondelete)getWasmTableEntry(ondelete)(arg)})})};_emscripten_idb_async_delete.sig="vppppp";var _emscripten_idb_async_exists=(db,id,arg,oncheck,onerror)=>{IDBStore.existsFile(UTF8ToString(db),UTF8ToString(id),(error,exists)=>{callUserCallback(()=>{if(error){if(onerror)getWasmTableEntry(onerror)(arg);return}if(oncheck)getWasmTableEntry(oncheck)(arg,exists)})})};_emscripten_idb_async_exists.sig="vppppp";var _emscripten_idb_async_clear=(db,arg,onclear,onerror)=>{IDBStore.clearStore(UTF8ToString(db),error=>{callUserCallback(()=>{if(error){if(onerror)getWasmTableEntry(onerror)(arg);return}if(onclear)getWasmTableEntry(onclear)(arg)})})};_emscripten_idb_async_clear.sig="vpppp";var _emscripten_idb_load=(db,id,pbuffer,pnum,perror)=>{throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_load, etc."};_emscripten_idb_load.sig="vppppp";var _emscripten_idb_store=(db,id,ptr,num,perror)=>{throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_store, etc."};_emscripten_idb_store.sig="vpppip";var _emscripten_idb_delete=(db,id,perror)=>{throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_delete, etc."};_emscripten_idb_delete.sig="vppp";var _emscripten_idb_exists=(db,id,pexists,perror)=>{throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_exists, etc."};_emscripten_idb_exists.sig="vpppp";var _emscripten_idb_clear=(db,perror)=>{throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_clear, etc."};_emscripten_idb_clear.sig="vpp";var runAndAbortIfError=func=>{try{return func()}catch(e){abort(e)}};var _emscripten_sleep=()=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_sleep"};_emscripten_sleep.sig="vi";var _emscripten_wget=(url,file)=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_wget"};_emscripten_wget.sig="ipp";var _emscripten_scan_registers=func=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_scan_registers"};_emscripten_scan_registers.sig="vp";var _emscripten_fiber_swap=(oldFiber,newFiber)=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_fiber_swap"};_emscripten_fiber_swap.sig="vpp";var _SDL_GetTicks=()=>Date.now()-SDL.startTime|0;_SDL_GetTicks.sig="i";var _SDL_LockSurface=surf=>{var surfData=SDL.surfaces[surf];surfData.locked++;if(surfData.locked>1)return 0;if(!surfData.buffer){surfData.buffer=_malloc(surfData.width*surfData.height*4);HEAPU32[surf+20>>2]=surfData.buffer}HEAPU32[surf+20>>2]=surfData.buffer;if(surf==SDL.screen&&Module.screenIsReadOnly&&surfData.image)return 0;if(SDL.defaults.discardOnLock){if(!surfData.image){surfData.image=surfData.ctx.createImageData(surfData.width,surfData.height)}if(!SDL.defaults.opaqueFrontBuffer)return}else{surfData.image=surfData.ctx.getImageData(0,0,surfData.width,surfData.height)}if(surf==SDL.screen&&SDL.defaults.opaqueFrontBuffer){var data=surfData.image.data;var num=data.length;for(var i=0;i>2],y:HEAP32[rect+4>>2],w:HEAP32[rect+8>>2],h:HEAP32[rect+12>>2]}},updateRect(rect,r){HEAP32[rect>>2]=r.x;HEAP32[rect+4>>2]=r.y;HEAP32[rect+8>>2]=r.w;HEAP32[rect+12>>2]=r.h},intersectionOfRects(first,second){var leftX=Math.max(first.x,second.x);var leftY=Math.max(first.y,second.y);var rightX=Math.min(first.x+first.w,second.x+second.w);var rightY=Math.min(first.y+first.h,second.y+second.h);return{x:leftX,y:leftY,w:Math.max(leftX,rightX)-leftX,h:Math.max(leftY,rightY)-leftY}},checkPixelFormat(fmt){},loadColorToCSSRGB(color){var rgba=HEAP32[color>>2];return"rgb("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+")"},loadColorToCSSRGBA(color){var rgba=HEAP32[color>>2];return"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>24&255)/255+")"},translateColorToCSSRGBA:rgba=>"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>>24)/255+")",translateRGBAToCSSRGBA:(r,g,b,a)=>"rgba("+(r&255)+","+(g&255)+","+(b&255)+","+(a&255)/255+")",translateRGBAToColor:(r,g,b,a)=>r|g<<8|b<<16|a<<24,makeSurface(width,height,flags,usePageCanvas,source,rmask,gmask,bmask,amask){var is_SDL_HWSURFACE=flags&134217729;var is_SDL_HWPALETTE=flags&2097152;var is_SDL_OPENGL=flags&67108864;var surf=_malloc(60);var pixelFormat=_malloc(44);var bpp=is_SDL_HWPALETTE?1:4;var buffer=0;if(!is_SDL_HWSURFACE&&!is_SDL_OPENGL){buffer=_malloc(width*height*4)}HEAP32[surf>>2]=flags;HEAPU32[surf+4>>2]=pixelFormat;HEAP32[surf+8>>2]=width;HEAP32[surf+12>>2]=height;HEAP32[surf+16>>2]=width*bpp;HEAPU32[surf+20>>2]=buffer;var canvas=Browser.getCanvas();HEAP32[surf+36>>2]=0;HEAP32[surf+40>>2]=0;HEAP32[surf+44>>2]=canvas.width;HEAP32[surf+48>>2]=canvas.height;HEAP32[surf+56>>2]=1;HEAP32[pixelFormat>>2]=-2042224636;HEAP32[pixelFormat+4>>2]=0;HEAP8[pixelFormat+8]=bpp*8;HEAP8[pixelFormat+9]=bpp;HEAP32[pixelFormat+12>>2]=rmask||255;HEAP32[pixelFormat+16>>2]=gmask||65280;HEAP32[pixelFormat+20>>2]=bmask||16711680;HEAP32[pixelFormat+24>>2]=amask||4278190080;SDL.GL=SDL.GL||is_SDL_OPENGL;if(!usePageCanvas){if(SDL.canvasPool.length>0){canvas=SDL.canvasPool.pop()}else{canvas=document.createElement("canvas")}canvas.width=width;canvas.height=height}var webGLContextAttributes={antialias:SDL.glAttributes[13]!=0&&SDL.glAttributes[14]>1,depth:SDL.glAttributes[6]>0,stencil:SDL.glAttributes[7]>0,alpha:SDL.glAttributes[3]>0};var ctx=Browser.createContext(canvas,is_SDL_OPENGL,usePageCanvas,webGLContextAttributes);SDL.surfaces[surf]={width,height,canvas,ctx,surf,buffer,pixelFormat,alpha:255,flags,locked:0,usePageCanvas,source,isFlagSet:flag=>flags&flag};return surf},copyIndexedColorData(surfData,rX,rY,rW,rH){if(!surfData.colors){return}var canvas=Browser.getCanvas();var fullWidth=canvas.width;var fullHeight=canvas.height;var startX=rX||0;var startY=rY||0;var endX=(rW||fullWidth-startX)+startX;var endY=(rH||fullHeight-startY)+startY;var buffer=surfData.buffer;if(!surfData.image.data32){surfData.image.data32=new Uint32Array(surfData.image.data.buffer)}var data32=surfData.image.data32;var colors32=surfData.colors32;for(var y=startY;y>2];if(refcount>1){HEAP32[refcountPointer>>2]=refcount-1;return}var info=SDL.surfaces[surf];if(!info.usePageCanvas&&info.canvas)SDL.canvasPool.push(info.canvas);if(info.buffer)_free(info.buffer);_free(info.pixelFormat);_free(surf);SDL.surfaces[surf]=null;if(surf===SDL.screen){SDL.screen=null}},blitSurface(src,srcrect,dst,dstrect,scale){var srcData=SDL.surfaces[src];var dstData=SDL.surfaces[dst];var sr,dr;if(srcrect){sr=SDL.loadRect(srcrect)}else{sr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstrect){dr=SDL.loadRect(dstrect)}else{dr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstData.clipRect){var widthScale=!scale||sr.w===0?1:sr.w/dr.w;var heightScale=!scale||sr.h===0?1:sr.h/dr.h;dr=SDL.intersectionOfRects(dstData.clipRect,dr);sr.w=dr.w*widthScale;sr.h=dr.h*heightScale;if(dstrect){SDL.updateRect(dstrect,dr)}}var blitw,blith;if(scale){blitw=dr.w;blith=dr.h}else{blitw=sr.w;blith=sr.h}if(sr.w===0||sr.h===0||blitw===0||blith===0){return 0}var oldAlpha=dstData.ctx.globalAlpha;dstData.ctx.globalAlpha=srcData.alpha/255;dstData.ctx.drawImage(srcData.canvas,sr.x,sr.y,sr.w,sr.h,dr.x,dr.y,blitw,blith);dstData.ctx.globalAlpha=oldAlpha;if(dst!=SDL.screen){warnOnce("WARNING: copying canvas data to memory for compatibility");_SDL_LockSurface(dst);dstData.locked--}return 0},downFingers:{},savedKeydown:null,receiveEvent(event){function unpressAllPressedKeys(){for(var keyCode of Object.values(SDL.keyboardMap)){SDL.events.push({type:"keyup",keyCode})}}switch(event.type){case"touchstart":case"touchmove":{event.preventDefault();var touches=[];if(event.type==="touchstart"){for(var touch of event.touches){if(SDL.downFingers[touch.identifier]!=true){SDL.downFingers[touch.identifier]=true;touches.push(touch)}}}else{touches=event.touches}var firstTouch=touches[0];if(firstTouch){if(event.type=="touchstart"){SDL.DOMButtons[0]=1}var mouseEventType;switch(event.type){case"touchstart":mouseEventType="mousedown";break;case"touchmove":mouseEventType="mousemove";break}var mouseEvent={type:mouseEventType,button:0,pageX:firstTouch.clientX,pageY:firstTouch.clientY};SDL.events.push(mouseEvent)}for(var touch of touches){SDL.events.push({type:event.type,touch})}break}case"touchend":{event.preventDefault();for(var touch of event.changedTouches){if(SDL.downFingers[touch.identifier]===true){delete SDL.downFingers[touch.identifier]}}var mouseEvent={type:"mouseup",button:0,pageX:event.changedTouches[0].clientX,pageY:event.changedTouches[0].clientY};SDL.DOMButtons[0]=0;SDL.events.push(mouseEvent);for(var touch of event.changedTouches){SDL.events.push({type:"touchend",touch})}break}case"DOMMouseScroll":case"mousewheel":case"wheel":var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);var button=(delta>0?4:5)-1;SDL.events.push({type:"mousedown",button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"mouseup",button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"wheel",deltaX:0,deltaY:delta});event.preventDefault();break;case"mousemove":if(SDL.DOMButtons[0]===1){SDL.events.push({type:"touchmove",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}if(Browser.pointerLock){if("mozMovementX"in event){event["movementX"]=event["mozMovementX"];event["movementY"]=event["mozMovementY"]}if(event["movementX"]==0&&event["movementY"]==0){event.preventDefault();return}}case"keydown":case"keyup":case"keypress":case"mousedown":case"mouseup":if(event.type!=="keydown"||!SDL.unicode&&!SDL.textInput||(event.key=="Backspace"||event.key=="Tab")){event.preventDefault()}if(event.type=="mousedown"){SDL.DOMButtons[event.button]=1;SDL.events.push({type:"touchstart",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}else if(event.type=="mouseup"){if(!SDL.DOMButtons[event.button]){return}SDL.events.push({type:"touchend",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}});SDL.DOMButtons[event.button]=0}if(event.type==="keydown"||event.type==="mousedown"){SDL.canRequestFullscreen=true}else if(event.type==="keyup"||event.type==="mouseup"){if(SDL.isRequestingFullscreen){Module["requestFullscreen"](true,true);SDL.isRequestingFullscreen=false}SDL.canRequestFullscreen=false}if(event.type==="keypress"&&SDL.savedKeydown){SDL.savedKeydown.keypressCharCode=event.charCode;SDL.savedKeydown=null}else if(event.type==="keydown"){SDL.savedKeydown=event}if(event.type!=="keypress"||SDL.textInput){SDL.events.push(event)}break;case"mouseout":for(var i=0;i<3;i++){if(SDL.DOMButtons[i]){SDL.events.push({type:"mouseup",button:i,pageX:event.pageX,pageY:event.pageY});SDL.DOMButtons[i]=0}}event.preventDefault();break;case"focus":SDL.events.push(event);event.preventDefault();break;case"blur":SDL.events.push(event);unpressAllPressedKeys();event.preventDefault();break;case"visibilitychange":SDL.events.push({type:"visibilitychange",visible:!document.hidden});unpressAllPressedKeys();event.preventDefault();break;case"unload":if(MainLoop.runner){SDL.events.push(event);MainLoop.runner()}return;case"resize":SDL.events.push(event);if(event.preventDefault){event.preventDefault()}break}if(SDL.events.length>=1e4){err("SDL event queue full, dropping events");SDL.events=SDL.events.slice(0,1e4)}SDL.flushEventsToHandler();return},lookupKeyCodeForEvent(event){var code=event.keyCode;if(code>=65&&code<=90){code+=32}else{code=SDL.keyCodes[code]||(code<128?code:0);if(event.location===2&&code>=(224|1<<10)&&code<=(227|1<<10)){code+=4}}return code},handleEvent(event){if(event.handled)return;event.handled=true;switch(event.type){case"touchstart":case"touchend":case"touchmove":{Browser.calculateMouseEvent(event);break}case"keydown":case"keyup":{var down=event.type==="keydown";var code=SDL.lookupKeyCodeForEvent(event);if(!code)return;HEAP8[SDL.keyboardState+code]=down;SDL.modState=(HEAP8[SDL.keyboardState+1248]?64:0)|(HEAP8[SDL.keyboardState+1249]?1:0)|(HEAP8[SDL.keyboardState+1250]?256:0)|(HEAP8[SDL.keyboardState+1252]?128:0)|(HEAP8[SDL.keyboardState+1253]?2:0)|(HEAP8[SDL.keyboardState+1254]?512:0);if(down){SDL.keyboardMap[code]=event.keyCode}else{delete SDL.keyboardMap[code]}break}case"mousedown":case"mouseup":if(event.type=="mousedown"){SDL.buttonState|=1<0){if(SDL.makeCEvent(SDL.events.shift(),ptr)!==false)return 1}return 0}return SDL.events.length>0},makeCEvent(event,ptr){if(typeof event=="number"){_memcpy(ptr,event,28);_free(event);return}SDL.handleEvent(event);switch(event.type){case"keydown":case"keyup":{var down=event.type==="keydown";var key=SDL.lookupKeyCodeForEvent(event);if(!key)return false;var scan;if(key>=1024){scan=key-1024}else{scan=SDL.scanCodes[key]||key}HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+8]=down?1:0;HEAP8[ptr+9]=0;HEAP32[ptr+12>>2]=scan;HEAP32[ptr+16>>2]=key;HEAP16[ptr+20>>1]=SDL.modState;HEAP32[ptr+24>>2]=event.keypressCharCode||key;break}case"keypress":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];var cStr=intArrayFromString(String.fromCharCode(event.charCode));for(var i=0;i>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP32[ptr+8>>2]=0;HEAP32[ptr+12>>2]=0;HEAP8[ptr+16]=event.button+1;HEAP8[ptr+17]=down?1:0;HEAP32[ptr+20>>2]=Browser.mouseX;HEAP32[ptr+24>>2]=Browser.mouseY}else{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP32[ptr+8>>2]=0;HEAP32[ptr+12>>2]=0;HEAP32[ptr+16>>2]=SDL.buttonState;HEAP32[ptr+20>>2]=Browser.mouseX;HEAP32[ptr+24>>2]=Browser.mouseY;HEAP32[ptr+28>>2]=Browser.mouseMovementX;HEAP32[ptr+32>>2]=Browser.mouseMovementY}break}case"wheel":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+16>>2]=event.deltaX;HEAP32[ptr+20>>2]=event.deltaY;break}case"touchstart":case"touchend":case"touchmove":{var touch=event.touch;if(!Browser.touches[touch.identifier])break;var canvas=Browser.getCanvas();var x=Browser.touches[touch.identifier].x/canvas.width;var y=Browser.touches[touch.identifier].y/canvas.height;var lx=Browser.lastTouches[touch.identifier].x/canvas.width;var ly=Browser.lastTouches[touch.identifier].y/canvas.height;var dx=x-lx;var dy=y-ly;if(touch["deviceID"]===undefined)touch.deviceID=SDL.TOUCH_DEFAULT_ID;if(dx===0&&dy===0&&event.type==="touchmove")return false;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=_SDL_GetTicks();tempI64=[touch.deviceID>>>0,(tempDouble=touch.deviceID,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr+8>>2]=tempI64[0],HEAP32[ptr+12>>2]=tempI64[1];tempI64=[touch.identifier>>>0,(tempDouble=touch.identifier,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr+16>>2]=tempI64[0],HEAP32[ptr+20>>2]=tempI64[1];HEAPF32[ptr+24>>2]=x;HEAPF32[ptr+28>>2]=y;HEAPF32[ptr+32>>2]=dx;HEAPF32[ptr+36>>2]=dy;if(touch.force!==undefined){HEAPF32[ptr+40>>2]=touch.force}else{HEAPF32[ptr+40>>2]=event.type=="touchend"?0:1}break}case"unload":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];break}case"resize":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=event.w;HEAP32[ptr+8>>2]=event.h;break}case"joystick_button_up":case"joystick_button_down":{var state=event.type==="joystick_button_up"?0:1;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4]=event.index;HEAP8[ptr+5]=event.button;HEAP8[ptr+6]=state;break}case"joystick_axis_motion":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4]=event.index;HEAP8[ptr+5]=event.axis;HEAP32[ptr+8>>2]=SDL.joystickAxisValueConversion(event.value);break}case"focus":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8]=12;break}case"blur":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8]=13;break}case"visibilitychange":{var visibilityEventID=event.visible?1:2;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8]=visibilityEventID;break}default:throw"Unhandled SDL event: "+event.type}},makeFontString(height,fontName){if(fontName.charAt(0)!="'"&&fontName.charAt(0)!='"'){fontName='"'+fontName+'"'}return height+"px "+fontName+", serif"},estimateTextWidth(fontData,text){var h=fontData.size;var fontString=SDL.makeFontString(h,fontData.name);var tempCtx=SDL.ttfContext;tempCtx.font=fontString;var ret=tempCtx.measureText(text).width|0;return ret},allocateChannels(num){if(SDL.numChannels>=num&&num!=0)return;SDL.numChannels=num;SDL.channels=[];for(var i=0;i{if(!audio.paused)SDL.playWebAudio(audio)});return}audio.webAudioNode=SDL.audioContext["createBufferSource"]();audio.webAudioNode["buffer"]=webAudio.decodedBuffer;audio.webAudioNode["loop"]=audio.loop;audio.webAudioNode["onended"]=audio["onended"];audio.webAudioPannerNode=SDL.audioContext["createPanner"]();audio.webAudioPannerNode["setPosition"](0,0,-.5);audio.webAudioPannerNode["panningModel"]="equalpower";audio.webAudioGainNode=SDL.audioContext["createGain"]();audio.webAudioGainNode["gain"]["value"]=audio.volume;audio.webAudioNode["connect"](audio.webAudioPannerNode);audio.webAudioPannerNode["connect"](audio.webAudioGainNode);audio.webAudioGainNode["connect"](SDL.audioContext["destination"]);audio.webAudioNode["start"](0,audio.currentPosition);audio.startTime=SDL.audioContext["currentTime"]-audio.currentPosition}catch(e){err(`playWebAudio failed: ${e}`)}},pauseWebAudio(audio){if(!audio)return;if(audio.webAudioNode){try{audio.currentPosition=(SDL.audioContext["currentTime"]-audio.startTime)%audio.resource.webAudio.decodedBuffer.duration;audio.webAudioNode["onended"]=undefined;audio.webAudioNode.stop(0);audio.webAudioNode=undefined}catch(e){err(`pauseWebAudio failed: ${e}`)}}audio.paused=true},openAudioContext(){if(!SDL.audioContext){if(typeof AudioContext!="undefined"){SDL.audioContext=new AudioContext}else if(typeof webkitAudioContext!="undefined"){SDL.audioContext=new webkitAudioContext}}},webAudioAvailable:()=>!!SDL.audioContext,fillWebAudioBufferFromHeap(heapPtr,sizeSamplesPerChannel,dstAudioBuffer){var audio=SDL.audio;var numChannels=audio.channels;for(var c=0;c>1]/32768}}else if(audio.format==8){for(var j=0;j=0?v-128:v+128)/128}}else if(audio.format==33056){for(var j=0;j>2]}}else{throw"Invalid SDL audio format "+audio.format+"!"}}},joystickEventState:1,lastJoystickState:{},joystickNamePool:{},recordJoystickState(joystick,state){var buttons=[];for(var button of state.buttons){buttons.push(SDL.getJoystickButtonState(button))}SDL.lastJoystickState[joystick]={buttons,axes:state.axes.slice(0),timestamp:state.timestamp,index:state.index,id:state.id}},getJoystickButtonState(button){if(typeof button=="object"){return button["pressed"]}return button>0},queryJoysticks(){for(var joystick in SDL.lastJoystickState){var state=SDL.getGamepad(joystick-1);var prevState=SDL.lastJoystickState[joystick];if(typeof state=="undefined")return;if(state===null)return;if(typeof state.timestamp!="number"||state.timestamp!=prevState.timestamp||!state.timestamp){var i;for(i=0;ideviceIndex&&deviceIndex>=0){return gamepads[deviceIndex]}return null}};var _SDL_Linked_Version=()=>{if(SDL.version===null){SDL.version=_malloc(3);HEAP8[SDL.version]=1;HEAP8[SDL.version+1]=3;HEAP8[SDL.version+2]=0}return SDL.version};_SDL_Linked_Version.sig="p";var _SDL_Init=initFlags=>{SDL.startTime=Date.now();SDL.initFlags=initFlags;if(!Module["doNotCaptureKeyboard"]){var keyboardListeningElement=Module["keyboardListeningElement"]||document;keyboardListeningElement.addEventListener("keydown",SDL.receiveEvent);keyboardListeningElement.addEventListener("keyup",SDL.receiveEvent);keyboardListeningElement.addEventListener("keypress",SDL.receiveEvent);window.addEventListener("focus",SDL.receiveEvent);window.addEventListener("blur",SDL.receiveEvent);document.addEventListener("visibilitychange",SDL.receiveEvent)}window.addEventListener("unload",SDL.receiveEvent);SDL.keyboardState=_calloc(65536,1);SDL.DOMEventToSDLEvent["keydown"]=768;SDL.DOMEventToSDLEvent["keyup"]=769;SDL.DOMEventToSDLEvent["keypress"]=771;SDL.DOMEventToSDLEvent["mousedown"]=1025;SDL.DOMEventToSDLEvent["mouseup"]=1026;SDL.DOMEventToSDLEvent["mousemove"]=1024;SDL.DOMEventToSDLEvent["wheel"]=1027;SDL.DOMEventToSDLEvent["touchstart"]=1792;SDL.DOMEventToSDLEvent["touchend"]=1793;SDL.DOMEventToSDLEvent["touchmove"]=1794;SDL.DOMEventToSDLEvent["unload"]=256;SDL.DOMEventToSDLEvent["resize"]=28673;SDL.DOMEventToSDLEvent["visibilitychange"]=512;SDL.DOMEventToSDLEvent["focus"]=512;SDL.DOMEventToSDLEvent["blur"]=512;SDL.DOMEventToSDLEvent["joystick_axis_motion"]=1536;SDL.DOMEventToSDLEvent["joystick_button_down"]=1539;SDL.DOMEventToSDLEvent["joystick_button_up"]=1540;return 0};_SDL_Init.sig="ii";var _SDL_WasInit=flags=>{if(SDL.startTime===null){_SDL_Init(0)}return 1};_SDL_WasInit.sig="ii";var _SDL_GetVideoInfo=()=>{var ret=_calloc(20,1);var canvas=Browser.getCanvas();HEAP32[ret+12>>2]=canvas.width;HEAP32[ret+16>>2]=canvas.height;return ret};_SDL_GetVideoInfo.sig="p";var _SDL_ListModes=(format,flags)=>-1;_SDL_ListModes.sig="ppi";var _SDL_VideoModeOK=(width,height,depth,flags)=>depth;_SDL_VideoModeOK.sig="iiiii";var _SDL_VideoDriverName=(buf,max_size)=>{if(SDL.startTime===null){return 0}var driverName=[101,109,115,99,114,105,112,116,101,110,95,115,100,108,95,100,114,105,118,101,114];var index=0;var size=driverName.length;if(max_size<=size){size=max_size-1}while(index{var canvas=Browser.getCanvas();["touchstart","touchend","touchmove","mousedown","mouseup","mousemove","mousewheel","wheel","mouseout","DOMMouseScroll"].forEach(e=>canvas.addEventListener(e,SDL.receiveEvent,true));if(width==0&&height==0){width=canvas.width;height=canvas.height}if(!SDL.addedResizeListener){SDL.addedResizeListener=true;Browser.resizeListeners.push((w,h)=>{if(!SDL.settingVideoMode){SDL.receiveEvent({type:"resize",w,h})}})}SDL.settingVideoMode=true;Browser.setCanvasSize(width,height);SDL.settingVideoMode=false;if(SDL.screen){SDL.freeSurface(SDL.screen);assert(!SDL.screen)}if(SDL.GL)flags=flags|67108864;SDL.screen=SDL.makeSurface(width,height,flags,true,"screen");return SDL.screen};_SDL_SetVideoMode.sig="piiii";var _SDL_GetVideoSurface=()=>SDL.screen;_SDL_GetVideoSurface.sig="p";var _SDL_AudioQuit=()=>{for(var i=0;iout("SDL_VideoQuit called (and ignored)");_SDL_VideoQuit.sig="v";var _SDL_QuitSubSystem=flags=>out("SDL_QuitSubSystem called (and ignored)");_SDL_QuitSubSystem.sig="vi";var _SDL_Quit=()=>{_SDL_AudioQuit();out("SDL_Quit called (and ignored)")};_SDL_Quit.sig="v";var _SDL_UnlockSurface=surf=>{assert(!SDL.GL);var surfData=SDL.surfaces[surf];if(!surfData.locked||--surfData.locked>0){return}if(surfData.isFlagSet(2097152)){SDL.copyIndexedColorData(surfData)}else if(!surfData.colors){var data=surfData.image.data;var buffer=surfData.buffer;assert(buffer%4==0,"Invalid buffer offset: "+buffer);var src=buffer>>2;var dst=0;var isScreen=surf==SDL.screen;var num;if(typeof CanvasPixelArray!="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=isScreen?255:val>>24&255;src++;dst+=4}}else{var data32=new Uint32Array(data.buffer);if(isScreen&&SDL.defaults.opaqueFrontBuffer){num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=new Uint8Array(data.buffer);var i=3;var j=i+4*num;if(num%8==0){while(i{};_SDL_Flip.sig="ip";var _SDL_UpdateRect=(surf,x,y,w,h)=>{};_SDL_UpdateRect.sig="vpiiii";var _SDL_UpdateRects=(surf,numrects,rects)=>{};_SDL_UpdateRects.sig="vpip";var _SDL_Delay=delay=>{if(!ENVIRONMENT_IS_WORKER)abort("SDL_Delay called on the main thread! Potential infinite loop, quitting. (consider building with async support like ASYNCIFY)");var now=Date.now();while(Date.now()-now{if(title){_emscripten_set_window_title(title)}icon&&=UTF8ToString(icon)};_SDL_WM_SetCaption.sig="vpp";var _SDL_EnableKeyRepeat=(delay,interval)=>{};_SDL_EnableKeyRepeat.sig="iii";var _SDL_GetKeyboardState=numKeys=>{if(numKeys){HEAP32[numKeys>>2]=65536}return SDL.keyboardState};_SDL_GetKeyboardState.sig="pp";var _SDL_GetKeyState=()=>_SDL_GetKeyboardState(0);var _SDL_GetKeyName=key=>{var name="";if(key>=97&&key<=122||key>=48&&key<=57){name=String.fromCharCode(key)}var size=lengthBytesUTF8(name)+1;SDL.keyName=_realloc(SDL.keyName,size);stringToUTF8(name,SDL.keyName,size);return SDL.keyName};_SDL_GetKeyName.sig="pi";var _SDL_GetModState=()=>SDL.modState;_SDL_GetModState.sig="i";var _SDL_GetMouseState=(x,y)=>{if(x)HEAP32[x>>2]=Browser.mouseX;if(y)HEAP32[y>>2]=Browser.mouseY;return SDL.buttonState};_SDL_GetMouseState.sig="ipp";var _SDL_WarpMouse=(x,y)=>{};_SDL_WarpMouse.sig="vii";var _SDL_ShowCursor=toggle=>{switch(toggle){case 0:if(Browser.isFullscreen){Browser.getCanvas().requestPointerLock();return 0}return 1;case 1:Browser.getCanvas().exitPointerLock();return 1;case-1:return!Browser.pointerLock;default:err(`SDL_ShowCursor called with unknown toggle parameter value: ${toggle}`);break}};_SDL_ShowCursor.sig="ii";var _SDL_GetError=()=>{SDL.errorMessage||=stringToNewUTF8("unknown SDL-emscripten error");return SDL.errorMessage};_SDL_GetError.sig="p";var _SDL_SetError=(fmt,varargs)=>{};_SDL_SetError.sig="vpp";var _SDL_CreateRGBSurface=(flags,width,height,depth,rmask,gmask,bmask,amask)=>SDL.makeSurface(width,height,flags,false,"CreateRGBSurface",rmask,gmask,bmask,amask);_SDL_CreateRGBSurface.sig="piiiiiiii";var _SDL_CreateRGBSurfaceFrom=(pixels,width,height,depth,pitch,rmask,gmask,bmask,amask)=>{var surf=SDL.makeSurface(width,height,0,false,"CreateRGBSurfaceFrom",rmask,gmask,bmask,amask);if(depth!==32){err("TODO: Partially unimplemented SDL_CreateRGBSurfaceFrom called!");return surf}var data=SDL.surfaces[surf];var image=data.ctx.createImageData(width,height);var pitchOfDst=width*4;for(var row=0;row{if(format){SDL.checkPixelFormat(format)}var oldData=SDL.surfaces[surf];var ret=SDL.makeSurface(oldData.width,oldData.height,oldData.flags,false,"copy:"+oldData.source);var newData=SDL.surfaces[ret];newData.ctx.globalCompositeOperation="copy";newData.ctx.drawImage(oldData.canvas,0,0);newData.ctx.globalCompositeOperation=oldData.ctx.globalCompositeOperation;return ret};_SDL_ConvertSurface.sig="pppi";var _SDL_DisplayFormat=surf=>_SDL_ConvertSurface(surf,0,0);_SDL_DisplayFormat.sig="pp";var _SDL_DisplayFormatAlpha=surf=>_SDL_ConvertSurface(surf,0,0);_SDL_DisplayFormatAlpha.sig="pp";var _SDL_FreeSurface=surf=>{if(surf)SDL.freeSurface(surf)};_SDL_FreeSurface.sig="vp";var _SDL_UpperBlit=(src,srcrect,dst,dstrect)=>SDL.blitSurface(src,srcrect,dst,dstrect,false);_SDL_UpperBlit.sig="ipppp";var _SDL_UpperBlitScaled=(src,srcrect,dst,dstrect)=>SDL.blitSurface(src,srcrect,dst,dstrect,true);_SDL_UpperBlitScaled.sig="ipppp";var _SDL_LowerBlit=_SDL_UpperBlit;_SDL_LowerBlit.sig="ipppp";var _SDL_LowerBlitScaled=_SDL_UpperBlitScaled;_SDL_LowerBlitScaled.sig="ipppp";var _SDL_GetClipRect=(surf,rect)=>{assert(rect);var surfData=SDL.surfaces[surf];var r=surfData.clipRect||{x:0,y:0,w:surfData.width,h:surfData.height};SDL.updateRect(rect,r)};_SDL_GetClipRect.sig="vpp";var _SDL_SetClipRect=(surf,rect)=>{var surfData=SDL.surfaces[surf];if(rect){surfData.clipRect=SDL.intersectionOfRects({x:0,y:0,w:surfData.width,h:surfData.height},SDL.loadRect(rect))}else{delete surfData.clipRect}};_SDL_SetClipRect.sig="ipp";var _SDL_FillRect=(surf,rect,color)=>{var surfData=SDL.surfaces[surf];assert(!surfData.locked);if(surfData.isFlagSet(2097152)){color=surfData.colors32[color]}var r=rect?SDL.loadRect(rect):{x:0,y:0,w:surfData.width,h:surfData.height};if(surfData.clipRect){r=SDL.intersectionOfRects(surfData.clipRect,r);if(rect){SDL.updateRect(rect,r)}}surfData.ctx.save();surfData.ctx.fillStyle=SDL.translateColorToCSSRGBA(color);surfData.ctx.fillRect(r.x,r.y,r.w,r.h);surfData.ctx.restore();return 0};_SDL_FillRect.sig="ippi";var _zoomSurface=(src,x,y,smooth)=>{var srcData=SDL.surfaces[src];var w=srcData.width*x;var h=srcData.height*y;var ret=SDL.makeSurface(Math.abs(w),Math.abs(h),srcData.flags,false,"zoomSurface");var dstData=SDL.surfaces[ret];if(x>=0&&y>=0){dstData.ctx.drawImage(srcData.canvas,0,0,w,h)}else{dstData.ctx.save();dstData.ctx.scale(x<0?-1:1,y<0?-1:1);dstData.ctx.drawImage(srcData.canvas,w<0?w:0,h<0?h:0,Math.abs(w),Math.abs(h));dstData.ctx.restore()}return ret};_zoomSurface.sig="ppddi";var _rotozoomSurface=(src,angle,zoom,smooth)=>{if(angle%360===0){return _zoomSurface(src,zoom,zoom,smooth)}var srcData=SDL.surfaces[src];var w=srcData.width*zoom;var h=srcData.height*zoom;var diagonal=Math.ceil(Math.sqrt(Math.pow(w,2)+Math.pow(h,2)));var ret=SDL.makeSurface(diagonal,diagonal,srcData.flags,false,"rotozoomSurface");var dstData=SDL.surfaces[ret];dstData.ctx.translate(diagonal/2,diagonal/2);dstData.ctx.rotate(-angle*Math.PI/180);dstData.ctx.drawImage(srcData.canvas,-w/2,-h/2,w,h);return ret};_rotozoomSurface.sig="ppddi";var _SDL_SetAlpha=(surf,flag,alpha)=>{var surfData=SDL.surfaces[surf];surfData.alpha=alpha;if(!(flag&65536)){surfData.alpha=255}};_SDL_SetAlpha.sig="ipii";var _SDL_SetColorKey=(surf,flag,key)=>{warnOnce("SDL_SetColorKey is a no-op for performance reasons");return 0};_SDL_SetColorKey.sig="ipii";var _SDL_PollEvent=ptr=>SDL.pollEvent(ptr);_SDL_PollEvent.sig="ip";var _SDL_PushEvent=ptr=>{var copy=_malloc(28);_memcpy(copy,ptr,28);SDL.events.push(copy);return 0};_SDL_PushEvent.sig="ip";var _SDL_PeepEvents=(events,requestedEventCount,action,from,to)=>{switch(action){case 2:{assert(requestedEventCount==1);var index=0;var retrievedEventCount=0;while(indexSDL.events.forEach(SDL.handleEvent);_SDL_PumpEvents.sig="v";var _emscripten_SDL_SetEventHandler=(handler,userdata)=>{SDL.eventHandler=handler;SDL.eventHandlerContext=userdata;SDL.eventHandlerTemp||=_malloc(28)};_emscripten_SDL_SetEventHandler.sig="vpp";var _SDL_SetColors=(surf,colors,firstColor,nColors)=>{var surfData=SDL.surfaces[surf];if(!surfData.colors){var buffer=new ArrayBuffer(256*4);surfData.colors=new Uint8Array(buffer);surfData.colors32=new Uint32Array(buffer)}for(var i=0;i_SDL_SetColors(surf,colors,firstColor,nColors);_SDL_SetPalette.sig="ipipii";var _SDL_MapRGB=(fmt,r,g,b)=>{SDL.checkPixelFormat(fmt);return r&255|(g&255)<<8|(b&255)<<16|4278190080};_SDL_MapRGB.sig="ipiii";var _SDL_MapRGBA=(fmt,r,g,b,a)=>{SDL.checkPixelFormat(fmt);return r&255|(g&255)<<8|(b&255)<<16|(a&255)<<24};_SDL_MapRGBA.sig="ipiiii";var _SDL_GetRGB=(pixel,fmt,r,g,b)=>{SDL.checkPixelFormat(fmt);if(r){HEAP8[r]=pixel&255}if(g){HEAP8[g]=pixel>>8&255}if(b){HEAP8[b]=pixel>>16&255}};_SDL_GetRGB.sig="vipppp";var _SDL_GetRGBA=(pixel,fmt,r,g,b,a)=>{SDL.checkPixelFormat(fmt);if(r){HEAP8[r]=pixel&255}if(g){HEAP8[g]=pixel>>8&255}if(b){HEAP8[b]=pixel>>16&255}if(a){HEAP8[a]=pixel>>24&255}};_SDL_GetRGBA.sig="vippppp";var _SDL_GetAppState=()=>{var state=0;if(Browser.pointerLock){state|=1}if(document.hasFocus()){state|=2}state|=4;return state};_SDL_GetAppState.sig="i";var _SDL_WM_GrabInput=()=>{};_SDL_WM_GrabInput.sig="ii";var _SDL_WM_ToggleFullScreen=surf=>{if(Browser.exitFullscreen()){return 1}if(!SDL.canRequestFullscreen){return 0}SDL.isRequestingFullscreen=true;return 1};_SDL_WM_ToggleFullScreen.sig="ip";var _IMG_Init=flags=>flags;_IMG_Init.sig="ii";var _SDL_FreeRW=rwopsID=>{SDL.rwops[rwopsID]=null;while(SDL.rwops.length>0&&SDL.rwops[SDL.rwops.length-1]===null){SDL.rwops.pop()}};_SDL_FreeRW.sig="vp";var _IMG_Load_RW=(rwopsID,freeSrc)=>{var sp=stackSave();try{var cleanup=()=>{stackRestore(sp);if(rwops&&freeSrc)_SDL_FreeRW(rwopsID)};var addCleanup=func=>{var old=cleanup;cleanup=()=>{old();func()}};var callStbImage=(func,params)=>{var x=stackAlloc(4);var y=stackAlloc(4);var comp=stackAlloc(4);var data=Module["_"+func](...params,x,y,comp,0);if(!data)return null;addCleanup(()=>Module["_stbi_image_free"](data));return{rawData:true,data,width:HEAP32[x>>2],height:HEAP32[y>>2],size:HEAP32[x>>2]*HEAP32[y>>2]*HEAP32[comp>>2],bpp:HEAP32[comp>>2]}};var rwops=SDL.rwops[rwopsID];if(rwops===undefined){return 0}var raw;var filename=rwops.filename;if(filename===undefined){warnOnce("Only file names that have been preloaded are supported for IMG_Load_RW. Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins");return 0}if(!raw){filename=PATH_FS.resolve(filename);raw=Browser.preloadedImages[filename];if(!raw){if(raw===null)err("Trying to reuse preloaded image, but freePreloadedMediaOnUse is set!");warnOnce("Cannot find preloaded image "+filename);warnOnce("Cannot find preloaded image "+filename+". Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins");return 0}else if(Module["freePreloadedMediaOnUse"]){Browser.preloadedImages[filename]=null}}var surf=SDL.makeSurface(raw.width,raw.height,0,false,"load:"+filename);var surfData=SDL.surfaces[surf];surfData.ctx.globalCompositeOperation="copy";if(!raw.rawData){surfData.ctx.drawImage(raw,0,0,raw.width,raw.height,0,0,raw.width,raw.height)}else{var imageData=surfData.ctx.getImageData(0,0,surfData.width,surfData.height);if(raw.bpp==4){imageData.data.set(HEAPU8.subarray(raw.data,raw.data+raw.size))}else if(raw.bpp==3){var pixels=raw.size/3;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i{var id=SDL.rwops.length;var filename=UTF8ToString(_name);SDL.rwops.push({filename,mimetype:Browser.getMimetype(filename)});return id};_SDL_RWFromFile.sig="ppp";var _IMG_Load=filename=>{var rwops=_SDL_RWFromFile(filename,0);var result=_IMG_Load_RW(rwops,1);return result};_IMG_Load.sig="pp";var _IMG_Quit=()=>out("IMG_Quit called (and ignored)");_IMG_Quit.sig="v";var _SDL_OpenAudio=(desired,obtained)=>{try{SDL.audio={freq:HEAPU32[desired>>2],format:HEAPU16[desired+4>>1],channels:HEAPU8[desired+6],samples:HEAPU16[desired+8>>1],callback:HEAPU32[desired+16>>2],userdata:HEAPU32[desired+20>>2],paused:true,timer:null};if(SDL.audio.format==8){SDL.audio.silence=128}else if(SDL.audio.format==32784){SDL.audio.silence=0}else if(SDL.audio.format==33056){SDL.audio.silence=0}else{throw"Invalid SDL audio format "+SDL.audio.format+"!"}if(SDL.audio.freq<=0){throw"Unsupported sound frequency "+SDL.audio.freq+"!"}else if(SDL.audio.freq<=22050){SDL.audio.freq=22050}else if(SDL.audio.freq<=32e3){SDL.audio.freq=32e3}else if(SDL.audio.freq<=44100){SDL.audio.freq=44100}else if(SDL.audio.freq<=48e3){SDL.audio.freq=48e3}else if(SDL.audio.freq<=96e3){SDL.audio.freq=96e3}else{throw`Unsupported sound frequency ${SDL.audio.freq}!`}if(SDL.audio.channels==0){SDL.audio.channels=1}else if(SDL.audio.channels<0||SDL.audio.channels>32){throw`Unsupported number of audio channels for SDL audio: ${SDL.audio.channels}!`}else if(SDL.audio.channels!=1&&SDL.audio.channels!=2){out(`Warning: Using untested number of audio channels ${SDL.audio.channels}`)}if(SDL.audio.samples<128||SDL.audio.samples>524288){throw`Unsupported audio callback buffer size ${SDL.audio.samples}!`}else if((SDL.audio.samples&SDL.audio.samples-1)!=0){throw`Audio callback buffer size ${SDL.audio.samples} must be a power-of-two!`}var totalSamples=SDL.audio.samples*SDL.audio.channels;if(SDL.audio.format==8){SDL.audio.bytesPerSample=1}else if(SDL.audio.format==32784){SDL.audio.bytesPerSample=2}else if(SDL.audio.format==33056){SDL.audio.bytesPerSample=4}else{throw`Invalid SDL audio format ${SDL.audio.format}!`}SDL.audio.bufferSize=totalSamples*SDL.audio.bytesPerSample;SDL.audio.bufferDurationSecs=SDL.audio.bufferSize/SDL.audio.bytesPerSample/SDL.audio.channels/SDL.audio.freq;SDL.audio.bufferingDelay=50/1e3;SDL.audio.buffer=_malloc(SDL.audio.bufferSize);SDL.audio.numSimultaneouslyQueuedBuffers=Module["SDL_numSimultaneouslyQueuedBuffers"]||5;SDL.audio.queueNewAudioData=()=>{if(!SDL.audio)return;for(var i=0;i=SDL.audio.bufferingDelay+SDL.audio.bufferDurationSecs*SDL.audio.numSimultaneouslyQueuedBuffers)return;getWasmTableEntry(SDL.audio.callback)(SDL.audio.userdata,SDL.audio.buffer,SDL.audio.bufferSize);SDL.audio.pushAudio(SDL.audio.buffer,SDL.audio.bufferSize)}};SDL.audio.caller=()=>{if(!SDL.audio)return;--SDL.audio.numAudioTimersPending;SDL.audio.queueNewAudioData();var secsUntilNextPlayStart=SDL.audio.nextPlayTime-SDL.audioContext["currentTime"];var preemptBufferFeedSecs=SDL.audio.bufferDurationSecs/2;if(SDL.audio.numAudioTimersPending{try{if(SDL.audio.paused)return;var sizeSamples=sizeBytes/SDL.audio.bytesPerSample;var sizeSamplesPerChannel=sizeSamples/SDL.audio.channels;if(sizeSamplesPerChannel!=SDL.audio.samples){throw"Received mismatching audio buffer size!"}var source=SDL.audioContext["createBufferSource"]();var soundBuffer=SDL.audioContext["createBuffer"](SDL.audio.channels,sizeSamplesPerChannel,SDL.audio.freq);source["connect"](SDL.audioContext["destination"]);SDL.fillWebAudioBufferFromHeap(ptr,sizeSamplesPerChannel,soundBuffer);source["buffer"]=soundBuffer;var curtime=SDL.audioContext["currentTime"];var playtime=Math.max(curtime+SDL.audio.bufferingDelay,SDL.audio.nextPlayTime);if(typeof source["start"]!="undefined"){source["start"](playtime)}else if(typeof source["noteOn"]!="undefined"){source["noteOn"](playtime)}SDL.audio.nextPlayTime=playtime+SDL.audio.bufferDurationSecs}catch(e){err(`Web Audio API error playing back audio: ${e.toString()}`)}};if(obtained){HEAP32[obtained>>2]=SDL.audio.freq;HEAP16[obtained+4>>1]=SDL.audio.format;HEAP8[obtained+6]=SDL.audio.channels;HEAP8[obtained+7]=SDL.audio.silence;HEAP16[obtained+8>>1]=SDL.audio.samples;HEAPU32[obtained+16>>2]=SDL.audio.callback;HEAPU32[obtained+20>>2]=SDL.audio.userdata}SDL.allocateChannels(32)}catch(e){err(`Initializing SDL audio threw an exception: "${e.toString()}"! Continuing without audio`);SDL.audio=null;SDL.allocateChannels(0);if(obtained){HEAP32[obtained>>2]=0;HEAP16[obtained+4>>1]=0;HEAP8[obtained+6]=0;HEAP8[obtained+7]=0;HEAP16[obtained+8>>1]=0;HEAPU32[obtained+16>>2]=0;HEAPU32[obtained+20>>2]=0}}if(!SDL.audio){return-1}return 0};_SDL_OpenAudio.sig="ipp";var _SDL_PauseAudio=pauseOn=>{if(!SDL.audio){return}if(pauseOn){if(SDL.audio.timer!==undefined){clearTimeout(SDL.audio.timer);SDL.audio.numAudioTimersPending=0;SDL.audio.timer=undefined}}else if(!SDL.audio.timer){SDL.audio.numAudioTimersPending=1;SDL.audio.timer=safeSetTimeout(SDL.audio.caller,1)}SDL.audio.paused=pauseOn};_SDL_PauseAudio.sig="vi";var _SDL_CloseAudio=()=>{if(SDL.audio){if(SDL.audio.callbackRemover){SDL.audio.callbackRemover();SDL.audio.callbackRemover=null}_SDL_PauseAudio(1);_free(SDL.audio.buffer);SDL.audio=null;SDL.allocateChannels(0)}};_SDL_CloseAudio.sig="v";var _SDL_LockAudio=()=>{};_SDL_LockAudio.sig="v";var _SDL_UnlockAudio=()=>{};_SDL_UnlockAudio.sig="v";var _SDL_CreateMutex=()=>0;_SDL_CreateMutex.sig="p";var _SDL_mutexP=mutex=>0;_SDL_mutexP.sig="ip";var _SDL_mutexV=mutex=>0;_SDL_mutexV.sig="ip";var _SDL_DestroyMutex=mutex=>{};_SDL_DestroyMutex.sig="vp";var _SDL_CreateCond=()=>0;_SDL_CreateCond.sig="p";var _SDL_CondSignal=cond=>{};_SDL_CondSignal.sig="ip";var _SDL_CondWait=(cond,mutex)=>{};_SDL_CondWait.sig="ipp";var _SDL_DestroyCond=cond=>{};_SDL_DestroyCond.sig="vp";var _SDL_StartTextInput=()=>{SDL.textInput=true};_SDL_StartTextInput.sig="v";var _SDL_StopTextInput=()=>{SDL.textInput=false};_SDL_StopTextInput.sig="v";var _Mix_Init=flags=>{if(!flags)return 0;return 8};_Mix_Init.sig="ii";var _Mix_Quit=()=>{};_Mix_Quit.sig="v";var _Mix_OpenAudio=(frequency,format,channels,chunksize)=>{SDL.openAudioContext();autoResumeAudioContext(SDL.audioContext);SDL.allocateChannels(32);SDL.mixerFrequency=frequency;SDL.mixerFormat=format;SDL.mixerNumChannels=channels;SDL.mixerChunkSize=chunksize;return 0};_Mix_OpenAudio.sig="iiiii";var _Mix_CloseAudio=_SDL_CloseAudio;_Mix_CloseAudio.sig="v";var _Mix_AllocateChannels=num=>{SDL.allocateChannels(num);return num};_Mix_AllocateChannels.sig="ii";var _Mix_ChannelFinished=func=>{SDL.channelFinished=func};_Mix_ChannelFinished.sig="vp";var _Mix_Volume=(channel,volume)=>{if(channel==-1){for(var i=0;i{left/=255;right/=255;SDL.setPannerPosition(SDL.channels[channel],right-left,0,.1);return 1};_Mix_SetPanning.sig="iiii";var _Mix_LoadWAV_RW=(rwopsID,freesrc)=>{var rwops=SDL.rwops[rwopsID];if(rwops===undefined)return 0;var filename="";var audio;var webAudio;var bytes;if(rwops.filename!==undefined){filename=PATH_FS.resolve(rwops.filename);var raw=Browser.preloadedAudios[filename];if(!raw){if(raw===null)err("Trying to reuse preloaded audio, but freePreloadedMediaOnUse is set!");if(!Module["noAudioDecoding"])warnOnce("Cannot find preloaded audio "+filename);try{bytes=FS.readFile(filename)}catch(e){err(`Couldn't find file for: ${filename}`);return 0}}if(Module["freePreloadedMediaOnUse"]){Browser.preloadedAudios[filename]=null}audio=raw}else if(rwops.bytes!==undefined){if(SDL.webAudioAvailable()){bytes=HEAPU8.buffer.slice(rwops.bytes,rwops.bytes+rwops.count)}else{bytes=HEAPU8.subarray(rwops.bytes,rwops.bytes+rwops.count)}}else{return 0}var arrayBuffer=bytes?bytes.buffer||bytes:bytes;var canPlayWithWebAudio=Module["SDL_canPlayWithWebAudio"]===undefined||Module["SDL_canPlayWithWebAudio"](filename,arrayBuffer);if(bytes!==undefined&&SDL.webAudioAvailable()&&canPlayWithWebAudio){audio=undefined;webAudio={onDecodeComplete:[]};SDL.audioContext["decodeAudioData"](arrayBuffer,data=>{webAudio.decodedBuffer=data;webAudio.onDecodeComplete.forEach(e=>e());delete webAudio.onDecodeComplete})}else if(audio===undefined&&bytes){var blob=new Blob([bytes],{type:rwops.mimetype});var url=URL.createObjectURL(blob);audio=new Audio;audio.src=url;audio.mozAudioChannelType="content"}var id=SDL.audios.length;SDL.audios.push({source:filename,audio,webAudio});return id};_Mix_LoadWAV_RW.sig="ppi";var _Mix_LoadWAV=filename=>{var rwops=_SDL_RWFromFile(filename,0);var result=_Mix_LoadWAV_RW(rwops,0);_SDL_FreeRW(rwops);return result};_Mix_LoadWAV.sig="pp";var _Mix_QuickLoad_RAW=(mem,len)=>{var audio;var webAudio;var numSamples=len>>1;var buffer=new Float32Array(numSamples);for(var i=0;i>1]/32768}if(SDL.webAudioAvailable()){webAudio={decodedBuffer:buffer}}else{audio=new Audio;audio.mozAudioChannelType="content";audio.numChannels=SDL.mixerNumChannels;audio.frequency=SDL.mixerFrequency}var id=SDL.audios.length;SDL.audios.push({source:"",audio,webAudio,buffer});return id};_Mix_QuickLoad_RAW.sig="ppi";var _Mix_FreeChunk=id=>{SDL.audios[id]=null};_Mix_FreeChunk.sig="vp";var _Mix_ReserveChannels=num=>{SDL.channelMinimumNumber=num};_Mix_ReserveChannels.sig="ii";var _Mix_HaltChannel=channel=>{function halt(channel){var info=SDL.channels[channel];if(info.audio){info.audio.pause();info.audio=null}if(SDL.channelFinished){getWasmTableEntry(SDL.channelFinished)(channel)}}if(channel!=-1){halt(channel)}else{for(var i=0;i{assert(ticks==-1);var info=SDL.audios[id];if(!info)return-1;if(!info.audio&&!info.webAudio)return-1;if(channel==-1){for(var i=SDL.channelMinimumNumber;i0;_Mix_FadingChannel.sig="ii";var _Mix_HaltMusic=()=>{var audio=SDL.music.audio;if(audio){audio.src=audio.src;audio.currentPosition=0;audio.pause()}SDL.music.audio=null;if(SDL.hookMusicFinished){getWasmTableEntry(SDL.hookMusicFinished)()}return 0};_Mix_HaltMusic.sig="i";var _Mix_HookMusicFinished=func=>{SDL.hookMusicFinished=func;if(SDL.music.audio){SDL.music.audio["onended"]=_Mix_HaltMusic}};_Mix_HookMusicFinished.sig="vp";var _Mix_VolumeMusic=volume=>SDL.setGetVolume(SDL.music,volume);_Mix_VolumeMusic.sig="ii";var _Mix_LoadMUS_RW=filename=>_Mix_LoadWAV_RW(filename,0);_Mix_LoadMUS_RW.sig="pp";var _Mix_LoadMUS=filename=>{var rwops=_SDL_RWFromFile(filename,0);var result=_Mix_LoadMUS_RW(rwops);_SDL_FreeRW(rwops);return result};_Mix_LoadMUS.sig="pp";var _Mix_FreeMusic=_Mix_FreeChunk;_Mix_FreeMusic.sig="vp";var _Mix_PlayMusic=(id,loops)=>{if(SDL.music.audio){if(!SDL.music.audio.paused)err(`Music is already playing. ${SDL.music.source}`);SDL.music.audio.pause()}var info=SDL.audios[id];var audio;if(info.webAudio){audio={resource:info,paused:false,currentPosition:0,play(){SDL.playWebAudio(this)},pause(){SDL.pauseWebAudio(this)}}}else if(info.audio){audio=info.audio}audio["onended"]=function(){if(SDL.music.audio===this||SDL.music.audio?.webAudioNode===this){_Mix_HaltMusic()}};audio.loop=loops!=0&&loops!=1;audio.volume=SDL.music.volume;SDL.music.audio=audio;audio.play();return 0};_Mix_PlayMusic.sig="ipi";var _Mix_PauseMusic=()=>{var audio=SDL.music.audio;audio?.pause()};_Mix_PauseMusic.sig="v";var _Mix_ResumeMusic=()=>{var audio=SDL.music.audio;audio?.play()};_Mix_ResumeMusic.sig="v";var _Mix_FadeInMusicPos=_Mix_PlayMusic;_Mix_FadeInMusicPos.sig="ipiid";var _Mix_FadeOutMusic=_Mix_HaltMusic;_Mix_FadeOutMusic.sig="ii";var _Mix_PlayingMusic=()=>SDL.music.audio&&!SDL.music.audio.paused;_Mix_PlayingMusic.sig="i";var _Mix_Playing=channel=>{if(channel===-1){var count=0;for(var i=0;i{if(channel===-1){for(var i=0;i{if(channel===-1){var pausedCount=0;for(var i=0;iSDL.music.audio?.paused?1:0;_Mix_PausedMusic.sig="i";var _Mix_Resume=channel=>{if(channel===-1){for(var i=0;i{try{var offscreenCanvas=new OffscreenCanvas(0,0);SDL.ttfContext=offscreenCanvas.getContext("2d");if(typeof SDL.ttfContext.measureText!="function"){throw"bad context"}}catch(ex){var canvas=document.createElement("canvas");SDL.ttfContext=canvas.getContext("2d")}return 0};_TTF_Init.sig="i";var _TTF_OpenFont=(name,size)=>{name=PATH.normalize(UTF8ToString(name));var id=SDL.fonts.length;SDL.fonts.push({name,size});return id};_TTF_OpenFont.sig="ppi";var _TTF_CloseFont=font=>{SDL.fonts[font]=null};_TTF_CloseFont.sig="vp";var _TTF_RenderText_Solid=(font,text,color)=>{text=UTF8ToString(text)||" ";var fontData=SDL.fonts[font];var w=SDL.estimateTextWidth(fontData,text);var h=fontData.size;color=SDL.loadColorToCSSRGB(color);var fontString=SDL.makeFontString(h,fontData.name);var surf=SDL.makeSurface(w,h,0,false,"text:"+text);var surfData=SDL.surfaces[surf];surfData.ctx.save();surfData.ctx.fillStyle=color;surfData.ctx.font=fontString;surfData.ctx.textBaseline="bottom";surfData.ctx.fillText(text,0,h|0);surfData.ctx.restore();return surf};_TTF_RenderText_Solid.sig="pppp";var _TTF_RenderText_Blended=_TTF_RenderText_Solid;_TTF_RenderText_Blended.sig="pppp";var _TTF_RenderText_Shaded=_TTF_RenderText_Solid;_TTF_RenderText_Shaded.sig="ppppp";var _TTF_RenderUTF8_Solid=_TTF_RenderText_Solid;_TTF_RenderUTF8_Solid.sig="pppp";var _TTF_SizeText=(font,text,w,h)=>{var fontData=SDL.fonts[font];if(w){HEAP32[w>>2]=SDL.estimateTextWidth(fontData,UTF8ToString(text))}if(h){HEAP32[h>>2]=fontData.size}return 0};_TTF_SizeText.sig="ipppp";var _TTF_SizeUTF8=_TTF_SizeText;_TTF_SizeUTF8.sig="ipppp";var _TTF_GlyphMetrics=(font,ch,minx,maxx,miny,maxy,advance)=>{var fontData=SDL.fonts[font];var width=SDL.estimateTextWidth(fontData,String.fromCharCode(ch));if(advance){HEAP32[advance>>2]=width}if(minx){HEAP32[minx>>2]=0}if(maxx){HEAP32[maxx>>2]=width}if(miny){HEAP32[miny>>2]=0}if(maxy){HEAP32[maxy>>2]=fontData.size}};_TTF_GlyphMetrics.sig="ipippppp";var _TTF_FontAscent=font=>{var fontData=SDL.fonts[font];return fontData.size*.98|0};_TTF_FontAscent.sig="ip";var _TTF_FontDescent=font=>{var fontData=SDL.fonts[font];return fontData.size*.02|0};_TTF_FontDescent.sig="ip";var _TTF_FontHeight=font=>{var fontData=SDL.fonts[font];return fontData.size};_TTF_FontHeight.sig="ip";var _TTF_FontLineSkip=_TTF_FontHeight;_TTF_FontLineSkip.sig="ip";var _TTF_Quit=()=>out("TTF_Quit called (and ignored)");_TTF_Quit.sig="v";var SDL_gfx={drawRectangle:(surf,x1,y1,x2,y2,action,cssColor)=>{x1=x1<<16>>16;y1=y1<<16>>16;x2=x2<<16>>16;y2=y2<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);var x=x1{x1=x1<<16>>16;y1=y1<<16>>16;x2=x2<<16>>16;y2=y2<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);surfData.ctx.save();surfData.ctx.strokeStyle=cssColor;surfData.ctx.beginPath();surfData.ctx.moveTo(x1,y1);surfData.ctx.lineTo(x2,y2);surfData.ctx.stroke();surfData.ctx.restore()},drawEllipse:(surf,x,y,rx,ry,action,cssColor)=>{x=x<<16>>16;y=y<<16>>16;rx=rx<<16>>16;ry=ry<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);surfData.ctx.save();surfData.ctx.beginPath();surfData.ctx.translate(x,y);surfData.ctx.scale(rx,ry);surfData.ctx.arc(0,0,1,0,2*Math.PI);surfData.ctx.restore();surfData.ctx.save();surfData.ctx[action+"Style"]=cssColor;surfData.ctx[action]();surfData.ctx.restore()},translateColorToCSSRGBA:rgba=>`rgba(${rgba>>>24},${rgba>>16&255},${rgba>>8&255},${rgba&255})`};var _boxColor=(surf,x1,y1,x2,y2,color)=>SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"fill",SDL_gfx.translateColorToCSSRGBA(color));_boxColor.sig="ipiiiii";var _boxRGBA=(surf,x1,y1,x2,y2,r,g,b,a)=>SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"fill",SDL.translateRGBAToCSSRGBA(r,g,b,a));_boxRGBA.sig="ipiiiiiiii";var _rectangleColor=(surf,x1,y1,x2,y2,color)=>SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"stroke",SDL_gfx.translateColorToCSSRGBA(color));_rectangleColor.sig="ipiiiii";var _rectangleRGBA=(surf,x1,y1,x2,y2,r,g,b,a)=>SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"stroke",SDL.translateRGBAToCSSRGBA(r,g,b,a));_rectangleRGBA.sig="ipiiiiiiii";var _ellipseColor=(surf,x,y,rx,ry,color)=>SDL_gfx.drawEllipse(surf,x,y,rx,ry,"stroke",SDL_gfx.translateColorToCSSRGBA(color));_ellipseColor.sig="ipiiiii";var _ellipseRGBA=(surf,x,y,rx,ry,r,g,b,a)=>SDL_gfx.drawEllipse(surf,x,y,rx,ry,"stroke",SDL.translateRGBAToCSSRGBA(r,g,b,a));_ellipseRGBA.sig="ipiiiiiiii";var _filledEllipseColor=(surf,x,y,rx,ry,color)=>SDL_gfx.drawEllipse(surf,x,y,rx,ry,"fill",SDL_gfx.translateColorToCSSRGBA(color));_filledEllipseColor.sig="ipiiiii";var _filledEllipseRGBA=(surf,x,y,rx,ry,r,g,b,a)=>SDL_gfx.drawEllipse(surf,x,y,rx,ry,"fill",SDL.translateRGBAToCSSRGBA(r,g,b,a));_filledEllipseRGBA.sig="ipiiiiiiii";var _lineColor=(surf,x1,y1,x2,y2,color)=>SDL_gfx.drawLine(surf,x1,y1,x2,y2,SDL_gfx.translateColorToCSSRGBA(color));_lineColor.sig="ipiiiii";var _lineRGBA=(surf,x1,y1,x2,y2,r,g,b,a)=>SDL_gfx.drawLine(surf,x1,y1,x2,y2,SDL.translateRGBAToCSSRGBA(r,g,b,a));_lineRGBA.sig="ipiiiiiiii";var _pixelRGBA=(surf,x1,y1,r,g,b,a)=>_boxRGBA(surf,x1,y1,x1,y1,r,g,b,a);_pixelRGBA.sig="ipiiiiii";var _SDL_GL_SetAttribute=(attr,value)=>{if(!(attr in SDL.glAttributes)){abort("Unknown SDL GL attribute ("+attr+"). Please check if your SDL version is supported.")}SDL.glAttributes[attr]=value};_SDL_GL_SetAttribute.sig="iii";var _SDL_GL_GetAttribute=(attr,value)=>{if(!(attr in SDL.glAttributes)){abort("Unknown SDL GL attribute ("+attr+"). Please check if your SDL version is supported.")}if(value)HEAP32[value>>2]=SDL.glAttributes[attr];return 0};_SDL_GL_GetAttribute.sig="iip";var _SDL_GL_SwapBuffers=()=>Browser.doSwapBuffers?.();_SDL_GL_SwapBuffers.sig="v";var _SDL_GL_ExtensionSupported=extension=>GLctx?.getExtension(UTF8ToString(extension))?1:0;_SDL_GL_ExtensionSupported.sig="ip";var _SDL_DestroyWindow=window=>{};_SDL_DestroyWindow.sig="vp";var _SDL_DestroyRenderer=renderer=>{};_SDL_DestroyRenderer.sig="vp";var _SDL_GetWindowFlags=window=>{if(Browser.isFullscreen){return 1}return 0};_SDL_GetWindowFlags.sig="ip";var _SDL_GL_SwapWindow=window=>{};_SDL_GL_SwapWindow.sig="vp";var _SDL_GL_MakeCurrent=(window,context)=>{};_SDL_GL_MakeCurrent.sig="ipp";var _SDL_GL_DeleteContext=context=>{};_SDL_GL_DeleteContext.sig="vp";var _SDL_GL_GetSwapInterval=()=>{if(MainLoop.timingMode==1){return MainLoop.timingValue}else{return 0}};_SDL_GL_GetSwapInterval.sig="i";var _SDL_GL_SetSwapInterval=state=>_emscripten_set_main_loop_timing(1,state);_SDL_GL_SetSwapInterval.sig="ii";var _SDL_SetWindowTitle=(window,title)=>{if(title)document.title=UTF8ToString(title)};_SDL_SetWindowTitle.sig="vpp";var _SDL_GetWindowSize=(window,width,height)=>{var canvas=Browser.getCanvas();if(width)HEAP32[width>>2]=canvas.width;if(height)HEAP32[height>>2]=canvas.height};_SDL_GetWindowSize.sig="vppp";var _SDL_LogSetOutputFunction=(callback,userdata)=>{};_SDL_LogSetOutputFunction.sig="vpp";var _SDL_SetWindowFullscreen=(window,fullscreen)=>{if(Browser.isFullscreen){Browser.getCanvas().exitFullscreen();return 1}return 0};_SDL_SetWindowFullscreen.sig="ipi";var _SDL_ClearError=()=>{};_SDL_ClearError.sig="v";var _SDL_SetGamma=(r,g,b)=>-1;_SDL_SetGamma.sig="ifff";var _SDL_SetGammaRamp=(redTable,greenTable,blueTable)=>-1;_SDL_SetGammaRamp.sig="ippp";var _SDL_NumJoysticks=()=>{var count=0;var gamepads=SDL.getGamepads();for(var gamepad of gamepads){if(gamepad!==undefined)count++}return count};_SDL_NumJoysticks.sig="i";var _SDL_JoystickName=deviceIndex=>{var gamepad=SDL.getGamepad(deviceIndex);if(gamepad){var name=gamepad.id;if(SDL.joystickNamePool.hasOwnProperty(name)){return SDL.joystickNamePool[name]}return SDL.joystickNamePool[name]=stringToNewUTF8(name)}return 0};_SDL_JoystickName.sig="pi";var _SDL_JoystickOpen=deviceIndex=>{var gamepad=SDL.getGamepad(deviceIndex);if(gamepad){var joystick=deviceIndex+1;SDL.recordJoystickState(joystick,gamepad);return joystick}return 0};_SDL_JoystickOpen.sig="pi";var _SDL_JoystickOpened=deviceIndex=>SDL.lastJoystickState.hasOwnProperty(deviceIndex+1)?1:0;_SDL_JoystickOpened.sig="ii";var _SDL_JoystickIndex=joystick=>joystick-1;_SDL_JoystickIndex.sig="ip";var _SDL_JoystickNumAxes=joystick=>{var gamepad=SDL.getGamepad(joystick-1);if(gamepad){return gamepad.axes.length}return 0};_SDL_JoystickNumAxes.sig="ip";var _SDL_JoystickNumBalls=joystick=>0;_SDL_JoystickNumBalls.sig="ip";var _SDL_JoystickNumHats=joystick=>0;_SDL_JoystickNumHats.sig="ip";var _SDL_JoystickNumButtons=joystick=>{var gamepad=SDL.getGamepad(joystick-1);if(gamepad){return gamepad.buttons.length}return 0};_SDL_JoystickNumButtons.sig="ip";var _SDL_JoystickUpdate=()=>SDL.queryJoysticks();_SDL_JoystickUpdate.sig="v";var _SDL_JoystickEventState=state=>{if(state<0){return SDL.joystickEventState}return SDL.joystickEventState=state};_SDL_JoystickEventState.sig="ii";var _SDL_JoystickGetAxis=(joystick,axis)=>{var gamepad=SDL.getGamepad(joystick-1);if(gamepad?.axes.length>axis){return SDL.joystickAxisValueConversion(gamepad.axes[axis])}return 0};_SDL_JoystickGetAxis.sig="ipi";var _SDL_JoystickGetHat=(joystick,hat)=>0;_SDL_JoystickGetHat.sig="ipi";var _SDL_JoystickGetBall=(joystick,ball,dxptr,dyptr)=>-1;_SDL_JoystickGetBall.sig="ipipp";var _SDL_JoystickGetButton=(joystick,button)=>{var gamepad=SDL.getGamepad(joystick-1);if(gamepad?.buttons.length>button){return SDL.getJoystickButtonState(gamepad.buttons[button])?1:0}return 0};_SDL_JoystickGetButton.sig="ipi";var _SDL_JoystickClose=joystick=>{delete SDL.lastJoystickState[joystick]};_SDL_JoystickClose.sig="vp";var _SDL_InitSubSystem=flags=>0;_SDL_InitSubSystem.sig="ii";var _SDL_RWFromConstMem=(mem,size)=>{var id=SDL.rwops.length;SDL.rwops.push({bytes:mem,count:size});return id};_SDL_RWFromConstMem.sig="ppi";var _SDL_RWFromMem=_SDL_RWFromConstMem;_SDL_RWFromMem.sig="ppi";var _SDL_GetNumAudioDrivers=()=>1;_SDL_GetNumAudioDrivers.sig="i";var _SDL_GetCurrentAudioDriver=()=>stringToNewUTF8("Emscripten Audio");_SDL_GetCurrentAudioDriver.sig="p";var _SDL_GetScancodeFromKey=key=>SDL.scanCodes[key];_SDL_GetScancodeFromKey.sig="ii";var _SDL_GetAudioDriver=index=>_SDL_GetCurrentAudioDriver();_SDL_GetAudioDriver.sig="pi";var _SDL_EnableUNICODE=on=>{var ret=SDL.unicode||0;SDL.unicode=on;return ret};_SDL_EnableUNICODE.sig="ii";var _SDL_AddTimer=(interval,callback,param)=>safeSetTimeout(()=>getWasmTableEntry(callback)(interval,param),interval);_SDL_AddTimer.sig="iipp";var _SDL_RemoveTimer=id=>{clearTimeout(id);return true};_SDL_RemoveTimer.sig="ii";var _SDL_CreateThread=(fs,data,pfnBeginThread,pfnEndThread)=>{throw"SDL threads cannot be supported in the web platform because they assume shared state. See emscripten_create_worker etc. for a message-passing concurrency model that does let you run code in another thread."};_SDL_CreateThread.sig="ppp";var _SDL_WaitThread=(thread,status)=>{throw"SDL_WaitThread"};_SDL_WaitThread.sig="vpp";var _SDL_GetThreadID=thread=>{throw"SDL_GetThreadID"};_SDL_GetThreadID.sig="pp";var _SDL_ThreadID=()=>0;_SDL_ThreadID.sig="p";var _SDL_AllocRW=()=>{throw"SDL_AllocRW: TODO"};_SDL_AllocRW.sig="p";var _SDL_CondBroadcast=cond=>{throw"SDL_CondBroadcast: TODO"};_SDL_CondBroadcast.sig="ip";var _SDL_CondWaitTimeout=(cond,mutex,ms)=>{throw"SDL_CondWaitTimeout: TODO"};_SDL_CondWaitTimeout.sig="ippi";var _SDL_WM_IconifyWindow=()=>{throw"SDL_WM_IconifyWindow TODO"};_SDL_WM_IconifyWindow.sig="i";var _Mix_SetPostMix=(func,arg)=>warnOnce("Mix_SetPostMix: TODO");_Mix_SetPostMix.sig="vpp";var _Mix_VolumeChunk=(chunk,volume)=>{throw"Mix_VolumeChunk: TODO"};_Mix_VolumeChunk.sig="ipi";var _Mix_SetPosition=(channel,angle,distance)=>{throw"Mix_SetPosition: TODO"};_Mix_SetPosition.sig="iiii";var _Mix_QuerySpec=(frequency,format,channels)=>{throw"Mix_QuerySpec: TODO"};_Mix_QuerySpec.sig="ippp";var _Mix_FadeInChannelTimed=(channel,chunk,loop,ms,ticks)=>{throw"Mix_FadeInChannelTimed"};_Mix_FadeInChannelTimed.sig="iipiii";var _Mix_FadeOutChannel=()=>{throw"Mix_FadeOutChannel"};_Mix_FadeOutChannel.sig="iii";var _Mix_Linked_Version=()=>{throw"Mix_Linked_Version: TODO"};_Mix_Linked_Version.sig="p";var _SDL_SaveBMP_RW=(surface,dst,freedst)=>{throw"SDL_SaveBMP_RW: TODO"};_SDL_SaveBMP_RW.sig="ippi";var _SDL_WM_SetIcon=(icon,mask)=>{};_SDL_WM_SetIcon.sig="vpp";var _SDL_HasRDTSC=()=>0;_SDL_HasRDTSC.sig="i";var _SDL_HasMMX=()=>0;_SDL_HasMMX.sig="i";var _SDL_HasMMXExt=()=>0;_SDL_HasMMXExt.sig="i";var _SDL_Has3DNow=()=>0;_SDL_Has3DNow.sig="i";var _SDL_Has3DNowExt=()=>0;_SDL_Has3DNowExt.sig="i";var _SDL_HasSSE=()=>0;_SDL_HasSSE.sig="i";var _SDL_HasSSE2=()=>0;_SDL_HasSSE2.sig="i";var _SDL_HasAltiVec=()=>0;_SDL_HasAltiVec.sig="i";var ALLOC_NORMAL=0;var ALLOC_STACK=1;var allocate=(slab,allocator)=>{var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(!slab.subarray&&!slab.slice){slab=new Uint8Array(slab)}HEAPU8.set(slab,ret);return ret};var writeStringToMemory=(string,buffer,dontAddNull)=>{warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar};var writeAsciiToMemory=(str,buffer,dontAddNull)=>{for(var i=0;i{demangle.recursionGuard=(demangle.recursionGuard|0)+1;if(demangle.recursionGuard>1)return func;return withStackSave(()=>{try{var s=func;if(s.startsWith("__Z"))s=s.slice(1);var buf=stringToUTF8OnStack(s);var status=stackAlloc(4);var ret=___cxa_demangle(buf,0,0,status);if(HEAP32[status>>2]===0&&ret){return UTF8ToString(ret)}}catch(e){}finally{_free(ret);if(demangle.recursionGuard<2)--demangle.recursionGuard}return func})};var stackTrace=()=>{var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return js};var print=out;var printErr=err;var jstoi_s=Number;var _emscripten_is_main_browser_thread=()=>!ENVIRONMENT_IS_WORKER;registerWasmPlugin();FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";Module["requestAnimationFrame"]=MainLoop.requestAnimationFrame;Module["pauseMainLoop"]=MainLoop.pause;Module["resumeMainLoop"]=MainLoop.resume;MainLoop.init();for(let i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<=288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i)}var miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<=288;++i){miniTempWebGLIntBuffers[i]=miniTempWebGLIntBuffersStorage.subarray(0,i)}adapters_support();if(typeof setImmediate!="undefined"){emSetImmediate=setImmediateWrapped;emClearImmediate=clearImmediateWrapped}else if(typeof addEventListener=="function"){var __setImmediate_id_counter=0;var __setImmediate_queue=[];var __setImmediate_message_id="_si";var __setImmediate_cb=e=>{if(e.data===__setImmediate_message_id){e.stopPropagation();__setImmediate_queue.shift()();++__setImmediate_id_counter}};addEventListener("message",__setImmediate_cb,true);emSetImmediate=func=>{postMessage(__setImmediate_message_id,"*");return __setImmediate_id_counter+__setImmediate_queue.push(func)-1};emClearImmediate=id=>{var index=id-__setImmediate_id_counter;if(index>=0&&index<__setImmediate_queue.length)__setImmediate_queue[index]=()=>{}}}registerPostMainLoop(()=>SDL.audio?.queueNewAudioData?.());{initMemory();if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["dynamicLibraries"])dynamicLibraries=Module["dynamicLibraries"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"]}Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;Module["_setTempRet0"]=_setTempRet0;Module["_getTempRet0"]=_getTempRet0;Module["_sched_yield"]=_sched_yield;Module["___cxa_uncaught_exceptions"]=___cxa_uncaught_exceptions;Module["___cxa_current_primary_exception"]=___cxa_current_primary_exception;Module["___cxa_rethrow_primary_exception"]=___cxa_rethrow_primary_exception;Module["___syscall_shutdown"]=___syscall_shutdown;Module["_emscripten_wget"]=_emscripten_wget;var ASM_CONSTS={450624:$0=>{if(!$0){AL.alcErr=40964;return 1}},450672:$0=>{if(!AL.currentCtx){err("alGetProcAddress() called without a valid context");return 1}if(!$0){AL.currentCtx.err=40963;return 1}}};var wasmImports={IMG_Init:_IMG_Init,IMG_Load:_IMG_Load,IMG_Load_RW:_IMG_Load_RW,IMG_Quit:_IMG_Quit,Mix_AllocateChannels:_Mix_AllocateChannels,Mix_ChannelFinished:_Mix_ChannelFinished,Mix_CloseAudio:_Mix_CloseAudio,Mix_FadeInChannelTimed:_Mix_FadeInChannelTimed,Mix_FadeInMusicPos:_Mix_FadeInMusicPos,Mix_FadeOutChannel:_Mix_FadeOutChannel,Mix_FadeOutMusic:_Mix_FadeOutMusic,Mix_FadingChannel:_Mix_FadingChannel,Mix_FreeChunk:_Mix_FreeChunk,Mix_FreeMusic:_Mix_FreeMusic,Mix_HaltChannel:_Mix_HaltChannel,Mix_HaltMusic:_Mix_HaltMusic,Mix_HookMusicFinished:_Mix_HookMusicFinished,Mix_Init:_Mix_Init,Mix_Linked_Version:_Mix_Linked_Version,Mix_LoadMUS:_Mix_LoadMUS,Mix_LoadMUS_RW:_Mix_LoadMUS_RW,Mix_LoadWAV:_Mix_LoadWAV,Mix_LoadWAV_RW:_Mix_LoadWAV_RW,Mix_OpenAudio:_Mix_OpenAudio,Mix_Pause:_Mix_Pause,Mix_PauseMusic:_Mix_PauseMusic,Mix_Paused:_Mix_Paused,Mix_PausedMusic:_Mix_PausedMusic,Mix_PlayChannelTimed:_Mix_PlayChannelTimed,Mix_PlayMusic:_Mix_PlayMusic,Mix_Playing:_Mix_Playing,Mix_PlayingMusic:_Mix_PlayingMusic,Mix_QuerySpec:_Mix_QuerySpec,Mix_QuickLoad_RAW:_Mix_QuickLoad_RAW,Mix_Quit:_Mix_Quit,Mix_ReserveChannels:_Mix_ReserveChannels,Mix_Resume:_Mix_Resume,Mix_ResumeMusic:_Mix_ResumeMusic,Mix_SetPanning:_Mix_SetPanning,Mix_SetPosition:_Mix_SetPosition,Mix_SetPostMix:_Mix_SetPostMix,Mix_Volume:_Mix_Volume,Mix_VolumeChunk:_Mix_VolumeChunk,Mix_VolumeMusic:_Mix_VolumeMusic,SDL_AddTimer:_SDL_AddTimer,SDL_AllocRW:_SDL_AllocRW,SDL_AudioDriverName:_SDL_AudioDriverName,SDL_AudioQuit:_SDL_AudioQuit,SDL_ClearError:_SDL_ClearError,SDL_CloseAudio:_SDL_CloseAudio,SDL_CondBroadcast:_SDL_CondBroadcast,SDL_CondSignal:_SDL_CondSignal,SDL_CondWait:_SDL_CondWait,SDL_CondWaitTimeout:_SDL_CondWaitTimeout,SDL_ConvertSurface:_SDL_ConvertSurface,SDL_CreateCond:_SDL_CreateCond,SDL_CreateMutex:_SDL_CreateMutex,SDL_CreateRGBSurface:_SDL_CreateRGBSurface,SDL_CreateRGBSurfaceFrom:_SDL_CreateRGBSurfaceFrom,SDL_CreateThread:_SDL_CreateThread,SDL_Delay:_SDL_Delay,SDL_DestroyCond:_SDL_DestroyCond,SDL_DestroyMutex:_SDL_DestroyMutex,SDL_DestroyRenderer:_SDL_DestroyRenderer,SDL_DestroyWindow:_SDL_DestroyWindow,SDL_DisplayFormat:_SDL_DisplayFormat,SDL_DisplayFormatAlpha:_SDL_DisplayFormatAlpha,SDL_EnableKeyRepeat:_SDL_EnableKeyRepeat,SDL_EnableUNICODE:_SDL_EnableUNICODE,SDL_FillRect:_SDL_FillRect,SDL_Flip:_SDL_Flip,SDL_FreeRW:_SDL_FreeRW,SDL_FreeSurface:_SDL_FreeSurface,SDL_GL_DeleteContext:_SDL_GL_DeleteContext,SDL_GL_ExtensionSupported:_SDL_GL_ExtensionSupported,SDL_GL_GetAttribute:_SDL_GL_GetAttribute,SDL_GL_GetSwapInterval:_SDL_GL_GetSwapInterval,SDL_GL_MakeCurrent:_SDL_GL_MakeCurrent,SDL_GL_SetAttribute:_SDL_GL_SetAttribute,SDL_GL_SetSwapInterval:_SDL_GL_SetSwapInterval,SDL_GL_SwapBuffers:_SDL_GL_SwapBuffers,SDL_GL_SwapWindow:_SDL_GL_SwapWindow,SDL_GetAppState:_SDL_GetAppState,SDL_GetAudioDriver:_SDL_GetAudioDriver,SDL_GetClipRect:_SDL_GetClipRect,SDL_GetCurrentAudioDriver:_SDL_GetCurrentAudioDriver,SDL_GetError:_SDL_GetError,SDL_GetKeyName:_SDL_GetKeyName,SDL_GetKeyState:_SDL_GetKeyState,SDL_GetKeyboardState:_SDL_GetKeyboardState,SDL_GetModState:_SDL_GetModState,SDL_GetMouseState:_SDL_GetMouseState,SDL_GetNumAudioDrivers:_SDL_GetNumAudioDrivers,SDL_GetRGB:_SDL_GetRGB,SDL_GetRGBA:_SDL_GetRGBA,SDL_GetScancodeFromKey:_SDL_GetScancodeFromKey,SDL_GetThreadID:_SDL_GetThreadID,SDL_GetTicks:_SDL_GetTicks,SDL_GetVideoInfo:_SDL_GetVideoInfo,SDL_GetVideoSurface:_SDL_GetVideoSurface,SDL_GetWindowFlags:_SDL_GetWindowFlags,SDL_GetWindowSize:_SDL_GetWindowSize,SDL_Has3DNow:_SDL_Has3DNow,SDL_Has3DNowExt:_SDL_Has3DNowExt,SDL_HasAltiVec:_SDL_HasAltiVec,SDL_HasMMX:_SDL_HasMMX,SDL_HasMMXExt:_SDL_HasMMXExt,SDL_HasRDTSC:_SDL_HasRDTSC,SDL_HasSSE:_SDL_HasSSE,SDL_HasSSE2:_SDL_HasSSE2,SDL_Init:_SDL_Init,SDL_InitSubSystem:_SDL_InitSubSystem,SDL_JoystickClose:_SDL_JoystickClose,SDL_JoystickEventState:_SDL_JoystickEventState,SDL_JoystickGetAxis:_SDL_JoystickGetAxis,SDL_JoystickGetBall:_SDL_JoystickGetBall,SDL_JoystickGetButton:_SDL_JoystickGetButton,SDL_JoystickGetHat:_SDL_JoystickGetHat,SDL_JoystickIndex:_SDL_JoystickIndex,SDL_JoystickName:_SDL_JoystickName,SDL_JoystickNumAxes:_SDL_JoystickNumAxes,SDL_JoystickNumBalls:_SDL_JoystickNumBalls,SDL_JoystickNumButtons:_SDL_JoystickNumButtons,SDL_JoystickNumHats:_SDL_JoystickNumHats,SDL_JoystickOpen:_SDL_JoystickOpen,SDL_JoystickOpened:_SDL_JoystickOpened,SDL_JoystickUpdate:_SDL_JoystickUpdate,SDL_Linked_Version:_SDL_Linked_Version,SDL_ListModes:_SDL_ListModes,SDL_LoadBMP_RW:_SDL_LoadBMP_RW,SDL_LockAudio:_SDL_LockAudio,SDL_LockSurface:_SDL_LockSurface,SDL_LogSetOutputFunction:_SDL_LogSetOutputFunction,SDL_LowerBlit:_SDL_LowerBlit,SDL_LowerBlitScaled:_SDL_LowerBlitScaled,SDL_MapRGB:_SDL_MapRGB,SDL_MapRGBA:_SDL_MapRGBA,SDL_NumJoysticks:_SDL_NumJoysticks,SDL_OpenAudio:_SDL_OpenAudio,SDL_PauseAudio:_SDL_PauseAudio,SDL_PeepEvents:_SDL_PeepEvents,SDL_PollEvent:_SDL_PollEvent,SDL_PumpEvents:_SDL_PumpEvents,SDL_PushEvent:_SDL_PushEvent,SDL_Quit:_SDL_Quit,SDL_QuitSubSystem:_SDL_QuitSubSystem,SDL_RWFromConstMem:_SDL_RWFromConstMem,SDL_RWFromFile:_SDL_RWFromFile,SDL_RWFromMem:_SDL_RWFromMem,SDL_RemoveTimer:_SDL_RemoveTimer,SDL_SaveBMP_RW:_SDL_SaveBMP_RW,SDL_SetAlpha:_SDL_SetAlpha,SDL_SetClipRect:_SDL_SetClipRect,SDL_SetColorKey:_SDL_SetColorKey,SDL_SetColors:_SDL_SetColors,SDL_SetError:_SDL_SetError,SDL_SetGamma:_SDL_SetGamma,SDL_SetGammaRamp:_SDL_SetGammaRamp,SDL_SetPalette:_SDL_SetPalette,SDL_SetVideoMode:_SDL_SetVideoMode,SDL_SetWindowFullscreen:_SDL_SetWindowFullscreen,SDL_SetWindowTitle:_SDL_SetWindowTitle,SDL_ShowCursor:_SDL_ShowCursor,SDL_StartTextInput:_SDL_StartTextInput,SDL_StopTextInput:_SDL_StopTextInput,SDL_ThreadID:_SDL_ThreadID,SDL_UnlockAudio:_SDL_UnlockAudio,SDL_UnlockSurface:_SDL_UnlockSurface,SDL_UpdateRect:_SDL_UpdateRect,SDL_UpdateRects:_SDL_UpdateRects,SDL_UpperBlit:_SDL_UpperBlit,SDL_UpperBlitScaled:_SDL_UpperBlitScaled,SDL_VideoDriverName:_SDL_VideoDriverName,SDL_VideoModeOK:_SDL_VideoModeOK,SDL_VideoQuit:_SDL_VideoQuit,SDL_WM_GrabInput:_SDL_WM_GrabInput,SDL_WM_IconifyWindow:_SDL_WM_IconifyWindow,SDL_WM_SetCaption:_SDL_WM_SetCaption,SDL_WM_SetIcon:_SDL_WM_SetIcon,SDL_WM_ToggleFullScreen:_SDL_WM_ToggleFullScreen,SDL_WaitThread:_SDL_WaitThread,SDL_WarpMouse:_SDL_WarpMouse,SDL_WasInit:_SDL_WasInit,SDL_mutexP:_SDL_mutexP,SDL_mutexV:_SDL_mutexV,TTF_CloseFont:_TTF_CloseFont,TTF_FontAscent:_TTF_FontAscent,TTF_FontDescent:_TTF_FontDescent,TTF_FontHeight:_TTF_FontHeight,TTF_FontLineSkip:_TTF_FontLineSkip,TTF_GlyphMetrics:_TTF_GlyphMetrics,TTF_Init:_TTF_Init,TTF_OpenFont:_TTF_OpenFont,TTF_Quit:_TTF_Quit,TTF_RenderText_Blended:_TTF_RenderText_Blended,TTF_RenderText_Shaded:_TTF_RenderText_Shaded,TTF_RenderText_Solid:_TTF_RenderText_Solid,TTF_RenderUTF8_Solid:_TTF_RenderUTF8_Solid,TTF_SizeText:_TTF_SizeText,TTF_SizeUTF8:_TTF_SizeUTF8,XChangeWindowAttributes:_XChangeWindowAttributes,XCreateWindow:_XCreateWindow,XInternAtom:_XInternAtom,XMapWindow:_XMapWindow,XOpenDisplay:_XOpenDisplay,XPending:_XPending,XSendEvent:_XSendEvent,XSetWMHints:_XSetWMHints,XStoreName:_XStoreName,_Unwind_Backtrace:__Unwind_Backtrace,_Unwind_DeleteException:__Unwind_DeleteException,_Unwind_FindEnclosingFunction:__Unwind_FindEnclosingFunction,_Unwind_GetIPInfo:__Unwind_GetIPInfo,_Unwind_RaiseException:__Unwind_RaiseException,__asctime_r:___asctime_r,__assert_fail:___assert_fail,__call_sighandler:___call_sighandler,__cxa_begin_catch:___cxa_begin_catch,__cxa_call_unexpected:___cxa_call_unexpected,__cxa_current_exception_type:___cxa_current_exception_type,__cxa_end_catch:___cxa_end_catch,__cxa_find_matching_catch_2:___cxa_find_matching_catch_2,__cxa_find_matching_catch_3:___cxa_find_matching_catch_3,__cxa_find_matching_catch_4:___cxa_find_matching_catch_4,__cxa_rethrow:___cxa_rethrow,__cxa_throw:___cxa_throw,__global_base:___global_base,__heap_base:___heap_base,__indirect_function_table:wasmTable,__memory_base:___memory_base,__resumeException:___resumeException,__stack_high:___stack_high,__stack_low:___stack_low,__stack_pointer:___stack_pointer,__syscall__newselect:___syscall__newselect,__syscall_accept4:___syscall_accept4,__syscall_bind:___syscall_bind,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_connect:___syscall_connect,__syscall_dup:___syscall_dup,__syscall_dup3:___syscall_dup3,__syscall_faccessat:___syscall_faccessat,__syscall_fadvise64:___syscall_fadvise64,__syscall_fallocate:___syscall_fallocate,__syscall_fchdir:___syscall_fchdir,__syscall_fchmod:___syscall_fchmod,__syscall_fchmodat2:___syscall_fchmodat2,__syscall_fchown32:___syscall_fchown32,__syscall_fchownat:___syscall_fchownat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fdatasync:___syscall_fdatasync,__syscall_fstat64:___syscall_fstat64,__syscall_fstatfs64:___syscall_fstatfs64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_getpeername:___syscall_getpeername,__syscall_getsockname:___syscall_getsockname,__syscall_getsockopt:___syscall_getsockopt,__syscall_ioctl:___syscall_ioctl,__syscall_listen:___syscall_listen,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_mknodat:___syscall_mknodat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_pipe:___syscall_pipe,__syscall_poll:___syscall_poll,__syscall_readlinkat:___syscall_readlinkat,__syscall_recvfrom:___syscall_recvfrom,__syscall_recvmsg:___syscall_recvmsg,__syscall_renameat:___syscall_renameat,__syscall_rmdir:___syscall_rmdir,__syscall_sendmsg:___syscall_sendmsg,__syscall_sendto:___syscall_sendto,__syscall_socket:___syscall_socket,__syscall_stat64:___syscall_stat64,__syscall_statfs64:___syscall_statfs64,__syscall_symlinkat:___syscall_symlinkat,__syscall_truncate64:___syscall_truncate64,__syscall_unlinkat:___syscall_unlinkat,__syscall_utimensat:___syscall_utimensat,__table_base:___table_base,_abort_js:__abort_js,_dlopen_js:__dlopen_js,_dlsym_catchup_js:__dlsym_catchup_js,_dlsym_js:__dlsym_js,_emscripten_dlopen_js:__emscripten_dlopen_js,_emscripten_fs_load_embedded_files:__emscripten_fs_load_embedded_files,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_get_progname:__emscripten_get_progname,_emscripten_lookup_name:__emscripten_lookup_name,_emscripten_push_main_loop_blocker:__emscripten_push_main_loop_blocker,_emscripten_push_uncounted_main_loop_blocker:__emscripten_push_uncounted_main_loop_blocker,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_emscripten_system:__emscripten_system,_emscripten_throw_longjmp:__emscripten_throw_longjmp,_glGetActiveAttribOrUniform:__glGetActiveAttribOrUniform,_gmtime_js:__gmtime_js,_localtime_js:__localtime_js,_mktime_js:__mktime_js,_mmap_js:__mmap_js,_msync_js:__msync_js,_munmap_js:__munmap_js,_setitimer_js:__setitimer_js,_timegm_js:__timegm_js,_tzset_js:__tzset_js,alBuffer3f:_alBuffer3f,alBuffer3i:_alBuffer3i,alBufferData:_alBufferData,alBufferf:_alBufferf,alBufferfv:_alBufferfv,alBufferi:_alBufferi,alBufferiv:_alBufferiv,alDeleteBuffers:_alDeleteBuffers,alDeleteSources:_alDeleteSources,alDisable:_alDisable,alDistanceModel:_alDistanceModel,alDopplerFactor:_alDopplerFactor,alDopplerVelocity:_alDopplerVelocity,alEnable:_alEnable,alGenBuffers:_alGenBuffers,alGenSources:_alGenSources,alGetBoolean:_alGetBoolean,alGetBooleanv:_alGetBooleanv,alGetBuffer3f:_alGetBuffer3f,alGetBuffer3i:_alGetBuffer3i,alGetBufferf:_alGetBufferf,alGetBufferfv:_alGetBufferfv,alGetBufferi:_alGetBufferi,alGetBufferiv:_alGetBufferiv,alGetDouble:_alGetDouble,alGetDoublev:_alGetDoublev,alGetEnumValue:_alGetEnumValue,alGetError:_alGetError,alGetFloat:_alGetFloat,alGetFloatv:_alGetFloatv,alGetInteger:_alGetInteger,alGetIntegerv:_alGetIntegerv,alGetListener3f:_alGetListener3f,alGetListener3i:_alGetListener3i,alGetListenerf:_alGetListenerf,alGetListenerfv:_alGetListenerfv,alGetListeneri:_alGetListeneri,alGetListeneriv:_alGetListeneriv,alGetSource3f:_alGetSource3f,alGetSource3i:_alGetSource3i,alGetSourcef:_alGetSourcef,alGetSourcefv:_alGetSourcefv,alGetSourcei:_alGetSourcei,alGetSourceiv:_alGetSourceiv,alGetString:_alGetString,alIsBuffer:_alIsBuffer,alIsEnabled:_alIsEnabled,alIsExtensionPresent:_alIsExtensionPresent,alIsSource:_alIsSource,alListener3f:_alListener3f,alListener3i:_alListener3i,alListenerf:_alListenerf,alListenerfv:_alListenerfv,alListeneri:_alListeneri,alListeneriv:_alListeneriv,alSource3f:_alSource3f,alSource3i:_alSource3i,alSourcePause:_alSourcePause,alSourcePausev:_alSourcePausev,alSourcePlay:_alSourcePlay,alSourcePlayv:_alSourcePlayv,alSourceQueueBuffers:_alSourceQueueBuffers,alSourceRewind:_alSourceRewind,alSourceRewindv:_alSourceRewindv,alSourceStop:_alSourceStop,alSourceStopv:_alSourceStopv,alSourceUnqueueBuffers:_alSourceUnqueueBuffers,alSourcef:_alSourcef,alSourcefv:_alSourcefv,alSourcei:_alSourcei,alSourceiv:_alSourceiv,alSpeedOfSound:_alSpeedOfSound,alcCaptureCloseDevice:_alcCaptureCloseDevice,alcCaptureOpenDevice:_alcCaptureOpenDevice,alcCaptureSamples:_alcCaptureSamples,alcCaptureStart:_alcCaptureStart,alcCaptureStop:_alcCaptureStop,alcCloseDevice:_alcCloseDevice,alcCreateContext:_alcCreateContext,alcDestroyContext:_alcDestroyContext,alcGetContextsDevice:_alcGetContextsDevice,alcGetCurrentContext:_alcGetCurrentContext,alcGetEnumValue:_alcGetEnumValue,alcGetError:_alcGetError,alcGetIntegerv:_alcGetIntegerv,alcGetString:_alcGetString,alcIsExtensionPresent:_alcIsExtensionPresent,alcMakeContextCurrent:_alcMakeContextCurrent,alcOpenDevice:_alcOpenDevice,alcProcessContext:_alcProcessContext,alcSuspendContext:_alcSuspendContext,boxColor:_boxColor,boxRGBA:_boxRGBA,clock_res_get:_clock_res_get,clock_time_get:_clock_time_get,eglBindAPI:_eglBindAPI,eglChooseConfig:_eglChooseConfig,eglCreateContext:_eglCreateContext,eglCreateWindowSurface:_eglCreateWindowSurface,eglDestroyContext:_eglDestroyContext,eglDestroySurface:_eglDestroySurface,eglGetConfigAttrib:_eglGetConfigAttrib,eglGetConfigs:_eglGetConfigs,eglGetCurrentContext:_eglGetCurrentContext,eglGetCurrentDisplay:_eglGetCurrentDisplay,eglGetCurrentSurface:_eglGetCurrentSurface,eglGetDisplay:_eglGetDisplay,eglGetError:_eglGetError,eglInitialize:_eglInitialize,eglMakeCurrent:_eglMakeCurrent,eglQueryAPI:_eglQueryAPI,eglQueryContext:_eglQueryContext,eglQueryString:_eglQueryString,eglQuerySurface:_eglQuerySurface,eglReleaseThread:_eglReleaseThread,eglSwapBuffers:_eglSwapBuffers,eglSwapInterval:_eglSwapInterval,eglTerminate:_eglTerminate,eglWaitClient:_eglWaitClient,eglWaitGL:_eglWaitGL,eglWaitNative:_eglWaitNative,ellipseColor:_ellipseColor,ellipseRGBA:_ellipseRGBA,emscripten_SDL_SetEventHandler:_emscripten_SDL_SetEventHandler,emscripten_alcDevicePauseSOFT:_emscripten_alcDevicePauseSOFT,emscripten_alcDeviceResumeSOFT:_emscripten_alcDeviceResumeSOFT,emscripten_alcGetStringiSOFT:_emscripten_alcGetStringiSOFT,emscripten_alcResetDeviceSOFT:_emscripten_alcResetDeviceSOFT,emscripten_asm_const_async_on_main_thread:_emscripten_asm_const_async_on_main_thread,emscripten_asm_const_double:_emscripten_asm_const_double,emscripten_asm_const_double_sync_on_main_thread:_emscripten_asm_const_double_sync_on_main_thread,emscripten_asm_const_int:_emscripten_asm_const_int,emscripten_asm_const_int_sync_on_main_thread:_emscripten_asm_const_int_sync_on_main_thread,emscripten_asm_const_ptr:_emscripten_asm_const_ptr,emscripten_asm_const_ptr_sync_on_main_thread:_emscripten_asm_const_ptr_sync_on_main_thread,emscripten_async_call:_emscripten_async_call,emscripten_async_load_script:_emscripten_async_load_script,emscripten_async_run_script:_emscripten_async_run_script,emscripten_async_wget:_emscripten_async_wget,emscripten_async_wget2:_emscripten_async_wget2,emscripten_async_wget2_abort:_emscripten_async_wget2_abort,emscripten_async_wget2_data:_emscripten_async_wget2_data,emscripten_async_wget_data:_emscripten_async_wget_data,emscripten_call_worker:_emscripten_call_worker,emscripten_cancel_animation_frame:_emscripten_cancel_animation_frame,emscripten_cancel_main_loop:_emscripten_cancel_main_loop,emscripten_clear_immediate:_emscripten_clear_immediate,emscripten_clear_interval:_emscripten_clear_interval,emscripten_clear_timeout:_emscripten_clear_timeout,emscripten_console_error:_emscripten_console_error,emscripten_console_log:_emscripten_console_log,emscripten_console_trace:_emscripten_console_trace,emscripten_console_warn:_emscripten_console_warn,emscripten_create_worker:_emscripten_create_worker,emscripten_date_now:_emscripten_date_now,emscripten_debugger:_emscripten_debugger,emscripten_destroy_worker:_emscripten_destroy_worker,emscripten_enter_soft_fullscreen:_emscripten_enter_soft_fullscreen,emscripten_err:_emscripten_err,emscripten_errn:_emscripten_errn,emscripten_exit_fullscreen:_emscripten_exit_fullscreen,emscripten_exit_pointerlock:_emscripten_exit_pointerlock,emscripten_exit_soft_fullscreen:_emscripten_exit_soft_fullscreen,emscripten_exit_with_live_runtime:_emscripten_exit_with_live_runtime,emscripten_fiber_swap:_emscripten_fiber_swap,emscripten_force_exit:_emscripten_force_exit,emscripten_get_battery_status:_emscripten_get_battery_status,emscripten_get_callstack:_emscripten_get_callstack,emscripten_get_canvas_element_size:_emscripten_get_canvas_element_size,emscripten_get_canvas_size:_emscripten_get_canvas_size,emscripten_get_compiler_setting:_emscripten_get_compiler_setting,emscripten_get_device_pixel_ratio:_emscripten_get_device_pixel_ratio,emscripten_get_devicemotion_status:_emscripten_get_devicemotion_status,emscripten_get_deviceorientation_status:_emscripten_get_deviceorientation_status,emscripten_get_element_css_size:_emscripten_get_element_css_size,emscripten_get_fullscreen_status:_emscripten_get_fullscreen_status,emscripten_get_gamepad_status:_emscripten_get_gamepad_status,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_main_loop_timing:_emscripten_get_main_loop_timing,emscripten_get_mouse_status:_emscripten_get_mouse_status,emscripten_get_now:_emscripten_get_now,emscripten_get_now_res:_emscripten_get_now_res,emscripten_get_num_gamepads:_emscripten_get_num_gamepads,emscripten_get_orientation_status:_emscripten_get_orientation_status,emscripten_get_pointerlock_status:_emscripten_get_pointerlock_status,emscripten_get_preloaded_image_data:_emscripten_get_preloaded_image_data,emscripten_get_preloaded_image_data_from_FILE:_emscripten_get_preloaded_image_data_from_FILE,emscripten_get_screen_size:_emscripten_get_screen_size,emscripten_get_visibility_status:_emscripten_get_visibility_status,emscripten_get_window_title:_emscripten_get_window_title,emscripten_get_worker_queue_size:_emscripten_get_worker_queue_size,emscripten_glActiveTexture:_emscripten_glActiveTexture,emscripten_glAttachShader:_emscripten_glAttachShader,emscripten_glBegin:_emscripten_glBegin,emscripten_glBeginQueryEXT:_emscripten_glBeginQueryEXT,emscripten_glBindAttribLocation:_emscripten_glBindAttribLocation,emscripten_glBindBuffer:_emscripten_glBindBuffer,emscripten_glBindFramebuffer:_emscripten_glBindFramebuffer,emscripten_glBindRenderbuffer:_emscripten_glBindRenderbuffer,emscripten_glBindTexture:_emscripten_glBindTexture,emscripten_glBindVertexArray:_emscripten_glBindVertexArray,emscripten_glBindVertexArrayOES:_emscripten_glBindVertexArrayOES,emscripten_glBlendColor:_emscripten_glBlendColor,emscripten_glBlendEquation:_emscripten_glBlendEquation,emscripten_glBlendEquationSeparate:_emscripten_glBlendEquationSeparate,emscripten_glBlendFunc:_emscripten_glBlendFunc,emscripten_glBlendFuncSeparate:_emscripten_glBlendFuncSeparate,emscripten_glBufferData:_emscripten_glBufferData,emscripten_glBufferSubData:_emscripten_glBufferSubData,emscripten_glCheckFramebufferStatus:_emscripten_glCheckFramebufferStatus,emscripten_glClear:_emscripten_glClear,emscripten_glClearColor:_emscripten_glClearColor,emscripten_glClearDepth:_emscripten_glClearDepth,emscripten_glClearDepthf:_emscripten_glClearDepthf,emscripten_glClearStencil:_emscripten_glClearStencil,emscripten_glClipControlEXT:_emscripten_glClipControlEXT,emscripten_glColorMask:_emscripten_glColorMask,emscripten_glCompileShader:_emscripten_glCompileShader,emscripten_glCompressedTexImage2D:_emscripten_glCompressedTexImage2D,emscripten_glCompressedTexSubImage2D:_emscripten_glCompressedTexSubImage2D,emscripten_glCopyTexImage2D:_emscripten_glCopyTexImage2D,emscripten_glCopyTexSubImage2D:_emscripten_glCopyTexSubImage2D,emscripten_glCreateProgram:_emscripten_glCreateProgram,emscripten_glCreateShader:_emscripten_glCreateShader,emscripten_glCullFace:_emscripten_glCullFace,emscripten_glDeleteBuffers:_emscripten_glDeleteBuffers,emscripten_glDeleteFramebuffers:_emscripten_glDeleteFramebuffers,emscripten_glDeleteProgram:_emscripten_glDeleteProgram,emscripten_glDeleteQueriesEXT:_emscripten_glDeleteQueriesEXT,emscripten_glDeleteRenderbuffers:_emscripten_glDeleteRenderbuffers,emscripten_glDeleteShader:_emscripten_glDeleteShader,emscripten_glDeleteTextures:_emscripten_glDeleteTextures,emscripten_glDeleteVertexArrays:_emscripten_glDeleteVertexArrays,emscripten_glDeleteVertexArraysOES:_emscripten_glDeleteVertexArraysOES,emscripten_glDepthFunc:_emscripten_glDepthFunc,emscripten_glDepthMask:_emscripten_glDepthMask,emscripten_glDepthRange:_emscripten_glDepthRange,emscripten_glDepthRangef:_emscripten_glDepthRangef,emscripten_glDetachShader:_emscripten_glDetachShader,emscripten_glDisable:_emscripten_glDisable,emscripten_glDisableVertexAttribArray:_emscripten_glDisableVertexAttribArray,emscripten_glDrawArrays:_emscripten_glDrawArrays,emscripten_glDrawArraysInstanced:_emscripten_glDrawArraysInstanced,emscripten_glDrawArraysInstancedANGLE:_emscripten_glDrawArraysInstancedANGLE,emscripten_glDrawArraysInstancedARB:_emscripten_glDrawArraysInstancedARB,emscripten_glDrawArraysInstancedEXT:_emscripten_glDrawArraysInstancedEXT,emscripten_glDrawArraysInstancedNV:_emscripten_glDrawArraysInstancedNV,emscripten_glDrawBuffers:_emscripten_glDrawBuffers,emscripten_glDrawBuffersEXT:_emscripten_glDrawBuffersEXT,emscripten_glDrawBuffersWEBGL:_emscripten_glDrawBuffersWEBGL,emscripten_glDrawElements:_emscripten_glDrawElements,emscripten_glDrawElementsInstanced:_emscripten_glDrawElementsInstanced,emscripten_glDrawElementsInstancedANGLE:_emscripten_glDrawElementsInstancedANGLE,emscripten_glDrawElementsInstancedARB:_emscripten_glDrawElementsInstancedARB,emscripten_glDrawElementsInstancedEXT:_emscripten_glDrawElementsInstancedEXT,emscripten_glDrawElementsInstancedNV:_emscripten_glDrawElementsInstancedNV,emscripten_glEnable:_emscripten_glEnable,emscripten_glEnableVertexAttribArray:_emscripten_glEnableVertexAttribArray,emscripten_glEndQueryEXT:_emscripten_glEndQueryEXT,emscripten_glFinish:_emscripten_glFinish,emscripten_glFlush:_emscripten_glFlush,emscripten_glFramebufferRenderbuffer:_emscripten_glFramebufferRenderbuffer,emscripten_glFramebufferTexture2D:_emscripten_glFramebufferTexture2D,emscripten_glFrontFace:_emscripten_glFrontFace,emscripten_glGenBuffers:_emscripten_glGenBuffers,emscripten_glGenFramebuffers:_emscripten_glGenFramebuffers,emscripten_glGenQueriesEXT:_emscripten_glGenQueriesEXT,emscripten_glGenRenderbuffers:_emscripten_glGenRenderbuffers,emscripten_glGenTextures:_emscripten_glGenTextures,emscripten_glGenVertexArrays:_emscripten_glGenVertexArrays,emscripten_glGenVertexArraysOES:_emscripten_glGenVertexArraysOES,emscripten_glGenerateMipmap:_emscripten_glGenerateMipmap,emscripten_glGetActiveAttrib:_emscripten_glGetActiveAttrib,emscripten_glGetActiveUniform:_emscripten_glGetActiveUniform,emscripten_glGetAttachedShaders:_emscripten_glGetAttachedShaders,emscripten_glGetAttribLocation:_emscripten_glGetAttribLocation,emscripten_glGetBooleanv:_emscripten_glGetBooleanv,emscripten_glGetBufferParameteriv:_emscripten_glGetBufferParameteriv,emscripten_glGetError:_emscripten_glGetError,emscripten_glGetFloatv:_emscripten_glGetFloatv,emscripten_glGetFramebufferAttachmentParameteriv:_emscripten_glGetFramebufferAttachmentParameteriv,emscripten_glGetIntegerv:_emscripten_glGetIntegerv,emscripten_glGetProgramInfoLog:_emscripten_glGetProgramInfoLog,emscripten_glGetProgramiv:_emscripten_glGetProgramiv,emscripten_glGetQueryObjecti64vEXT:_emscripten_glGetQueryObjecti64vEXT,emscripten_glGetQueryObjectivEXT:_emscripten_glGetQueryObjectivEXT,emscripten_glGetQueryObjectui64vEXT:_emscripten_glGetQueryObjectui64vEXT,emscripten_glGetQueryObjectuivEXT:_emscripten_glGetQueryObjectuivEXT,emscripten_glGetQueryivEXT:_emscripten_glGetQueryivEXT,emscripten_glGetRenderbufferParameteriv:_emscripten_glGetRenderbufferParameteriv,emscripten_glGetShaderInfoLog:_emscripten_glGetShaderInfoLog,emscripten_glGetShaderPrecisionFormat:_emscripten_glGetShaderPrecisionFormat,emscripten_glGetShaderSource:_emscripten_glGetShaderSource,emscripten_glGetShaderiv:_emscripten_glGetShaderiv,emscripten_glGetString:_emscripten_glGetString,emscripten_glGetTexParameterfv:_emscripten_glGetTexParameterfv,emscripten_glGetTexParameteriv:_emscripten_glGetTexParameteriv,emscripten_glGetUniformLocation:_emscripten_glGetUniformLocation,emscripten_glGetUniformfv:_emscripten_glGetUniformfv,emscripten_glGetUniformiv:_emscripten_glGetUniformiv,emscripten_glGetVertexAttribPointerv:_emscripten_glGetVertexAttribPointerv,emscripten_glGetVertexAttribfv:_emscripten_glGetVertexAttribfv,emscripten_glGetVertexAttribiv:_emscripten_glGetVertexAttribiv,emscripten_glHint:_emscripten_glHint,emscripten_glIsBuffer:_emscripten_glIsBuffer,emscripten_glIsEnabled:_emscripten_glIsEnabled,emscripten_glIsFramebuffer:_emscripten_glIsFramebuffer,emscripten_glIsProgram:_emscripten_glIsProgram,emscripten_glIsQueryEXT:_emscripten_glIsQueryEXT,emscripten_glIsRenderbuffer:_emscripten_glIsRenderbuffer,emscripten_glIsShader:_emscripten_glIsShader,emscripten_glIsTexture:_emscripten_glIsTexture,emscripten_glIsVertexArray:_emscripten_glIsVertexArray,emscripten_glIsVertexArrayOES:_emscripten_glIsVertexArrayOES,emscripten_glLineWidth:_emscripten_glLineWidth,emscripten_glLinkProgram:_emscripten_glLinkProgram,emscripten_glLoadIdentity:_emscripten_glLoadIdentity,emscripten_glMatrixMode:_emscripten_glMatrixMode,emscripten_glMultiDrawArrays:_emscripten_glMultiDrawArrays,emscripten_glMultiDrawArraysANGLE:_emscripten_glMultiDrawArraysANGLE,emscripten_glMultiDrawArraysInstancedANGLE:_emscripten_glMultiDrawArraysInstancedANGLE,emscripten_glMultiDrawArraysInstancedWEBGL:_emscripten_glMultiDrawArraysInstancedWEBGL,emscripten_glMultiDrawArraysWEBGL:_emscripten_glMultiDrawArraysWEBGL,emscripten_glMultiDrawElements:_emscripten_glMultiDrawElements,emscripten_glMultiDrawElementsANGLE:_emscripten_glMultiDrawElementsANGLE,emscripten_glMultiDrawElementsInstancedANGLE:_emscripten_glMultiDrawElementsInstancedANGLE,emscripten_glMultiDrawElementsInstancedWEBGL:_emscripten_glMultiDrawElementsInstancedWEBGL,emscripten_glMultiDrawElementsWEBGL:_emscripten_glMultiDrawElementsWEBGL,emscripten_glPixelStorei:_emscripten_glPixelStorei,emscripten_glPolygonModeWEBGL:_emscripten_glPolygonModeWEBGL,emscripten_glPolygonOffset:_emscripten_glPolygonOffset,emscripten_glPolygonOffsetClampEXT:_emscripten_glPolygonOffsetClampEXT,emscripten_glQueryCounterEXT:_emscripten_glQueryCounterEXT,emscripten_glReadPixels:_emscripten_glReadPixels,emscripten_glReleaseShaderCompiler:_emscripten_glReleaseShaderCompiler,emscripten_glRenderbufferStorage:_emscripten_glRenderbufferStorage,emscripten_glSampleCoverage:_emscripten_glSampleCoverage,emscripten_glScissor:_emscripten_glScissor,emscripten_glShaderBinary:_emscripten_glShaderBinary,emscripten_glShaderSource:_emscripten_glShaderSource,emscripten_glStencilFunc:_emscripten_glStencilFunc,emscripten_glStencilFuncSeparate:_emscripten_glStencilFuncSeparate,emscripten_glStencilMask:_emscripten_glStencilMask,emscripten_glStencilMaskSeparate:_emscripten_glStencilMaskSeparate,emscripten_glStencilOp:_emscripten_glStencilOp,emscripten_glStencilOpSeparate:_emscripten_glStencilOpSeparate,emscripten_glTexImage2D:_emscripten_glTexImage2D,emscripten_glTexParameterf:_emscripten_glTexParameterf,emscripten_glTexParameterfv:_emscripten_glTexParameterfv,emscripten_glTexParameteri:_emscripten_glTexParameteri,emscripten_glTexParameteriv:_emscripten_glTexParameteriv,emscripten_glTexSubImage2D:_emscripten_glTexSubImage2D,emscripten_glUniform1f:_emscripten_glUniform1f,emscripten_glUniform1fv:_emscripten_glUniform1fv,emscripten_glUniform1i:_emscripten_glUniform1i,emscripten_glUniform1iv:_emscripten_glUniform1iv,emscripten_glUniform2f:_emscripten_glUniform2f,emscripten_glUniform2fv:_emscripten_glUniform2fv,emscripten_glUniform2i:_emscripten_glUniform2i,emscripten_glUniform2iv:_emscripten_glUniform2iv,emscripten_glUniform3f:_emscripten_glUniform3f,emscripten_glUniform3fv:_emscripten_glUniform3fv,emscripten_glUniform3i:_emscripten_glUniform3i,emscripten_glUniform3iv:_emscripten_glUniform3iv,emscripten_glUniform4f:_emscripten_glUniform4f,emscripten_glUniform4fv:_emscripten_glUniform4fv,emscripten_glUniform4i:_emscripten_glUniform4i,emscripten_glUniform4iv:_emscripten_glUniform4iv,emscripten_glUniformMatrix2fv:_emscripten_glUniformMatrix2fv,emscripten_glUniformMatrix3fv:_emscripten_glUniformMatrix3fv,emscripten_glUniformMatrix4fv:_emscripten_glUniformMatrix4fv,emscripten_glUseProgram:_emscripten_glUseProgram,emscripten_glValidateProgram:_emscripten_glValidateProgram,emscripten_glVertexAttrib1f:_emscripten_glVertexAttrib1f,emscripten_glVertexAttrib1fv:_emscripten_glVertexAttrib1fv,emscripten_glVertexAttrib2f:_emscripten_glVertexAttrib2f,emscripten_glVertexAttrib2fv:_emscripten_glVertexAttrib2fv,emscripten_glVertexAttrib3f:_emscripten_glVertexAttrib3f,emscripten_glVertexAttrib3fv:_emscripten_glVertexAttrib3fv,emscripten_glVertexAttrib4f:_emscripten_glVertexAttrib4f,emscripten_glVertexAttrib4fv:_emscripten_glVertexAttrib4fv,emscripten_glVertexAttribDivisor:_emscripten_glVertexAttribDivisor,emscripten_glVertexAttribDivisorANGLE:_emscripten_glVertexAttribDivisorANGLE,emscripten_glVertexAttribDivisorARB:_emscripten_glVertexAttribDivisorARB,emscripten_glVertexAttribDivisorEXT:_emscripten_glVertexAttribDivisorEXT,emscripten_glVertexAttribDivisorNV:_emscripten_glVertexAttribDivisorNV,emscripten_glVertexAttribPointer:_emscripten_glVertexAttribPointer,emscripten_glVertexPointer:_emscripten_glVertexPointer,emscripten_glViewport:_emscripten_glViewport,emscripten_has_asyncify:_emscripten_has_asyncify,emscripten_hide_mouse:_emscripten_hide_mouse,emscripten_html5_remove_all_event_listeners:_emscripten_html5_remove_all_event_listeners,emscripten_idb_async_clear:_emscripten_idb_async_clear,emscripten_idb_async_delete:_emscripten_idb_async_delete,emscripten_idb_async_exists:_emscripten_idb_async_exists,emscripten_idb_async_load:_emscripten_idb_async_load,emscripten_idb_async_store:_emscripten_idb_async_store,emscripten_idb_clear:_emscripten_idb_clear,emscripten_idb_delete:_emscripten_idb_delete,emscripten_idb_exists:_emscripten_idb_exists,emscripten_idb_load:_emscripten_idb_load,emscripten_idb_store:_emscripten_idb_store,emscripten_is_main_browser_thread:_emscripten_is_main_browser_thread,emscripten_is_webgl_context_lost:_emscripten_is_webgl_context_lost,emscripten_lock_orientation:_emscripten_lock_orientation,emscripten_log:_emscripten_log,emscripten_math_acos:_emscripten_math_acos,emscripten_math_acosh:_emscripten_math_acosh,emscripten_math_asin:_emscripten_math_asin,emscripten_math_asinh:_emscripten_math_asinh,emscripten_math_atan:_emscripten_math_atan,emscripten_math_atan2:_emscripten_math_atan2,emscripten_math_atanh:_emscripten_math_atanh,emscripten_math_cbrt:_emscripten_math_cbrt,emscripten_math_cos:_emscripten_math_cos,emscripten_math_cosh:_emscripten_math_cosh,emscripten_math_exp:_emscripten_math_exp,emscripten_math_expm1:_emscripten_math_expm1,emscripten_math_fmod:_emscripten_math_fmod,emscripten_math_hypot:_emscripten_math_hypot,emscripten_math_log:_emscripten_math_log,emscripten_math_log10:_emscripten_math_log10,emscripten_math_log1p:_emscripten_math_log1p,emscripten_math_log2:_emscripten_math_log2,emscripten_math_pow:_emscripten_math_pow,emscripten_math_random:_emscripten_math_random,emscripten_math_round:_emscripten_math_round,emscripten_math_sign:_emscripten_math_sign,emscripten_math_sin:_emscripten_math_sin,emscripten_math_sinh:_emscripten_math_sinh,emscripten_math_sqrt:_emscripten_math_sqrt,emscripten_math_tan:_emscripten_math_tan,emscripten_math_tanh:_emscripten_math_tanh,emscripten_notify_memory_growth:_emscripten_notify_memory_growth,emscripten_out:_emscripten_out,emscripten_outn:_emscripten_outn,emscripten_pause_main_loop:_emscripten_pause_main_loop,emscripten_pc_get_column:_emscripten_pc_get_column,emscripten_pc_get_file:_emscripten_pc_get_file,emscripten_pc_get_function:_emscripten_pc_get_function,emscripten_pc_get_line:_emscripten_pc_get_line,emscripten_performance_now:_emscripten_performance_now,emscripten_print_double:_emscripten_print_double,emscripten_promise_all:_emscripten_promise_all,emscripten_promise_all_settled:_emscripten_promise_all_settled,emscripten_promise_any:_emscripten_promise_any,emscripten_promise_await:_emscripten_promise_await,emscripten_promise_create:_emscripten_promise_create,emscripten_promise_destroy:_emscripten_promise_destroy,emscripten_promise_race:_emscripten_promise_race,emscripten_promise_resolve:_emscripten_promise_resolve,emscripten_promise_then:_emscripten_promise_then,emscripten_random:_emscripten_random,emscripten_request_animation_frame:_emscripten_request_animation_frame,emscripten_request_animation_frame_loop:_emscripten_request_animation_frame_loop,emscripten_request_fullscreen:_emscripten_request_fullscreen,emscripten_request_fullscreen_strategy:_emscripten_request_fullscreen_strategy,emscripten_request_pointerlock:_emscripten_request_pointerlock,emscripten_resize_heap:_emscripten_resize_heap,emscripten_resume_main_loop:_emscripten_resume_main_loop,emscripten_return_address:_emscripten_return_address,emscripten_run_preload_plugins:_emscripten_run_preload_plugins,emscripten_run_preload_plugins_data:_emscripten_run_preload_plugins_data,emscripten_run_script:_emscripten_run_script,emscripten_run_script_int:_emscripten_run_script_int,emscripten_run_script_string:_emscripten_run_script_string,emscripten_runtime_keepalive_check:_emscripten_runtime_keepalive_check,emscripten_runtime_keepalive_pop:_emscripten_runtime_keepalive_pop,emscripten_runtime_keepalive_push:_emscripten_runtime_keepalive_push,emscripten_sample_gamepad_data:_emscripten_sample_gamepad_data,emscripten_scan_registers:_emscripten_scan_registers,emscripten_set_batterychargingchange_callback_on_thread:_emscripten_set_batterychargingchange_callback_on_thread,emscripten_set_batterylevelchange_callback_on_thread:_emscripten_set_batterylevelchange_callback_on_thread,emscripten_set_beforeunload_callback_on_thread:_emscripten_set_beforeunload_callback_on_thread,emscripten_set_blur_callback_on_thread:_emscripten_set_blur_callback_on_thread,emscripten_set_canvas_element_size:_emscripten_set_canvas_element_size,emscripten_set_canvas_size:_emscripten_set_canvas_size,emscripten_set_click_callback_on_thread:_emscripten_set_click_callback_on_thread,emscripten_set_dblclick_callback_on_thread:_emscripten_set_dblclick_callback_on_thread,emscripten_set_devicemotion_callback_on_thread:_emscripten_set_devicemotion_callback_on_thread,emscripten_set_deviceorientation_callback_on_thread:_emscripten_set_deviceorientation_callback_on_thread,emscripten_set_element_css_size:_emscripten_set_element_css_size,emscripten_set_focus_callback_on_thread:_emscripten_set_focus_callback_on_thread,emscripten_set_focusin_callback_on_thread:_emscripten_set_focusin_callback_on_thread,emscripten_set_focusout_callback_on_thread:_emscripten_set_focusout_callback_on_thread,emscripten_set_fullscreenchange_callback_on_thread:_emscripten_set_fullscreenchange_callback_on_thread,emscripten_set_gamepadconnected_callback_on_thread:_emscripten_set_gamepadconnected_callback_on_thread,emscripten_set_gamepaddisconnected_callback_on_thread:_emscripten_set_gamepaddisconnected_callback_on_thread,emscripten_set_immediate:_emscripten_set_immediate,emscripten_set_immediate_loop:_emscripten_set_immediate_loop,emscripten_set_interval:_emscripten_set_interval,emscripten_set_keydown_callback_on_thread:_emscripten_set_keydown_callback_on_thread,emscripten_set_keypress_callback_on_thread:_emscripten_set_keypress_callback_on_thread,emscripten_set_keyup_callback_on_thread:_emscripten_set_keyup_callback_on_thread,emscripten_set_main_loop:_emscripten_set_main_loop,emscripten_set_main_loop_arg:_emscripten_set_main_loop_arg,emscripten_set_main_loop_expected_blockers:_emscripten_set_main_loop_expected_blockers,emscripten_set_main_loop_timing:_emscripten_set_main_loop_timing,emscripten_set_mousedown_callback_on_thread:_emscripten_set_mousedown_callback_on_thread,emscripten_set_mouseenter_callback_on_thread:_emscripten_set_mouseenter_callback_on_thread,emscripten_set_mouseleave_callback_on_thread:_emscripten_set_mouseleave_callback_on_thread,emscripten_set_mousemove_callback_on_thread:_emscripten_set_mousemove_callback_on_thread,emscripten_set_mouseout_callback_on_thread:_emscripten_set_mouseout_callback_on_thread,emscripten_set_mouseover_callback_on_thread:_emscripten_set_mouseover_callback_on_thread,emscripten_set_mouseup_callback_on_thread:_emscripten_set_mouseup_callback_on_thread,emscripten_set_orientationchange_callback_on_thread:_emscripten_set_orientationchange_callback_on_thread,emscripten_set_pointerlockchange_callback_on_thread:_emscripten_set_pointerlockchange_callback_on_thread,emscripten_set_pointerlockerror_callback_on_thread:_emscripten_set_pointerlockerror_callback_on_thread,emscripten_set_resize_callback_on_thread:_emscripten_set_resize_callback_on_thread,emscripten_set_scroll_callback_on_thread:_emscripten_set_scroll_callback_on_thread,emscripten_set_socket_close_callback:_emscripten_set_socket_close_callback,emscripten_set_socket_connection_callback:_emscripten_set_socket_connection_callback,emscripten_set_socket_error_callback:_emscripten_set_socket_error_callback,emscripten_set_socket_listen_callback:_emscripten_set_socket_listen_callback,emscripten_set_socket_message_callback:_emscripten_set_socket_message_callback,emscripten_set_socket_open_callback:_emscripten_set_socket_open_callback,emscripten_set_timeout:_emscripten_set_timeout,emscripten_set_timeout_loop:_emscripten_set_timeout_loop,emscripten_set_touchcancel_callback_on_thread:_emscripten_set_touchcancel_callback_on_thread,emscripten_set_touchend_callback_on_thread:_emscripten_set_touchend_callback_on_thread,emscripten_set_touchmove_callback_on_thread:_emscripten_set_touchmove_callback_on_thread,emscripten_set_touchstart_callback_on_thread:_emscripten_set_touchstart_callback_on_thread,emscripten_set_visibilitychange_callback_on_thread:_emscripten_set_visibilitychange_callback_on_thread,emscripten_set_webglcontextlost_callback_on_thread:_emscripten_set_webglcontextlost_callback_on_thread,emscripten_set_webglcontextrestored_callback_on_thread:_emscripten_set_webglcontextrestored_callback_on_thread,emscripten_set_wheel_callback_on_thread:_emscripten_set_wheel_callback_on_thread,emscripten_set_window_title:_emscripten_set_window_title,emscripten_sleep:_emscripten_sleep,emscripten_stack_snapshot:_emscripten_stack_snapshot,emscripten_stack_unwind_buffer:_emscripten_stack_unwind_buffer,emscripten_supports_offscreencanvas:_emscripten_supports_offscreencanvas,emscripten_throw_number:_emscripten_throw_number,emscripten_throw_string:_emscripten_throw_string,emscripten_unlock_orientation:_emscripten_unlock_orientation,emscripten_unwind_to_js_event_loop:_emscripten_unwind_to_js_event_loop,emscripten_vibrate:_emscripten_vibrate,emscripten_vibrate_pattern:_emscripten_vibrate_pattern,emscripten_webgl_commit_frame:_emscripten_webgl_commit_frame,emscripten_webgl_create_context:_emscripten_webgl_create_context,emscripten_webgl_destroy_context:_emscripten_webgl_destroy_context,emscripten_webgl_do_commit_frame:_emscripten_webgl_do_commit_frame,emscripten_webgl_do_create_context:_emscripten_webgl_do_create_context,emscripten_webgl_do_get_current_context:_emscripten_webgl_do_get_current_context,emscripten_webgl_enable_ANGLE_instanced_arrays:_emscripten_webgl_enable_ANGLE_instanced_arrays,emscripten_webgl_enable_EXT_clip_control:_emscripten_webgl_enable_EXT_clip_control,emscripten_webgl_enable_EXT_polygon_offset_clamp:_emscripten_webgl_enable_EXT_polygon_offset_clamp,emscripten_webgl_enable_OES_vertex_array_object:_emscripten_webgl_enable_OES_vertex_array_object,emscripten_webgl_enable_WEBGL_draw_buffers:_emscripten_webgl_enable_WEBGL_draw_buffers,emscripten_webgl_enable_WEBGL_multi_draw:_emscripten_webgl_enable_WEBGL_multi_draw,emscripten_webgl_enable_WEBGL_polygon_mode:_emscripten_webgl_enable_WEBGL_polygon_mode,emscripten_webgl_enable_extension:_emscripten_webgl_enable_extension,emscripten_webgl_get_context_attributes:_emscripten_webgl_get_context_attributes,emscripten_webgl_get_current_context:_emscripten_webgl_get_current_context,emscripten_webgl_get_drawing_buffer_size:_emscripten_webgl_get_drawing_buffer_size,emscripten_webgl_get_parameter_d:_emscripten_webgl_get_parameter_d,emscripten_webgl_get_parameter_i64v:_emscripten_webgl_get_parameter_i64v,emscripten_webgl_get_parameter_o:_emscripten_webgl_get_parameter_o,emscripten_webgl_get_parameter_utf8:_emscripten_webgl_get_parameter_utf8,emscripten_webgl_get_parameter_v:_emscripten_webgl_get_parameter_v,emscripten_webgl_get_program_info_log_utf8:_emscripten_webgl_get_program_info_log_utf8,emscripten_webgl_get_program_parameter_d:_emscripten_webgl_get_program_parameter_d,emscripten_webgl_get_shader_info_log_utf8:_emscripten_webgl_get_shader_info_log_utf8,emscripten_webgl_get_shader_parameter_d:_emscripten_webgl_get_shader_parameter_d,emscripten_webgl_get_shader_source_utf8:_emscripten_webgl_get_shader_source_utf8,emscripten_webgl_get_supported_extensions:_emscripten_webgl_get_supported_extensions,emscripten_webgl_get_uniform_d:_emscripten_webgl_get_uniform_d,emscripten_webgl_get_uniform_v:_emscripten_webgl_get_uniform_v,emscripten_webgl_get_vertex_attrib_d:_emscripten_webgl_get_vertex_attrib_d,emscripten_webgl_get_vertex_attrib_o:_emscripten_webgl_get_vertex_attrib_o,emscripten_webgl_get_vertex_attrib_v:_emscripten_webgl_get_vertex_attrib_v,emscripten_webgl_make_context_current:_emscripten_webgl_make_context_current,emscripten_wget_data:_emscripten_wget_data,endprotoent:_endprotoent,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_pread:_fd_pread,fd_pwrite:_fd_pwrite,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,filledEllipseColor:_filledEllipseColor,filledEllipseRGBA:_filledEllipseRGBA,getaddrinfo:_getaddrinfo,getnameinfo:_getnameinfo,getprotobyname:_getprotobyname,getprotobynumber:_getprotobynumber,getprotoent:_getprotoent,glActiveTexture:_glActiveTexture,glAttachShader:_glAttachShader,glBegin:_glBegin,glBeginQueryEXT:_glBeginQueryEXT,glBindAttribLocation:_glBindAttribLocation,glBindBuffer:_glBindBuffer,glBindFramebuffer:_glBindFramebuffer,glBindRenderbuffer:_glBindRenderbuffer,glBindTexture:_glBindTexture,glBindVertexArray:_glBindVertexArray,glBindVertexArrayOES:_glBindVertexArrayOES,glBlendColor:_glBlendColor,glBlendEquation:_glBlendEquation,glBlendEquationSeparate:_glBlendEquationSeparate,glBlendFunc:_glBlendFunc,glBlendFuncSeparate:_glBlendFuncSeparate,glBufferData:_glBufferData,glBufferSubData:_glBufferSubData,glCheckFramebufferStatus:_glCheckFramebufferStatus,glClear:_glClear,glClearColor:_glClearColor,glClearDepth:_glClearDepth,glClearDepthf:_glClearDepthf,glClearStencil:_glClearStencil,glClipControlEXT:_glClipControlEXT,glColorMask:_glColorMask,glCompileShader:_glCompileShader,glCompressedTexImage2D:_glCompressedTexImage2D,glCompressedTexSubImage2D:_glCompressedTexSubImage2D,glCopyTexImage2D:_glCopyTexImage2D,glCopyTexSubImage2D:_glCopyTexSubImage2D,glCreateProgram:_glCreateProgram,glCreateShader:_glCreateShader,glCullFace:_glCullFace,glDeleteBuffers:_glDeleteBuffers,glDeleteFramebuffers:_glDeleteFramebuffers,glDeleteProgram:_glDeleteProgram,glDeleteQueriesEXT:_glDeleteQueriesEXT,glDeleteRenderbuffers:_glDeleteRenderbuffers,glDeleteShader:_glDeleteShader,glDeleteTextures:_glDeleteTextures,glDeleteVertexArrays:_glDeleteVertexArrays,glDeleteVertexArraysOES:_glDeleteVertexArraysOES,glDepthFunc:_glDepthFunc,glDepthMask:_glDepthMask,glDepthRange:_glDepthRange,glDepthRangef:_glDepthRangef,glDetachShader:_glDetachShader,glDisable:_glDisable,glDisableVertexAttribArray:_glDisableVertexAttribArray,glDrawArrays:_glDrawArrays,glDrawArraysInstanced:_glDrawArraysInstanced,glDrawArraysInstancedANGLE:_glDrawArraysInstancedANGLE,glDrawArraysInstancedARB:_glDrawArraysInstancedARB,glDrawArraysInstancedEXT:_glDrawArraysInstancedEXT,glDrawArraysInstancedNV:_glDrawArraysInstancedNV,glDrawBuffers:_glDrawBuffers,glDrawBuffersEXT:_glDrawBuffersEXT,glDrawBuffersWEBGL:_glDrawBuffersWEBGL,glDrawElements:_glDrawElements,glDrawElementsInstanced:_glDrawElementsInstanced,glDrawElementsInstancedANGLE:_glDrawElementsInstancedANGLE,glDrawElementsInstancedARB:_glDrawElementsInstancedARB,glDrawElementsInstancedEXT:_glDrawElementsInstancedEXT,glDrawElementsInstancedNV:_glDrawElementsInstancedNV,glEnable:_glEnable,glEnableVertexAttribArray:_glEnableVertexAttribArray,glEndQueryEXT:_glEndQueryEXT,glFinish:_glFinish,glFlush:_glFlush,glFramebufferRenderbuffer:_glFramebufferRenderbuffer,glFramebufferTexture2D:_glFramebufferTexture2D,glFrontFace:_glFrontFace,glGenBuffers:_glGenBuffers,glGenFramebuffers:_glGenFramebuffers,glGenQueriesEXT:_glGenQueriesEXT,glGenRenderbuffers:_glGenRenderbuffers,glGenTextures:_glGenTextures,glGenVertexArrays:_glGenVertexArrays,glGenVertexArraysOES:_glGenVertexArraysOES,glGenerateMipmap:_glGenerateMipmap,glGetActiveAttrib:_glGetActiveAttrib,glGetActiveUniform:_glGetActiveUniform,glGetAttachedShaders:_glGetAttachedShaders,glGetAttribLocation:_glGetAttribLocation,glGetBooleanv:_glGetBooleanv,glGetBufferParameteriv:_glGetBufferParameteriv,glGetError:_glGetError,glGetFloatv:_glGetFloatv,glGetFramebufferAttachmentParameteriv:_glGetFramebufferAttachmentParameteriv,glGetIntegerv:_glGetIntegerv,glGetProgramInfoLog:_glGetProgramInfoLog,glGetProgramiv:_glGetProgramiv,glGetQueryObjecti64vEXT:_glGetQueryObjecti64vEXT,glGetQueryObjectivEXT:_glGetQueryObjectivEXT,glGetQueryObjectui64vEXT:_glGetQueryObjectui64vEXT,glGetQueryObjectuivEXT:_glGetQueryObjectuivEXT,glGetQueryivEXT:_glGetQueryivEXT,glGetRenderbufferParameteriv:_glGetRenderbufferParameteriv,glGetShaderInfoLog:_glGetShaderInfoLog,glGetShaderPrecisionFormat:_glGetShaderPrecisionFormat,glGetShaderSource:_glGetShaderSource,glGetShaderiv:_glGetShaderiv,glGetString:_glGetString,glGetTexParameterfv:_glGetTexParameterfv,glGetTexParameteriv:_glGetTexParameteriv,glGetUniformLocation:_glGetUniformLocation,glGetUniformfv:_glGetUniformfv,glGetUniformiv:_glGetUniformiv,glGetVertexAttribPointerv:_glGetVertexAttribPointerv,glGetVertexAttribfv:_glGetVertexAttribfv,glGetVertexAttribiv:_glGetVertexAttribiv,glHint:_glHint,glIsBuffer:_glIsBuffer,glIsEnabled:_glIsEnabled,glIsFramebuffer:_glIsFramebuffer,glIsProgram:_glIsProgram,glIsQueryEXT:_glIsQueryEXT,glIsRenderbuffer:_glIsRenderbuffer,glIsShader:_glIsShader,glIsTexture:_glIsTexture,glIsVertexArray:_glIsVertexArray,glIsVertexArrayOES:_glIsVertexArrayOES,glLineWidth:_glLineWidth,glLinkProgram:_glLinkProgram,glLoadIdentity:_glLoadIdentity,glMatrixMode:_glMatrixMode,glMultiDrawArrays:_glMultiDrawArrays,glMultiDrawArraysANGLE:_glMultiDrawArraysANGLE,glMultiDrawArraysInstancedANGLE:_glMultiDrawArraysInstancedANGLE,glMultiDrawArraysInstancedWEBGL:_glMultiDrawArraysInstancedWEBGL,glMultiDrawArraysWEBGL:_glMultiDrawArraysWEBGL,glMultiDrawElements:_glMultiDrawElements,glMultiDrawElementsANGLE:_glMultiDrawElementsANGLE,glMultiDrawElementsInstancedANGLE:_glMultiDrawElementsInstancedANGLE,glMultiDrawElementsInstancedWEBGL:_glMultiDrawElementsInstancedWEBGL,glMultiDrawElementsWEBGL:_glMultiDrawElementsWEBGL,glPixelStorei:_glPixelStorei,glPolygonModeWEBGL:_glPolygonModeWEBGL,glPolygonOffset:_glPolygonOffset,glPolygonOffsetClampEXT:_glPolygonOffsetClampEXT,glQueryCounterEXT:_glQueryCounterEXT,glReadPixels:_glReadPixels,glReleaseShaderCompiler:_glReleaseShaderCompiler,glRenderbufferStorage:_glRenderbufferStorage,glSampleCoverage:_glSampleCoverage,glScissor:_glScissor,glShaderBinary:_glShaderBinary,glShaderSource:_glShaderSource,glStencilFunc:_glStencilFunc,glStencilFuncSeparate:_glStencilFuncSeparate,glStencilMask:_glStencilMask,glStencilMaskSeparate:_glStencilMaskSeparate,glStencilOp:_glStencilOp,glStencilOpSeparate:_glStencilOpSeparate,glTexImage2D:_glTexImage2D,glTexParameterf:_glTexParameterf,glTexParameterfv:_glTexParameterfv,glTexParameteri:_glTexParameteri,glTexParameteriv:_glTexParameteriv,glTexSubImage2D:_glTexSubImage2D,glUniform1f:_glUniform1f,glUniform1fv:_glUniform1fv,glUniform1i:_glUniform1i,glUniform1iv:_glUniform1iv,glUniform2f:_glUniform2f,glUniform2fv:_glUniform2fv,glUniform2i:_glUniform2i,glUniform2iv:_glUniform2iv,glUniform3f:_glUniform3f,glUniform3fv:_glUniform3fv,glUniform3i:_glUniform3i,glUniform3iv:_glUniform3iv,glUniform4f:_glUniform4f,glUniform4fv:_glUniform4fv,glUniform4i:_glUniform4i,glUniform4iv:_glUniform4iv,glUniformMatrix2fv:_glUniformMatrix2fv,glUniformMatrix3fv:_glUniformMatrix3fv,glUniformMatrix4fv:_glUniformMatrix4fv,glUseProgram:_glUseProgram,glValidateProgram:_glValidateProgram,glVertexAttrib1f:_glVertexAttrib1f,glVertexAttrib1fv:_glVertexAttrib1fv,glVertexAttrib2f:_glVertexAttrib2f,glVertexAttrib2fv:_glVertexAttrib2fv,glVertexAttrib3f:_glVertexAttrib3f,glVertexAttrib3fv:_glVertexAttrib3fv,glVertexAttrib4f:_glVertexAttrib4f,glVertexAttrib4fv:_glVertexAttrib4fv,glVertexAttribDivisor:_glVertexAttribDivisor,glVertexAttribDivisorANGLE:_glVertexAttribDivisorANGLE,glVertexAttribDivisorARB:_glVertexAttribDivisorARB,glVertexAttribDivisorEXT:_glVertexAttribDivisorEXT,glVertexAttribDivisorNV:_glVertexAttribDivisorNV,glVertexAttribPointer:_glVertexAttribPointer,glVertexPointer:_glVertexPointer,glViewport:_glViewport,glewGetErrorString:_glewGetErrorString,glewGetExtension:_glewGetExtension,glewGetString:_glewGetString,glewInit:_glewInit,glewIsSupported:_glewIsSupported,glutCreateWindow:_glutCreateWindow,glutDestroyWindow:_glutDestroyWindow,glutDisplayFunc:_glutDisplayFunc,glutFullScreen:_glutFullScreen,glutGet:_glutGet,glutGetModifiers:_glutGetModifiers,glutIdleFunc:_glutIdleFunc,glutInit:_glutInit,glutInitDisplayMode:_glutInitDisplayMode,glutInitWindowPosition:_glutInitWindowPosition,glutInitWindowSize:_glutInitWindowSize,glutKeyboardFunc:_glutKeyboardFunc,glutKeyboardUpFunc:_glutKeyboardUpFunc,glutMainLoop:_glutMainLoop,glutMotionFunc:_glutMotionFunc,glutMouseFunc:_glutMouseFunc,glutPassiveMotionFunc:_glutPassiveMotionFunc,glutPositionWindow:_glutPositionWindow,glutPostRedisplay:_glutPostRedisplay,glutReshapeFunc:_glutReshapeFunc,glutReshapeWindow:_glutReshapeWindow,glutSetCursor:_glutSetCursor,glutSpecialFunc:_glutSpecialFunc,glutSpecialUpFunc:_glutSpecialUpFunc,glutSwapBuffers:_glutSwapBuffers,glutTimerFunc:_glutTimerFunc,ipp:_ipp,ipp_async:_ipp_async,ippipppp:_ippipppp,ippipppp_async:_ippipppp_async,ippp:_ippp,ippp_async:_ippp_async,ipppi:_ipppi,ipppi_async:_ipppi_async,ipppiii:_ipppiii,ipppiii_async:_ipppiii_async,ipppiiip:_ipppiiip,ipppiiip_async:_ipppiiip_async,ipppip:_ipppip,ipppip_async:_ipppip_async,ipppj:_ipppj,ipppj_async:_ipppj_async,ipppp:_ipppp,ipppp_async:_ipppp_async,ippppi:_ippppi,ippppi_async:_ippppi_async,ippppij:_ippppij,ippppij_async:_ippppij_async,ippppip:_ippppip,ippppip_async:_ippppip_async,ipppppip:_ipppppip,ipppppip_async:_ipppppip_async,lineColor:_lineColor,lineRGBA:_lineRGBA,llvm_eh_typeid_for:_llvm_eh_typeid_for,memory:wasmMemory,pixelRGBA:_pixelRGBA,proc_exit:_proc_exit,random_get:_random_get,rectangleColor:_rectangleColor,rectangleRGBA:_rectangleRGBA,rotozoomSurface:_rotozoomSurface,setNetworkCallback:_setNetworkCallback,setprotoent:_setprotoent,stackAlloc:_stackAlloc,stackRestore:_stackRestore,stackSave:_stackSave,strptime:_strptime,strptime_l:_strptime_l,uuid_clear:_uuid_clear,uuid_compare:_uuid_compare,uuid_copy:_uuid_copy,uuid_generate:_uuid_generate,uuid_is_null:_uuid_is_null,uuid_parse:_uuid_parse,uuid_type:_uuid_type,uuid_unparse:_uuid_unparse,uuid_unparse_lower:_uuid_unparse_lower,uuid_unparse_upper:_uuid_unparse_upper,uuid_variant:_uuid_variant,vppippii:_vppippii,vppippii_async:_vppippii_async,vppp:_vppp,vppp_async:_vppp_async,vpppip:_vpppip,vpppip_async:_vpppip_async,zoomSurface:_zoomSurface};var wasmExports=await createWasm();var ___wasm_call_ctors=wasmExports["__wasm_call_ctors"];var _sqlite3_status64=Module["_sqlite3_status64"]=wasmExports["sqlite3_status64"];var _sqlite3_status=Module["_sqlite3_status"]=wasmExports["sqlite3_status"];var _sqlite3_db_status=Module["_sqlite3_db_status"]=wasmExports["sqlite3_db_status"];var _sqlite3_msize=Module["_sqlite3_msize"]=wasmExports["sqlite3_msize"];var _sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=wasmExports["sqlite3_vfs_find"];var _sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=wasmExports["sqlite3_vfs_register"];var _sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=wasmExports["sqlite3_vfs_unregister"];var _sqlite3_release_memory=Module["_sqlite3_release_memory"]=wasmExports["sqlite3_release_memory"];var _sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=wasmExports["sqlite3_soft_heap_limit64"];var _sqlite3_memory_used=Module["_sqlite3_memory_used"]=wasmExports["sqlite3_memory_used"];var _sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=wasmExports["sqlite3_hard_heap_limit64"];var _sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=wasmExports["sqlite3_memory_highwater"];var _sqlite3_malloc=Module["_sqlite3_malloc"]=wasmExports["sqlite3_malloc"];var _sqlite3_malloc64=Module["_sqlite3_malloc64"]=wasmExports["sqlite3_malloc64"];var _sqlite3_free=Module["_sqlite3_free"]=wasmExports["sqlite3_free"];var _sqlite3_realloc=Module["_sqlite3_realloc"]=wasmExports["sqlite3_realloc"];var _sqlite3_realloc64=Module["_sqlite3_realloc64"]=wasmExports["sqlite3_realloc64"];var _sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=wasmExports["sqlite3_str_vappendf"];var _sqlite3_str_append=Module["_sqlite3_str_append"]=wasmExports["sqlite3_str_append"];var _sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=wasmExports["sqlite3_str_appendchar"];var _sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=wasmExports["sqlite3_str_appendall"];var _sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=wasmExports["sqlite3_str_appendf"];var _sqlite3_str_finish=Module["_sqlite3_str_finish"]=wasmExports["sqlite3_str_finish"];var _sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=wasmExports["sqlite3_str_errcode"];var _sqlite3_str_length=Module["_sqlite3_str_length"]=wasmExports["sqlite3_str_length"];var _sqlite3_str_value=Module["_sqlite3_str_value"]=wasmExports["sqlite3_str_value"];var _sqlite3_str_reset=Module["_sqlite3_str_reset"]=wasmExports["sqlite3_str_reset"];var _sqlite3_str_new=Module["_sqlite3_str_new"]=wasmExports["sqlite3_str_new"];var _sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=wasmExports["sqlite3_vmprintf"];var _sqlite3_mprintf=Module["_sqlite3_mprintf"]=wasmExports["sqlite3_mprintf"];var _sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=wasmExports["sqlite3_vsnprintf"];var _sqlite3_snprintf=Module["_sqlite3_snprintf"]=wasmExports["sqlite3_snprintf"];var _sqlite3_log=Module["_sqlite3_log"]=wasmExports["sqlite3_log"];var _sqlite3_randomness=Module["_sqlite3_randomness"]=wasmExports["sqlite3_randomness"];var _sqlite3_stricmp=Module["_sqlite3_stricmp"]=wasmExports["sqlite3_stricmp"];var _sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=wasmExports["sqlite3_strnicmp"];var _sqlite3_os_init=Module["_sqlite3_os_init"]=wasmExports["sqlite3_os_init"];var _sqlite3_os_end=Module["_sqlite3_os_end"]=wasmExports["sqlite3_os_end"];var _sqlite3_serialize=Module["_sqlite3_serialize"]=wasmExports["sqlite3_serialize"];var _sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=wasmExports["sqlite3_prepare_v2"];var _sqlite3_step=Module["_sqlite3_step"]=wasmExports["sqlite3_step"];var _sqlite3_column_int64=Module["_sqlite3_column_int64"]=wasmExports["sqlite3_column_int64"];var _sqlite3_reset=Module["_sqlite3_reset"]=wasmExports["sqlite3_reset"];var _sqlite3_exec=Module["_sqlite3_exec"]=wasmExports["sqlite3_exec"];var _sqlite3_column_int=Module["_sqlite3_column_int"]=wasmExports["sqlite3_column_int"];var _sqlite3_finalize=Module["_sqlite3_finalize"]=wasmExports["sqlite3_finalize"];var _sqlite3_deserialize=Module["_sqlite3_deserialize"]=wasmExports["sqlite3_deserialize"];var _sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=wasmExports["sqlite3_database_file_object"];var _sqlite3_backup_init=Module["_sqlite3_backup_init"]=wasmExports["sqlite3_backup_init"];var _sqlite3_backup_step=Module["_sqlite3_backup_step"]=wasmExports["sqlite3_backup_step"];var _sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=wasmExports["sqlite3_backup_finish"];var _sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=wasmExports["sqlite3_backup_remaining"];var _sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=wasmExports["sqlite3_backup_pagecount"];var _sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=wasmExports["sqlite3_clear_bindings"];var _sqlite3_value_blob=Module["_sqlite3_value_blob"]=wasmExports["sqlite3_value_blob"];var _sqlite3_value_text=Module["_sqlite3_value_text"]=wasmExports["sqlite3_value_text"];var _sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=wasmExports["sqlite3_value_bytes"];var _sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=wasmExports["sqlite3_value_bytes16"];var _sqlite3_value_double=Module["_sqlite3_value_double"]=wasmExports["sqlite3_value_double"];var _sqlite3_value_int=Module["_sqlite3_value_int"]=wasmExports["sqlite3_value_int"];var _sqlite3_value_int64=Module["_sqlite3_value_int64"]=wasmExports["sqlite3_value_int64"];var _sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=wasmExports["sqlite3_value_subtype"];var _sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=wasmExports["sqlite3_value_pointer"];var _sqlite3_value_text16=Module["_sqlite3_value_text16"]=wasmExports["sqlite3_value_text16"];var _sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=wasmExports["sqlite3_value_text16be"];var _sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=wasmExports["sqlite3_value_text16le"];var _sqlite3_value_type=Module["_sqlite3_value_type"]=wasmExports["sqlite3_value_type"];var _sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=wasmExports["sqlite3_value_encoding"];var _sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=wasmExports["sqlite3_value_nochange"];var _sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=wasmExports["sqlite3_value_frombind"];var _sqlite3_value_dup=Module["_sqlite3_value_dup"]=wasmExports["sqlite3_value_dup"];var _sqlite3_value_free=Module["_sqlite3_value_free"]=wasmExports["sqlite3_value_free"];var _sqlite3_result_blob=Module["_sqlite3_result_blob"]=wasmExports["sqlite3_result_blob"];var _sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=wasmExports["sqlite3_result_blob64"];var _sqlite3_result_double=Module["_sqlite3_result_double"]=wasmExports["sqlite3_result_double"];var _sqlite3_result_error=Module["_sqlite3_result_error"]=wasmExports["sqlite3_result_error"];var _sqlite3_result_error16=Module["_sqlite3_result_error16"]=wasmExports["sqlite3_result_error16"];var _sqlite3_result_int=Module["_sqlite3_result_int"]=wasmExports["sqlite3_result_int"];var _sqlite3_result_int64=Module["_sqlite3_result_int64"]=wasmExports["sqlite3_result_int64"];var _sqlite3_result_null=Module["_sqlite3_result_null"]=wasmExports["sqlite3_result_null"];var _sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=wasmExports["sqlite3_result_pointer"];var _sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=wasmExports["sqlite3_result_subtype"];var _sqlite3_result_text=Module["_sqlite3_result_text"]=wasmExports["sqlite3_result_text"];var _sqlite3_result_text64=Module["_sqlite3_result_text64"]=wasmExports["sqlite3_result_text64"];var _sqlite3_result_text16=Module["_sqlite3_result_text16"]=wasmExports["sqlite3_result_text16"];var _sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=wasmExports["sqlite3_result_text16be"];var _sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=wasmExports["sqlite3_result_text16le"];var _sqlite3_result_value=Module["_sqlite3_result_value"]=wasmExports["sqlite3_result_value"];var _sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=wasmExports["sqlite3_result_error_toobig"];var _sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=wasmExports["sqlite3_result_zeroblob"];var _sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=wasmExports["sqlite3_result_zeroblob64"];var _sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=wasmExports["sqlite3_result_error_code"];var _sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=wasmExports["sqlite3_result_error_nomem"];var _sqlite3_user_data=Module["_sqlite3_user_data"]=wasmExports["sqlite3_user_data"];var _sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=wasmExports["sqlite3_context_db_handle"];var _sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=wasmExports["sqlite3_vtab_nochange"];var _sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=wasmExports["sqlite3_vtab_in_first"];var _sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=wasmExports["sqlite3_vtab_in_next"];var _sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=wasmExports["sqlite3_aggregate_context"];var _sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=wasmExports["sqlite3_get_auxdata"];var _sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=wasmExports["sqlite3_set_auxdata"];var _sqlite3_column_count=Module["_sqlite3_column_count"]=wasmExports["sqlite3_column_count"];var _sqlite3_data_count=Module["_sqlite3_data_count"]=wasmExports["sqlite3_data_count"];var _sqlite3_column_blob=Module["_sqlite3_column_blob"]=wasmExports["sqlite3_column_blob"];var _sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=wasmExports["sqlite3_column_bytes"];var _sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=wasmExports["sqlite3_column_bytes16"];var _sqlite3_column_double=Module["_sqlite3_column_double"]=wasmExports["sqlite3_column_double"];var _sqlite3_column_text=Module["_sqlite3_column_text"]=wasmExports["sqlite3_column_text"];var _sqlite3_column_value=Module["_sqlite3_column_value"]=wasmExports["sqlite3_column_value"];var _sqlite3_column_text16=Module["_sqlite3_column_text16"]=wasmExports["sqlite3_column_text16"];var _sqlite3_column_type=Module["_sqlite3_column_type"]=wasmExports["sqlite3_column_type"];var _sqlite3_column_name=Module["_sqlite3_column_name"]=wasmExports["sqlite3_column_name"];var _sqlite3_column_name16=Module["_sqlite3_column_name16"]=wasmExports["sqlite3_column_name16"];var _sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=wasmExports["sqlite3_bind_blob"];var _sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=wasmExports["sqlite3_bind_blob64"];var _sqlite3_bind_double=Module["_sqlite3_bind_double"]=wasmExports["sqlite3_bind_double"];var _sqlite3_bind_int=Module["_sqlite3_bind_int"]=wasmExports["sqlite3_bind_int"];var _sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=wasmExports["sqlite3_bind_int64"];var _sqlite3_bind_null=Module["_sqlite3_bind_null"]=wasmExports["sqlite3_bind_null"];var _sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=wasmExports["sqlite3_bind_pointer"];var _sqlite3_bind_text=Module["_sqlite3_bind_text"]=wasmExports["sqlite3_bind_text"];var _sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=wasmExports["sqlite3_bind_text64"];var _sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=wasmExports["sqlite3_bind_text16"];var _sqlite3_bind_value=Module["_sqlite3_bind_value"]=wasmExports["sqlite3_bind_value"];var _sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=wasmExports["sqlite3_bind_zeroblob"];var _sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=wasmExports["sqlite3_bind_zeroblob64"];var _sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=wasmExports["sqlite3_bind_parameter_count"];var _sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=wasmExports["sqlite3_bind_parameter_name"];var _sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=wasmExports["sqlite3_bind_parameter_index"];var _sqlite3_db_handle=Module["_sqlite3_db_handle"]=wasmExports["sqlite3_db_handle"];var _sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=wasmExports["sqlite3_stmt_readonly"];var _sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=wasmExports["sqlite3_stmt_isexplain"];var _sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=wasmExports["sqlite3_stmt_explain"];var _sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=wasmExports["sqlite3_stmt_busy"];var _sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=wasmExports["sqlite3_next_stmt"];var _sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=wasmExports["sqlite3_stmt_status"];var _sqlite3_sql=Module["_sqlite3_sql"]=wasmExports["sqlite3_sql"];var _sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=wasmExports["sqlite3_expanded_sql"];var _sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=wasmExports["sqlite3_value_numeric_type"];var _sqlite3_blob_open=Module["_sqlite3_blob_open"]=wasmExports["sqlite3_blob_open"];var _sqlite3_blob_close=Module["_sqlite3_blob_close"]=wasmExports["sqlite3_blob_close"];var _sqlite3_blob_read=Module["_sqlite3_blob_read"]=wasmExports["sqlite3_blob_read"];var _sqlite3_blob_write=Module["_sqlite3_blob_write"]=wasmExports["sqlite3_blob_write"];var _sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=wasmExports["sqlite3_blob_bytes"];var _sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=wasmExports["sqlite3_blob_reopen"];var _sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=wasmExports["sqlite3_set_authorizer"];var _sqlite3_strglob=Module["_sqlite3_strglob"]=wasmExports["sqlite3_strglob"];var _sqlite3_strlike=Module["_sqlite3_strlike"]=wasmExports["sqlite3_strlike"];var _sqlite3_errmsg=Module["_sqlite3_errmsg"]=wasmExports["sqlite3_errmsg"];var _sqlite3_load_extension=Module["_sqlite3_load_extension"]=wasmExports["sqlite3_load_extension"];var _sqlite3_enable_load_extension=Module["_sqlite3_enable_load_extension"]=wasmExports["sqlite3_enable_load_extension"];var _sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=wasmExports["sqlite3_auto_extension"];var _sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=wasmExports["sqlite3_cancel_auto_extension"];var _sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=wasmExports["sqlite3_reset_auto_extension"];var _sqlite3_prepare=Module["_sqlite3_prepare"]=wasmExports["sqlite3_prepare"];var _sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=wasmExports["sqlite3_prepare_v3"];var _sqlite3_prepare16=Module["_sqlite3_prepare16"]=wasmExports["sqlite3_prepare16"];var _sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=wasmExports["sqlite3_prepare16_v2"];var _sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=wasmExports["sqlite3_prepare16_v3"];var _sqlite3_get_table=Module["_sqlite3_get_table"]=wasmExports["sqlite3_get_table"];var _sqlite3_free_table=Module["_sqlite3_free_table"]=wasmExports["sqlite3_free_table"];var _sqlite3_create_module=Module["_sqlite3_create_module"]=wasmExports["sqlite3_create_module"];var _sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=wasmExports["sqlite3_create_module_v2"];var _sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=wasmExports["sqlite3_drop_modules"];var _sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=wasmExports["sqlite3_declare_vtab"];var _sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=wasmExports["sqlite3_vtab_on_conflict"];var _sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=wasmExports["sqlite3_vtab_config"];var _sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=wasmExports["sqlite3_vtab_collation"];var _sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=wasmExports["sqlite3_vtab_in"];var _sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=wasmExports["sqlite3_vtab_rhs_value"];var _sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=wasmExports["sqlite3_vtab_distinct"];var _sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=wasmExports["sqlite3_keyword_name"];var _sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=wasmExports["sqlite3_keyword_count"];var _sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=wasmExports["sqlite3_keyword_check"];var _sqlite3_complete=Module["_sqlite3_complete"]=wasmExports["sqlite3_complete"];var _sqlite3_complete16=Module["_sqlite3_complete16"]=wasmExports["sqlite3_complete16"];var _sqlite3_libversion=Module["_sqlite3_libversion"]=wasmExports["sqlite3_libversion"];var _sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=wasmExports["sqlite3_libversion_number"];var _sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=wasmExports["sqlite3_threadsafe"];var _sqlite3_initialize=Module["_sqlite3_initialize"]=wasmExports["sqlite3_initialize"];var _sqlite3_shutdown=Module["_sqlite3_shutdown"]=wasmExports["sqlite3_shutdown"];var _sqlite3_config=Module["_sqlite3_config"]=wasmExports["sqlite3_config"];var _sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=wasmExports["sqlite3_db_mutex"];var _sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=wasmExports["sqlite3_db_release_memory"];var _sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=wasmExports["sqlite3_db_cacheflush"];var _sqlite3_db_config=Module["_sqlite3_db_config"]=wasmExports["sqlite3_db_config"];var _sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=wasmExports["sqlite3_last_insert_rowid"];var _sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=wasmExports["sqlite3_set_last_insert_rowid"];var _sqlite3_changes64=Module["_sqlite3_changes64"]=wasmExports["sqlite3_changes64"];var _sqlite3_changes=Module["_sqlite3_changes"]=wasmExports["sqlite3_changes"];var _sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=wasmExports["sqlite3_total_changes64"];var _sqlite3_total_changes=Module["_sqlite3_total_changes"]=wasmExports["sqlite3_total_changes"];var _sqlite3_txn_state=Module["_sqlite3_txn_state"]=wasmExports["sqlite3_txn_state"];var _sqlite3_close=Module["_sqlite3_close"]=wasmExports["sqlite3_close"];var _sqlite3_close_v2=Module["_sqlite3_close_v2"]=wasmExports["sqlite3_close_v2"];var _sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=wasmExports["sqlite3_busy_handler"];var _sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=wasmExports["sqlite3_progress_handler"];var _sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=wasmExports["sqlite3_busy_timeout"];var _sqlite3_interrupt=Module["_sqlite3_interrupt"]=wasmExports["sqlite3_interrupt"];var _sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=wasmExports["sqlite3_is_interrupted"];var _sqlite3_create_function=Module["_sqlite3_create_function"]=wasmExports["sqlite3_create_function"];var _sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=wasmExports["sqlite3_create_function_v2"];var _sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=wasmExports["sqlite3_create_window_function"];var _sqlite3_create_function16=Module["_sqlite3_create_function16"]=wasmExports["sqlite3_create_function16"];var _sqlite3_overload_function=Module["_sqlite3_overload_function"]=wasmExports["sqlite3_overload_function"];var _sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=wasmExports["sqlite3_trace_v2"];var _sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=wasmExports["sqlite3_commit_hook"];var _sqlite3_update_hook=Module["_sqlite3_update_hook"]=wasmExports["sqlite3_update_hook"];var _sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=wasmExports["sqlite3_rollback_hook"];var _sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=wasmExports["sqlite3_autovacuum_pages"];var _sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=wasmExports["sqlite3_wal_autocheckpoint"];var _sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=wasmExports["sqlite3_wal_hook"];var _sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=wasmExports["sqlite3_wal_checkpoint_v2"];var _sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=wasmExports["sqlite3_wal_checkpoint"];var _sqlite3_error_offset=Module["_sqlite3_error_offset"]=wasmExports["sqlite3_error_offset"];var _sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=wasmExports["sqlite3_errmsg16"];var _sqlite3_errcode=Module["_sqlite3_errcode"]=wasmExports["sqlite3_errcode"];var _sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=wasmExports["sqlite3_extended_errcode"];var _sqlite3_system_errno=Module["_sqlite3_system_errno"]=wasmExports["sqlite3_system_errno"];var _sqlite3_errstr=Module["_sqlite3_errstr"]=wasmExports["sqlite3_errstr"];var _sqlite3_limit=Module["_sqlite3_limit"]=wasmExports["sqlite3_limit"];var _sqlite3_open=Module["_sqlite3_open"]=wasmExports["sqlite3_open"];var _sqlite3_open_v2=Module["_sqlite3_open_v2"]=wasmExports["sqlite3_open_v2"];var _sqlite3_open16=Module["_sqlite3_open16"]=wasmExports["sqlite3_open16"];var _sqlite3_create_collation=Module["_sqlite3_create_collation"]=wasmExports["sqlite3_create_collation"];var _sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=wasmExports["sqlite3_create_collation_v2"];var _sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=wasmExports["sqlite3_create_collation16"];var _sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=wasmExports["sqlite3_collation_needed"];var _sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=wasmExports["sqlite3_collation_needed16"];var _sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=wasmExports["sqlite3_get_clientdata"];var _sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=wasmExports["sqlite3_set_clientdata"];var _sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=wasmExports["sqlite3_get_autocommit"];var _sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=wasmExports["sqlite3_table_column_metadata"];var _sqlite3_sleep=Module["_sqlite3_sleep"]=wasmExports["sqlite3_sleep"];var _sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=wasmExports["sqlite3_extended_result_codes"];var _sqlite3_file_control=Module["_sqlite3_file_control"]=wasmExports["sqlite3_file_control"];var _sqlite3_test_control=Module["_sqlite3_test_control"]=wasmExports["sqlite3_test_control"];var _sqlite3_create_filename=Module["_sqlite3_create_filename"]=wasmExports["sqlite3_create_filename"];var _sqlite3_free_filename=Module["_sqlite3_free_filename"]=wasmExports["sqlite3_free_filename"];var _sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=wasmExports["sqlite3_uri_parameter"];var _sqlite3_uri_key=Module["_sqlite3_uri_key"]=wasmExports["sqlite3_uri_key"];var _sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=wasmExports["sqlite3_uri_boolean"];var _sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=wasmExports["sqlite3_uri_int64"];var _sqlite3_filename_database=Module["_sqlite3_filename_database"]=wasmExports["sqlite3_filename_database"];var _sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=wasmExports["sqlite3_filename_journal"];var _sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=wasmExports["sqlite3_filename_wal"];var _sqlite3_db_name=Module["_sqlite3_db_name"]=wasmExports["sqlite3_db_name"];var _sqlite3_db_filename=Module["_sqlite3_db_filename"]=wasmExports["sqlite3_db_filename"];var _sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=wasmExports["sqlite3_db_readonly"];var _sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=wasmExports["sqlite3_compileoption_used"];var _sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=wasmExports["sqlite3_compileoption_get"];var _sqlite3_sourceid=Module["_sqlite3_sourceid"]=wasmExports["sqlite3_sourceid"];var _strerror=wasmExports["strerror"];var _memcmp=Module["_memcmp"]=wasmExports["memcmp"];var _malloc=Module["_malloc"]=wasmExports["malloc"];var _free=Module["_free"]=wasmExports["free"];var _realloc=wasmExports["realloc"];var _RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=wasmExports["RegisterExtensionFunctions"];var _calloc=wasmExports["calloc"];var _getSqliteFree=Module["_getSqliteFree"]=wasmExports["getSqliteFree"];var _main=Module["_main"]=wasmExports["main"];var _libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=wasmExports["libauthorizer_set_authorizer"];var _libfunction_create_function=Module["_libfunction_create_function"]=wasmExports["libfunction_create_function"];var _libhook_commit_hook=Module["_libhook_commit_hook"]=wasmExports["libhook_commit_hook"];var _libhook_update_hook=Module["_libhook_update_hook"]=wasmExports["libhook_update_hook"];var _libprogress_progress_handler=Module["_libprogress_progress_handler"]=wasmExports["libprogress_progress_handler"];var _libvfs_vfs_register=Module["_libvfs_vfs_register"]=wasmExports["libvfs_vfs_register"];var ___dl_seterr=wasmExports["__dl_seterr"];var __emscripten_find_dylib=wasmExports["_emscripten_find_dylib"];var _memcpy=Module["_memcpy"]=wasmExports["memcpy"];var _memset=Module["_memset"]=wasmExports["memset"];var _fileno=wasmExports["fileno"];var _htonl=wasmExports["htonl"];var _htons=wasmExports["htons"];var _emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"];var _ntohs=wasmExports["ntohs"];var __emscripten_timeout=wasmExports["_emscripten_timeout"];var _setThrew=wasmExports["setThrew"];var __emscripten_tempret_set=wasmExports["_emscripten_tempret_set"];var __emscripten_tempret_get=wasmExports["_emscripten_tempret_get"];var ___get_temp_ret=wasmExports["__get_temp_ret"];var ___set_temp_ret=wasmExports["__set_temp_ret"];var __emscripten_stack_restore=wasmExports["_emscripten_stack_restore"];var __emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"];var _emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"];var ___cxa_demangle=wasmExports["__cxa_demangle"];var ___cxa_increment_exception_refcount=wasmExports["__cxa_increment_exception_refcount"];var ___cxa_decrement_exception_refcount=wasmExports["__cxa_decrement_exception_refcount"];var ___cxa_can_catch=wasmExports["__cxa_can_catch"];var ___cxa_get_exception_ptr=wasmExports["__cxa_get_exception_ptr"];var ___wasm_apply_data_relocs=wasmExports["__wasm_apply_data_relocs"];var _sqlite3_version=Module["_sqlite3_version"]=65489;function callMain(args=[]){var entryFunction=resolveGlobalSymbol("main").sym;if(!entryFunction)return;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args=arguments_){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}preInit();run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc,xStep,xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{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=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var dynamicLibraries=[];var wasmBinary;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var isFileURI=filename=>filename.startsWith("file://");var readyPromiseResolve,readyPromiseReject;var wasmMemory;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b)}function initMemory(){if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:32768})}updateMemoryViews()}var __RELOC_FUNCS__=[];function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__RELOC_FUNCS__);callRuntimeCallbacks(onInits);if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();SOCKFS.root=FS.mount(SOCKFS,{},null);PIPEFS.root=FS.mount(PIPEFS,{},null);wasmExports["__wasm_call_ctors"]();callRuntimeCallbacks(onPostCtors);FS.ignorePermissions=false}function preMain(){callRuntimeCallbacks(onMains)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("wa-sqlite-dynamic-main.wasm")}return new URL("wa-sqlite-dynamic-main.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=relocateExports(wasmExports,1024);var metadata=getDylinkMetadata(module);if(metadata.neededDynlibs){dynamicLibraries=metadata.neededDynlibs.concat(dynamicLibraries)}mergeLibSymbols(wasmExports,"main");LDSO.init();loadDylibs();__RELOC_FUNCS__.push(wasmExports["__wasm_apply_data_relocs"]);assignWasmExports(wasmExports);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"],result["module"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}var tempDouble;var tempI64;class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var GOT={};var currentModuleWeakSymbols=new Set([]);var GOTHandler={get(obj,symName){var rtn=GOT[symName];if(!rtn){rtn=GOT[symName]=new WebAssembly.Global({value:"i32",mutable:true})}if(!currentModuleWeakSymbols.has(symName)){rtn.required=true}return rtn}};var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var UTF8Decoder=new TextDecoder;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heapOrArray.buffer?heapOrArray.subarray(idx,endPtr):new Uint8Array(heapOrArray.slice(idx,endPtr)))};var getDylinkMetadata=binary=>{var offset=0;var end=0;function getU8(){return binary[offset++]}function getLEB(){var ret=0;var mul=1;while(1){var byte=binary[offset++];ret+=(byte&127)*mul;mul*=128;if(!(byte&128))break}return ret}function getString(){var len=getLEB();offset+=len;return UTF8ArrayToString(binary,offset-len,len)}function getStringList(){var count=getLEB();var rtn=[];while(count--)rtn.push(getString());return rtn}function failIf(condition,message){if(condition)throw new Error(message)}if(binary instanceof WebAssembly.Module){var dylinkSection=WebAssembly.Module.customSections(binary,"dylink.0");failIf(dylinkSection.length===0,"need dylink section");binary=new Uint8Array(dylinkSection[0]);end=binary.length}else{var int32View=new Uint32Array(new Uint8Array(binary.subarray(0,24)).buffer);var magicNumberFound=int32View[0]==1836278016;failIf(!magicNumberFound,"need to see wasm magic number");failIf(binary[8]!==0,"need the dylink section to be first");offset=9;var section_size=getLEB();end=offset+section_size;var name=getString();failIf(name!=="dylink.0")}var customSection={neededDynlibs:[],tlsExports:new Set,weakImports:new Set,runtimePaths:[]};var WASM_DYLINK_MEM_INFO=1;var WASM_DYLINK_NEEDED=2;var WASM_DYLINK_EXPORT_INFO=3;var WASM_DYLINK_IMPORT_INFO=4;var WASM_DYLINK_RUNTIME_PATH=5;var WASM_SYMBOL_TLS=256;var WASM_SYMBOL_BINDING_MASK=3;var WASM_SYMBOL_BINDING_WEAK=1;while(offset>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var newDSO=(name,handle,syms)=>{var dso={refcount:Infinity,name,exports:syms,global:true};LDSO.loadedLibsByName[name]=dso;if(handle!=undefined){LDSO.loadedLibsByHandle[handle]=dso}return dso};var LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO("__main__",0,wasmImports)}};var ___heap_base=1035968;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var getMemory=size=>{if(runtimeInitialized){return _calloc(size,1)}var ret=___heap_base;var end=ret+alignMemory(size,16);___heap_base=end;GOT["__heap_base"].value=end;return ret};var isInternalSym=symName=>["__cpp_exception","__c_longjmp","__wasm_apply_data_relocs","__dso_handle","__tls_size","__tls_align","__set_stack_limits","_emscripten_tls_init","__wasm_init_tls","__wasm_call_ctors","__start_em_asm","__stop_em_asm","__start_em_js","__stop_em_js"].includes(symName)||symName.startsWith("__em_js__");var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var paramType of sigParam){target.push(typeCodes[paramType])}if(sigRet=="v"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTable=new WebAssembly.Table({initial:1857,element:"anyfunc"});var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>wasmTable.set(idx,func);var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var updateGOT=(exports,replace)=>{for(var symName in exports){if(isInternalSym(symName)){continue}var value=exports[symName];if(symName.startsWith("orig$")){symName=symName.split("$")[1];replace=true}GOT[symName]||=new WebAssembly.Global({value:"i32",mutable:true});if(replace||GOT[symName].value==0){if(typeof value=="function"){GOT[symName].value=addFunction(value)}else if(typeof value=="number"){GOT[symName].value=value}else{err(`unhandled export type for '${symName}': ${typeof value}`)}}}};var relocateExports=(exports,memoryBase,replace)=>{var relocated={};for(var e in exports){var value=exports[e];if(typeof value=="object"){value=value.value}if(typeof value=="number"){value+=memoryBase}relocated[e]=value}updateGOT(relocated,replace);return relocated};var isSymbolDefined=symName=>{var existing=wasmImports[symName];if(!existing||existing.stub){return false}return true};var dynCall=(sig,ptr,args=[],promising=false)=>{if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var func=getWasmTableEntry(ptr);var rtn=func(...args);function convert(rtn){return rtn}return convert(rtn)};var stackSave=()=>_emscripten_stack_get_current();var stackRestore=val=>__emscripten_stack_restore(val);var createInvokeFunction=sig=>(ptr,...args)=>{var sp=stackSave();try{return dynCall(sig,ptr,args)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}};var resolveGlobalSymbol=(symName,direct=false)=>{var sym;if(direct&&"orig$"+symName in wasmImports){symName="orig$"+symName}if(isSymbolDefined(symName)){sym=wasmImports[symName]}else if(symName.startsWith("invoke_")){sym=wasmImports[symName]=createInvokeFunction(symName.split("_")[1])}return{sym,name:symName}};var onPostCtors=[];var addOnPostCtor=cb=>onPostCtors.push(cb);var UTF8ToString=(ptr,maxBytesToRead)=>{if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))};var loadWebAssemblyModule=(binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);currentModuleWeakSymbols=metadata.weakImports;function loadModule(){var memAlign=Math.pow(2,metadata.memoryAlign);var memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0;var tableBase=metadata.tableSize?wasmTable.length:0;if(handle){HEAP8[handle+8]=1;HEAPU32[handle+12>>2]=memoryBase;HEAP32[handle+16>>2]=metadata.memorySize;HEAPU32[handle+20>>2]=tableBase;HEAP32[handle+24>>2]=metadata.tableSize}if(metadata.tableSize){wasmTable.grow(metadata.tableSize)}var moduleExports;function resolveSymbol(sym){var resolved=resolveGlobalSymbol(sym).sym;if(!resolved&&localScope){resolved=localScope[sym]}if(!resolved){resolved=moduleExports[sym]}return resolved}var proxyHandler={get(stubs,prop){switch(prop){case"__memory_base":return memoryBase;case"__table_base":return tableBase}if(prop in wasmImports&&!wasmImports[prop].stub){var res=wasmImports[prop];return res}if(!(prop in stubs)){var resolved;stubs[prop]=(...args)=>{resolved||=resolveSymbol(prop);return resolved(...args)}}return stubs[prop]}};var proxy=new Proxy({},proxyHandler);var info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize);moduleExports=relocateExports(instance.exports,memoryBase);if(!flags.allowUndefined){reportUndefinedSymbols()}function addEmAsm(addr,body){var args=[];var arity=0;for(;arity<16;arity++){if(body.indexOf("$"+arity)!=-1){args.push("$"+arity)}else{break}}args=args.join(",");var func=`(${args}) => { ${body} };`;ASM_CONSTS[start]=eval(func)}if("__start_em_asm"in moduleExports){var start=moduleExports["__start_em_asm"];var stop=moduleExports["__stop_em_asm"];while(start ${body};`;moduleExports[name]=eval(func)}for(var name in moduleExports){if(name.startsWith("__em_js__")){var start=moduleExports[name];var jsString=UTF8ToString(start);var parts=jsString.split("<::>");addEmJs(name.replace("__em_js__",""),parts[0],parts[1]);delete moduleExports[name]}}var applyRelocs=moduleExports["__wasm_apply_data_relocs"];if(applyRelocs){if(runtimeInitialized){applyRelocs()}else{__RELOC_FUNCS__.push(applyRelocs)}}var init=moduleExports["__wasm_call_ctors"];if(init){if(runtimeInitialized){init()}else{addOnPostCtor(init)}}return moduleExports}if(flags.loadAsync){return(async()=>{var instance;if(binary instanceof WebAssembly.Module){instance=new WebAssembly.Instance(binary,info)}else{({module:binary,instance}=await WebAssembly.instantiate(binary,info))}return postInstantiation(binary,instance)})()}var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary);var instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}flags={...flags,rpath:{parentLibPath:libName,paths:metadata.runtimePaths}};if(flags.loadAsync){return metadata.neededDynlibs.reduce((chain,dynNeeded)=>chain.then(()=>loadDynamicLibrary(dynNeeded,flags,localScope)),Promise.resolve()).then(loadModule)}metadata.neededDynlibs.forEach(needed=>loadDynamicLibrary(needed,flags,localScope));return loadModule()};var mergeLibSymbols=(exports,libName)=>{registerDynCallSymbols(exports);for(var[sym,exp]of Object.entries(exports)){const setImport=target=>{if(!isSymbolDefined(target)){wasmImports[target]=exp}};setImport(sym)}};var asyncLoad=async url=>{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};var preloadPlugins=[];var registerWasmPlugin=()=>{var wasmPlugin={promiseChainEnd:Promise.resolve(),canHandle:name=>!Module["noWasmDecoding"]&&name.endsWith(".so"),handle:(byteArray,name,onload,onerror)=>{wasmPlugin["promiseChainEnd"]=wasmPlugin["promiseChainEnd"].then(()=>loadWebAssemblyModule(byteArray,{loadAsync:true,nodelete:true},name,{})).then(exports=>{preloadedWasm[name]=exports;onload(byteArray)},error=>{err(`failed to instantiate wasm: ${name}: ${error}`);onerror()})}};preloadPlugins.push(wasmPlugin)};var preloadedWasm={};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.slice(-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.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var replaceORIGIN=(parentLibName,rpath)=>{if(rpath.startsWith("$ORIGIN")){var origin=PATH.dirname(parentLibName);return rpath.replace("$ORIGIN",origin)}return rpath};var withStackSave=f=>{var stack=stackSave();var ret=f();stackRestore(stack);return ret};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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;i++}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var initRandomFill=()=>view=>crypto.getRandomValues(view);var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,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.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthFS.createDataFile(...args);var getUniqueRunDependency=id=>id;var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}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|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,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){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}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)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){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);old_node.parent=new_dir}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;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return 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 link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){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)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},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}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,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,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){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},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)}if(!length){throw new FS.ErrnoError(28)}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)},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 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"){buf=UTF8ArrayToString(buf)}FS.close(stream);return buf},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){data=new Uint8Array(intArrayFromString(data,true))}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,llseek:()=>0});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){randomFill(randomBuffer);randomLeft=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",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},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){if(e.errno!=20)throw 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;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var findLibraryFS=(libName,rpath)=>{if(!runtimeInitialized){return undefined}if(PATH.isAbs(libName)){try{FS.lookupPath(libName);return libName}catch(e){return undefined}}var rpathResolved=(rpath?.paths||[]).map(p=>replaceORIGIN(rpath?.parentLibPath,p));return withStackSave(()=>{var bufSize=2*255+2;var buf=stackAlloc(bufSize);var rpathC=stringToUTF8OnStack(rpathResolved.join(":"));var libNameC=stringToUTF8OnStack(libName);var resLibNameC=__emscripten_find_dylib(buf,rpathC,libNameC,bufSize);return resLibNameC?UTF8ToString(resLibNameC):undefined})};var registerDynCallSymbols=exports=>{for(var[sym,exp]of Object.entries(exports)){if(sym.startsWith("dynCall_")&&!Module.hasOwnProperty(sym)){Module[sym]=exp}}};function loadDynamicLibrary(libName,flags={global:true,nodelete:true},localScope,handle){var dso=LDSO.loadedLibsByName[libName];if(dso){if(!flags.global){if(localScope){Object.assign(localScope,dso.exports)}registerDynCallSymbols(dso.exports)}else if(!dso.global){dso.global=true;mergeLibSymbols(dso.exports,libName)}if(flags.nodelete&&dso.refcount!==Infinity){dso.refcount=Infinity}dso.refcount++;if(handle){LDSO.loadedLibsByHandle[handle]=dso}return flags.loadAsync?Promise.resolve(true):true}dso=newDSO(libName,handle,"loading");dso.refcount=flags.nodelete?Infinity:1;dso.global=flags.global;function loadLibData(){if(handle){var data=HEAPU32[handle+28>>2];var dataSize=HEAPU32[handle+32>>2];if(data&&dataSize){var libData=HEAP8.slice(data,data+dataSize);return flags.loadAsync?Promise.resolve(libData):libData}}var f=findLibraryFS(libName,flags.rpath);if(f){var libData=FS.readFile(f,{encoding:"binary"});return flags.loadAsync?Promise.resolve(libData):libData}var libFile=locateFile(libName);if(flags.loadAsync){return asyncLoad(libFile)}if(!readBinary){throw new Error(`${libFile}: file not found, and synchronous loading of external files is not available`)}return readBinary(libFile)}function getExports(){var preloaded=preloadedWasm[libName];if(preloaded){return flags.loadAsync?Promise.resolve(preloaded):preloaded}if(flags.loadAsync){return loadLibData().then(libData=>loadWebAssemblyModule(libData,flags,libName,localScope,handle))}return loadWebAssemblyModule(loadLibData(),flags,libName,localScope,handle)}function moduleLoaded(exports){if(dso.global){mergeLibSymbols(exports,libName)}else if(localScope){Object.assign(localScope,exports);registerDynCallSymbols(exports)}dso.exports=exports}if(flags.loadAsync){return getExports().then(exports=>{moduleLoaded(exports);return true})}moduleLoaded(getExports());return true}var reportUndefinedSymbols=()=>{for(var[symName,entry]of Object.entries(GOT)){if(entry.value==0){var value=resolveGlobalSymbol(symName,true).sym;if(!value&&!entry.required){continue}if(typeof value=="function"){entry.value=addFunction(value,value.sig)}else if(typeof value=="number"){entry.value=value}else{throw new Error(`bad export type for '${symName}': ${typeof value}`)}}}};var loadDylibs=()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency("loadDylibs");dynamicLibraries.reduce((chain,lib)=>chain.then(()=>loadDynamicLibrary(lib,{loadAsync:true,global:true,nodelete:true,allowUndefined:true})),Promise.resolve()).then(()=>{reportUndefinedSymbols();removeRunDependency("loadDylibs")})};var noExitRuntime=true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);___assert_fail.sig="vppip";var ___call_sighandler=(fp,sig)=>getWasmTableEntry(fp)(sig);___call_sighandler.sig="vpi";var ___memory_base=new WebAssembly.Global({value:"i32",mutable:false},1024);var ___stack_high=1035968;var ___stack_low=511680;var ___stack_pointer=new WebAssembly.Global({value:"i32",mutable:true},1035968);var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},writeStatFs(buf,stats){HEAP32[buf+4>>2]=stats.bsize;HEAP32[buf+40>>2]=stats.bsize;HEAP32[buf+8>>2]=stats.blocks;HEAP32[buf+12>>2]=stats.bfree;HEAP32[buf+16>>2]=stats.bavail;HEAP32[buf+20>>2]=stats.files;HEAP32[buf+24>>2]=stats.ffree;HEAP32[buf+28>>2]=stats.fsid;HEAP32[buf+44>>2]=stats.flags;HEAP32[buf+36>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};var ___syscall__newselect=function(nfds,readfds,writefds,exceptfds,timeout){try{var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);var check=(fd,low,high,val)=>fd<32?low&val:high&val;for(var fd=0;fd>2]:0,tv_usec=readfds?HEAP32[timeout+4>>2]:0;timeoutInMillis=(tv_sec+tv_usec/1e6)*1e3}flags=stream.stream_ops.poll(stream,timeoutInMillis)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}};___syscall__newselect.sig="iipppp";var SOCKFS={websocketArgs:{},callbacks:{},on(event,callback){SOCKFS.callbacks[event]=callback},emit(event,param){SOCKFS.callbacks[event]?.(param)},mount(mount){SOCKFS.websocketArgs=Module["websocket"]||{};(Module["websocket"]??={})["on"]=SOCKFS.on;return FS.createNode(null,"/",16895,0)},createSocket(family,type,protocol){if(family!=2){throw new FS.ErrnoError(5)}type&=~526336;if(type!=1&&type!=2){throw new FS.ErrnoError(28)}var streaming=type==1;if(streaming&&protocol&&protocol!=6){throw new FS.ErrnoError(66)}var sock={family,type,protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return`socket[${SOCKFS.nextname.current++}]`},websocket_sock_ops:{createPeer(sock,addr,port){var ws;if(typeof addr=="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var url="ws://".replace("#","//");var subProtocols="binary";var opts=undefined;if(SOCKFS.websocketArgs["url"]){url=SOCKFS.websocketArgs["url"]}if(SOCKFS.websocketArgs["subprotocol"]){subProtocols=SOCKFS.websocketArgs["subprotocol"]}else if(SOCKFS.websocketArgs["subprotocol"]===null){subProtocols="null"}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=subProtocols}var WebSocketConstructor;{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr,port,socket:ws,msg_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!="undefined"){peer.msg_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer(sock,addr,port){return sock.peers[addr+":"+port]},addPeer(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents(sock,peer){var first=true;var handleOpen=function(){sock.connecting=false;SOCKFS.emit("open",sock.stream.fd);try{var queued=peer.msg_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.msg_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data=="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}data=new Uint8Array(data)}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data});SOCKFS.emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,isBinary){if(!isBinary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){SOCKFS.emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;SOCKFS.emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){SOCKFS.emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;SOCKFS.emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){if(sock.connecting){mask|=4}else{mask|=16}}return mask},ioctl(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return 28}},close(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}for(var peer of Object.values(sock.peers)){try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0},bind(sock,addr,port){if(typeof sock.saddr!="undefined"||typeof sock.sport!="undefined"){throw new FS.ErrnoError(28)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e.name==="ErrnoError"))throw e;if(e.errno!==138)throw e}}},connect(sock,addr,port){if(sock.server){throw new FS.ErrnoError(138)}if(typeof sock.daddr!="undefined"&&typeof sock.dport!="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(7)}else{throw new FS.ErrnoError(30)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;sock.connecting=true},listen(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(138)}},accept(listensock){if(!listensock.server||!listensock.pending.length){throw new FS.ErrnoError(28)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock},getname(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(53)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr,port}},sendmsg(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(17)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(53)}}if(ArrayBuffer.isView(buffer)){offset+=buffer.byteOffset;buffer=buffer.buffer}var data=buffer.slice(offset,offset+length);if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(sock.type===2){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}}dest.msg_send_queue.push(data);return length}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(28)}},recvmsg(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(53)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(53)}if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}throw new FS.ErrnoError(6)}throw new FS.ErrnoError(6)}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead{var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket};var inetPton4=str=>{var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0};var inetPton6=str=>{var words;var w,offset,z,i;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=Number(words[words.length-4])+Number(words[words.length-3])*256;words[words.length-3]=Number(words[words.length-2])+Number(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w{switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>2]=16}HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>2]=28}HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);break;default:return 5}return 0};var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};function ___syscall_accept4(fd,addr,addrlen,flags,d1,d2){try{var sock=getSocketFromFD(fd);var newsock=sock.sock_ops.accept(sock);if(addr){var errno=writeSockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport,addrlen)}return newsock.stream.fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_accept4.sig="iippiii";var inetNtop4=addr=>(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255);var inetNtop6=ints=>{var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word{var family=HEAP16[sa>>1];var port=_ntohs(HEAPU16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family,addr,port}};var getSocketAddress=(addrp,addrlen)=>{var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info};function ___syscall_bind(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.bind(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_bind.sig="iippiii";function ___syscall_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_chdir.sig="ip";function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_chmod.sig="ipi";function ___syscall_connect(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_connect.sig="iippiii";function ___syscall_dup(fd){try{var old=SYSCALLS.getStreamFromFD(fd);return FS.dupStream(old).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_dup.sig="ii";function ___syscall_dup3(fd,newfd,flags){try{var old=SYSCALLS.getStreamFromFD(fd);if(old.fd===newfd)return-28;if(newfd<0||newfd>=FS.MAX_OPEN_FDS)return-8;var existing=FS.getStream(newfd);if(existing)FS.close(existing);return FS.dupStream(old,newfd).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_dup3.sig="iiii";function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_faccessat.sig="iipii";var ___syscall_fadvise64=(fd,offset,len,advice)=>0;___syscall_fadvise64.sig="iiiiiii";var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_fallocate(fd,mode,offset_low,offset_high,len_low,len_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);var len=convertI32PairToI53Checked(len_low,len_high);try{if(isNaN(offset)||isNaN(len))return-61;if(mode!=0){return-138}if(offset<0||len<0){return-28}var oldSize=FS.fstat(fd).size;var newSize=offset+len;if(newSize>oldSize){FS.ftruncate(fd,newSize)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fallocate.sig="iiiiiii";function ___syscall_fchdir(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.chdir(stream.path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchdir.sig="ii";function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchmod.sig="iii";function ___syscall_fchmodat2(dirfd,path,mode,flags){try{var nofollow=flags&256;path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);FS.chmod(path,mode,nofollow);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchmodat2.sig="iipii";function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchown32.sig="iiii";function ___syscall_fchownat(dirfd,path,owner,group,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;flags=flags&~256;path=SYSCALLS.calculateAt(dirfd,path);(nofollow?FS.lchown:FS.chown)(path,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchownat.sig="iipiii";var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fcntl64.sig="iiip";function ___syscall_fdatasync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fdatasync.sig="ii";function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fstat64.sig="iip";function ___syscall_fstatfs64(fd,size,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);SYSCALLS.writeStatFs(buf,FS.statfsStream(stream));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fstatfs64.sig="iipp";function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_ftruncate64.sig="iiii";function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size>>0,(tempDouble=id,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getdents64.sig="iipp";function ___syscall_getpeername(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);if(!sock.daddr){return-53}var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport,addrlen);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getpeername.sig="iippiii";function ___syscall_getsockname(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport,addrlen);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getsockname.sig="iippiii";function ___syscall_getsockopt(fd,level,optname,optval,optlen,d1){try{var sock=getSocketFromFD(fd);if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-50}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getsockopt.sig="iiiippi";function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag,c_oflag,c_cflag,c_lflag,c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_ioctl.sig="iiip";function ___syscall_listen(fd,backlog){try{var sock=getSocketFromFD(fd);sock.sock_ops.listen(sock,backlog);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_listen.sig="iiiiiii";function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.lstat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_lstat64.sig="ipp";function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_mkdirat.sig="iipi";function ___syscall_mknodat(dirfd,path,mode,dev){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_mknodat.sig="iipii";function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.writeStat(buf,nofollow?FS.lstat(path):FS.stat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_newfstatat.sig="iippi";function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_openat.sig="iipip";var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount(mount){return FS.createNode(null,"/",16384|511,0)},createPipe(){var pipe={buckets:[],refcnt:2,timestamp:new Date};pipe.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var rName=PIPEFS.nextname();var wName=PIPEFS.nextname();var rNode=FS.createNode(PIPEFS.root,rName,4096,0);var wNode=FS.createNode(PIPEFS.root,wName,4096,0);rNode.pipe=pipe;wNode.pipe=pipe;var readableStream=FS.createStream({path:rName,node:rNode,flags:0,seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:1,seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{getattr(stream){var node=stream.node;var timestamp=node.pipe.timestamp;return{dev:14,ino:node.id,mode:4480,nlink:1,uid:0,gid:0,rdev:0,size:0,atime:timestamp,mtime:timestamp,ctime:timestamp,blksize:4096,blocks:0}},poll(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}for(var bucket of pipe.buckets){if(bucket.offset-bucket.roffset>0){return 64|1}}return 0},dup(stream){stream.node.pipe.refcnt++},ioctl(stream,request,varargs){return 28},fsync(stream){return 28},read(stream,buffer,offset,length,position){var pipe=stream.node.pipe;var currentLength=0;for(var bucket of pipe.buckets){currentLength+=bucket.offset-bucket.roffset}var data=buffer.subarray(offset,offset+length);if(length<=0){return 0}if(currentLength==0){throw new FS.ErrnoError(6)}var toRead=Math.min(currentLength,length);var totalRead=toRead;var toRemove=0;for(var bucket of pipe.buckets){var bucketSize=bucket.offset-bucket.roffset;if(toRead<=bucketSize){var tmpSlice=bucket.buffer.subarray(bucket.roffset,bucket.offset);if(toRead=dataLen){currBucket.buffer.set(data,currBucket.offset);currBucket.offset+=dataLen;return dataLen}else if(freeBytesInCurrBuffer>0){currBucket.buffer.set(data.subarray(0,freeBytesInCurrBuffer),currBucket.offset);currBucket.offset+=freeBytesInCurrBuffer;data=data.subarray(freeBytesInCurrBuffer,data.byteLength)}var numBuckets=data.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0;var remElements=data.byteLength%PIPEFS.BUCKET_BUFFER_SIZE;for(var i=0;i0){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:data.byteLength,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data)}return dataLen},close(stream){var pipe=stream.node.pipe;pipe.refcnt--;if(pipe.refcnt===0){pipe.buckets=null}}},nextname(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall_pipe(fdPtr){try{if(fdPtr==0){throw new FS.ErrnoError(21)}var res=PIPEFS.createPipe();HEAP32[fdPtr>>2]=res.readable_fd;HEAP32[fdPtr+4>>2]=res.writable_fd;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_pipe.sig="ip";function ___syscall_poll(fds,nfds,timeout){try{var nonzero=0;for(var i=0;i>2];var events=HEAP16[pollfd+4>>1];var mask=32;var stream=FS.getStream(fd);if(stream){mask=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){mask=stream.stream_ops.poll(stream,-1)}}mask&=events|8|16;if(mask)nonzero++;HEAP16[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_poll.sig="ipii";function ___syscall_readlinkat(dirfd,path,buf,bufsize){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_readlinkat.sig="iippp";function ___syscall_recvfrom(fd,buf,len,flags,addr,addrlen){try{var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_recvfrom.sig="iippipp";function ___syscall_recvmsg(fd,message,flags,d1,d2,d3){try{var sock=getSocketFromFD(fd);var iov=HEAPU32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAPU32[message>>2];if(name){var errno=writeSockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_recvmsg.sig="iipiiii";function ___syscall_renameat(olddirfd,oldpath,newdirfd,newpath){try{oldpath=SYSCALLS.getStr(oldpath);newpath=SYSCALLS.getStr(newpath);oldpath=SYSCALLS.calculateAt(olddirfd,oldpath);newpath=SYSCALLS.calculateAt(newdirfd,newpath);FS.rename(oldpath,newpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_renameat.sig="iipip";function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_rmdir.sig="ip";function ___syscall_sendmsg(fd,message,flags,d1,d2,d3){try{var sock=getSocketFromFD(fd);var iov=HEAPU32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAPU32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=getSocketAddress(name,namelen);port=info.port;addr=info.addr}var total=0;for(var i=0;i>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;jHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);var now=Date.now(),atime,mtime;if(!times){atime=now;mtime=now}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){atime=now}else if(nanoseconds==1073741822){atime=null}else{atime=seconds*1e3+nanoseconds/(1e3*1e3)}times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){mtime=now}else if(nanoseconds==1073741822){mtime=null}else{mtime=seconds*1e3+nanoseconds/(1e3*1e3)}}if((mtime??atime)!==null){FS.utime(path,atime,mtime)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_utimensat.sig="iippi";var ___table_base=new WebAssembly.Global({value:"i32",mutable:false},1);var __abort_js=()=>abort("");__abort_js.sig="v";var dlSetError=msg=>{var sp=stackSave();var cmsg=stringToUTF8OnStack(msg);___dl_seterr(cmsg,0);stackRestore(sp)};var dlopenInternal=(handle,jsflags)=>{var filename=UTF8ToString(handle+36);var flags=HEAP32[handle+4>>2];filename=PATH.normalize(filename);var searchpaths=[];var global=Boolean(flags&256);var localScope=global?null:{};var combinedFlags={global,nodelete:Boolean(flags&4096),loadAsync:jsflags.loadAsync};if(jsflags.loadAsync){return loadDynamicLibrary(filename,combinedFlags,localScope,handle)}try{return loadDynamicLibrary(filename,combinedFlags,localScope,handle)}catch(e){dlSetError(`Could not load dynamic lib: ${filename}\n${e}`);return 0}};var __dlopen_js=handle=>dlopenInternal(handle,{loadAsync:false});__dlopen_js.sig="pp";var __dlsym_js=(handle,symbol,symbolIndex)=>{symbol=UTF8ToString(symbol);var result;var newSymIndex;var lib=LDSO.loadedLibsByHandle[handle];if(!lib.exports.hasOwnProperty(symbol)||lib.exports[symbol].stub){dlSetError(`Tried to lookup unknown symbol "${symbol}" in dynamic lib: ${lib.name}`);return 0}newSymIndex=Object.keys(lib.exports).indexOf(symbol);var origSym="orig$"+symbol;result=lib.exports[origSym];if(result){newSymIndex=Object.keys(lib.exports).indexOf(origSym)}else result=lib.exports[symbol];if(typeof result=="function"){var addr=getFunctionAddress(result);if(addr){result=addr}else{result=addFunction(result,result.sig);HEAPU32[symbolIndex>>2]=newSymIndex}}return result};__dlsym_js.sig="pppp";var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};_proc_exit.sig="vi";var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;_exit.sig="vi";var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var __emscripten_dlopen_js=(handle,onsuccess,onerror,user_data)=>{function errorCallback(e){var filename=UTF8ToString(handle+36);dlSetError(`'Could not load dynamic lib: ${filename}\n${e}`);callUserCallback(()=>getWasmTableEntry(onerror)(handle,user_data))}function successCallback(){callUserCallback(()=>getWasmTableEntry(onsuccess)(handle,user_data))}var promise=dlopenInternal(handle,{loadAsync:true});if(promise){promise.then(successCallback,errorCallback)}else{errorCallback()}};__emscripten_dlopen_js.sig="vpppp";var getExecutableName=()=>thisProgram||"./this.program";var __emscripten_get_progname=(str,len)=>stringToUTF8(getExecutableName(),str,len);__emscripten_get_progname.sig="vpi";var __emscripten_lookup_name=name=>{var nameString=UTF8ToString(name);return inetPton4(DNS.lookup_name(nameString))};__emscripten_lookup_name.sig="ip";var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};__emscripten_runtime_keepalive_clear.sig="v";var __emscripten_system=command=>{if(!command)return 0;return-52};__emscripten_system.sig="ip";var __emscripten_throw_longjmp=()=>{throw Infinity};__emscripten_throw_longjmp.sig="v";function __gmtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday}__gmtime_js.sig="viip";var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}__localtime_js.sig="viip";var setTempRet0=val=>__emscripten_tempret_set(val);var _setTempRet0=setTempRet0;var __mktime_js=function(tmPtr){var ret=(()=>{var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getYear();var timeMs=date.getTime();if(isNaN(timeMs)){return-1}return timeMs/1e3})();return setTempRet0((tempDouble=ret,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),ret>>>0};__mktime_js.sig="ip";function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}__mmap_js.sig="ipiiiiipp";function __msync_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return-61;SYSCALLS.doMsync(addr,SYSCALLS.getStreamFromFD(fd),len,flags,offset);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}__msync_js.sig="ippiiiii";function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}__munmap_js.sig="ippiiiii";var timers={};var _emscripten_get_now=()=>performance.now();_emscripten_get_now.sig="d";var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};__setitimer_js.sig="iid";var __timegm_js=function(tmPtr){var ret=(()=>{var time=Date.UTC(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var date=new Date(time);HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3})();return setTempRet0((tempDouble=ret,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),ret>>>0};__timegm_js.sig="ip";var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset{MainLoop.timingMode=mode;MainLoop.timingValue=value;if(!MainLoop.func){return 1}if(!MainLoop.running){MainLoop.running=true}if(mode==0){MainLoop.scheduler=function MainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,MainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(MainLoop.runner,timeUntilNextTick)};MainLoop.method="timeout"}else if(mode==1){MainLoop.scheduler=function MainLoop_scheduler_rAF(){MainLoop.requestAnimationFrame(MainLoop.runner)};MainLoop.method="rAF"}else if(mode==2){if(typeof MainLoop.setImmediate=="undefined"){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var MainLoop_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",MainLoop_setImmediate_messageHandler,true);MainLoop.setImmediate=func=>{setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){Module["setImmediates"]??=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}else{MainLoop.setImmediate=setImmediate}}MainLoop.scheduler=function MainLoop_scheduler_setImmediate(){MainLoop.setImmediate(MainLoop.runner)};MainLoop.method="immediate"}return 0};_emscripten_set_main_loop_timing.sig="iii";var setMainLoop=(iterFunc,fps,simulateInfiniteLoop,arg,noSetTiming)=>{MainLoop.func=iterFunc;MainLoop.arg=arg;var thisMainLoopId=MainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=MainLoop.queue.shift();blocker.func(blocker.arg);if(MainLoop.remainingBlockers){var remaining=MainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){MainLoop.remainingBlockers=next}else{next=next+.5;MainLoop.remainingBlockers=(8*remaining+next)/9}}MainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(MainLoop.runner,0);return}if(!checkIsRunning())return;MainLoop.currentFrameNumber=MainLoop.currentFrameNumber+1|0;if(MainLoop.timingMode==1&&MainLoop.timingValue>1&&MainLoop.currentFrameNumber%MainLoop.timingValue!=0){MainLoop.scheduler();return}else if(MainLoop.timingMode==0){MainLoop.tickStartTime=_emscripten_get_now()}MainLoop.runIter(iterFunc);if(!checkIsRunning())return;MainLoop.scheduler()};if(!noSetTiming){if(fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}MainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}};var MainLoop={running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],preMainLoop:[],postMainLoop:[],pause(){MainLoop.scheduler=null;MainLoop.currentlyRunningMainloop++},resume(){MainLoop.currentlyRunningMainloop++;var timingMode=MainLoop.timingMode;var timingValue=MainLoop.timingValue;var func=MainLoop.func;MainLoop.func=null;setMainLoop(func,0,false,MainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);MainLoop.scheduler()},updateStatus(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=MainLoop.remainingBlockers??0;var expected=MainLoop.expectedBlockers??0;if(remaining){if(remaining=MainLoop.nextRAF){MainLoop.nextRAF+=1e3/60}}var delay=Math.max(MainLoop.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=MainLoop.fakeRequestAnimationFrame;RAF(func)}};var AL={QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:.1,DEVICE_NAME:"Emscripten OpenAL",CAPTURE_DEVICE_NAME:"Emscripten OpenAL capture",ALC_EXTENSIONS:{ALC_SOFT_pause_device:true,ALC_SOFT_HRTF:true},AL_EXTENSIONS:{AL_EXT_float32:true,AL_SOFT_loop_points:true,AL_SOFT_source_length:true,AL_EXT_source_distance_model:true,AL_SOFT_source_spatialize:true},_alcErr:0,alcErr:0,deviceRefCounts:{},alcStringCache:{},paused:false,stringCache:{},contexts:{},currentCtx:null,buffers:{0:{id:0,refCount:0,audioBuf:null,frequency:0,bytesPerSample:2,channels:1,length:0}},paramArray:[],_nextId:1,newId:()=>AL.freeIds.length>0?AL.freeIds.pop():AL._nextId++,freeIds:[],scheduleContextAudio:ctx=>{if(MainLoop.timingMode===1&&document["visibilityState"]!="visible"){return}for(var i in ctx.sources){AL.scheduleSourceAudio(ctx.sources[i])}},scheduleSourceAudio:(src,lookahead)=>{if(MainLoop.timingMode===1&&document["visibilityState"]!="visible"){return}if(src.state!==4114){return}var currentTime=AL.updateSourceTime(src);var startTime=src.bufStartTime;var startOffset=src.bufOffset;var bufCursor=src.bufsProcessed;for(var i=0;i=src.bufQueue.length){if(src.looping){bufCursor%=src.bufQueue.length}else{break}}var buf=src.bufQueue[bufCursor%src.bufQueue.length];if(buf.length===0){skipCount++;if(skipCount===src.bufQueue.length){break}}else{var audioSrc=src.context.audioCtx.createBufferSource();audioSrc.buffer=buf.audioBuf;audioSrc.playbackRate.value=src.playbackRate;if(buf.audioBuf._loopStart||buf.audioBuf._loopEnd){audioSrc.loopStart=buf.audioBuf._loopStart;audioSrc.loopEnd=buf.audioBuf._loopEnd}var duration=0;if(src.type===4136&&src.looping){duration=Number.POSITIVE_INFINITY;audioSrc.loop=true;if(buf.audioBuf._loopStart){audioSrc.loopStart=buf.audioBuf._loopStart}if(buf.audioBuf._loopEnd){audioSrc.loopEnd=buf.audioBuf._loopEnd}}else{duration=(buf.audioBuf.duration-startOffset)/src.playbackRate}audioSrc._startOffset=startOffset;audioSrc._duration=duration;audioSrc._skipCount=skipCount;skipCount=0;audioSrc.connect(src.gain);if(typeof audioSrc.start!="undefined"){startTime=Math.max(startTime,src.context.audioCtx.currentTime);audioSrc.start(startTime,startOffset)}else if(typeof audioSrc.noteOn!="undefined"){startTime=Math.max(startTime,src.context.audioCtx.currentTime);audioSrc.noteOn(startTime)}audioSrc._startTime=startTime;src.audioQueue.push(audioSrc);startTime+=duration}startOffset=0;bufCursor++}},updateSourceTime:src=>{var currentTime=src.context.audioCtx.currentTime;if(src.state!==4114){return currentTime}if(!isFinite(src.bufStartTime)){src.bufStartTime=currentTime-src.bufOffset/src.playbackRate;src.bufOffset=0}var nextStartTime=0;while(src.audioQueue.length){var audioSrc=src.audioQueue[0];src.bufsProcessed+=audioSrc._skipCount;nextStartTime=audioSrc._startTime+audioSrc._duration;if(currentTime=src.bufQueue.length&&!src.looping){AL.setSourceState(src,4116)}else if(src.type===4136&&src.looping){var buf=src.bufQueue[0];if(buf.length===0){src.bufOffset=0}else{var delta=(currentTime-src.bufStartTime)*src.playbackRate;var loopStart=buf.audioBuf._loopStart||0;var loopEnd=buf.audioBuf._loopEnd||buf.audioBuf.duration;if(loopEnd<=loopStart){loopEnd=buf.audioBuf.duration}if(delta0){src.bufStartTime+=Math.floor((currentTime-src.bufStartTime)/srcDuration)*srcDuration}}for(var i=0;i=src.bufQueue.length){if(src.looping){src.bufsProcessed%=src.bufQueue.length}else{AL.setSourceState(src,4116);break}}var buf=src.bufQueue[src.bufsProcessed];if(buf.length>0){nextStartTime=src.bufStartTime+buf.audioBuf.duration/src.playbackRate;if(currentTime{AL.updateSourceTime(src);for(var i=1;i1){src.audioQueue.length=1}},stopSourceAudio:src=>{for(var i=0;i{if(state===4114){if(src.state===4114||src.state==4116){src.bufsProcessed=0;src.bufOffset=0}else{}AL.stopSourceAudio(src);src.state=4114;src.bufStartTime=Number.NEGATIVE_INFINITY;AL.scheduleSourceAudio(src)}else if(state===4115){if(src.state===4114){AL.updateSourceTime(src);AL.stopSourceAudio(src);src.state=4115}}else if(state===4116){if(src.state!==4113){src.state=4116;src.bufsProcessed=src.bufQueue.length;src.bufStartTime=Number.NEGATIVE_INFINITY;src.bufOffset=0;AL.stopSourceAudio(src)}}else if(state===4113){if(src.state!==4113){src.state=4113;src.bufsProcessed=0;src.bufStartTime=Number.NEGATIVE_INFINITY;src.bufOffset=0;AL.stopSourceAudio(src)}}},initSourcePanner:src=>{if(src.type===4144){return}var templateBuf=AL.buffers[0];for(var i=0;i{for(var i in ctx.sources){AL.updateSourceGlobal(ctx.sources[i])}},updateSourceGlobal:src=>{var panner=src.panner;if(!panner){return}panner.refDistance=src.refDistance;panner.maxDistance=src.maxDistance;panner.rolloffFactor=src.rolloffFactor;panner.panningModel=src.context.hrtf?"HRTF":"equalpower";var distanceModel=src.context.sourceDistanceModel?src.distanceModel:src.context.distanceModel;switch(distanceModel){case 0:panner.distanceModel="inverse";panner.refDistance=340282e33;break;case 53249:case 53250:panner.distanceModel="inverse";break;case 53251:case 53252:panner.distanceModel="linear";break;case 53253:case 53254:panner.distanceModel="exponential";break}},updateListenerSpace:ctx=>{var listener=ctx.audioCtx.listener;if(listener.positionX){listener.positionX.value=ctx.listener.position[0];listener.positionY.value=ctx.listener.position[1];listener.positionZ.value=ctx.listener.position[2]}else{listener.setPosition(ctx.listener.position[0],ctx.listener.position[1],ctx.listener.position[2])}if(listener.forwardX){listener.forwardX.value=ctx.listener.direction[0];listener.forwardY.value=ctx.listener.direction[1];listener.forwardZ.value=ctx.listener.direction[2];listener.upX.value=ctx.listener.up[0];listener.upY.value=ctx.listener.up[1];listener.upZ.value=ctx.listener.up[2]}else{listener.setOrientation(ctx.listener.direction[0],ctx.listener.direction[1],ctx.listener.direction[2],ctx.listener.up[0],ctx.listener.up[1],ctx.listener.up[2])}for(var i in ctx.sources){AL.updateSourceSpace(ctx.sources[i])}},updateSourceSpace:src=>{if(!src.panner){return}var panner=src.panner;var posX=src.position[0];var posY=src.position[1];var posZ=src.position[2];var dirX=src.direction[0];var dirY=src.direction[1];var dirZ=src.direction[2];var listener=src.context.listener;var lPosX=listener.position[0];var lPosY=listener.position[1];var lPosZ=listener.position[2];if(src.relative){var lBackX=-listener.direction[0];var lBackY=-listener.direction[1];var lBackZ=-listener.direction[2];var lUpX=listener.up[0];var lUpY=listener.up[1];var lUpZ=listener.up[2];var inverseMagnitude=(x,y,z)=>{var length=Math.sqrt(x*x+y*y+z*z);if(length{if(src.state===4114){AL.cancelPendingSourceAudio(src);var audioSrc=src.audioQueue[0];if(!audioSrc){return}var duration;if(src.type===4136&&src.looping){duration=Number.POSITIVE_INFINITY}else{duration=(audioSrc.buffer.duration-audioSrc._startOffset)/src.playbackRate}audioSrc._duration=duration;audioSrc.playbackRate.value=src.playbackRate;AL.scheduleSourceAudio(src)}},sourceDuration:src=>{var length=0;for(var i=0;i{AL.updateSourceTime(src);var offset=0;for(var i=0;i{var playing=src.state==4114;if(playing){AL.setSourceState(src,4113)}if(src.bufQueue[src.bufsProcessed].audioBuf!==null){src.bufsProcessed=0;while(offset>src.bufQueue[src.bufsProcessed].audioBuf.duration){offset-=src.bufQueue[src.bufsProcessed].audioBuf.duration;src.bufsProcessed++}src.bufOffset=offset}if(playing){AL.setSourceState(src,4114)}},getGlobalParam:(funcname,param)=>{if(!AL.currentCtx){return null}switch(param){case 49152:return AL.currentCtx.dopplerFactor;case 49155:return AL.currentCtx.speedOfSound;case 53248:return AL.currentCtx.distanceModel;default:AL.currentCtx.err=40962;return null}},setGlobalParam:(funcname,param,value)=>{if(!AL.currentCtx){return}switch(param){case 49152:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}AL.currentCtx.dopplerFactor=value;AL.updateListenerSpace(AL.currentCtx);break;case 49155:if(!Number.isFinite(value)||value<=0){AL.currentCtx.err=40963;return}AL.currentCtx.speedOfSound=value;AL.updateListenerSpace(AL.currentCtx);break;case 53248:switch(value){case 0:case 53249:case 53250:case 53251:case 53252:case 53253:case 53254:AL.currentCtx.distanceModel=value;AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}},getListenerParam:(funcname,param)=>{if(!AL.currentCtx){return null}switch(param){case 4100:return AL.currentCtx.listener.position;case 4102:return AL.currentCtx.listener.velocity;case 4111:return AL.currentCtx.listener.direction.concat(AL.currentCtx.listener.up);case 4106:return AL.currentCtx.gain.gain.value;default:AL.currentCtx.err=40962;return null}},setListenerParam:(funcname,param,value)=>{if(!AL.currentCtx){return}if(value===null){AL.currentCtx.err=40962;return}var listener=AL.currentCtx.listener;switch(param){case 4100:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}listener.position[0]=value[0];listener.position[1]=value[1];listener.position[2]=value[2];AL.updateListenerSpace(AL.currentCtx);break;case 4102:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}listener.velocity[0]=value[0];listener.velocity[1]=value[1];listener.velocity[2]=value[2];AL.updateListenerSpace(AL.currentCtx);break;case 4106:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}AL.currentCtx.gain.gain.value=value;break;case 4111:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])||!Number.isFinite(value[3])||!Number.isFinite(value[4])||!Number.isFinite(value[5])){AL.currentCtx.err=40963;return}listener.direction[0]=value[0];listener.direction[1]=value[1];listener.direction[2]=value[2];listener.up[0]=value[3];listener.up[1]=value[4];listener.up[2]=value[5];AL.updateListenerSpace(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}},getBufferParam:(funcname,bufferId,param)=>{if(!AL.currentCtx){return}var buf=AL.buffers[bufferId];if(!buf||bufferId===0){AL.currentCtx.err=40961;return}switch(param){case 8193:return buf.frequency;case 8194:return buf.bytesPerSample*8;case 8195:return buf.channels;case 8196:return buf.length*buf.bytesPerSample*buf.channels;case 8213:if(buf.length===0){return[0,0]}return[(buf.audioBuf._loopStart||0)*buf.frequency,(buf.audioBuf._loopEnd||buf.length)*buf.frequency];default:AL.currentCtx.err=40962;return null}},setBufferParam:(funcname,bufferId,param,value)=>{if(!AL.currentCtx){return}var buf=AL.buffers[bufferId];if(!buf||bufferId===0){AL.currentCtx.err=40961;return}if(value===null){AL.currentCtx.err=40962;return}switch(param){case 8196:if(value!==0){AL.currentCtx.err=40963;return}break;case 8213:if(value[0]<0||value[0]>buf.length||value[1]<0||value[1]>buf.Length||value[0]>=value[1]){AL.currentCtx.err=40963;return}if(buf.refCount>0){AL.currentCtx.err=40964;return}if(buf.audioBuf){buf.audioBuf._loopStart=value[0]/buf.frequency;buf.audioBuf._loopEnd=value[1]/buf.frequency}break;default:AL.currentCtx.err=40962;return}},getSourceParam:(funcname,sourceId,param)=>{if(!AL.currentCtx){return null}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return null}switch(param){case 514:return src.relative;case 4097:return src.coneInnerAngle;case 4098:return src.coneOuterAngle;case 4099:return src.pitch;case 4100:return src.position;case 4101:return src.direction;case 4102:return src.velocity;case 4103:return src.looping;case 4105:if(src.type===4136){return src.bufQueue[0].id}return 0;case 4106:return src.gain.gain.value;case 4109:return src.minGain;case 4110:return src.maxGain;case 4112:return src.state;case 4117:if(src.bufQueue.length===1&&src.bufQueue[0].id===0){return 0}return src.bufQueue.length;case 4118:if(src.bufQueue.length===1&&src.bufQueue[0].id===0||src.looping){return 0}return src.bufsProcessed;case 4128:return src.refDistance;case 4129:return src.rolloffFactor;case 4130:return src.coneOuterGain;case 4131:return src.maxDistance;case 4132:return AL.sourceTell(src);case 4133:var offset=AL.sourceTell(src);if(offset>0){offset*=src.bufQueue[0].frequency}return offset;case 4134:var offset=AL.sourceTell(src);if(offset>0){offset*=src.bufQueue[0].frequency*src.bufQueue[0].bytesPerSample}return offset;case 4135:return src.type;case 4628:return src.spatialize;case 8201:var length=0;var bytesPerFrame=0;for(var i=0;i{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(value===null){AL.currentCtx.err=40962;return}switch(param){case 514:if(value===1){src.relative=true;AL.updateSourceSpace(src)}else if(value===0){src.relative=false;AL.updateSourceSpace(src)}else{AL.currentCtx.err=40963;return}break;case 4097:if(!Number.isFinite(value)){AL.currentCtx.err=40963;return}src.coneInnerAngle=value;if(src.panner){src.panner.coneInnerAngle=value%360}break;case 4098:if(!Number.isFinite(value)){AL.currentCtx.err=40963;return}src.coneOuterAngle=value;if(src.panner){src.panner.coneOuterAngle=value%360}break;case 4099:if(!Number.isFinite(value)||value<=0){AL.currentCtx.err=40963;return}if(src.pitch===value){break}src.pitch=value;AL.updateSourceRate(src);break;case 4100:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.position[0]=value[0];src.position[1]=value[1];src.position[2]=value[2];AL.updateSourceSpace(src);break;case 4101:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.direction[0]=value[0];src.direction[1]=value[1];src.direction[2]=value[2];AL.updateSourceSpace(src);break;case 4102:if(!Number.isFinite(value[0])||!Number.isFinite(value[1])||!Number.isFinite(value[2])){AL.currentCtx.err=40963;return}src.velocity[0]=value[0];src.velocity[1]=value[1];src.velocity[2]=value[2];AL.updateSourceSpace(src);break;case 4103:if(value===1){src.looping=true;AL.updateSourceTime(src);if(src.type===4136&&src.audioQueue.length>0){var audioSrc=src.audioQueue[0];audioSrc.loop=true;audioSrc._duration=Number.POSITIVE_INFINITY}}else if(value===0){src.looping=false;var currentTime=AL.updateSourceTime(src);if(src.type===4136&&src.audioQueue.length>0){var audioSrc=src.audioQueue[0];audioSrc.loop=false;audioSrc._duration=src.bufQueue[0].audioBuf.duration/src.playbackRate;audioSrc._startTime=currentTime-src.bufOffset/src.playbackRate}}else{AL.currentCtx.err=40963;return}break;case 4105:if(src.state===4114||src.state===4115){AL.currentCtx.err=40964;return}if(value===0){for(var i in src.bufQueue){src.bufQueue[i].refCount--}src.bufQueue.length=1;src.bufQueue[0]=AL.buffers[0];src.bufsProcessed=0;src.type=4144}else{var buf=AL.buffers[value];if(!buf){AL.currentCtx.err=40963;return}for(var i in src.bufQueue){src.bufQueue[i].refCount--}src.bufQueue.length=0;buf.refCount++;src.bufQueue=[buf];src.bufsProcessed=0;src.type=4136}AL.initSourcePanner(src);AL.scheduleSourceAudio(src);break;case 4106:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.gain.gain.value=value;break;case 4109:if(!Number.isFinite(value)||value<0||value>Math.min(src.maxGain,1)){AL.currentCtx.err=40963;return}src.minGain=value;break;case 4110:if(!Number.isFinite(value)||value1){AL.currentCtx.err=40963;return}src.maxGain=value;break;case 4128:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.refDistance=value;if(src.panner){src.panner.refDistance=value}break;case 4129:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.rolloffFactor=value;if(src.panner){src.panner.rolloffFactor=value}break;case 4130:if(!Number.isFinite(value)||value<0||value>1){AL.currentCtx.err=40963;return}src.coneOuterGain=value;if(src.panner){src.panner.coneOuterGain=value}break;case 4131:if(!Number.isFinite(value)||value<0){AL.currentCtx.err=40963;return}src.maxDistance=value;if(src.panner){src.panner.maxDistance=value}break;case 4132:if(value<0||value>AL.sourceDuration(src)){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case 4133:var srcLen=AL.sourceDuration(src);if(srcLen>0){var frequency;for(var bufId in src.bufQueue){if(bufId){frequency=src.bufQueue[bufId].frequency;break}}value/=frequency}if(value<0||value>srcLen){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case 4134:var srcLen=AL.sourceDuration(src);if(srcLen>0){var bytesPerSec;for(var bufId in src.bufQueue){if(bufId){var buf=src.bufQueue[bufId];bytesPerSec=buf.frequency*buf.bytesPerSample*buf.channels;break}}value/=bytesPerSec}if(value<0||value>srcLen){AL.currentCtx.err=40963;return}AL.sourceSeek(src,value);break;case 4628:if(value!==0&&value!==1&&value!==2){AL.currentCtx.err=40963;return}src.spatialize=value;AL.initSourcePanner(src);break;case 8201:case 8202:case 8203:AL.currentCtx.err=40964;break;case 53248:switch(value){case 0:case 53249:case 53250:case 53251:case 53252:case 53253:case 53254:src.distanceModel=value;if(AL.currentCtx.sourceDistanceModel){AL.updateContextGlobal(AL.currentCtx)}break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}},captures:{},sharedCaptureAudioCtx:null,requireValidCaptureDevice:(deviceId,funcname)=>{if(deviceId===0){AL.alcErr=40961;return null}var c=AL.captures[deviceId];if(!c){AL.alcErr=40961;return null}var err=c.mediaStreamError;if(err){AL.alcErr=40961;return null}return c}};var _alBuffer3f=(bufferId,param,value0,value1,value2)=>{AL.setBufferParam("alBuffer3f",bufferId,param,null)};_alBuffer3f.sig="viifff";var _alBuffer3i=(bufferId,param,value0,value1,value2)=>{AL.setBufferParam("alBuffer3i",bufferId,param,null)};_alBuffer3i.sig="viiiii";var _alBufferData=(bufferId,format,pData,size,freq)=>{if(!AL.currentCtx){return}var buf=AL.buffers[bufferId];if(!buf){AL.currentCtx.err=40963;return}if(freq<=0){AL.currentCtx.err=40963;return}var audioBuf=null;try{switch(format){case 4352:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size,freq);var channel0=audioBuf.getChannelData(0);for(var i=0;i0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size>>1,freq);var channel0=audioBuf.getChannelData(0);pData>>=1;for(var i=0;i>1;++i){channel0[i]=HEAP16[pData++]*30517578125e-15}}buf.bytesPerSample=2;buf.channels=1;buf.length=size>>1;break;case 4354:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>1,freq);var channel0=audioBuf.getChannelData(0);var channel1=audioBuf.getChannelData(1);for(var i=0;i>1;++i){channel0[i]=HEAPU8[pData++]*.0078125-1;channel1[i]=HEAPU8[pData++]*.0078125-1}}buf.bytesPerSample=1;buf.channels=2;buf.length=size>>1;break;case 4355:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>2,freq);var channel0=audioBuf.getChannelData(0);var channel1=audioBuf.getChannelData(1);pData>>=1;for(var i=0;i>2;++i){channel0[i]=HEAP16[pData++]*30517578125e-15;channel1[i]=HEAP16[pData++]*30517578125e-15}}buf.bytesPerSample=2;buf.channels=2;buf.length=size>>2;break;case 65552:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(1,size>>2,freq);var channel0=audioBuf.getChannelData(0);pData>>=2;for(var i=0;i>2;++i){channel0[i]=HEAPF32[pData++]}}buf.bytesPerSample=4;buf.channels=1;buf.length=size>>2;break;case 65553:if(size>0){audioBuf=AL.currentCtx.audioCtx.createBuffer(2,size>>3,freq);var channel0=audioBuf.getChannelData(0);var channel1=audioBuf.getChannelData(1);pData>>=2;for(var i=0;i>3;++i){channel0[i]=HEAPF32[pData++];channel1[i]=HEAPF32[pData++]}}buf.bytesPerSample=4;buf.channels=2;buf.length=size>>3;break;default:AL.currentCtx.err=40963;return}buf.frequency=freq;buf.audioBuf=audioBuf}catch(e){AL.currentCtx.err=40963;return}};_alBufferData.sig="viipii";var _alBufferf=(bufferId,param,value)=>{AL.setBufferParam("alBufferf",bufferId,param,null)};_alBufferf.sig="viif";var _alBufferfv=(bufferId,param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}AL.setBufferParam("alBufferfv",bufferId,param,null)};_alBufferfv.sig="viip";var _alBufferi=(bufferId,param,value)=>{AL.setBufferParam("alBufferi",bufferId,param,null)};_alBufferi.sig="viii";var _alBufferiv=(bufferId,param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 8213:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.setBufferParam("alBufferiv",bufferId,param,AL.paramArray);break;default:AL.setBufferParam("alBufferiv",bufferId,param,null);break}};_alBufferiv.sig="viip";var _alDeleteBuffers=(count,pBufferIds)=>{if(!AL.currentCtx){return}for(var i=0;i>2];if(bufId===0){continue}if(!AL.buffers[bufId]){AL.currentCtx.err=40961;return}if(AL.buffers[bufId].refCount){AL.currentCtx.err=40964;return}}for(var i=0;i>2];if(bufId===0){continue}AL.deviceRefCounts[AL.buffers[bufId].deviceId]--;delete AL.buffers[bufId];AL.freeIds.push(bufId)}};_alDeleteBuffers.sig="vip";var _alSourcei=(sourceId,param,value)=>{switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4628:case 8201:case 8202:case 53248:AL.setSourceParam("alSourcei",sourceId,param,value);break;default:AL.setSourceParam("alSourcei",sourceId,param,null);break}};_alSourcei.sig="viii";var _alDeleteSources=(count,pSourceIds)=>{if(!AL.currentCtx){return}for(var i=0;i>2];if(!AL.currentCtx.sources[srcId]){AL.currentCtx.err=40961;return}}for(var i=0;i>2];AL.setSourceState(AL.currentCtx.sources[srcId],4116);_alSourcei(srcId,4105,0);delete AL.currentCtx.sources[srcId];AL.freeIds.push(srcId)}};_alDeleteSources.sig="vip";var _alDisable=param=>{if(!AL.currentCtx){return}switch(param){case 512:AL.currentCtx.sourceDistanceModel=false;AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}};_alDisable.sig="vi";var _alDistanceModel=model=>{AL.setGlobalParam("alDistanceModel",53248,model)};_alDistanceModel.sig="vi";var _alDopplerFactor=value=>{AL.setGlobalParam("alDopplerFactor",49152,value)};_alDopplerFactor.sig="vf";var _alDopplerVelocity=value=>{warnOnce("alDopplerVelocity() is deprecated, and only kept for compatibility with OpenAL 1.0. Use alSpeedOfSound() instead.");if(!AL.currentCtx){return}if(value<=0){AL.currentCtx.err=40963;return}};_alDopplerVelocity.sig="vf";var _alEnable=param=>{if(!AL.currentCtx){return}switch(param){case 512:AL.currentCtx.sourceDistanceModel=true;AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}};_alEnable.sig="vi";var _alGenBuffers=(count,pBufferIds)=>{if(!AL.currentCtx){return}for(var i=0;i>2]=buf.id}};_alGenBuffers.sig="vip";var _alGenSources=(count,pSourceIds)=>{if(!AL.currentCtx){return}for(var i=0;i>2]=src.id}};_alGenSources.sig="vip";var _alGetBoolean=param=>{var val=AL.getGlobalParam("alGetBoolean",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val!==0?1:0;default:AL.currentCtx.err=40962;return 0}};_alGetBoolean.sig="ii";var _alGetBooleanv=(param,pValues)=>{var val=AL.getGlobalParam("alGetBooleanv",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAP8[pValues]=val;break;default:AL.currentCtx.err=40962;return}};_alGetBooleanv.sig="vip";var _alGetBuffer3f=(bufferId,param,pValue0,pValue1,pValue2)=>{var val=AL.getBufferParam("alGetBuffer3f",bufferId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962};_alGetBuffer3f.sig="viippp";var _alGetBuffer3i=(bufferId,param,pValue0,pValue1,pValue2)=>{var val=AL.getBufferParam("alGetBuffer3i",bufferId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962};_alGetBuffer3i.sig="viippp";var _alGetBufferf=(bufferId,param,pValue)=>{var val=AL.getBufferParam("alGetBufferf",bufferId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962};_alGetBufferf.sig="viip";var _alGetBufferfv=(bufferId,param,pValues)=>{var val=AL.getBufferParam("alGetBufferfv",bufferId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962};_alGetBufferfv.sig="viip";var _alGetBufferi=(bufferId,param,pValue)=>{var val=AL.getBufferParam("alGetBufferi",bufferId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 8193:case 8194:case 8195:case 8196:HEAP32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetBufferi.sig="viip";var _alGetBufferiv=(bufferId,param,pValues)=>{var val=AL.getBufferParam("alGetBufferiv",bufferId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 8193:case 8194:case 8195:case 8196:HEAP32[pValues>>2]=val;break;case 8213:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];break;default:AL.currentCtx.err=40962;return}};_alGetBufferiv.sig="viip";var _alGetDouble=param=>{var val=AL.getGlobalParam("alGetDouble",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val;default:AL.currentCtx.err=40962;return 0}};_alGetDouble.sig="di";var _alGetDoublev=(param,pValues)=>{var val=AL.getGlobalParam("alGetDoublev",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAPF64[pValues>>3]=val;break;default:AL.currentCtx.err=40962;return}};_alGetDoublev.sig="vip";var _alGetEnumValue=pEnumName=>{if(!AL.currentCtx){return 0}if(!pEnumName){AL.currentCtx.err=40963;return 0}var name=UTF8ToString(pEnumName);switch(name){case"AL_BITS":return 8194;case"AL_BUFFER":return 4105;case"AL_BUFFERS_PROCESSED":return 4118;case"AL_BUFFERS_QUEUED":return 4117;case"AL_BYTE_OFFSET":return 4134;case"AL_CHANNELS":return 8195;case"AL_CONE_INNER_ANGLE":return 4097;case"AL_CONE_OUTER_ANGLE":return 4098;case"AL_CONE_OUTER_GAIN":return 4130;case"AL_DIRECTION":return 4101;case"AL_DISTANCE_MODEL":return 53248;case"AL_DOPPLER_FACTOR":return 49152;case"AL_DOPPLER_VELOCITY":return 49153;case"AL_EXPONENT_DISTANCE":return 53253;case"AL_EXPONENT_DISTANCE_CLAMPED":return 53254;case"AL_EXTENSIONS":return 45060;case"AL_FORMAT_MONO16":return 4353;case"AL_FORMAT_MONO8":return 4352;case"AL_FORMAT_STEREO16":return 4355;case"AL_FORMAT_STEREO8":return 4354;case"AL_FREQUENCY":return 8193;case"AL_GAIN":return 4106;case"AL_INITIAL":return 4113;case"AL_INVALID":return-1;case"AL_ILLEGAL_ENUM":case"AL_INVALID_ENUM":return 40962;case"AL_INVALID_NAME":return 40961;case"AL_ILLEGAL_COMMAND":case"AL_INVALID_OPERATION":return 40964;case"AL_INVALID_VALUE":return 40963;case"AL_INVERSE_DISTANCE":return 53249;case"AL_INVERSE_DISTANCE_CLAMPED":return 53250;case"AL_LINEAR_DISTANCE":return 53251;case"AL_LINEAR_DISTANCE_CLAMPED":return 53252;case"AL_LOOPING":return 4103;case"AL_MAX_DISTANCE":return 4131;case"AL_MAX_GAIN":return 4110;case"AL_MIN_GAIN":return 4109;case"AL_NONE":return 0;case"AL_NO_ERROR":return 0;case"AL_ORIENTATION":return 4111;case"AL_OUT_OF_MEMORY":return 40965;case"AL_PAUSED":return 4115;case"AL_PENDING":return 8209;case"AL_PITCH":return 4099;case"AL_PLAYING":return 4114;case"AL_POSITION":return 4100;case"AL_PROCESSED":return 8210;case"AL_REFERENCE_DISTANCE":return 4128;case"AL_RENDERER":return 45059;case"AL_ROLLOFF_FACTOR":return 4129;case"AL_SAMPLE_OFFSET":return 4133;case"AL_SEC_OFFSET":return 4132;case"AL_SIZE":return 8196;case"AL_SOURCE_RELATIVE":return 514;case"AL_SOURCE_STATE":return 4112;case"AL_SOURCE_TYPE":return 4135;case"AL_SPEED_OF_SOUND":return 49155;case"AL_STATIC":return 4136;case"AL_STOPPED":return 4116;case"AL_STREAMING":return 4137;case"AL_UNDETERMINED":return 4144;case"AL_UNUSED":return 8208;case"AL_VELOCITY":return 4102;case"AL_VENDOR":return 45057;case"AL_VERSION":return 45058;case"AL_AUTO_SOFT":return 2;case"AL_SOURCE_DISTANCE_MODEL":return 512;case"AL_SOURCE_SPATIALIZE_SOFT":return 4628;case"AL_LOOP_POINTS_SOFT":return 8213;case"AL_BYTE_LENGTH_SOFT":return 8201;case"AL_SAMPLE_LENGTH_SOFT":return 8202;case"AL_SEC_LENGTH_SOFT":return 8203;case"AL_FORMAT_MONO_FLOAT32":return 65552;case"AL_FORMAT_STEREO_FLOAT32":return 65553;default:AL.currentCtx.err=40963;return 0}};_alGetEnumValue.sig="ip";var _alGetError=()=>{if(!AL.currentCtx){return 40964}var err=AL.currentCtx.err;AL.currentCtx.err=0;return err};_alGetError.sig="i";var _alGetFloat=param=>{var val=AL.getGlobalParam("alGetFloat",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val;default:return 0}};_alGetFloat.sig="fi";var _alGetFloatv=(param,pValues)=>{var val=AL.getGlobalParam("alGetFloatv",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAPF32[pValues>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetFloatv.sig="vip";var _alGetInteger=param=>{var val=AL.getGlobalParam("alGetInteger",param);if(val===null){return 0}switch(param){case 49152:case 49155:case 53248:return val;default:AL.currentCtx.err=40962;return 0}};_alGetInteger.sig="ii";var _alGetIntegerv=(param,pValues)=>{var val=AL.getGlobalParam("alGetIntegerv",param);if(val===null||!pValues){return}switch(param){case 49152:case 49155:case 53248:HEAP32[pValues>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetIntegerv.sig="vip";var _alGetListener3f=(param,pValue0,pValue1,pValue2)=>{var val=AL.getListenerParam("alGetListener3f",param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAPF32[pValue0>>2]=val[0];HEAPF32[pValue1>>2]=val[1];HEAPF32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetListener3f.sig="vippp";var _alGetListener3i=(param,pValue0,pValue1,pValue2)=>{var val=AL.getListenerParam("alGetListener3i",param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAP32[pValue0>>2]=val[0];HEAP32[pValue1>>2]=val[1];HEAP32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetListener3i.sig="vippp";var _alGetListenerf=(param,pValue)=>{var val=AL.getListenerParam("alGetListenerf",param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 4106:HEAPF32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetListenerf.sig="vip";var _alGetListenerfv=(param,pValues)=>{var val=AL.getListenerParam("alGetListenerfv",param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAPF32[pValues>>2]=val[0];HEAPF32[pValues+4>>2]=val[1];HEAPF32[pValues+8>>2]=val[2];break;case 4111:HEAPF32[pValues>>2]=val[0];HEAPF32[pValues+4>>2]=val[1];HEAPF32[pValues+8>>2]=val[2];HEAPF32[pValues+12>>2]=val[3];HEAPF32[pValues+16>>2]=val[4];HEAPF32[pValues+20>>2]=val[5];break;default:AL.currentCtx.err=40962;return}};_alGetListenerfv.sig="vip";var _alGetListeneri=(param,pValue)=>{var val=AL.getListenerParam("alGetListeneri",param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962};_alGetListeneri.sig="vip";var _alGetListeneriv=(param,pValues)=>{var val=AL.getListenerParam("alGetListeneriv",param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];HEAP32[pValues+8>>2]=val[2];break;case 4111:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];HEAP32[pValues+8>>2]=val[2];HEAP32[pValues+12>>2]=val[3];HEAP32[pValues+16>>2]=val[4];HEAP32[pValues+20>>2]=val[5];break;default:AL.currentCtx.err=40962;return}};_alGetListeneriv.sig="vip";var _alGetSource3f=(sourceId,param,pValue0,pValue1,pValue2)=>{var val=AL.getSourceParam("alGetSource3f",sourceId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4101:case 4102:HEAPF32[pValue0>>2]=val[0];HEAPF32[pValue1>>2]=val[1];HEAPF32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetSource3f.sig="viippp";var _alGetSource3i=(sourceId,param,pValue0,pValue1,pValue2)=>{var val=AL.getSourceParam("alGetSource3i",sourceId,param);if(val===null){return}if(!pValue0||!pValue1||!pValue2){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4101:case 4102:HEAP32[pValue0>>2]=val[0];HEAP32[pValue1>>2]=val[1];HEAP32[pValue2>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetSource3i.sig="viippp";var _alGetSourcef=(sourceId,param,pValue)=>{var val=AL.getSourceParam("alGetSourcef",sourceId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:HEAPF32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetSourcef.sig="viip";var _alGetSourcefv=(sourceId,param,pValues)=>{var val=AL.getSourceParam("alGetSourcefv",sourceId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:HEAPF32[pValues>>2]=val[0];break;case 4100:case 4101:case 4102:HEAPF32[pValues>>2]=val[0];HEAPF32[pValues+4>>2]=val[1];HEAPF32[pValues+8>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetSourcefv.sig="viip";var _alGetSourcei=(sourceId,param,pValue)=>{var val=AL.getSourceParam("alGetSourcei",sourceId,param);if(val===null){return}if(!pValue){AL.currentCtx.err=40963;return}switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4112:case 4117:case 4118:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4135:case 4628:case 8201:case 8202:case 53248:HEAP32[pValue>>2]=val;break;default:AL.currentCtx.err=40962;return}};_alGetSourcei.sig="viip";var _alGetSourceiv=(sourceId,param,pValues)=>{var val=AL.getSourceParam("alGetSourceiv",sourceId,param);if(val===null){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4112:case 4117:case 4118:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4135:case 4628:case 8201:case 8202:case 53248:HEAP32[pValues>>2]=val;break;case 4100:case 4101:case 4102:HEAP32[pValues>>2]=val[0];HEAP32[pValues+4>>2]=val[1];HEAP32[pValues+8>>2]=val[2];break;default:AL.currentCtx.err=40962;return}};_alGetSourceiv.sig="viip";var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var _alGetString=param=>{if(AL.stringCache[param]){return AL.stringCache[param]}var ret;switch(param){case 0:ret="No Error";break;case 40961:ret="Invalid Name";break;case 40962:ret="Invalid Enum";break;case 40963:ret="Invalid Value";break;case 40964:ret="Invalid Operation";break;case 40965:ret="Out of Memory";break;case 45057:ret="Emscripten";break;case 45058:ret="1.1";break;case 45059:ret="WebAudio";break;case 45060:ret=Object.keys(AL.AL_EXTENSIONS).join(" ");break;default:if(AL.currentCtx){AL.currentCtx.err=40962}else{}return 0}ret=stringToNewUTF8(ret);AL.stringCache[param]=ret;return ret};_alGetString.sig="pi";var _alIsBuffer=bufferId=>{if(!AL.currentCtx){return false}if(bufferId>AL.buffers.length){return false}if(!AL.buffers[bufferId]){return false}return true};_alIsBuffer.sig="ii";var _alIsEnabled=param=>{if(!AL.currentCtx){return 0}switch(param){case 512:return AL.currentCtx.sourceDistanceModel?0:1;default:AL.currentCtx.err=40962;return 0}};_alIsEnabled.sig="ii";var _alIsExtensionPresent=pExtName=>{var name=UTF8ToString(pExtName);return AL.AL_EXTENSIONS[name]?1:0};_alIsExtensionPresent.sig="ip";var _alIsSource=sourceId=>{if(!AL.currentCtx){return false}if(!AL.currentCtx.sources[sourceId]){return false}return true};_alIsSource.sig="ii";var _alListener3f=(param,value0,value1,value2)=>{switch(param){case 4100:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setListenerParam("alListener3f",param,AL.paramArray);break;default:AL.setListenerParam("alListener3f",param,null);break}};_alListener3f.sig="vifff";var _alListener3i=(param,value0,value1,value2)=>{switch(param){case 4100:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setListenerParam("alListener3i",param,AL.paramArray);break;default:AL.setListenerParam("alListener3i",param,null);break}};_alListener3i.sig="viiii";var _alListenerf=(param,value)=>{switch(param){case 4106:AL.setListenerParam("alListenerf",param,value);break;default:AL.setListenerParam("alListenerf",param,null);break}};_alListenerf.sig="vif";var _alListenerfv=(param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.setListenerParam("alListenerfv",param,AL.paramArray);break;case 4111:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.paramArray[3]=HEAPF32[pValues+12>>2];AL.paramArray[4]=HEAPF32[pValues+16>>2];AL.paramArray[5]=HEAPF32[pValues+20>>2];AL.setListenerParam("alListenerfv",param,AL.paramArray);break;default:AL.setListenerParam("alListenerfv",param,null);break}};_alListenerfv.sig="vip";var _alListeneri=(param,value)=>{AL.setListenerParam("alListeneri",param,null)};_alListeneri.sig="vii";var _alListeneriv=(param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4100:case 4102:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.paramArray[2]=HEAP32[pValues+8>>2];AL.setListenerParam("alListeneriv",param,AL.paramArray);break;case 4111:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.paramArray[2]=HEAP32[pValues+8>>2];AL.paramArray[3]=HEAP32[pValues+12>>2];AL.paramArray[4]=HEAP32[pValues+16>>2];AL.paramArray[5]=HEAP32[pValues+20>>2];AL.setListenerParam("alListeneriv",param,AL.paramArray);break;default:AL.setListenerParam("alListeneriv",param,null);break}};_alListeneriv.sig="vip";var _alSource3f=(sourceId,param,value0,value1,value2)=>{switch(param){case 4100:case 4101:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setSourceParam("alSource3f",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSource3f",sourceId,param,null);break}};_alSource3f.sig="viifff";var _alSource3i=(sourceId,param,value0,value1,value2)=>{switch(param){case 4100:case 4101:case 4102:AL.paramArray[0]=value0;AL.paramArray[1]=value1;AL.paramArray[2]=value2;AL.setSourceParam("alSource3i",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSource3i",sourceId,param,null);break}};_alSource3i.sig="viiiii";var _alSourcePause=sourceId=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4115)};_alSourcePause.sig="vi";var _alSourcePausev=(count,pSourceIds)=>{if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i>2];AL.setSourceState(AL.currentCtx.sources[srcId],4115)}};_alSourcePausev.sig="vip";var _alSourcePlay=sourceId=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4114)};_alSourcePlay.sig="vi";var _alSourcePlayv=(count,pSourceIds)=>{if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i>2];AL.setSourceState(AL.currentCtx.sources[srcId],4114)}};_alSourcePlayv.sig="vip";var _alSourceQueueBuffers=(sourceId,count,pBufferIds)=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(src.type===4136){AL.currentCtx.err=40964;return}if(count===0){return}var templateBuf=AL.buffers[0];for(var buf of src.bufQueue){if(buf.id!==0){templateBuf=buf;break}}for(var i=0;i>2];var buf=AL.buffers[bufId];if(!buf){AL.currentCtx.err=40961;return}if(templateBuf.id!==0&&(buf.frequency!==templateBuf.frequency||buf.bytesPerSample!==templateBuf.bytesPerSample||buf.channels!==templateBuf.channels)){AL.currentCtx.err=40964}}if(src.bufQueue.length===1&&src.bufQueue[0].id===0){src.bufQueue.length=0}src.type=4137;for(var i=0;i>2];var buf=AL.buffers[bufId];buf.refCount++;src.bufQueue.push(buf)}if(src.looping){AL.cancelPendingSourceAudio(src)}AL.initSourcePanner(src);AL.scheduleSourceAudio(src)};_alSourceQueueBuffers.sig="viip";var _alSourceRewind=sourceId=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4116);AL.setSourceState(src,4113)};_alSourceRewind.sig="vi";var _alSourceRewindv=(count,pSourceIds)=>{if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i>2];AL.setSourceState(AL.currentCtx.sources[srcId],4113)}};_alSourceRewindv.sig="vip";var _alSourceStop=sourceId=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}AL.setSourceState(src,4116)};_alSourceStop.sig="vi";var _alSourceStopv=(count,pSourceIds)=>{if(!AL.currentCtx){return}if(!pSourceIds){AL.currentCtx.err=40963}for(var i=0;i>2]]){AL.currentCtx.err=40961;return}}for(var i=0;i>2];AL.setSourceState(AL.currentCtx.sources[srcId],4116)}};_alSourceStopv.sig="vip";var _alSourceUnqueueBuffers=(sourceId,count,pBufferIds)=>{if(!AL.currentCtx){return}var src=AL.currentCtx.sources[sourceId];if(!src){AL.currentCtx.err=40961;return}if(count>(src.bufQueue.length===1&&src.bufQueue[0].id===0?0:src.bufsProcessed)){AL.currentCtx.err=40963;return}if(count===0){return}for(var i=0;i>2]=buf.id;src.bufsProcessed--}if(src.bufQueue.length===0){src.bufQueue.push(AL.buffers[0])}AL.initSourcePanner(src);AL.scheduleSourceAudio(src)};_alSourceUnqueueBuffers.sig="viip";var _alSourcef=(sourceId,param,value)=>{switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:AL.setSourceParam("alSourcef",sourceId,param,value);break;default:AL.setSourceParam("alSourcef",sourceId,param,null);break}};_alSourcef.sig="viif";var _alSourcefv=(sourceId,param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:var val=HEAPF32[pValues>>2];AL.setSourceParam("alSourcefv",sourceId,param,val);break;case 4100:case 4101:case 4102:AL.paramArray[0]=HEAPF32[pValues>>2];AL.paramArray[1]=HEAPF32[pValues+4>>2];AL.paramArray[2]=HEAPF32[pValues+8>>2];AL.setSourceParam("alSourcefv",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSourcefv",sourceId,param,null);break}};_alSourcefv.sig="viip";var _alSourceiv=(sourceId,param,pValues)=>{if(!AL.currentCtx){return}if(!pValues){AL.currentCtx.err=40963;return}switch(param){case 514:case 4097:case 4098:case 4103:case 4105:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4628:case 8201:case 8202:case 53248:var val=HEAP32[pValues>>2];AL.setSourceParam("alSourceiv",sourceId,param,val);break;case 4100:case 4101:case 4102:AL.paramArray[0]=HEAP32[pValues>>2];AL.paramArray[1]=HEAP32[pValues+4>>2];AL.paramArray[2]=HEAP32[pValues+8>>2];AL.setSourceParam("alSourceiv",sourceId,param,AL.paramArray);break;default:AL.setSourceParam("alSourceiv",sourceId,param,null);break}};_alSourceiv.sig="viip";var _alSpeedOfSound=value=>{AL.setGlobalParam("alSpeedOfSound",49155,value)};_alSpeedOfSound.sig="vf";var _alcCaptureCloseDevice=deviceId=>{var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureCloseDevice");if(!c)return false;delete AL.captures[deviceId];AL.freeIds.push(deviceId);c.mediaStreamSourceNode?.disconnect();c.mergerNode?.disconnect();c.splitterNode?.disconnect();c.scriptProcessorNode?.disconnect();if(c.mediaStream){c.mediaStream.getTracks().forEach(track=>track.stop())}delete c.buffers;c.capturedFrameCount=0;c.isCapturing=false;return true};_alcCaptureCloseDevice.sig="ip";var autoResumeAudioContext=(ctx,elements)=>{if(!elements){elements=[document,document.getElementById("canvas")]}["keydown","mousedown","touchstart"].forEach(event=>{elements.forEach(element=>{element?.addEventListener(event,()=>{if(ctx.state==="suspended")ctx.resume()},{once:true})})})};var _alcCaptureOpenDevice=(pDeviceName,requestedSampleRate,format,bufferFrameCapacity)=>{var resolvedDeviceName=AL.CAPTURE_DEVICE_NAME;if(pDeviceName!==0){resolvedDeviceName=UTF8ToString(pDeviceName);if(resolvedDeviceName!==AL.CAPTURE_DEVICE_NAME){AL.alcErr=40965;return 0}}if(bufferFrameCapacity<0){AL.alcErr=40964;return 0}navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var has_getUserMedia=navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia;if(!has_getUserMedia){AL.alcErr=40965;return 0}var AudioContext=window.AudioContext||window.webkitAudioContext;if(!AL.sharedCaptureAudioCtx){try{AL.sharedCaptureAudioCtx=new AudioContext}catch(e){AL.alcErr=40965;return 0}}autoResumeAudioContext(AL.sharedCaptureAudioCtx);var outputChannelCount;switch(format){case 65552:case 4353:case 4352:outputChannelCount=1;break;case 65553:case 4355:case 4354:outputChannelCount=2;break;default:AL.alcErr=40964;return 0}function newF32Array(cap){return new Float32Array(cap)}function newI16Array(cap){return new Int16Array(cap)}function newU8Array(cap){return new Uint8Array(cap)}var requestedSampleType;var newSampleArray;switch(format){case 65552:case 65553:requestedSampleType="f32";newSampleArray=newF32Array;break;case 4353:case 4355:requestedSampleType="i16";newSampleArray=newI16Array;break;case 4352:case 4354:requestedSampleType="u8";newSampleArray=newU8Array;break}var buffers=[];try{for(var chan=0;chan{newCapture.mediaStreamError=mediaStreamError};var onSuccess=mediaStream=>{newCapture.mediaStreamSourceNode=newCapture.audioCtx.createMediaStreamSource(mediaStream);newCapture.mediaStream=mediaStream;var inputChannelCount=1;switch(newCapture.mediaStreamSourceNode.channelCountMode){case"max":inputChannelCount=outputChannelCount;break;case"clamped-max":inputChannelCount=Math.min(outputChannelCount,newCapture.mediaStreamSourceNode.channelCount);break;case"explicit":inputChannelCount=newCapture.mediaStreamSourceNode.channelCount;break}newCapture.inputChannelCount=inputChannelCount;var processorFrameCount=512;newCapture.scriptProcessorNode=newCapture.audioCtx.createScriptProcessor(processorFrameCount,inputChannelCount,outputChannelCount);if(inputChannelCount>outputChannelCount){newCapture.mergerNode=newCapture.audioCtx.createChannelMerger(inputChannelCount);newCapture.mediaStreamSourceNode.connect(newCapture.mergerNode);newCapture.mergerNode.connect(newCapture.scriptProcessorNode)}else if(inputChannelCount{if(!newCapture.isCapturing){return}var c=newCapture;var srcBuf=audioProcessingEvent.inputBuffer;switch(format){case 65552:var channel0=srcBuf.getChannelData(0);for(var i=0;i{var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureSamples");if(!c)return;var dstfreq=c.requestedSampleRate;var srcfreq=c.audioCtx.sampleRate;var fratio=srcfreq/dstfreq;if(requestedFrameCount<0||requestedFrameCount>c.capturedFrameCount/fratio){AL.alcErr=40964;return}function setF32Sample(i,sample){HEAPF32[pFrames+4*i>>2]=sample}function setI16Sample(i,sample){HEAP16[pFrames+2*i>>1]=sample}function setU8Sample(i,sample){HEAP8[pFrames+i]=sample}var setSample;switch(c.requestedSampleType){case"f32":setSample=setF32Sample;break;case"i16":setSample=setI16Sample;break;case"u8":setSample=setU8Sample;break;default:return}if(Math.floor(fratio)==fratio){for(var i=0,frame_i=0;frame_i{var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureStart");if(!c)return;if(c.isCapturing){return}c.isCapturing=true;c.capturedFrameCount=0;c.capturePlayhead=0};_alcCaptureStart.sig="vp";var _alcCaptureStop=deviceId=>{var c=AL.requireValidCaptureDevice(deviceId,"alcCaptureStop");if(!c)return;c.isCapturing=false};_alcCaptureStop.sig="vp";var _alcCloseDevice=deviceId=>{if(!(deviceId in AL.deviceRefCounts)||AL.deviceRefCounts[deviceId]>0){return 0}delete AL.deviceRefCounts[deviceId];AL.freeIds.push(deviceId);return 1};_alcCloseDevice.sig="ip";var _alcCreateContext=(deviceId,pAttrList)=>{if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return 0}var options=null;var attrs=[];var hrtf=null;pAttrList>>=2;if(pAttrList){var attr=0;var val=0;while(true){attr=HEAP32[pAttrList++];attrs.push(attr);if(attr===0){break}val=HEAP32[pAttrList++];attrs.push(val);switch(attr){case 4103:if(!options){options={}}options.sampleRate=val;break;case 4112:case 4113:break;case 6546:switch(val){case 0:hrtf=false;break;case 1:hrtf=true;break;case 2:break;default:AL.alcErr=40964;return 0}break;case 6550:if(val!==0){AL.alcErr=40964;return 0}break;default:AL.alcErr=40964;return 0}}}var AudioContext=window.AudioContext||window.webkitAudioContext;var ac=null;try{if(options){ac=new AudioContext(options)}else{ac=new AudioContext}}catch(e){if(e.name==="NotSupportedError"){AL.alcErr=40964}else{AL.alcErr=40961}return 0}autoResumeAudioContext(ac);if(typeof ac.createGain=="undefined"){ac.createGain=ac.createGainNode}var gain=ac.createGain();gain.connect(ac.destination);var ctx={deviceId,id:AL.newId(),attrs,audioCtx:ac,listener:{position:[0,0,0],velocity:[0,0,0],direction:[0,0,0],up:[0,0,0]},sources:[],interval:setInterval(()=>AL.scheduleContextAudio(ctx),AL.QUEUE_INTERVAL),gain,distanceModel:53250,speedOfSound:343.3,dopplerFactor:1,sourceDistanceModel:false,hrtf:hrtf||false,_err:0,get err(){return this._err},set err(val){if(this._err===0||val===0){this._err=val}}};AL.deviceRefCounts[deviceId]++;AL.contexts[ctx.id]=ctx;if(hrtf!==null){for(var ctxId in AL.contexts){var c=AL.contexts[ctxId];if(c.deviceId===deviceId){c.hrtf=hrtf;AL.updateContextGlobal(c)}}}return ctx.id};_alcCreateContext.sig="ppp";var _alcDestroyContext=contextId=>{var ctx=AL.contexts[contextId];if(AL.currentCtx===ctx){AL.alcErr=40962;return}if(AL.contexts[contextId].interval){clearInterval(AL.contexts[contextId].interval)}AL.deviceRefCounts[ctx.deviceId]--;delete AL.contexts[contextId];AL.freeIds.push(contextId)};_alcDestroyContext.sig="vp";var _alcGetContextsDevice=contextId=>{if(contextId in AL.contexts){return AL.contexts[contextId].deviceId}return 0};_alcGetContextsDevice.sig="pp";var _alcGetCurrentContext=()=>{if(AL.currentCtx!==null){return AL.currentCtx.id}return 0};_alcGetCurrentContext.sig="p";var _alcGetEnumValue=(deviceId,pEnumName)=>{if(deviceId!==0&&!(deviceId in AL.deviceRefCounts)){return 0}else if(!pEnumName){AL.alcErr=40964;return 0}var name=UTF8ToString(pEnumName);switch(name){case"ALC_NO_ERROR":return 0;case"ALC_INVALID_DEVICE":return 40961;case"ALC_INVALID_CONTEXT":return 40962;case"ALC_INVALID_ENUM":return 40963;case"ALC_INVALID_VALUE":return 40964;case"ALC_OUT_OF_MEMORY":return 40965;case"ALC_MAJOR_VERSION":return 4096;case"ALC_MINOR_VERSION":return 4097;case"ALC_ATTRIBUTES_SIZE":return 4098;case"ALC_ALL_ATTRIBUTES":return 4099;case"ALC_DEFAULT_DEVICE_SPECIFIER":return 4100;case"ALC_DEVICE_SPECIFIER":return 4101;case"ALC_EXTENSIONS":return 4102;case"ALC_FREQUENCY":return 4103;case"ALC_REFRESH":return 4104;case"ALC_SYNC":return 4105;case"ALC_MONO_SOURCES":return 4112;case"ALC_STEREO_SOURCES":return 4113;case"ALC_CAPTURE_DEVICE_SPECIFIER":return 784;case"ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER":return 785;case"ALC_CAPTURE_SAMPLES":return 786;case"ALC_HRTF_SOFT":return 6546;case"ALC_HRTF_ID_SOFT":return 6550;case"ALC_DONT_CARE_SOFT":return 2;case"ALC_HRTF_STATUS_SOFT":return 6547;case"ALC_NUM_HRTF_SPECIFIERS_SOFT":return 6548;case"ALC_HRTF_SPECIFIER_SOFT":return 6549;case"ALC_HRTF_DISABLED_SOFT":return 0;case"ALC_HRTF_ENABLED_SOFT":return 1;case"ALC_HRTF_DENIED_SOFT":return 2;case"ALC_HRTF_REQUIRED_SOFT":return 3;case"ALC_HRTF_HEADPHONES_DETECTED_SOFT":return 4;case"ALC_HRTF_UNSUPPORTED_FORMAT_SOFT":return 5;default:AL.alcErr=40964;return 0}};_alcGetEnumValue.sig="ipp";var _alcGetError=deviceId=>{var err=AL.alcErr;AL.alcErr=0;return err};_alcGetError.sig="ip";var _alcGetIntegerv=(deviceId,param,size,pValues)=>{if(size===0||!pValues){return}switch(param){case 4096:HEAP32[pValues>>2]=1;break;case 4097:HEAP32[pValues>>2]=1;break;case 4098:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=AL.currentCtx.attrs.length;break;case 4099:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}for(var i=0;i>2]=AL.currentCtx.attrs[i]}break;case 4103:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=AL.currentCtx.audioCtx.sampleRate;break;case 4112:case 4113:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=2147483647;break;case 6546:case 6547:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}var hrtfStatus=0;for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId===deviceId){hrtfStatus=ctx.hrtf?1:0}}HEAP32[pValues>>2]=hrtfStatus;break;case 6548:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}HEAP32[pValues>>2]=1;break;case 131075:if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[pValues>>2]=1;case 786:var c=AL.requireValidCaptureDevice(deviceId,"alcGetIntegerv");if(!c){return}var n=c.capturedFrameCount;var dstfreq=c.requestedSampleRate;var srcfreq=c.audioCtx.sampleRate;var nsamples=Math.floor(n*(dstfreq/srcfreq));HEAP32[pValues>>2]=nsamples;break;default:AL.alcErr=40963;return}};_alcGetIntegerv.sig="vpiip";var _alcGetString=(deviceId,param)=>{if(AL.alcStringCache[param]){return AL.alcStringCache[param]}var ret;switch(param){case 0:ret="No Error";break;case 40961:ret="Invalid Device";break;case 40962:ret="Invalid Context";break;case 40963:ret="Invalid Enum";break;case 40964:ret="Invalid Value";break;case 40965:ret="Out of Memory";break;case 4100:if(typeof AudioContext!="undefined"||typeof webkitAudioContext!="undefined"){ret=AL.DEVICE_NAME}else{return 0}break;case 4101:if(typeof AudioContext!="undefined"||typeof webkitAudioContext!="undefined"){ret=AL.DEVICE_NAME+"\0"}else{ret="\0"}break;case 785:ret=AL.CAPTURE_DEVICE_NAME;break;case 784:if(deviceId===0){ret=AL.CAPTURE_DEVICE_NAME+"\0"}else{var c=AL.requireValidCaptureDevice(deviceId,"alcGetString");if(!c){return 0}ret=c.deviceName}break;case 4102:if(!deviceId){AL.alcErr=40961;return 0}ret=Object.keys(AL.ALC_EXTENSIONS).join(" ");break;default:AL.alcErr=40963;return 0}ret=stringToNewUTF8(ret);AL.alcStringCache[param]=ret;return ret};_alcGetString.sig="ppi";var _alcIsExtensionPresent=(deviceId,pExtName)=>{var name=UTF8ToString(pExtName);return AL.ALC_EXTENSIONS[name]?1:0};_alcIsExtensionPresent.sig="ipp";var _alcMakeContextCurrent=contextId=>{if(contextId===0){AL.currentCtx=null}else{AL.currentCtx=AL.contexts[contextId]}return 1};_alcMakeContextCurrent.sig="ip";var _alcOpenDevice=pDeviceName=>{if(pDeviceName){var name=UTF8ToString(pDeviceName);if(name!==AL.DEVICE_NAME){return 0}}if(typeof AudioContext!="undefined"||typeof webkitAudioContext!="undefined"){var deviceId=AL.newId();AL.deviceRefCounts[deviceId]=0;return deviceId}return 0};_alcOpenDevice.sig="pp";var _alcProcessContext=contextId=>{};_alcProcessContext.sig="vp";var _alcSuspendContext=contextId=>{};_alcSuspendContext.sig="vp";var _emscripten_get_now_res=()=>1e3;_emscripten_get_now_res.sig="d";var nowIsMonotonic=1;var checkWasiClock=clock_id=>clock_id>=0&&clock_id<=3;var _clock_res_get=(clk_id,pres)=>{if(!checkWasiClock(clk_id)){return 28}var nsec;if(clk_id===0){nsec=1e3*1e3}else if(nowIsMonotonic){nsec=_emscripten_get_now_res()}else{return 52}tempI64=[nsec>>>0,(tempDouble=nsec,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pres>>2]=tempI64[0],HEAP32[pres+4>>2]=tempI64[1];return 0};_clock_res_get.sig="iip";var _emscripten_date_now=()=>Date.now();_emscripten_date_now.sig="d";function _clock_time_get(clk_id,ignored_precision_low,ignored_precision_high,ptime){var ignored_precision=convertI32PairToI53Checked(ignored_precision_low,ignored_precision_high);if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=_emscripten_date_now()}else if(nowIsMonotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);tempI64=[nsec>>>0,(tempDouble=nsec,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptime>>2]=tempI64[0],HEAP32[ptime+4>>2]=tempI64[1];return 0}_clock_time_get.sig="iiiip";var _emscripten_alcDevicePauseSOFT=deviceId=>{if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(AL.paused){return}AL.paused=true;for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId!==deviceId){continue}ctx.audioCtx.suspend();clearInterval(ctx.interval);ctx.interval=null}};_emscripten_alcDevicePauseSOFT.sig="vi";var _emscripten_alcDeviceResumeSOFT=deviceId=>{if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.paused){return}AL.paused=false;for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId!==deviceId){continue}ctx.interval=setInterval(()=>AL.scheduleContextAudio(ctx),AL.QUEUE_INTERVAL);ctx.audioCtx.resume()}};_emscripten_alcDeviceResumeSOFT.sig="vi";var _emscripten_alcGetStringiSOFT=(deviceId,param,index)=>{if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return 0}if(AL.alcStringCache[param]){return AL.alcStringCache[param]}var ret;switch(param){case 6549:if(index===0){ret="Web Audio HRTF"}else{AL.alcErr=40964;return 0}break;default:if(index!==0){AL.alcErr=40963;return 0}return _alcGetString(deviceId,param)}ret=stringToNewUTF8(ret);AL.alcStringCache[param]=ret;return ret};_emscripten_alcGetStringiSOFT.sig="iiii";var _emscripten_alcResetDeviceSOFT=(deviceId,pAttrList)=>{if(!(deviceId in AL.deviceRefCounts)){AL.alcErr=40961;return 0}var hrtf=null;pAttrList>>=2;if(pAttrList){var attr=0;var val=0;while(true){attr=HEAP32[pAttrList++];if(attr===0){break}val=HEAP32[pAttrList++];switch(attr){case 6546:if(val===1){hrtf=true}else if(val===0){hrtf=false}break}}}if(hrtf!==null){for(var ctxId in AL.contexts){var ctx=AL.contexts[ctxId];if(ctx.deviceId===deviceId){ctx.hrtf=hrtf;AL.updateContextGlobal(ctx)}}}return 1};_emscripten_alcResetDeviceSOFT.sig="iii";var readEmAsmArgsArray=[];var readEmAsmArgs=(sigPtr,buf)=>{readEmAsmArgsArray.length=0;var ch;while(ch=HEAPU8[sigPtr++]){var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?HEAPU32[buf>>2]:ch==105?HEAP32[buf>>2]:HEAPF64[buf>>3]);buf+=wide?8:4}return readEmAsmArgsArray};var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code](...args)};var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);_emscripten_asm_const_int.sig="ippp";var _emscripten_console_error=str=>{console.error(UTF8ToString(str))};_emscripten_console_error.sig="vp";var _emscripten_console_log=str=>{console.log(UTF8ToString(str))};_emscripten_console_log.sig="vp";var _emscripten_console_trace=str=>{console.trace(UTF8ToString(str))};_emscripten_console_trace.sig="vp";var _emscripten_console_warn=str=>{console.warn(UTF8ToString(str))};_emscripten_console_warn.sig="vp";var _emscripten_err=str=>err(UTF8ToString(str));_emscripten_err.sig="vp";var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>getHeapMax();_emscripten_get_heap_max.sig="p";var GLctx;var webgl_enable_ANGLE_instanced_arrays=ctx=>{var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=(index,divisor)=>ext["vertexAttribDivisorANGLE"](index,divisor);ctx["drawArraysInstanced"]=(mode,first,count,primcount)=>ext["drawArraysInstancedANGLE"](mode,first,count,primcount);ctx["drawElementsInstanced"]=(mode,count,type,indices,primcount)=>ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount);return 1}};var webgl_enable_OES_vertex_array_object=ctx=>{var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=()=>ext["createVertexArrayOES"]();ctx["deleteVertexArray"]=vao=>ext["deleteVertexArrayOES"](vao);ctx["bindVertexArray"]=vao=>ext["bindVertexArrayOES"](vao);ctx["isVertexArray"]=vao=>ext["isVertexArrayOES"](vao);return 1}};var webgl_enable_WEBGL_draw_buffers=ctx=>{var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=(n,bufs)=>ext["drawBuffersWEBGL"](n,bufs);return 1}};var webgl_enable_EXT_polygon_offset_clamp=ctx=>!!(ctx.extPolygonOffsetClamp=ctx.getExtension("EXT_polygon_offset_clamp"));var webgl_enable_EXT_clip_control=ctx=>!!(ctx.extClipControl=ctx.getExtension("EXT_clip_control"));var webgl_enable_WEBGL_polygon_mode=ctx=>!!(ctx.webglPolygonMode=ctx.getExtension("WEBGL_polygon_mode"));var webgl_enable_WEBGL_multi_draw=ctx=>!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"));var getEmscriptenSupportedExtensions=ctx=>{var supportedExtensions=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"];return(ctx.getSupportedExtensions()||[]).filter(ext=>supportedExtensions.includes(ext))};var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,unpackRowLength:0,recordError:errorCode=>{if(!GL.lastError){GL.lastError=errorCode}},getNewId:table=>{var ret=GL.counter++;for(var i=table.length;i{for(var i=0;i>2]=id}},getSource:(shader,count,string,length)=>{var source="";for(var i=0;i>2]:undefined;source+=UTF8ToString(HEAPU32[string+i*4>>2],len)}return source},createContext:(canvas,webGLContextAttributes)=>{if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;function fixedGetContext(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}canvas.getContext=fixedGetContext}var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:(ctx,webGLContextAttributes)=>{var handle=GL.getNewId(GL.contexts);var context={handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:contextHandle=>{GL.currentContext=GL.contexts[contextHandle];Module["ctx"]=GLctx=GL.currentContext?.GLctx;return!(contextHandle&&!GLctx)},getContext:contextHandle=>GL.contexts[contextHandle],deleteContext:contextHandle=>{if(GL.currentContext===GL.contexts[contextHandle]){GL.currentContext=null}if(typeof JSEvents=="object"){JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas)}if(GL.contexts[contextHandle]?.GLctx.canvas){GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined}GL.contexts[contextHandle]=null},initExtensions:context=>{context||=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_WEBGL_multi_draw(GLctx);webgl_enable_EXT_polygon_offset_clamp(GLctx);webgl_enable_EXT_clip_control(GLctx);webgl_enable_WEBGL_polygon_mode(GLctx);webgl_enable_ANGLE_instanced_arrays(GLctx);webgl_enable_OES_vertex_array_object(GLctx);webgl_enable_WEBGL_draw_buffers(GLctx);{GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}getEmscriptenSupportedExtensions(GLctx).forEach(ext=>{if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var _glActiveTexture=x0=>GLctx.activeTexture(x0);_glActiveTexture.sig="vi";var _emscripten_glActiveTexture=_glActiveTexture;_emscripten_glActiveTexture.sig="vi";var _glAttachShader=(program,shader)=>{GLctx.attachShader(GL.programs[program],GL.shaders[shader])};_glAttachShader.sig="vii";var _emscripten_glAttachShader=_glAttachShader;_emscripten_glAttachShader.sig="vii";var _glBeginQueryEXT=(target,id)=>{GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])};_glBeginQueryEXT.sig="vii";var _emscripten_glBeginQueryEXT=_glBeginQueryEXT;var _glBindAttribLocation=(program,index,name)=>{GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))};_glBindAttribLocation.sig="viip";var _emscripten_glBindAttribLocation=_glBindAttribLocation;_emscripten_glBindAttribLocation.sig="viip";var _glBindBuffer=(target,buffer)=>{GLctx.bindBuffer(target,GL.buffers[buffer])};_glBindBuffer.sig="vii";var _emscripten_glBindBuffer=_glBindBuffer;_emscripten_glBindBuffer.sig="vii";var _glBindFramebuffer=(target,framebuffer)=>{GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])};_glBindFramebuffer.sig="vii";var _emscripten_glBindFramebuffer=_glBindFramebuffer;_emscripten_glBindFramebuffer.sig="vii";var _glBindRenderbuffer=(target,renderbuffer)=>{GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])};_glBindRenderbuffer.sig="vii";var _emscripten_glBindRenderbuffer=_glBindRenderbuffer;_emscripten_glBindRenderbuffer.sig="vii";var _glBindTexture=(target,texture)=>{GLctx.bindTexture(target,GL.textures[texture])};_glBindTexture.sig="vii";var _emscripten_glBindTexture=_glBindTexture;_emscripten_glBindTexture.sig="vii";var _glBindVertexArray=vao=>{GLctx.bindVertexArray(GL.vaos[vao])};_glBindVertexArray.sig="vi";var _glBindVertexArrayOES=_glBindVertexArray;_glBindVertexArrayOES.sig="vi";var _emscripten_glBindVertexArrayOES=_glBindVertexArrayOES;_emscripten_glBindVertexArrayOES.sig="vi";var _glBlendColor=(x0,x1,x2,x3)=>GLctx.blendColor(x0,x1,x2,x3);_glBlendColor.sig="vffff";var _emscripten_glBlendColor=_glBlendColor;_emscripten_glBlendColor.sig="vffff";var _glBlendEquation=x0=>GLctx.blendEquation(x0);_glBlendEquation.sig="vi";var _emscripten_glBlendEquation=_glBlendEquation;_emscripten_glBlendEquation.sig="vi";var _glBlendEquationSeparate=(x0,x1)=>GLctx.blendEquationSeparate(x0,x1);_glBlendEquationSeparate.sig="vii";var _emscripten_glBlendEquationSeparate=_glBlendEquationSeparate;_emscripten_glBlendEquationSeparate.sig="vii";var _glBlendFunc=(x0,x1)=>GLctx.blendFunc(x0,x1);_glBlendFunc.sig="vii";var _emscripten_glBlendFunc=_glBlendFunc;_emscripten_glBlendFunc.sig="vii";var _glBlendFuncSeparate=(x0,x1,x2,x3)=>GLctx.blendFuncSeparate(x0,x1,x2,x3);_glBlendFuncSeparate.sig="viiii";var _emscripten_glBlendFuncSeparate=_glBlendFuncSeparate;_emscripten_glBlendFuncSeparate.sig="viiii";var _glBufferData=(target,size,data,usage)=>{GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)};_glBufferData.sig="vippi";var _emscripten_glBufferData=_glBufferData;_emscripten_glBufferData.sig="vippi";var _glBufferSubData=(target,offset,size,data)=>{GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))};_glBufferSubData.sig="vippp";var _emscripten_glBufferSubData=_glBufferSubData;_emscripten_glBufferSubData.sig="vippp";var _glCheckFramebufferStatus=x0=>GLctx.checkFramebufferStatus(x0);_glCheckFramebufferStatus.sig="ii";var _emscripten_glCheckFramebufferStatus=_glCheckFramebufferStatus;_emscripten_glCheckFramebufferStatus.sig="ii";var _glClear=x0=>GLctx.clear(x0);_glClear.sig="vi";var _emscripten_glClear=_glClear;_emscripten_glClear.sig="vi";var _glClearColor=(x0,x1,x2,x3)=>GLctx.clearColor(x0,x1,x2,x3);_glClearColor.sig="vffff";var _emscripten_glClearColor=_glClearColor;_emscripten_glClearColor.sig="vffff";var _glClearDepthf=x0=>GLctx.clearDepth(x0);_glClearDepthf.sig="vf";var _emscripten_glClearDepthf=_glClearDepthf;_emscripten_glClearDepthf.sig="vf";var _glClearStencil=x0=>GLctx.clearStencil(x0);_glClearStencil.sig="vi";var _emscripten_glClearStencil=_glClearStencil;_emscripten_glClearStencil.sig="vi";var _glClipControlEXT=(origin,depth)=>{GLctx.extClipControl["clipControlEXT"](origin,depth)};_glClipControlEXT.sig="vii";var _emscripten_glClipControlEXT=_glClipControlEXT;var _glColorMask=(red,green,blue,alpha)=>{GLctx.colorMask(!!red,!!green,!!blue,!!alpha)};_glColorMask.sig="viiii";var _emscripten_glColorMask=_glColorMask;_emscripten_glColorMask.sig="viiii";var _glCompileShader=shader=>{GLctx.compileShader(GL.shaders[shader])};_glCompileShader.sig="vi";var _emscripten_glCompileShader=_glCompileShader;_emscripten_glCompileShader.sig="vi";var _glCompressedTexImage2D=(target,level,internalFormat,width,height,border,imageSize,data)=>{GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,HEAPU8.subarray(data,data+imageSize))};_glCompressedTexImage2D.sig="viiiiiiip";var _emscripten_glCompressedTexImage2D=_glCompressedTexImage2D;_emscripten_glCompressedTexImage2D.sig="viiiiiiip";var _glCompressedTexSubImage2D=(target,level,xoffset,yoffset,width,height,format,imageSize,data)=>{GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,HEAPU8.subarray(data,data+imageSize))};_glCompressedTexSubImage2D.sig="viiiiiiiip";var _emscripten_glCompressedTexSubImage2D=_glCompressedTexSubImage2D;_emscripten_glCompressedTexSubImage2D.sig="viiiiiiiip";var _glCopyTexImage2D=(x0,x1,x2,x3,x4,x5,x6,x7)=>GLctx.copyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7);_glCopyTexImage2D.sig="viiiiiiii";var _emscripten_glCopyTexImage2D=_glCopyTexImage2D;_emscripten_glCopyTexImage2D.sig="viiiiiiii";var _glCopyTexSubImage2D=(x0,x1,x2,x3,x4,x5,x6,x7)=>GLctx.copyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7);_glCopyTexSubImage2D.sig="viiiiiiii";var _emscripten_glCopyTexSubImage2D=_glCopyTexSubImage2D;_emscripten_glCopyTexSubImage2D.sig="viiiiiiii";var _glCreateProgram=()=>{var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id};_glCreateProgram.sig="i";var _emscripten_glCreateProgram=_glCreateProgram;_emscripten_glCreateProgram.sig="i";var _glCreateShader=shaderType=>{var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id};_glCreateShader.sig="ii";var _emscripten_glCreateShader=_glCreateShader;_emscripten_glCreateShader.sig="ii";var _glCullFace=x0=>GLctx.cullFace(x0);_glCullFace.sig="vi";var _emscripten_glCullFace=_glCullFace;_emscripten_glCullFace.sig="vi";var _glDeleteBuffers=(n,buffers)=>{for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}};_glDeleteBuffers.sig="vip";var _emscripten_glDeleteBuffers=_glDeleteBuffers;_emscripten_glDeleteBuffers.sig="vip";var _glDeleteFramebuffers=(n,framebuffers)=>{for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}};_glDeleteFramebuffers.sig="vip";var _emscripten_glDeleteFramebuffers=_glDeleteFramebuffers;_emscripten_glDeleteFramebuffers.sig="vip";var _glDeleteProgram=id=>{if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null};_glDeleteProgram.sig="vi";var _emscripten_glDeleteProgram=_glDeleteProgram;_emscripten_glDeleteProgram.sig="vi";var _glDeleteQueriesEXT=(n,ids)=>{for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.queries[id]=null}};_glDeleteQueriesEXT.sig="vip";var _emscripten_glDeleteQueriesEXT=_glDeleteQueriesEXT;var _glDeleteRenderbuffers=(n,renderbuffers)=>{for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}};_glDeleteRenderbuffers.sig="vip";var _emscripten_glDeleteRenderbuffers=_glDeleteRenderbuffers;_emscripten_glDeleteRenderbuffers.sig="vip";var _glDeleteShader=id=>{if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null};_glDeleteShader.sig="vi";var _emscripten_glDeleteShader=_glDeleteShader;_emscripten_glDeleteShader.sig="vi";var _glDeleteTextures=(n,textures)=>{for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}};_glDeleteTextures.sig="vip";var _emscripten_glDeleteTextures=_glDeleteTextures;_emscripten_glDeleteTextures.sig="vip";var _glDeleteVertexArrays=(n,vaos)=>{for(var i=0;i>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}};_glDeleteVertexArrays.sig="vip";var _glDeleteVertexArraysOES=_glDeleteVertexArrays;_glDeleteVertexArraysOES.sig="vip";var _emscripten_glDeleteVertexArraysOES=_glDeleteVertexArraysOES;_emscripten_glDeleteVertexArraysOES.sig="vip";var _glDepthFunc=x0=>GLctx.depthFunc(x0);_glDepthFunc.sig="vi";var _emscripten_glDepthFunc=_glDepthFunc;_emscripten_glDepthFunc.sig="vi";var _glDepthMask=flag=>{GLctx.depthMask(!!flag)};_glDepthMask.sig="vi";var _emscripten_glDepthMask=_glDepthMask;_emscripten_glDepthMask.sig="vi";var _glDepthRangef=(x0,x1)=>GLctx.depthRange(x0,x1);_glDepthRangef.sig="vff";var _emscripten_glDepthRangef=_glDepthRangef;_emscripten_glDepthRangef.sig="vff";var _glDetachShader=(program,shader)=>{GLctx.detachShader(GL.programs[program],GL.shaders[shader])};_glDetachShader.sig="vii";var _emscripten_glDetachShader=_glDetachShader;_emscripten_glDetachShader.sig="vii";var _glDisable=x0=>GLctx.disable(x0);_glDisable.sig="vi";var _emscripten_glDisable=_glDisable;_emscripten_glDisable.sig="vi";var _glDisableVertexAttribArray=index=>{GLctx.disableVertexAttribArray(index)};_glDisableVertexAttribArray.sig="vi";var _emscripten_glDisableVertexAttribArray=_glDisableVertexAttribArray;_emscripten_glDisableVertexAttribArray.sig="vi";var _glDrawArrays=(mode,first,count)=>{GLctx.drawArrays(mode,first,count)};_glDrawArrays.sig="viii";var _emscripten_glDrawArrays=_glDrawArrays;_emscripten_glDrawArrays.sig="viii";var _glDrawArraysInstanced=(mode,first,count,primcount)=>{GLctx.drawArraysInstanced(mode,first,count,primcount)};_glDrawArraysInstanced.sig="viiii";var _glDrawArraysInstancedANGLE=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedANGLE=_glDrawArraysInstancedANGLE;var tempFixedLengthArray=[];var _glDrawBuffers=(n,bufs)=>{var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx.drawBuffers(bufArray)};_glDrawBuffers.sig="vip";var _glDrawBuffersWEBGL=_glDrawBuffers;var _emscripten_glDrawBuffersWEBGL=_glDrawBuffersWEBGL;var _glDrawElements=(mode,count,type,indices)=>{GLctx.drawElements(mode,count,type,indices)};_glDrawElements.sig="viiip";var _emscripten_glDrawElements=_glDrawElements;_emscripten_glDrawElements.sig="viiip";var _glDrawElementsInstanced=(mode,count,type,indices,primcount)=>{GLctx.drawElementsInstanced(mode,count,type,indices,primcount)};_glDrawElementsInstanced.sig="viiipi";var _glDrawElementsInstancedANGLE=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedANGLE=_glDrawElementsInstancedANGLE;var _glEnable=x0=>GLctx.enable(x0);_glEnable.sig="vi";var _emscripten_glEnable=_glEnable;_emscripten_glEnable.sig="vi";var _glEnableVertexAttribArray=index=>{GLctx.enableVertexAttribArray(index)};_glEnableVertexAttribArray.sig="vi";var _emscripten_glEnableVertexAttribArray=_glEnableVertexAttribArray;_emscripten_glEnableVertexAttribArray.sig="vi";var _glEndQueryEXT=target=>{GLctx.disjointTimerQueryExt["endQueryEXT"](target)};_glEndQueryEXT.sig="vi";var _emscripten_glEndQueryEXT=_glEndQueryEXT;var _glFinish=()=>GLctx.finish();_glFinish.sig="v";var _emscripten_glFinish=_glFinish;_emscripten_glFinish.sig="v";var _glFlush=()=>GLctx.flush();_glFlush.sig="v";var _emscripten_glFlush=_glFlush;_emscripten_glFlush.sig="v";var _glFramebufferRenderbuffer=(target,attachment,renderbuffertarget,renderbuffer)=>{GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])};_glFramebufferRenderbuffer.sig="viiii";var _emscripten_glFramebufferRenderbuffer=_glFramebufferRenderbuffer;_emscripten_glFramebufferRenderbuffer.sig="viiii";var _glFramebufferTexture2D=(target,attachment,textarget,texture,level)=>{GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)};_glFramebufferTexture2D.sig="viiiii";var _emscripten_glFramebufferTexture2D=_glFramebufferTexture2D;_emscripten_glFramebufferTexture2D.sig="viiiii";var _glFrontFace=x0=>GLctx.frontFace(x0);_glFrontFace.sig="vi";var _emscripten_glFrontFace=_glFrontFace;_emscripten_glFrontFace.sig="vi";var _glGenBuffers=(n,buffers)=>{GL.genObject(n,buffers,"createBuffer",GL.buffers)};_glGenBuffers.sig="vip";var _emscripten_glGenBuffers=_glGenBuffers;_emscripten_glGenBuffers.sig="vip";var _glGenFramebuffers=(n,ids)=>{GL.genObject(n,ids,"createFramebuffer",GL.framebuffers)};_glGenFramebuffers.sig="vip";var _emscripten_glGenFramebuffers=_glGenFramebuffers;_emscripten_glGenFramebuffers.sig="vip";var _glGenQueriesEXT=(n,ids)=>{for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.queries);query.name=id;GL.queries[id]=query;HEAP32[ids+i*4>>2]=id}};_glGenQueriesEXT.sig="vip";var _emscripten_glGenQueriesEXT=_glGenQueriesEXT;var _glGenRenderbuffers=(n,renderbuffers)=>{GL.genObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)};_glGenRenderbuffers.sig="vip";var _emscripten_glGenRenderbuffers=_glGenRenderbuffers;_emscripten_glGenRenderbuffers.sig="vip";var _glGenTextures=(n,textures)=>{GL.genObject(n,textures,"createTexture",GL.textures)};_glGenTextures.sig="vip";var _emscripten_glGenTextures=_glGenTextures;_emscripten_glGenTextures.sig="vip";var _glGenVertexArrays=(n,arrays)=>{GL.genObject(n,arrays,"createVertexArray",GL.vaos)};_glGenVertexArrays.sig="vip";var _glGenVertexArraysOES=_glGenVertexArrays;_glGenVertexArraysOES.sig="vip";var _emscripten_glGenVertexArraysOES=_glGenVertexArraysOES;_emscripten_glGenVertexArraysOES.sig="vip";var _glGenerateMipmap=x0=>GLctx.generateMipmap(x0);_glGenerateMipmap.sig="vi";var _emscripten_glGenerateMipmap=_glGenerateMipmap;_emscripten_glGenerateMipmap.sig="vi";var __glGetActiveAttribOrUniform=(funcName,program,index,bufSize,length,size,type,name)=>{program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}};var _glGetActiveAttrib=(program,index,bufSize,length,size,type,name)=>__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name);_glGetActiveAttrib.sig="viiipppp";var _emscripten_glGetActiveAttrib=_glGetActiveAttrib;_emscripten_glGetActiveAttrib.sig="viiipppp";var _glGetActiveUniform=(program,index,bufSize,length,size,type,name)=>__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name);_glGetActiveUniform.sig="viiipppp";var _emscripten_glGetActiveUniform=_glGetActiveUniform;_emscripten_glGetActiveUniform.sig="viiipppp";var _glGetAttachedShaders=(program,maxCount,count,shaders)=>{var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}};_glGetAttachedShaders.sig="viipp";var _emscripten_glGetAttachedShaders=_glGetAttachedShaders;_emscripten_glGetAttachedShaders.sig="viipp";var _glGetAttribLocation=(program,name)=>GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name));_glGetAttribLocation.sig="iip";var _emscripten_glGetAttribLocation=_glGetAttribLocation;_emscripten_glGetAttribLocation.sig="iip";var writeI53ToI64=(ptr,num)=>{HEAPU32[ptr>>2]=num;var lower=HEAPU32[ptr>>2];HEAPU32[ptr+4>>2]=(num-lower)/4294967296};var emscriptenWebGLGet=(name_,p,type)=>{if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Unknown object returned from WebGL getParameter(${name_})! (error: ${e})`);return}}break;default:GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Native code calling glGet${type}v(${name_}) and it returns ${result} of type ${typeof result}!`);return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p]=ret?1:0;break}};var _glGetBooleanv=(name_,p)=>emscriptenWebGLGet(name_,p,4);_glGetBooleanv.sig="vip";var _emscripten_glGetBooleanv=_glGetBooleanv;_emscripten_glGetBooleanv.sig="vip";var _glGetBufferParameteriv=(target,value,data)=>{if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)};_glGetBufferParameteriv.sig="viip";var _emscripten_glGetBufferParameteriv=_glGetBufferParameteriv;_emscripten_glGetBufferParameteriv.sig="viip";var _glGetError=()=>{var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error};_glGetError.sig="i";var _emscripten_glGetError=_glGetError;_emscripten_glGetError.sig="i";var _glGetFloatv=(name_,p)=>emscriptenWebGLGet(name_,p,2);_glGetFloatv.sig="vip";var _emscripten_glGetFloatv=_glGetFloatv;_emscripten_glGetFloatv.sig="vip";var _glGetFramebufferAttachmentParameteriv=(target,attachment,pname,params)=>{var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result};_glGetFramebufferAttachmentParameteriv.sig="viiip";var _emscripten_glGetFramebufferAttachmentParameteriv=_glGetFramebufferAttachmentParameteriv;_emscripten_glGetFramebufferAttachmentParameteriv.sig="viiip";var _glGetIntegerv=(name_,p)=>emscriptenWebGLGet(name_,p,0);_glGetIntegerv.sig="vip";var _emscripten_glGetIntegerv=_glGetIntegerv;_emscripten_glGetIntegerv.sig="vip";var _glGetProgramInfoLog=(program,maxLength,length,infoLog)=>{var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};_glGetProgramInfoLog.sig="viipp";var _emscripten_glGetProgramInfoLog=_glGetProgramInfoLog;_emscripten_glGetProgramInfoLog.sig="viipp";var _glGetProgramiv=(program,pname,p)=>{if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){var numActiveUniforms=GLctx.getProgramParameter(program,35718);for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){var numActiveAttributes=GLctx.getProgramParameter(program,35721);for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){var numActiveUniformBlocks=GLctx.getProgramParameter(program,35382);for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}};_glGetProgramiv.sig="viip";var _emscripten_glGetProgramiv=_glGetProgramiv;_emscripten_glGetProgramiv.sig="viip";var _glGetQueryObjecti64vEXT=(id,pname,params)=>{if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;{param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)};_glGetQueryObjecti64vEXT.sig="viip";var _emscripten_glGetQueryObjecti64vEXT=_glGetQueryObjecti64vEXT;var _glGetQueryObjectivEXT=(id,pname,params)=>{if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret};_glGetQueryObjectivEXT.sig="viip";var _emscripten_glGetQueryObjectivEXT=_glGetQueryObjectivEXT;var _glGetQueryObjectui64vEXT=_glGetQueryObjecti64vEXT;var _emscripten_glGetQueryObjectui64vEXT=_glGetQueryObjectui64vEXT;var _glGetQueryObjectuivEXT=_glGetQueryObjectivEXT;var _emscripten_glGetQueryObjectuivEXT=_glGetQueryObjectuivEXT;var _glGetQueryivEXT=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)};_glGetQueryivEXT.sig="viip";var _emscripten_glGetQueryivEXT=_glGetQueryivEXT;var _glGetRenderbufferParameteriv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)};_glGetRenderbufferParameteriv.sig="viip";var _emscripten_glGetRenderbufferParameteriv=_glGetRenderbufferParameteriv;_emscripten_glGetRenderbufferParameteriv.sig="viip";var _glGetShaderInfoLog=(shader,maxLength,length,infoLog)=>{var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};_glGetShaderInfoLog.sig="viipp";var _emscripten_glGetShaderInfoLog=_glGetShaderInfoLog;_emscripten_glGetShaderInfoLog.sig="viipp";var _glGetShaderPrecisionFormat=(shaderType,precisionType,range,precision)=>{var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision};_glGetShaderPrecisionFormat.sig="viipp";var _emscripten_glGetShaderPrecisionFormat=_glGetShaderPrecisionFormat;_emscripten_glGetShaderPrecisionFormat.sig="viipp";var _glGetShaderSource=(shader,bufSize,length,source)=>{var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};_glGetShaderSource.sig="viipp";var _emscripten_glGetShaderSource=_glGetShaderSource;_emscripten_glGetShaderSource.sig="viipp";var _glGetShaderiv=(shader,pname,p)=>{if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}};_glGetShaderiv.sig="viip";var _emscripten_glGetShaderiv=_glGetShaderiv;_emscripten_glGetShaderiv.sig="viip";var webglGetExtensions=()=>{var exts=getEmscriptenSupportedExtensions(GLctx);exts=exts.concat(exts.map(e=>"GL_"+e));return exts};var _glGetString=name_=>{var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:ret=stringToNewUTF8(webglGetExtensions().join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s?stringToNewUTF8(s):0;break;case 7938:var webGLVersion=GLctx.getParameter(7938);var glVersion=`OpenGL ES 2.0 (${webGLVersion})`;ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion=`OpenGL ES GLSL ES ${ver_num[1]} (${glslVersion})`}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret};_glGetString.sig="pi";var _emscripten_glGetString=_glGetString;_emscripten_glGetString.sig="pi";var _glGetTexParameterfv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)};_glGetTexParameterfv.sig="viip";var _emscripten_glGetTexParameterfv=_glGetTexParameterfv;_emscripten_glGetTexParameterfv.sig="viip";var _glGetTexParameteriv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)};_glGetTexParameteriv.sig="viip";var _emscripten_glGetTexParameteriv=_glGetTexParameteriv;_emscripten_glGetTexParameteriv.sig="viip";var jstoi_q=str=>parseInt(str);var webglGetLeftBracePos=name=>name.slice(-1)=="]"&&name.lastIndexOf("[");var webglPrepareUniformLocationsBeforeFirstUse=program=>{var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};var numActiveUniforms=GLctx.getProgramParameter(program,35718);for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j{name=UTF8ToString(name);if(program=GL.programs[program]){webglPrepareUniformLocationsBeforeFirstUse(program);var uniformLocsById=program.uniformLocsById;var arrayIndex=0;var uniformBaseName=name;var leftBrace=webglGetLeftBracePos(name);if(leftBrace>0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex{var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc=="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?`[${webglLoc}]`:""))}return webglLoc}else{GL.recordError(1282)}};var emscriptenWebGLGetUniform=(program,location,params,type)=>{if(!params){GL.recordError(1281);return}program=GL.programs[program];webglPrepareUniformLocationsBeforeFirstUse(program);var data=GLctx.getUniform(program,webglGetUniformLocation(location));if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}};var _glGetUniformfv=(program,location,params)=>{emscriptenWebGLGetUniform(program,location,params,2)};_glGetUniformfv.sig="viip";var _emscripten_glGetUniformfv=_glGetUniformfv;_emscripten_glGetUniformfv.sig="viip";var _glGetUniformiv=(program,location,params)=>{emscriptenWebGLGetUniform(program,location,params,0)};_glGetUniformiv.sig="viip";var _emscripten_glGetUniformiv=_glGetUniformiv;_emscripten_glGetUniformiv.sig="viip";var _glGetVertexAttribPointerv=(index,pname,pointer)=>{if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)};_glGetVertexAttribPointerv.sig="viip";var _emscripten_glGetVertexAttribPointerv=_glGetVertexAttribPointerv;_emscripten_glGetVertexAttribPointerv.sig="viip";var emscriptenWebGLGetVertexAttrib=(index,pname,params,type)=>{if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}};var _glGetVertexAttribfv=(index,pname,params)=>{emscriptenWebGLGetVertexAttrib(index,pname,params,2)};_glGetVertexAttribfv.sig="viip";var _emscripten_glGetVertexAttribfv=_glGetVertexAttribfv;_emscripten_glGetVertexAttribfv.sig="viip";var _glGetVertexAttribiv=(index,pname,params)=>{emscriptenWebGLGetVertexAttrib(index,pname,params,5)};_glGetVertexAttribiv.sig="viip";var _emscripten_glGetVertexAttribiv=_glGetVertexAttribiv;_emscripten_glGetVertexAttribiv.sig="viip";var _glHint=(x0,x1)=>GLctx.hint(x0,x1);_glHint.sig="vii";var _emscripten_glHint=_glHint;_emscripten_glHint.sig="vii";var _glIsBuffer=buffer=>{var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)};_glIsBuffer.sig="ii";var _emscripten_glIsBuffer=_glIsBuffer;_emscripten_glIsBuffer.sig="ii";var _glIsEnabled=x0=>GLctx.isEnabled(x0);_glIsEnabled.sig="ii";var _emscripten_glIsEnabled=_glIsEnabled;_emscripten_glIsEnabled.sig="ii";var _glIsFramebuffer=framebuffer=>{var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)};_glIsFramebuffer.sig="ii";var _emscripten_glIsFramebuffer=_glIsFramebuffer;_emscripten_glIsFramebuffer.sig="ii";var _glIsProgram=program=>{program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)};_glIsProgram.sig="ii";var _emscripten_glIsProgram=_glIsProgram;_emscripten_glIsProgram.sig="ii";var _glIsQueryEXT=id=>{var query=GL.queries[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)};_glIsQueryEXT.sig="ii";var _emscripten_glIsQueryEXT=_glIsQueryEXT;var _glIsRenderbuffer=renderbuffer=>{var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)};_glIsRenderbuffer.sig="ii";var _emscripten_glIsRenderbuffer=_glIsRenderbuffer;_emscripten_glIsRenderbuffer.sig="ii";var _glIsShader=shader=>{var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)};_glIsShader.sig="ii";var _emscripten_glIsShader=_glIsShader;_emscripten_glIsShader.sig="ii";var _glIsTexture=id=>{var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)};_glIsTexture.sig="ii";var _emscripten_glIsTexture=_glIsTexture;_emscripten_glIsTexture.sig="ii";var _glIsVertexArray=array=>{var vao=GL.vaos[array];if(!vao)return 0;return GLctx.isVertexArray(vao)};_glIsVertexArray.sig="ii";var _glIsVertexArrayOES=_glIsVertexArray;_glIsVertexArrayOES.sig="ii";var _emscripten_glIsVertexArrayOES=_glIsVertexArrayOES;_emscripten_glIsVertexArrayOES.sig="ii";var _glLineWidth=x0=>GLctx.lineWidth(x0);_glLineWidth.sig="vf";var _emscripten_glLineWidth=_glLineWidth;_emscripten_glLineWidth.sig="vf";var _glLinkProgram=program=>{program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}};_glLinkProgram.sig="vi";var _emscripten_glLinkProgram=_glLinkProgram;_emscripten_glLinkProgram.sig="vi";var _glPixelStorei=(pname,param)=>{if(pname==3317){GL.unpackAlignment=param}else if(pname==3314){GL.unpackRowLength=param}GLctx.pixelStorei(pname,param)};_glPixelStorei.sig="vii";var _emscripten_glPixelStorei=_glPixelStorei;_emscripten_glPixelStorei.sig="vii";var _glPolygonModeWEBGL=(face,mode)=>{GLctx.webglPolygonMode["polygonModeWEBGL"](face,mode)};_glPolygonModeWEBGL.sig="vii";var _emscripten_glPolygonModeWEBGL=_glPolygonModeWEBGL;var _glPolygonOffset=(x0,x1)=>GLctx.polygonOffset(x0,x1);_glPolygonOffset.sig="vff";var _emscripten_glPolygonOffset=_glPolygonOffset;_emscripten_glPolygonOffset.sig="vff";var _glPolygonOffsetClampEXT=(factor,units,clamp)=>{GLctx.extPolygonOffsetClamp["polygonOffsetClampEXT"](factor,units,clamp)};_glPolygonOffsetClampEXT.sig="vfff";var _emscripten_glPolygonOffsetClampEXT=_glPolygonOffsetClampEXT;var _glQueryCounterEXT=(id,target)=>{GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)};_glQueryCounterEXT.sig="vii";var _emscripten_glQueryCounterEXT=_glQueryCounterEXT;var computeUnpackAlignedImageSize=(width,height,sizePerPixel)=>{function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=(GL.unpackRowLength||width)*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,GL.unpackAlignment);return height*alignedRowSize};var colorChannelsInGlTextureFormat=format=>{var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1};var heapObjectForWebGLType=type=>{type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16};var toTypedArrayIndex=(pointer,heap)=>pointer>>>31-Math.clz32(heap.BYTES_PER_ELEMENT);var emscriptenWebGLGetTexPixelData=(type,format,width,height,pixels,internalFormat)=>{var heap=heapObjectForWebGLType(type);var sizePerPixel=colorChannelsInGlTextureFormat(format)*heap.BYTES_PER_ELEMENT;var bytes=computeUnpackAlignedImageSize(width,height,sizePerPixel);return heap.subarray(toTypedArrayIndex(pixels,heap),toTypedArrayIndex(pixels+bytes,heap))};var _glReadPixels=(x,y,width,height,format,type,pixels)=>{var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)};_glReadPixels.sig="viiiiiip";var _emscripten_glReadPixels=_glReadPixels;_emscripten_glReadPixels.sig="viiiiiip";var _glReleaseShaderCompiler=()=>{};_glReleaseShaderCompiler.sig="v";var _emscripten_glReleaseShaderCompiler=_glReleaseShaderCompiler;_emscripten_glReleaseShaderCompiler.sig="v";var _glRenderbufferStorage=(x0,x1,x2,x3)=>GLctx.renderbufferStorage(x0,x1,x2,x3);_glRenderbufferStorage.sig="viiii";var _emscripten_glRenderbufferStorage=_glRenderbufferStorage;_emscripten_glRenderbufferStorage.sig="viiii";var _glSampleCoverage=(value,invert)=>{GLctx.sampleCoverage(value,!!invert)};_glSampleCoverage.sig="vfi";var _emscripten_glSampleCoverage=_glSampleCoverage;_emscripten_glSampleCoverage.sig="vfi";var _glScissor=(x0,x1,x2,x3)=>GLctx.scissor(x0,x1,x2,x3);_glScissor.sig="viiii";var _emscripten_glScissor=_glScissor;_emscripten_glScissor.sig="viiii";var _glShaderBinary=(count,shaders,binaryformat,binary,length)=>{GL.recordError(1280)};_glShaderBinary.sig="vipipi";var _emscripten_glShaderBinary=_glShaderBinary;_emscripten_glShaderBinary.sig="vipipi";var _glShaderSource=(shader,count,string,length)=>{var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)};_glShaderSource.sig="viipp";var _emscripten_glShaderSource=_glShaderSource;_emscripten_glShaderSource.sig="viipp";var _glStencilFunc=(x0,x1,x2)=>GLctx.stencilFunc(x0,x1,x2);_glStencilFunc.sig="viii";var _emscripten_glStencilFunc=_glStencilFunc;_emscripten_glStencilFunc.sig="viii";var _glStencilFuncSeparate=(x0,x1,x2,x3)=>GLctx.stencilFuncSeparate(x0,x1,x2,x3);_glStencilFuncSeparate.sig="viiii";var _emscripten_glStencilFuncSeparate=_glStencilFuncSeparate;_emscripten_glStencilFuncSeparate.sig="viiii";var _glStencilMask=x0=>GLctx.stencilMask(x0);_glStencilMask.sig="vi";var _emscripten_glStencilMask=_glStencilMask;_emscripten_glStencilMask.sig="vi";var _glStencilMaskSeparate=(x0,x1)=>GLctx.stencilMaskSeparate(x0,x1);_glStencilMaskSeparate.sig="vii";var _emscripten_glStencilMaskSeparate=_glStencilMaskSeparate;_emscripten_glStencilMaskSeparate.sig="vii";var _glStencilOp=(x0,x1,x2)=>GLctx.stencilOp(x0,x1,x2);_glStencilOp.sig="viii";var _emscripten_glStencilOp=_glStencilOp;_emscripten_glStencilOp.sig="viii";var _glStencilOpSeparate=(x0,x1,x2,x3)=>GLctx.stencilOpSeparate(x0,x1,x2,x3);_glStencilOpSeparate.sig="viiii";var _emscripten_glStencilOpSeparate=_glStencilOpSeparate;_emscripten_glStencilOpSeparate.sig="viiii";var _glTexImage2D=(target,level,internalFormat,width,height,border,format,type,pixels)=>{var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null;GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)};_glTexImage2D.sig="viiiiiiiip";var _emscripten_glTexImage2D=_glTexImage2D;_emscripten_glTexImage2D.sig="viiiiiiiip";var _glTexParameterf=(x0,x1,x2)=>GLctx.texParameterf(x0,x1,x2);_glTexParameterf.sig="viif";var _emscripten_glTexParameterf=_glTexParameterf;_emscripten_glTexParameterf.sig="viif";var _glTexParameterfv=(target,pname,params)=>{var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)};_glTexParameterfv.sig="viip";var _emscripten_glTexParameterfv=_glTexParameterfv;_emscripten_glTexParameterfv.sig="viip";var _glTexParameteri=(x0,x1,x2)=>GLctx.texParameteri(x0,x1,x2);_glTexParameteri.sig="viii";var _emscripten_glTexParameteri=_glTexParameteri;_emscripten_glTexParameteri.sig="viii";var _glTexParameteriv=(target,pname,params)=>{var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)};_glTexParameteriv.sig="viip";var _emscripten_glTexParameteriv=_glTexParameteriv;_emscripten_glTexParameteriv.sig="viip";var _glTexSubImage2D=(target,level,xoffset,yoffset,width,height,format,type,pixels)=>{var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0):null;GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)};_glTexSubImage2D.sig="viiiiiiiip";var _emscripten_glTexSubImage2D=_glTexSubImage2D;_emscripten_glTexSubImage2D.sig="viiiiiiiip";var _glUniform1f=(location,v0)=>{GLctx.uniform1f(webglGetUniformLocation(location),v0)};_glUniform1f.sig="vif";var _emscripten_glUniform1f=_glUniform1f;_emscripten_glUniform1f.sig="vif";var miniTempWebGLFloatBuffers=[];var _glUniform1fv=(location,count,value)=>{if(count<=288){var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(webglGetUniformLocation(location),view)};_glUniform1fv.sig="viip";var _emscripten_glUniform1fv=_glUniform1fv;_emscripten_glUniform1fv.sig="viip";var _glUniform1i=(location,v0)=>{GLctx.uniform1i(webglGetUniformLocation(location),v0)};_glUniform1i.sig="vii";var _emscripten_glUniform1i=_glUniform1i;_emscripten_glUniform1i.sig="vii";var miniTempWebGLIntBuffers=[];var _glUniform1iv=(location,count,value)=>{if(count<=288){var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(webglGetUniformLocation(location),view)};_glUniform1iv.sig="viip";var _emscripten_glUniform1iv=_glUniform1iv;_emscripten_glUniform1iv.sig="viip";var _glUniform2f=(location,v0,v1)=>{GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)};_glUniform2f.sig="viff";var _emscripten_glUniform2f=_glUniform2f;_emscripten_glUniform2f.sig="viff";var _glUniform2fv=(location,count,value)=>{if(count<=144){count*=2;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(webglGetUniformLocation(location),view)};_glUniform2fv.sig="viip";var _emscripten_glUniform2fv=_glUniform2fv;_emscripten_glUniform2fv.sig="viip";var _glUniform2i=(location,v0,v1)=>{GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)};_glUniform2i.sig="viii";var _emscripten_glUniform2i=_glUniform2i;_emscripten_glUniform2i.sig="viii";var _glUniform2iv=(location,count,value)=>{if(count<=144){count*=2;var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(webglGetUniformLocation(location),view)};_glUniform2iv.sig="viip";var _emscripten_glUniform2iv=_glUniform2iv;_emscripten_glUniform2iv.sig="viip";var _glUniform3f=(location,v0,v1,v2)=>{GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)};_glUniform3f.sig="vifff";var _emscripten_glUniform3f=_glUniform3f;_emscripten_glUniform3f.sig="vifff";var _glUniform3fv=(location,count,value)=>{if(count<=96){count*=3;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(webglGetUniformLocation(location),view)};_glUniform3fv.sig="viip";var _emscripten_glUniform3fv=_glUniform3fv;_emscripten_glUniform3fv.sig="viip";var _glUniform3i=(location,v0,v1,v2)=>{GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)};_glUniform3i.sig="viiii";var _emscripten_glUniform3i=_glUniform3i;_emscripten_glUniform3i.sig="viiii";var _glUniform3iv=(location,count,value)=>{if(count<=96){count*=3;var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(webglGetUniformLocation(location),view)};_glUniform3iv.sig="viip";var _emscripten_glUniform3iv=_glUniform3iv;_emscripten_glUniform3iv.sig="viip";var _glUniform4f=(location,v0,v1,v2,v3)=>{GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)};_glUniform4f.sig="viffff";var _emscripten_glUniform4f=_glUniform4f;_emscripten_glUniform4f.sig="viffff";var _glUniform4fv=(location,count,value)=>{if(count<=72){var view=miniTempWebGLFloatBuffers[4*count];var heap=HEAPF32;value=value>>2;count*=4;for(var i=0;i>2,value+count*16>>2)}GLctx.uniform4fv(webglGetUniformLocation(location),view)};_glUniform4fv.sig="viip";var _emscripten_glUniform4fv=_glUniform4fv;_emscripten_glUniform4fv.sig="viip";var _glUniform4i=(location,v0,v1,v2,v3)=>{GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)};_glUniform4i.sig="viiiii";var _emscripten_glUniform4i=_glUniform4i;_emscripten_glUniform4i.sig="viiiii";var _glUniform4iv=(location,count,value)=>{if(count<=72){count*=4;var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(webglGetUniformLocation(location),view)};_glUniform4iv.sig="viip";var _emscripten_glUniform4iv=_glUniform4iv;_emscripten_glUniform4iv.sig="viip";var _glUniformMatrix2fv=(location,count,transpose,value)=>{if(count<=72){count*=4;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,view)};_glUniformMatrix2fv.sig="viiip";var _emscripten_glUniformMatrix2fv=_glUniformMatrix2fv;_emscripten_glUniformMatrix2fv.sig="viiip";var _glUniformMatrix3fv=(location,count,transpose,value)=>{if(count<=32){count*=9;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)};_glUniformMatrix3fv.sig="viiip";var _emscripten_glUniformMatrix3fv=_glUniformMatrix3fv;_emscripten_glUniformMatrix3fv.sig="viiip";var _glUniformMatrix4fv=(location,count,transpose,value)=>{if(count<=18){var view=miniTempWebGLFloatBuffers[16*count];var heap=HEAPF32;value=value>>2;count*=16;for(var i=0;i>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)};_glUniformMatrix4fv.sig="viiip";var _emscripten_glUniformMatrix4fv=_glUniformMatrix4fv;_emscripten_glUniformMatrix4fv.sig="viiip";var _glUseProgram=program=>{program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program};_glUseProgram.sig="vi";var _emscripten_glUseProgram=_glUseProgram;_emscripten_glUseProgram.sig="vi";var _glValidateProgram=program=>{GLctx.validateProgram(GL.programs[program])};_glValidateProgram.sig="vi";var _emscripten_glValidateProgram=_glValidateProgram;_emscripten_glValidateProgram.sig="vi";var _glVertexAttrib1f=(x0,x1)=>GLctx.vertexAttrib1f(x0,x1);_glVertexAttrib1f.sig="vif";var _emscripten_glVertexAttrib1f=_glVertexAttrib1f;_emscripten_glVertexAttrib1f.sig="vif";var _glVertexAttrib1fv=(index,v)=>{GLctx.vertexAttrib1f(index,HEAPF32[v>>2])};_glVertexAttrib1fv.sig="vip";var _emscripten_glVertexAttrib1fv=_glVertexAttrib1fv;_emscripten_glVertexAttrib1fv.sig="vip";var _glVertexAttrib2f=(x0,x1,x2)=>GLctx.vertexAttrib2f(x0,x1,x2);_glVertexAttrib2f.sig="viff";var _emscripten_glVertexAttrib2f=_glVertexAttrib2f;_emscripten_glVertexAttrib2f.sig="viff";var _glVertexAttrib2fv=(index,v)=>{GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])};_glVertexAttrib2fv.sig="vip";var _emscripten_glVertexAttrib2fv=_glVertexAttrib2fv;_emscripten_glVertexAttrib2fv.sig="vip";var _glVertexAttrib3f=(x0,x1,x2,x3)=>GLctx.vertexAttrib3f(x0,x1,x2,x3);_glVertexAttrib3f.sig="vifff";var _emscripten_glVertexAttrib3f=_glVertexAttrib3f;_emscripten_glVertexAttrib3f.sig="vifff";var _glVertexAttrib3fv=(index,v)=>{GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])};_glVertexAttrib3fv.sig="vip";var _emscripten_glVertexAttrib3fv=_glVertexAttrib3fv;_emscripten_glVertexAttrib3fv.sig="vip";var _glVertexAttrib4f=(x0,x1,x2,x3,x4)=>GLctx.vertexAttrib4f(x0,x1,x2,x3,x4);_glVertexAttrib4f.sig="viffff";var _emscripten_glVertexAttrib4f=_glVertexAttrib4f;_emscripten_glVertexAttrib4f.sig="viffff";var _glVertexAttrib4fv=(index,v)=>{GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])};_glVertexAttrib4fv.sig="vip";var _emscripten_glVertexAttrib4fv=_glVertexAttrib4fv;_emscripten_glVertexAttrib4fv.sig="vip";var _glVertexAttribDivisor=(index,divisor)=>{GLctx.vertexAttribDivisor(index,divisor)};_glVertexAttribDivisor.sig="vii";var _glVertexAttribDivisorANGLE=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorANGLE=_glVertexAttribDivisorANGLE;var _glVertexAttribPointer=(index,size,type,normalized,stride,ptr)=>{GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)};_glVertexAttribPointer.sig="viiiiip";var _emscripten_glVertexAttribPointer=_glVertexAttribPointer;_emscripten_glVertexAttribPointer.sig="viiiiip";var _glViewport=(x0,x1,x2,x3)=>GLctx.viewport(x0,x1,x2,x3);_glViewport.sig="viiii";var _emscripten_glViewport=_glViewport;_emscripten_glViewport.sig="viiii";var _emscripten_out=str=>out(UTF8ToString(str));_emscripten_out.sig="vp";class HandleAllocator{allocated=[undefined];freelist=[];get(id){return this.allocated[id]}has(id){return this.allocated[id]!==undefined}allocate(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id}free(id){this.allocated[id]=undefined;this.freelist.push(id)}}var promiseMap=new HandleAllocator;var makePromise=()=>{var promiseInfo={};promiseInfo.promise=new Promise((resolve,reject)=>{promiseInfo.reject=reject;promiseInfo.resolve=resolve});promiseInfo.id=promiseMap.allocate(promiseInfo);return promiseInfo};var _emscripten_promise_create=()=>makePromise().id;_emscripten_promise_create.sig="p";var _emscripten_promise_destroy=id=>{promiseMap.free(id)};_emscripten_promise_destroy.sig="vp";var getPromise=id=>promiseMap.get(id).promise;var _emscripten_promise_resolve=(id,result,value)=>{var info=promiseMap.get(id);switch(result){case 0:info.resolve(value);return;case 1:info.resolve(getPromise(value));return;case 2:info.resolve(getPromise(value));_emscripten_promise_destroy(value);return;case 3:info.reject(value);return}};_emscripten_promise_resolve.sig="vpip";var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}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,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};_emscripten_resize_heap.sig="ip";var _emscripten_wget_data=(url,pbuffer,pnum,perror)=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_wget_data"};_emscripten_wget_data.sig="vpppp";var ENV={};var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.language||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};_environ_get.sig="ipp";var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};_environ_sizes_get.sig="ipp";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}}_fd_close.sig="ii";function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_fdstat_get.sig="iip";var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_pread.sig="iippiip";var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_pwrite.sig="iippiip";function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_read.sig="iippp";function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_seek.sig="iiiiip";function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops?.fsync){return stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_sync.sig="ii";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}}_fd_write.sig="iippp";var _getnameinfo=(sa,salen,node,nodelen,serv,servlen,flags)=>{var info=readSockaddr(sa,salen);if(info.errno){return-6}var port=info.port;var addr=info.addr;var overflowed=false;if(node&&nodelen){var lookup;if(flags&1||!(lookup=DNS.lookup_addr(addr))){if(flags&8){return-2}}else{addr=lookup}var numBytesWrittenExclNull=stringToUTF8(addr,node,nodelen);if(numBytesWrittenExclNull+1>=nodelen){overflowed=true}}if(serv&&servlen){port=""+port;var numBytesWrittenExclNull=stringToUTF8(port,serv,servlen);if(numBytesWrittenExclNull+1>=servlen){overflowed=true}}if(overflowed){return-12}return 0};_getnameinfo.sig="ipipipii";var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}_ipp.sig="ipp";function _ipp_async(...args){return adapters_support(true,...args)}_ipp_async.sig="ipp";function _ippipppp(...args){return adapters_support(false,...args)}_ippipppp.sig="ippipppp";function _ippipppp_async(...args){return adapters_support(true,...args)}_ippipppp_async.sig="ippipppp";function _ippp(...args){return adapters_support(false,...args)}_ippp.sig="ippp";function _ippp_async(...args){return adapters_support(true,...args)}_ippp_async.sig="ippp";function _ipppi(...args){return adapters_support(false,...args)}_ipppi.sig="ipppi";function _ipppi_async(...args){return adapters_support(true,...args)}_ipppi_async.sig="ipppi";function _ipppiii(...args){return adapters_support(false,...args)}_ipppiii.sig="ipppiii";function _ipppiii_async(...args){return adapters_support(true,...args)}_ipppiii_async.sig="ipppiii";function _ipppiiip(...args){return adapters_support(false,...args)}_ipppiiip.sig="ipppiiip";function _ipppiiip_async(...args){return adapters_support(true,...args)}_ipppiiip_async.sig="ipppiiip";function _ipppip(...args){return adapters_support(false,...args)}_ipppip.sig="ipppip";function _ipppip_async(...args){return adapters_support(true,...args)}_ipppip_async.sig="ipppip";function _ipppj(...args){return adapters_support(false,...args)}_ipppj.sig="ipppii";function _ipppj_async(...args){return adapters_support(true,...args)}_ipppj_async.sig="ipppii";function _ipppp(...args){return adapters_support(false,...args)}_ipppp.sig="ipppp";function _ipppp_async(...args){return adapters_support(true,...args)}_ipppp_async.sig="ipppp";function _ippppi(...args){return adapters_support(false,...args)}_ippppi.sig="ippppi";function _ippppi_async(...args){return adapters_support(true,...args)}_ippppi_async.sig="ippppi";function _ippppij(...args){return adapters_support(false,...args)}_ippppij.sig="ippppiii";function _ippppij_async(...args){return adapters_support(true,...args)}_ippppij_async.sig="ippppiii";function _ippppip(...args){return adapters_support(false,...args)}_ippppip.sig="ippppip";function _ippppip_async(...args){return adapters_support(true,...args)}_ippppip_async.sig="ippppip";function _ipppppip(...args){return adapters_support(false,...args)}_ipppppip.sig="ipppppip";function _ipppppip_async(...args){return adapters_support(true,...args)}_ipppppip_async.sig="ipppppip";function _random_get(buffer,size){try{randomFill(HEAPU8.subarray(buffer,buffer+size));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_random_get.sig="ipp";function _vppippii(...args){return adapters_support(false,...args)}_vppippii.sig="vppippii";function _vppippii_async(...args){return adapters_support(true,...args)}_vppippii_async.sig="vppippii";function _vppp(...args){return adapters_support(false,...args)}_vppp.sig="vppp";function _vppp_async(...args){return adapters_support(true,...args)}_vppp_async.sig="vppp";function _vpppip(...args){return adapters_support(false,...args)}_vpppip.sig="vpppip";function _vpppip_async(...args){return adapters_support(true,...args)}_vpppip_async.sig="vpppip";var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i65535){i++}HEAP32[outPtr>>2]=codePoint;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=new TextDecoder("utf-16le");var UTF16ToString=(ptr,maxBytesToRead)=>{var idx=ptr>>1;var maxIdx=idx+maxBytesToRead/2;var endIdx=idx;while(!(endIdx>=maxIdx)&&HEAPU16[endIdx])++endIdx;return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx))};var UTF32ToString=(ptr,maxBytesToRead)=>{var str="";for(var i=0;!(i>=maxBytesToRead/4);i++){var utf32=HEAP32[ptr+i*4>>2];if(!utf32)break;str+=String.fromCodePoint(utf32)}return str};var intArrayToString=array=>{var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")};var writeI53ToI64Clamped=(ptr,num)=>{if(num>0x8000000000000000){HEAPU32[ptr>>2]=4294967295;HEAPU32[ptr+4>>2]=2147483647}else if(num<-0x8000000000000000){HEAPU32[ptr>>2]=0;HEAPU32[ptr+4>>2]=2147483648}else{writeI53ToI64(ptr,num)}};var writeI53ToI64Signaling=(ptr,num)=>{if(num>0x8000000000000000||num<-0x8000000000000000){throw`RangeError: ${num}`}writeI53ToI64(ptr,num)};var writeI53ToU64Clamped=(ptr,num)=>{if(num>0x10000000000000000){HEAPU32[ptr>>2]=4294967295;HEAPU32[ptr+4>>2]=4294967295}else if(num<0){HEAPU32[ptr>>2]=0;HEAPU32[ptr+4>>2]=0}else{writeI53ToI64(ptr,num)}};var writeI53ToU64Signaling=(ptr,num)=>{if(num<0||num>0x10000000000000000){throw`RangeError: ${num}`}writeI53ToI64(ptr,num)};var readI53FromU64=ptr=>HEAPU32[ptr>>2]+HEAPU32[ptr+4>>2]*4294967296;var convertI32PairToI53=(lo,hi)=>(lo>>>0)+hi*4294967296;var convertU32PairToI53=(lo,hi)=>(lo>>>0)+(hi>>>0)*4294967296;var _stackAlloc=stackAlloc;var _stackSave=stackSave;var _stackRestore=stackSave;var _getTempRet0=getTempRet0;var ptrToString=ptr=>{ptr>>>=0;return"0x"+ptr.toString(16).padStart(8,"0")};var _emscripten_notify_memory_growth=memoryIndex=>{updateMemoryViews()};_emscripten_notify_memory_growth.sig="vp";var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var strError=errno=>UTF8ToString(_strerror(errno));var _getaddrinfo=(node,service,hint,out)=>{var addrs=[];var canon=null;var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai,last;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;HEAPU32[ai+24>>2]=canon;HEAPU32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,_htonl(1)]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>2]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAPU32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>2]=ai;return 0};_getaddrinfo.sig="ipppp";var Protocols={list:[],map:{}};var stringToAscii=(str,buffer)=>{for(var i=0;i{function allocprotoent(name,proto,aliases){var nameBuf=_malloc(name.length+1);stringToAscii(name,nameBuf);var j=0;var length=aliases.length;var aliasListBuf=_malloc((length+1)*4);for(var i=0;i>2]=aliasBuf}HEAPU32[aliasListBuf+j>>2]=0;var pe=_malloc(12);HEAPU32[pe>>2]=nameBuf;HEAPU32[pe+4>>2]=aliasListBuf;HEAP32[pe+8>>2]=proto;return pe}var list=Protocols.list;var map=Protocols.map;if(list.length===0){var entry=allocprotoent("tcp",6,["TCP"]);list.push(entry);map["tcp"]=map["6"]=entry;entry=allocprotoent("udp",17,["UDP"]);list.push(entry);map["udp"]=map["17"]=entry}_setprotoent.index=0};_setprotoent.sig="vi";var _endprotoent=()=>{};_endprotoent.sig="v";var _getprotoent=number=>{if(_setprotoent.index===Protocols.list.length){return 0}var result=Protocols.list[_setprotoent.index++];return result};_getprotoent.sig="p";var _getprotobyname=name=>{name=UTF8ToString(name);_setprotoent(true);var result=Protocols.map[name];return result};_getprotobyname.sig="pp";var _getprotobynumber=number=>{_setprotoent(true);var result=Protocols.map[number];return result};_getprotobynumber.sig="pi";var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};var _emscripten_run_script=ptr=>{eval(UTF8ToString(ptr))};_emscripten_run_script.sig="vp";var _emscripten_run_script_int=ptr=>eval(UTF8ToString(ptr))|0;_emscripten_run_script_int.sig="ip";var _emscripten_run_script_string=ptr=>{var s=eval(UTF8ToString(ptr));if(s==null){return 0}s+="";var me=_emscripten_run_script_string;me.bufferSize=lengthBytesUTF8(s)+1;me.buffer=_realloc(me.buffer??0,me.bufferSize);stringToUTF8(s,me.buffer,me.bufferSize);return me.buffer};_emscripten_run_script_string.sig="pp";var _emscripten_random=()=>Math.random();_emscripten_random.sig="f";var _emscripten_performance_now=()=>performance.now();_emscripten_performance_now.sig="d";var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;__emscripten_get_now_is_monotonic.sig="i";var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}};var jsStackTrace=()=>(new Error).stack.toString();var getCallstack=flags=>{var callstack=jsStackTrace();var lines=callstack.split("\n");callstack="";var firefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var line of lines){var symbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts?.length==5){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=firefoxRe.exec(line);if(parts?.length>=4){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}if(symbolName=="_emscripten_log"||symbolName=="_emscripten_get_callstack"){callstack="";continue}if(flags&24){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=` at ${symbolName} (${file}:${lineno}:${column})\n`}}callstack=callstack.replace(/\s+$/,"");return callstack};var emscriptenLog=(flags,str)=>{if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+getCallstack(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else if(flags&512){console.info(str)}else if(flags&256){console.debug(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}};var reallyNegative=x=>x<0||x===0&&1/x===-Infinity;var reSign=(value,bits)=>{if(value<=0){return value}var half=bits<=32?Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value};var unSign=(value,bits)=>{if(value>=0){return value}return bits<=32?2*Math.abs(1<{var end=ptr;while(HEAPU8[end])++end;return end-ptr};var formatString=(format,varargs)=>{var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){ptr+=4}}else{}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex];if(curr===0)break;next=HEAP8[textIndex+1];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=next==117?convertU32PairToI53(currArg[0],currArg[1]):convertI32PairToI53(currArg[0],currArg[1])}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.slice(1)}while(prefix.length+argText.lengthret.push(chr.charCodeAt(0)));break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].includes(".")&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.lengthret.push(chr.charCodeAt(0)));break}case"s":{var arg=getNextArg("i8*");var argLength=arg?strLen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i{var result=formatString(format,varargs);var str=UTF8ArrayToString(result);emscriptenLog(flags,str)};_emscripten_log.sig="vipp";var _emscripten_get_compiler_setting=name=>{throw"You must build with -sRETAIN_COMPILER_SETTINGS for getCompilerSetting or emscripten_get_compiler_setting to work"};_emscripten_get_compiler_setting.sig="pp";var _emscripten_has_asyncify=()=>0;_emscripten_has_asyncify.sig="i";var _emscripten_debugger=()=>{debugger};_emscripten_debugger.sig="v";var _emscripten_print_double=(x,to,max)=>{var str=x+"";if(to)return stringToUTF8(str,to,max);else return lengthBytesUTF8(str)};_emscripten_print_double.sig="idpi";var _emscripten_asm_const_double=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);_emscripten_asm_const_double.sig="dppp";var _emscripten_asm_const_ptr=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);_emscripten_asm_const_ptr.sig="pppp";var runMainThreadEmAsm=(emAsmAddr,sigPtr,argbuf,sync)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[emAsmAddr](...args)};var _emscripten_asm_const_int_sync_on_main_thread=(emAsmAddr,sigPtr,argbuf)=>runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,1);_emscripten_asm_const_int_sync_on_main_thread.sig="ippp";var _emscripten_asm_const_ptr_sync_on_main_thread=(emAsmAddr,sigPtr,argbuf)=>runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,1);_emscripten_asm_const_ptr_sync_on_main_thread.sig="pppp";var _emscripten_asm_const_double_sync_on_main_thread=_emscripten_asm_const_int_sync_on_main_thread;_emscripten_asm_const_double_sync_on_main_thread.sig="dppp";var _emscripten_asm_const_async_on_main_thread=(emAsmAddr,sigPtr,argbuf)=>runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,0);_emscripten_asm_const_async_on_main_thread.sig="vppp";var __Unwind_Backtrace=(func,arg)=>{var trace=getCallstack();var parts=trace.split("\n");for(var i=0;iabort("Unwind_GetIPInfo");__Unwind_GetIPInfo.sig="ppp";var __Unwind_FindEnclosingFunction=ip=>0;__Unwind_FindEnclosingFunction.sig="pp";class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>2]=type}get_type(){return HEAPU32[this.ptr+4>>2]}set_destructor(destructor){HEAPU32[this.ptr+8>>2]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>2]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12]=caught}get_caught(){return HEAP8[this.ptr+12]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13]=rethrown}get_rethrown(){return HEAP8[this.ptr+13]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>2]}}var exceptionLast=0;var uncaughtExceptionCount=0;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};___cxa_throw.sig="vppp";var __Unwind_RaiseException=ex=>{err("Warning: _Unwind_RaiseException is not correctly implemented");return ___cxa_throw(ex,0,0)};__Unwind_RaiseException.sig="ip";var __Unwind_DeleteException=ex=>err("TODO: Unwind_DeleteException");__Unwind_DeleteException.sig="vp";var dynCalls={};var dynCallLegacy=(sig,ptr,args)=>{sig=sig.replace(/p/g,"i");var f=dynCalls[sig];return f(ptr,...args)};var getDynCaller=(sig,ptr,promising=false)=>(...args)=>dynCall(sig,ptr,args,promising);var _emscripten_exit_with_live_runtime=()=>{throw"unwind"};_emscripten_exit_with_live_runtime.sig="v";var _emscripten_force_exit=status=>{__emscripten_runtime_keepalive_clear();_exit(status)};_emscripten_force_exit.sig="vi";var _emscripten_outn=(str,len)=>out(UTF8ToString(str,len));_emscripten_outn.sig="vpp";var _emscripten_errn=(str,len)=>err(UTF8ToString(str,len));_emscripten_errn.sig="vpp";var _emscripten_throw_number=number=>{throw number};_emscripten_throw_number.sig="vd";var _emscripten_throw_string=str=>{throw UTF8ToString(str)};_emscripten_throw_string.sig="vp";var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};runtimeKeepalivePush.sig="v";var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};runtimeKeepalivePop.sig="v";var _emscripten_runtime_keepalive_push=runtimeKeepalivePush;_emscripten_runtime_keepalive_push.sig="v";var _emscripten_runtime_keepalive_pop=runtimeKeepalivePop;_emscripten_runtime_keepalive_pop.sig="v";var _emscripten_runtime_keepalive_check=keepRuntimeAlive;_emscripten_runtime_keepalive_check.sig="i";var asmjsMangle=x=>{if(x=="__main_argc_argv"){x="main"}return x.startsWith("dynCall_")?x:"_"+x};var ___global_base=1024;var __emscripten_fs_load_embedded_files=ptr=>{do{var name_addr=HEAPU32[ptr>>2];ptr+=4;var len=HEAPU32[ptr>>2];ptr+=4;var content=HEAPU32[ptr>>2];ptr+=4;var name=UTF8ToString(name_addr);FS.createPath("/",PATH.dirname(name),true,true);FS.createDataFile(name,null,HEAP8.subarray(content,content+len),true,true,true)}while(HEAPU32[ptr>>2])};__emscripten_fs_load_embedded_files.sig="vp";var POINTER_SIZE=4;function getNativeTypeSize(type){switch(type){case"i1":case"i8":case"u8":return 1;case"i16":case"u16":return 2;case"i32":case"u32":return 4;case"i64":case"u64":return 8;case"float":return 4;case"double":return 8;default:{if(type.endsWith("*")){return POINTER_SIZE}if(type[0]==="i"){const bits=Number(type.slice(1));assert(bits%8===0,`getNativeTypeSize invalid bits ${bits}, ${type} type`);return bits/8}return 0}}}var onInits=[];var addOnInit=cb=>onInits.push(cb);var onMains=[];var addOnPreMain=cb=>onMains.push(cb);var onExits=[];var addOnExit=cb=>onExits.push(cb);var STACK_SIZE=524288;var STACK_ALIGN=16;var ASSERTIONS=0;var removeFunction=index=>{functionsInTableMap.delete(getWasmTableEntry(index));setWasmTableEntry(index,null);freeTableIndexes.push(index)};var _emscripten_math_cbrt=Math.cbrt;_emscripten_math_cbrt.sig="dd";var _emscripten_math_pow=Math.pow;_emscripten_math_pow.sig="ddd";var _emscripten_math_random=Math.random;_emscripten_math_random.sig="d";var _emscripten_math_sign=Math.sign;_emscripten_math_sign.sig="dd";var _emscripten_math_sqrt=Math.sqrt;_emscripten_math_sqrt.sig="dd";var _emscripten_math_exp=Math.exp;_emscripten_math_exp.sig="dd";var _emscripten_math_expm1=Math.expm1;_emscripten_math_expm1.sig="dd";var _emscripten_math_fmod=(x,y)=>x%y;_emscripten_math_fmod.sig="ddd";var _emscripten_math_log=Math.log;_emscripten_math_log.sig="dd";var _emscripten_math_log1p=Math.log1p;_emscripten_math_log1p.sig="dd";var _emscripten_math_log10=Math.log10;_emscripten_math_log10.sig="dd";var _emscripten_math_log2=Math.log2;_emscripten_math_log2.sig="dd";var _emscripten_math_round=Math.round;_emscripten_math_round.sig="dd";var _emscripten_math_acos=Math.acos;_emscripten_math_acos.sig="dd";var _emscripten_math_acosh=Math.acosh;_emscripten_math_acosh.sig="dd";var _emscripten_math_asin=Math.asin;_emscripten_math_asin.sig="dd";var _emscripten_math_asinh=Math.asinh;_emscripten_math_asinh.sig="dd";var _emscripten_math_atan=Math.atan;_emscripten_math_atan.sig="dd";var _emscripten_math_atanh=Math.atanh;_emscripten_math_atanh.sig="dd";var _emscripten_math_atan2=Math.atan2;_emscripten_math_atan2.sig="ddd";var _emscripten_math_cos=Math.cos;_emscripten_math_cos.sig="dd";var _emscripten_math_cosh=Math.cosh;_emscripten_math_cosh.sig="dd";var _emscripten_math_hypot=(count,varargs)=>{var args=[];for(var i=0;i>3])}return Math.hypot(...args)};_emscripten_math_hypot.sig="dip";var _emscripten_math_sin=Math.sin;_emscripten_math_sin.sig="dd";var _emscripten_math_sinh=Math.sinh;_emscripten_math_sinh.sig="dd";var _emscripten_math_tan=Math.tan;_emscripten_math_tan.sig="dd";var _emscripten_math_tanh=Math.tanh;_emscripten_math_tanh.sig="dd";var lengthBytesUTF16=str=>str.length*2;var lengthBytesUTF32=str=>{var len=0;for(var i=0;i65535){i++}len+=4}return len};var JSEvents={memcpy(target,src,size){HEAP8.set(HEAP8.subarray(src,src+size),target)},removeAllEventListeners(){while(JSEvents.eventHandlers.length){JSEvents._removeHandler(JSEvents.eventHandlers.length-1)}JSEvents.deferredCalls=[]},inEventHandler:0,deferredCalls:[],deferCall(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var call of JSEvents.deferredCalls){if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction,precedence,argsList});JSEvents.deferredCalls.sort((x,y)=>x.precedencecall.targetFunction!=targetFunction)},canPerformEventHandlerRequests(){if(navigator.userActivation){return navigator.userActivation.isActive}return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls(){if(!JSEvents.canPerformEventHandlerRequests()){return}var deferredCalls=JSEvents.deferredCalls;JSEvents.deferredCalls=[];for(var call of deferredCalls){call.targetFunction(...call.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(target,eventTypeString)=>{for(var i=0;icString>2?UTF8ToString(cString):cString;var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];var findEventTarget=target=>{target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):null);return domElement};var registerKeyEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.keyEvent||=_malloc(160);var keyEventHandlerFunc=e=>{var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP8[keyEventData+12]=e.ctrlKey;HEAP8[keyEventData+13]=e.shiftKey;HEAP8[keyEventData+14]=e.altKey;HEAP8[keyEventData+15]=e.metaKey;HEAP8[keyEventData+16]=e.repeat;HEAP32[idx+5]=e.charCode;HEAP32[idx+6]=e.keyCode;HEAP32[idx+7]=e.which;stringToUTF8(e.key||"",keyEventData+32,32);stringToUTF8(e.code||"",keyEventData+64,32);stringToUTF8(e.char||"",keyEventData+96,32);stringToUTF8(e.locale||"",keyEventData+128,32);if(getWasmTableEntry(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var findCanvasEventTarget=findEventTarget;var _emscripten_set_keypress_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);_emscripten_set_keypress_callback_on_thread.sig="ippipp";var _emscripten_set_keydown_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);_emscripten_set_keydown_callback_on_thread.sig="ippipp";var _emscripten_set_keyup_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread);_emscripten_set_keyup_callback_on_thread.sig="ippipp";var getBoundingClientRect=e=>specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{left:0,top:0};var fillMouseEventData=(eventStruct,e,target)=>{HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP8[eventStruct+24]=e.ctrlKey;HEAP8[eventStruct+25]=e.shiftKey;HEAP8[eventStruct+26]=e.altKey;HEAP8[eventStruct+27]=e.metaKey;HEAP16[idx*2+14]=e.button;HEAP16[idx*2+15]=e.buttons;HEAP32[idx+8]=e["movementX"];HEAP32[idx+9]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+10]=e.clientX-(rect.left|0);HEAP32[idx+11]=e.clientY-(rect.top|0)};var registerMouseEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.mouseEvent||=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=(e=event)=>{fillMouseEventData(JSEvents.mouseEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString,callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_click_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);_emscripten_set_click_callback_on_thread.sig="ippipp";var _emscripten_set_mousedown_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread);_emscripten_set_mousedown_callback_on_thread.sig="ippipp";var _emscripten_set_mouseup_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread);_emscripten_set_mouseup_callback_on_thread.sig="ippipp";var _emscripten_set_dblclick_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,7,"dblclick",targetThread);_emscripten_set_dblclick_callback_on_thread.sig="ippipp";var _emscripten_set_mousemove_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread);_emscripten_set_mousemove_callback_on_thread.sig="ippipp";var _emscripten_set_mouseenter_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter",targetThread);_emscripten_set_mouseenter_callback_on_thread.sig="ippipp";var _emscripten_set_mouseleave_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave",targetThread);_emscripten_set_mouseleave_callback_on_thread.sig="ippipp";var _emscripten_set_mouseover_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,35,"mouseover",targetThread);_emscripten_set_mouseover_callback_on_thread.sig="ippipp";var _emscripten_set_mouseout_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,36,"mouseout",targetThread);_emscripten_set_mouseout_callback_on_thread.sig="ippipp";var _emscripten_get_mouse_status=mouseState=>{if(!JSEvents.mouseEvent)return-7;JSEvents.memcpy(mouseState,JSEvents.mouseEvent,64);return 0};_emscripten_get_mouse_status.sig="ip";var registerWheelEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.wheelEvent||=_malloc(96);var wheelHandlerFunc=(e=event)=>{var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+64>>3]=e["deltaX"];HEAPF64[wheelEvent+72>>3]=e["deltaY"];HEAPF64[wheelEvent+80>>3]=e["deltaZ"];HEAP32[wheelEvent+88>>2]=e["deltaMode"];if(getWasmTableEntry(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:true,eventTypeString,callbackfunc,handlerFunc:wheelHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_wheel_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{target=findEventTarget(target);if(!target)return-4;if(typeof target.onwheel!="undefined"){return registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread)}else{return-1}};_emscripten_set_wheel_callback_on_thread.sig="ippipp";var registerUiEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.uiEvent||=_malloc(36);target=findEventTarget(target);var uiEventHandlerFunc=(e=event)=>{if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>2]=0;HEAP32[uiEvent+4>>2]=b.clientWidth;HEAP32[uiEvent+8>>2]=b.clientHeight;HEAP32[uiEvent+12>>2]=innerWidth;HEAP32[uiEvent+16>>2]=innerHeight;HEAP32[uiEvent+20>>2]=outerWidth;HEAP32[uiEvent+24>>2]=outerHeight;HEAP32[uiEvent+28>>2]=pageXOffset|0;HEAP32[uiEvent+32>>2]=pageYOffset|0;if(getWasmTableEntry(callbackfunc)(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_resize_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread);_emscripten_set_resize_callback_on_thread.sig="ippipp";var _emscripten_set_scroll_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerUiEventCallback(target,userData,useCapture,callbackfunc,11,"scroll",targetThread);_emscripten_set_scroll_callback_on_thread.sig="ippipp";var registerFocusEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.focusEvent||=_malloc(256);var focusEventHandlerFunc=(e=event)=>{var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(getWasmTableEntry(callbackfunc)(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_blur_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread);_emscripten_set_blur_callback_on_thread.sig="ippipp";var _emscripten_set_focus_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread);_emscripten_set_focus_callback_on_thread.sig="ippipp";var _emscripten_set_focusin_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,14,"focusin",targetThread);_emscripten_set_focusin_callback_on_thread.sig="ippipp";var _emscripten_set_focusout_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,15,"focusout",targetThread);_emscripten_set_focusout_callback_on_thread.sig="ippipp";var fillDeviceOrientationEventData=(eventStruct,e,target)=>{HEAPF64[eventStruct>>3]=e.alpha;HEAPF64[eventStruct+8>>3]=e.beta;HEAPF64[eventStruct+16>>3]=e.gamma;HEAP8[eventStruct+24]=e.absolute};var registerDeviceOrientationEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.deviceOrientationEvent||=_malloc(32);var deviceOrientationEventHandlerFunc=(e=event)=>{fillDeviceOrientationEventData(JSEvents.deviceOrientationEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.deviceOrientationEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:deviceOrientationEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_deviceorientation_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>registerDeviceOrientationEventCallback(2,userData,useCapture,callbackfunc,16,"deviceorientation",targetThread);_emscripten_set_deviceorientation_callback_on_thread.sig="ipipp";var _emscripten_get_deviceorientation_status=orientationState=>{if(!JSEvents.deviceOrientationEvent)return-7;JSEvents.memcpy(orientationState,JSEvents.deviceOrientationEvent,32);return 0};_emscripten_get_deviceorientation_status.sig="ip";var fillDeviceMotionEventData=(eventStruct,e,target)=>{var supportedFields=0;var a=e["acceleration"];supportedFields|=a&&1;var ag=e["accelerationIncludingGravity"];supportedFields|=ag&&2;var rr=e["rotationRate"];supportedFields|=rr&&4;a=a||{};ag=ag||{};rr=rr||{};HEAPF64[eventStruct>>3]=a["x"];HEAPF64[eventStruct+8>>3]=a["y"];HEAPF64[eventStruct+16>>3]=a["z"];HEAPF64[eventStruct+24>>3]=ag["x"];HEAPF64[eventStruct+32>>3]=ag["y"];HEAPF64[eventStruct+40>>3]=ag["z"];HEAPF64[eventStruct+48>>3]=rr["alpha"];HEAPF64[eventStruct+56>>3]=rr["beta"];HEAPF64[eventStruct+64>>3]=rr["gamma"]};var registerDeviceMotionEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.deviceMotionEvent||=_malloc(80);var deviceMotionEventHandlerFunc=(e=event)=>{fillDeviceMotionEventData(JSEvents.deviceMotionEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.deviceMotionEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:deviceMotionEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_devicemotion_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>registerDeviceMotionEventCallback(2,userData,useCapture,callbackfunc,17,"devicemotion",targetThread);_emscripten_set_devicemotion_callback_on_thread.sig="ipipp";var _emscripten_get_devicemotion_status=motionState=>{if(!JSEvents.deviceMotionEvent)return-7;JSEvents.memcpy(motionState,JSEvents.deviceMotionEvent,80);return 0};_emscripten_get_devicemotion_status.sig="ip";var screenOrientation=()=>{if(!window.screen)return undefined;return screen.orientation||screen["mozOrientation"]||screen["webkitOrientation"]};var fillOrientationChangeEventData=eventStruct=>{var orientationsType1=["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];var orientationsType2=["portrait","portrait","landscape","landscape"];var orientationIndex=0;var orientationAngle=0;var screenOrientObj=screenOrientation();if(typeof screenOrientObj==="object"){orientationIndex=orientationsType1.indexOf(screenOrientObj.type);if(orientationIndex<0){orientationIndex=orientationsType2.indexOf(screenOrientObj.type)}if(orientationIndex>=0){orientationIndex=1<>2]=orientationIndex;HEAP32[eventStruct+4>>2]=orientationAngle};var registerOrientationChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.orientationChangeEvent||=_malloc(8);var orientationChangeEventHandlerFunc=(e=event)=>{var orientationChangeEvent=JSEvents.orientationChangeEvent;fillOrientationChangeEventData(orientationChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,orientationChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:orientationChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_orientationchange_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(!window.screen||!screen.orientation)return-1;return registerOrientationChangeEventCallback(screen.orientation,userData,useCapture,callbackfunc,18,"change",targetThread)};_emscripten_set_orientationchange_callback_on_thread.sig="ipipp";var _emscripten_get_orientation_status=orientationChangeEvent=>{if(!screenOrientation()&&typeof orientation=="undefined")return-1;fillOrientationChangeEventData(orientationChangeEvent);return 0};_emscripten_get_orientation_status.sig="ip";var _emscripten_lock_orientation=allowedOrientations=>{var orientations=[];if(allowedOrientations&1)orientations.push("portrait-primary");if(allowedOrientations&2)orientations.push("portrait-secondary");if(allowedOrientations&4)orientations.push("landscape-primary");if(allowedOrientations&8)orientations.push("landscape-secondary");var succeeded;if(screen.lockOrientation){succeeded=screen.lockOrientation(orientations)}else if(screen.mozLockOrientation){succeeded=screen.mozLockOrientation(orientations)}else if(screen.webkitLockOrientation){succeeded=screen.webkitLockOrientation(orientations)}else{return-1}if(succeeded){return 0}return-6};_emscripten_lock_orientation.sig="ii";var _emscripten_unlock_orientation=()=>{if(screen.unlockOrientation){screen.unlockOrientation()}else if(screen.mozUnlockOrientation){screen.mozUnlockOrientation()}else if(screen.webkitUnlockOrientation){screen.webkitUnlockOrientation()}else{return-1}return 0};_emscripten_unlock_orientation.sig="i";var fillFullscreenChangeEventData=eventStruct=>{var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP8[eventStruct]=isFullscreen;HEAP8[eventStruct+1]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement?.id||"";stringToUTF8(nodeName,eventStruct+2,128);stringToUTF8(id,eventStruct+130,128);HEAP32[eventStruct+260>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+268>>2]=screen.width;HEAP32[eventStruct+272>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}};var registerFullscreenChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.fullscreenChangeEvent||=_malloc(276);var fullscreenChangeEventhandlerFunc=(e=event)=>{var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_fullscreenchange_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread)};_emscripten_set_fullscreenchange_callback_on_thread.sig="ippipp";var _emscripten_get_fullscreen_status=fullscreenStatus=>{if(!JSEvents.fullscreenEnabled())return-1;fillFullscreenChangeEventData(fullscreenStatus);return 0};_emscripten_get_fullscreen_status.sig="ip";var _emscripten_get_canvas_element_size=(target,width,height)=>{var canvas=findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height};_emscripten_get_canvas_element_size.sig="ippp";var getCanvasElementSize=target=>{var sp=stackSave();var w=stackAlloc(8);var h=w+4;var targetInt=stringToUTF8OnStack(target.id);var ret=_emscripten_get_canvas_element_size(targetInt,w,h);var size=[HEAP32[w>>2],HEAP32[h>>2]];stackRestore(sp);return size};var _emscripten_set_canvas_element_size=(target,width,height)=>{var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0};_emscripten_set_canvas_element_size.sig="ipii";var setCanvasElementSize=(target,width,height)=>{if(!target.controlTransferredOffscreen){target.width=width;target.height=height}else{var sp=stackSave();var targetInt=stringToUTF8OnStack(target.id);_emscripten_set_canvas_element_size(targetInt,width,height);stackRestore(sp)}};var currentFullscreenStrategy={};var registerRestoreOldStyle=canvas=>{var canvasSize=getCanvasElementSize(canvas);var oldWidth=canvasSize[0];var oldHeight=canvasSize[1];var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.webkitFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);setCanvasElementSize(canvas,oldWidth,oldHeight);canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(currentFullscreenStrategy.canvasResizedCallback){getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);return restoreOldStyle};var setLetterbox=(element,topBottom,leftRight)=>{element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"};var JSEvents_resizeCanvasForFullscreen=(target,strategy)=>{var restoreOldStyle=registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?innerWidth:screen.width;var cssHeight=strategy.softFullscreen?innerHeight:screen.height;var rect=getBoundingClientRect(target);var windowedCssWidth=rect.width;var windowedCssHeight=rect.height;var canvasSize=getCanvasElementSize(target);var windowedRttWidth=canvasSize[0];var windowedRttHeight=canvasSize[1];if(strategy.scaleMode==3){setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight{if(strategy.scaleMode!=0||strategy.canvasResolutionScaleMode!=0){JSEvents_resizeCanvasForFullscreen(target,strategy)}if(target.requestFullscreen){target.requestFullscreen()}else if(target.webkitRequestFullscreen){target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}else{return JSEvents.fullscreenEnabled()?-3:-1}currentFullscreenStrategy=strategy;if(strategy.canvasResizedCallback){getWasmTableEntry(strategy.canvasResizedCallback)(37,0,strategy.canvasResizedCallbackUserData)}return 0};var hideEverythingExceptGivenElement=onlyVisibleElement=>{var child=onlyVisibleElement;var parent=child.parentNode;var hiddenElements=[];while(child!=document.body){var children=parent.children;for(var currChild of children){if(currChild!=child){hiddenElements.push({node:currChild,displayState:currChild.style.display});currChild.style.display="none"}}child=parent;parent=parent.parentNode}return hiddenElements};var restoreHiddenElements=hiddenElements=>{for(var elem of hiddenElements){elem.node.style.display=elem.displayState}};var restoreOldWindowedStyle=null;var softFullscreenResizeWebGLRenderTarget=()=>{var dpr=devicePixelRatio;var inHiDPIFullscreenMode=currentFullscreenStrategy.canvasResolutionScaleMode==2;var inAspectRatioFixedFullscreenMode=currentFullscreenStrategy.scaleMode==2;var inPixelPerfectFullscreenMode=currentFullscreenStrategy.canvasResolutionScaleMode!=0;var inCenteredWithoutScalingFullscreenMode=currentFullscreenStrategy.scaleMode==3;var screenWidth=inHiDPIFullscreenMode?Math.round(innerWidth*dpr):innerWidth;var screenHeight=inHiDPIFullscreenMode?Math.round(innerHeight*dpr):innerHeight;var w=screenWidth;var h=screenHeight;var canvas=currentFullscreenStrategy.target;var canvasSize=getCanvasElementSize(canvas);var x=canvasSize[0];var y=canvasSize[1];var topMargin;if(inAspectRatioFixedFullscreenMode){if(w*yx*h)w=h*x/y|0;topMargin=(screenHeight-h)/2|0}if(inPixelPerfectFullscreenMode){setCanvasElementSize(canvas,w,h);if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,w,h)}if(inHiDPIFullscreenMode){topMargin/=dpr;w/=dpr;h/=dpr;w=Math.round(w*1e4)/1e4;h=Math.round(h*1e4)/1e4;topMargin=Math.round(topMargin*1e4)/1e4}if(inCenteredWithoutScalingFullscreenMode){var t=(innerHeight-jstoi_q(canvas.style.height))/2;var b=(innerWidth-jstoi_q(canvas.style.width))/2;setLetterbox(canvas,t,b)}else{canvas.style.width=w+"px";canvas.style.height=h+"px";var b=(innerWidth-w)/2;setLetterbox(canvas,topMargin,b)}if(!inCenteredWithoutScalingFullscreenMode&¤tFullscreenStrategy.canvasResizedCallback){getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}};var doRequestFullscreen=(target,strategy)=>{if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.webkitRequestFullscreen){return-3}if(!JSEvents.canPerformEventHandlerRequests()){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents_requestFullscreen,1,[target,strategy]);return 1}return-2}return JSEvents_requestFullscreen(target,strategy)};var _emscripten_request_fullscreen=(target,deferUntilInEventHandler)=>{var strategy={scaleMode:0,canvasResolutionScaleMode:0,filteringMode:0,deferUntilInEventHandler,canvasResizedCallbackTargetThread:2};return doRequestFullscreen(target,strategy)};_emscripten_request_fullscreen.sig="ipi";var _emscripten_request_fullscreen_strategy=(target,deferUntilInEventHandler,fullscreenStrategy)=>{var strategy={scaleMode:HEAP32[fullscreenStrategy>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>2],filteringMode:HEAP32[fullscreenStrategy+8>>2],deferUntilInEventHandler,canvasResizedCallback:HEAP32[fullscreenStrategy+12>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>2]};return doRequestFullscreen(target,strategy)};_emscripten_request_fullscreen_strategy.sig="ipip";var _emscripten_enter_soft_fullscreen=(target,fullscreenStrategy)=>{target=findEventTarget(target);if(!target)return-4;var strategy={scaleMode:HEAP32[fullscreenStrategy>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>2],filteringMode:HEAP32[fullscreenStrategy+8>>2],canvasResizedCallback:HEAP32[fullscreenStrategy+12>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>2],target,softFullscreen:true};var restoreOldStyle=JSEvents_resizeCanvasForFullscreen(target,strategy);document.documentElement.style.overflow="hidden";document.body.scroll="no";document.body.style.margin="0px";var hiddenElements=hideEverythingExceptGivenElement(target);function restoreWindowedState(){restoreOldStyle();restoreHiddenElements(hiddenElements);removeEventListener("resize",softFullscreenResizeWebGLRenderTarget);if(strategy.canvasResizedCallback){getWasmTableEntry(strategy.canvasResizedCallback)(37,0,strategy.canvasResizedCallbackUserData)}currentFullscreenStrategy=0}restoreOldWindowedStyle=restoreWindowedState;currentFullscreenStrategy=strategy;addEventListener("resize",softFullscreenResizeWebGLRenderTarget);if(strategy.canvasResizedCallback){getWasmTableEntry(strategy.canvasResizedCallback)(37,0,strategy.canvasResizedCallbackUserData)}return 0};_emscripten_enter_soft_fullscreen.sig="ipp";var _emscripten_exit_soft_fullscreen=()=>{restoreOldWindowedStyle?.();restoreOldWindowedStyle=null;return 0};_emscripten_exit_soft_fullscreen.sig="i";var _emscripten_exit_fullscreen=()=>{if(!JSEvents.fullscreenEnabled())return-1;JSEvents.removeDeferredCalls(JSEvents_requestFullscreen);var d=specialHTMLTargets[1];if(d.exitFullscreen){d.fullscreenElement&&d.exitFullscreen()}else if(d.webkitExitFullscreen){d.webkitFullscreenElement&&d.webkitExitFullscreen()}else{return-1}return 0};_emscripten_exit_fullscreen.sig="i";var fillPointerlockChangeEventData=eventStruct=>{var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP8[eventStruct]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement?.id||"";stringToUTF8(nodeName,eventStruct+1,128);stringToUTF8(id,eventStruct+129,128)};var registerPointerlockChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.pointerlockChangeEvent||=_malloc(257);var pointerlockChangeEventHandlerFunc=(e=event)=>{var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(pointerlockChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_pointerlockchange_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange",targetThread);return registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange",targetThread)};_emscripten_set_pointerlockchange_callback_on_thread.sig="ippipp";var registerPointerlockErrorEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var pointerlockErrorEventHandlerFunc=(e=event)=>{if(getWasmTableEntry(callbackfunc)(eventTypeId,0,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:pointerlockErrorEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_pointerlockerror_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{if(!document||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"mozpointerlockerror",targetThread);registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"webkitpointerlockerror",targetThread);registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"mspointerlockerror",targetThread);return registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"pointerlockerror",targetThread)};_emscripten_set_pointerlockerror_callback_on_thread.sig="ippipp";var _emscripten_get_pointerlock_status=pointerlockStatus=>{if(pointerlockStatus)fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0};_emscripten_get_pointerlock_status.sig="ip";var requestPointerLock=target=>{if(target.requestPointerLock){target.requestPointerLock()}else{if(document.body.requestPointerLock){return-3}return-1}return 0};var _emscripten_request_pointerlock=(target,deferUntilInEventHandler)=>{target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock){return-1}if(!JSEvents.canPerformEventHandlerRequests()){if(deferUntilInEventHandler){JSEvents.deferCall(requestPointerLock,2,[target]);return 1}return-2}return requestPointerLock(target)};_emscripten_request_pointerlock.sig="ipi";var _emscripten_exit_pointerlock=()=>{JSEvents.removeDeferredCalls(requestPointerLock);if(!document.exitPointerLock)return-1;document.exitPointerLock();return 0};_emscripten_exit_pointerlock.sig="i";var _emscripten_vibrate=msecs=>{if(!navigator.vibrate)return-1;navigator.vibrate(msecs);return 0};_emscripten_vibrate.sig="ii";var _emscripten_vibrate_pattern=(msecsArray,numEntries)=>{if(!navigator.vibrate)return-1;var vibrateList=[];for(var i=0;i>2];vibrateList.push(msecs)}navigator.vibrate(vibrateList);return 0};_emscripten_vibrate_pattern.sig="ipi";var fillVisibilityChangeEventData=eventStruct=>{var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP8[eventStruct]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState};var registerVisibilityChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.visibilityChangeEvent||=_malloc(8);var visibilityChangeEventHandlerFunc=(e=event)=>{var visibilityChangeEvent=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(visibilityChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_visibilitychange_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(!specialHTMLTargets[1]){return-4}return registerVisibilityChangeEventCallback(specialHTMLTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread)};_emscripten_set_visibilitychange_callback_on_thread.sig="ipipp";var _emscripten_get_visibility_status=visibilityStatus=>{if(typeof document.visibilityState=="undefined"&&typeof document.hidden=="undefined"){return-1}fillVisibilityChangeEventData(visibilityStatus);return 0};_emscripten_get_visibility_status.sig="ip";var registerTouchEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.touchEvent||=_malloc(1552);target=findEventTarget(target);var touchEventHandlerFunc=e=>{var t,touches={},et=e.touches;for(let t of et){t.isChanged=t.onTarget=0;touches[t.identifier]=t}for(let t of e.changedTouches){t.isChanged=1;touches[t.identifier]=t}for(let t of e.targetTouches){touches[t.identifier].onTarget=1}var touchEvent=JSEvents.touchEvent;HEAPF64[touchEvent>>3]=e.timeStamp;HEAP8[touchEvent+12]=e.ctrlKey;HEAP8[touchEvent+13]=e.shiftKey;HEAP8[touchEvent+14]=e.altKey;HEAP8[touchEvent+15]=e.metaKey;var idx=touchEvent+16;var targetRect=getBoundingClientRect(target);var numTouches=0;for(let t of Object.values(touches)){var idx32=idx>>2;HEAP32[idx32+0]=t.identifier;HEAP32[idx32+1]=t.screenX;HEAP32[idx32+2]=t.screenY;HEAP32[idx32+3]=t.clientX;HEAP32[idx32+4]=t.clientY;HEAP32[idx32+5]=t.pageX;HEAP32[idx32+6]=t.pageY;HEAP8[idx+28]=t.isChanged;HEAP8[idx+29]=t.onTarget;HEAP32[idx32+8]=t.clientX-(targetRect.left|0);HEAP32[idx32+9]=t.clientY-(targetRect.top|0);idx+=48;if(++numTouches>31){break}}HEAP32[touchEvent+8>>2]=numTouches;if(getWasmTableEntry(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString,callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_touchstart_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);_emscripten_set_touchstart_callback_on_thread.sig="ippipp";var _emscripten_set_touchend_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);_emscripten_set_touchend_callback_on_thread.sig="ippipp";var _emscripten_set_touchmove_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);_emscripten_set_touchmove_callback_on_thread.sig="ippipp";var _emscripten_set_touchcancel_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);_emscripten_set_touchcancel_callback_on_thread.sig="ippipp";var fillGamepadEventData=(eventStruct,e)=>{HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1112,64);stringToUTF8(e.mapping,eventStruct+1176,64)};var registerGamepadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.gamepadEvent||=_malloc(1240);var gamepadEventHandlerFunc=(e=event)=>{var gamepadEvent=JSEvents.gamepadEvent;fillGamepadEventData(gamepadEvent,e["gamepad"]);if(getWasmTableEntry(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString,callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_sample_gamepad_data=()=>{try{if(navigator.getGamepads)return(JSEvents.lastGamepadState=navigator.getGamepads())?0:-1}catch(e){navigator.getGamepads=null}return-1};_emscripten_sample_gamepad_data.sig="i";var _emscripten_set_gamepadconnected_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(_emscripten_sample_gamepad_data())return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread)};_emscripten_set_gamepadconnected_callback_on_thread.sig="ipipp";var _emscripten_set_gamepaddisconnected_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(_emscripten_sample_gamepad_data())return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread)};_emscripten_set_gamepaddisconnected_callback_on_thread.sig="ipipp";var _emscripten_get_num_gamepads=()=>JSEvents.lastGamepadState.length;_emscripten_get_num_gamepads.sig="i";var _emscripten_get_gamepad_status=(index,gamepadState)=>{if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0};_emscripten_get_gamepad_status.sig="iip";var registerBeforeUnloadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString)=>{var beforeUnloadEventHandlerFunc=(e=event)=>{var confirmationMessage=getWasmTableEntry(callbackfunc)(eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=UTF8ToString(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:beforeUnloadEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_beforeunload_callback_on_thread=(userData,callbackfunc,targetThread)=>{if(typeof onbeforeunload=="undefined")return-1;if(targetThread!==1)return-5;return registerBeforeUnloadEventCallback(2,userData,true,callbackfunc,28,"beforeunload")};_emscripten_set_beforeunload_callback_on_thread.sig="ippp";var fillBatteryEventData=(eventStruct,e)=>{HEAPF64[eventStruct>>3]=e.chargingTime;HEAPF64[eventStruct+8>>3]=e.dischargingTime;HEAPF64[eventStruct+16>>3]=e.level;HEAP8[eventStruct+24]=e.charging};var battery=()=>navigator.battery||navigator.mozBattery||navigator.webkitBattery;var registerBatteryEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.batteryEvent||=_malloc(32);var batteryEventHandlerFunc=(e=event)=>{var batteryEvent=JSEvents.batteryEvent;fillBatteryEventData(batteryEvent,battery());if(getWasmTableEntry(callbackfunc)(eventTypeId,batteryEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:batteryEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_batterychargingchange_callback_on_thread=(userData,callbackfunc,targetThread)=>{if(!battery())return-1;return registerBatteryEventCallback(battery(),userData,true,callbackfunc,29,"chargingchange",targetThread)};_emscripten_set_batterychargingchange_callback_on_thread.sig="ippp";var _emscripten_set_batterylevelchange_callback_on_thread=(userData,callbackfunc,targetThread)=>{if(!battery())return-1;return registerBatteryEventCallback(battery(),userData,true,callbackfunc,30,"levelchange",targetThread)};_emscripten_set_batterylevelchange_callback_on_thread.sig="ippp";var _emscripten_get_battery_status=batteryState=>{if(!battery())return-1;fillBatteryEventData(batteryState,battery());return 0};_emscripten_get_battery_status.sig="ip";var _emscripten_set_element_css_size=(target,width,height)=>{target=findEventTarget(target);if(!target)return-4;target.style.width=width+"px";target.style.height=height+"px";return 0};_emscripten_set_element_css_size.sig="ipdd";var _emscripten_get_element_css_size=(target,width,height)=>{target=findEventTarget(target);if(!target)return-4;var rect=getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0};_emscripten_get_element_css_size.sig="ippp";var _emscripten_html5_remove_all_event_listeners=()=>JSEvents.removeAllEventListeners();_emscripten_html5_remove_all_event_listeners.sig="v";var _emscripten_request_animation_frame=(cb,userData)=>requestAnimationFrame(timeStamp=>getWasmTableEntry(cb)(timeStamp,userData));_emscripten_request_animation_frame.sig="ipp";var _emscripten_cancel_animation_frame=id=>cancelAnimationFrame(id);_emscripten_cancel_animation_frame.sig="vi";var _emscripten_request_animation_frame_loop=(cb,userData)=>{function tick(timeStamp){if(getWasmTableEntry(cb)(timeStamp,userData)){requestAnimationFrame(tick)}}return requestAnimationFrame(tick)};_emscripten_request_animation_frame_loop.sig="vpp";var _emscripten_get_device_pixel_ratio=()=>devicePixelRatio;_emscripten_get_device_pixel_ratio.sig="d";var _emscripten_get_callstack=(flags,str,maxbytes)=>{var callstack=getCallstack(flags);if(!str||maxbytes<=0){return lengthBytesUTF8(callstack)+1}var bytesWrittenExcludingNull=stringToUTF8(callstack,str,maxbytes);return bytesWrittenExcludingNull+1};_emscripten_get_callstack.sig="iipi";var convertFrameToPC=frame=>{abort("Cannot use convertFrameToPC (needed by __builtin_return_address) without -sUSE_OFFSET_CONVERTER");return 0};var _emscripten_return_address=level=>{var callstack=jsStackTrace().split("\n");if(callstack[0]=="Error"){callstack.shift()}var caller=callstack[level+3];return convertFrameToPC(caller)};_emscripten_return_address.sig="pi";var UNWIND_CACHE={};var saveInUnwindCache=callstack=>{callstack.forEach(frame=>{var pc=convertFrameToPC(frame);if(pc){UNWIND_CACHE[pc]=frame}})};var _emscripten_stack_snapshot=()=>{var callstack=jsStackTrace().split("\n");if(callstack[0]=="Error"){callstack.shift()}saveInUnwindCache(callstack);UNWIND_CACHE.last_addr=convertFrameToPC(callstack[3]);UNWIND_CACHE.last_stack=callstack;return UNWIND_CACHE.last_addr};_emscripten_stack_snapshot.sig="p";var _emscripten_stack_unwind_buffer=(addr,buffer,count)=>{var stack;if(UNWIND_CACHE.last_addr==addr){stack=UNWIND_CACHE.last_stack}else{stack=jsStackTrace().split("\n");if(stack[0]=="Error"){stack.shift()}saveInUnwindCache(stack)}var offset=3;while(stack[offset]&&convertFrameToPC(stack[offset])!=addr){++offset}for(var i=0;i>2]=convertFrameToPC(stack[i+offset])}return i};_emscripten_stack_unwind_buffer.sig="ippi";var _emscripten_pc_get_function=pc=>{abort("Cannot use emscripten_pc_get_function without -sUSE_OFFSET_CONVERTER");return 0};_emscripten_pc_get_function.sig="pp";var convertPCtoSourceLocation=pc=>{if(UNWIND_CACHE.last_get_source_pc==pc)return UNWIND_CACHE.last_source;var match;var source;if(!source){var frame=UNWIND_CACHE[pc];if(!frame)return null;if(match=/\((.*):(\d+):(\d+)\)$/.exec(frame)){source={file:match[1],line:match[2],column:match[3]}}else if(match=/@(.*):(\d+):(\d+)/.exec(frame)){source={file:match[1],line:match[2],column:match[3]}}}UNWIND_CACHE.last_get_source_pc=pc;UNWIND_CACHE.last_source=source;return source};var _emscripten_pc_get_file=pc=>{var result=convertPCtoSourceLocation(pc);if(!result)return 0;_free(_emscripten_pc_get_file.ret??0);_emscripten_pc_get_file.ret=stringToNewUTF8(result.file);return _emscripten_pc_get_file.ret};_emscripten_pc_get_file.sig="pp";var _emscripten_pc_get_line=pc=>{var result=convertPCtoSourceLocation(pc);return result?result.line:0};_emscripten_pc_get_line.sig="ip";var _emscripten_pc_get_column=pc=>{var result=convertPCtoSourceLocation(pc);return result?result.column||0:0};_emscripten_pc_get_column.sig="ip";var _sched_yield=()=>0;_sched_yield.sig="i";var wasiRightsToMuslOFlags=rights=>{if(rights&2&&rights&64){return 2}if(rights&2){return 0}if(rights&64){return 1}throw new FS.ErrnoError(28)};var wasiOFlagsToMuslOFlags=oflags=>{var musl_oflags=0;if(oflags&1){musl_oflags|=64}if(oflags&8){musl_oflags|=512}if(oflags&2){musl_oflags|=65536}if(oflags&4){musl_oflags|=128}return musl_oflags};var _emscripten_unwind_to_js_event_loop=()=>{throw"unwind"};_emscripten_unwind_to_js_event_loop.sig="v";var safeSetTimeout=(func,timeout)=>setTimeout(()=>{callUserCallback(func)},timeout);var setImmediateWrapped=func=>{setImmediateWrapped.mapping||=[];var id=setImmediateWrapped.mapping.length;setImmediateWrapped.mapping[id]=setImmediate(()=>{setImmediateWrapped.mapping[id]=undefined;func()});return id};var safeRequestAnimationFrame=func=>MainLoop.requestAnimationFrame(()=>{callUserCallback(func)});var clearImmediateWrapped=id=>{clearImmediate(setImmediateWrapped.mapping[id]);setImmediateWrapped.mapping[id]=undefined};var emClearImmediate;var emSetImmediate;var emClearImmediate_deps=["$emSetImmediate"];var _emscripten_set_immediate=(cb,userData)=>emSetImmediate(()=>{callUserCallback(()=>getWasmTableEntry(cb)(userData))});_emscripten_set_immediate.sig="ipp";var _emscripten_clear_immediate=id=>{emClearImmediate(id)};_emscripten_clear_immediate.sig="vi";var _emscripten_set_immediate_loop=(cb,userData)=>{function tick(){callUserCallback(()=>{if(getWasmTableEntry(cb)(userData)){emSetImmediate(tick)}else{}})}emSetImmediate(tick)};_emscripten_set_immediate_loop.sig="vpp";var _emscripten_set_timeout=(cb,msecs,userData)=>safeSetTimeout(()=>getWasmTableEntry(cb)(userData),msecs);_emscripten_set_timeout.sig="ipdp";var _emscripten_clear_timeout=clearTimeout;_emscripten_clear_timeout.sig="vi";var _emscripten_set_timeout_loop=(cb,msecs,userData)=>{function tick(){var t=_emscripten_get_now();var n=t+msecs;callUserCallback(()=>{if(getWasmTableEntry(cb)(t,userData)){var remaining=n-_emscripten_get_now();setTimeout(tick,remaining)}})}return setTimeout(tick,0)};_emscripten_set_timeout_loop.sig="vpdp";var _emscripten_set_interval=(cb,msecs,userData)=>setInterval(()=>{callUserCallback(()=>getWasmTableEntry(cb)(userData))},msecs);_emscripten_set_interval.sig="ipdp";var _emscripten_clear_interval=id=>{clearInterval(id)};_emscripten_clear_interval.sig="vi";var _emscripten_async_call=(func,arg,millis)=>{var wrapper=()=>getWasmTableEntry(func)(arg);if(millis>=0){safeSetTimeout(wrapper,millis)}else{safeRequestAnimationFrame(wrapper)}};_emscripten_async_call.sig="vppi";var registerPostMainLoop=f=>{typeof MainLoop!="undefined"&&MainLoop.postMainLoop.push(f)};var registerPreMainLoop=f=>{typeof MainLoop!="undefined"&&MainLoop.preMainLoop.push(f)};var _emscripten_get_main_loop_timing=(mode,value)=>{if(mode)HEAP32[mode>>2]=MainLoop.timingMode;if(value)HEAP32[value>>2]=MainLoop.timingValue};_emscripten_get_main_loop_timing.sig="vpp";var _emscripten_set_main_loop=(func,fps,simulateInfiniteLoop)=>{var iterFunc=getWasmTableEntry(func);setMainLoop(iterFunc,fps,simulateInfiniteLoop)};_emscripten_set_main_loop.sig="vpii";var _emscripten_set_main_loop_arg=(func,arg,fps,simulateInfiniteLoop)=>{var iterFunc=()=>getWasmTableEntry(func)(arg);setMainLoop(iterFunc,fps,simulateInfiniteLoop,arg)};_emscripten_set_main_loop_arg.sig="vppii";var _emscripten_cancel_main_loop=()=>{MainLoop.pause();MainLoop.func=null};_emscripten_cancel_main_loop.sig="v";var _emscripten_pause_main_loop=()=>MainLoop.pause();_emscripten_pause_main_loop.sig="v";var _emscripten_resume_main_loop=()=>MainLoop.resume();_emscripten_resume_main_loop.sig="v";var __emscripten_push_main_loop_blocker=(func,arg,name)=>{MainLoop.queue.push({func:()=>{getWasmTableEntry(func)(arg)},name:UTF8ToString(name),counted:true});MainLoop.updateStatus()};__emscripten_push_main_loop_blocker.sig="vppp";var __emscripten_push_uncounted_main_loop_blocker=(func,arg,name)=>{MainLoop.queue.push({func:()=>{getWasmTableEntry(func)(arg)},name:UTF8ToString(name),counted:false});MainLoop.updateStatus()};__emscripten_push_uncounted_main_loop_blocker.sig="vppp";var _emscripten_set_main_loop_expected_blockers=num=>{MainLoop.expectedBlockers=num;MainLoop.remainingBlockers=num;MainLoop.updateStatus()};_emscripten_set_main_loop_expected_blockers.sig="vi";var idsToPromises=(idBuf,size)=>{var promises=[];for(var i=0;i>2];promises[i]=getPromise(id)}return promises};var makePromiseCallback=(callback,userData)=>value=>{var stack=stackSave();var resultPtr=stackAlloc(POINTER_SIZE);HEAPU32[resultPtr>>2]=0;try{var result=getWasmTableEntry(callback)(resultPtr,userData,value);var resultVal=HEAPU32[resultPtr>>2]}catch(e){if(typeof e!="number"){throw 0}throw e}finally{stackRestore(stack)}switch(result){case 0:return resultVal;case 1:return getPromise(resultVal);case 2:var ret=getPromise(resultVal);_emscripten_promise_destroy(resultVal);return ret;case 3:throw resultVal}};var _emscripten_promise_then=(id,onFulfilled,onRejected,userData)=>{var promise=getPromise(id);var newId=promiseMap.allocate({promise:promise.then(makePromiseCallback(onFulfilled,userData),makePromiseCallback(onRejected,userData))});return newId};_emscripten_promise_then.sig="ppppp";var _emscripten_promise_all=(idBuf,resultBuf,size)=>{var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.all(promises).then(results=>{if(resultBuf){for(var i=0;i>2]=result}}return resultBuf})});return id};_emscripten_promise_all.sig="pppp";var setPromiseResult=(ptr,fulfill,value)=>{var result=fulfill?0:3;HEAP32[ptr>>2]=result;HEAPU32[ptr+4>>2]=value};var _emscripten_promise_all_settled=(idBuf,resultBuf,size)=>{var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.allSettled(promises).then(results=>{if(resultBuf){var offset=resultBuf;for(var i=0;i{var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.any(promises).catch(err=>{if(errorBuf){for(var i=0;i>2]=err.errors[i]}}throw errorBuf})});return id};_emscripten_promise_any.sig="pppp";var _emscripten_promise_race=(idBuf,size)=>{var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.race(promises)});return id};_emscripten_promise_race.sig="ppp";var _emscripten_promise_await=(returnValuePtr,id)=>{abort("emscripten_promise_await is only available with ASYNCIFY")};_emscripten_promise_await.sig="vpp";var findMatchingCatch=args=>{var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}for(var caughtType of args){if(caughtType===0||caughtType===thrownType){break}var adjusted_ptr_addr=info.ptr+16;if(___cxa_can_catch(caughtType,thrownType,adjusted_ptr_addr)){setTempRet0(caughtType);return thrown}}setTempRet0(thrownType);return thrown};var ___cxa_find_matching_catch_2=()=>findMatchingCatch([]);___cxa_find_matching_catch_2.sig="p";var ___cxa_find_matching_catch_3=arg0=>findMatchingCatch([arg0]);___cxa_find_matching_catch_3.sig="pp";var ___cxa_find_matching_catch_4=(arg0,arg1)=>findMatchingCatch([arg0,arg1]);___cxa_find_matching_catch_4.sig="ppp";var exceptionCaught=[];var ___cxa_rethrow=()=>{var info=exceptionCaught.pop();if(!info){abort("no exception to throw")}var ptr=info.excPtr;if(!info.get_rethrown()){exceptionCaught.push(info);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}exceptionLast=ptr;throw exceptionLast};___cxa_rethrow.sig="v";var _llvm_eh_typeid_for=type=>type;_llvm_eh_typeid_for.sig="vp";var ___cxa_begin_catch=ptr=>{var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);___cxa_increment_exception_refcount(ptr);return ___cxa_get_exception_ptr(ptr)};___cxa_begin_catch.sig="pp";var ___cxa_end_catch=()=>{_setThrew(0,0);var info=exceptionCaught.pop();___cxa_decrement_exception_refcount(info.excPtr);exceptionLast=0};___cxa_end_catch.sig="v";var ___cxa_uncaught_exceptions=()=>uncaughtExceptionCount;___cxa_uncaught_exceptions.sig="i";var ___cxa_call_unexpected=exception=>abort("Unexpected exception thrown, this is not properly supported - aborting");___cxa_call_unexpected.sig="vp";var ___cxa_current_primary_exception=()=>{if(!exceptionCaught.length){return 0}var info=exceptionCaught[exceptionCaught.length-1];___cxa_increment_exception_refcount(info.excPtr);return info.excPtr};___cxa_current_primary_exception.sig="p";function ___cxa_current_exception_type(){if(!exceptionCaught.length){return 0}var info=exceptionCaught[exceptionCaught.length-1];return info.get_type()}___cxa_current_exception_type.sig="p";var ___cxa_rethrow_primary_exception=ptr=>{if(!ptr)return;var info=new ExceptionInfo(ptr);exceptionCaught.push(info);info.set_rethrown(true);___cxa_rethrow()};___cxa_rethrow_primary_exception.sig="vp";var ___resumeException=ptr=>{if(!exceptionLast){exceptionLast=ptr}throw exceptionLast};___resumeException.sig="vp";var Browser={useWebGL:false,isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],preloadedImages:{},preloadedAudios:{},getCanvas:()=>Module["canvas"],init(){if(Browser.initted)return;Browser.initted=true;var imagePlugin={};imagePlugin["canHandle"]=function imagePlugin_canHandle(name){return!Module["noImageDecoding"]&&/\.(jpg|jpeg|png|bmp|webp)$/i.test(name)};imagePlugin["handle"]=function imagePlugin_handle(byteArray,name,onload,onerror){var b=new Blob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=new Blob([new Uint8Array(byteArray).buffer],{type:Browser.getMimetype(name)})}var url=URL.createObjectURL(b);var img=new Image;img.onload=()=>{var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Browser.preloadedImages[name]=canvas;URL.revokeObjectURL(url);onload?.(byteArray)};img.onerror=event=>{err(`Image ${url} could not be decoded`);onerror?.()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module["noAudioDecoding"]&&name.slice(-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;Browser.preloadedAudios[name]=audio;onload?.(byteArray)}function fail(){if(done)return;done=true;Browser.preloadedAudios[name]=new Audio;onerror?.()}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.slice(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){var canvas=Browser.getCanvas();Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}var canvas=Browser.getCanvas();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&&Browser.getCanvas().requestPointerLock){Browser.getCanvas().requestPointerLock();ev.preventDefault()}},false)}}},createContext(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module["ctx"]&&canvas==Browser.getCanvas())return Module["ctx"];var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){Module["ctx"]=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Browser.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Browser.getCanvas();function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}Module["onFullScreen"]?.(Browser.isFullscreen);Module["onFullscreen"]?.(Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},exitFullscreen(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},safeSetTimeout(func,timeout){return safeSetTimeout(func,timeout)},getMimetype(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.slice(name.lastIndexOf(".")+1)]},getUserMedia(func){window.getUserMedia||=navigator["getUserMedia"]||navigator["mozGetUserMedia"];window.getUserMedia(func)},getMovementX(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(pageX,pageY){var canvas=Browser.getCanvas();var rect=canvas.getBoundingClientRect();var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;var adjustedX=pageX-(scrollX+rect.left);var adjustedY=pageY-(scrollY+rect.top);adjustedX=adjustedX*(canvas.width/rect.width);adjustedY=adjustedY*(canvas.height/rect.height);return{x:adjustedX,y:adjustedY}},setMouseCoords(pageX,pageY){const{x,y}=Browser.calculateMouseCoords(pageX,pageY);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y},calculateMouseEvent(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}else{if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var coords=Browser.calculateMouseCoords(touch.pageX,touch.pageY);if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];last||=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}Browser.setMouseCoords(event.pageX,event.pageY)}},resizeListeners:[],updateResizeListeners(){var canvas=Browser.getCanvas();Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize(width,height,noUpdates){var canvas=Browser.getCanvas();Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Browser.getCanvas());Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Browser.getCanvas());Browser.updateResizeListeners()},updateCanvasDimensions(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]>0){if(w/h{var _file=UTF8ToString(file);var data=FS.analyzePath(_file);if(!data.exists)return-1;FS.createPreloadedFile(PATH.dirname(_file),PATH.basename(_file),new Uint8Array(data.object.contents),true,true,()=>{if(onload)getWasmTableEntry(onload)(file)},()=>{if(onerror)getWasmTableEntry(onerror)(file)},true);return 0};_emscripten_run_preload_plugins.sig="ippp";var Browser_asyncPrepareDataCounter=0;var _emscripten_run_preload_plugins_data=(data,size,suffix,arg,onload,onerror)=>{var _suffix=UTF8ToString(suffix);var name="prepare_data_"+Browser_asyncPrepareDataCounter+++"."+_suffix;var cname=stringToNewUTF8(name);FS.createPreloadedFile("/",name,HEAPU8.subarray(data,data+size),true,true,()=>{if(onload)getWasmTableEntry(onload)(arg,cname)},()=>{if(onerror)getWasmTableEntry(onerror)(arg)},true)};_emscripten_run_preload_plugins_data.sig="vpipppp";var _emscripten_async_run_script=(script,millis)=>{safeSetTimeout(()=>_emscripten_run_script(script),millis)};_emscripten_async_run_script.sig="vpi";var _emscripten_async_load_script=async(url,onload,onerror)=>{url=UTF8ToString(url);var loadDone=()=>{if(onload){var onloadCallback=()=>callUserCallback(getWasmTableEntry(onload));if(runDependencies>0){dependenciesFulfilled=onloadCallback}else{onloadCallback()}}};var loadError=()=>{if(onerror){callUserCallback(getWasmTableEntry(onerror))}};var script=document.createElement("script");script.onload=loadDone;script.onerror=loadError;script.src=url;document.body.appendChild(script)};_emscripten_async_load_script.sig="vppp";var _emscripten_get_window_title=()=>{var buflen=256;if(!_emscripten_get_window_title.buffer){_emscripten_get_window_title.buffer=_malloc(buflen)}stringToUTF8(document.title,_emscripten_get_window_title.buffer,buflen);return _emscripten_get_window_title.buffer};_emscripten_get_window_title.sig="p";var _emscripten_set_window_title=title=>document.title=UTF8ToString(title);_emscripten_set_window_title.sig="vp";var _emscripten_get_screen_size=(width,height)=>{HEAP32[width>>2]=screen.width;HEAP32[height>>2]=screen.height};_emscripten_get_screen_size.sig="vpp";var _emscripten_hide_mouse=()=>{var styleSheet=document.styleSheets[0];var rules=styleSheet.cssRules;for(var i=0;iBrowser.setCanvasSize(width,height);_emscripten_set_canvas_size.sig="vii";var _emscripten_get_canvas_size=(width,height,isFullscreen)=>{var canvas=Browser.getCanvas();HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height;HEAP32[isFullscreen>>2]=Browser.isFullscreen?1:0};_emscripten_get_canvas_size.sig="vppp";var _emscripten_create_worker=url=>{url=UTF8ToString(url);var id=Browser.workers.length;var info={worker:new Worker(url),callbacks:[],awaited:0,buffer:0};info.worker.onmessage=function info_worker_onmessage(msg){if(ABORT)return;var info=Browser.workers[id];if(!info)return;var callbackId=msg.data["callbackId"];var callbackInfo=info.callbacks[callbackId];if(!callbackInfo)return;if(msg.data["finalResponse"]){info.awaited--;info.callbacks[callbackId]=null}var data=msg.data["data"];if(data){if(!data.byteLength)data=new Uint8Array(data);info.buffer=_realloc(info.buffer,data.length);HEAPU8.set(data,info.buffer);callbackInfo.func(info.buffer,data.length,callbackInfo.arg)}else{callbackInfo.func(0,0,callbackInfo.arg)}};Browser.workers.push(info);return id};_emscripten_create_worker.sig="ip";var _emscripten_destroy_worker=id=>{var info=Browser.workers[id];info.worker.terminate();_free(info.buffer);Browser.workers[id]=null};_emscripten_destroy_worker.sig="vi";var _emscripten_call_worker=(id,funcName,data,size,callback,arg)=>{funcName=UTF8ToString(funcName);var info=Browser.workers[id];var callbackId=-1;if(callback){callbackId=info.callbacks.length;info.callbacks.push({func:getWasmTableEntry(callback),arg});info.awaited++}var transferObject={funcName,callbackId,data:data?new Uint8Array(HEAPU8.subarray(data,data+size)):0};if(data){info.worker.postMessage(transferObject,[transferObject.data.buffer])}else{info.worker.postMessage(transferObject)}};_emscripten_call_worker.sig="vippipp";var _emscripten_get_worker_queue_size=id=>{var info=Browser.workers[id];if(!info)return-1;return info.awaited};_emscripten_get_worker_queue_size.sig="ii";var getPreloadedImageData=(path,w,h)=>{path=PATH_FS.resolve(path);var canvas=Browser.preloadedImages[path];if(!canvas)return 0;var ctx=canvas.getContext("2d");var image=ctx.getImageData(0,0,canvas.width,canvas.height);var buf=_malloc(canvas.width*canvas.height*4);HEAPU8.set(image.data,buf);HEAP32[w>>2]=canvas.width;HEAP32[h>>2]=canvas.height;return buf};var _emscripten_get_preloaded_image_data=(path,w,h)=>getPreloadedImageData(UTF8ToString(path),w,h);_emscripten_get_preloaded_image_data.sig="pppp";var getPreloadedImageData__data=["$PATH_FS","malloc"];var _emscripten_get_preloaded_image_data_from_FILE=(file,w,h)=>{var fd=_fileno(file);var stream=FS.getStream(fd);if(stream){return getPreloadedImageData(stream.path,w,h)}return 0};_emscripten_get_preloaded_image_data_from_FILE.sig="pppp";var wget={wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle(){var handle=wget.nextWgetRequestHandle;wget.nextWgetRequestHandle++;return handle}};var FS_mkdirTree=(path,mode)=>FS.mkdirTree(path,mode);var FS_unlink=(...args)=>FS.unlink(...args);var _emscripten_async_wget=(url,file,onload,onerror)=>{var _url=UTF8ToString(url);var _file=UTF8ToString(file);_file=PATH_FS.resolve(_file);function doCallback(callback){if(callback){callUserCallback(()=>{var sp=stackSave();getWasmTableEntry(callback)(stringToUTF8OnStack(_file));stackRestore(sp)})}}var destinationDirectory=PATH.dirname(_file);FS_createPreloadedFile(destinationDirectory,PATH.basename(_file),_url,true,true,()=>doCallback(onload),()=>doCallback(onerror),false,false,()=>{try{FS_unlink(_file)}catch(e){}FS_mkdirTree(destinationDirectory)})};_emscripten_async_wget.sig="vpppp";var _emscripten_async_wget_data=async(url,userdata,onload,onerror)=>{try{var byteArray=await asyncLoad(UTF8ToString(url));callUserCallback(()=>{var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);getWasmTableEntry(onload)(userdata,buffer,byteArray.length);_free(buffer)})}catch(e){if(onerror){callUserCallback(()=>{getWasmTableEntry(onerror)(userdata)})}}};_emscripten_async_wget_data.sig="vpppp";var _emscripten_async_wget2=(url,file,request,param,userdata,onload,onerror,onprogress)=>{var _url=UTF8ToString(url);var _file=UTF8ToString(file);_file=PATH_FS.resolve(_file);var _request=UTF8ToString(request);var _param=UTF8ToString(param);var index=_file.lastIndexOf("/");var http=new XMLHttpRequest;http.open(_request,_url,true);http.responseType="arraybuffer";var handle=wget.getNextWgetRequestHandle();var destinationDirectory=PATH.dirname(_file);http.onload=e=>{if(http.status>=200&&http.status<300){try{FS.unlink(_file)}catch(e){}FS.mkdirTree(destinationDirectory);FS.createDataFile(_file.slice(0,index),_file.slice(index+1),new Uint8Array(http.response),true,true,false);if(onload){var sp=stackSave();getWasmTableEntry(onload)(handle,userdata,stringToUTF8OnStack(_file));stackRestore(sp)}}else{if(onerror)getWasmTableEntry(onerror)(handle,userdata,http.status)}delete wget.wgetRequests[handle]};http.onerror=e=>{if(onerror)getWasmTableEntry(onerror)(handle,userdata,http.status);delete wget.wgetRequests[handle]};http.onprogress=e=>{if(e.lengthComputable||e.lengthComputable===undefined&&e.total!=0){var percentComplete=e.loaded/e.total*100;if(onprogress)getWasmTableEntry(onprogress)(handle,userdata,percentComplete)}};http.onabort=e=>{delete wget.wgetRequests[handle]};if(_request=="POST"){http.setRequestHeader("Content-type","application/x-www-form-urlencoded");http.send(_param)}else{http.send(null)}wget.wgetRequests[handle]=http;return handle};_emscripten_async_wget2.sig="ipppppppp";var _emscripten_async_wget2_data=(url,request,param,userdata,free,onload,onerror,onprogress)=>{var _url=UTF8ToString(url);var _request=UTF8ToString(request);var _param=UTF8ToString(param);var http=new XMLHttpRequest;http.open(_request,_url,true);http.responseType="arraybuffer";var handle=wget.getNextWgetRequestHandle();function onerrorjs(){if(onerror){var sp=stackSave();var statusText=0;if(http.statusText){statusText=stringToUTF8OnStack(http.statusText)}getWasmTableEntry(onerror)(handle,userdata,http.status,statusText);stackRestore(sp)}}http.onload=e=>{if(http.status>=200&&http.status<300||http.status===0&&_url.slice(0,4).toLowerCase()!="http"){var byteArray=new Uint8Array(http.response);var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);if(onload)getWasmTableEntry(onload)(handle,userdata,buffer,byteArray.length);_free(buffer)}else{onerrorjs()}delete wget.wgetRequests[handle]};http.onerror=e=>{onerrorjs();delete wget.wgetRequests[handle]};http.onprogress=e=>{if(onprogress)getWasmTableEntry(onprogress)(handle,userdata,e.loaded,e.lengthComputable||e.lengthComputable===undefined?e.total:0)};http.onabort=e=>{delete wget.wgetRequests[handle]};if(_request=="POST"){http.setRequestHeader("Content-type","application/x-www-form-urlencoded");http.send(_param)}else{http.send(null)}wget.wgetRequests[handle]=http;return handle};_emscripten_async_wget2_data.sig="ippppippp";var _emscripten_async_wget2_abort=handle=>{var http=wget.wgetRequests[handle];http?.abort()};_emscripten_async_wget2_abort.sig="vi";var ___asctime_r=(tmPtr,buf)=>{var date={tm_sec:HEAP32[tmPtr>>2],tm_min:HEAP32[tmPtr+4>>2],tm_hour:HEAP32[tmPtr+8>>2],tm_mday:HEAP32[tmPtr+12>>2],tm_mon:HEAP32[tmPtr+16>>2],tm_year:HEAP32[tmPtr+20>>2],tm_wday:HEAP32[tmPtr+24>>2]};var days=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var s=days[date.tm_wday]+" "+months[date.tm_mon]+(date.tm_mday<10?" ":" ")+date.tm_mday+(date.tm_hour<10?" 0":" ")+date.tm_hour+(date.tm_min<10?":0":":")+date.tm_min+(date.tm_sec<10?":0":":")+date.tm_sec+" "+(1900+date.tm_year)+"\n";stringToUTF8(s,buf,26);return buf};___asctime_r.sig="ppp";var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var arraySum=(array,index)=>{var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum};var addDays=(date,days)=>{var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate};var _strptime=(buf,format,tm)=>{var pattern=UTF8ToString(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;iEQUIVALENT_MATCHERS[c]||m).replace(/%(.)/g,(_,c)=>{let pat=DATE_PATTERNS[c];if(pat){capture.push(c);return`(${pat})`}else{return c}}).replace(/\s+/g,"\\s*");var matches=new RegExp("^"+pattern_out,"i").exec(UTF8ToString(buf));function initDate(){function fixup(value,min,max){return typeof value!="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59),gmtoff:0}}if(matches){var date=initDate();var value;var getMatch=symbol=>{var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return};if(value=getMatch("S")){date.sec=Number(value)}if(value=getMatch("M")){date.min=Number(value)}if(value=getMatch("H")){date.hour=Number(value)}else if(value=getMatch("I")){var hour=Number(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=Number(value)}else if(value=getMatch("y")){var year=Number(value);if(value=getMatch("C")){year+=Number(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=Number(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=Number(value)}else if(value=getMatch("j")){var day=Number(value);var leapYear=isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=arraySum(leapYear?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=Number(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=Number(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}if(value=getMatch("z")){if(value.toLowerCase()==="z"){date.gmtoff=0}else{var match=value.match(/^((?:\-|\+)\d\d):?(\d\d)?/);date.gmtoff=match[1]*3600;if(match[2]){date.gmtoff+=date.gmtoff>0?match[2]*60:-match[2]*60}}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=arraySum(isLeapYear(fullDate.getFullYear())?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;HEAP32[tm+36>>2]=date.gmtoff;return buf+lengthBytesUTF8(matches[0])}return 0};_strptime.sig="pppp";var _strptime_l=(buf,format,tm,locale)=>_strptime(buf,format,tm);_strptime_l.sig="ppppp";function ___syscall_shutdown(fd,how){try{getSocketFromFD(fd);return-52}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_shutdown.sig="iiiiiii";var __dlsym_catchup_js=(handle,symbolIndex)=>{var lib=LDSO.loadedLibsByHandle[handle];var symDict=lib.exports;var symName=Object.keys(symDict)[symbolIndex];var sym=symDict[symName];var result=addFunction(sym,sym.sig);return result};__dlsym_catchup_js.sig="ppi";var FS_createPath=(...args)=>FS.createPath(...args);var FS_createDevice=(...args)=>FS.createDevice(...args);var FS_readFile=(...args)=>FS.readFile(...args);var FS_root=(...args)=>FS.root(...args);var FS_mounts=(...args)=>FS.mounts(...args);var FS_devices=(...args)=>FS.devices(...args);var FS_streams=(...args)=>FS.streams(...args);var FS_nextInode=(...args)=>FS.nextInode(...args);var FS_nameTable=(...args)=>FS.nameTable(...args);var FS_currentPath=(...args)=>FS.currentPath(...args);var FS_initialized=(...args)=>FS.initialized(...args);var FS_ignorePermissions=(...args)=>FS.ignorePermissions(...args);var FS_filesystems=(...args)=>FS.filesystems(...args);var FS_syncFSRequests=(...args)=>FS.syncFSRequests(...args);var FS_readFiles=(...args)=>FS.readFiles(...args);var FS_lookupPath=(...args)=>FS.lookupPath(...args);var FS_getPath=(...args)=>FS.getPath(...args);var FS_hashName=(...args)=>FS.hashName(...args);var FS_hashAddNode=(...args)=>FS.hashAddNode(...args);var FS_hashRemoveNode=(...args)=>FS.hashRemoveNode(...args);var FS_lookupNode=(...args)=>FS.lookupNode(...args);var FS_createNode=(...args)=>FS.createNode(...args);var FS_destroyNode=(...args)=>FS.destroyNode(...args);var FS_isRoot=(...args)=>FS.isRoot(...args);var FS_isMountpoint=(...args)=>FS.isMountpoint(...args);var FS_isFile=(...args)=>FS.isFile(...args);var FS_isDir=(...args)=>FS.isDir(...args);var FS_isLink=(...args)=>FS.isLink(...args);var FS_isChrdev=(...args)=>FS.isChrdev(...args);var FS_isBlkdev=(...args)=>FS.isBlkdev(...args);var FS_isFIFO=(...args)=>FS.isFIFO(...args);var FS_isSocket=(...args)=>FS.isSocket(...args);var FS_flagsToPermissionString=(...args)=>FS.flagsToPermissionString(...args);var FS_nodePermissions=(...args)=>FS.nodePermissions(...args);var FS_mayLookup=(...args)=>FS.mayLookup(...args);var FS_mayCreate=(...args)=>FS.mayCreate(...args);var FS_mayDelete=(...args)=>FS.mayDelete(...args);var FS_mayOpen=(...args)=>FS.mayOpen(...args);var FS_checkOpExists=(...args)=>FS.checkOpExists(...args);var FS_nextfd=(...args)=>FS.nextfd(...args);var FS_getStreamChecked=(...args)=>FS.getStreamChecked(...args);var FS_getStream=(...args)=>FS.getStream(...args);var FS_createStream=(...args)=>FS.createStream(...args);var FS_closeStream=(...args)=>FS.closeStream(...args);var FS_dupStream=(...args)=>FS.dupStream(...args);var FS_doSetAttr=(...args)=>FS.doSetAttr(...args);var FS_chrdev_stream_ops=(...args)=>FS.chrdev_stream_ops(...args);var FS_major=(...args)=>FS.major(...args);var FS_minor=(...args)=>FS.minor(...args);var FS_makedev=(...args)=>FS.makedev(...args);var FS_registerDevice=(...args)=>FS.registerDevice(...args);var FS_getDevice=(...args)=>FS.getDevice(...args);var FS_getMounts=(...args)=>FS.getMounts(...args);var FS_syncfs=(...args)=>FS.syncfs(...args);var FS_mount=(...args)=>FS.mount(...args);var FS_unmount=(...args)=>FS.unmount(...args);var FS_lookup=(...args)=>FS.lookup(...args);var FS_mknod=(...args)=>FS.mknod(...args);var FS_statfs=(...args)=>FS.statfs(...args);var FS_statfsStream=(...args)=>FS.statfsStream(...args);var FS_statfsNode=(...args)=>FS.statfsNode(...args);var FS_create=(...args)=>FS.create(...args);var FS_mkdir=(...args)=>FS.mkdir(...args);var FS_mkdev=(...args)=>FS.mkdev(...args);var FS_symlink=(...args)=>FS.symlink(...args);var FS_rename=(...args)=>FS.rename(...args);var FS_rmdir=(...args)=>FS.rmdir(...args);var FS_readdir=(...args)=>FS.readdir(...args);var FS_readlink=(...args)=>FS.readlink(...args);var FS_stat=(...args)=>FS.stat(...args);var FS_fstat=(...args)=>FS.fstat(...args);var FS_lstat=(...args)=>FS.lstat(...args);var FS_doChmod=(...args)=>FS.doChmod(...args);var FS_chmod=(...args)=>FS.chmod(...args);var FS_lchmod=(...args)=>FS.lchmod(...args);var FS_fchmod=(...args)=>FS.fchmod(...args);var FS_doChown=(...args)=>FS.doChown(...args);var FS_chown=(...args)=>FS.chown(...args);var FS_lchown=(...args)=>FS.lchown(...args);var FS_fchown=(...args)=>FS.fchown(...args);var FS_doTruncate=(...args)=>FS.doTruncate(...args);var FS_truncate=(...args)=>FS.truncate(...args);var FS_ftruncate=(...args)=>FS.ftruncate(...args);var FS_utime=(...args)=>FS.utime(...args);var FS_open=(...args)=>FS.open(...args);var FS_close=(...args)=>FS.close(...args);var FS_isClosed=(...args)=>FS.isClosed(...args);var FS_llseek=(...args)=>FS.llseek(...args);var FS_read=(...args)=>FS.read(...args);var FS_write=(...args)=>FS.write(...args);var FS_mmap=(...args)=>FS.mmap(...args);var FS_msync=(...args)=>FS.msync(...args);var FS_ioctl=(...args)=>FS.ioctl(...args);var FS_writeFile=(...args)=>FS.writeFile(...args);var FS_cwd=(...args)=>FS.cwd(...args);var FS_chdir=(...args)=>FS.chdir(...args);var FS_createDefaultDirectories=(...args)=>FS.createDefaultDirectories(...args);var FS_createDefaultDevices=(...args)=>FS.createDefaultDevices(...args);var FS_createSpecialDirectories=(...args)=>FS.createSpecialDirectories(...args);var FS_createStandardStreams=(...args)=>FS.createStandardStreams(...args);var FS_staticInit=(...args)=>FS.staticInit(...args);var FS_init=(...args)=>FS.init(...args);var FS_quit=(...args)=>FS.quit(...args);var FS_findObject=(...args)=>FS.findObject(...args);var FS_analyzePath=(...args)=>FS.analyzePath(...args);var FS_createFile=(...args)=>FS.createFile(...args);var FS_forceLoadFile=(...args)=>FS.forceLoadFile(...args);var FS_createLazyFile=(...args)=>FS.createLazyFile(...args);var _setNetworkCallback=(event,userData,callback)=>{function _callback(data){callUserCallback(()=>{if(event==="error"){withStackSave(()=>{var msg=stringToUTF8OnStack(data[2]);getWasmTableEntry(callback)(data[0],data[1],msg,userData)})}else{getWasmTableEntry(callback)(data,userData)}})}SOCKFS.on(event,callback?_callback:null)};var _emscripten_set_socket_error_callback=(userData,callback)=>_setNetworkCallback("error",userData,callback);_emscripten_set_socket_error_callback.sig="vpp";var _emscripten_set_socket_open_callback=(userData,callback)=>_setNetworkCallback("open",userData,callback);_emscripten_set_socket_open_callback.sig="vpp";var _emscripten_set_socket_listen_callback=(userData,callback)=>_setNetworkCallback("listen",userData,callback);_emscripten_set_socket_listen_callback.sig="vpp";var _emscripten_set_socket_connection_callback=(userData,callback)=>_setNetworkCallback("connection",userData,callback);_emscripten_set_socket_connection_callback.sig="vpp";var _emscripten_set_socket_message_callback=(userData,callback)=>_setNetworkCallback("message",userData,callback);_emscripten_set_socket_message_callback.sig="vpp";var _emscripten_set_socket_close_callback=(userData,callback)=>_setNetworkCallback("close",userData,callback);_emscripten_set_socket_close_callback.sig="vpp";var _emscripten_webgl_enable_ANGLE_instanced_arrays=ctx=>webgl_enable_ANGLE_instanced_arrays(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_ANGLE_instanced_arrays.sig="ip";var _emscripten_webgl_enable_OES_vertex_array_object=ctx=>webgl_enable_OES_vertex_array_object(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_OES_vertex_array_object.sig="ip";var _emscripten_webgl_enable_WEBGL_draw_buffers=ctx=>webgl_enable_WEBGL_draw_buffers(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_WEBGL_draw_buffers.sig="ip";var _emscripten_webgl_enable_WEBGL_multi_draw=ctx=>webgl_enable_WEBGL_multi_draw(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_WEBGL_multi_draw.sig="ip";var _emscripten_webgl_enable_EXT_polygon_offset_clamp=ctx=>webgl_enable_EXT_polygon_offset_clamp(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_EXT_polygon_offset_clamp.sig="ip";var _emscripten_webgl_enable_EXT_clip_control=ctx=>webgl_enable_EXT_clip_control(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_EXT_clip_control.sig="ip";var _emscripten_webgl_enable_WEBGL_polygon_mode=ctx=>webgl_enable_WEBGL_polygon_mode(GL.contexts[ctx].GLctx);_emscripten_webgl_enable_WEBGL_polygon_mode.sig="ip";var _glVertexPointer=(size,type,stride,ptr)=>{throw"Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glVertexPointer.sig="viiip";var _glMatrixMode=()=>{throw"Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glMatrixMode.sig="vi";var _glBegin=()=>{throw"Legacy GL function (glBegin) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glBegin.sig="vi";var _glLoadIdentity=()=>{throw"Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glLoadIdentity.sig="v";var _glVertexAttribDivisorNV=_glVertexAttribDivisor;var _glDrawArraysInstancedNV=_glDrawArraysInstanced;var _glDrawElementsInstancedNV=_glDrawElementsInstanced;var _glVertexAttribDivisorEXT=_glVertexAttribDivisor;var _glDrawArraysInstancedEXT=_glDrawArraysInstanced;var _glDrawElementsInstancedEXT=_glDrawElementsInstanced;var _glVertexAttribDivisorARB=_glVertexAttribDivisor;var _glDrawArraysInstancedARB=_glDrawArraysInstanced;var _glDrawElementsInstancedARB=_glDrawElementsInstanced;var _glDrawBuffersEXT=_glDrawBuffers;var _glMultiDrawArraysWEBGL=(mode,firsts,counts,drawcount)=>{GLctx.multiDrawWebgl["multiDrawArraysWEBGL"](mode,HEAP32,firsts>>2,HEAP32,counts>>2,drawcount)};_glMultiDrawArraysWEBGL.sig="vippi";var _glMultiDrawArrays=_glMultiDrawArraysWEBGL;_glMultiDrawArrays.sig="vippi";var _glMultiDrawArraysANGLE=_glMultiDrawArraysWEBGL;var _glMultiDrawArraysInstancedWEBGL=(mode,firsts,counts,instanceCounts,drawcount)=>{GLctx.multiDrawWebgl["multiDrawArraysInstancedWEBGL"](mode,HEAP32,firsts>>2,HEAP32,counts>>2,HEAP32,instanceCounts>>2,drawcount)};_glMultiDrawArraysInstancedWEBGL.sig="vipppi";var _glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedWEBGL;var _glMultiDrawElementsWEBGL=(mode,counts,type,offsets,drawcount)=>{GLctx.multiDrawWebgl["multiDrawElementsWEBGL"](mode,HEAP32,counts>>2,type,HEAP32,offsets>>2,drawcount)};_glMultiDrawElementsWEBGL.sig="vipipi";var _glMultiDrawElements=_glMultiDrawElementsWEBGL;_glMultiDrawElements.sig="vipipi";var _glMultiDrawElementsANGLE=_glMultiDrawElementsWEBGL;var _glMultiDrawElementsInstancedWEBGL=(mode,counts,type,offsets,instanceCounts,drawcount)=>{GLctx.multiDrawWebgl["multiDrawElementsInstancedWEBGL"](mode,HEAP32,counts>>2,type,HEAP32,offsets>>2,HEAP32,instanceCounts>>2,drawcount)};_glMultiDrawElementsInstancedWEBGL.sig="vipippi";var _glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedWEBGL;var _glClearDepth=x0=>GLctx.clearDepth(x0);_glClearDepth.sig="vd";var _glDepthRange=(x0,x1)=>GLctx.depthRange(x0,x1);_glDepthRange.sig="vdd";var _emscripten_glGenVertexArrays=_glGenVertexArrays;_emscripten_glGenVertexArrays.sig="vip";var _emscripten_glDeleteVertexArrays=_glDeleteVertexArrays;_emscripten_glDeleteVertexArrays.sig="vip";var _emscripten_glBindVertexArray=_glBindVertexArray;_emscripten_glBindVertexArray.sig="vi";var _emscripten_glIsVertexArray=_glIsVertexArray;_emscripten_glIsVertexArray.sig="ii";var _emscripten_glVertexPointer=_glVertexPointer;_emscripten_glVertexPointer.sig="viiip";var _emscripten_glMatrixMode=_glMatrixMode;_emscripten_glMatrixMode.sig="vi";var _emscripten_glBegin=_glBegin;_emscripten_glBegin.sig="vi";var _emscripten_glLoadIdentity=_glLoadIdentity;_emscripten_glLoadIdentity.sig="v";var _emscripten_glVertexAttribDivisor=_glVertexAttribDivisor;_emscripten_glVertexAttribDivisor.sig="vii";var _emscripten_glDrawArraysInstanced=_glDrawArraysInstanced;_emscripten_glDrawArraysInstanced.sig="viiii";var _emscripten_glDrawElementsInstanced=_glDrawElementsInstanced;_emscripten_glDrawElementsInstanced.sig="viiipi";var _emscripten_glVertexAttribDivisorNV=_glVertexAttribDivisorNV;var _emscripten_glDrawArraysInstancedNV=_glDrawArraysInstancedNV;var _emscripten_glDrawElementsInstancedNV=_glDrawElementsInstancedNV;var _emscripten_glVertexAttribDivisorEXT=_glVertexAttribDivisorEXT;var _emscripten_glDrawArraysInstancedEXT=_glDrawArraysInstancedEXT;var _emscripten_glDrawElementsInstancedEXT=_glDrawElementsInstancedEXT;var _emscripten_glVertexAttribDivisorARB=_glVertexAttribDivisorARB;var _emscripten_glDrawArraysInstancedARB=_glDrawArraysInstancedARB;var _emscripten_glDrawElementsInstancedARB=_glDrawElementsInstancedARB;var _emscripten_glDrawBuffers=_glDrawBuffers;_emscripten_glDrawBuffers.sig="vip";var _emscripten_glDrawBuffersEXT=_glDrawBuffersEXT;var _emscripten_glMultiDrawArrays=_glMultiDrawArrays;_emscripten_glMultiDrawArrays.sig="vippi";var _emscripten_glMultiDrawArraysANGLE=_glMultiDrawArraysANGLE;var _emscripten_glMultiDrawArraysWEBGL=_glMultiDrawArraysWEBGL;var _emscripten_glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedANGLE;var _emscripten_glMultiDrawArraysInstancedWEBGL=_glMultiDrawArraysInstancedWEBGL;var _emscripten_glMultiDrawElements=_glMultiDrawElements;_emscripten_glMultiDrawElements.sig="vipipi";var _emscripten_glMultiDrawElementsANGLE=_glMultiDrawElementsANGLE;var _emscripten_glMultiDrawElementsWEBGL=_glMultiDrawElementsWEBGL;var _emscripten_glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedANGLE;var _emscripten_glMultiDrawElementsInstancedWEBGL=_glMultiDrawElementsInstancedWEBGL;var _emscripten_glClearDepth=_glClearDepth;_emscripten_glClearDepth.sig="vd";var _emscripten_glDepthRange=_glDepthRange;_emscripten_glDepthRange.sig="vdd";var writeGLArray=(arr,dst,dstLength,heapType)=>{var len=arr.length;var writeLength=dstLength>2;for(var i=0;i{var attr32=attributes>>2;var powerPreference=HEAP32[attr32+(8>>2)];var contextAttributes={alpha:!!HEAP8[attributes+0],depth:!!HEAP8[attributes+1],stencil:!!HEAP8[attributes+2],antialias:!!HEAP8[attributes+3],premultipliedAlpha:!!HEAP8[attributes+4],preserveDrawingBuffer:!!HEAP8[attributes+5],powerPreference:webglPowerPreferences[powerPreference],failIfMajorPerformanceCaveat:!!HEAP8[attributes+12],majorVersion:HEAP32[attr32+(16>>2)],minorVersion:HEAP32[attr32+(20>>2)],enableExtensionsByDefault:HEAP8[attributes+24],explicitSwapControl:HEAP8[attributes+25],proxyContextToMainThread:HEAP32[attr32+(28>>2)],renderViaOffscreenBackBuffer:HEAP8[attributes+32]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl){return 0}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle};_emscripten_webgl_do_create_context.sig="ppp";var _emscripten_webgl_create_context=_emscripten_webgl_do_create_context;_emscripten_webgl_create_context.sig="ppp";var _emscripten_webgl_do_get_current_context=()=>GL.currentContext?GL.currentContext.handle:0;_emscripten_webgl_do_get_current_context.sig="p";var _emscripten_webgl_get_current_context=_emscripten_webgl_do_get_current_context;_emscripten_webgl_get_current_context.sig="p";var _emscripten_webgl_do_commit_frame=()=>{if(!GL.currentContext||!GL.currentContext.GLctx){return-3}if(!GL.currentContext.attributes.explicitSwapControl){return-3}return 0};_emscripten_webgl_do_commit_frame.sig="i";var _emscripten_webgl_commit_frame=_emscripten_webgl_do_commit_frame;_emscripten_webgl_commit_frame.sig="i";var _emscripten_webgl_make_context_current=contextHandle=>{var success=GL.makeContextCurrent(contextHandle);return success?0:-5};_emscripten_webgl_make_context_current.sig="ip";var _emscripten_webgl_get_drawing_buffer_size=(contextHandle,width,height)=>{var GLContext=GL.getContext(contextHandle);if(!GLContext||!GLContext.GLctx||!width||!height){return-5}HEAP32[width>>2]=GLContext.GLctx.drawingBufferWidth;HEAP32[height>>2]=GLContext.GLctx.drawingBufferHeight;return 0};_emscripten_webgl_get_drawing_buffer_size.sig="ippp";var _emscripten_webgl_get_context_attributes=(c,a)=>{if(!a)return-5;c=GL.contexts[c];if(!c)return-3;var t=c.GLctx;if(!t)return-3;t=t.getContextAttributes();HEAP8[a]=t.alpha;HEAP8[a+1]=t.depth;HEAP8[a+2]=t.stencil;HEAP8[a+3]=t.antialias;HEAP8[a+4]=t.premultipliedAlpha;HEAP8[a+5]=t.preserveDrawingBuffer;var power=t["powerPreference"]&&webglPowerPreferences.indexOf(t["powerPreference"]);HEAP32[a+8>>2]=power;HEAP8[a+12]=t.failIfMajorPerformanceCaveat;HEAP32[a+16>>2]=c.version;HEAP32[a+20>>2]=0;HEAP8[a+24]=c.attributes.enableExtensionsByDefault;return 0};_emscripten_webgl_get_context_attributes.sig="ipp";var _emscripten_webgl_destroy_context=contextHandle=>{if(GL.currentContext==contextHandle)GL.currentContext=0;GL.deleteContext(contextHandle)};_emscripten_webgl_destroy_context.sig="ip";var _emscripten_webgl_enable_extension=(contextHandle,extension)=>{var context=GL.getContext(contextHandle);var extString=UTF8ToString(extension);if(extString.startsWith("GL_"))extString=extString.slice(3);if(extString=="ANGLE_instanced_arrays")webgl_enable_ANGLE_instanced_arrays(GLctx);if(extString=="OES_vertex_array_object")webgl_enable_OES_vertex_array_object(GLctx);if(extString=="WEBGL_draw_buffers")webgl_enable_WEBGL_draw_buffers(GLctx);if(extString=="WEBGL_multi_draw")webgl_enable_WEBGL_multi_draw(GLctx);if(extString=="EXT_polygon_offset_clamp")webgl_enable_EXT_polygon_offset_clamp(GLctx);if(extString=="EXT_clip_control")webgl_enable_EXT_clip_control(GLctx);if(extString=="WEBGL_polygon_mode")webgl_enable_WEBGL_polygon_mode(GLctx);var ext=context.GLctx.getExtension(extString);return!!ext};_emscripten_webgl_enable_extension.sig="ipp";var _emscripten_supports_offscreencanvas=()=>0;_emscripten_supports_offscreencanvas.sig="i";var registerWebGlEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var webGlEventHandlerFunc=(e=event)=>{if(getWasmTableEntry(callbackfunc)(eventTypeId,0,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:webGlEventHandlerFunc,useCapture};JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_webglcontextlost_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{registerWebGlEventCallback(target,userData,useCapture,callbackfunc,31,"webglcontextlost",targetThread);return 0};_emscripten_set_webglcontextlost_callback_on_thread.sig="ippipp";var _emscripten_set_webglcontextrestored_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{registerWebGlEventCallback(target,userData,useCapture,callbackfunc,32,"webglcontextrestored",targetThread);return 0};_emscripten_set_webglcontextrestored_callback_on_thread.sig="ippipp";var _emscripten_is_webgl_context_lost=contextHandle=>!GL.contexts[contextHandle]||GL.contexts[contextHandle].GLctx.isContextLost();_emscripten_is_webgl_context_lost.sig="ip";var _emscripten_webgl_get_supported_extensions=()=>stringToNewUTF8(GLctx.getSupportedExtensions().join(" "));_emscripten_webgl_get_supported_extensions.sig="p";var _emscripten_webgl_get_program_parameter_d=(program,param)=>GLctx.getProgramParameter(GL.programs[program],param);_emscripten_webgl_get_program_parameter_d.sig="dii";var _emscripten_webgl_get_program_info_log_utf8=program=>stringToNewUTF8(GLctx.getProgramInfoLog(GL.programs[program]));_emscripten_webgl_get_program_info_log_utf8.sig="pi";var _emscripten_webgl_get_shader_parameter_d=(shader,param)=>GLctx.getShaderParameter(GL.shaders[shader],param);_emscripten_webgl_get_shader_parameter_d.sig="dii";var _emscripten_webgl_get_shader_info_log_utf8=shader=>stringToNewUTF8(GLctx.getShaderInfoLog(GL.shaders[shader]));_emscripten_webgl_get_shader_info_log_utf8.sig="pi";var _emscripten_webgl_get_shader_source_utf8=shader=>stringToNewUTF8(GLctx.getShaderSource(GL.shaders[shader]));_emscripten_webgl_get_shader_source_utf8.sig="pi";var _emscripten_webgl_get_vertex_attrib_d=(index,param)=>GLctx.getVertexAttrib(index,param);_emscripten_webgl_get_vertex_attrib_d.sig="dii";var _emscripten_webgl_get_vertex_attrib_o=(index,param)=>{var obj=GLctx.getVertexAttrib(index,param);return obj?.name};_emscripten_webgl_get_vertex_attrib_o.sig="iii";var _emscripten_webgl_get_vertex_attrib_v=(index,param,dst,dstLength,dstType)=>writeGLArray(GLctx.getVertexAttrib(index,param),dst,dstLength,dstType);_emscripten_webgl_get_vertex_attrib_v.sig="iiipii";var _emscripten_webgl_get_uniform_d=(program,location)=>GLctx.getUniform(GL.programs[program],webglGetUniformLocation(location));_emscripten_webgl_get_uniform_d.sig="dii";var _emscripten_webgl_get_uniform_v=(program,location,dst,dstLength,dstType)=>writeGLArray(GLctx.getUniform(GL.programs[program],webglGetUniformLocation(location)),dst,dstLength,dstType);_emscripten_webgl_get_uniform_v.sig="iiipii";var _emscripten_webgl_get_parameter_v=(param,dst,dstLength,dstType)=>writeGLArray(GLctx.getParameter(param),dst,dstLength,dstType);_emscripten_webgl_get_parameter_v.sig="iipii";var _emscripten_webgl_get_parameter_d=param=>GLctx.getParameter(param);_emscripten_webgl_get_parameter_d.sig="di";var _emscripten_webgl_get_parameter_o=param=>{var obj=GLctx.getParameter(param);return obj?.name};_emscripten_webgl_get_parameter_o.sig="ii";var _emscripten_webgl_get_parameter_utf8=param=>stringToNewUTF8(GLctx.getParameter(param));_emscripten_webgl_get_parameter_utf8.sig="pi";var _emscripten_webgl_get_parameter_i64v=(param,dst)=>writeI53ToI64(dst,GLctx.getParameter(param));_emscripten_webgl_get_parameter_i64v.sig="vip";var _glutPostRedisplay=()=>{if(GLUT.displayFunc&&!GLUT.requestedAnimationFrame){GLUT.requestedAnimationFrame=true;MainLoop.requestAnimationFrame(()=>{GLUT.requestedAnimationFrame=false;MainLoop.runIter(()=>getWasmTableEntry(GLUT.displayFunc)())})}};_glutPostRedisplay.sig="v";var GLUT={initTime:null,idleFunc:null,displayFunc:null,keyboardFunc:null,keyboardUpFunc:null,specialFunc:null,specialUpFunc:null,reshapeFunc:null,motionFunc:null,passiveMotionFunc:null,mouseFunc:null,buttons:0,modifiers:0,initWindowWidth:256,initWindowHeight:256,initDisplayMode:18,windowX:0,windowY:0,windowWidth:0,windowHeight:0,requestedAnimationFrame:false,saveModifiers:event=>{GLUT.modifiers=0;if(event["shiftKey"])GLUT.modifiers+=1;if(event["ctrlKey"])GLUT.modifiers+=2;if(event["altKey"])GLUT.modifiers+=4},onMousemove:event=>{var lastX=Browser.mouseX;var lastY=Browser.mouseY;Browser.calculateMouseEvent(event);var newX=Browser.mouseX;var newY=Browser.mouseY;if(newX==lastX&&newY==lastY)return;if(GLUT.buttons==0&&event.target==Browser.getCanvas()&&GLUT.passiveMotionFunc){event.preventDefault();GLUT.saveModifiers(event);getWasmTableEntry(GLUT.passiveMotionFunc)(lastX,lastY)}else if(GLUT.buttons!=0&&GLUT.motionFunc){event.preventDefault();GLUT.saveModifiers(event);getWasmTableEntry(GLUT.motionFunc)(lastX,lastY)}},getSpecialKey:keycode=>{var key=null;switch(keycode){case 8:key=120;break;case 46:key=111;break;case 112:key=1;break;case 113:key=2;break;case 114:key=3;break;case 115:key=4;break;case 116:key=5;break;case 117:key=6;break;case 118:key=7;break;case 119:key=8;break;case 120:key=9;break;case 121:key=10;break;case 122:key=11;break;case 123:key=12;break;case 37:key=100;break;case 38:key=101;break;case 39:key=102;break;case 40:key=103;break;case 33:key=104;break;case 34:key=105;break;case 36:key=106;break;case 35:key=107;break;case 45:key=108;break;case 16:case 5:key=112;break;case 6:key=113;break;case 17:case 3:key=114;break;case 4:key=115;break;case 18:case 2:key=116;break;case 1:key=117;break}return key},getASCIIKey:event=>{if(event["ctrlKey"]||event["altKey"]||event["metaKey"])return null;var keycode=event["keyCode"];if(48<=keycode&&keycode<=57)return keycode;if(65<=keycode&&keycode<=90)return event["shiftKey"]?keycode:keycode+32;if(96<=keycode&&keycode<=105)return keycode-48;if(106<=keycode&&keycode<=111)return keycode-106+42;switch(keycode){case 9:case 13:case 27:case 32:case 61:return keycode}var s=event["shiftKey"];switch(keycode){case 186:return s?58:59;case 187:return s?43:61;case 188:return s?60:44;case 189:return s?95:45;case 190:return s?62:46;case 191:return s?63:47;case 219:return s?123:91;case 220:return s?124:47;case 221:return s?125:93;case 222:return s?34:39}return null},onKeydown:event=>{if(GLUT.specialFunc||GLUT.keyboardFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialFunc){event.preventDefault();GLUT.saveModifiers(event);getWasmTableEntry(GLUT.specialFunc)(key,Browser.mouseX,Browser.mouseY)}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardFunc){event.preventDefault();GLUT.saveModifiers(event);getWasmTableEntry(GLUT.keyboardFunc)(key,Browser.mouseX,Browser.mouseY)}}}},onKeyup:event=>{if(GLUT.specialUpFunc||GLUT.keyboardUpFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialUpFunc){event.preventDefault();GLUT.saveModifiers(event);getWasmTableEntry(GLUT.specialUpFunc)(key,Browser.mouseX,Browser.mouseY)}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardUpFunc){event.preventDefault();GLUT.saveModifiers(event);getWasmTableEntry(GLUT.keyboardUpFunc)(key,Browser.mouseX,Browser.mouseY)}}}},touchHandler:event=>{if(event.target!=Browser.getCanvas()){return}var touches=event.changedTouches,main=touches[0],type="";switch(event.type){case"touchstart":type="mousedown";break;case"touchmove":type="mousemove";break;case"touchend":type="mouseup";break;default:return}var simulatedEvent=document.createEvent("MouseEvent");simulatedEvent.initMouseEvent(type,true,true,window,1,main.screenX,main.screenY,main.clientX,main.clientY,false,false,false,false,0,null);main.target.dispatchEvent(simulatedEvent);event.preventDefault()},onMouseButtonDown:event=>{Browser.calculateMouseEvent(event);GLUT.buttons|=1<{Browser.calculateMouseEvent(event);GLUT.buttons&=~(1<{Browser.calculateMouseEvent(event);var e=window.event||event;var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);var button=3;if(delta<0){button=4}if(GLUT.mouseFunc){event.preventDefault();GLUT.saveModifiers(event);getWasmTableEntry(GLUT.mouseFunc)(button,0,Browser.mouseX,Browser.mouseY)}},onFullscreenEventChange:event=>{var width;var height;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){width=screen["width"];height=screen["height"]}else{width=GLUT.windowWidth;height=GLUT.windowHeight;document.removeEventListener("fullscreenchange",GLUT.onFullscreenEventChange,true);document.removeEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,true);document.removeEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,true)}Browser.setCanvasSize(width,height,true);if(GLUT.reshapeFunc){getWasmTableEntry(GLUT.reshapeFunc)(width,height)}_glutPostRedisplay()}};var _glutGetModifiers=()=>GLUT.modifiers;_glutGetModifiers.sig="i";var _glutInit=(argcp,argv)=>{GLUT.initTime=Date.now();var isTouchDevice="ontouchstart"in document.documentElement;if(isTouchDevice){window.addEventListener("touchmove",GLUT.touchHandler,true);window.addEventListener("touchstart",GLUT.touchHandler,true);window.addEventListener("touchend",GLUT.touchHandler,true)}window.addEventListener("keydown",GLUT.onKeydown,true);window.addEventListener("keyup",GLUT.onKeyup,true);window.addEventListener("mousemove",GLUT.onMousemove,true);window.addEventListener("mousedown",GLUT.onMouseButtonDown,true);window.addEventListener("mouseup",GLUT.onMouseButtonUp,true);window.addEventListener("mousewheel",GLUT.onMouseWheel,true);window.addEventListener("DOMMouseScroll",GLUT.onMouseWheel,true);Browser.resizeListeners.push((width,height)=>{if(GLUT.reshapeFunc){getWasmTableEntry(GLUT.reshapeFunc)(width,height)}});addOnExit(()=>{if(isTouchDevice){window.removeEventListener("touchmove",GLUT.touchHandler,true);window.removeEventListener("touchstart",GLUT.touchHandler,true);window.removeEventListener("touchend",GLUT.touchHandler,true)}window.removeEventListener("keydown",GLUT.onKeydown,true);window.removeEventListener("keyup",GLUT.onKeyup,true);window.removeEventListener("mousemove",GLUT.onMousemove,true);window.removeEventListener("mousedown",GLUT.onMouseButtonDown,true);window.removeEventListener("mouseup",GLUT.onMouseButtonUp,true);window.removeEventListener("mousewheel",GLUT.onMouseWheel,true);window.removeEventListener("DOMMouseScroll",GLUT.onMouseWheel,true);var canvas=Browser.getCanvas();canvas.width=canvas.height=1})};_glutInit.sig="vpp";var _glutInitWindowSize=(width,height)=>{Browser.setCanvasSize(GLUT.initWindowWidth=width,GLUT.initWindowHeight=height)};_glutInitWindowSize.sig="vii";var _glutInitWindowPosition=(x,y)=>{};_glutInitWindowPosition.sig="vii";var _glutGet=type=>{switch(type){case 100:return 0;case 101:return 0;case 102:return Browser.getCanvas().width;case 103:return Browser.getCanvas().height;case 200:return Browser.getCanvas().width;case 201:return Browser.getCanvas().height;case 500:return 0;case 501:return 0;case 502:return GLUT.initWindowWidth;case 503:return GLUT.initWindowHeight;case 700:var now=Date.now();return now-GLUT.initTime;case 105:return GLctx.getContextAttributes().stencil?8:0;case 106:return GLctx.getContextAttributes().depth?8:0;case 110:return GLctx.getContextAttributes().alpha?8:0;case 120:return GLctx.getContextAttributes().antialias?1:0;default:throw"glutGet("+type+") not implemented yet"}};_glutGet.sig="ii";var _glutIdleFunc=func=>{function callback(){if(GLUT.idleFunc){getWasmTableEntry(GLUT.idleFunc)();safeSetTimeout(callback,4)}}if(!GLUT.idleFunc){safeSetTimeout(callback,0)}GLUT.idleFunc=func};_glutIdleFunc.sig="vp";var _glutTimerFunc=(msec,func,value)=>safeSetTimeout(()=>getWasmTableEntry(func)(value),msec);_glutTimerFunc.sig="vipi";var _glutDisplayFunc=func=>{GLUT.displayFunc=func};_glutDisplayFunc.sig="vp";var _glutKeyboardFunc=func=>{GLUT.keyboardFunc=func};_glutKeyboardFunc.sig="vp";var _glutKeyboardUpFunc=func=>{GLUT.keyboardUpFunc=func};_glutKeyboardUpFunc.sig="vp";var _glutSpecialFunc=func=>{GLUT.specialFunc=func};_glutSpecialFunc.sig="vp";var _glutSpecialUpFunc=func=>{GLUT.specialUpFunc=func};_glutSpecialUpFunc.sig="vp";var _glutReshapeFunc=func=>{GLUT.reshapeFunc=func};_glutReshapeFunc.sig="vp";var _glutMotionFunc=func=>{GLUT.motionFunc=func};_glutMotionFunc.sig="vp";var _glutPassiveMotionFunc=func=>{GLUT.passiveMotionFunc=func};_glutPassiveMotionFunc.sig="vp";var _glutMouseFunc=func=>{GLUT.mouseFunc=func};_glutMouseFunc.sig="vp";var _glutSetCursor=cursor=>{var cursorStyle="auto";switch(cursor){case 0:break;case 1:break;case 2:cursorStyle="pointer";break;case 3:break;case 4:cursorStyle="help";break;case 5:break;case 6:break;case 7:cursorStyle="wait";break;case 8:cursorStyle="text";break;case 9:case 102:cursorStyle="crosshair";break;case 10:cursorStyle="ns-resize";break;case 11:cursorStyle="ew-resize";break;case 12:cursorStyle="n-resize";break;case 13:cursorStyle="s-resize";break;case 14:cursorStyle="w-resize";break;case 15:cursorStyle="e-resize";break;case 16:cursorStyle="nw-resize";break;case 17:cursorStyle="ne-resize";break;case 18:cursorStyle="se-resize";break;case 19:cursorStyle="sw-resize";break;case 100:break;case 101:cursorStyle="none";break;default:throw"glutSetCursor: Unknown cursor type: "+cursor}Browser.getCanvas().style.cursor=cursorStyle};_glutSetCursor.sig="vi";var _glutCreateWindow=name=>{var contextAttributes={antialias:(GLUT.initDisplayMode&128)!=0,depth:(GLUT.initDisplayMode&16)!=0,stencil:(GLUT.initDisplayMode&32)!=0,alpha:(GLUT.initDisplayMode&8)!=0};if(!Browser.createContext(Browser.getCanvas(),true,true,contextAttributes)){return 0}return 1};_glutCreateWindow.sig="ip";var _glutDestroyWindow=name=>{delete Module["ctx"];return 1};_glutDestroyWindow.sig="vi";var _glutReshapeWindow=(width,height)=>{Browser.exitFullscreen();Browser.setCanvasSize(width,height,true);if(GLUT.reshapeFunc){getWasmTableEntry(GLUT.reshapeFunc)(width,height)}_glutPostRedisplay()};_glutReshapeWindow.sig="vii";var _glutPositionWindow=(x,y)=>{Browser.exitFullscreen();_glutPostRedisplay()};_glutPositionWindow.sig="vii";var _glutFullScreen=()=>{GLUT.windowX=0;GLUT.windowY=0;var canvas=Browser.getCanvas();GLUT.windowWidth=canvas.width;GLUT.windowHeight=canvas.height;document.addEventListener("fullscreenchange",GLUT.onFullscreenEventChange,true);document.addEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,true);document.addEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,true);Browser.requestFullscreen(false,false)};_glutFullScreen.sig="v";var _glutInitDisplayMode=mode=>GLUT.initDisplayMode=mode;_glutInitDisplayMode.sig="vi";var _glutSwapBuffers=()=>{};_glutSwapBuffers.sig="v";var _glutMainLoop=()=>{var canvas=Browser.getCanvas();_glutReshapeWindow(canvas.width,canvas.height);_glutPostRedisplay();throw"unwind"};_glutMainLoop.sig="v";var _XOpenDisplay=name=>1;_XOpenDisplay.sig="pp";var _XCreateWindow=(display,parent,x,y,width,height,border_width,depth,class_,visual,valuemask,attributes)=>{Browser.setCanvasSize(width,height);return 2};_XCreateWindow.sig="pppiiiiiiippp";var _XChangeWindowAttributes=(display,window,valuemask,attributes)=>{};_XChangeWindowAttributes.sig="ipppp";var _XSetWMHints=(display,win,hints)=>{};_XSetWMHints.sig="ippp";var _XMapWindow=(display,win)=>{};_XMapWindow.sig="ipp";var _XStoreName=(display,win,name)=>{};_XStoreName.sig="ippp";var _XInternAtom=(display,name_,hmm)=>0;_XInternAtom.sig="pppi";var _XSendEvent=(display,win,propagate,event_mask,even_send)=>{};_XSendEvent.sig="ippipp";var _XPending=display=>0;_XPending.sig="ip";var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:false,depth:false,stencil:false,antialias:false},stringCache:{},setErrorCode(code){EGL.errorCode=code},chooseConfig(display,attribList,config,config_size,numConfigs){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(attribList){for(;;){var param=HEAP32[attribList>>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAPU32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};var _eglGetDisplay=nativeDisplayType=>{EGL.setErrorCode(12288);if(nativeDisplayType!=0&&nativeDisplayType!=1){return 0}return 62e3};_eglGetDisplay.sig="pp";var _eglInitialize=(display,majorVersion,minorVersion)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1};_eglInitialize.sig="ippp";var _eglTerminate=display=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1};_eglTerminate.sig="ip";var _eglGetConfigs=(display,configs,config_size,numConfigs)=>EGL.chooseConfig(display,0,configs,config_size,numConfigs);_eglGetConfigs.sig="ippip";var _eglChooseConfig=(display,attrib_list,configs,config_size,numConfigs)=>EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs);_eglChooseConfig.sig="ipppip";var _eglGetConfigAttrib=(display,config,attribute,value)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>2]=EGL.contextAttributes.alpha?32:24;return 1;case 12321:HEAP32[value>>2]=EGL.contextAttributes.alpha?8:0;return 1;case 12322:HEAP32[value>>2]=8;return 1;case 12323:HEAP32[value>>2]=8;return 1;case 12324:HEAP32[value>>2]=8;return 1;case 12325:HEAP32[value>>2]=EGL.contextAttributes.depth?24:0;return 1;case 12326:HEAP32[value>>2]=EGL.contextAttributes.stencil?8:0;return 1;case 12327:HEAP32[value>>2]=12344;return 1;case 12328:HEAP32[value>>2]=62002;return 1;case 12329:HEAP32[value>>2]=0;return 1;case 12330:HEAP32[value>>2]=4096;return 1;case 12331:HEAP32[value>>2]=16777216;return 1;case 12332:HEAP32[value>>2]=4096;return 1;case 12333:HEAP32[value>>2]=0;return 1;case 12334:HEAP32[value>>2]=0;return 1;case 12335:HEAP32[value>>2]=12344;return 1;case 12337:HEAP32[value>>2]=EGL.contextAttributes.antialias?4:0;return 1;case 12338:HEAP32[value>>2]=EGL.contextAttributes.antialias?1:0;return 1;case 12339:HEAP32[value>>2]=4;return 1;case 12340:HEAP32[value>>2]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>2]=-1;return 1;case 12345:case 12346:HEAP32[value>>2]=0;return 1;case 12347:HEAP32[value>>2]=0;return 1;case 12348:HEAP32[value>>2]=1;return 1;case 12349:case 12350:HEAP32[value>>2]=0;return 1;case 12351:HEAP32[value>>2]=12430;return 1;case 12352:HEAP32[value>>2]=4;return 1;case 12354:HEAP32[value>>2]=0;return 1;default:EGL.setErrorCode(12292);return 0}};_eglGetConfigAttrib.sig="ippip";var _eglCreateWindowSurface=(display,config,win,attrib_list)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006};_eglCreateWindowSurface.sig="pppip";var _eglDestroySurface=(display,surface)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1};_eglDestroySurface.sig="ipp";var _eglCreateContext=(display,config,hmm,contextAttribs)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion!=2){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Browser.getCanvas(),EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Browser.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}};_eglCreateContext.sig="ppppp";var _eglDestroyContext=(display,context)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1};_eglDestroyContext.sig="ipp";var _eglQuerySurface=(display,surface,attribute,value)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12328:HEAP32[value>>2]=62002;return 1;case 12376:return 1;case 12375:HEAP32[value>>2]=Browser.getCanvas().width;return 1;case 12374:HEAP32[value>>2]=Browser.getCanvas().height;return 1;case 12432:HEAP32[value>>2]=-1;return 1;case 12433:HEAP32[value>>2]=-1;return 1;case 12434:HEAP32[value>>2]=-1;return 1;case 12422:HEAP32[value>>2]=12420;return 1;case 12441:HEAP32[value>>2]=12442;return 1;case 12435:HEAP32[value>>2]=12437;return 1;case 12416:case 12417:case 12418:case 12419:return 1;default:EGL.setErrorCode(12292);return 0}};_eglQuerySurface.sig="ippip";var _eglQueryContext=(display,context,attribute,value)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12328:HEAP32[value>>2]=62002;return 1;case 12439:HEAP32[value>>2]=12448;return 1;case 12440:HEAP32[value>>2]=EGL.contextAttributes.majorVersion+1;return 1;case 12422:HEAP32[value>>2]=12420;return 1;default:EGL.setErrorCode(12292);return 0}};_eglQueryContext.sig="ippip";var _eglGetError=()=>EGL.errorCode;_eglGetError.sig="i";var _eglQueryString=(display,name)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.setErrorCode(12288);if(EGL.stringCache[name])return EGL.stringCache[name];var ret;switch(name){case 12371:ret=stringToNewUTF8("Emscripten");break;case 12372:ret=stringToNewUTF8("1.4 Emscripten EGL");break;case 12373:ret=stringToNewUTF8("");break;case 12429:ret=stringToNewUTF8("OpenGL_ES");break;default:EGL.setErrorCode(12300);return 0}EGL.stringCache[name]=ret;return ret};_eglQueryString.sig="ppi";var _eglBindAPI=api=>{if(api==12448){EGL.setErrorCode(12288);return 1}EGL.setErrorCode(12300);return 0};_eglBindAPI.sig="ii";var _eglQueryAPI=()=>{EGL.setErrorCode(12288);return 12448};_eglQueryAPI.sig="i";var _eglWaitClient=()=>{EGL.setErrorCode(12288);return 1};_eglWaitClient.sig="i";var _eglWaitNative=nativeEngineId=>{EGL.setErrorCode(12288);return 1};_eglWaitNative.sig="ii";var _eglWaitGL=_eglWaitClient;_eglWaitGL.sig="i";var _eglSwapInterval=(display,interval)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1};_eglSwapInterval.sig="ipi";var _eglMakeCurrent=(display,draw,read,context)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1};_eglMakeCurrent.sig="ipppp";var _eglGetCurrentContext=()=>EGL.currentContext;_eglGetCurrentContext.sig="p";var _eglGetCurrentSurface=readdraw=>{if(readdraw==12378){return EGL.currentReadSurface}else if(readdraw==12377){return EGL.currentDrawSurface}else{EGL.setErrorCode(12300);return 0}};_eglGetCurrentSurface.sig="pi";var _eglGetCurrentDisplay=()=>EGL.currentContext?62e3:0;_eglGetCurrentDisplay.sig="p";var _eglSwapBuffers=(dpy,surface)=>{if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!GLctx){EGL.setErrorCode(12290)}else if(GLctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0};_eglSwapBuffers.sig="ipp";var _eglReleaseThread=()=>{EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.setErrorCode(12288);return 1};_eglReleaseThread.sig="i";var _uuid_clear=uu=>zeroMemory(uu,16);_uuid_clear.sig="vp";var _uuid_compare=(uu1,uu2)=>_memcmp(uu1,uu2,16);_uuid_compare.sig="ipp";var _uuid_copy=(dst,src)=>_memcpy(dst,src,16);_uuid_copy.sig="vpp";var _uuid_generate=out=>{var uuid=new Uint8Array(16);randomFill(uuid);uuid[6]=uuid[6]&15|64;uuid[8]=uuid[8]&63|128;writeArrayToMemory(uuid,out)};_uuid_generate.sig="vp";var _uuid_is_null=uu=>{for(var i=0;i<4;i++,uu=uu+4|0){var val=HEAP32[uu>>2];if(val){return 0}}return 1};_uuid_is_null.sig="ip";var _uuid_parse=(inp,uu)=>{inp=UTF8ToString(inp);if(inp.length===36){var i=0;var uuid=new Array(16);inp.toLowerCase().replace(/[0-9a-f]{2}/g,function(byte){if(i<16){uuid[i++]=parseInt(byte,16)}});if(i<16){return-1}writeArrayToMemory(uuid,uu);return 0}return-1};_uuid_parse.sig="ipp";var _uuid_unparse=(uu,out,upper)=>{var i=0;var uuid="xxxx-xx-xx-xx-xxxxxx".replace(/[x]/g,function(c){var r=upper?HEAPU8[uu+i].toString(16).toUpperCase():HEAPU8[uu+i].toString(16);r=r.length===1?"0"+r:r;i++;return r});stringToUTF8(uuid,out,37)};_uuid_unparse.sig="vpp";var _uuid_unparse_lower=(uu,out)=>{_uuid_unparse(uu,out)};_uuid_unparse_lower.sig="vpp";var _uuid_unparse_upper=(uu,out)=>{_uuid_unparse(uu,out,true)};_uuid_unparse_upper.sig="vpp";var _uuid_type=uu=>4;_uuid_type.sig="ip";var _uuid_variant=uu=>1;_uuid_variant.sig="ip";var GLEW={isLinaroFork:1,extensions:null,error:{0:null,1:null,2:null,3:null,4:null,5:null,6:null,7:null,8:null},version:{1:null,2:null,3:null,4:null},errorStringConstantFromCode(error){if(GLEW.isLinaroFork){switch(error){case 4:return"OpenGL ES lib expected, found OpenGL lib";case 5:return"OpenGL lib expected, found OpenGL ES lib";case 6:return"Missing EGL version";case 7:return"EGL 1.1 and up are supported";default:break}}switch(error){case 0:return"No error";case 1:return"Missing GL version";case 2:return"GL 1.1 and up are supported";case 3:return"GLX 1.2 and up are supported";default:return null}},errorString(error){if(!GLEW.error[error]){var string=GLEW.errorStringConstantFromCode(error);if(!string){string="Unknown error";error=8}GLEW.error[error]=stringToNewUTF8(string)}return GLEW.error[error]},versionStringConstantFromCode(name){switch(name){case 1:return"1.10.0";case 2:return"1";case 3:return"10";case 4:return"0";default:return null}},versionString(name){if(!GLEW.version[name]){var string=GLEW.versionStringConstantFromCode(name);if(!string)return 0;GLEW.version[name]=stringToNewUTF8(string)}return GLEW.version[name]},extensionIsSupported(name){GLEW.extensions||=webglGetExtensions();if(GLEW.extensions.includes(name))return 1;return GLEW.extensions.includes("GL_"+name)}};var _glewInit=()=>0;_glewInit.sig="i";var _glewIsSupported=name=>{var exts=UTF8ToString(name).split(" ");for(var ext of exts){if(!GLEW.extensionIsSupported(ext))return 0}return 1};_glewIsSupported.sig="ip";var _glewGetExtension=name=>GLEW.extensionIsSupported(UTF8ToString(name));_glewGetExtension.sig="ip";var _glewGetErrorString=error=>GLEW.errorString(error);_glewGetErrorString.sig="pi";var _glewGetString=name=>GLEW.versionString(name);_glewGetString.sig="pi";var IDBStore={indexedDB(){if(typeof indexedDB!="undefined")return indexedDB;var ret=null;if(typeof window=="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;return ret},DB_VERSION:22,DB_STORE_NAME:"FILE_DATA",dbs:{},blobs:[0],getDB(name,callback){var db=IDBStore.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBStore.indexedDB().open(name,IDBStore.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=e=>{var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBStore.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBStore.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBStore.DB_STORE_NAME)}};req.onsuccess=()=>{db=req.result;IDBStore.dbs[name]=db;callback(null,db)};req.onerror=function(event){callback(event.target.error||"unknown error");event.preventDefault()}},getStore(dbName,type,callback){IDBStore.getDB(dbName,(error,db)=>{if(error)return callback(error);var transaction=db.transaction([IDBStore.DB_STORE_NAME],type);transaction.onerror=event=>{callback(event.target.error||"unknown error");event.preventDefault()};var store=transaction.objectStore(IDBStore.DB_STORE_NAME);callback(null,store)})},getFile(dbName,id,callback){IDBStore.getStore(dbName,"readonly",(err,store)=>{if(err)return callback(err);var req=store.get(id);req.onsuccess=event=>{var result=event.target.result;if(!result){return callback(`file ${id} not found`)}return callback(null,result)};req.onerror=callback})},setFile(dbName,id,data,callback){IDBStore.getStore(dbName,"readwrite",(err,store)=>{if(err)return callback(err);var req=store.put(data,id);req.onsuccess=event=>callback();req.onerror=callback})},deleteFile(dbName,id,callback){IDBStore.getStore(dbName,"readwrite",(err,store)=>{if(err)return callback(err);var req=store.delete(id);req.onsuccess=event=>callback();req.onerror=callback})},existsFile(dbName,id,callback){IDBStore.getStore(dbName,"readonly",(err,store)=>{if(err)return callback(err);var req=store.count(id);req.onsuccess=event=>callback(null,event.target.result>0);req.onerror=callback})},clearStore(dbName,callback){IDBStore.getStore(dbName,"readwrite",(err,store)=>{if(err)return callback(err);var req=store.clear();req.onsuccess=event=>callback();req.onerror=callback})}};var _emscripten_idb_async_load=(db,id,arg,onload,onerror)=>{IDBStore.getFile(UTF8ToString(db),UTF8ToString(id),(error,byteArray)=>{callUserCallback(()=>{if(error){if(onerror)getWasmTableEntry(onerror)(arg);return}var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);getWasmTableEntry(onload)(arg,buffer,byteArray.length);_free(buffer)})})};_emscripten_idb_async_load.sig="vppppp";var _emscripten_idb_async_store=(db,id,ptr,num,arg,onstore,onerror)=>{IDBStore.setFile(UTF8ToString(db),UTF8ToString(id),new Uint8Array(HEAPU8.subarray(ptr,ptr+num)),error=>{callUserCallback(()=>{if(error){if(onerror)getWasmTableEntry(onerror)(arg);return}if(onstore)getWasmTableEntry(onstore)(arg)})})};_emscripten_idb_async_store.sig="vpppippp";var _emscripten_idb_async_delete=(db,id,arg,ondelete,onerror)=>{IDBStore.deleteFile(UTF8ToString(db),UTF8ToString(id),error=>{callUserCallback(()=>{if(error){if(onerror)getWasmTableEntry(onerror)(arg);return}if(ondelete)getWasmTableEntry(ondelete)(arg)})})};_emscripten_idb_async_delete.sig="vppppp";var _emscripten_idb_async_exists=(db,id,arg,oncheck,onerror)=>{IDBStore.existsFile(UTF8ToString(db),UTF8ToString(id),(error,exists)=>{callUserCallback(()=>{if(error){if(onerror)getWasmTableEntry(onerror)(arg);return}if(oncheck)getWasmTableEntry(oncheck)(arg,exists)})})};_emscripten_idb_async_exists.sig="vppppp";var _emscripten_idb_async_clear=(db,arg,onclear,onerror)=>{IDBStore.clearStore(UTF8ToString(db),error=>{callUserCallback(()=>{if(error){if(onerror)getWasmTableEntry(onerror)(arg);return}if(onclear)getWasmTableEntry(onclear)(arg)})})};_emscripten_idb_async_clear.sig="vpppp";var _emscripten_idb_load=(db,id,pbuffer,pnum,perror)=>{throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_load, etc."};_emscripten_idb_load.sig="vppppp";var _emscripten_idb_store=(db,id,ptr,num,perror)=>{throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_store, etc."};_emscripten_idb_store.sig="vpppip";var _emscripten_idb_delete=(db,id,perror)=>{throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_delete, etc."};_emscripten_idb_delete.sig="vppp";var _emscripten_idb_exists=(db,id,pexists,perror)=>{throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_exists, etc."};_emscripten_idb_exists.sig="vpppp";var _emscripten_idb_clear=(db,perror)=>{throw"Please compile your program with async support in order to use synchronous operations like emscripten_idb_clear, etc."};_emscripten_idb_clear.sig="vpp";var runAndAbortIfError=func=>{try{return func()}catch(e){abort(e)}};var _emscripten_sleep=()=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_sleep"};_emscripten_sleep.sig="vi";var _emscripten_wget=(url,file)=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_wget"};_emscripten_wget.sig="ipp";var _emscripten_scan_registers=func=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_scan_registers"};_emscripten_scan_registers.sig="vp";var _emscripten_fiber_swap=(oldFiber,newFiber)=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_fiber_swap"};_emscripten_fiber_swap.sig="vpp";var _SDL_GetTicks=()=>Date.now()-SDL.startTime|0;_SDL_GetTicks.sig="i";var _SDL_LockSurface=surf=>{var surfData=SDL.surfaces[surf];surfData.locked++;if(surfData.locked>1)return 0;if(!surfData.buffer){surfData.buffer=_malloc(surfData.width*surfData.height*4);HEAPU32[surf+20>>2]=surfData.buffer}HEAPU32[surf+20>>2]=surfData.buffer;if(surf==SDL.screen&&Module.screenIsReadOnly&&surfData.image)return 0;if(SDL.defaults.discardOnLock){if(!surfData.image){surfData.image=surfData.ctx.createImageData(surfData.width,surfData.height)}if(!SDL.defaults.opaqueFrontBuffer)return}else{surfData.image=surfData.ctx.getImageData(0,0,surfData.width,surfData.height)}if(surf==SDL.screen&&SDL.defaults.opaqueFrontBuffer){var data=surfData.image.data;var num=data.length;for(var i=0;i>2],y:HEAP32[rect+4>>2],w:HEAP32[rect+8>>2],h:HEAP32[rect+12>>2]}},updateRect(rect,r){HEAP32[rect>>2]=r.x;HEAP32[rect+4>>2]=r.y;HEAP32[rect+8>>2]=r.w;HEAP32[rect+12>>2]=r.h},intersectionOfRects(first,second){var leftX=Math.max(first.x,second.x);var leftY=Math.max(first.y,second.y);var rightX=Math.min(first.x+first.w,second.x+second.w);var rightY=Math.min(first.y+first.h,second.y+second.h);return{x:leftX,y:leftY,w:Math.max(leftX,rightX)-leftX,h:Math.max(leftY,rightY)-leftY}},checkPixelFormat(fmt){},loadColorToCSSRGB(color){var rgba=HEAP32[color>>2];return"rgb("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+")"},loadColorToCSSRGBA(color){var rgba=HEAP32[color>>2];return"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>24&255)/255+")"},translateColorToCSSRGBA:rgba=>"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>>24)/255+")",translateRGBAToCSSRGBA:(r,g,b,a)=>"rgba("+(r&255)+","+(g&255)+","+(b&255)+","+(a&255)/255+")",translateRGBAToColor:(r,g,b,a)=>r|g<<8|b<<16|a<<24,makeSurface(width,height,flags,usePageCanvas,source,rmask,gmask,bmask,amask){var is_SDL_HWSURFACE=flags&134217729;var is_SDL_HWPALETTE=flags&2097152;var is_SDL_OPENGL=flags&67108864;var surf=_malloc(60);var pixelFormat=_malloc(44);var bpp=is_SDL_HWPALETTE?1:4;var buffer=0;if(!is_SDL_HWSURFACE&&!is_SDL_OPENGL){buffer=_malloc(width*height*4)}HEAP32[surf>>2]=flags;HEAPU32[surf+4>>2]=pixelFormat;HEAP32[surf+8>>2]=width;HEAP32[surf+12>>2]=height;HEAP32[surf+16>>2]=width*bpp;HEAPU32[surf+20>>2]=buffer;var canvas=Browser.getCanvas();HEAP32[surf+36>>2]=0;HEAP32[surf+40>>2]=0;HEAP32[surf+44>>2]=canvas.width;HEAP32[surf+48>>2]=canvas.height;HEAP32[surf+56>>2]=1;HEAP32[pixelFormat>>2]=-2042224636;HEAP32[pixelFormat+4>>2]=0;HEAP8[pixelFormat+8]=bpp*8;HEAP8[pixelFormat+9]=bpp;HEAP32[pixelFormat+12>>2]=rmask||255;HEAP32[pixelFormat+16>>2]=gmask||65280;HEAP32[pixelFormat+20>>2]=bmask||16711680;HEAP32[pixelFormat+24>>2]=amask||4278190080;SDL.GL=SDL.GL||is_SDL_OPENGL;if(!usePageCanvas){if(SDL.canvasPool.length>0){canvas=SDL.canvasPool.pop()}else{canvas=document.createElement("canvas")}canvas.width=width;canvas.height=height}var webGLContextAttributes={antialias:SDL.glAttributes[13]!=0&&SDL.glAttributes[14]>1,depth:SDL.glAttributes[6]>0,stencil:SDL.glAttributes[7]>0,alpha:SDL.glAttributes[3]>0};var ctx=Browser.createContext(canvas,is_SDL_OPENGL,usePageCanvas,webGLContextAttributes);SDL.surfaces[surf]={width,height,canvas,ctx,surf,buffer,pixelFormat,alpha:255,flags,locked:0,usePageCanvas,source,isFlagSet:flag=>flags&flag};return surf},copyIndexedColorData(surfData,rX,rY,rW,rH){if(!surfData.colors){return}var canvas=Browser.getCanvas();var fullWidth=canvas.width;var fullHeight=canvas.height;var startX=rX||0;var startY=rY||0;var endX=(rW||fullWidth-startX)+startX;var endY=(rH||fullHeight-startY)+startY;var buffer=surfData.buffer;if(!surfData.image.data32){surfData.image.data32=new Uint32Array(surfData.image.data.buffer)}var data32=surfData.image.data32;var colors32=surfData.colors32;for(var y=startY;y>2];if(refcount>1){HEAP32[refcountPointer>>2]=refcount-1;return}var info=SDL.surfaces[surf];if(!info.usePageCanvas&&info.canvas)SDL.canvasPool.push(info.canvas);_free(info.buffer);_free(info.pixelFormat);_free(surf);SDL.surfaces[surf]=null;if(surf===SDL.screen){SDL.screen=null}},blitSurface(src,srcrect,dst,dstrect,scale){var srcData=SDL.surfaces[src];var dstData=SDL.surfaces[dst];var sr,dr;if(srcrect){sr=SDL.loadRect(srcrect)}else{sr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstrect){dr=SDL.loadRect(dstrect)}else{dr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstData.clipRect){var widthScale=!scale||sr.w===0?1:sr.w/dr.w;var heightScale=!scale||sr.h===0?1:sr.h/dr.h;dr=SDL.intersectionOfRects(dstData.clipRect,dr);sr.w=dr.w*widthScale;sr.h=dr.h*heightScale;if(dstrect){SDL.updateRect(dstrect,dr)}}var blitw,blith;if(scale){blitw=dr.w;blith=dr.h}else{blitw=sr.w;blith=sr.h}if(sr.w===0||sr.h===0||blitw===0||blith===0){return 0}var oldAlpha=dstData.ctx.globalAlpha;dstData.ctx.globalAlpha=srcData.alpha/255;dstData.ctx.drawImage(srcData.canvas,sr.x,sr.y,sr.w,sr.h,dr.x,dr.y,blitw,blith);dstData.ctx.globalAlpha=oldAlpha;if(dst!=SDL.screen){warnOnce("WARNING: copying canvas data to memory for compatibility");_SDL_LockSurface(dst);dstData.locked--}return 0},downFingers:{},savedKeydown:null,receiveEvent(event){function unpressAllPressedKeys(){for(var keyCode of Object.values(SDL.keyboardMap)){SDL.events.push({type:"keyup",keyCode})}}switch(event.type){case"touchstart":case"touchmove":{event.preventDefault();var touches=[];if(event.type==="touchstart"){for(var touch of event.touches){if(SDL.downFingers[touch.identifier]!=true){SDL.downFingers[touch.identifier]=true;touches.push(touch)}}}else{touches=event.touches}var firstTouch=touches[0];if(firstTouch){if(event.type=="touchstart"){SDL.DOMButtons[0]=1}var mouseEventType;switch(event.type){case"touchstart":mouseEventType="mousedown";break;case"touchmove":mouseEventType="mousemove";break}var mouseEvent={type:mouseEventType,button:0,pageX:firstTouch.clientX,pageY:firstTouch.clientY};SDL.events.push(mouseEvent)}for(var touch of touches){SDL.events.push({type:event.type,touch})}break}case"touchend":{event.preventDefault();for(var touch of event.changedTouches){if(SDL.downFingers[touch.identifier]===true){delete SDL.downFingers[touch.identifier]}}var mouseEvent={type:"mouseup",button:0,pageX:event.changedTouches[0].clientX,pageY:event.changedTouches[0].clientY};SDL.DOMButtons[0]=0;SDL.events.push(mouseEvent);for(var touch of event.changedTouches){SDL.events.push({type:"touchend",touch})}break}case"DOMMouseScroll":case"mousewheel":case"wheel":var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);var button=(delta>0?4:5)-1;SDL.events.push({type:"mousedown",button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"mouseup",button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"wheel",deltaX:0,deltaY:delta});event.preventDefault();break;case"mousemove":if(SDL.DOMButtons[0]===1){SDL.events.push({type:"touchmove",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}if(Browser.pointerLock){if("mozMovementX"in event){event["movementX"]=event["mozMovementX"];event["movementY"]=event["mozMovementY"]}if(event["movementX"]==0&&event["movementY"]==0){event.preventDefault();return}}case"keydown":case"keyup":case"keypress":case"mousedown":case"mouseup":if(event.type!=="keydown"||!SDL.unicode&&!SDL.textInput||(event.key=="Backspace"||event.key=="Tab")){event.preventDefault()}if(event.type=="mousedown"){SDL.DOMButtons[event.button]=1;SDL.events.push({type:"touchstart",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}else if(event.type=="mouseup"){if(!SDL.DOMButtons[event.button]){return}SDL.events.push({type:"touchend",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}});SDL.DOMButtons[event.button]=0}if(event.type==="keydown"||event.type==="mousedown"){SDL.canRequestFullscreen=true}else if(event.type==="keyup"||event.type==="mouseup"){if(SDL.isRequestingFullscreen){Module["requestFullscreen"](true,true);SDL.isRequestingFullscreen=false}SDL.canRequestFullscreen=false}if(event.type==="keypress"&&SDL.savedKeydown){SDL.savedKeydown.keypressCharCode=event.charCode;SDL.savedKeydown=null}else if(event.type==="keydown"){SDL.savedKeydown=event}if(event.type!=="keypress"||SDL.textInput){SDL.events.push(event)}break;case"mouseout":for(var i=0;i<3;i++){if(SDL.DOMButtons[i]){SDL.events.push({type:"mouseup",button:i,pageX:event.pageX,pageY:event.pageY});SDL.DOMButtons[i]=0}}event.preventDefault();break;case"focus":SDL.events.push(event);event.preventDefault();break;case"blur":SDL.events.push(event);unpressAllPressedKeys();event.preventDefault();break;case"visibilitychange":SDL.events.push({type:"visibilitychange",visible:!document.hidden});unpressAllPressedKeys();event.preventDefault();break;case"unload":if(MainLoop.runner){SDL.events.push(event);MainLoop.runner()}return;case"resize":SDL.events.push(event);if(event.preventDefault){event.preventDefault()}break}if(SDL.events.length>=1e4){err("SDL event queue full, dropping events");SDL.events=SDL.events.slice(0,1e4)}SDL.flushEventsToHandler();return},lookupKeyCodeForEvent(event){var code=event.keyCode;if(code>=65&&code<=90){code+=32}else{code=SDL.keyCodes[code]||(code<128?code:0);if(event.location===2&&code>=(224|1<<10)&&code<=(227|1<<10)){code+=4}}return code},handleEvent(event){if(event.handled)return;event.handled=true;switch(event.type){case"touchstart":case"touchend":case"touchmove":{Browser.calculateMouseEvent(event);break}case"keydown":case"keyup":{var down=event.type==="keydown";var code=SDL.lookupKeyCodeForEvent(event);if(!code)return;HEAP8[SDL.keyboardState+code]=down;SDL.modState=(HEAP8[SDL.keyboardState+1248]?64:0)|(HEAP8[SDL.keyboardState+1249]?1:0)|(HEAP8[SDL.keyboardState+1250]?256:0)|(HEAP8[SDL.keyboardState+1252]?128:0)|(HEAP8[SDL.keyboardState+1253]?2:0)|(HEAP8[SDL.keyboardState+1254]?512:0);if(down){SDL.keyboardMap[code]=event.keyCode}else{delete SDL.keyboardMap[code]}break}case"mousedown":case"mouseup":if(event.type=="mousedown"){SDL.buttonState|=1<0){if(SDL.makeCEvent(SDL.events.shift(),ptr)!==false)return 1}return 0}return SDL.events.length>0},makeCEvent(event,ptr){if(typeof event=="number"){_memcpy(ptr,event,28);_free(event);return}SDL.handleEvent(event);switch(event.type){case"keydown":case"keyup":{var down=event.type==="keydown";var key=SDL.lookupKeyCodeForEvent(event);if(!key)return false;var scan;if(key>=1024){scan=key-1024}else{scan=SDL.scanCodes[key]||key}HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+8]=down?1:0;HEAP8[ptr+9]=0;HEAP32[ptr+12>>2]=scan;HEAP32[ptr+16>>2]=key;HEAP16[ptr+20>>1]=SDL.modState;HEAP32[ptr+24>>2]=event.keypressCharCode||key;break}case"keypress":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];stringToUTF8(String.fromCharCode(event.charCode),ptr+8,4);break}case"mousedown":case"mouseup":case"mousemove":{if(event.type!="mousemove"){var down=event.type==="mousedown";HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP32[ptr+8>>2]=0;HEAP32[ptr+12>>2]=0;HEAP8[ptr+16]=event.button+1;HEAP8[ptr+17]=down?1:0;HEAP32[ptr+20>>2]=Browser.mouseX;HEAP32[ptr+24>>2]=Browser.mouseY}else{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP32[ptr+8>>2]=0;HEAP32[ptr+12>>2]=0;HEAP32[ptr+16>>2]=SDL.buttonState;HEAP32[ptr+20>>2]=Browser.mouseX;HEAP32[ptr+24>>2]=Browser.mouseY;HEAP32[ptr+28>>2]=Browser.mouseMovementX;HEAP32[ptr+32>>2]=Browser.mouseMovementY}break}case"wheel":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+16>>2]=event.deltaX;HEAP32[ptr+20>>2]=event.deltaY;break}case"touchstart":case"touchend":case"touchmove":{var touch=event.touch;if(!Browser.touches[touch.identifier])break;var canvas=Browser.getCanvas();var x=Browser.touches[touch.identifier].x/canvas.width;var y=Browser.touches[touch.identifier].y/canvas.height;var lx=Browser.lastTouches[touch.identifier].x/canvas.width;var ly=Browser.lastTouches[touch.identifier].y/canvas.height;var dx=x-lx;var dy=y-ly;if(touch["deviceID"]===undefined)touch.deviceID=SDL.TOUCH_DEFAULT_ID;if(dx===0&&dy===0&&event.type==="touchmove")return false;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=_SDL_GetTicks();tempI64=[touch.deviceID>>>0,(tempDouble=touch.deviceID,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr+8>>2]=tempI64[0],HEAP32[ptr+12>>2]=tempI64[1];tempI64=[touch.identifier>>>0,(tempDouble=touch.identifier,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr+16>>2]=tempI64[0],HEAP32[ptr+20>>2]=tempI64[1];HEAPF32[ptr+24>>2]=x;HEAPF32[ptr+28>>2]=y;HEAPF32[ptr+32>>2]=dx;HEAPF32[ptr+36>>2]=dy;if(touch.force!==undefined){HEAPF32[ptr+40>>2]=touch.force}else{HEAPF32[ptr+40>>2]=event.type=="touchend"?0:1}break}case"unload":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];break}case"resize":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=event.w;HEAP32[ptr+8>>2]=event.h;break}case"joystick_button_up":case"joystick_button_down":{var state=event.type==="joystick_button_up"?0:1;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4]=event.index;HEAP8[ptr+5]=event.button;HEAP8[ptr+6]=state;break}case"joystick_axis_motion":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4]=event.index;HEAP8[ptr+5]=event.axis;HEAP32[ptr+8>>2]=SDL.joystickAxisValueConversion(event.value);break}case"focus":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8]=12;break}case"blur":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8]=13;break}case"visibilitychange":{var visibilityEventID=event.visible?1:2;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8]=visibilityEventID;break}default:throw"Unhandled SDL event: "+event.type}},makeFontString(height,fontName){if(fontName.charAt(0)!="'"&&fontName.charAt(0)!='"'){fontName='"'+fontName+'"'}return height+"px "+fontName+", serif"},estimateTextWidth(fontData,text){var h=fontData.size;var fontString=SDL.makeFontString(h,fontData.name);var tempCtx=SDL.ttfContext;tempCtx.font=fontString;var ret=tempCtx.measureText(text).width|0;return ret},allocateChannels(num){if(SDL.numChannels>=num&&num!=0)return;SDL.numChannels=num;SDL.channels=[];for(var i=0;i{if(!audio.paused)SDL.playWebAudio(audio)});return}audio.webAudioNode=SDL.audioContext["createBufferSource"]();audio.webAudioNode["buffer"]=webAudio.decodedBuffer;audio.webAudioNode["loop"]=audio.loop;audio.webAudioNode["onended"]=audio["onended"];audio.webAudioPannerNode=SDL.audioContext["createPanner"]();audio.webAudioPannerNode["setPosition"](0,0,-.5);audio.webAudioPannerNode["panningModel"]="equalpower";audio.webAudioGainNode=SDL.audioContext["createGain"]();audio.webAudioGainNode["gain"]["value"]=audio.volume;audio.webAudioNode["connect"](audio.webAudioPannerNode);audio.webAudioPannerNode["connect"](audio.webAudioGainNode);audio.webAudioGainNode["connect"](SDL.audioContext["destination"]);audio.webAudioNode["start"](0,audio.currentPosition);audio.startTime=SDL.audioContext["currentTime"]-audio.currentPosition}catch(e){err(`playWebAudio failed: ${e}`)}},pauseWebAudio(audio){if(!audio)return;if(audio.webAudioNode){try{audio.currentPosition=(SDL.audioContext["currentTime"]-audio.startTime)%audio.resource.webAudio.decodedBuffer.duration;audio.webAudioNode["onended"]=undefined;audio.webAudioNode.stop(0);audio.webAudioNode=undefined}catch(e){err(`pauseWebAudio failed: ${e}`)}}audio.paused=true},openAudioContext(){if(!SDL.audioContext){if(typeof AudioContext!="undefined"){SDL.audioContext=new AudioContext}else if(typeof webkitAudioContext!="undefined"){SDL.audioContext=new webkitAudioContext}}},webAudioAvailable:()=>!!SDL.audioContext,fillWebAudioBufferFromHeap(heapPtr,sizeSamplesPerChannel,dstAudioBuffer){var audio=SDL.audio;var numChannels=audio.channels;for(var c=0;c>1]/32768}}else if(audio.format==8){for(var j=0;j=0?v-128:v+128)/128}}else if(audio.format==33056){for(var j=0;j>2]}}else{throw"Invalid SDL audio format "+audio.format+"!"}}},joystickEventState:1,lastJoystickState:{},joystickNamePool:{},recordJoystickState(joystick,state){var buttons=[];for(var button of state.buttons){buttons.push(SDL.getJoystickButtonState(button))}SDL.lastJoystickState[joystick]={buttons,axes:state.axes.slice(0),timestamp:state.timestamp,index:state.index,id:state.id}},getJoystickButtonState(button){if(typeof button=="object"){return button["pressed"]}return button>0},queryJoysticks(){for(var joystick in SDL.lastJoystickState){var state=SDL.getGamepad(joystick-1);var prevState=SDL.lastJoystickState[joystick];if(typeof state=="undefined")return;if(state===null)return;if(typeof state.timestamp!="number"||state.timestamp!=prevState.timestamp||!state.timestamp){var i;for(i=0;ideviceIndex&&deviceIndex>=0){return gamepads[deviceIndex]}return null}};var _SDL_Linked_Version=()=>{if(SDL.version===null){SDL.version=_malloc(3);HEAP8[SDL.version]=1;HEAP8[SDL.version+1]=3;HEAP8[SDL.version+2]=0}return SDL.version};_SDL_Linked_Version.sig="p";var _SDL_Init=initFlags=>{SDL.startTime=Date.now();SDL.initFlags=initFlags;if(!Module["doNotCaptureKeyboard"]){var keyboardListeningElement=Module["keyboardListeningElement"]||document;keyboardListeningElement.addEventListener("keydown",SDL.receiveEvent);keyboardListeningElement.addEventListener("keyup",SDL.receiveEvent);keyboardListeningElement.addEventListener("keypress",SDL.receiveEvent);window.addEventListener("focus",SDL.receiveEvent);window.addEventListener("blur",SDL.receiveEvent);document.addEventListener("visibilitychange",SDL.receiveEvent)}window.addEventListener("unload",SDL.receiveEvent);SDL.keyboardState=_calloc(65536,1);SDL.DOMEventToSDLEvent["keydown"]=768;SDL.DOMEventToSDLEvent["keyup"]=769;SDL.DOMEventToSDLEvent["keypress"]=771;SDL.DOMEventToSDLEvent["mousedown"]=1025;SDL.DOMEventToSDLEvent["mouseup"]=1026;SDL.DOMEventToSDLEvent["mousemove"]=1024;SDL.DOMEventToSDLEvent["wheel"]=1027;SDL.DOMEventToSDLEvent["touchstart"]=1792;SDL.DOMEventToSDLEvent["touchend"]=1793;SDL.DOMEventToSDLEvent["touchmove"]=1794;SDL.DOMEventToSDLEvent["unload"]=256;SDL.DOMEventToSDLEvent["resize"]=28673;SDL.DOMEventToSDLEvent["visibilitychange"]=512;SDL.DOMEventToSDLEvent["focus"]=512;SDL.DOMEventToSDLEvent["blur"]=512;SDL.DOMEventToSDLEvent["joystick_axis_motion"]=1536;SDL.DOMEventToSDLEvent["joystick_button_down"]=1539;SDL.DOMEventToSDLEvent["joystick_button_up"]=1540;return 0};_SDL_Init.sig="ii";var _SDL_WasInit=flags=>{if(SDL.startTime===null){_SDL_Init(0)}return 1};_SDL_WasInit.sig="ii";var _SDL_GetVideoInfo=()=>{var ret=_calloc(20,1);var canvas=Browser.getCanvas();HEAP32[ret+12>>2]=canvas.width;HEAP32[ret+16>>2]=canvas.height;return ret};_SDL_GetVideoInfo.sig="p";var _SDL_ListModes=(format,flags)=>-1;_SDL_ListModes.sig="ppi";var _SDL_VideoModeOK=(width,height,depth,flags)=>depth;_SDL_VideoModeOK.sig="iiiii";var _SDL_VideoDriverName=(buf,max_size)=>{if(SDL.startTime===null){return 0}var driverName=[101,109,115,99,114,105,112,116,101,110,95,115,100,108,95,100,114,105,118,101,114];var index=0;var size=driverName.length;if(max_size<=size){size=max_size-1}while(index{var canvas=Browser.getCanvas();["touchstart","touchend","touchmove","mousedown","mouseup","mousemove","mousewheel","wheel","mouseout","DOMMouseScroll"].forEach(e=>canvas.addEventListener(e,SDL.receiveEvent,true));if(width==0&&height==0){width=canvas.width;height=canvas.height}if(!SDL.addedResizeListener){SDL.addedResizeListener=true;Browser.resizeListeners.push((w,h)=>{if(!SDL.settingVideoMode){SDL.receiveEvent({type:"resize",w,h})}})}SDL.settingVideoMode=true;Browser.setCanvasSize(width,height);SDL.settingVideoMode=false;if(SDL.screen){SDL.freeSurface(SDL.screen);assert(!SDL.screen)}if(SDL.GL)flags=flags|67108864;SDL.screen=SDL.makeSurface(width,height,flags,true,"screen");return SDL.screen};_SDL_SetVideoMode.sig="piiii";var _SDL_GetVideoSurface=()=>SDL.screen;_SDL_GetVideoSurface.sig="p";var _SDL_AudioQuit=()=>{for(var i=0;iout("SDL_VideoQuit called (and ignored)");_SDL_VideoQuit.sig="v";var _SDL_QuitSubSystem=flags=>out("SDL_QuitSubSystem called (and ignored)");_SDL_QuitSubSystem.sig="vi";var _SDL_Quit=()=>{_SDL_AudioQuit();out("SDL_Quit called (and ignored)")};_SDL_Quit.sig="v";var _SDL_UnlockSurface=surf=>{assert(!SDL.GL);var surfData=SDL.surfaces[surf];if(!surfData.locked||--surfData.locked>0){return}if(surfData.isFlagSet(2097152)){SDL.copyIndexedColorData(surfData)}else if(!surfData.colors){var data=surfData.image.data;var buffer=surfData.buffer;assert(buffer%4==0,"Invalid buffer offset: "+buffer);var src=buffer>>2;var dst=0;var isScreen=surf==SDL.screen;var num;if(typeof CanvasPixelArray!="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=isScreen?255:val>>24&255;src++;dst+=4}}else{var data32=new Uint32Array(data.buffer);if(isScreen&&SDL.defaults.opaqueFrontBuffer){num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=new Uint8Array(data.buffer);var i=3;var j=i+4*num;if(num%8==0){while(i{};_SDL_Flip.sig="ip";var _SDL_UpdateRect=(surf,x,y,w,h)=>{};_SDL_UpdateRect.sig="vpiiii";var _SDL_UpdateRects=(surf,numrects,rects)=>{};_SDL_UpdateRects.sig="vpip";var _SDL_Delay=delay=>{if(!ENVIRONMENT_IS_WORKER)abort("SDL_Delay called on the main thread! Potential infinite loop, quitting. (consider building with async support like ASYNCIFY)");var now=Date.now();while(Date.now()-now{if(title){_emscripten_set_window_title(title)}icon&&=UTF8ToString(icon)};_SDL_WM_SetCaption.sig="vpp";var _SDL_EnableKeyRepeat=(delay,interval)=>{};_SDL_EnableKeyRepeat.sig="iii";var _SDL_GetKeyboardState=numKeys=>{if(numKeys){HEAP32[numKeys>>2]=65536}return SDL.keyboardState};_SDL_GetKeyboardState.sig="pp";var _SDL_GetKeyState=()=>_SDL_GetKeyboardState(0);var _SDL_GetKeyName=key=>{var name="";if(key>=97&&key<=122||key>=48&&key<=57){name=String.fromCharCode(key)}var size=lengthBytesUTF8(name)+1;SDL.keyName=_realloc(SDL.keyName,size);stringToUTF8(name,SDL.keyName,size);return SDL.keyName};_SDL_GetKeyName.sig="pi";var _SDL_GetModState=()=>SDL.modState;_SDL_GetModState.sig="i";var _SDL_GetMouseState=(x,y)=>{if(x)HEAP32[x>>2]=Browser.mouseX;if(y)HEAP32[y>>2]=Browser.mouseY;return SDL.buttonState};_SDL_GetMouseState.sig="ipp";var _SDL_WarpMouse=(x,y)=>{};_SDL_WarpMouse.sig="vii";var _SDL_ShowCursor=toggle=>{switch(toggle){case 0:if(Browser.isFullscreen){Browser.getCanvas().requestPointerLock();return 0}return 1;case 1:Browser.getCanvas().exitPointerLock();return 1;case-1:return!Browser.pointerLock;default:err(`SDL_ShowCursor called with unknown toggle parameter value: ${toggle}`);break}};_SDL_ShowCursor.sig="ii";var _SDL_GetError=()=>{SDL.errorMessage||=stringToNewUTF8("unknown SDL-emscripten error");return SDL.errorMessage};_SDL_GetError.sig="p";var _SDL_SetError=(fmt,varargs)=>{};_SDL_SetError.sig="vpp";var _SDL_CreateRGBSurface=(flags,width,height,depth,rmask,gmask,bmask,amask)=>SDL.makeSurface(width,height,flags,false,"CreateRGBSurface",rmask,gmask,bmask,amask);_SDL_CreateRGBSurface.sig="piiiiiiii";var _SDL_CreateRGBSurfaceFrom=(pixels,width,height,depth,pitch,rmask,gmask,bmask,amask)=>{var surf=SDL.makeSurface(width,height,0,false,"CreateRGBSurfaceFrom",rmask,gmask,bmask,amask);if(depth!==32){err("TODO: Partially unimplemented SDL_CreateRGBSurfaceFrom called!");return surf}var data=SDL.surfaces[surf];var image=data.ctx.createImageData(width,height);var pitchOfDst=width*4;for(var row=0;row{if(format){SDL.checkPixelFormat(format)}var oldData=SDL.surfaces[surf];var ret=SDL.makeSurface(oldData.width,oldData.height,oldData.flags,false,"copy:"+oldData.source);var newData=SDL.surfaces[ret];newData.ctx.globalCompositeOperation="copy";newData.ctx.drawImage(oldData.canvas,0,0);newData.ctx.globalCompositeOperation=oldData.ctx.globalCompositeOperation;return ret};_SDL_ConvertSurface.sig="pppi";var _SDL_DisplayFormat=surf=>_SDL_ConvertSurface(surf,0,0);_SDL_DisplayFormat.sig="pp";var _SDL_DisplayFormatAlpha=surf=>_SDL_ConvertSurface(surf,0,0);_SDL_DisplayFormatAlpha.sig="pp";var _SDL_FreeSurface=surf=>{if(surf)SDL.freeSurface(surf)};_SDL_FreeSurface.sig="vp";var _SDL_UpperBlit=(src,srcrect,dst,dstrect)=>SDL.blitSurface(src,srcrect,dst,dstrect,false);_SDL_UpperBlit.sig="ipppp";var _SDL_UpperBlitScaled=(src,srcrect,dst,dstrect)=>SDL.blitSurface(src,srcrect,dst,dstrect,true);_SDL_UpperBlitScaled.sig="ipppp";var _SDL_LowerBlit=_SDL_UpperBlit;_SDL_LowerBlit.sig="ipppp";var _SDL_LowerBlitScaled=_SDL_UpperBlitScaled;_SDL_LowerBlitScaled.sig="ipppp";var _SDL_GetClipRect=(surf,rect)=>{assert(rect);var surfData=SDL.surfaces[surf];var r=surfData.clipRect||{x:0,y:0,w:surfData.width,h:surfData.height};SDL.updateRect(rect,r)};_SDL_GetClipRect.sig="vpp";var _SDL_SetClipRect=(surf,rect)=>{var surfData=SDL.surfaces[surf];if(rect){surfData.clipRect=SDL.intersectionOfRects({x:0,y:0,w:surfData.width,h:surfData.height},SDL.loadRect(rect))}else{delete surfData.clipRect}};_SDL_SetClipRect.sig="ipp";var _SDL_FillRect=(surf,rect,color)=>{var surfData=SDL.surfaces[surf];assert(!surfData.locked);if(surfData.isFlagSet(2097152)){color=surfData.colors32[color]}var r=rect?SDL.loadRect(rect):{x:0,y:0,w:surfData.width,h:surfData.height};if(surfData.clipRect){r=SDL.intersectionOfRects(surfData.clipRect,r);if(rect){SDL.updateRect(rect,r)}}surfData.ctx.save();surfData.ctx.fillStyle=SDL.translateColorToCSSRGBA(color);surfData.ctx.fillRect(r.x,r.y,r.w,r.h);surfData.ctx.restore();return 0};_SDL_FillRect.sig="ippi";var _zoomSurface=(src,x,y,smooth)=>{var srcData=SDL.surfaces[src];var w=srcData.width*x;var h=srcData.height*y;var ret=SDL.makeSurface(Math.abs(w),Math.abs(h),srcData.flags,false,"zoomSurface");var dstData=SDL.surfaces[ret];if(x>=0&&y>=0){dstData.ctx.drawImage(srcData.canvas,0,0,w,h)}else{dstData.ctx.save();dstData.ctx.scale(x<0?-1:1,y<0?-1:1);dstData.ctx.drawImage(srcData.canvas,w<0?w:0,h<0?h:0,Math.abs(w),Math.abs(h));dstData.ctx.restore()}return ret};_zoomSurface.sig="ppddi";var _rotozoomSurface=(src,angle,zoom,smooth)=>{if(angle%360===0){return _zoomSurface(src,zoom,zoom,smooth)}var srcData=SDL.surfaces[src];var w=srcData.width*zoom;var h=srcData.height*zoom;var diagonal=Math.ceil(Math.sqrt(Math.pow(w,2)+Math.pow(h,2)));var ret=SDL.makeSurface(diagonal,diagonal,srcData.flags,false,"rotozoomSurface");var dstData=SDL.surfaces[ret];dstData.ctx.translate(diagonal/2,diagonal/2);dstData.ctx.rotate(-angle*Math.PI/180);dstData.ctx.drawImage(srcData.canvas,-w/2,-h/2,w,h);return ret};_rotozoomSurface.sig="ppddi";var _SDL_SetAlpha=(surf,flag,alpha)=>{var surfData=SDL.surfaces[surf];surfData.alpha=alpha;if(!(flag&65536)){surfData.alpha=255}};_SDL_SetAlpha.sig="ipii";var _SDL_SetColorKey=(surf,flag,key)=>{warnOnce("SDL_SetColorKey is a no-op for performance reasons");return 0};_SDL_SetColorKey.sig="ipii";var _SDL_PollEvent=ptr=>SDL.pollEvent(ptr);_SDL_PollEvent.sig="ip";var _SDL_PushEvent=ptr=>{var copy=_malloc(28);_memcpy(copy,ptr,28);SDL.events.push(copy);return 0};_SDL_PushEvent.sig="ip";var _SDL_PeepEvents=(events,requestedEventCount,action,from,to)=>{switch(action){case 2:{assert(requestedEventCount==1);var index=0;var retrievedEventCount=0;while(indexSDL.events.forEach(SDL.handleEvent);_SDL_PumpEvents.sig="v";var _emscripten_SDL_SetEventHandler=(handler,userdata)=>{SDL.eventHandler=handler;SDL.eventHandlerContext=userdata;SDL.eventHandlerTemp||=_malloc(28)};_emscripten_SDL_SetEventHandler.sig="vpp";var _SDL_SetColors=(surf,colors,firstColor,nColors)=>{var surfData=SDL.surfaces[surf];if(!surfData.colors){var buffer=new ArrayBuffer(256*4);surfData.colors=new Uint8Array(buffer);surfData.colors32=new Uint32Array(buffer)}for(var i=0;i_SDL_SetColors(surf,colors,firstColor,nColors);_SDL_SetPalette.sig="ipipii";var _SDL_MapRGB=(fmt,r,g,b)=>{SDL.checkPixelFormat(fmt);return r&255|(g&255)<<8|(b&255)<<16|4278190080};_SDL_MapRGB.sig="ipiii";var _SDL_MapRGBA=(fmt,r,g,b,a)=>{SDL.checkPixelFormat(fmt);return r&255|(g&255)<<8|(b&255)<<16|(a&255)<<24};_SDL_MapRGBA.sig="ipiiii";var _SDL_GetRGB=(pixel,fmt,r,g,b)=>{SDL.checkPixelFormat(fmt);if(r){HEAP8[r]=pixel&255}if(g){HEAP8[g]=pixel>>8&255}if(b){HEAP8[b]=pixel>>16&255}};_SDL_GetRGB.sig="vipppp";var _SDL_GetRGBA=(pixel,fmt,r,g,b,a)=>{SDL.checkPixelFormat(fmt);if(r){HEAP8[r]=pixel&255}if(g){HEAP8[g]=pixel>>8&255}if(b){HEAP8[b]=pixel>>16&255}if(a){HEAP8[a]=pixel>>24&255}};_SDL_GetRGBA.sig="vippppp";var _SDL_GetAppState=()=>{var state=0;if(Browser.pointerLock){state|=1}if(document.hasFocus()){state|=2}state|=4;return state};_SDL_GetAppState.sig="i";var _SDL_WM_GrabInput=()=>{};_SDL_WM_GrabInput.sig="ii";var _SDL_WM_ToggleFullScreen=surf=>{if(Browser.exitFullscreen()){return 1}if(!SDL.canRequestFullscreen){return 0}SDL.isRequestingFullscreen=true;return 1};_SDL_WM_ToggleFullScreen.sig="ip";var _IMG_Init=flags=>flags;_IMG_Init.sig="ii";var _SDL_FreeRW=rwopsID=>{SDL.rwops[rwopsID]=null;while(SDL.rwops.length>0&&SDL.rwops[SDL.rwops.length-1]===null){SDL.rwops.pop()}};_SDL_FreeRW.sig="vp";var _IMG_Load_RW=(rwopsID,freeSrc)=>{var sp=stackSave();try{var cleanup=()=>{stackRestore(sp);if(rwops&&freeSrc)_SDL_FreeRW(rwopsID)};var addCleanup=func=>{var old=cleanup;cleanup=()=>{old();func()}};var callStbImage=(func,params)=>{var x=stackAlloc(4);var y=stackAlloc(4);var comp=stackAlloc(4);var data=Module["_"+func](...params,x,y,comp,0);if(!data)return null;addCleanup(()=>Module["_stbi_image_free"](data));return{rawData:true,data,width:HEAP32[x>>2],height:HEAP32[y>>2],size:HEAP32[x>>2]*HEAP32[y>>2]*HEAP32[comp>>2],bpp:HEAP32[comp>>2]}};var rwops=SDL.rwops[rwopsID];if(rwops===undefined){return 0}var raw;var filename=rwops.filename;if(filename===undefined){warnOnce("Only file names that have been preloaded are supported for IMG_Load_RW. Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins");return 0}if(!raw){filename=PATH_FS.resolve(filename);raw=Browser.preloadedImages[filename];if(!raw){if(raw===null)err("Trying to reuse preloaded image, but freePreloadedMediaOnUse is set!");warnOnce("Cannot find preloaded image "+filename);warnOnce("Cannot find preloaded image "+filename+". Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins");return 0}else if(Module["freePreloadedMediaOnUse"]){Browser.preloadedImages[filename]=null}}var surf=SDL.makeSurface(raw.width,raw.height,0,false,"load:"+filename);var surfData=SDL.surfaces[surf];surfData.ctx.globalCompositeOperation="copy";if(!raw.rawData){surfData.ctx.drawImage(raw,0,0,raw.width,raw.height,0,0,raw.width,raw.height)}else{var imageData=surfData.ctx.getImageData(0,0,surfData.width,surfData.height);if(raw.bpp==4){imageData.data.set(HEAPU8.subarray(raw.data,raw.data+raw.size))}else if(raw.bpp==3){var pixels=raw.size/3;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i{var id=SDL.rwops.length;var filename=UTF8ToString(_name);SDL.rwops.push({filename,mimetype:Browser.getMimetype(filename)});return id};_SDL_RWFromFile.sig="ppp";var _IMG_Load=filename=>{var rwops=_SDL_RWFromFile(filename,0);var result=_IMG_Load_RW(rwops,1);return result};_IMG_Load.sig="pp";var _IMG_Quit=()=>out("IMG_Quit called (and ignored)");_IMG_Quit.sig="v";var _SDL_OpenAudio=(desired,obtained)=>{try{SDL.audio={freq:HEAPU32[desired>>2],format:HEAPU16[desired+4>>1],channels:HEAPU8[desired+6],samples:HEAPU16[desired+8>>1],callback:HEAPU32[desired+16>>2],userdata:HEAPU32[desired+20>>2],paused:true,timer:null};if(SDL.audio.format==8){SDL.audio.silence=128}else if(SDL.audio.format==32784){SDL.audio.silence=0}else if(SDL.audio.format==33056){SDL.audio.silence=0}else{throw"Invalid SDL audio format "+SDL.audio.format+"!"}if(SDL.audio.freq<=0){throw"Unsupported sound frequency "+SDL.audio.freq+"!"}else if(SDL.audio.freq<=22050){SDL.audio.freq=22050}else if(SDL.audio.freq<=32e3){SDL.audio.freq=32e3}else if(SDL.audio.freq<=44100){SDL.audio.freq=44100}else if(SDL.audio.freq<=48e3){SDL.audio.freq=48e3}else if(SDL.audio.freq<=96e3){SDL.audio.freq=96e3}else{throw`Unsupported sound frequency ${SDL.audio.freq}!`}if(SDL.audio.channels==0){SDL.audio.channels=1}else if(SDL.audio.channels<0||SDL.audio.channels>32){throw`Unsupported number of audio channels for SDL audio: ${SDL.audio.channels}!`}else if(SDL.audio.channels!=1&&SDL.audio.channels!=2){out(`Warning: Using untested number of audio channels ${SDL.audio.channels}`)}if(SDL.audio.samples<128||SDL.audio.samples>524288){throw`Unsupported audio callback buffer size ${SDL.audio.samples}!`}else if((SDL.audio.samples&SDL.audio.samples-1)!=0){throw`Audio callback buffer size ${SDL.audio.samples} must be a power-of-two!`}var totalSamples=SDL.audio.samples*SDL.audio.channels;if(SDL.audio.format==8){SDL.audio.bytesPerSample=1}else if(SDL.audio.format==32784){SDL.audio.bytesPerSample=2}else if(SDL.audio.format==33056){SDL.audio.bytesPerSample=4}else{throw`Invalid SDL audio format ${SDL.audio.format}!`}SDL.audio.bufferSize=totalSamples*SDL.audio.bytesPerSample;SDL.audio.bufferDurationSecs=SDL.audio.bufferSize/SDL.audio.bytesPerSample/SDL.audio.channels/SDL.audio.freq;SDL.audio.bufferingDelay=50/1e3;SDL.audio.buffer=_malloc(SDL.audio.bufferSize);SDL.audio.numSimultaneouslyQueuedBuffers=Module["SDL_numSimultaneouslyQueuedBuffers"]||5;SDL.audio.queueNewAudioData=()=>{if(!SDL.audio)return;for(var i=0;i=SDL.audio.bufferingDelay+SDL.audio.bufferDurationSecs*SDL.audio.numSimultaneouslyQueuedBuffers)return;getWasmTableEntry(SDL.audio.callback)(SDL.audio.userdata,SDL.audio.buffer,SDL.audio.bufferSize);SDL.audio.pushAudio(SDL.audio.buffer,SDL.audio.bufferSize)}};SDL.audio.caller=()=>{if(!SDL.audio)return;--SDL.audio.numAudioTimersPending;SDL.audio.queueNewAudioData();var secsUntilNextPlayStart=SDL.audio.nextPlayTime-SDL.audioContext["currentTime"];var preemptBufferFeedSecs=SDL.audio.bufferDurationSecs/2;if(SDL.audio.numAudioTimersPending{try{if(SDL.audio.paused)return;var sizeSamples=sizeBytes/SDL.audio.bytesPerSample;var sizeSamplesPerChannel=sizeSamples/SDL.audio.channels;if(sizeSamplesPerChannel!=SDL.audio.samples){throw"Received mismatching audio buffer size!"}var source=SDL.audioContext["createBufferSource"]();var soundBuffer=SDL.audioContext["createBuffer"](SDL.audio.channels,sizeSamplesPerChannel,SDL.audio.freq);source["connect"](SDL.audioContext["destination"]);SDL.fillWebAudioBufferFromHeap(ptr,sizeSamplesPerChannel,soundBuffer);source["buffer"]=soundBuffer;var curtime=SDL.audioContext["currentTime"];var playtime=Math.max(curtime+SDL.audio.bufferingDelay,SDL.audio.nextPlayTime);if(typeof source["start"]!="undefined"){source["start"](playtime)}else if(typeof source["noteOn"]!="undefined"){source["noteOn"](playtime)}SDL.audio.nextPlayTime=playtime+SDL.audio.bufferDurationSecs}catch(e){err(`Web Audio API error playing back audio: ${e.toString()}`)}};if(obtained){HEAP32[obtained>>2]=SDL.audio.freq;HEAP16[obtained+4>>1]=SDL.audio.format;HEAP8[obtained+6]=SDL.audio.channels;HEAP8[obtained+7]=SDL.audio.silence;HEAP16[obtained+8>>1]=SDL.audio.samples;HEAPU32[obtained+16>>2]=SDL.audio.callback;HEAPU32[obtained+20>>2]=SDL.audio.userdata}SDL.allocateChannels(32)}catch(e){err(`Initializing SDL audio threw an exception: "${e.toString()}"! Continuing without audio`);SDL.audio=null;SDL.allocateChannels(0);if(obtained){HEAP32[obtained>>2]=0;HEAP16[obtained+4>>1]=0;HEAP8[obtained+6]=0;HEAP8[obtained+7]=0;HEAP16[obtained+8>>1]=0;HEAPU32[obtained+16>>2]=0;HEAPU32[obtained+20>>2]=0}}if(!SDL.audio){return-1}return 0};_SDL_OpenAudio.sig="ipp";var _SDL_PauseAudio=pauseOn=>{if(!SDL.audio){return}if(pauseOn){if(SDL.audio.timer!==undefined){clearTimeout(SDL.audio.timer);SDL.audio.numAudioTimersPending=0;SDL.audio.timer=undefined}}else if(!SDL.audio.timer){SDL.audio.numAudioTimersPending=1;SDL.audio.timer=safeSetTimeout(SDL.audio.caller,1)}SDL.audio.paused=pauseOn};_SDL_PauseAudio.sig="vi";var _SDL_CloseAudio=()=>{if(SDL.audio){if(SDL.audio.callbackRemover){SDL.audio.callbackRemover();SDL.audio.callbackRemover=null}_SDL_PauseAudio(1);_free(SDL.audio.buffer);SDL.audio=null;SDL.allocateChannels(0)}};_SDL_CloseAudio.sig="v";var _SDL_LockAudio=()=>{};_SDL_LockAudio.sig="v";var _SDL_UnlockAudio=()=>{};_SDL_UnlockAudio.sig="v";var _SDL_CreateMutex=()=>0;_SDL_CreateMutex.sig="p";var _SDL_mutexP=mutex=>0;_SDL_mutexP.sig="ip";var _SDL_mutexV=mutex=>0;_SDL_mutexV.sig="ip";var _SDL_DestroyMutex=mutex=>{};_SDL_DestroyMutex.sig="vp";var _SDL_CreateCond=()=>0;_SDL_CreateCond.sig="p";var _SDL_CondSignal=cond=>{};_SDL_CondSignal.sig="ip";var _SDL_CondWait=(cond,mutex)=>{};_SDL_CondWait.sig="ipp";var _SDL_DestroyCond=cond=>{};_SDL_DestroyCond.sig="vp";var _SDL_StartTextInput=()=>{SDL.textInput=true};_SDL_StartTextInput.sig="v";var _SDL_StopTextInput=()=>{SDL.textInput=false};_SDL_StopTextInput.sig="v";var _Mix_Init=flags=>{if(!flags)return 0;return 8};_Mix_Init.sig="ii";var _Mix_Quit=()=>{};_Mix_Quit.sig="v";var _Mix_OpenAudio=(frequency,format,channels,chunksize)=>{SDL.openAudioContext();autoResumeAudioContext(SDL.audioContext);SDL.allocateChannels(32);SDL.mixerFrequency=frequency;SDL.mixerFormat=format;SDL.mixerNumChannels=channels;SDL.mixerChunkSize=chunksize;return 0};_Mix_OpenAudio.sig="iiiii";var _Mix_CloseAudio=_SDL_CloseAudio;_Mix_CloseAudio.sig="v";var _Mix_AllocateChannels=num=>{SDL.allocateChannels(num);return num};_Mix_AllocateChannels.sig="ii";var _Mix_ChannelFinished=func=>{SDL.channelFinished=func};_Mix_ChannelFinished.sig="vp";var _Mix_Volume=(channel,volume)=>{if(channel==-1){for(var i=0;i{left/=255;right/=255;SDL.setPannerPosition(SDL.channels[channel],right-left,0,.1);return 1};_Mix_SetPanning.sig="iiii";var _Mix_LoadWAV_RW=(rwopsID,freesrc)=>{var rwops=SDL.rwops[rwopsID];if(rwops===undefined)return 0;var filename="";var audio;var webAudio;var bytes;if(rwops.filename!==undefined){filename=PATH_FS.resolve(rwops.filename);var raw=Browser.preloadedAudios[filename];if(!raw){if(raw===null)err("Trying to reuse preloaded audio, but freePreloadedMediaOnUse is set!");if(!Module["noAudioDecoding"])warnOnce("Cannot find preloaded audio "+filename);try{bytes=FS.readFile(filename)}catch(e){err(`Couldn't find file for: ${filename}`);return 0}}if(Module["freePreloadedMediaOnUse"]){Browser.preloadedAudios[filename]=null}audio=raw}else if(rwops.bytes!==undefined){if(SDL.webAudioAvailable()){bytes=HEAPU8.buffer.slice(rwops.bytes,rwops.bytes+rwops.count)}else{bytes=HEAPU8.subarray(rwops.bytes,rwops.bytes+rwops.count)}}else{return 0}var arrayBuffer=bytes?bytes.buffer||bytes:bytes;var canPlayWithWebAudio=Module["SDL_canPlayWithWebAudio"]===undefined||Module["SDL_canPlayWithWebAudio"](filename,arrayBuffer);if(bytes!==undefined&&SDL.webAudioAvailable()&&canPlayWithWebAudio){audio=undefined;webAudio={onDecodeComplete:[]};SDL.audioContext["decodeAudioData"](arrayBuffer,data=>{webAudio.decodedBuffer=data;webAudio.onDecodeComplete.forEach(e=>e());delete webAudio.onDecodeComplete})}else if(audio===undefined&&bytes){var blob=new Blob([bytes],{type:rwops.mimetype});var url=URL.createObjectURL(blob);audio=new Audio;audio.src=url;audio.mozAudioChannelType="content"}var id=SDL.audios.length;SDL.audios.push({source:filename,audio,webAudio});return id};_Mix_LoadWAV_RW.sig="ppi";var _Mix_LoadWAV=filename=>{var rwops=_SDL_RWFromFile(filename,0);var result=_Mix_LoadWAV_RW(rwops,0);_SDL_FreeRW(rwops);return result};_Mix_LoadWAV.sig="pp";var _Mix_QuickLoad_RAW=(mem,len)=>{var audio;var webAudio;var numSamples=len>>1;var buffer=new Float32Array(numSamples);for(var i=0;i>1]/32768}if(SDL.webAudioAvailable()){webAudio={decodedBuffer:buffer}}else{audio=new Audio;audio.mozAudioChannelType="content";audio.numChannels=SDL.mixerNumChannels;audio.frequency=SDL.mixerFrequency}var id=SDL.audios.length;SDL.audios.push({source:"",audio,webAudio,buffer});return id};_Mix_QuickLoad_RAW.sig="ppi";var _Mix_FreeChunk=id=>{SDL.audios[id]=null};_Mix_FreeChunk.sig="vp";var _Mix_ReserveChannels=num=>{SDL.channelMinimumNumber=num};_Mix_ReserveChannels.sig="ii";var _Mix_HaltChannel=channel=>{function halt(channel){var info=SDL.channels[channel];if(info.audio){info.audio.pause();info.audio=null}if(SDL.channelFinished){getWasmTableEntry(SDL.channelFinished)(channel)}}if(channel!=-1){halt(channel)}else{for(var i=0;i{assert(ticks==-1);var info=SDL.audios[id];if(!info)return-1;if(!info.audio&&!info.webAudio)return-1;if(channel==-1){for(var i=SDL.channelMinimumNumber;i0;_Mix_FadingChannel.sig="ii";var _Mix_HaltMusic=()=>{var audio=SDL.music.audio;if(audio){audio.src=audio.src;audio.currentPosition=0;audio.pause()}SDL.music.audio=null;if(SDL.hookMusicFinished){getWasmTableEntry(SDL.hookMusicFinished)()}return 0};_Mix_HaltMusic.sig="i";var _Mix_HookMusicFinished=func=>{SDL.hookMusicFinished=func;if(SDL.music.audio){SDL.music.audio["onended"]=_Mix_HaltMusic}};_Mix_HookMusicFinished.sig="vp";var _Mix_VolumeMusic=volume=>SDL.setGetVolume(SDL.music,volume);_Mix_VolumeMusic.sig="ii";var _Mix_LoadMUS_RW=filename=>_Mix_LoadWAV_RW(filename,0);_Mix_LoadMUS_RW.sig="pp";var _Mix_LoadMUS=filename=>{var rwops=_SDL_RWFromFile(filename,0);var result=_Mix_LoadMUS_RW(rwops);_SDL_FreeRW(rwops);return result};_Mix_LoadMUS.sig="pp";var _Mix_FreeMusic=_Mix_FreeChunk;_Mix_FreeMusic.sig="vp";var _Mix_PlayMusic=(id,loops)=>{if(SDL.music.audio){if(!SDL.music.audio.paused)err(`Music is already playing. ${SDL.music.source}`);SDL.music.audio.pause()}var info=SDL.audios[id];var audio;if(info.webAudio){audio={resource:info,paused:false,currentPosition:0,play(){SDL.playWebAudio(this)},pause(){SDL.pauseWebAudio(this)}}}else if(info.audio){audio=info.audio}audio["onended"]=function(){if(SDL.music.audio===this||SDL.music.audio?.webAudioNode===this){_Mix_HaltMusic()}};audio.loop=loops!=0&&loops!=1;audio.volume=SDL.music.volume;SDL.music.audio=audio;audio.play();return 0};_Mix_PlayMusic.sig="ipi";var _Mix_PauseMusic=()=>{var audio=SDL.music.audio;audio?.pause()};_Mix_PauseMusic.sig="v";var _Mix_ResumeMusic=()=>{var audio=SDL.music.audio;audio?.play()};_Mix_ResumeMusic.sig="v";var _Mix_FadeInMusicPos=_Mix_PlayMusic;_Mix_FadeInMusicPos.sig="ipiid";var _Mix_FadeOutMusic=_Mix_HaltMusic;_Mix_FadeOutMusic.sig="ii";var _Mix_PlayingMusic=()=>SDL.music.audio&&!SDL.music.audio.paused;_Mix_PlayingMusic.sig="i";var _Mix_Playing=channel=>{if(channel===-1){var count=0;for(var i=0;i{if(channel===-1){for(var i=0;i{if(channel===-1){var pausedCount=0;for(var i=0;iSDL.music.audio?.paused?1:0;_Mix_PausedMusic.sig="i";var _Mix_Resume=channel=>{if(channel===-1){for(var i=0;i{try{var offscreenCanvas=new OffscreenCanvas(0,0);SDL.ttfContext=offscreenCanvas.getContext("2d");if(typeof SDL.ttfContext.measureText!="function"){throw"bad context"}}catch(ex){var canvas=document.createElement("canvas");SDL.ttfContext=canvas.getContext("2d")}return 0};_TTF_Init.sig="i";var _TTF_OpenFont=(name,size)=>{name=PATH.normalize(UTF8ToString(name));var id=SDL.fonts.length;SDL.fonts.push({name,size});return id};_TTF_OpenFont.sig="ppi";var _TTF_CloseFont=font=>{SDL.fonts[font]=null};_TTF_CloseFont.sig="vp";var _TTF_RenderText_Solid=(font,text,color)=>{text=UTF8ToString(text)||" ";var fontData=SDL.fonts[font];var w=SDL.estimateTextWidth(fontData,text);var h=fontData.size;color=SDL.loadColorToCSSRGB(color);var fontString=SDL.makeFontString(h,fontData.name);var surf=SDL.makeSurface(w,h,0,false,"text:"+text);var surfData=SDL.surfaces[surf];surfData.ctx.save();surfData.ctx.fillStyle=color;surfData.ctx.font=fontString;surfData.ctx.textBaseline="bottom";surfData.ctx.fillText(text,0,h|0);surfData.ctx.restore();return surf};_TTF_RenderText_Solid.sig="pppp";var _TTF_RenderText_Blended=_TTF_RenderText_Solid;_TTF_RenderText_Blended.sig="pppp";var _TTF_RenderText_Shaded=_TTF_RenderText_Solid;_TTF_RenderText_Shaded.sig="ppppp";var _TTF_RenderUTF8_Solid=_TTF_RenderText_Solid;_TTF_RenderUTF8_Solid.sig="pppp";var _TTF_SizeText=(font,text,w,h)=>{var fontData=SDL.fonts[font];if(w){HEAP32[w>>2]=SDL.estimateTextWidth(fontData,UTF8ToString(text))}if(h){HEAP32[h>>2]=fontData.size}return 0};_TTF_SizeText.sig="ipppp";var _TTF_SizeUTF8=_TTF_SizeText;_TTF_SizeUTF8.sig="ipppp";var _TTF_GlyphMetrics=(font,ch,minx,maxx,miny,maxy,advance)=>{var fontData=SDL.fonts[font];var width=SDL.estimateTextWidth(fontData,String.fromCharCode(ch));if(advance){HEAP32[advance>>2]=width}if(minx){HEAP32[minx>>2]=0}if(maxx){HEAP32[maxx>>2]=width}if(miny){HEAP32[miny>>2]=0}if(maxy){HEAP32[maxy>>2]=fontData.size}};_TTF_GlyphMetrics.sig="ipippppp";var _TTF_FontAscent=font=>{var fontData=SDL.fonts[font];return fontData.size*.98|0};_TTF_FontAscent.sig="ip";var _TTF_FontDescent=font=>{var fontData=SDL.fonts[font];return fontData.size*.02|0};_TTF_FontDescent.sig="ip";var _TTF_FontHeight=font=>{var fontData=SDL.fonts[font];return fontData.size};_TTF_FontHeight.sig="ip";var _TTF_FontLineSkip=_TTF_FontHeight;_TTF_FontLineSkip.sig="ip";var _TTF_Quit=()=>out("TTF_Quit called (and ignored)");_TTF_Quit.sig="v";var SDL_gfx={drawRectangle:(surf,x1,y1,x2,y2,action,cssColor)=>{x1=x1<<16>>16;y1=y1<<16>>16;x2=x2<<16>>16;y2=y2<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);var x=x1{x1=x1<<16>>16;y1=y1<<16>>16;x2=x2<<16>>16;y2=y2<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);surfData.ctx.save();surfData.ctx.strokeStyle=cssColor;surfData.ctx.beginPath();surfData.ctx.moveTo(x1,y1);surfData.ctx.lineTo(x2,y2);surfData.ctx.stroke();surfData.ctx.restore()},drawEllipse:(surf,x,y,rx,ry,action,cssColor)=>{x=x<<16>>16;y=y<<16>>16;rx=rx<<16>>16;ry=ry<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);surfData.ctx.save();surfData.ctx.beginPath();surfData.ctx.translate(x,y);surfData.ctx.scale(rx,ry);surfData.ctx.arc(0,0,1,0,2*Math.PI);surfData.ctx.restore();surfData.ctx.save();surfData.ctx[action+"Style"]=cssColor;surfData.ctx[action]();surfData.ctx.restore()},translateColorToCSSRGBA:rgba=>`rgba(${rgba>>>24},${rgba>>16&255},${rgba>>8&255},${rgba&255})`};var _boxColor=(surf,x1,y1,x2,y2,color)=>SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"fill",SDL_gfx.translateColorToCSSRGBA(color));_boxColor.sig="ipiiiii";var _boxRGBA=(surf,x1,y1,x2,y2,r,g,b,a)=>SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"fill",SDL.translateRGBAToCSSRGBA(r,g,b,a));_boxRGBA.sig="ipiiiiiiii";var _rectangleColor=(surf,x1,y1,x2,y2,color)=>SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"stroke",SDL_gfx.translateColorToCSSRGBA(color));_rectangleColor.sig="ipiiiii";var _rectangleRGBA=(surf,x1,y1,x2,y2,r,g,b,a)=>SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"stroke",SDL.translateRGBAToCSSRGBA(r,g,b,a));_rectangleRGBA.sig="ipiiiiiiii";var _ellipseColor=(surf,x,y,rx,ry,color)=>SDL_gfx.drawEllipse(surf,x,y,rx,ry,"stroke",SDL_gfx.translateColorToCSSRGBA(color));_ellipseColor.sig="ipiiiii";var _ellipseRGBA=(surf,x,y,rx,ry,r,g,b,a)=>SDL_gfx.drawEllipse(surf,x,y,rx,ry,"stroke",SDL.translateRGBAToCSSRGBA(r,g,b,a));_ellipseRGBA.sig="ipiiiiiiii";var _filledEllipseColor=(surf,x,y,rx,ry,color)=>SDL_gfx.drawEllipse(surf,x,y,rx,ry,"fill",SDL_gfx.translateColorToCSSRGBA(color));_filledEllipseColor.sig="ipiiiii";var _filledEllipseRGBA=(surf,x,y,rx,ry,r,g,b,a)=>SDL_gfx.drawEllipse(surf,x,y,rx,ry,"fill",SDL.translateRGBAToCSSRGBA(r,g,b,a));_filledEllipseRGBA.sig="ipiiiiiiii";var _lineColor=(surf,x1,y1,x2,y2,color)=>SDL_gfx.drawLine(surf,x1,y1,x2,y2,SDL_gfx.translateColorToCSSRGBA(color));_lineColor.sig="ipiiiii";var _lineRGBA=(surf,x1,y1,x2,y2,r,g,b,a)=>SDL_gfx.drawLine(surf,x1,y1,x2,y2,SDL.translateRGBAToCSSRGBA(r,g,b,a));_lineRGBA.sig="ipiiiiiiii";var _pixelRGBA=(surf,x1,y1,r,g,b,a)=>_boxRGBA(surf,x1,y1,x1,y1,r,g,b,a);_pixelRGBA.sig="ipiiiiii";var _SDL_GL_SetAttribute=(attr,value)=>{if(!(attr in SDL.glAttributes)){abort("Unknown SDL GL attribute ("+attr+"). Please check if your SDL version is supported.")}SDL.glAttributes[attr]=value};_SDL_GL_SetAttribute.sig="iii";var _SDL_GL_GetAttribute=(attr,value)=>{if(!(attr in SDL.glAttributes)){abort("Unknown SDL GL attribute ("+attr+"). Please check if your SDL version is supported.")}if(value)HEAP32[value>>2]=SDL.glAttributes[attr];return 0};_SDL_GL_GetAttribute.sig="iip";var _SDL_GL_SwapBuffers=()=>Browser.doSwapBuffers?.();_SDL_GL_SwapBuffers.sig="v";var _SDL_GL_ExtensionSupported=extension=>GLctx?.getExtension(UTF8ToString(extension))?1:0;_SDL_GL_ExtensionSupported.sig="ip";var _SDL_DestroyWindow=window=>{};_SDL_DestroyWindow.sig="vp";var _SDL_DestroyRenderer=renderer=>{};_SDL_DestroyRenderer.sig="vp";var _SDL_GetWindowFlags=window=>{if(Browser.isFullscreen){return 1}return 0};_SDL_GetWindowFlags.sig="ip";var _SDL_GL_SwapWindow=window=>{};_SDL_GL_SwapWindow.sig="vp";var _SDL_GL_MakeCurrent=(window,context)=>{};_SDL_GL_MakeCurrent.sig="ipp";var _SDL_GL_DeleteContext=context=>{};_SDL_GL_DeleteContext.sig="vp";var _SDL_GL_GetSwapInterval=()=>{if(MainLoop.timingMode==1){return MainLoop.timingValue}else{return 0}};_SDL_GL_GetSwapInterval.sig="i";var _SDL_GL_SetSwapInterval=state=>_emscripten_set_main_loop_timing(1,state);_SDL_GL_SetSwapInterval.sig="ii";var _SDL_SetWindowTitle=(window,title)=>{if(title)document.title=UTF8ToString(title)};_SDL_SetWindowTitle.sig="vpp";var _SDL_GetWindowSize=(window,width,height)=>{var canvas=Browser.getCanvas();if(width)HEAP32[width>>2]=canvas.width;if(height)HEAP32[height>>2]=canvas.height};_SDL_GetWindowSize.sig="vppp";var _SDL_LogSetOutputFunction=(callback,userdata)=>{};_SDL_LogSetOutputFunction.sig="vpp";var _SDL_SetWindowFullscreen=(window,fullscreen)=>{if(Browser.isFullscreen){Browser.getCanvas().exitFullscreen();return 1}return 0};_SDL_SetWindowFullscreen.sig="ipi";var _SDL_ClearError=()=>{};_SDL_ClearError.sig="v";var _SDL_SetGamma=(r,g,b)=>-1;_SDL_SetGamma.sig="ifff";var _SDL_SetGammaRamp=(redTable,greenTable,blueTable)=>-1;_SDL_SetGammaRamp.sig="ippp";var _SDL_NumJoysticks=()=>{var count=0;var gamepads=SDL.getGamepads();for(var gamepad of gamepads){if(gamepad!==undefined)count++}return count};_SDL_NumJoysticks.sig="i";var _SDL_JoystickName=deviceIndex=>{var gamepad=SDL.getGamepad(deviceIndex);if(gamepad){var name=gamepad.id;if(SDL.joystickNamePool.hasOwnProperty(name)){return SDL.joystickNamePool[name]}return SDL.joystickNamePool[name]=stringToNewUTF8(name)}return 0};_SDL_JoystickName.sig="pi";var _SDL_JoystickOpen=deviceIndex=>{var gamepad=SDL.getGamepad(deviceIndex);if(gamepad){var joystick=deviceIndex+1;SDL.recordJoystickState(joystick,gamepad);return joystick}return 0};_SDL_JoystickOpen.sig="pi";var _SDL_JoystickOpened=deviceIndex=>SDL.lastJoystickState.hasOwnProperty(deviceIndex+1)?1:0;_SDL_JoystickOpened.sig="ii";var _SDL_JoystickIndex=joystick=>joystick-1;_SDL_JoystickIndex.sig="ip";var _SDL_JoystickNumAxes=joystick=>{var gamepad=SDL.getGamepad(joystick-1);if(gamepad){return gamepad.axes.length}return 0};_SDL_JoystickNumAxes.sig="ip";var _SDL_JoystickNumBalls=joystick=>0;_SDL_JoystickNumBalls.sig="ip";var _SDL_JoystickNumHats=joystick=>0;_SDL_JoystickNumHats.sig="ip";var _SDL_JoystickNumButtons=joystick=>{var gamepad=SDL.getGamepad(joystick-1);if(gamepad){return gamepad.buttons.length}return 0};_SDL_JoystickNumButtons.sig="ip";var _SDL_JoystickUpdate=()=>SDL.queryJoysticks();_SDL_JoystickUpdate.sig="v";var _SDL_JoystickEventState=state=>{if(state<0){return SDL.joystickEventState}return SDL.joystickEventState=state};_SDL_JoystickEventState.sig="ii";var _SDL_JoystickGetAxis=(joystick,axis)=>{var gamepad=SDL.getGamepad(joystick-1);if(gamepad?.axes.length>axis){return SDL.joystickAxisValueConversion(gamepad.axes[axis])}return 0};_SDL_JoystickGetAxis.sig="ipi";var _SDL_JoystickGetHat=(joystick,hat)=>0;_SDL_JoystickGetHat.sig="ipi";var _SDL_JoystickGetBall=(joystick,ball,dxptr,dyptr)=>-1;_SDL_JoystickGetBall.sig="ipipp";var _SDL_JoystickGetButton=(joystick,button)=>{var gamepad=SDL.getGamepad(joystick-1);if(gamepad?.buttons.length>button){return SDL.getJoystickButtonState(gamepad.buttons[button])?1:0}return 0};_SDL_JoystickGetButton.sig="ipi";var _SDL_JoystickClose=joystick=>{delete SDL.lastJoystickState[joystick]};_SDL_JoystickClose.sig="vp";var _SDL_InitSubSystem=flags=>0;_SDL_InitSubSystem.sig="ii";var _SDL_RWFromConstMem=(mem,size)=>{var id=SDL.rwops.length;SDL.rwops.push({bytes:mem,count:size});return id};_SDL_RWFromConstMem.sig="ppi";var _SDL_RWFromMem=_SDL_RWFromConstMem;_SDL_RWFromMem.sig="ppi";var _SDL_GetNumAudioDrivers=()=>1;_SDL_GetNumAudioDrivers.sig="i";var _SDL_GetCurrentAudioDriver=()=>stringToNewUTF8("Emscripten Audio");_SDL_GetCurrentAudioDriver.sig="p";var _SDL_GetScancodeFromKey=key=>SDL.scanCodes[key];_SDL_GetScancodeFromKey.sig="ii";var _SDL_GetAudioDriver=index=>_SDL_GetCurrentAudioDriver();_SDL_GetAudioDriver.sig="pi";var _SDL_EnableUNICODE=on=>{var ret=SDL.unicode||0;SDL.unicode=on;return ret};_SDL_EnableUNICODE.sig="ii";var _SDL_AddTimer=(interval,callback,param)=>safeSetTimeout(()=>getWasmTableEntry(callback)(interval,param),interval);_SDL_AddTimer.sig="iipp";var _SDL_RemoveTimer=id=>{clearTimeout(id);return true};_SDL_RemoveTimer.sig="ii";var _SDL_CreateThread=(fs,data,pfnBeginThread,pfnEndThread)=>{throw"SDL threads cannot be supported in the web platform because they assume shared state. See emscripten_create_worker etc. for a message-passing concurrency model that does let you run code in another thread."};_SDL_CreateThread.sig="ppp";var _SDL_WaitThread=(thread,status)=>{throw"SDL_WaitThread"};_SDL_WaitThread.sig="vpp";var _SDL_GetThreadID=thread=>{throw"SDL_GetThreadID"};_SDL_GetThreadID.sig="pp";var _SDL_ThreadID=()=>0;_SDL_ThreadID.sig="p";var _SDL_AllocRW=()=>{throw"SDL_AllocRW: TODO"};_SDL_AllocRW.sig="p";var _SDL_CondBroadcast=cond=>{throw"SDL_CondBroadcast: TODO"};_SDL_CondBroadcast.sig="ip";var _SDL_CondWaitTimeout=(cond,mutex,ms)=>{throw"SDL_CondWaitTimeout: TODO"};_SDL_CondWaitTimeout.sig="ippi";var _SDL_WM_IconifyWindow=()=>{throw"SDL_WM_IconifyWindow TODO"};_SDL_WM_IconifyWindow.sig="i";var _Mix_SetPostMix=(func,arg)=>warnOnce("Mix_SetPostMix: TODO");_Mix_SetPostMix.sig="vpp";var _Mix_VolumeChunk=(chunk,volume)=>{throw"Mix_VolumeChunk: TODO"};_Mix_VolumeChunk.sig="ipi";var _Mix_SetPosition=(channel,angle,distance)=>{throw"Mix_SetPosition: TODO"};_Mix_SetPosition.sig="iiii";var _Mix_QuerySpec=(frequency,format,channels)=>{throw"Mix_QuerySpec: TODO"};_Mix_QuerySpec.sig="ippp";var _Mix_FadeInChannelTimed=(channel,chunk,loop,ms,ticks)=>{throw"Mix_FadeInChannelTimed"};_Mix_FadeInChannelTimed.sig="iipiii";var _Mix_FadeOutChannel=()=>{throw"Mix_FadeOutChannel"};_Mix_FadeOutChannel.sig="iii";var _Mix_Linked_Version=()=>{throw"Mix_Linked_Version: TODO"};_Mix_Linked_Version.sig="p";var _SDL_SaveBMP_RW=(surface,dst,freedst)=>{throw"SDL_SaveBMP_RW: TODO"};_SDL_SaveBMP_RW.sig="ippi";var _SDL_WM_SetIcon=(icon,mask)=>{};_SDL_WM_SetIcon.sig="vpp";var _SDL_HasRDTSC=()=>0;_SDL_HasRDTSC.sig="i";var _SDL_HasMMX=()=>0;_SDL_HasMMX.sig="i";var _SDL_HasMMXExt=()=>0;_SDL_HasMMXExt.sig="i";var _SDL_Has3DNow=()=>0;_SDL_Has3DNow.sig="i";var _SDL_Has3DNowExt=()=>0;_SDL_Has3DNowExt.sig="i";var _SDL_HasSSE=()=>0;_SDL_HasSSE.sig="i";var _SDL_HasSSE2=()=>0;_SDL_HasSSE2.sig="i";var _SDL_HasAltiVec=()=>0;_SDL_HasAltiVec.sig="i";var ALLOC_NORMAL=0;var ALLOC_STACK=1;var allocate=(slab,allocator)=>{var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(!slab.subarray&&!slab.slice){slab=new Uint8Array(slab)}HEAPU8.set(slab,ret);return ret};var writeStringToMemory=(string,buffer,dontAddNull)=>{warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar};var writeAsciiToMemory=(str,buffer,dontAddNull)=>{for(var i=0;i{demangle.recursionGuard=(demangle.recursionGuard|0)+1;if(demangle.recursionGuard>1)return func;return withStackSave(()=>{try{var s=func;if(s.startsWith("__Z"))s=s.slice(1);var buf=stringToUTF8OnStack(s);var status=stackAlloc(4);var ret=___cxa_demangle(buf,0,0,status);if(HEAP32[status>>2]===0&&ret){return UTF8ToString(ret)}}catch(e){}finally{_free(ret);if(demangle.recursionGuard<2)--demangle.recursionGuard}return func})};var stackTrace=()=>{var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return js};var print=out;var printErr=err;var jstoi_s=Number;var _emscripten_is_main_browser_thread=()=>!ENVIRONMENT_IS_WORKER;registerWasmPlugin();FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";Module["requestAnimationFrame"]=MainLoop.requestAnimationFrame;Module["pauseMainLoop"]=MainLoop.pause;Module["resumeMainLoop"]=MainLoop.resume;MainLoop.init();for(let i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<=288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i)}var miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<=288;++i){miniTempWebGLIntBuffers[i]=miniTempWebGLIntBuffersStorage.subarray(0,i)}adapters_support();if(typeof setImmediate!="undefined"){emSetImmediate=setImmediateWrapped;emClearImmediate=clearImmediateWrapped}else if(typeof addEventListener=="function"){var __setImmediate_id_counter=0;var __setImmediate_queue=[];var __setImmediate_message_id="_si";var __setImmediate_cb=e=>{if(e.data===__setImmediate_message_id){e.stopPropagation();__setImmediate_queue.shift()();++__setImmediate_id_counter}};addEventListener("message",__setImmediate_cb,true);emSetImmediate=func=>{postMessage(__setImmediate_message_id,"*");return __setImmediate_id_counter+__setImmediate_queue.push(func)-1};emClearImmediate=id=>{var index=id-__setImmediate_id_counter;if(index>=0&&index<__setImmediate_queue.length)__setImmediate_queue[index]=()=>{}}}registerPostMainLoop(()=>SDL.audio?.queueNewAudioData?.());{initMemory();if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["dynamicLibraries"])dynamicLibraries=Module["dynamicLibraries"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"]}Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;Module["_setTempRet0"]=_setTempRet0;Module["_getTempRet0"]=_getTempRet0;Module["_sched_yield"]=_sched_yield;Module["___cxa_uncaught_exceptions"]=___cxa_uncaught_exceptions;Module["___cxa_current_primary_exception"]=___cxa_current_primary_exception;Module["___cxa_rethrow_primary_exception"]=___cxa_rethrow_primary_exception;Module["___syscall_shutdown"]=___syscall_shutdown;Module["_emscripten_wget"]=_emscripten_wget;var ASM_CONSTS={464820:$0=>{if(!$0){AL.alcErr=40964;return 1}},464868:$0=>{if(!AL.currentCtx){err("alGetProcAddress() called without a valid context");return 1}if(!$0){AL.currentCtx.err=40963;return 1}}};var _sqlite3_status64,_sqlite3_status,_sqlite3_db_status,_sqlite3_msize,_sqlite3_vfs_find,_sqlite3_vfs_register,_sqlite3_vfs_unregister,_sqlite3_release_memory,_sqlite3_soft_heap_limit64,_sqlite3_memory_used,_sqlite3_hard_heap_limit64,_sqlite3_memory_highwater,_sqlite3_malloc,_sqlite3_malloc64,_sqlite3_free,_sqlite3_realloc,_sqlite3_realloc64,_sqlite3_str_vappendf,_sqlite3_str_append,_sqlite3_str_appendchar,_sqlite3_str_appendall,_sqlite3_str_appendf,_sqlite3_str_finish,_sqlite3_str_errcode,_sqlite3_str_length,_sqlite3_str_value,_sqlite3_str_reset,_sqlite3_str_new,_sqlite3_vmprintf,_sqlite3_mprintf,_sqlite3_vsnprintf,_sqlite3_snprintf,_sqlite3_log,_sqlite3_randomness,_sqlite3_stricmp,_sqlite3_strnicmp,_sqlite3_os_init,_sqlite3_os_end,_sqlite3_serialize,_sqlite3_prepare_v2,_sqlite3_step,_sqlite3_column_int64,_sqlite3_reset,_sqlite3_exec,_sqlite3_column_int,_sqlite3_finalize,_sqlite3_deserialize,_sqlite3_database_file_object,_sqlite3_backup_init,_sqlite3_backup_step,_sqlite3_backup_finish,_sqlite3_backup_remaining,_sqlite3_backup_pagecount,_sqlite3_clear_bindings,_sqlite3_value_blob,_sqlite3_value_text,_sqlite3_value_bytes,_sqlite3_value_bytes16,_sqlite3_value_double,_sqlite3_value_int,_sqlite3_value_int64,_sqlite3_value_subtype,_sqlite3_value_pointer,_sqlite3_value_text16,_sqlite3_value_text16be,_sqlite3_value_text16le,_sqlite3_value_type,_sqlite3_value_encoding,_sqlite3_value_nochange,_sqlite3_value_frombind,_sqlite3_value_dup,_sqlite3_value_free,_sqlite3_result_blob,_sqlite3_result_blob64,_sqlite3_result_double,_sqlite3_result_error,_sqlite3_result_error16,_sqlite3_result_int,_sqlite3_result_int64,_sqlite3_result_null,_sqlite3_result_pointer,_sqlite3_result_subtype,_sqlite3_result_text,_sqlite3_result_text64,_sqlite3_result_text16,_sqlite3_result_text16be,_sqlite3_result_text16le,_sqlite3_result_value,_sqlite3_result_error_toobig,_sqlite3_result_zeroblob,_sqlite3_result_zeroblob64,_sqlite3_result_error_code,_sqlite3_result_error_nomem,_sqlite3_user_data,_sqlite3_context_db_handle,_sqlite3_vtab_nochange,_sqlite3_vtab_in_first,_sqlite3_vtab_in_next,_sqlite3_aggregate_context,_sqlite3_get_auxdata,_sqlite3_set_auxdata,_sqlite3_column_count,_sqlite3_data_count,_sqlite3_column_blob,_sqlite3_column_bytes,_sqlite3_column_bytes16,_sqlite3_column_double,_sqlite3_column_text,_sqlite3_column_value,_sqlite3_column_text16,_sqlite3_column_type,_sqlite3_column_name,_sqlite3_column_name16,_sqlite3_bind_blob,_sqlite3_bind_blob64,_sqlite3_bind_double,_sqlite3_bind_int,_sqlite3_bind_int64,_sqlite3_bind_null,_sqlite3_bind_pointer,_sqlite3_bind_text,_sqlite3_bind_text64,_sqlite3_bind_text16,_sqlite3_bind_value,_sqlite3_bind_zeroblob,_sqlite3_bind_zeroblob64,_sqlite3_bind_parameter_count,_sqlite3_bind_parameter_name,_sqlite3_bind_parameter_index,_sqlite3_db_handle,_sqlite3_stmt_readonly,_sqlite3_stmt_isexplain,_sqlite3_stmt_explain,_sqlite3_stmt_busy,_sqlite3_next_stmt,_sqlite3_stmt_status,_sqlite3_sql,_sqlite3_expanded_sql,_sqlite3_value_numeric_type,_sqlite3_blob_open,_sqlite3_blob_close,_sqlite3_blob_read,_sqlite3_blob_write,_sqlite3_blob_bytes,_sqlite3_blob_reopen,_sqlite3_set_authorizer,_sqlite3_strglob,_sqlite3_strlike,_sqlite3_errmsg,_sqlite3_load_extension,_sqlite3_enable_load_extension,_sqlite3_auto_extension,_sqlite3_cancel_auto_extension,_sqlite3_reset_auto_extension,_sqlite3_prepare,_sqlite3_prepare_v3,_sqlite3_prepare16,_sqlite3_prepare16_v2,_sqlite3_prepare16_v3,_sqlite3_get_table,_sqlite3_free_table,_sqlite3_create_module,_sqlite3_create_module_v2,_sqlite3_drop_modules,_sqlite3_declare_vtab,_sqlite3_vtab_on_conflict,_sqlite3_vtab_config,_sqlite3_vtab_collation,_sqlite3_vtab_in,_sqlite3_vtab_rhs_value,_sqlite3_vtab_distinct,_sqlite3_keyword_name,_sqlite3_keyword_count,_sqlite3_keyword_check,_sqlite3_complete,_sqlite3_complete16,_sqlite3_libversion,_sqlite3_libversion_number,_sqlite3_threadsafe,_sqlite3_initialize,_sqlite3_shutdown,_sqlite3_config,_sqlite3_db_mutex,_sqlite3_db_release_memory,_sqlite3_db_cacheflush,_sqlite3_db_config,_sqlite3_last_insert_rowid,_sqlite3_set_last_insert_rowid,_sqlite3_changes64,_sqlite3_changes,_sqlite3_total_changes64,_sqlite3_total_changes,_sqlite3_txn_state,_sqlite3_close,_sqlite3_close_v2,_sqlite3_busy_handler,_sqlite3_progress_handler,_sqlite3_busy_timeout,_sqlite3_interrupt,_sqlite3_is_interrupted,_sqlite3_create_function,_sqlite3_create_function_v2,_sqlite3_create_window_function,_sqlite3_create_function16,_sqlite3_overload_function,_sqlite3_trace_v2,_sqlite3_commit_hook,_sqlite3_update_hook,_sqlite3_rollback_hook,_sqlite3_autovacuum_pages,_sqlite3_wal_autocheckpoint,_sqlite3_wal_hook,_sqlite3_wal_checkpoint_v2,_sqlite3_wal_checkpoint,_sqlite3_error_offset,_sqlite3_errmsg16,_sqlite3_errcode,_sqlite3_extended_errcode,_sqlite3_system_errno,_sqlite3_errstr,_sqlite3_limit,_sqlite3_open,_sqlite3_open_v2,_sqlite3_open16,_sqlite3_create_collation,_sqlite3_create_collation_v2,_sqlite3_create_collation16,_sqlite3_collation_needed,_sqlite3_collation_needed16,_sqlite3_get_clientdata,_sqlite3_set_clientdata,_sqlite3_get_autocommit,_sqlite3_table_column_metadata,_sqlite3_sleep,_sqlite3_extended_result_codes,_sqlite3_file_control,_sqlite3_test_control,_sqlite3_create_filename,_sqlite3_free_filename,_sqlite3_uri_parameter,_sqlite3_uri_key,_sqlite3_uri_boolean,_sqlite3_uri_int64,_sqlite3_filename_database,_sqlite3_filename_journal,_sqlite3_filename_wal,_sqlite3_db_name,_sqlite3_db_filename,_sqlite3_db_readonly,_sqlite3_compileoption_used,_sqlite3_compileoption_get,_sqlite3_sourceid,_strerror,_memcmp,_malloc,_free,_realloc,_RegisterExtensionFunctions,_calloc,_getSqliteFree,_main,_libauthorizer_set_authorizer,_libfunction_create_function,_libhook_commit_hook,_libhook_update_hook,_libprogress_progress_handler,_libvfs_vfs_register,___dl_seterr,__emscripten_find_dylib,_memcpy,_memset,_fileno,_htonl,_htons,_emscripten_builtin_memalign,_ntohs,__emscripten_timeout,_setThrew,__emscripten_tempret_set,__emscripten_tempret_get,___get_temp_ret,___set_temp_ret,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,___cxa_demangle,___cxa_increment_exception_refcount,___cxa_decrement_exception_refcount,___cxa_can_catch,___cxa_get_exception_ptr,___wasm_apply_data_relocs;function assignWasmExports(wasmExports){Module["_sqlite3_status64"]=_sqlite3_status64=wasmExports["sqlite3_status64"];Module["_sqlite3_status"]=_sqlite3_status=wasmExports["sqlite3_status"];Module["_sqlite3_db_status"]=_sqlite3_db_status=wasmExports["sqlite3_db_status"];Module["_sqlite3_msize"]=_sqlite3_msize=wasmExports["sqlite3_msize"];Module["_sqlite3_vfs_find"]=_sqlite3_vfs_find=wasmExports["sqlite3_vfs_find"];Module["_sqlite3_vfs_register"]=_sqlite3_vfs_register=wasmExports["sqlite3_vfs_register"];Module["_sqlite3_vfs_unregister"]=_sqlite3_vfs_unregister=wasmExports["sqlite3_vfs_unregister"];Module["_sqlite3_release_memory"]=_sqlite3_release_memory=wasmExports["sqlite3_release_memory"];Module["_sqlite3_soft_heap_limit64"]=_sqlite3_soft_heap_limit64=wasmExports["sqlite3_soft_heap_limit64"];Module["_sqlite3_memory_used"]=_sqlite3_memory_used=wasmExports["sqlite3_memory_used"];Module["_sqlite3_hard_heap_limit64"]=_sqlite3_hard_heap_limit64=wasmExports["sqlite3_hard_heap_limit64"];Module["_sqlite3_memory_highwater"]=_sqlite3_memory_highwater=wasmExports["sqlite3_memory_highwater"];Module["_sqlite3_malloc"]=_sqlite3_malloc=wasmExports["sqlite3_malloc"];Module["_sqlite3_malloc64"]=_sqlite3_malloc64=wasmExports["sqlite3_malloc64"];Module["_sqlite3_free"]=_sqlite3_free=wasmExports["sqlite3_free"];Module["_sqlite3_realloc"]=_sqlite3_realloc=wasmExports["sqlite3_realloc"];Module["_sqlite3_realloc64"]=_sqlite3_realloc64=wasmExports["sqlite3_realloc64"];Module["_sqlite3_str_vappendf"]=_sqlite3_str_vappendf=wasmExports["sqlite3_str_vappendf"];Module["_sqlite3_str_append"]=_sqlite3_str_append=wasmExports["sqlite3_str_append"];Module["_sqlite3_str_appendchar"]=_sqlite3_str_appendchar=wasmExports["sqlite3_str_appendchar"];Module["_sqlite3_str_appendall"]=_sqlite3_str_appendall=wasmExports["sqlite3_str_appendall"];Module["_sqlite3_str_appendf"]=_sqlite3_str_appendf=wasmExports["sqlite3_str_appendf"];Module["_sqlite3_str_finish"]=_sqlite3_str_finish=wasmExports["sqlite3_str_finish"];Module["_sqlite3_str_errcode"]=_sqlite3_str_errcode=wasmExports["sqlite3_str_errcode"];Module["_sqlite3_str_length"]=_sqlite3_str_length=wasmExports["sqlite3_str_length"];Module["_sqlite3_str_value"]=_sqlite3_str_value=wasmExports["sqlite3_str_value"];Module["_sqlite3_str_reset"]=_sqlite3_str_reset=wasmExports["sqlite3_str_reset"];Module["_sqlite3_str_new"]=_sqlite3_str_new=wasmExports["sqlite3_str_new"];Module["_sqlite3_vmprintf"]=_sqlite3_vmprintf=wasmExports["sqlite3_vmprintf"];Module["_sqlite3_mprintf"]=_sqlite3_mprintf=wasmExports["sqlite3_mprintf"];Module["_sqlite3_vsnprintf"]=_sqlite3_vsnprintf=wasmExports["sqlite3_vsnprintf"];Module["_sqlite3_snprintf"]=_sqlite3_snprintf=wasmExports["sqlite3_snprintf"];Module["_sqlite3_log"]=_sqlite3_log=wasmExports["sqlite3_log"];Module["_sqlite3_randomness"]=_sqlite3_randomness=wasmExports["sqlite3_randomness"];Module["_sqlite3_stricmp"]=_sqlite3_stricmp=wasmExports["sqlite3_stricmp"];Module["_sqlite3_strnicmp"]=_sqlite3_strnicmp=wasmExports["sqlite3_strnicmp"];Module["_sqlite3_os_init"]=_sqlite3_os_init=wasmExports["sqlite3_os_init"];Module["_sqlite3_os_end"]=_sqlite3_os_end=wasmExports["sqlite3_os_end"];Module["_sqlite3_serialize"]=_sqlite3_serialize=wasmExports["sqlite3_serialize"];Module["_sqlite3_prepare_v2"]=_sqlite3_prepare_v2=wasmExports["sqlite3_prepare_v2"];Module["_sqlite3_step"]=_sqlite3_step=wasmExports["sqlite3_step"];Module["_sqlite3_column_int64"]=_sqlite3_column_int64=wasmExports["sqlite3_column_int64"];Module["_sqlite3_reset"]=_sqlite3_reset=wasmExports["sqlite3_reset"];Module["_sqlite3_exec"]=_sqlite3_exec=wasmExports["sqlite3_exec"];Module["_sqlite3_column_int"]=_sqlite3_column_int=wasmExports["sqlite3_column_int"];Module["_sqlite3_finalize"]=_sqlite3_finalize=wasmExports["sqlite3_finalize"];Module["_sqlite3_deserialize"]=_sqlite3_deserialize=wasmExports["sqlite3_deserialize"];Module["_sqlite3_database_file_object"]=_sqlite3_database_file_object=wasmExports["sqlite3_database_file_object"];Module["_sqlite3_backup_init"]=_sqlite3_backup_init=wasmExports["sqlite3_backup_init"];Module["_sqlite3_backup_step"]=_sqlite3_backup_step=wasmExports["sqlite3_backup_step"];Module["_sqlite3_backup_finish"]=_sqlite3_backup_finish=wasmExports["sqlite3_backup_finish"];Module["_sqlite3_backup_remaining"]=_sqlite3_backup_remaining=wasmExports["sqlite3_backup_remaining"];Module["_sqlite3_backup_pagecount"]=_sqlite3_backup_pagecount=wasmExports["sqlite3_backup_pagecount"];Module["_sqlite3_clear_bindings"]=_sqlite3_clear_bindings=wasmExports["sqlite3_clear_bindings"];Module["_sqlite3_value_blob"]=_sqlite3_value_blob=wasmExports["sqlite3_value_blob"];Module["_sqlite3_value_text"]=_sqlite3_value_text=wasmExports["sqlite3_value_text"];Module["_sqlite3_value_bytes"]=_sqlite3_value_bytes=wasmExports["sqlite3_value_bytes"];Module["_sqlite3_value_bytes16"]=_sqlite3_value_bytes16=wasmExports["sqlite3_value_bytes16"];Module["_sqlite3_value_double"]=_sqlite3_value_double=wasmExports["sqlite3_value_double"];Module["_sqlite3_value_int"]=_sqlite3_value_int=wasmExports["sqlite3_value_int"];Module["_sqlite3_value_int64"]=_sqlite3_value_int64=wasmExports["sqlite3_value_int64"];Module["_sqlite3_value_subtype"]=_sqlite3_value_subtype=wasmExports["sqlite3_value_subtype"];Module["_sqlite3_value_pointer"]=_sqlite3_value_pointer=wasmExports["sqlite3_value_pointer"];Module["_sqlite3_value_text16"]=_sqlite3_value_text16=wasmExports["sqlite3_value_text16"];Module["_sqlite3_value_text16be"]=_sqlite3_value_text16be=wasmExports["sqlite3_value_text16be"];Module["_sqlite3_value_text16le"]=_sqlite3_value_text16le=wasmExports["sqlite3_value_text16le"];Module["_sqlite3_value_type"]=_sqlite3_value_type=wasmExports["sqlite3_value_type"];Module["_sqlite3_value_encoding"]=_sqlite3_value_encoding=wasmExports["sqlite3_value_encoding"];Module["_sqlite3_value_nochange"]=_sqlite3_value_nochange=wasmExports["sqlite3_value_nochange"];Module["_sqlite3_value_frombind"]=_sqlite3_value_frombind=wasmExports["sqlite3_value_frombind"];Module["_sqlite3_value_dup"]=_sqlite3_value_dup=wasmExports["sqlite3_value_dup"];Module["_sqlite3_value_free"]=_sqlite3_value_free=wasmExports["sqlite3_value_free"];Module["_sqlite3_result_blob"]=_sqlite3_result_blob=wasmExports["sqlite3_result_blob"];Module["_sqlite3_result_blob64"]=_sqlite3_result_blob64=wasmExports["sqlite3_result_blob64"];Module["_sqlite3_result_double"]=_sqlite3_result_double=wasmExports["sqlite3_result_double"];Module["_sqlite3_result_error"]=_sqlite3_result_error=wasmExports["sqlite3_result_error"];Module["_sqlite3_result_error16"]=_sqlite3_result_error16=wasmExports["sqlite3_result_error16"];Module["_sqlite3_result_int"]=_sqlite3_result_int=wasmExports["sqlite3_result_int"];Module["_sqlite3_result_int64"]=_sqlite3_result_int64=wasmExports["sqlite3_result_int64"];Module["_sqlite3_result_null"]=_sqlite3_result_null=wasmExports["sqlite3_result_null"];Module["_sqlite3_result_pointer"]=_sqlite3_result_pointer=wasmExports["sqlite3_result_pointer"];Module["_sqlite3_result_subtype"]=_sqlite3_result_subtype=wasmExports["sqlite3_result_subtype"];Module["_sqlite3_result_text"]=_sqlite3_result_text=wasmExports["sqlite3_result_text"];Module["_sqlite3_result_text64"]=_sqlite3_result_text64=wasmExports["sqlite3_result_text64"];Module["_sqlite3_result_text16"]=_sqlite3_result_text16=wasmExports["sqlite3_result_text16"];Module["_sqlite3_result_text16be"]=_sqlite3_result_text16be=wasmExports["sqlite3_result_text16be"];Module["_sqlite3_result_text16le"]=_sqlite3_result_text16le=wasmExports["sqlite3_result_text16le"];Module["_sqlite3_result_value"]=_sqlite3_result_value=wasmExports["sqlite3_result_value"];Module["_sqlite3_result_error_toobig"]=_sqlite3_result_error_toobig=wasmExports["sqlite3_result_error_toobig"];Module["_sqlite3_result_zeroblob"]=_sqlite3_result_zeroblob=wasmExports["sqlite3_result_zeroblob"];Module["_sqlite3_result_zeroblob64"]=_sqlite3_result_zeroblob64=wasmExports["sqlite3_result_zeroblob64"];Module["_sqlite3_result_error_code"]=_sqlite3_result_error_code=wasmExports["sqlite3_result_error_code"];Module["_sqlite3_result_error_nomem"]=_sqlite3_result_error_nomem=wasmExports["sqlite3_result_error_nomem"];Module["_sqlite3_user_data"]=_sqlite3_user_data=wasmExports["sqlite3_user_data"];Module["_sqlite3_context_db_handle"]=_sqlite3_context_db_handle=wasmExports["sqlite3_context_db_handle"];Module["_sqlite3_vtab_nochange"]=_sqlite3_vtab_nochange=wasmExports["sqlite3_vtab_nochange"];Module["_sqlite3_vtab_in_first"]=_sqlite3_vtab_in_first=wasmExports["sqlite3_vtab_in_first"];Module["_sqlite3_vtab_in_next"]=_sqlite3_vtab_in_next=wasmExports["sqlite3_vtab_in_next"];Module["_sqlite3_aggregate_context"]=_sqlite3_aggregate_context=wasmExports["sqlite3_aggregate_context"];Module["_sqlite3_get_auxdata"]=_sqlite3_get_auxdata=wasmExports["sqlite3_get_auxdata"];Module["_sqlite3_set_auxdata"]=_sqlite3_set_auxdata=wasmExports["sqlite3_set_auxdata"];Module["_sqlite3_column_count"]=_sqlite3_column_count=wasmExports["sqlite3_column_count"];Module["_sqlite3_data_count"]=_sqlite3_data_count=wasmExports["sqlite3_data_count"];Module["_sqlite3_column_blob"]=_sqlite3_column_blob=wasmExports["sqlite3_column_blob"];Module["_sqlite3_column_bytes"]=_sqlite3_column_bytes=wasmExports["sqlite3_column_bytes"];Module["_sqlite3_column_bytes16"]=_sqlite3_column_bytes16=wasmExports["sqlite3_column_bytes16"];Module["_sqlite3_column_double"]=_sqlite3_column_double=wasmExports["sqlite3_column_double"];Module["_sqlite3_column_text"]=_sqlite3_column_text=wasmExports["sqlite3_column_text"];Module["_sqlite3_column_value"]=_sqlite3_column_value=wasmExports["sqlite3_column_value"];Module["_sqlite3_column_text16"]=_sqlite3_column_text16=wasmExports["sqlite3_column_text16"];Module["_sqlite3_column_type"]=_sqlite3_column_type=wasmExports["sqlite3_column_type"];Module["_sqlite3_column_name"]=_sqlite3_column_name=wasmExports["sqlite3_column_name"];Module["_sqlite3_column_name16"]=_sqlite3_column_name16=wasmExports["sqlite3_column_name16"];Module["_sqlite3_bind_blob"]=_sqlite3_bind_blob=wasmExports["sqlite3_bind_blob"];Module["_sqlite3_bind_blob64"]=_sqlite3_bind_blob64=wasmExports["sqlite3_bind_blob64"];Module["_sqlite3_bind_double"]=_sqlite3_bind_double=wasmExports["sqlite3_bind_double"];Module["_sqlite3_bind_int"]=_sqlite3_bind_int=wasmExports["sqlite3_bind_int"];Module["_sqlite3_bind_int64"]=_sqlite3_bind_int64=wasmExports["sqlite3_bind_int64"];Module["_sqlite3_bind_null"]=_sqlite3_bind_null=wasmExports["sqlite3_bind_null"];Module["_sqlite3_bind_pointer"]=_sqlite3_bind_pointer=wasmExports["sqlite3_bind_pointer"];Module["_sqlite3_bind_text"]=_sqlite3_bind_text=wasmExports["sqlite3_bind_text"];Module["_sqlite3_bind_text64"]=_sqlite3_bind_text64=wasmExports["sqlite3_bind_text64"];Module["_sqlite3_bind_text16"]=_sqlite3_bind_text16=wasmExports["sqlite3_bind_text16"];Module["_sqlite3_bind_value"]=_sqlite3_bind_value=wasmExports["sqlite3_bind_value"];Module["_sqlite3_bind_zeroblob"]=_sqlite3_bind_zeroblob=wasmExports["sqlite3_bind_zeroblob"];Module["_sqlite3_bind_zeroblob64"]=_sqlite3_bind_zeroblob64=wasmExports["sqlite3_bind_zeroblob64"];Module["_sqlite3_bind_parameter_count"]=_sqlite3_bind_parameter_count=wasmExports["sqlite3_bind_parameter_count"];Module["_sqlite3_bind_parameter_name"]=_sqlite3_bind_parameter_name=wasmExports["sqlite3_bind_parameter_name"];Module["_sqlite3_bind_parameter_index"]=_sqlite3_bind_parameter_index=wasmExports["sqlite3_bind_parameter_index"];Module["_sqlite3_db_handle"]=_sqlite3_db_handle=wasmExports["sqlite3_db_handle"];Module["_sqlite3_stmt_readonly"]=_sqlite3_stmt_readonly=wasmExports["sqlite3_stmt_readonly"];Module["_sqlite3_stmt_isexplain"]=_sqlite3_stmt_isexplain=wasmExports["sqlite3_stmt_isexplain"];Module["_sqlite3_stmt_explain"]=_sqlite3_stmt_explain=wasmExports["sqlite3_stmt_explain"];Module["_sqlite3_stmt_busy"]=_sqlite3_stmt_busy=wasmExports["sqlite3_stmt_busy"];Module["_sqlite3_next_stmt"]=_sqlite3_next_stmt=wasmExports["sqlite3_next_stmt"];Module["_sqlite3_stmt_status"]=_sqlite3_stmt_status=wasmExports["sqlite3_stmt_status"];Module["_sqlite3_sql"]=_sqlite3_sql=wasmExports["sqlite3_sql"];Module["_sqlite3_expanded_sql"]=_sqlite3_expanded_sql=wasmExports["sqlite3_expanded_sql"];Module["_sqlite3_value_numeric_type"]=_sqlite3_value_numeric_type=wasmExports["sqlite3_value_numeric_type"];Module["_sqlite3_blob_open"]=_sqlite3_blob_open=wasmExports["sqlite3_blob_open"];Module["_sqlite3_blob_close"]=_sqlite3_blob_close=wasmExports["sqlite3_blob_close"];Module["_sqlite3_blob_read"]=_sqlite3_blob_read=wasmExports["sqlite3_blob_read"];Module["_sqlite3_blob_write"]=_sqlite3_blob_write=wasmExports["sqlite3_blob_write"];Module["_sqlite3_blob_bytes"]=_sqlite3_blob_bytes=wasmExports["sqlite3_blob_bytes"];Module["_sqlite3_blob_reopen"]=_sqlite3_blob_reopen=wasmExports["sqlite3_blob_reopen"];Module["_sqlite3_set_authorizer"]=_sqlite3_set_authorizer=wasmExports["sqlite3_set_authorizer"];Module["_sqlite3_strglob"]=_sqlite3_strglob=wasmExports["sqlite3_strglob"];Module["_sqlite3_strlike"]=_sqlite3_strlike=wasmExports["sqlite3_strlike"];Module["_sqlite3_errmsg"]=_sqlite3_errmsg=wasmExports["sqlite3_errmsg"];Module["_sqlite3_load_extension"]=_sqlite3_load_extension=wasmExports["sqlite3_load_extension"];Module["_sqlite3_enable_load_extension"]=_sqlite3_enable_load_extension=wasmExports["sqlite3_enable_load_extension"];Module["_sqlite3_auto_extension"]=_sqlite3_auto_extension=wasmExports["sqlite3_auto_extension"];Module["_sqlite3_cancel_auto_extension"]=_sqlite3_cancel_auto_extension=wasmExports["sqlite3_cancel_auto_extension"];Module["_sqlite3_reset_auto_extension"]=_sqlite3_reset_auto_extension=wasmExports["sqlite3_reset_auto_extension"];Module["_sqlite3_prepare"]=_sqlite3_prepare=wasmExports["sqlite3_prepare"];Module["_sqlite3_prepare_v3"]=_sqlite3_prepare_v3=wasmExports["sqlite3_prepare_v3"];Module["_sqlite3_prepare16"]=_sqlite3_prepare16=wasmExports["sqlite3_prepare16"];Module["_sqlite3_prepare16_v2"]=_sqlite3_prepare16_v2=wasmExports["sqlite3_prepare16_v2"];Module["_sqlite3_prepare16_v3"]=_sqlite3_prepare16_v3=wasmExports["sqlite3_prepare16_v3"];Module["_sqlite3_get_table"]=_sqlite3_get_table=wasmExports["sqlite3_get_table"];Module["_sqlite3_free_table"]=_sqlite3_free_table=wasmExports["sqlite3_free_table"];Module["_sqlite3_create_module"]=_sqlite3_create_module=wasmExports["sqlite3_create_module"];Module["_sqlite3_create_module_v2"]=_sqlite3_create_module_v2=wasmExports["sqlite3_create_module_v2"];Module["_sqlite3_drop_modules"]=_sqlite3_drop_modules=wasmExports["sqlite3_drop_modules"];Module["_sqlite3_declare_vtab"]=_sqlite3_declare_vtab=wasmExports["sqlite3_declare_vtab"];Module["_sqlite3_vtab_on_conflict"]=_sqlite3_vtab_on_conflict=wasmExports["sqlite3_vtab_on_conflict"];Module["_sqlite3_vtab_config"]=_sqlite3_vtab_config=wasmExports["sqlite3_vtab_config"];Module["_sqlite3_vtab_collation"]=_sqlite3_vtab_collation=wasmExports["sqlite3_vtab_collation"];Module["_sqlite3_vtab_in"]=_sqlite3_vtab_in=wasmExports["sqlite3_vtab_in"];Module["_sqlite3_vtab_rhs_value"]=_sqlite3_vtab_rhs_value=wasmExports["sqlite3_vtab_rhs_value"];Module["_sqlite3_vtab_distinct"]=_sqlite3_vtab_distinct=wasmExports["sqlite3_vtab_distinct"];Module["_sqlite3_keyword_name"]=_sqlite3_keyword_name=wasmExports["sqlite3_keyword_name"];Module["_sqlite3_keyword_count"]=_sqlite3_keyword_count=wasmExports["sqlite3_keyword_count"];Module["_sqlite3_keyword_check"]=_sqlite3_keyword_check=wasmExports["sqlite3_keyword_check"];Module["_sqlite3_complete"]=_sqlite3_complete=wasmExports["sqlite3_complete"];Module["_sqlite3_complete16"]=_sqlite3_complete16=wasmExports["sqlite3_complete16"];Module["_sqlite3_libversion"]=_sqlite3_libversion=wasmExports["sqlite3_libversion"];Module["_sqlite3_libversion_number"]=_sqlite3_libversion_number=wasmExports["sqlite3_libversion_number"];Module["_sqlite3_threadsafe"]=_sqlite3_threadsafe=wasmExports["sqlite3_threadsafe"];Module["_sqlite3_initialize"]=_sqlite3_initialize=wasmExports["sqlite3_initialize"];Module["_sqlite3_shutdown"]=_sqlite3_shutdown=wasmExports["sqlite3_shutdown"];Module["_sqlite3_config"]=_sqlite3_config=wasmExports["sqlite3_config"];Module["_sqlite3_db_mutex"]=_sqlite3_db_mutex=wasmExports["sqlite3_db_mutex"];Module["_sqlite3_db_release_memory"]=_sqlite3_db_release_memory=wasmExports["sqlite3_db_release_memory"];Module["_sqlite3_db_cacheflush"]=_sqlite3_db_cacheflush=wasmExports["sqlite3_db_cacheflush"];Module["_sqlite3_db_config"]=_sqlite3_db_config=wasmExports["sqlite3_db_config"];Module["_sqlite3_last_insert_rowid"]=_sqlite3_last_insert_rowid=wasmExports["sqlite3_last_insert_rowid"];Module["_sqlite3_set_last_insert_rowid"]=_sqlite3_set_last_insert_rowid=wasmExports["sqlite3_set_last_insert_rowid"];Module["_sqlite3_changes64"]=_sqlite3_changes64=wasmExports["sqlite3_changes64"];Module["_sqlite3_changes"]=_sqlite3_changes=wasmExports["sqlite3_changes"];Module["_sqlite3_total_changes64"]=_sqlite3_total_changes64=wasmExports["sqlite3_total_changes64"];Module["_sqlite3_total_changes"]=_sqlite3_total_changes=wasmExports["sqlite3_total_changes"];Module["_sqlite3_txn_state"]=_sqlite3_txn_state=wasmExports["sqlite3_txn_state"];Module["_sqlite3_close"]=_sqlite3_close=wasmExports["sqlite3_close"];Module["_sqlite3_close_v2"]=_sqlite3_close_v2=wasmExports["sqlite3_close_v2"];Module["_sqlite3_busy_handler"]=_sqlite3_busy_handler=wasmExports["sqlite3_busy_handler"];Module["_sqlite3_progress_handler"]=_sqlite3_progress_handler=wasmExports["sqlite3_progress_handler"];Module["_sqlite3_busy_timeout"]=_sqlite3_busy_timeout=wasmExports["sqlite3_busy_timeout"];Module["_sqlite3_interrupt"]=_sqlite3_interrupt=wasmExports["sqlite3_interrupt"];Module["_sqlite3_is_interrupted"]=_sqlite3_is_interrupted=wasmExports["sqlite3_is_interrupted"];Module["_sqlite3_create_function"]=_sqlite3_create_function=wasmExports["sqlite3_create_function"];Module["_sqlite3_create_function_v2"]=_sqlite3_create_function_v2=wasmExports["sqlite3_create_function_v2"];Module["_sqlite3_create_window_function"]=_sqlite3_create_window_function=wasmExports["sqlite3_create_window_function"];Module["_sqlite3_create_function16"]=_sqlite3_create_function16=wasmExports["sqlite3_create_function16"];Module["_sqlite3_overload_function"]=_sqlite3_overload_function=wasmExports["sqlite3_overload_function"];Module["_sqlite3_trace_v2"]=_sqlite3_trace_v2=wasmExports["sqlite3_trace_v2"];Module["_sqlite3_commit_hook"]=_sqlite3_commit_hook=wasmExports["sqlite3_commit_hook"];Module["_sqlite3_update_hook"]=_sqlite3_update_hook=wasmExports["sqlite3_update_hook"];Module["_sqlite3_rollback_hook"]=_sqlite3_rollback_hook=wasmExports["sqlite3_rollback_hook"];Module["_sqlite3_autovacuum_pages"]=_sqlite3_autovacuum_pages=wasmExports["sqlite3_autovacuum_pages"];Module["_sqlite3_wal_autocheckpoint"]=_sqlite3_wal_autocheckpoint=wasmExports["sqlite3_wal_autocheckpoint"];Module["_sqlite3_wal_hook"]=_sqlite3_wal_hook=wasmExports["sqlite3_wal_hook"];Module["_sqlite3_wal_checkpoint_v2"]=_sqlite3_wal_checkpoint_v2=wasmExports["sqlite3_wal_checkpoint_v2"];Module["_sqlite3_wal_checkpoint"]=_sqlite3_wal_checkpoint=wasmExports["sqlite3_wal_checkpoint"];Module["_sqlite3_error_offset"]=_sqlite3_error_offset=wasmExports["sqlite3_error_offset"];Module["_sqlite3_errmsg16"]=_sqlite3_errmsg16=wasmExports["sqlite3_errmsg16"];Module["_sqlite3_errcode"]=_sqlite3_errcode=wasmExports["sqlite3_errcode"];Module["_sqlite3_extended_errcode"]=_sqlite3_extended_errcode=wasmExports["sqlite3_extended_errcode"];Module["_sqlite3_system_errno"]=_sqlite3_system_errno=wasmExports["sqlite3_system_errno"];Module["_sqlite3_errstr"]=_sqlite3_errstr=wasmExports["sqlite3_errstr"];Module["_sqlite3_limit"]=_sqlite3_limit=wasmExports["sqlite3_limit"];Module["_sqlite3_open"]=_sqlite3_open=wasmExports["sqlite3_open"];Module["_sqlite3_open_v2"]=_sqlite3_open_v2=wasmExports["sqlite3_open_v2"];Module["_sqlite3_open16"]=_sqlite3_open16=wasmExports["sqlite3_open16"];Module["_sqlite3_create_collation"]=_sqlite3_create_collation=wasmExports["sqlite3_create_collation"];Module["_sqlite3_create_collation_v2"]=_sqlite3_create_collation_v2=wasmExports["sqlite3_create_collation_v2"];Module["_sqlite3_create_collation16"]=_sqlite3_create_collation16=wasmExports["sqlite3_create_collation16"];Module["_sqlite3_collation_needed"]=_sqlite3_collation_needed=wasmExports["sqlite3_collation_needed"];Module["_sqlite3_collation_needed16"]=_sqlite3_collation_needed16=wasmExports["sqlite3_collation_needed16"];Module["_sqlite3_get_clientdata"]=_sqlite3_get_clientdata=wasmExports["sqlite3_get_clientdata"];Module["_sqlite3_set_clientdata"]=_sqlite3_set_clientdata=wasmExports["sqlite3_set_clientdata"];Module["_sqlite3_get_autocommit"]=_sqlite3_get_autocommit=wasmExports["sqlite3_get_autocommit"];Module["_sqlite3_table_column_metadata"]=_sqlite3_table_column_metadata=wasmExports["sqlite3_table_column_metadata"];Module["_sqlite3_sleep"]=_sqlite3_sleep=wasmExports["sqlite3_sleep"];Module["_sqlite3_extended_result_codes"]=_sqlite3_extended_result_codes=wasmExports["sqlite3_extended_result_codes"];Module["_sqlite3_file_control"]=_sqlite3_file_control=wasmExports["sqlite3_file_control"];Module["_sqlite3_test_control"]=_sqlite3_test_control=wasmExports["sqlite3_test_control"];Module["_sqlite3_create_filename"]=_sqlite3_create_filename=wasmExports["sqlite3_create_filename"];Module["_sqlite3_free_filename"]=_sqlite3_free_filename=wasmExports["sqlite3_free_filename"];Module["_sqlite3_uri_parameter"]=_sqlite3_uri_parameter=wasmExports["sqlite3_uri_parameter"];Module["_sqlite3_uri_key"]=_sqlite3_uri_key=wasmExports["sqlite3_uri_key"];Module["_sqlite3_uri_boolean"]=_sqlite3_uri_boolean=wasmExports["sqlite3_uri_boolean"];Module["_sqlite3_uri_int64"]=_sqlite3_uri_int64=wasmExports["sqlite3_uri_int64"];Module["_sqlite3_filename_database"]=_sqlite3_filename_database=wasmExports["sqlite3_filename_database"];Module["_sqlite3_filename_journal"]=_sqlite3_filename_journal=wasmExports["sqlite3_filename_journal"];Module["_sqlite3_filename_wal"]=_sqlite3_filename_wal=wasmExports["sqlite3_filename_wal"];Module["_sqlite3_db_name"]=_sqlite3_db_name=wasmExports["sqlite3_db_name"];Module["_sqlite3_db_filename"]=_sqlite3_db_filename=wasmExports["sqlite3_db_filename"];Module["_sqlite3_db_readonly"]=_sqlite3_db_readonly=wasmExports["sqlite3_db_readonly"];Module["_sqlite3_compileoption_used"]=_sqlite3_compileoption_used=wasmExports["sqlite3_compileoption_used"];Module["_sqlite3_compileoption_get"]=_sqlite3_compileoption_get=wasmExports["sqlite3_compileoption_get"];Module["_sqlite3_sourceid"]=_sqlite3_sourceid=wasmExports["sqlite3_sourceid"];_strerror=wasmExports["strerror"];Module["_memcmp"]=_memcmp=wasmExports["memcmp"];Module["_malloc"]=_malloc=wasmExports["malloc"];Module["_free"]=_free=wasmExports["free"];_realloc=wasmExports["realloc"];Module["_RegisterExtensionFunctions"]=_RegisterExtensionFunctions=wasmExports["RegisterExtensionFunctions"];_calloc=wasmExports["calloc"];Module["_getSqliteFree"]=_getSqliteFree=wasmExports["getSqliteFree"];Module["_main"]=_main=wasmExports["main"];Module["_libauthorizer_set_authorizer"]=_libauthorizer_set_authorizer=wasmExports["libauthorizer_set_authorizer"];Module["_libfunction_create_function"]=_libfunction_create_function=wasmExports["libfunction_create_function"];Module["_libhook_commit_hook"]=_libhook_commit_hook=wasmExports["libhook_commit_hook"];Module["_libhook_update_hook"]=_libhook_update_hook=wasmExports["libhook_update_hook"];Module["_libprogress_progress_handler"]=_libprogress_progress_handler=wasmExports["libprogress_progress_handler"];Module["_libvfs_vfs_register"]=_libvfs_vfs_register=wasmExports["libvfs_vfs_register"];___dl_seterr=wasmExports["__dl_seterr"];__emscripten_find_dylib=wasmExports["_emscripten_find_dylib"];Module["_memcpy"]=_memcpy=wasmExports["memcpy"];Module["_memset"]=_memset=wasmExports["memset"];_fileno=wasmExports["fileno"];_htonl=wasmExports["htonl"];_htons=wasmExports["htons"];_emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"];_ntohs=wasmExports["ntohs"];__emscripten_timeout=wasmExports["_emscripten_timeout"];_setThrew=wasmExports["setThrew"];__emscripten_tempret_set=wasmExports["_emscripten_tempret_set"];__emscripten_tempret_get=wasmExports["_emscripten_tempret_get"];___get_temp_ret=wasmExports["__get_temp_ret"];___set_temp_ret=wasmExports["__set_temp_ret"];__emscripten_stack_restore=wasmExports["_emscripten_stack_restore"];__emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"];_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"];___cxa_demangle=wasmExports["__cxa_demangle"];___cxa_increment_exception_refcount=wasmExports["__cxa_increment_exception_refcount"];___cxa_decrement_exception_refcount=wasmExports["__cxa_decrement_exception_refcount"];___cxa_can_catch=wasmExports["__cxa_can_catch"];___cxa_get_exception_ptr=wasmExports["__cxa_get_exception_ptr"];___wasm_apply_data_relocs=wasmExports["__wasm_apply_data_relocs"]}var _sqlite3_version=Module["_sqlite3_version"]=67092;var wasmImports={IMG_Init:_IMG_Init,IMG_Load:_IMG_Load,IMG_Load_RW:_IMG_Load_RW,IMG_Quit:_IMG_Quit,Mix_AllocateChannels:_Mix_AllocateChannels,Mix_ChannelFinished:_Mix_ChannelFinished,Mix_CloseAudio:_Mix_CloseAudio,Mix_FadeInChannelTimed:_Mix_FadeInChannelTimed,Mix_FadeInMusicPos:_Mix_FadeInMusicPos,Mix_FadeOutChannel:_Mix_FadeOutChannel,Mix_FadeOutMusic:_Mix_FadeOutMusic,Mix_FadingChannel:_Mix_FadingChannel,Mix_FreeChunk:_Mix_FreeChunk,Mix_FreeMusic:_Mix_FreeMusic,Mix_HaltChannel:_Mix_HaltChannel,Mix_HaltMusic:_Mix_HaltMusic,Mix_HookMusicFinished:_Mix_HookMusicFinished,Mix_Init:_Mix_Init,Mix_Linked_Version:_Mix_Linked_Version,Mix_LoadMUS:_Mix_LoadMUS,Mix_LoadMUS_RW:_Mix_LoadMUS_RW,Mix_LoadWAV:_Mix_LoadWAV,Mix_LoadWAV_RW:_Mix_LoadWAV_RW,Mix_OpenAudio:_Mix_OpenAudio,Mix_Pause:_Mix_Pause,Mix_PauseMusic:_Mix_PauseMusic,Mix_Paused:_Mix_Paused,Mix_PausedMusic:_Mix_PausedMusic,Mix_PlayChannelTimed:_Mix_PlayChannelTimed,Mix_PlayMusic:_Mix_PlayMusic,Mix_Playing:_Mix_Playing,Mix_PlayingMusic:_Mix_PlayingMusic,Mix_QuerySpec:_Mix_QuerySpec,Mix_QuickLoad_RAW:_Mix_QuickLoad_RAW,Mix_Quit:_Mix_Quit,Mix_ReserveChannels:_Mix_ReserveChannels,Mix_Resume:_Mix_Resume,Mix_ResumeMusic:_Mix_ResumeMusic,Mix_SetPanning:_Mix_SetPanning,Mix_SetPosition:_Mix_SetPosition,Mix_SetPostMix:_Mix_SetPostMix,Mix_Volume:_Mix_Volume,Mix_VolumeChunk:_Mix_VolumeChunk,Mix_VolumeMusic:_Mix_VolumeMusic,SDL_AddTimer:_SDL_AddTimer,SDL_AllocRW:_SDL_AllocRW,SDL_AudioDriverName:_SDL_AudioDriverName,SDL_AudioQuit:_SDL_AudioQuit,SDL_ClearError:_SDL_ClearError,SDL_CloseAudio:_SDL_CloseAudio,SDL_CondBroadcast:_SDL_CondBroadcast,SDL_CondSignal:_SDL_CondSignal,SDL_CondWait:_SDL_CondWait,SDL_CondWaitTimeout:_SDL_CondWaitTimeout,SDL_ConvertSurface:_SDL_ConvertSurface,SDL_CreateCond:_SDL_CreateCond,SDL_CreateMutex:_SDL_CreateMutex,SDL_CreateRGBSurface:_SDL_CreateRGBSurface,SDL_CreateRGBSurfaceFrom:_SDL_CreateRGBSurfaceFrom,SDL_CreateThread:_SDL_CreateThread,SDL_Delay:_SDL_Delay,SDL_DestroyCond:_SDL_DestroyCond,SDL_DestroyMutex:_SDL_DestroyMutex,SDL_DestroyRenderer:_SDL_DestroyRenderer,SDL_DestroyWindow:_SDL_DestroyWindow,SDL_DisplayFormat:_SDL_DisplayFormat,SDL_DisplayFormatAlpha:_SDL_DisplayFormatAlpha,SDL_EnableKeyRepeat:_SDL_EnableKeyRepeat,SDL_EnableUNICODE:_SDL_EnableUNICODE,SDL_FillRect:_SDL_FillRect,SDL_Flip:_SDL_Flip,SDL_FreeRW:_SDL_FreeRW,SDL_FreeSurface:_SDL_FreeSurface,SDL_GL_DeleteContext:_SDL_GL_DeleteContext,SDL_GL_ExtensionSupported:_SDL_GL_ExtensionSupported,SDL_GL_GetAttribute:_SDL_GL_GetAttribute,SDL_GL_GetSwapInterval:_SDL_GL_GetSwapInterval,SDL_GL_MakeCurrent:_SDL_GL_MakeCurrent,SDL_GL_SetAttribute:_SDL_GL_SetAttribute,SDL_GL_SetSwapInterval:_SDL_GL_SetSwapInterval,SDL_GL_SwapBuffers:_SDL_GL_SwapBuffers,SDL_GL_SwapWindow:_SDL_GL_SwapWindow,SDL_GetAppState:_SDL_GetAppState,SDL_GetAudioDriver:_SDL_GetAudioDriver,SDL_GetClipRect:_SDL_GetClipRect,SDL_GetCurrentAudioDriver:_SDL_GetCurrentAudioDriver,SDL_GetError:_SDL_GetError,SDL_GetKeyName:_SDL_GetKeyName,SDL_GetKeyState:_SDL_GetKeyState,SDL_GetKeyboardState:_SDL_GetKeyboardState,SDL_GetModState:_SDL_GetModState,SDL_GetMouseState:_SDL_GetMouseState,SDL_GetNumAudioDrivers:_SDL_GetNumAudioDrivers,SDL_GetRGB:_SDL_GetRGB,SDL_GetRGBA:_SDL_GetRGBA,SDL_GetScancodeFromKey:_SDL_GetScancodeFromKey,SDL_GetThreadID:_SDL_GetThreadID,SDL_GetTicks:_SDL_GetTicks,SDL_GetVideoInfo:_SDL_GetVideoInfo,SDL_GetVideoSurface:_SDL_GetVideoSurface,SDL_GetWindowFlags:_SDL_GetWindowFlags,SDL_GetWindowSize:_SDL_GetWindowSize,SDL_Has3DNow:_SDL_Has3DNow,SDL_Has3DNowExt:_SDL_Has3DNowExt,SDL_HasAltiVec:_SDL_HasAltiVec,SDL_HasMMX:_SDL_HasMMX,SDL_HasMMXExt:_SDL_HasMMXExt,SDL_HasRDTSC:_SDL_HasRDTSC,SDL_HasSSE:_SDL_HasSSE,SDL_HasSSE2:_SDL_HasSSE2,SDL_Init:_SDL_Init,SDL_InitSubSystem:_SDL_InitSubSystem,SDL_JoystickClose:_SDL_JoystickClose,SDL_JoystickEventState:_SDL_JoystickEventState,SDL_JoystickGetAxis:_SDL_JoystickGetAxis,SDL_JoystickGetBall:_SDL_JoystickGetBall,SDL_JoystickGetButton:_SDL_JoystickGetButton,SDL_JoystickGetHat:_SDL_JoystickGetHat,SDL_JoystickIndex:_SDL_JoystickIndex,SDL_JoystickName:_SDL_JoystickName,SDL_JoystickNumAxes:_SDL_JoystickNumAxes,SDL_JoystickNumBalls:_SDL_JoystickNumBalls,SDL_JoystickNumButtons:_SDL_JoystickNumButtons,SDL_JoystickNumHats:_SDL_JoystickNumHats,SDL_JoystickOpen:_SDL_JoystickOpen,SDL_JoystickOpened:_SDL_JoystickOpened,SDL_JoystickUpdate:_SDL_JoystickUpdate,SDL_Linked_Version:_SDL_Linked_Version,SDL_ListModes:_SDL_ListModes,SDL_LoadBMP_RW:_SDL_LoadBMP_RW,SDL_LockAudio:_SDL_LockAudio,SDL_LockSurface:_SDL_LockSurface,SDL_LogSetOutputFunction:_SDL_LogSetOutputFunction,SDL_LowerBlit:_SDL_LowerBlit,SDL_LowerBlitScaled:_SDL_LowerBlitScaled,SDL_MapRGB:_SDL_MapRGB,SDL_MapRGBA:_SDL_MapRGBA,SDL_NumJoysticks:_SDL_NumJoysticks,SDL_OpenAudio:_SDL_OpenAudio,SDL_PauseAudio:_SDL_PauseAudio,SDL_PeepEvents:_SDL_PeepEvents,SDL_PollEvent:_SDL_PollEvent,SDL_PumpEvents:_SDL_PumpEvents,SDL_PushEvent:_SDL_PushEvent,SDL_Quit:_SDL_Quit,SDL_QuitSubSystem:_SDL_QuitSubSystem,SDL_RWFromConstMem:_SDL_RWFromConstMem,SDL_RWFromFile:_SDL_RWFromFile,SDL_RWFromMem:_SDL_RWFromMem,SDL_RemoveTimer:_SDL_RemoveTimer,SDL_SaveBMP_RW:_SDL_SaveBMP_RW,SDL_SetAlpha:_SDL_SetAlpha,SDL_SetClipRect:_SDL_SetClipRect,SDL_SetColorKey:_SDL_SetColorKey,SDL_SetColors:_SDL_SetColors,SDL_SetError:_SDL_SetError,SDL_SetGamma:_SDL_SetGamma,SDL_SetGammaRamp:_SDL_SetGammaRamp,SDL_SetPalette:_SDL_SetPalette,SDL_SetVideoMode:_SDL_SetVideoMode,SDL_SetWindowFullscreen:_SDL_SetWindowFullscreen,SDL_SetWindowTitle:_SDL_SetWindowTitle,SDL_ShowCursor:_SDL_ShowCursor,SDL_StartTextInput:_SDL_StartTextInput,SDL_StopTextInput:_SDL_StopTextInput,SDL_ThreadID:_SDL_ThreadID,SDL_UnlockAudio:_SDL_UnlockAudio,SDL_UnlockSurface:_SDL_UnlockSurface,SDL_UpdateRect:_SDL_UpdateRect,SDL_UpdateRects:_SDL_UpdateRects,SDL_UpperBlit:_SDL_UpperBlit,SDL_UpperBlitScaled:_SDL_UpperBlitScaled,SDL_VideoDriverName:_SDL_VideoDriverName,SDL_VideoModeOK:_SDL_VideoModeOK,SDL_VideoQuit:_SDL_VideoQuit,SDL_WM_GrabInput:_SDL_WM_GrabInput,SDL_WM_IconifyWindow:_SDL_WM_IconifyWindow,SDL_WM_SetCaption:_SDL_WM_SetCaption,SDL_WM_SetIcon:_SDL_WM_SetIcon,SDL_WM_ToggleFullScreen:_SDL_WM_ToggleFullScreen,SDL_WaitThread:_SDL_WaitThread,SDL_WarpMouse:_SDL_WarpMouse,SDL_WasInit:_SDL_WasInit,SDL_mutexP:_SDL_mutexP,SDL_mutexV:_SDL_mutexV,TTF_CloseFont:_TTF_CloseFont,TTF_FontAscent:_TTF_FontAscent,TTF_FontDescent:_TTF_FontDescent,TTF_FontHeight:_TTF_FontHeight,TTF_FontLineSkip:_TTF_FontLineSkip,TTF_GlyphMetrics:_TTF_GlyphMetrics,TTF_Init:_TTF_Init,TTF_OpenFont:_TTF_OpenFont,TTF_Quit:_TTF_Quit,TTF_RenderText_Blended:_TTF_RenderText_Blended,TTF_RenderText_Shaded:_TTF_RenderText_Shaded,TTF_RenderText_Solid:_TTF_RenderText_Solid,TTF_RenderUTF8_Solid:_TTF_RenderUTF8_Solid,TTF_SizeText:_TTF_SizeText,TTF_SizeUTF8:_TTF_SizeUTF8,XChangeWindowAttributes:_XChangeWindowAttributes,XCreateWindow:_XCreateWindow,XInternAtom:_XInternAtom,XMapWindow:_XMapWindow,XOpenDisplay:_XOpenDisplay,XPending:_XPending,XSendEvent:_XSendEvent,XSetWMHints:_XSetWMHints,XStoreName:_XStoreName,_Unwind_Backtrace:__Unwind_Backtrace,_Unwind_DeleteException:__Unwind_DeleteException,_Unwind_FindEnclosingFunction:__Unwind_FindEnclosingFunction,_Unwind_GetIPInfo:__Unwind_GetIPInfo,_Unwind_RaiseException:__Unwind_RaiseException,__asctime_r:___asctime_r,__assert_fail:___assert_fail,__call_sighandler:___call_sighandler,__cxa_begin_catch:___cxa_begin_catch,__cxa_call_unexpected:___cxa_call_unexpected,__cxa_current_exception_type:___cxa_current_exception_type,__cxa_end_catch:___cxa_end_catch,__cxa_find_matching_catch_2:___cxa_find_matching_catch_2,__cxa_find_matching_catch_3:___cxa_find_matching_catch_3,__cxa_find_matching_catch_4:___cxa_find_matching_catch_4,__cxa_rethrow:___cxa_rethrow,__cxa_throw:___cxa_throw,__global_base:___global_base,__heap_base:___heap_base,__indirect_function_table:wasmTable,__memory_base:___memory_base,__resumeException:___resumeException,__stack_high:___stack_high,__stack_low:___stack_low,__stack_pointer:___stack_pointer,__syscall__newselect:___syscall__newselect,__syscall_accept4:___syscall_accept4,__syscall_bind:___syscall_bind,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_connect:___syscall_connect,__syscall_dup:___syscall_dup,__syscall_dup3:___syscall_dup3,__syscall_faccessat:___syscall_faccessat,__syscall_fadvise64:___syscall_fadvise64,__syscall_fallocate:___syscall_fallocate,__syscall_fchdir:___syscall_fchdir,__syscall_fchmod:___syscall_fchmod,__syscall_fchmodat2:___syscall_fchmodat2,__syscall_fchown32:___syscall_fchown32,__syscall_fchownat:___syscall_fchownat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fdatasync:___syscall_fdatasync,__syscall_fstat64:___syscall_fstat64,__syscall_fstatfs64:___syscall_fstatfs64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_getpeername:___syscall_getpeername,__syscall_getsockname:___syscall_getsockname,__syscall_getsockopt:___syscall_getsockopt,__syscall_ioctl:___syscall_ioctl,__syscall_listen:___syscall_listen,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_mknodat:___syscall_mknodat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_pipe:___syscall_pipe,__syscall_poll:___syscall_poll,__syscall_readlinkat:___syscall_readlinkat,__syscall_recvfrom:___syscall_recvfrom,__syscall_recvmsg:___syscall_recvmsg,__syscall_renameat:___syscall_renameat,__syscall_rmdir:___syscall_rmdir,__syscall_sendmsg:___syscall_sendmsg,__syscall_sendto:___syscall_sendto,__syscall_socket:___syscall_socket,__syscall_stat64:___syscall_stat64,__syscall_statfs64:___syscall_statfs64,__syscall_symlinkat:___syscall_symlinkat,__syscall_truncate64:___syscall_truncate64,__syscall_unlinkat:___syscall_unlinkat,__syscall_utimensat:___syscall_utimensat,__table_base:___table_base,_abort_js:__abort_js,_dlopen_js:__dlopen_js,_dlsym_catchup_js:__dlsym_catchup_js,_dlsym_js:__dlsym_js,_emscripten_dlopen_js:__emscripten_dlopen_js,_emscripten_fs_load_embedded_files:__emscripten_fs_load_embedded_files,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_get_progname:__emscripten_get_progname,_emscripten_lookup_name:__emscripten_lookup_name,_emscripten_push_main_loop_blocker:__emscripten_push_main_loop_blocker,_emscripten_push_uncounted_main_loop_blocker:__emscripten_push_uncounted_main_loop_blocker,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_emscripten_system:__emscripten_system,_emscripten_throw_longjmp:__emscripten_throw_longjmp,_glGetActiveAttribOrUniform:__glGetActiveAttribOrUniform,_gmtime_js:__gmtime_js,_localtime_js:__localtime_js,_mktime_js:__mktime_js,_mmap_js:__mmap_js,_msync_js:__msync_js,_munmap_js:__munmap_js,_setitimer_js:__setitimer_js,_timegm_js:__timegm_js,_tzset_js:__tzset_js,alBuffer3f:_alBuffer3f,alBuffer3i:_alBuffer3i,alBufferData:_alBufferData,alBufferf:_alBufferf,alBufferfv:_alBufferfv,alBufferi:_alBufferi,alBufferiv:_alBufferiv,alDeleteBuffers:_alDeleteBuffers,alDeleteSources:_alDeleteSources,alDisable:_alDisable,alDistanceModel:_alDistanceModel,alDopplerFactor:_alDopplerFactor,alDopplerVelocity:_alDopplerVelocity,alEnable:_alEnable,alGenBuffers:_alGenBuffers,alGenSources:_alGenSources,alGetBoolean:_alGetBoolean,alGetBooleanv:_alGetBooleanv,alGetBuffer3f:_alGetBuffer3f,alGetBuffer3i:_alGetBuffer3i,alGetBufferf:_alGetBufferf,alGetBufferfv:_alGetBufferfv,alGetBufferi:_alGetBufferi,alGetBufferiv:_alGetBufferiv,alGetDouble:_alGetDouble,alGetDoublev:_alGetDoublev,alGetEnumValue:_alGetEnumValue,alGetError:_alGetError,alGetFloat:_alGetFloat,alGetFloatv:_alGetFloatv,alGetInteger:_alGetInteger,alGetIntegerv:_alGetIntegerv,alGetListener3f:_alGetListener3f,alGetListener3i:_alGetListener3i,alGetListenerf:_alGetListenerf,alGetListenerfv:_alGetListenerfv,alGetListeneri:_alGetListeneri,alGetListeneriv:_alGetListeneriv,alGetSource3f:_alGetSource3f,alGetSource3i:_alGetSource3i,alGetSourcef:_alGetSourcef,alGetSourcefv:_alGetSourcefv,alGetSourcei:_alGetSourcei,alGetSourceiv:_alGetSourceiv,alGetString:_alGetString,alIsBuffer:_alIsBuffer,alIsEnabled:_alIsEnabled,alIsExtensionPresent:_alIsExtensionPresent,alIsSource:_alIsSource,alListener3f:_alListener3f,alListener3i:_alListener3i,alListenerf:_alListenerf,alListenerfv:_alListenerfv,alListeneri:_alListeneri,alListeneriv:_alListeneriv,alSource3f:_alSource3f,alSource3i:_alSource3i,alSourcePause:_alSourcePause,alSourcePausev:_alSourcePausev,alSourcePlay:_alSourcePlay,alSourcePlayv:_alSourcePlayv,alSourceQueueBuffers:_alSourceQueueBuffers,alSourceRewind:_alSourceRewind,alSourceRewindv:_alSourceRewindv,alSourceStop:_alSourceStop,alSourceStopv:_alSourceStopv,alSourceUnqueueBuffers:_alSourceUnqueueBuffers,alSourcef:_alSourcef,alSourcefv:_alSourcefv,alSourcei:_alSourcei,alSourceiv:_alSourceiv,alSpeedOfSound:_alSpeedOfSound,alcCaptureCloseDevice:_alcCaptureCloseDevice,alcCaptureOpenDevice:_alcCaptureOpenDevice,alcCaptureSamples:_alcCaptureSamples,alcCaptureStart:_alcCaptureStart,alcCaptureStop:_alcCaptureStop,alcCloseDevice:_alcCloseDevice,alcCreateContext:_alcCreateContext,alcDestroyContext:_alcDestroyContext,alcGetContextsDevice:_alcGetContextsDevice,alcGetCurrentContext:_alcGetCurrentContext,alcGetEnumValue:_alcGetEnumValue,alcGetError:_alcGetError,alcGetIntegerv:_alcGetIntegerv,alcGetString:_alcGetString,alcIsExtensionPresent:_alcIsExtensionPresent,alcMakeContextCurrent:_alcMakeContextCurrent,alcOpenDevice:_alcOpenDevice,alcProcessContext:_alcProcessContext,alcSuspendContext:_alcSuspendContext,boxColor:_boxColor,boxRGBA:_boxRGBA,clock_res_get:_clock_res_get,clock_time_get:_clock_time_get,eglBindAPI:_eglBindAPI,eglChooseConfig:_eglChooseConfig,eglCreateContext:_eglCreateContext,eglCreateWindowSurface:_eglCreateWindowSurface,eglDestroyContext:_eglDestroyContext,eglDestroySurface:_eglDestroySurface,eglGetConfigAttrib:_eglGetConfigAttrib,eglGetConfigs:_eglGetConfigs,eglGetCurrentContext:_eglGetCurrentContext,eglGetCurrentDisplay:_eglGetCurrentDisplay,eglGetCurrentSurface:_eglGetCurrentSurface,eglGetDisplay:_eglGetDisplay,eglGetError:_eglGetError,eglInitialize:_eglInitialize,eglMakeCurrent:_eglMakeCurrent,eglQueryAPI:_eglQueryAPI,eglQueryContext:_eglQueryContext,eglQueryString:_eglQueryString,eglQuerySurface:_eglQuerySurface,eglReleaseThread:_eglReleaseThread,eglSwapBuffers:_eglSwapBuffers,eglSwapInterval:_eglSwapInterval,eglTerminate:_eglTerminate,eglWaitClient:_eglWaitClient,eglWaitGL:_eglWaitGL,eglWaitNative:_eglWaitNative,ellipseColor:_ellipseColor,ellipseRGBA:_ellipseRGBA,emscripten_SDL_SetEventHandler:_emscripten_SDL_SetEventHandler,emscripten_alcDevicePauseSOFT:_emscripten_alcDevicePauseSOFT,emscripten_alcDeviceResumeSOFT:_emscripten_alcDeviceResumeSOFT,emscripten_alcGetStringiSOFT:_emscripten_alcGetStringiSOFT,emscripten_alcResetDeviceSOFT:_emscripten_alcResetDeviceSOFT,emscripten_asm_const_async_on_main_thread:_emscripten_asm_const_async_on_main_thread,emscripten_asm_const_double:_emscripten_asm_const_double,emscripten_asm_const_double_sync_on_main_thread:_emscripten_asm_const_double_sync_on_main_thread,emscripten_asm_const_int:_emscripten_asm_const_int,emscripten_asm_const_int_sync_on_main_thread:_emscripten_asm_const_int_sync_on_main_thread,emscripten_asm_const_ptr:_emscripten_asm_const_ptr,emscripten_asm_const_ptr_sync_on_main_thread:_emscripten_asm_const_ptr_sync_on_main_thread,emscripten_async_call:_emscripten_async_call,emscripten_async_load_script:_emscripten_async_load_script,emscripten_async_run_script:_emscripten_async_run_script,emscripten_async_wget:_emscripten_async_wget,emscripten_async_wget2:_emscripten_async_wget2,emscripten_async_wget2_abort:_emscripten_async_wget2_abort,emscripten_async_wget2_data:_emscripten_async_wget2_data,emscripten_async_wget_data:_emscripten_async_wget_data,emscripten_call_worker:_emscripten_call_worker,emscripten_cancel_animation_frame:_emscripten_cancel_animation_frame,emscripten_cancel_main_loop:_emscripten_cancel_main_loop,emscripten_clear_immediate:_emscripten_clear_immediate,emscripten_clear_interval:_emscripten_clear_interval,emscripten_clear_timeout:_emscripten_clear_timeout,emscripten_console_error:_emscripten_console_error,emscripten_console_log:_emscripten_console_log,emscripten_console_trace:_emscripten_console_trace,emscripten_console_warn:_emscripten_console_warn,emscripten_create_worker:_emscripten_create_worker,emscripten_date_now:_emscripten_date_now,emscripten_debugger:_emscripten_debugger,emscripten_destroy_worker:_emscripten_destroy_worker,emscripten_enter_soft_fullscreen:_emscripten_enter_soft_fullscreen,emscripten_err:_emscripten_err,emscripten_errn:_emscripten_errn,emscripten_exit_fullscreen:_emscripten_exit_fullscreen,emscripten_exit_pointerlock:_emscripten_exit_pointerlock,emscripten_exit_soft_fullscreen:_emscripten_exit_soft_fullscreen,emscripten_exit_with_live_runtime:_emscripten_exit_with_live_runtime,emscripten_fiber_swap:_emscripten_fiber_swap,emscripten_force_exit:_emscripten_force_exit,emscripten_get_battery_status:_emscripten_get_battery_status,emscripten_get_callstack:_emscripten_get_callstack,emscripten_get_canvas_element_size:_emscripten_get_canvas_element_size,emscripten_get_canvas_size:_emscripten_get_canvas_size,emscripten_get_compiler_setting:_emscripten_get_compiler_setting,emscripten_get_device_pixel_ratio:_emscripten_get_device_pixel_ratio,emscripten_get_devicemotion_status:_emscripten_get_devicemotion_status,emscripten_get_deviceorientation_status:_emscripten_get_deviceorientation_status,emscripten_get_element_css_size:_emscripten_get_element_css_size,emscripten_get_fullscreen_status:_emscripten_get_fullscreen_status,emscripten_get_gamepad_status:_emscripten_get_gamepad_status,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_main_loop_timing:_emscripten_get_main_loop_timing,emscripten_get_mouse_status:_emscripten_get_mouse_status,emscripten_get_now:_emscripten_get_now,emscripten_get_now_res:_emscripten_get_now_res,emscripten_get_num_gamepads:_emscripten_get_num_gamepads,emscripten_get_orientation_status:_emscripten_get_orientation_status,emscripten_get_pointerlock_status:_emscripten_get_pointerlock_status,emscripten_get_preloaded_image_data:_emscripten_get_preloaded_image_data,emscripten_get_preloaded_image_data_from_FILE:_emscripten_get_preloaded_image_data_from_FILE,emscripten_get_screen_size:_emscripten_get_screen_size,emscripten_get_visibility_status:_emscripten_get_visibility_status,emscripten_get_window_title:_emscripten_get_window_title,emscripten_get_worker_queue_size:_emscripten_get_worker_queue_size,emscripten_glActiveTexture:_emscripten_glActiveTexture,emscripten_glAttachShader:_emscripten_glAttachShader,emscripten_glBegin:_emscripten_glBegin,emscripten_glBeginQueryEXT:_emscripten_glBeginQueryEXT,emscripten_glBindAttribLocation:_emscripten_glBindAttribLocation,emscripten_glBindBuffer:_emscripten_glBindBuffer,emscripten_glBindFramebuffer:_emscripten_glBindFramebuffer,emscripten_glBindRenderbuffer:_emscripten_glBindRenderbuffer,emscripten_glBindTexture:_emscripten_glBindTexture,emscripten_glBindVertexArray:_emscripten_glBindVertexArray,emscripten_glBindVertexArrayOES:_emscripten_glBindVertexArrayOES,emscripten_glBlendColor:_emscripten_glBlendColor,emscripten_glBlendEquation:_emscripten_glBlendEquation,emscripten_glBlendEquationSeparate:_emscripten_glBlendEquationSeparate,emscripten_glBlendFunc:_emscripten_glBlendFunc,emscripten_glBlendFuncSeparate:_emscripten_glBlendFuncSeparate,emscripten_glBufferData:_emscripten_glBufferData,emscripten_glBufferSubData:_emscripten_glBufferSubData,emscripten_glCheckFramebufferStatus:_emscripten_glCheckFramebufferStatus,emscripten_glClear:_emscripten_glClear,emscripten_glClearColor:_emscripten_glClearColor,emscripten_glClearDepth:_emscripten_glClearDepth,emscripten_glClearDepthf:_emscripten_glClearDepthf,emscripten_glClearStencil:_emscripten_glClearStencil,emscripten_glClipControlEXT:_emscripten_glClipControlEXT,emscripten_glColorMask:_emscripten_glColorMask,emscripten_glCompileShader:_emscripten_glCompileShader,emscripten_glCompressedTexImage2D:_emscripten_glCompressedTexImage2D,emscripten_glCompressedTexSubImage2D:_emscripten_glCompressedTexSubImage2D,emscripten_glCopyTexImage2D:_emscripten_glCopyTexImage2D,emscripten_glCopyTexSubImage2D:_emscripten_glCopyTexSubImage2D,emscripten_glCreateProgram:_emscripten_glCreateProgram,emscripten_glCreateShader:_emscripten_glCreateShader,emscripten_glCullFace:_emscripten_glCullFace,emscripten_glDeleteBuffers:_emscripten_glDeleteBuffers,emscripten_glDeleteFramebuffers:_emscripten_glDeleteFramebuffers,emscripten_glDeleteProgram:_emscripten_glDeleteProgram,emscripten_glDeleteQueriesEXT:_emscripten_glDeleteQueriesEXT,emscripten_glDeleteRenderbuffers:_emscripten_glDeleteRenderbuffers,emscripten_glDeleteShader:_emscripten_glDeleteShader,emscripten_glDeleteTextures:_emscripten_glDeleteTextures,emscripten_glDeleteVertexArrays:_emscripten_glDeleteVertexArrays,emscripten_glDeleteVertexArraysOES:_emscripten_glDeleteVertexArraysOES,emscripten_glDepthFunc:_emscripten_glDepthFunc,emscripten_glDepthMask:_emscripten_glDepthMask,emscripten_glDepthRange:_emscripten_glDepthRange,emscripten_glDepthRangef:_emscripten_glDepthRangef,emscripten_glDetachShader:_emscripten_glDetachShader,emscripten_glDisable:_emscripten_glDisable,emscripten_glDisableVertexAttribArray:_emscripten_glDisableVertexAttribArray,emscripten_glDrawArrays:_emscripten_glDrawArrays,emscripten_glDrawArraysInstanced:_emscripten_glDrawArraysInstanced,emscripten_glDrawArraysInstancedANGLE:_emscripten_glDrawArraysInstancedANGLE,emscripten_glDrawArraysInstancedARB:_emscripten_glDrawArraysInstancedARB,emscripten_glDrawArraysInstancedEXT:_emscripten_glDrawArraysInstancedEXT,emscripten_glDrawArraysInstancedNV:_emscripten_glDrawArraysInstancedNV,emscripten_glDrawBuffers:_emscripten_glDrawBuffers,emscripten_glDrawBuffersEXT:_emscripten_glDrawBuffersEXT,emscripten_glDrawBuffersWEBGL:_emscripten_glDrawBuffersWEBGL,emscripten_glDrawElements:_emscripten_glDrawElements,emscripten_glDrawElementsInstanced:_emscripten_glDrawElementsInstanced,emscripten_glDrawElementsInstancedANGLE:_emscripten_glDrawElementsInstancedANGLE,emscripten_glDrawElementsInstancedARB:_emscripten_glDrawElementsInstancedARB,emscripten_glDrawElementsInstancedEXT:_emscripten_glDrawElementsInstancedEXT,emscripten_glDrawElementsInstancedNV:_emscripten_glDrawElementsInstancedNV,emscripten_glEnable:_emscripten_glEnable,emscripten_glEnableVertexAttribArray:_emscripten_glEnableVertexAttribArray,emscripten_glEndQueryEXT:_emscripten_glEndQueryEXT,emscripten_glFinish:_emscripten_glFinish,emscripten_glFlush:_emscripten_glFlush,emscripten_glFramebufferRenderbuffer:_emscripten_glFramebufferRenderbuffer,emscripten_glFramebufferTexture2D:_emscripten_glFramebufferTexture2D,emscripten_glFrontFace:_emscripten_glFrontFace,emscripten_glGenBuffers:_emscripten_glGenBuffers,emscripten_glGenFramebuffers:_emscripten_glGenFramebuffers,emscripten_glGenQueriesEXT:_emscripten_glGenQueriesEXT,emscripten_glGenRenderbuffers:_emscripten_glGenRenderbuffers,emscripten_glGenTextures:_emscripten_glGenTextures,emscripten_glGenVertexArrays:_emscripten_glGenVertexArrays,emscripten_glGenVertexArraysOES:_emscripten_glGenVertexArraysOES,emscripten_glGenerateMipmap:_emscripten_glGenerateMipmap,emscripten_glGetActiveAttrib:_emscripten_glGetActiveAttrib,emscripten_glGetActiveUniform:_emscripten_glGetActiveUniform,emscripten_glGetAttachedShaders:_emscripten_glGetAttachedShaders,emscripten_glGetAttribLocation:_emscripten_glGetAttribLocation,emscripten_glGetBooleanv:_emscripten_glGetBooleanv,emscripten_glGetBufferParameteriv:_emscripten_glGetBufferParameteriv,emscripten_glGetError:_emscripten_glGetError,emscripten_glGetFloatv:_emscripten_glGetFloatv,emscripten_glGetFramebufferAttachmentParameteriv:_emscripten_glGetFramebufferAttachmentParameteriv,emscripten_glGetIntegerv:_emscripten_glGetIntegerv,emscripten_glGetProgramInfoLog:_emscripten_glGetProgramInfoLog,emscripten_glGetProgramiv:_emscripten_glGetProgramiv,emscripten_glGetQueryObjecti64vEXT:_emscripten_glGetQueryObjecti64vEXT,emscripten_glGetQueryObjectivEXT:_emscripten_glGetQueryObjectivEXT,emscripten_glGetQueryObjectui64vEXT:_emscripten_glGetQueryObjectui64vEXT,emscripten_glGetQueryObjectuivEXT:_emscripten_glGetQueryObjectuivEXT,emscripten_glGetQueryivEXT:_emscripten_glGetQueryivEXT,emscripten_glGetRenderbufferParameteriv:_emscripten_glGetRenderbufferParameteriv,emscripten_glGetShaderInfoLog:_emscripten_glGetShaderInfoLog,emscripten_glGetShaderPrecisionFormat:_emscripten_glGetShaderPrecisionFormat,emscripten_glGetShaderSource:_emscripten_glGetShaderSource,emscripten_glGetShaderiv:_emscripten_glGetShaderiv,emscripten_glGetString:_emscripten_glGetString,emscripten_glGetTexParameterfv:_emscripten_glGetTexParameterfv,emscripten_glGetTexParameteriv:_emscripten_glGetTexParameteriv,emscripten_glGetUniformLocation:_emscripten_glGetUniformLocation,emscripten_glGetUniformfv:_emscripten_glGetUniformfv,emscripten_glGetUniformiv:_emscripten_glGetUniformiv,emscripten_glGetVertexAttribPointerv:_emscripten_glGetVertexAttribPointerv,emscripten_glGetVertexAttribfv:_emscripten_glGetVertexAttribfv,emscripten_glGetVertexAttribiv:_emscripten_glGetVertexAttribiv,emscripten_glHint:_emscripten_glHint,emscripten_glIsBuffer:_emscripten_glIsBuffer,emscripten_glIsEnabled:_emscripten_glIsEnabled,emscripten_glIsFramebuffer:_emscripten_glIsFramebuffer,emscripten_glIsProgram:_emscripten_glIsProgram,emscripten_glIsQueryEXT:_emscripten_glIsQueryEXT,emscripten_glIsRenderbuffer:_emscripten_glIsRenderbuffer,emscripten_glIsShader:_emscripten_glIsShader,emscripten_glIsTexture:_emscripten_glIsTexture,emscripten_glIsVertexArray:_emscripten_glIsVertexArray,emscripten_glIsVertexArrayOES:_emscripten_glIsVertexArrayOES,emscripten_glLineWidth:_emscripten_glLineWidth,emscripten_glLinkProgram:_emscripten_glLinkProgram,emscripten_glLoadIdentity:_emscripten_glLoadIdentity,emscripten_glMatrixMode:_emscripten_glMatrixMode,emscripten_glMultiDrawArrays:_emscripten_glMultiDrawArrays,emscripten_glMultiDrawArraysANGLE:_emscripten_glMultiDrawArraysANGLE,emscripten_glMultiDrawArraysInstancedANGLE:_emscripten_glMultiDrawArraysInstancedANGLE,emscripten_glMultiDrawArraysInstancedWEBGL:_emscripten_glMultiDrawArraysInstancedWEBGL,emscripten_glMultiDrawArraysWEBGL:_emscripten_glMultiDrawArraysWEBGL,emscripten_glMultiDrawElements:_emscripten_glMultiDrawElements,emscripten_glMultiDrawElementsANGLE:_emscripten_glMultiDrawElementsANGLE,emscripten_glMultiDrawElementsInstancedANGLE:_emscripten_glMultiDrawElementsInstancedANGLE,emscripten_glMultiDrawElementsInstancedWEBGL:_emscripten_glMultiDrawElementsInstancedWEBGL,emscripten_glMultiDrawElementsWEBGL:_emscripten_glMultiDrawElementsWEBGL,emscripten_glPixelStorei:_emscripten_glPixelStorei,emscripten_glPolygonModeWEBGL:_emscripten_glPolygonModeWEBGL,emscripten_glPolygonOffset:_emscripten_glPolygonOffset,emscripten_glPolygonOffsetClampEXT:_emscripten_glPolygonOffsetClampEXT,emscripten_glQueryCounterEXT:_emscripten_glQueryCounterEXT,emscripten_glReadPixels:_emscripten_glReadPixels,emscripten_glReleaseShaderCompiler:_emscripten_glReleaseShaderCompiler,emscripten_glRenderbufferStorage:_emscripten_glRenderbufferStorage,emscripten_glSampleCoverage:_emscripten_glSampleCoverage,emscripten_glScissor:_emscripten_glScissor,emscripten_glShaderBinary:_emscripten_glShaderBinary,emscripten_glShaderSource:_emscripten_glShaderSource,emscripten_glStencilFunc:_emscripten_glStencilFunc,emscripten_glStencilFuncSeparate:_emscripten_glStencilFuncSeparate,emscripten_glStencilMask:_emscripten_glStencilMask,emscripten_glStencilMaskSeparate:_emscripten_glStencilMaskSeparate,emscripten_glStencilOp:_emscripten_glStencilOp,emscripten_glStencilOpSeparate:_emscripten_glStencilOpSeparate,emscripten_glTexImage2D:_emscripten_glTexImage2D,emscripten_glTexParameterf:_emscripten_glTexParameterf,emscripten_glTexParameterfv:_emscripten_glTexParameterfv,emscripten_glTexParameteri:_emscripten_glTexParameteri,emscripten_glTexParameteriv:_emscripten_glTexParameteriv,emscripten_glTexSubImage2D:_emscripten_glTexSubImage2D,emscripten_glUniform1f:_emscripten_glUniform1f,emscripten_glUniform1fv:_emscripten_glUniform1fv,emscripten_glUniform1i:_emscripten_glUniform1i,emscripten_glUniform1iv:_emscripten_glUniform1iv,emscripten_glUniform2f:_emscripten_glUniform2f,emscripten_glUniform2fv:_emscripten_glUniform2fv,emscripten_glUniform2i:_emscripten_glUniform2i,emscripten_glUniform2iv:_emscripten_glUniform2iv,emscripten_glUniform3f:_emscripten_glUniform3f,emscripten_glUniform3fv:_emscripten_glUniform3fv,emscripten_glUniform3i:_emscripten_glUniform3i,emscripten_glUniform3iv:_emscripten_glUniform3iv,emscripten_glUniform4f:_emscripten_glUniform4f,emscripten_glUniform4fv:_emscripten_glUniform4fv,emscripten_glUniform4i:_emscripten_glUniform4i,emscripten_glUniform4iv:_emscripten_glUniform4iv,emscripten_glUniformMatrix2fv:_emscripten_glUniformMatrix2fv,emscripten_glUniformMatrix3fv:_emscripten_glUniformMatrix3fv,emscripten_glUniformMatrix4fv:_emscripten_glUniformMatrix4fv,emscripten_glUseProgram:_emscripten_glUseProgram,emscripten_glValidateProgram:_emscripten_glValidateProgram,emscripten_glVertexAttrib1f:_emscripten_glVertexAttrib1f,emscripten_glVertexAttrib1fv:_emscripten_glVertexAttrib1fv,emscripten_glVertexAttrib2f:_emscripten_glVertexAttrib2f,emscripten_glVertexAttrib2fv:_emscripten_glVertexAttrib2fv,emscripten_glVertexAttrib3f:_emscripten_glVertexAttrib3f,emscripten_glVertexAttrib3fv:_emscripten_glVertexAttrib3fv,emscripten_glVertexAttrib4f:_emscripten_glVertexAttrib4f,emscripten_glVertexAttrib4fv:_emscripten_glVertexAttrib4fv,emscripten_glVertexAttribDivisor:_emscripten_glVertexAttribDivisor,emscripten_glVertexAttribDivisorANGLE:_emscripten_glVertexAttribDivisorANGLE,emscripten_glVertexAttribDivisorARB:_emscripten_glVertexAttribDivisorARB,emscripten_glVertexAttribDivisorEXT:_emscripten_glVertexAttribDivisorEXT,emscripten_glVertexAttribDivisorNV:_emscripten_glVertexAttribDivisorNV,emscripten_glVertexAttribPointer:_emscripten_glVertexAttribPointer,emscripten_glVertexPointer:_emscripten_glVertexPointer,emscripten_glViewport:_emscripten_glViewport,emscripten_has_asyncify:_emscripten_has_asyncify,emscripten_hide_mouse:_emscripten_hide_mouse,emscripten_html5_remove_all_event_listeners:_emscripten_html5_remove_all_event_listeners,emscripten_idb_async_clear:_emscripten_idb_async_clear,emscripten_idb_async_delete:_emscripten_idb_async_delete,emscripten_idb_async_exists:_emscripten_idb_async_exists,emscripten_idb_async_load:_emscripten_idb_async_load,emscripten_idb_async_store:_emscripten_idb_async_store,emscripten_idb_clear:_emscripten_idb_clear,emscripten_idb_delete:_emscripten_idb_delete,emscripten_idb_exists:_emscripten_idb_exists,emscripten_idb_load:_emscripten_idb_load,emscripten_idb_store:_emscripten_idb_store,emscripten_is_main_browser_thread:_emscripten_is_main_browser_thread,emscripten_is_webgl_context_lost:_emscripten_is_webgl_context_lost,emscripten_lock_orientation:_emscripten_lock_orientation,emscripten_log:_emscripten_log,emscripten_math_acos:_emscripten_math_acos,emscripten_math_acosh:_emscripten_math_acosh,emscripten_math_asin:_emscripten_math_asin,emscripten_math_asinh:_emscripten_math_asinh,emscripten_math_atan:_emscripten_math_atan,emscripten_math_atan2:_emscripten_math_atan2,emscripten_math_atanh:_emscripten_math_atanh,emscripten_math_cbrt:_emscripten_math_cbrt,emscripten_math_cos:_emscripten_math_cos,emscripten_math_cosh:_emscripten_math_cosh,emscripten_math_exp:_emscripten_math_exp,emscripten_math_expm1:_emscripten_math_expm1,emscripten_math_fmod:_emscripten_math_fmod,emscripten_math_hypot:_emscripten_math_hypot,emscripten_math_log:_emscripten_math_log,emscripten_math_log10:_emscripten_math_log10,emscripten_math_log1p:_emscripten_math_log1p,emscripten_math_log2:_emscripten_math_log2,emscripten_math_pow:_emscripten_math_pow,emscripten_math_random:_emscripten_math_random,emscripten_math_round:_emscripten_math_round,emscripten_math_sign:_emscripten_math_sign,emscripten_math_sin:_emscripten_math_sin,emscripten_math_sinh:_emscripten_math_sinh,emscripten_math_sqrt:_emscripten_math_sqrt,emscripten_math_tan:_emscripten_math_tan,emscripten_math_tanh:_emscripten_math_tanh,emscripten_notify_memory_growth:_emscripten_notify_memory_growth,emscripten_out:_emscripten_out,emscripten_outn:_emscripten_outn,emscripten_pause_main_loop:_emscripten_pause_main_loop,emscripten_pc_get_column:_emscripten_pc_get_column,emscripten_pc_get_file:_emscripten_pc_get_file,emscripten_pc_get_function:_emscripten_pc_get_function,emscripten_pc_get_line:_emscripten_pc_get_line,emscripten_performance_now:_emscripten_performance_now,emscripten_print_double:_emscripten_print_double,emscripten_promise_all:_emscripten_promise_all,emscripten_promise_all_settled:_emscripten_promise_all_settled,emscripten_promise_any:_emscripten_promise_any,emscripten_promise_await:_emscripten_promise_await,emscripten_promise_create:_emscripten_promise_create,emscripten_promise_destroy:_emscripten_promise_destroy,emscripten_promise_race:_emscripten_promise_race,emscripten_promise_resolve:_emscripten_promise_resolve,emscripten_promise_then:_emscripten_promise_then,emscripten_random:_emscripten_random,emscripten_request_animation_frame:_emscripten_request_animation_frame,emscripten_request_animation_frame_loop:_emscripten_request_animation_frame_loop,emscripten_request_fullscreen:_emscripten_request_fullscreen,emscripten_request_fullscreen_strategy:_emscripten_request_fullscreen_strategy,emscripten_request_pointerlock:_emscripten_request_pointerlock,emscripten_resize_heap:_emscripten_resize_heap,emscripten_resume_main_loop:_emscripten_resume_main_loop,emscripten_return_address:_emscripten_return_address,emscripten_run_preload_plugins:_emscripten_run_preload_plugins,emscripten_run_preload_plugins_data:_emscripten_run_preload_plugins_data,emscripten_run_script:_emscripten_run_script,emscripten_run_script_int:_emscripten_run_script_int,emscripten_run_script_string:_emscripten_run_script_string,emscripten_runtime_keepalive_check:_emscripten_runtime_keepalive_check,emscripten_runtime_keepalive_pop:_emscripten_runtime_keepalive_pop,emscripten_runtime_keepalive_push:_emscripten_runtime_keepalive_push,emscripten_sample_gamepad_data:_emscripten_sample_gamepad_data,emscripten_scan_registers:_emscripten_scan_registers,emscripten_set_batterychargingchange_callback_on_thread:_emscripten_set_batterychargingchange_callback_on_thread,emscripten_set_batterylevelchange_callback_on_thread:_emscripten_set_batterylevelchange_callback_on_thread,emscripten_set_beforeunload_callback_on_thread:_emscripten_set_beforeunload_callback_on_thread,emscripten_set_blur_callback_on_thread:_emscripten_set_blur_callback_on_thread,emscripten_set_canvas_element_size:_emscripten_set_canvas_element_size,emscripten_set_canvas_size:_emscripten_set_canvas_size,emscripten_set_click_callback_on_thread:_emscripten_set_click_callback_on_thread,emscripten_set_dblclick_callback_on_thread:_emscripten_set_dblclick_callback_on_thread,emscripten_set_devicemotion_callback_on_thread:_emscripten_set_devicemotion_callback_on_thread,emscripten_set_deviceorientation_callback_on_thread:_emscripten_set_deviceorientation_callback_on_thread,emscripten_set_element_css_size:_emscripten_set_element_css_size,emscripten_set_focus_callback_on_thread:_emscripten_set_focus_callback_on_thread,emscripten_set_focusin_callback_on_thread:_emscripten_set_focusin_callback_on_thread,emscripten_set_focusout_callback_on_thread:_emscripten_set_focusout_callback_on_thread,emscripten_set_fullscreenchange_callback_on_thread:_emscripten_set_fullscreenchange_callback_on_thread,emscripten_set_gamepadconnected_callback_on_thread:_emscripten_set_gamepadconnected_callback_on_thread,emscripten_set_gamepaddisconnected_callback_on_thread:_emscripten_set_gamepaddisconnected_callback_on_thread,emscripten_set_immediate:_emscripten_set_immediate,emscripten_set_immediate_loop:_emscripten_set_immediate_loop,emscripten_set_interval:_emscripten_set_interval,emscripten_set_keydown_callback_on_thread:_emscripten_set_keydown_callback_on_thread,emscripten_set_keypress_callback_on_thread:_emscripten_set_keypress_callback_on_thread,emscripten_set_keyup_callback_on_thread:_emscripten_set_keyup_callback_on_thread,emscripten_set_main_loop:_emscripten_set_main_loop,emscripten_set_main_loop_arg:_emscripten_set_main_loop_arg,emscripten_set_main_loop_expected_blockers:_emscripten_set_main_loop_expected_blockers,emscripten_set_main_loop_timing:_emscripten_set_main_loop_timing,emscripten_set_mousedown_callback_on_thread:_emscripten_set_mousedown_callback_on_thread,emscripten_set_mouseenter_callback_on_thread:_emscripten_set_mouseenter_callback_on_thread,emscripten_set_mouseleave_callback_on_thread:_emscripten_set_mouseleave_callback_on_thread,emscripten_set_mousemove_callback_on_thread:_emscripten_set_mousemove_callback_on_thread,emscripten_set_mouseout_callback_on_thread:_emscripten_set_mouseout_callback_on_thread,emscripten_set_mouseover_callback_on_thread:_emscripten_set_mouseover_callback_on_thread,emscripten_set_mouseup_callback_on_thread:_emscripten_set_mouseup_callback_on_thread,emscripten_set_orientationchange_callback_on_thread:_emscripten_set_orientationchange_callback_on_thread,emscripten_set_pointerlockchange_callback_on_thread:_emscripten_set_pointerlockchange_callback_on_thread,emscripten_set_pointerlockerror_callback_on_thread:_emscripten_set_pointerlockerror_callback_on_thread,emscripten_set_resize_callback_on_thread:_emscripten_set_resize_callback_on_thread,emscripten_set_scroll_callback_on_thread:_emscripten_set_scroll_callback_on_thread,emscripten_set_socket_close_callback:_emscripten_set_socket_close_callback,emscripten_set_socket_connection_callback:_emscripten_set_socket_connection_callback,emscripten_set_socket_error_callback:_emscripten_set_socket_error_callback,emscripten_set_socket_listen_callback:_emscripten_set_socket_listen_callback,emscripten_set_socket_message_callback:_emscripten_set_socket_message_callback,emscripten_set_socket_open_callback:_emscripten_set_socket_open_callback,emscripten_set_timeout:_emscripten_set_timeout,emscripten_set_timeout_loop:_emscripten_set_timeout_loop,emscripten_set_touchcancel_callback_on_thread:_emscripten_set_touchcancel_callback_on_thread,emscripten_set_touchend_callback_on_thread:_emscripten_set_touchend_callback_on_thread,emscripten_set_touchmove_callback_on_thread:_emscripten_set_touchmove_callback_on_thread,emscripten_set_touchstart_callback_on_thread:_emscripten_set_touchstart_callback_on_thread,emscripten_set_visibilitychange_callback_on_thread:_emscripten_set_visibilitychange_callback_on_thread,emscripten_set_webglcontextlost_callback_on_thread:_emscripten_set_webglcontextlost_callback_on_thread,emscripten_set_webglcontextrestored_callback_on_thread:_emscripten_set_webglcontextrestored_callback_on_thread,emscripten_set_wheel_callback_on_thread:_emscripten_set_wheel_callback_on_thread,emscripten_set_window_title:_emscripten_set_window_title,emscripten_sleep:_emscripten_sleep,emscripten_stack_snapshot:_emscripten_stack_snapshot,emscripten_stack_unwind_buffer:_emscripten_stack_unwind_buffer,emscripten_supports_offscreencanvas:_emscripten_supports_offscreencanvas,emscripten_throw_number:_emscripten_throw_number,emscripten_throw_string:_emscripten_throw_string,emscripten_unlock_orientation:_emscripten_unlock_orientation,emscripten_unwind_to_js_event_loop:_emscripten_unwind_to_js_event_loop,emscripten_vibrate:_emscripten_vibrate,emscripten_vibrate_pattern:_emscripten_vibrate_pattern,emscripten_webgl_commit_frame:_emscripten_webgl_commit_frame,emscripten_webgl_create_context:_emscripten_webgl_create_context,emscripten_webgl_destroy_context:_emscripten_webgl_destroy_context,emscripten_webgl_do_commit_frame:_emscripten_webgl_do_commit_frame,emscripten_webgl_do_create_context:_emscripten_webgl_do_create_context,emscripten_webgl_do_get_current_context:_emscripten_webgl_do_get_current_context,emscripten_webgl_enable_ANGLE_instanced_arrays:_emscripten_webgl_enable_ANGLE_instanced_arrays,emscripten_webgl_enable_EXT_clip_control:_emscripten_webgl_enable_EXT_clip_control,emscripten_webgl_enable_EXT_polygon_offset_clamp:_emscripten_webgl_enable_EXT_polygon_offset_clamp,emscripten_webgl_enable_OES_vertex_array_object:_emscripten_webgl_enable_OES_vertex_array_object,emscripten_webgl_enable_WEBGL_draw_buffers:_emscripten_webgl_enable_WEBGL_draw_buffers,emscripten_webgl_enable_WEBGL_multi_draw:_emscripten_webgl_enable_WEBGL_multi_draw,emscripten_webgl_enable_WEBGL_polygon_mode:_emscripten_webgl_enable_WEBGL_polygon_mode,emscripten_webgl_enable_extension:_emscripten_webgl_enable_extension,emscripten_webgl_get_context_attributes:_emscripten_webgl_get_context_attributes,emscripten_webgl_get_current_context:_emscripten_webgl_get_current_context,emscripten_webgl_get_drawing_buffer_size:_emscripten_webgl_get_drawing_buffer_size,emscripten_webgl_get_parameter_d:_emscripten_webgl_get_parameter_d,emscripten_webgl_get_parameter_i64v:_emscripten_webgl_get_parameter_i64v,emscripten_webgl_get_parameter_o:_emscripten_webgl_get_parameter_o,emscripten_webgl_get_parameter_utf8:_emscripten_webgl_get_parameter_utf8,emscripten_webgl_get_parameter_v:_emscripten_webgl_get_parameter_v,emscripten_webgl_get_program_info_log_utf8:_emscripten_webgl_get_program_info_log_utf8,emscripten_webgl_get_program_parameter_d:_emscripten_webgl_get_program_parameter_d,emscripten_webgl_get_shader_info_log_utf8:_emscripten_webgl_get_shader_info_log_utf8,emscripten_webgl_get_shader_parameter_d:_emscripten_webgl_get_shader_parameter_d,emscripten_webgl_get_shader_source_utf8:_emscripten_webgl_get_shader_source_utf8,emscripten_webgl_get_supported_extensions:_emscripten_webgl_get_supported_extensions,emscripten_webgl_get_uniform_d:_emscripten_webgl_get_uniform_d,emscripten_webgl_get_uniform_v:_emscripten_webgl_get_uniform_v,emscripten_webgl_get_vertex_attrib_d:_emscripten_webgl_get_vertex_attrib_d,emscripten_webgl_get_vertex_attrib_o:_emscripten_webgl_get_vertex_attrib_o,emscripten_webgl_get_vertex_attrib_v:_emscripten_webgl_get_vertex_attrib_v,emscripten_webgl_make_context_current:_emscripten_webgl_make_context_current,emscripten_wget_data:_emscripten_wget_data,endprotoent:_endprotoent,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_pread:_fd_pread,fd_pwrite:_fd_pwrite,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,filledEllipseColor:_filledEllipseColor,filledEllipseRGBA:_filledEllipseRGBA,getaddrinfo:_getaddrinfo,getnameinfo:_getnameinfo,getprotobyname:_getprotobyname,getprotobynumber:_getprotobynumber,getprotoent:_getprotoent,glActiveTexture:_glActiveTexture,glAttachShader:_glAttachShader,glBegin:_glBegin,glBeginQueryEXT:_glBeginQueryEXT,glBindAttribLocation:_glBindAttribLocation,glBindBuffer:_glBindBuffer,glBindFramebuffer:_glBindFramebuffer,glBindRenderbuffer:_glBindRenderbuffer,glBindTexture:_glBindTexture,glBindVertexArray:_glBindVertexArray,glBindVertexArrayOES:_glBindVertexArrayOES,glBlendColor:_glBlendColor,glBlendEquation:_glBlendEquation,glBlendEquationSeparate:_glBlendEquationSeparate,glBlendFunc:_glBlendFunc,glBlendFuncSeparate:_glBlendFuncSeparate,glBufferData:_glBufferData,glBufferSubData:_glBufferSubData,glCheckFramebufferStatus:_glCheckFramebufferStatus,glClear:_glClear,glClearColor:_glClearColor,glClearDepth:_glClearDepth,glClearDepthf:_glClearDepthf,glClearStencil:_glClearStencil,glClipControlEXT:_glClipControlEXT,glColorMask:_glColorMask,glCompileShader:_glCompileShader,glCompressedTexImage2D:_glCompressedTexImage2D,glCompressedTexSubImage2D:_glCompressedTexSubImage2D,glCopyTexImage2D:_glCopyTexImage2D,glCopyTexSubImage2D:_glCopyTexSubImage2D,glCreateProgram:_glCreateProgram,glCreateShader:_glCreateShader,glCullFace:_glCullFace,glDeleteBuffers:_glDeleteBuffers,glDeleteFramebuffers:_glDeleteFramebuffers,glDeleteProgram:_glDeleteProgram,glDeleteQueriesEXT:_glDeleteQueriesEXT,glDeleteRenderbuffers:_glDeleteRenderbuffers,glDeleteShader:_glDeleteShader,glDeleteTextures:_glDeleteTextures,glDeleteVertexArrays:_glDeleteVertexArrays,glDeleteVertexArraysOES:_glDeleteVertexArraysOES,glDepthFunc:_glDepthFunc,glDepthMask:_glDepthMask,glDepthRange:_glDepthRange,glDepthRangef:_glDepthRangef,glDetachShader:_glDetachShader,glDisable:_glDisable,glDisableVertexAttribArray:_glDisableVertexAttribArray,glDrawArrays:_glDrawArrays,glDrawArraysInstanced:_glDrawArraysInstanced,glDrawArraysInstancedANGLE:_glDrawArraysInstancedANGLE,glDrawArraysInstancedARB:_glDrawArraysInstancedARB,glDrawArraysInstancedEXT:_glDrawArraysInstancedEXT,glDrawArraysInstancedNV:_glDrawArraysInstancedNV,glDrawBuffers:_glDrawBuffers,glDrawBuffersEXT:_glDrawBuffersEXT,glDrawBuffersWEBGL:_glDrawBuffersWEBGL,glDrawElements:_glDrawElements,glDrawElementsInstanced:_glDrawElementsInstanced,glDrawElementsInstancedANGLE:_glDrawElementsInstancedANGLE,glDrawElementsInstancedARB:_glDrawElementsInstancedARB,glDrawElementsInstancedEXT:_glDrawElementsInstancedEXT,glDrawElementsInstancedNV:_glDrawElementsInstancedNV,glEnable:_glEnable,glEnableVertexAttribArray:_glEnableVertexAttribArray,glEndQueryEXT:_glEndQueryEXT,glFinish:_glFinish,glFlush:_glFlush,glFramebufferRenderbuffer:_glFramebufferRenderbuffer,glFramebufferTexture2D:_glFramebufferTexture2D,glFrontFace:_glFrontFace,glGenBuffers:_glGenBuffers,glGenFramebuffers:_glGenFramebuffers,glGenQueriesEXT:_glGenQueriesEXT,glGenRenderbuffers:_glGenRenderbuffers,glGenTextures:_glGenTextures,glGenVertexArrays:_glGenVertexArrays,glGenVertexArraysOES:_glGenVertexArraysOES,glGenerateMipmap:_glGenerateMipmap,glGetActiveAttrib:_glGetActiveAttrib,glGetActiveUniform:_glGetActiveUniform,glGetAttachedShaders:_glGetAttachedShaders,glGetAttribLocation:_glGetAttribLocation,glGetBooleanv:_glGetBooleanv,glGetBufferParameteriv:_glGetBufferParameteriv,glGetError:_glGetError,glGetFloatv:_glGetFloatv,glGetFramebufferAttachmentParameteriv:_glGetFramebufferAttachmentParameteriv,glGetIntegerv:_glGetIntegerv,glGetProgramInfoLog:_glGetProgramInfoLog,glGetProgramiv:_glGetProgramiv,glGetQueryObjecti64vEXT:_glGetQueryObjecti64vEXT,glGetQueryObjectivEXT:_glGetQueryObjectivEXT,glGetQueryObjectui64vEXT:_glGetQueryObjectui64vEXT,glGetQueryObjectuivEXT:_glGetQueryObjectuivEXT,glGetQueryivEXT:_glGetQueryivEXT,glGetRenderbufferParameteriv:_glGetRenderbufferParameteriv,glGetShaderInfoLog:_glGetShaderInfoLog,glGetShaderPrecisionFormat:_glGetShaderPrecisionFormat,glGetShaderSource:_glGetShaderSource,glGetShaderiv:_glGetShaderiv,glGetString:_glGetString,glGetTexParameterfv:_glGetTexParameterfv,glGetTexParameteriv:_glGetTexParameteriv,glGetUniformLocation:_glGetUniformLocation,glGetUniformfv:_glGetUniformfv,glGetUniformiv:_glGetUniformiv,glGetVertexAttribPointerv:_glGetVertexAttribPointerv,glGetVertexAttribfv:_glGetVertexAttribfv,glGetVertexAttribiv:_glGetVertexAttribiv,glHint:_glHint,glIsBuffer:_glIsBuffer,glIsEnabled:_glIsEnabled,glIsFramebuffer:_glIsFramebuffer,glIsProgram:_glIsProgram,glIsQueryEXT:_glIsQueryEXT,glIsRenderbuffer:_glIsRenderbuffer,glIsShader:_glIsShader,glIsTexture:_glIsTexture,glIsVertexArray:_glIsVertexArray,glIsVertexArrayOES:_glIsVertexArrayOES,glLineWidth:_glLineWidth,glLinkProgram:_glLinkProgram,glLoadIdentity:_glLoadIdentity,glMatrixMode:_glMatrixMode,glMultiDrawArrays:_glMultiDrawArrays,glMultiDrawArraysANGLE:_glMultiDrawArraysANGLE,glMultiDrawArraysInstancedANGLE:_glMultiDrawArraysInstancedANGLE,glMultiDrawArraysInstancedWEBGL:_glMultiDrawArraysInstancedWEBGL,glMultiDrawArraysWEBGL:_glMultiDrawArraysWEBGL,glMultiDrawElements:_glMultiDrawElements,glMultiDrawElementsANGLE:_glMultiDrawElementsANGLE,glMultiDrawElementsInstancedANGLE:_glMultiDrawElementsInstancedANGLE,glMultiDrawElementsInstancedWEBGL:_glMultiDrawElementsInstancedWEBGL,glMultiDrawElementsWEBGL:_glMultiDrawElementsWEBGL,glPixelStorei:_glPixelStorei,glPolygonModeWEBGL:_glPolygonModeWEBGL,glPolygonOffset:_glPolygonOffset,glPolygonOffsetClampEXT:_glPolygonOffsetClampEXT,glQueryCounterEXT:_glQueryCounterEXT,glReadPixels:_glReadPixels,glReleaseShaderCompiler:_glReleaseShaderCompiler,glRenderbufferStorage:_glRenderbufferStorage,glSampleCoverage:_glSampleCoverage,glScissor:_glScissor,glShaderBinary:_glShaderBinary,glShaderSource:_glShaderSource,glStencilFunc:_glStencilFunc,glStencilFuncSeparate:_glStencilFuncSeparate,glStencilMask:_glStencilMask,glStencilMaskSeparate:_glStencilMaskSeparate,glStencilOp:_glStencilOp,glStencilOpSeparate:_glStencilOpSeparate,glTexImage2D:_glTexImage2D,glTexParameterf:_glTexParameterf,glTexParameterfv:_glTexParameterfv,glTexParameteri:_glTexParameteri,glTexParameteriv:_glTexParameteriv,glTexSubImage2D:_glTexSubImage2D,glUniform1f:_glUniform1f,glUniform1fv:_glUniform1fv,glUniform1i:_glUniform1i,glUniform1iv:_glUniform1iv,glUniform2f:_glUniform2f,glUniform2fv:_glUniform2fv,glUniform2i:_glUniform2i,glUniform2iv:_glUniform2iv,glUniform3f:_glUniform3f,glUniform3fv:_glUniform3fv,glUniform3i:_glUniform3i,glUniform3iv:_glUniform3iv,glUniform4f:_glUniform4f,glUniform4fv:_glUniform4fv,glUniform4i:_glUniform4i,glUniform4iv:_glUniform4iv,glUniformMatrix2fv:_glUniformMatrix2fv,glUniformMatrix3fv:_glUniformMatrix3fv,glUniformMatrix4fv:_glUniformMatrix4fv,glUseProgram:_glUseProgram,glValidateProgram:_glValidateProgram,glVertexAttrib1f:_glVertexAttrib1f,glVertexAttrib1fv:_glVertexAttrib1fv,glVertexAttrib2f:_glVertexAttrib2f,glVertexAttrib2fv:_glVertexAttrib2fv,glVertexAttrib3f:_glVertexAttrib3f,glVertexAttrib3fv:_glVertexAttrib3fv,glVertexAttrib4f:_glVertexAttrib4f,glVertexAttrib4fv:_glVertexAttrib4fv,glVertexAttribDivisor:_glVertexAttribDivisor,glVertexAttribDivisorANGLE:_glVertexAttribDivisorANGLE,glVertexAttribDivisorARB:_glVertexAttribDivisorARB,glVertexAttribDivisorEXT:_glVertexAttribDivisorEXT,glVertexAttribDivisorNV:_glVertexAttribDivisorNV,glVertexAttribPointer:_glVertexAttribPointer,glVertexPointer:_glVertexPointer,glViewport:_glViewport,glewGetErrorString:_glewGetErrorString,glewGetExtension:_glewGetExtension,glewGetString:_glewGetString,glewInit:_glewInit,glewIsSupported:_glewIsSupported,glutCreateWindow:_glutCreateWindow,glutDestroyWindow:_glutDestroyWindow,glutDisplayFunc:_glutDisplayFunc,glutFullScreen:_glutFullScreen,glutGet:_glutGet,glutGetModifiers:_glutGetModifiers,glutIdleFunc:_glutIdleFunc,glutInit:_glutInit,glutInitDisplayMode:_glutInitDisplayMode,glutInitWindowPosition:_glutInitWindowPosition,glutInitWindowSize:_glutInitWindowSize,glutKeyboardFunc:_glutKeyboardFunc,glutKeyboardUpFunc:_glutKeyboardUpFunc,glutMainLoop:_glutMainLoop,glutMotionFunc:_glutMotionFunc,glutMouseFunc:_glutMouseFunc,glutPassiveMotionFunc:_glutPassiveMotionFunc,glutPositionWindow:_glutPositionWindow,glutPostRedisplay:_glutPostRedisplay,glutReshapeFunc:_glutReshapeFunc,glutReshapeWindow:_glutReshapeWindow,glutSetCursor:_glutSetCursor,glutSpecialFunc:_glutSpecialFunc,glutSpecialUpFunc:_glutSpecialUpFunc,glutSwapBuffers:_glutSwapBuffers,glutTimerFunc:_glutTimerFunc,ipp:_ipp,ipp_async:_ipp_async,ippipppp:_ippipppp,ippipppp_async:_ippipppp_async,ippp:_ippp,ippp_async:_ippp_async,ipppi:_ipppi,ipppi_async:_ipppi_async,ipppiii:_ipppiii,ipppiii_async:_ipppiii_async,ipppiiip:_ipppiiip,ipppiiip_async:_ipppiiip_async,ipppip:_ipppip,ipppip_async:_ipppip_async,ipppj:_ipppj,ipppj_async:_ipppj_async,ipppp:_ipppp,ipppp_async:_ipppp_async,ippppi:_ippppi,ippppi_async:_ippppi_async,ippppij:_ippppij,ippppij_async:_ippppij_async,ippppip:_ippppip,ippppip_async:_ippppip_async,ipppppip:_ipppppip,ipppppip_async:_ipppppip_async,lineColor:_lineColor,lineRGBA:_lineRGBA,llvm_eh_typeid_for:_llvm_eh_typeid_for,memory:wasmMemory,pixelRGBA:_pixelRGBA,proc_exit:_proc_exit,random_get:_random_get,rectangleColor:_rectangleColor,rectangleRGBA:_rectangleRGBA,rotozoomSurface:_rotozoomSurface,setNetworkCallback:_setNetworkCallback,setprotoent:_setprotoent,stackAlloc:_stackAlloc,stackRestore:_stackRestore,stackSave:_stackSave,strptime:_strptime,strptime_l:_strptime_l,uuid_clear:_uuid_clear,uuid_compare:_uuid_compare,uuid_copy:_uuid_copy,uuid_generate:_uuid_generate,uuid_is_null:_uuid_is_null,uuid_parse:_uuid_parse,uuid_type:_uuid_type,uuid_unparse:_uuid_unparse,uuid_unparse_lower:_uuid_unparse_lower,uuid_unparse_upper:_uuid_unparse_upper,uuid_variant:_uuid_variant,vppippii:_vppippii,vppippii_async:_vppippii_async,vppp:_vppp,vppp_async:_vppp_async,vpppip:_vpppip,vpppip_async:_vpppip_async,zoomSurface:_zoomSurface};var wasmExports=await createWasm();function callMain(args=[]){var entryFunction=resolveGlobalSymbol("main").sym;if(!entryFunction)return;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args=arguments_){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve?.(Module);Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}preInit();run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc,xStep,xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{readyPromiseResolve=resolve;readyPromiseReject=reject})} return moduleRtn; diff --git a/dist/wa-sqlite-dynamic-main.wasm b/dist/wa-sqlite-dynamic-main.wasm index a938fa6f4904193ddf674857424f9b4990e3a600..c3765964e1d702c3191277517320e3447dbeebd9 100755 GIT binary patch delta 490840 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


>v9VR`)M=Z1jk|4@b04s@VIUbpZ_& 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]g1#tDNn~aXF!FqFu$A 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%0DJX+%l~KVyZyO>l%AQ{ZD>P_9QGF|A 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 delta 457698 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 z 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%0DYMt;f{8Y0k5VSf2cX*Z-sGnPklC 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 diff --git a/dist/wa-sqlite-jspi.mjs b/dist/wa-sqlite-jspi.mjs index d3ef58e4..5d7b5c18 100644 --- a/dist/wa-sqlite-jspi.mjs +++ b/dist/wa-sqlite-jspi.mjs @@ -4,7 +4,7 @@ var Module = (() => { async function(moduleArg = {}) { var moduleRtn; -var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&process.versions?.node&&process.type!="renderer";var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{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=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["__wasm_call_ctors"]();FS.ignorePermissions=false}function preMain(){}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("wa-sqlite-jspi.wasm")}return new URL("wa-sqlite-jspi.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){Asyncify.instrumentWasmImports(wasmImports);return{env:wasmImports,wasi_snapshot_preview1:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmMemory=wasmExports["memory"];updateMemoryViews();wasmTable=wasmExports["__indirect_function_table"];removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})})}wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}catch(e){readyPromiseReject(e);return Promise.reject(e)}}var tempDouble;var tempI64;class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=new TextDecoder;var UTF8ToString=(ptr,maxBytesToRead)=>{if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))};var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);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.slice(-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.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>view=>crypto.getRandomValues(view);var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heapOrArray.buffer?heapOrArray.subarray(idx,endPtr):new Uint8Array(heapOrArray.slice(idx,endPtr)))};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,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.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};asyncLoad.isAsync=true;var FS_createDataFile=(...args)=>FS.createDataFile(...args);var preloadPlugins=[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}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|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,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){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}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)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){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);old_node.parent=new_dir}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;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return 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 link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){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)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},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}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,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,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){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},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)}if(!length){throw new FS.ErrnoError(28)}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)},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)}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,llseek:()=>0});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){randomFill(randomBuffer);randomLeft=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",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},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){if(e.errno!=20)throw 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;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},writeStatFs(buf,stats){HEAP32[buf+4>>2]=stats.bsize;HEAP32[buf+40>>2]=stats.bsize;HEAP32[buf+8>>2]=stats.blocks;HEAP32[buf+12>>2]=stats.bfree;HEAP32[buf+16>>2]=stats.bavail;HEAP32[buf+20>>2]=stats.files;HEAP32[buf+24>>2]=stats.ffree;HEAP32[buf+28>>2]=stats.fsid;HEAP32[buf+44>>2]=stats.flags;HEAP32[buf+36>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);var now=Date.now(),atime,mtime;if(!times){atime=now;mtime=now}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){atime=now}else if(nanoseconds==1073741822){atime=null}else{atime=seconds*1e3+nanoseconds/(1e3*1e3)}times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){mtime=now}else if(nanoseconds==1073741822){mtime=null}else{mtime=seconds*1e3+nanoseconds/(1e3*1e3)}}if((mtime??atime)!==null){FS.utime(path,atime,mtime)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("");var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var timers={};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var _emscripten_get_now=()=>performance.now();var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetDate.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}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,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var _fd_sync=function(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return Asyncify.handleSleep(wakeUp=>{var mount=stream.node.mount;if(!mount.type.syncfs){wakeUp(0);return}mount.type.syncfs(mount,false,err=>{wakeUp(err?29:0)})})}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}};_fd_sync.isAsync=true;var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}function _ipp_async(...args){return adapters_support(true,...args)}_ipp_async.isAsync=true;function _ippipppp(...args){return adapters_support(false,...args)}function _ippipppp_async(...args){return adapters_support(true,...args)}_ippipppp_async.isAsync=true;function _ippp(...args){return adapters_support(false,...args)}function _ippp_async(...args){return adapters_support(true,...args)}_ippp_async.isAsync=true;function _ipppi(...args){return adapters_support(false,...args)}function _ipppi_async(...args){return adapters_support(true,...args)}_ipppi_async.isAsync=true;function _ipppiii(...args){return adapters_support(false,...args)}function _ipppiii_async(...args){return adapters_support(true,...args)}_ipppiii_async.isAsync=true;function _ipppiiip(...args){return adapters_support(false,...args)}function _ipppiiip_async(...args){return adapters_support(true,...args)}_ipppiiip_async.isAsync=true;function _ipppip(...args){return adapters_support(false,...args)}function _ipppip_async(...args){return adapters_support(true,...args)}_ipppip_async.isAsync=true;function _ipppj(...args){return adapters_support(false,...args)}function _ipppj_async(...args){return adapters_support(true,...args)}_ipppj_async.isAsync=true;function _ipppp(...args){return adapters_support(false,...args)}function _ipppp_async(...args){return adapters_support(true,...args)}_ipppp_async.isAsync=true;function _ippppi(...args){return adapters_support(false,...args)}function _ippppi_async(...args){return adapters_support(true,...args)}_ippppi_async.isAsync=true;function _ippppij(...args){return adapters_support(false,...args)}function _ippppij_async(...args){return adapters_support(true,...args)}_ippppij_async.isAsync=true;function _ippppip(...args){return adapters_support(false,...args)}function _ippppip_async(...args){return adapters_support(true,...args)}_ippppip_async.isAsync=true;function _ipppppip(...args){return adapters_support(false,...args)}function _ipppppip_async(...args){return adapters_support(true,...args)}_ipppppip_async.isAsync=true;function _vppippii(...args){return adapters_support(false,...args)}function _vppippii_async(...args){return adapters_support(true,...args)}_vppippii_async.isAsync=true;function _vppp(...args){return adapters_support(false,...args)}function _vppp_async(...args){return adapters_support(true,...args)}_vppp_async.isAsync=true;function _vpppip(...args){return adapters_support(false,...args)}function _vpppip_async(...args){return adapters_support(true,...args)}_vpppip_async.isAsync=true;var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;ioriginal(...args)}else{ret[x]=original}}return ret},asyncExports:null,isAsyncExport(func){return Asyncify.asyncExports?.has(func)},handleAsync:async startAsync=>{try{return await startAsync()}finally{}},handleSleep:startAsync=>Asyncify.handleAsync(()=>new Promise(startAsync)),makeAsyncFunction(original){return WebAssembly.promising(original)}};var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var generateFuncType=(sig,target)=>{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var paramType of sigParam){target.push(typeCodes[paramType])}if(sigRet=="v"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTableMirror=[];var wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr);if(Asyncify.isAsyncExport(func)){wasmTableMirror[funcPtr]=func=Asyncify.makeAsyncFunction(func)}}return func};var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>{wasmTable.set(idx,func);wasmTableMirror[idx]=wasmTable.get(idx)};var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=new TextDecoder("utf-16le");var UTF16ToString=(ptr,maxBytesToRead)=>{var idx=ptr>>1;var maxIdx=idx+maxBytesToRead/2;var endIdx=idx;while(!(endIdx>=maxIdx)&&HEAPU16[endIdx])++endIdx;return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx))};var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var intArrayToString=array=>{var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")};var _getTempRet0=getTempRet0;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";adapters_support();{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"]}Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;Module["_getTempRet0"]=_getTempRet0;var wasmImports={__assert_fail:___assert_fail,__syscall_chmod:___syscall_chmod,__syscall_faccessat:___syscall_faccessat,__syscall_fchmod:___syscall_fchmod,__syscall_fchown32:___syscall_fchown32,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_readlinkat:___syscall_readlinkat,__syscall_rmdir:___syscall_rmdir,__syscall_stat64:___syscall_stat64,__syscall_unlinkat:___syscall_unlinkat,__syscall_utimensat:___syscall_utimensat,_abort_js:__abort_js,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_localtime_js:__localtime_js,_mmap_js:__mmap_js,_munmap_js:__munmap_js,_setitimer_js:__setitimer_js,_tzset_js:__tzset_js,emscripten_date_now:_emscripten_date_now,emscripten_get_now:_emscripten_get_now,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,ipp:_ipp,ipp_async:_ipp_async,ippipppp:_ippipppp,ippipppp_async:_ippipppp_async,ippp:_ippp,ippp_async:_ippp_async,ipppi:_ipppi,ipppi_async:_ipppi_async,ipppiii:_ipppiii,ipppiii_async:_ipppiii_async,ipppiiip:_ipppiiip,ipppiiip_async:_ipppiiip_async,ipppip:_ipppip,ipppip_async:_ipppip_async,ipppj:_ipppj,ipppj_async:_ipppj_async,ipppp:_ipppp,ipppp_async:_ipppp_async,ippppi:_ippppi,ippppi_async:_ippppi_async,ippppij:_ippppij,ippppij_async:_ippppij_async,ippppip:_ippppip,ippppip_async:_ippppip_async,ipppppip:_ipppppip,ipppppip_async:_ipppppip_async,proc_exit:_proc_exit,vppippii:_vppippii,vppippii_async:_vppippii_async,vppp:_vppp,vppp_async:_vppp_async,vpppip:_vpppip,vpppip_async:_vpppip_async};var wasmExports=await createWasm();var ___wasm_call_ctors=wasmExports["__wasm_call_ctors"];var _powersync_init_static=Module["_powersync_init_static"]=wasmExports["powersync_init_static"];var _sqlite3_status64=Module["_sqlite3_status64"]=wasmExports["sqlite3_status64"];var _sqlite3_status=Module["_sqlite3_status"]=wasmExports["sqlite3_status"];var _sqlite3_db_status=Module["_sqlite3_db_status"]=wasmExports["sqlite3_db_status"];var _sqlite3_msize=Module["_sqlite3_msize"]=wasmExports["sqlite3_msize"];var _sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=wasmExports["sqlite3_vfs_find"];var _sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=wasmExports["sqlite3_vfs_register"];var _sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=wasmExports["sqlite3_vfs_unregister"];var _sqlite3_release_memory=Module["_sqlite3_release_memory"]=wasmExports["sqlite3_release_memory"];var _sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=wasmExports["sqlite3_soft_heap_limit64"];var _sqlite3_memory_used=Module["_sqlite3_memory_used"]=wasmExports["sqlite3_memory_used"];var _sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=wasmExports["sqlite3_hard_heap_limit64"];var _sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=wasmExports["sqlite3_memory_highwater"];var _sqlite3_malloc=Module["_sqlite3_malloc"]=wasmExports["sqlite3_malloc"];var _sqlite3_malloc64=Module["_sqlite3_malloc64"]=wasmExports["sqlite3_malloc64"];var _sqlite3_free=Module["_sqlite3_free"]=wasmExports["sqlite3_free"];var _sqlite3_realloc=Module["_sqlite3_realloc"]=wasmExports["sqlite3_realloc"];var _sqlite3_realloc64=Module["_sqlite3_realloc64"]=wasmExports["sqlite3_realloc64"];var _sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=wasmExports["sqlite3_str_vappendf"];var _sqlite3_str_append=Module["_sqlite3_str_append"]=wasmExports["sqlite3_str_append"];var _sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=wasmExports["sqlite3_str_appendchar"];var _sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=wasmExports["sqlite3_str_appendall"];var _sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=wasmExports["sqlite3_str_appendf"];var _sqlite3_str_finish=Module["_sqlite3_str_finish"]=wasmExports["sqlite3_str_finish"];var _sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=wasmExports["sqlite3_str_errcode"];var _sqlite3_str_length=Module["_sqlite3_str_length"]=wasmExports["sqlite3_str_length"];var _sqlite3_str_value=Module["_sqlite3_str_value"]=wasmExports["sqlite3_str_value"];var _sqlite3_str_reset=Module["_sqlite3_str_reset"]=wasmExports["sqlite3_str_reset"];var _sqlite3_str_new=Module["_sqlite3_str_new"]=wasmExports["sqlite3_str_new"];var _sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=wasmExports["sqlite3_vmprintf"];var _sqlite3_mprintf=Module["_sqlite3_mprintf"]=wasmExports["sqlite3_mprintf"];var _sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=wasmExports["sqlite3_vsnprintf"];var _sqlite3_snprintf=Module["_sqlite3_snprintf"]=wasmExports["sqlite3_snprintf"];var _sqlite3_log=Module["_sqlite3_log"]=wasmExports["sqlite3_log"];var _sqlite3_randomness=Module["_sqlite3_randomness"]=wasmExports["sqlite3_randomness"];var _sqlite3_stricmp=Module["_sqlite3_stricmp"]=wasmExports["sqlite3_stricmp"];var _sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=wasmExports["sqlite3_strnicmp"];var _sqlite3_os_init=Module["_sqlite3_os_init"]=wasmExports["sqlite3_os_init"];var _sqlite3_os_end=Module["_sqlite3_os_end"]=wasmExports["sqlite3_os_end"];var _sqlite3_serialize=Module["_sqlite3_serialize"]=wasmExports["sqlite3_serialize"];var _sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=wasmExports["sqlite3_prepare_v2"];var _sqlite3_step=Module["_sqlite3_step"]=wasmExports["sqlite3_step"];var _sqlite3_column_int64=Module["_sqlite3_column_int64"]=wasmExports["sqlite3_column_int64"];var _sqlite3_reset=Module["_sqlite3_reset"]=wasmExports["sqlite3_reset"];var _sqlite3_exec=Module["_sqlite3_exec"]=wasmExports["sqlite3_exec"];var _sqlite3_column_int=Module["_sqlite3_column_int"]=wasmExports["sqlite3_column_int"];var _sqlite3_finalize=Module["_sqlite3_finalize"]=wasmExports["sqlite3_finalize"];var _sqlite3_deserialize=Module["_sqlite3_deserialize"]=wasmExports["sqlite3_deserialize"];var _sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=wasmExports["sqlite3_database_file_object"];var _sqlite3_backup_init=Module["_sqlite3_backup_init"]=wasmExports["sqlite3_backup_init"];var _sqlite3_backup_step=Module["_sqlite3_backup_step"]=wasmExports["sqlite3_backup_step"];var _sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=wasmExports["sqlite3_backup_finish"];var _sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=wasmExports["sqlite3_backup_remaining"];var _sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=wasmExports["sqlite3_backup_pagecount"];var _sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=wasmExports["sqlite3_clear_bindings"];var _sqlite3_value_blob=Module["_sqlite3_value_blob"]=wasmExports["sqlite3_value_blob"];var _sqlite3_value_text=Module["_sqlite3_value_text"]=wasmExports["sqlite3_value_text"];var _sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=wasmExports["sqlite3_value_bytes"];var _sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=wasmExports["sqlite3_value_bytes16"];var _sqlite3_value_double=Module["_sqlite3_value_double"]=wasmExports["sqlite3_value_double"];var _sqlite3_value_int=Module["_sqlite3_value_int"]=wasmExports["sqlite3_value_int"];var _sqlite3_value_int64=Module["_sqlite3_value_int64"]=wasmExports["sqlite3_value_int64"];var _sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=wasmExports["sqlite3_value_subtype"];var _sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=wasmExports["sqlite3_value_pointer"];var _sqlite3_value_text16=Module["_sqlite3_value_text16"]=wasmExports["sqlite3_value_text16"];var _sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=wasmExports["sqlite3_value_text16be"];var _sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=wasmExports["sqlite3_value_text16le"];var _sqlite3_value_type=Module["_sqlite3_value_type"]=wasmExports["sqlite3_value_type"];var _sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=wasmExports["sqlite3_value_encoding"];var _sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=wasmExports["sqlite3_value_nochange"];var _sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=wasmExports["sqlite3_value_frombind"];var _sqlite3_value_dup=Module["_sqlite3_value_dup"]=wasmExports["sqlite3_value_dup"];var _sqlite3_value_free=Module["_sqlite3_value_free"]=wasmExports["sqlite3_value_free"];var _sqlite3_result_blob=Module["_sqlite3_result_blob"]=wasmExports["sqlite3_result_blob"];var _sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=wasmExports["sqlite3_result_blob64"];var _sqlite3_result_double=Module["_sqlite3_result_double"]=wasmExports["sqlite3_result_double"];var _sqlite3_result_error=Module["_sqlite3_result_error"]=wasmExports["sqlite3_result_error"];var _sqlite3_result_error16=Module["_sqlite3_result_error16"]=wasmExports["sqlite3_result_error16"];var _sqlite3_result_int=Module["_sqlite3_result_int"]=wasmExports["sqlite3_result_int"];var _sqlite3_result_int64=Module["_sqlite3_result_int64"]=wasmExports["sqlite3_result_int64"];var _sqlite3_result_null=Module["_sqlite3_result_null"]=wasmExports["sqlite3_result_null"];var _sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=wasmExports["sqlite3_result_pointer"];var _sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=wasmExports["sqlite3_result_subtype"];var _sqlite3_result_text=Module["_sqlite3_result_text"]=wasmExports["sqlite3_result_text"];var _sqlite3_result_text64=Module["_sqlite3_result_text64"]=wasmExports["sqlite3_result_text64"];var _sqlite3_result_text16=Module["_sqlite3_result_text16"]=wasmExports["sqlite3_result_text16"];var _sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=wasmExports["sqlite3_result_text16be"];var _sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=wasmExports["sqlite3_result_text16le"];var _sqlite3_result_value=Module["_sqlite3_result_value"]=wasmExports["sqlite3_result_value"];var _sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=wasmExports["sqlite3_result_error_toobig"];var _sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=wasmExports["sqlite3_result_zeroblob"];var _sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=wasmExports["sqlite3_result_zeroblob64"];var _sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=wasmExports["sqlite3_result_error_code"];var _sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=wasmExports["sqlite3_result_error_nomem"];var _sqlite3_user_data=Module["_sqlite3_user_data"]=wasmExports["sqlite3_user_data"];var _sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=wasmExports["sqlite3_context_db_handle"];var _sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=wasmExports["sqlite3_vtab_nochange"];var _sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=wasmExports["sqlite3_vtab_in_first"];var _sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=wasmExports["sqlite3_vtab_in_next"];var _sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=wasmExports["sqlite3_aggregate_context"];var _sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=wasmExports["sqlite3_get_auxdata"];var _sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=wasmExports["sqlite3_set_auxdata"];var _sqlite3_column_count=Module["_sqlite3_column_count"]=wasmExports["sqlite3_column_count"];var _sqlite3_data_count=Module["_sqlite3_data_count"]=wasmExports["sqlite3_data_count"];var _sqlite3_column_blob=Module["_sqlite3_column_blob"]=wasmExports["sqlite3_column_blob"];var _sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=wasmExports["sqlite3_column_bytes"];var _sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=wasmExports["sqlite3_column_bytes16"];var _sqlite3_column_double=Module["_sqlite3_column_double"]=wasmExports["sqlite3_column_double"];var _sqlite3_column_text=Module["_sqlite3_column_text"]=wasmExports["sqlite3_column_text"];var _sqlite3_column_value=Module["_sqlite3_column_value"]=wasmExports["sqlite3_column_value"];var _sqlite3_column_text16=Module["_sqlite3_column_text16"]=wasmExports["sqlite3_column_text16"];var _sqlite3_column_type=Module["_sqlite3_column_type"]=wasmExports["sqlite3_column_type"];var _sqlite3_column_name=Module["_sqlite3_column_name"]=wasmExports["sqlite3_column_name"];var _sqlite3_column_name16=Module["_sqlite3_column_name16"]=wasmExports["sqlite3_column_name16"];var _sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=wasmExports["sqlite3_bind_blob"];var _sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=wasmExports["sqlite3_bind_blob64"];var _sqlite3_bind_double=Module["_sqlite3_bind_double"]=wasmExports["sqlite3_bind_double"];var _sqlite3_bind_int=Module["_sqlite3_bind_int"]=wasmExports["sqlite3_bind_int"];var _sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=wasmExports["sqlite3_bind_int64"];var _sqlite3_bind_null=Module["_sqlite3_bind_null"]=wasmExports["sqlite3_bind_null"];var _sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=wasmExports["sqlite3_bind_pointer"];var _sqlite3_bind_text=Module["_sqlite3_bind_text"]=wasmExports["sqlite3_bind_text"];var _sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=wasmExports["sqlite3_bind_text64"];var _sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=wasmExports["sqlite3_bind_text16"];var _sqlite3_bind_value=Module["_sqlite3_bind_value"]=wasmExports["sqlite3_bind_value"];var _sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=wasmExports["sqlite3_bind_zeroblob"];var _sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=wasmExports["sqlite3_bind_zeroblob64"];var _sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=wasmExports["sqlite3_bind_parameter_count"];var _sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=wasmExports["sqlite3_bind_parameter_name"];var _sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=wasmExports["sqlite3_bind_parameter_index"];var _sqlite3_db_handle=Module["_sqlite3_db_handle"]=wasmExports["sqlite3_db_handle"];var _sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=wasmExports["sqlite3_stmt_readonly"];var _sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=wasmExports["sqlite3_stmt_isexplain"];var _sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=wasmExports["sqlite3_stmt_explain"];var _sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=wasmExports["sqlite3_stmt_busy"];var _sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=wasmExports["sqlite3_next_stmt"];var _sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=wasmExports["sqlite3_stmt_status"];var _sqlite3_sql=Module["_sqlite3_sql"]=wasmExports["sqlite3_sql"];var _sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=wasmExports["sqlite3_expanded_sql"];var _sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=wasmExports["sqlite3_value_numeric_type"];var _sqlite3_blob_open=Module["_sqlite3_blob_open"]=wasmExports["sqlite3_blob_open"];var _sqlite3_blob_close=Module["_sqlite3_blob_close"]=wasmExports["sqlite3_blob_close"];var _sqlite3_blob_read=Module["_sqlite3_blob_read"]=wasmExports["sqlite3_blob_read"];var _sqlite3_blob_write=Module["_sqlite3_blob_write"]=wasmExports["sqlite3_blob_write"];var _sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=wasmExports["sqlite3_blob_bytes"];var _sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=wasmExports["sqlite3_blob_reopen"];var _sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=wasmExports["sqlite3_set_authorizer"];var _sqlite3_strglob=Module["_sqlite3_strglob"]=wasmExports["sqlite3_strglob"];var _sqlite3_strlike=Module["_sqlite3_strlike"]=wasmExports["sqlite3_strlike"];var _sqlite3_errmsg=Module["_sqlite3_errmsg"]=wasmExports["sqlite3_errmsg"];var _sqlite3_load_extension=Module["_sqlite3_load_extension"]=wasmExports["sqlite3_load_extension"];var _sqlite3_enable_load_extension=Module["_sqlite3_enable_load_extension"]=wasmExports["sqlite3_enable_load_extension"];var _sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=wasmExports["sqlite3_auto_extension"];var _sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=wasmExports["sqlite3_cancel_auto_extension"];var _sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=wasmExports["sqlite3_reset_auto_extension"];var _sqlite3_prepare=Module["_sqlite3_prepare"]=wasmExports["sqlite3_prepare"];var _sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=wasmExports["sqlite3_prepare_v3"];var _sqlite3_prepare16=Module["_sqlite3_prepare16"]=wasmExports["sqlite3_prepare16"];var _sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=wasmExports["sqlite3_prepare16_v2"];var _sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=wasmExports["sqlite3_prepare16_v3"];var _sqlite3_get_table=Module["_sqlite3_get_table"]=wasmExports["sqlite3_get_table"];var _sqlite3_free_table=Module["_sqlite3_free_table"]=wasmExports["sqlite3_free_table"];var _sqlite3_create_module=Module["_sqlite3_create_module"]=wasmExports["sqlite3_create_module"];var _sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=wasmExports["sqlite3_create_module_v2"];var _sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=wasmExports["sqlite3_drop_modules"];var _sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=wasmExports["sqlite3_declare_vtab"];var _sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=wasmExports["sqlite3_vtab_on_conflict"];var _sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=wasmExports["sqlite3_vtab_config"];var _sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=wasmExports["sqlite3_vtab_collation"];var _sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=wasmExports["sqlite3_vtab_in"];var _sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=wasmExports["sqlite3_vtab_rhs_value"];var _sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=wasmExports["sqlite3_vtab_distinct"];var _sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=wasmExports["sqlite3_keyword_name"];var _sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=wasmExports["sqlite3_keyword_count"];var _sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=wasmExports["sqlite3_keyword_check"];var _sqlite3_complete=Module["_sqlite3_complete"]=wasmExports["sqlite3_complete"];var _sqlite3_complete16=Module["_sqlite3_complete16"]=wasmExports["sqlite3_complete16"];var _sqlite3_libversion=Module["_sqlite3_libversion"]=wasmExports["sqlite3_libversion"];var _sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=wasmExports["sqlite3_libversion_number"];var _sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=wasmExports["sqlite3_threadsafe"];var _sqlite3_initialize=Module["_sqlite3_initialize"]=wasmExports["sqlite3_initialize"];var _sqlite3_shutdown=Module["_sqlite3_shutdown"]=wasmExports["sqlite3_shutdown"];var _sqlite3_config=Module["_sqlite3_config"]=wasmExports["sqlite3_config"];var _sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=wasmExports["sqlite3_db_mutex"];var _sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=wasmExports["sqlite3_db_release_memory"];var _sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=wasmExports["sqlite3_db_cacheflush"];var _sqlite3_db_config=Module["_sqlite3_db_config"]=wasmExports["sqlite3_db_config"];var _sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=wasmExports["sqlite3_last_insert_rowid"];var _sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=wasmExports["sqlite3_set_last_insert_rowid"];var _sqlite3_changes64=Module["_sqlite3_changes64"]=wasmExports["sqlite3_changes64"];var _sqlite3_changes=Module["_sqlite3_changes"]=wasmExports["sqlite3_changes"];var _sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=wasmExports["sqlite3_total_changes64"];var _sqlite3_total_changes=Module["_sqlite3_total_changes"]=wasmExports["sqlite3_total_changes"];var _sqlite3_txn_state=Module["_sqlite3_txn_state"]=wasmExports["sqlite3_txn_state"];var _sqlite3_close=Module["_sqlite3_close"]=wasmExports["sqlite3_close"];var _sqlite3_close_v2=Module["_sqlite3_close_v2"]=wasmExports["sqlite3_close_v2"];var _sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=wasmExports["sqlite3_busy_handler"];var _sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=wasmExports["sqlite3_progress_handler"];var _sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=wasmExports["sqlite3_busy_timeout"];var _sqlite3_interrupt=Module["_sqlite3_interrupt"]=wasmExports["sqlite3_interrupt"];var _sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=wasmExports["sqlite3_is_interrupted"];var _sqlite3_create_function=Module["_sqlite3_create_function"]=wasmExports["sqlite3_create_function"];var _sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=wasmExports["sqlite3_create_function_v2"];var _sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=wasmExports["sqlite3_create_window_function"];var _sqlite3_create_function16=Module["_sqlite3_create_function16"]=wasmExports["sqlite3_create_function16"];var _sqlite3_overload_function=Module["_sqlite3_overload_function"]=wasmExports["sqlite3_overload_function"];var _sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=wasmExports["sqlite3_trace_v2"];var _sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=wasmExports["sqlite3_commit_hook"];var _sqlite3_update_hook=Module["_sqlite3_update_hook"]=wasmExports["sqlite3_update_hook"];var _sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=wasmExports["sqlite3_rollback_hook"];var _sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=wasmExports["sqlite3_autovacuum_pages"];var _sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=wasmExports["sqlite3_wal_autocheckpoint"];var _sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=wasmExports["sqlite3_wal_hook"];var _sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=wasmExports["sqlite3_wal_checkpoint_v2"];var _sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=wasmExports["sqlite3_wal_checkpoint"];var _sqlite3_error_offset=Module["_sqlite3_error_offset"]=wasmExports["sqlite3_error_offset"];var _sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=wasmExports["sqlite3_errmsg16"];var _sqlite3_errcode=Module["_sqlite3_errcode"]=wasmExports["sqlite3_errcode"];var _sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=wasmExports["sqlite3_extended_errcode"];var _sqlite3_system_errno=Module["_sqlite3_system_errno"]=wasmExports["sqlite3_system_errno"];var _sqlite3_errstr=Module["_sqlite3_errstr"]=wasmExports["sqlite3_errstr"];var _sqlite3_limit=Module["_sqlite3_limit"]=wasmExports["sqlite3_limit"];var _sqlite3_open=Module["_sqlite3_open"]=wasmExports["sqlite3_open"];var _sqlite3_open_v2=Module["_sqlite3_open_v2"]=wasmExports["sqlite3_open_v2"];var _sqlite3_open16=Module["_sqlite3_open16"]=wasmExports["sqlite3_open16"];var _sqlite3_create_collation=Module["_sqlite3_create_collation"]=wasmExports["sqlite3_create_collation"];var _sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=wasmExports["sqlite3_create_collation_v2"];var _sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=wasmExports["sqlite3_create_collation16"];var _sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=wasmExports["sqlite3_collation_needed"];var _sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=wasmExports["sqlite3_collation_needed16"];var _sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=wasmExports["sqlite3_get_clientdata"];var _sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=wasmExports["sqlite3_set_clientdata"];var _sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=wasmExports["sqlite3_get_autocommit"];var _sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=wasmExports["sqlite3_table_column_metadata"];var _sqlite3_sleep=Module["_sqlite3_sleep"]=wasmExports["sqlite3_sleep"];var _sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=wasmExports["sqlite3_extended_result_codes"];var _sqlite3_file_control=Module["_sqlite3_file_control"]=wasmExports["sqlite3_file_control"];var _sqlite3_test_control=Module["_sqlite3_test_control"]=wasmExports["sqlite3_test_control"];var _sqlite3_create_filename=Module["_sqlite3_create_filename"]=wasmExports["sqlite3_create_filename"];var _sqlite3_free_filename=Module["_sqlite3_free_filename"]=wasmExports["sqlite3_free_filename"];var _sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=wasmExports["sqlite3_uri_parameter"];var _sqlite3_uri_key=Module["_sqlite3_uri_key"]=wasmExports["sqlite3_uri_key"];var _sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=wasmExports["sqlite3_uri_boolean"];var _sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=wasmExports["sqlite3_uri_int64"];var _sqlite3_filename_database=Module["_sqlite3_filename_database"]=wasmExports["sqlite3_filename_database"];var _sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=wasmExports["sqlite3_filename_journal"];var _sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=wasmExports["sqlite3_filename_wal"];var _sqlite3_db_name=Module["_sqlite3_db_name"]=wasmExports["sqlite3_db_name"];var _sqlite3_db_filename=Module["_sqlite3_db_filename"]=wasmExports["sqlite3_db_filename"];var _sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=wasmExports["sqlite3_db_readonly"];var _sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=wasmExports["sqlite3_compileoption_used"];var _sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=wasmExports["sqlite3_compileoption_get"];var _sqlite3_sourceid=Module["_sqlite3_sourceid"]=wasmExports["sqlite3_sourceid"];var _memcmp=Module["_memcmp"]=wasmExports["memcmp"];var _malloc=Module["_malloc"]=wasmExports["malloc"];var _free=Module["_free"]=wasmExports["free"];var _RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=wasmExports["RegisterExtensionFunctions"];var _getSqliteFree=Module["_getSqliteFree"]=wasmExports["getSqliteFree"];var _main=Module["_main"]=wasmExports["main"];var _libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=wasmExports["libauthorizer_set_authorizer"];var _libfunction_create_function=Module["_libfunction_create_function"]=wasmExports["libfunction_create_function"];var _libhook_commit_hook=Module["_libhook_commit_hook"]=wasmExports["libhook_commit_hook"];var _libhook_update_hook=Module["_libhook_update_hook"]=wasmExports["libhook_update_hook"];var _libprogress_progress_handler=Module["_libprogress_progress_handler"]=wasmExports["libprogress_progress_handler"];var _libvfs_vfs_register=Module["_libvfs_vfs_register"]=wasmExports["libvfs_vfs_register"];var _memcpy=Module["_memcpy"]=wasmExports["memcpy"];var _memset=Module["_memset"]=wasmExports["memset"];var _emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"];var __emscripten_timeout=wasmExports["_emscripten_timeout"];var __emscripten_tempret_get=wasmExports["_emscripten_tempret_get"];var __emscripten_stack_restore=wasmExports["_emscripten_stack_restore"];var __emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"];var _emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"];var dynCall_vijii=Module["dynCall_vijii"]=wasmExports["dynCall_vijii"];var dynCall_iiiij=Module["dynCall_iiiij"]=wasmExports["dynCall_iiiij"];var dynCall_viji=Module["dynCall_viji"]=wasmExports["dynCall_viji"];var dynCall_viiiij=Module["dynCall_viiiij"]=wasmExports["dynCall_viiiij"];var dynCall_iij=Module["dynCall_iij"]=wasmExports["dynCall_iij"];var dynCall_iijii=Module["dynCall_iijii"]=wasmExports["dynCall_iijii"];var dynCall_iiji=Module["dynCall_iiji"]=wasmExports["dynCall_iiji"];var dynCall_iiiiiij=Module["dynCall_iiiiiij"]=wasmExports["dynCall_iiiiiij"];var dynCall_iiij=Module["dynCall_iiij"]=wasmExports["dynCall_iiij"];var dynCall_jii=Module["dynCall_jii"]=wasmExports["dynCall_jii"];var dynCall_ji=Module["dynCall_ji"]=wasmExports["dynCall_ji"];var dynCall_vij=Module["dynCall_vij"]=wasmExports["dynCall_vij"];var dynCall_iiiiijii=Module["dynCall_iiiiijii"]=wasmExports["dynCall_iiiiijii"];var dynCall_j=Module["dynCall_j"]=wasmExports["dynCall_j"];var dynCall_jj=Module["dynCall_jj"]=wasmExports["dynCall_jj"];var dynCall_jiij=Module["dynCall_jiij"]=wasmExports["dynCall_jiij"];var dynCall_iiiiji=Module["dynCall_iiiiji"]=wasmExports["dynCall_iiiiji"];var dynCall_iiiijii=Module["dynCall_iiiijii"]=wasmExports["dynCall_iiiijii"];var dynCall_ij=Module["dynCall_ij"]=wasmExports["dynCall_ij"];var dynCall_viiji=Module["dynCall_viiji"]=wasmExports["dynCall_viiji"];var dynCall_viijii=Module["dynCall_viijii"]=wasmExports["dynCall_viijii"];var dynCall_iiiijji=Module["dynCall_iiiijji"]=wasmExports["dynCall_iiiijji"];var _sqlite3_version=Module["_sqlite3_version"]=85408;async function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);ret=await ret;exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}async function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)await callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}preInit();run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc,xStep,xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{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=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var EXITSTATUS;var readyPromiseResolve,readyPromiseReject;var wasmMemory;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["__wasm_call_ctors"]();FS.ignorePermissions=false}function preMain(){}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("wa-sqlite-jspi.wasm")}return new URL("wa-sqlite-jspi.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){Asyncify.instrumentWasmImports(wasmImports);return{env:wasmImports,wasi_snapshot_preview1:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmMemory=wasmExports["memory"];updateMemoryViews();wasmTable=wasmExports["__indirect_function_table"];assignWasmExports(wasmExports);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}var tempDouble;var tempI64;class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=new TextDecoder;var UTF8ToString=(ptr,maxBytesToRead)=>{if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))};var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);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.slice(-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.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>view=>crypto.getRandomValues(view);var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heapOrArray.buffer?heapOrArray.subarray(idx,endPtr):new Uint8Array(heapOrArray.slice(idx,endPtr)))};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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;i++}}heap[outIdx]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,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.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};asyncLoad.isAsync=true;var FS_createDataFile=(...args)=>FS.createDataFile(...args);var getUniqueRunDependency=id=>id;var preloadPlugins=[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}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|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,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){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}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)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){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);old_node.parent=new_dir}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;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return 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 link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){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)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},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}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,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,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){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},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)}if(!length){throw new FS.ErrnoError(28)}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)},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 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"){buf=UTF8ArrayToString(buf)}FS.close(stream);return buf},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){data=new Uint8Array(intArrayFromString(data,true))}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,llseek:()=>0});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){randomFill(randomBuffer);randomLeft=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",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},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){if(e.errno!=20)throw 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;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},writeStatFs(buf,stats){HEAP32[buf+4>>2]=stats.bsize;HEAP32[buf+40>>2]=stats.bsize;HEAP32[buf+8>>2]=stats.blocks;HEAP32[buf+12>>2]=stats.bfree;HEAP32[buf+16>>2]=stats.bavail;HEAP32[buf+20>>2]=stats.files;HEAP32[buf+24>>2]=stats.ffree;HEAP32[buf+28>>2]=stats.fsid;HEAP32[buf+44>>2]=stats.flags;HEAP32[buf+36>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);var now=Date.now(),atime,mtime;if(!times){atime=now;mtime=now}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){atime=now}else if(nanoseconds==1073741822){atime=null}else{atime=seconds*1e3+nanoseconds/(1e3*1e3)}times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){mtime=now}else if(nanoseconds==1073741822){mtime=null}else{mtime=seconds*1e3+nanoseconds/(1e3*1e3)}}if((mtime??atime)!==null){FS.utime(path,atime,mtime)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("");var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var timers={};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var _emscripten_get_now=()=>performance.now();var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetDate.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}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,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.language||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var _fd_sync=function(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return Asyncify.handleSleep(wakeUp=>{var mount=stream.node.mount;if(!mount.type.syncfs){wakeUp(0);return}mount.type.syncfs(mount,false,err=>{wakeUp(err?29:0)})})}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}};_fd_sync.isAsync=true;var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}function _ipp_async(...args){return adapters_support(true,...args)}_ipp_async.isAsync=true;function _ippipppp(...args){return adapters_support(false,...args)}function _ippipppp_async(...args){return adapters_support(true,...args)}_ippipppp_async.isAsync=true;function _ippp(...args){return adapters_support(false,...args)}function _ippp_async(...args){return adapters_support(true,...args)}_ippp_async.isAsync=true;function _ipppi(...args){return adapters_support(false,...args)}function _ipppi_async(...args){return adapters_support(true,...args)}_ipppi_async.isAsync=true;function _ipppiii(...args){return adapters_support(false,...args)}function _ipppiii_async(...args){return adapters_support(true,...args)}_ipppiii_async.isAsync=true;function _ipppiiip(...args){return adapters_support(false,...args)}function _ipppiiip_async(...args){return adapters_support(true,...args)}_ipppiiip_async.isAsync=true;function _ipppip(...args){return adapters_support(false,...args)}function _ipppip_async(...args){return adapters_support(true,...args)}_ipppip_async.isAsync=true;function _ipppj(...args){return adapters_support(false,...args)}function _ipppj_async(...args){return adapters_support(true,...args)}_ipppj_async.isAsync=true;function _ipppp(...args){return adapters_support(false,...args)}function _ipppp_async(...args){return adapters_support(true,...args)}_ipppp_async.isAsync=true;function _ippppi(...args){return adapters_support(false,...args)}function _ippppi_async(...args){return adapters_support(true,...args)}_ippppi_async.isAsync=true;function _ippppij(...args){return adapters_support(false,...args)}function _ippppij_async(...args){return adapters_support(true,...args)}_ippppij_async.isAsync=true;function _ippppip(...args){return adapters_support(false,...args)}function _ippppip_async(...args){return adapters_support(true,...args)}_ippppip_async.isAsync=true;function _ipppppip(...args){return adapters_support(false,...args)}function _ipppppip_async(...args){return adapters_support(true,...args)}_ipppppip_async.isAsync=true;function _vppippii(...args){return adapters_support(false,...args)}function _vppippii_async(...args){return adapters_support(true,...args)}_vppippii_async.isAsync=true;function _vppp(...args){return adapters_support(false,...args)}function _vppp_async(...args){return adapters_support(true,...args)}_vppp_async.isAsync=true;function _vpppip(...args){return adapters_support(false,...args)}function _vpppip_async(...args){return adapters_support(true,...args)}_vpppip_async.isAsync=true;var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;ioriginal(...args);return wrapper},instrumentWasmExports(exports){var exportPattern=/^(sqlite3_close|sqlite3_finalize|sqlite3_open_v2|sqlite3_prepare|sqlite3_prepare16|sqlite3_prepare_v2|sqlite3_prepare16_v2|sqlite3_prepare_v3|sqlite3_prepare16_v3|sqlite3_reset|sqlite3_step|main|__main_argc_argv)$/;Asyncify.asyncExports=new Set;var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){let isAsyncifyExport=exportPattern.test(x);if(isAsyncifyExport){Asyncify.asyncExports.add(original);original=Asyncify.makeAsyncFunction(original)}var wrapper=Asyncify.instrumentFunction(original);ret[x]=wrapper}else{ret[x]=original}}return ret},asyncExports:null,isAsyncExport(func){return Asyncify.asyncExports?.has(func)},handleAsync:async startAsync=>{try{return await startAsync()}finally{}},handleSleep:startAsync=>Asyncify.handleAsync(()=>new Promise(startAsync)),makeAsyncFunction(original){return WebAssembly.promising(original)}};var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var generateFuncType=(sig,target)=>{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var paramType of sigParam){target.push(typeCodes[paramType])}if(sigRet=="v"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTableMirror=[];var wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr);if(Asyncify.isAsyncExport(func)){wasmTableMirror[funcPtr]=func=Asyncify.makeAsyncFunction(func)}}return func};var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>{wasmTable.set(idx,func);wasmTableMirror[idx]=wasmTable.get(idx)};var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i65535){i++}HEAP32[outPtr>>2]=codePoint;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=new TextDecoder("utf-16le");var UTF16ToString=(ptr,maxBytesToRead)=>{var idx=ptr>>1;var maxIdx=idx+maxBytesToRead/2;var endIdx=idx;while(!(endIdx>=maxIdx)&&HEAPU16[endIdx])++endIdx;return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx))};var UTF32ToString=(ptr,maxBytesToRead)=>{var str="";for(var i=0;!(i>=maxBytesToRead/4);i++){var utf32=HEAP32[ptr+i*4>>2];if(!utf32)break;str+=String.fromCodePoint(utf32)}return str};var intArrayToString=array=>{var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")};var _getTempRet0=getTempRet0;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";adapters_support();{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"]}Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;Module["_getTempRet0"]=_getTempRet0;var _powersync_init_static,_sqlite3_status64,_sqlite3_status,_sqlite3_db_status,_sqlite3_msize,_sqlite3_vfs_find,_sqlite3_vfs_register,_sqlite3_vfs_unregister,_sqlite3_release_memory,_sqlite3_soft_heap_limit64,_sqlite3_memory_used,_sqlite3_hard_heap_limit64,_sqlite3_memory_highwater,_sqlite3_malloc,_sqlite3_malloc64,_sqlite3_free,_sqlite3_realloc,_sqlite3_realloc64,_sqlite3_str_vappendf,_sqlite3_str_append,_sqlite3_str_appendchar,_sqlite3_str_appendall,_sqlite3_str_appendf,_sqlite3_str_finish,_sqlite3_str_errcode,_sqlite3_str_length,_sqlite3_str_value,_sqlite3_str_reset,_sqlite3_str_new,_sqlite3_vmprintf,_sqlite3_mprintf,_sqlite3_vsnprintf,_sqlite3_snprintf,_sqlite3_log,_sqlite3_randomness,_sqlite3_stricmp,_sqlite3_strnicmp,_sqlite3_os_init,_sqlite3_os_end,_sqlite3_serialize,_sqlite3_prepare_v2,_sqlite3_step,_sqlite3_column_int64,_sqlite3_reset,_sqlite3_exec,_sqlite3_column_int,_sqlite3_finalize,_sqlite3_deserialize,_sqlite3_database_file_object,_sqlite3_backup_init,_sqlite3_backup_step,_sqlite3_backup_finish,_sqlite3_backup_remaining,_sqlite3_backup_pagecount,_sqlite3_clear_bindings,_sqlite3_value_blob,_sqlite3_value_text,_sqlite3_value_bytes,_sqlite3_value_bytes16,_sqlite3_value_double,_sqlite3_value_int,_sqlite3_value_int64,_sqlite3_value_subtype,_sqlite3_value_pointer,_sqlite3_value_text16,_sqlite3_value_text16be,_sqlite3_value_text16le,_sqlite3_value_type,_sqlite3_value_encoding,_sqlite3_value_nochange,_sqlite3_value_frombind,_sqlite3_value_dup,_sqlite3_value_free,_sqlite3_result_blob,_sqlite3_result_blob64,_sqlite3_result_double,_sqlite3_result_error,_sqlite3_result_error16,_sqlite3_result_int,_sqlite3_result_int64,_sqlite3_result_null,_sqlite3_result_pointer,_sqlite3_result_subtype,_sqlite3_result_text,_sqlite3_result_text64,_sqlite3_result_text16,_sqlite3_result_text16be,_sqlite3_result_text16le,_sqlite3_result_value,_sqlite3_result_error_toobig,_sqlite3_result_zeroblob,_sqlite3_result_zeroblob64,_sqlite3_result_error_code,_sqlite3_result_error_nomem,_sqlite3_user_data,_sqlite3_context_db_handle,_sqlite3_vtab_nochange,_sqlite3_vtab_in_first,_sqlite3_vtab_in_next,_sqlite3_aggregate_context,_sqlite3_get_auxdata,_sqlite3_set_auxdata,_sqlite3_column_count,_sqlite3_data_count,_sqlite3_column_blob,_sqlite3_column_bytes,_sqlite3_column_bytes16,_sqlite3_column_double,_sqlite3_column_text,_sqlite3_column_value,_sqlite3_column_text16,_sqlite3_column_type,_sqlite3_column_name,_sqlite3_column_name16,_sqlite3_bind_blob,_sqlite3_bind_blob64,_sqlite3_bind_double,_sqlite3_bind_int,_sqlite3_bind_int64,_sqlite3_bind_null,_sqlite3_bind_pointer,_sqlite3_bind_text,_sqlite3_bind_text64,_sqlite3_bind_text16,_sqlite3_bind_value,_sqlite3_bind_zeroblob,_sqlite3_bind_zeroblob64,_sqlite3_bind_parameter_count,_sqlite3_bind_parameter_name,_sqlite3_bind_parameter_index,_sqlite3_db_handle,_sqlite3_stmt_readonly,_sqlite3_stmt_isexplain,_sqlite3_stmt_explain,_sqlite3_stmt_busy,_sqlite3_next_stmt,_sqlite3_stmt_status,_sqlite3_sql,_sqlite3_expanded_sql,_sqlite3_value_numeric_type,_sqlite3_blob_open,_sqlite3_blob_close,_sqlite3_blob_read,_sqlite3_blob_write,_sqlite3_blob_bytes,_sqlite3_blob_reopen,_sqlite3_set_authorizer,_sqlite3_strglob,_sqlite3_strlike,_sqlite3_errmsg,_sqlite3_load_extension,_sqlite3_enable_load_extension,_sqlite3_auto_extension,_sqlite3_cancel_auto_extension,_sqlite3_reset_auto_extension,_sqlite3_prepare,_sqlite3_prepare_v3,_sqlite3_prepare16,_sqlite3_prepare16_v2,_sqlite3_prepare16_v3,_sqlite3_get_table,_sqlite3_free_table,_sqlite3_create_module,_sqlite3_create_module_v2,_sqlite3_drop_modules,_sqlite3_declare_vtab,_sqlite3_vtab_on_conflict,_sqlite3_vtab_config,_sqlite3_vtab_collation,_sqlite3_vtab_in,_sqlite3_vtab_rhs_value,_sqlite3_vtab_distinct,_sqlite3_keyword_name,_sqlite3_keyword_count,_sqlite3_keyword_check,_sqlite3_complete,_sqlite3_complete16,_sqlite3_libversion,_sqlite3_libversion_number,_sqlite3_threadsafe,_sqlite3_initialize,_sqlite3_shutdown,_sqlite3_config,_sqlite3_db_mutex,_sqlite3_db_release_memory,_sqlite3_db_cacheflush,_sqlite3_db_config,_sqlite3_last_insert_rowid,_sqlite3_set_last_insert_rowid,_sqlite3_changes64,_sqlite3_changes,_sqlite3_total_changes64,_sqlite3_total_changes,_sqlite3_txn_state,_sqlite3_close,_sqlite3_close_v2,_sqlite3_busy_handler,_sqlite3_progress_handler,_sqlite3_busy_timeout,_sqlite3_interrupt,_sqlite3_is_interrupted,_sqlite3_create_function,_sqlite3_create_function_v2,_sqlite3_create_window_function,_sqlite3_create_function16,_sqlite3_overload_function,_sqlite3_trace_v2,_sqlite3_commit_hook,_sqlite3_update_hook,_sqlite3_rollback_hook,_sqlite3_autovacuum_pages,_sqlite3_wal_autocheckpoint,_sqlite3_wal_hook,_sqlite3_wal_checkpoint_v2,_sqlite3_wal_checkpoint,_sqlite3_error_offset,_sqlite3_errmsg16,_sqlite3_errcode,_sqlite3_extended_errcode,_sqlite3_system_errno,_sqlite3_errstr,_sqlite3_limit,_sqlite3_open,_sqlite3_open_v2,_sqlite3_open16,_sqlite3_create_collation,_sqlite3_create_collation_v2,_sqlite3_create_collation16,_sqlite3_collation_needed,_sqlite3_collation_needed16,_sqlite3_get_clientdata,_sqlite3_set_clientdata,_sqlite3_get_autocommit,_sqlite3_table_column_metadata,_sqlite3_sleep,_sqlite3_extended_result_codes,_sqlite3_file_control,_sqlite3_test_control,_sqlite3_create_filename,_sqlite3_free_filename,_sqlite3_uri_parameter,_sqlite3_uri_key,_sqlite3_uri_boolean,_sqlite3_uri_int64,_sqlite3_filename_database,_sqlite3_filename_journal,_sqlite3_filename_wal,_sqlite3_db_name,_sqlite3_db_filename,_sqlite3_db_readonly,_sqlite3_compileoption_used,_sqlite3_compileoption_get,_sqlite3_sourceid,_memcmp,_malloc,_free,_RegisterExtensionFunctions,_getSqliteFree,_main,_libauthorizer_set_authorizer,_libfunction_create_function,_libhook_commit_hook,_libhook_update_hook,_libprogress_progress_handler,_libvfs_vfs_register,_memcpy,_memset,_emscripten_builtin_memalign,__emscripten_timeout,__emscripten_tempret_get,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,dynCall_vijii,dynCall_iiiij,dynCall_viji,dynCall_viiiij,dynCall_iij,dynCall_iijii,dynCall_iiji,dynCall_iiiiiij,dynCall_iiij,dynCall_jii,dynCall_ji,dynCall_vij,dynCall_iiiiijii,dynCall_j,dynCall_jj,dynCall_jiij,dynCall_iiiiji,dynCall_iiiijii,dynCall_ij,dynCall_viiji,dynCall_viijii,dynCall_iiiijji;function assignWasmExports(wasmExports){Module["_powersync_init_static"]=_powersync_init_static=wasmExports["powersync_init_static"];Module["_sqlite3_status64"]=_sqlite3_status64=wasmExports["sqlite3_status64"];Module["_sqlite3_status"]=_sqlite3_status=wasmExports["sqlite3_status"];Module["_sqlite3_db_status"]=_sqlite3_db_status=wasmExports["sqlite3_db_status"];Module["_sqlite3_msize"]=_sqlite3_msize=wasmExports["sqlite3_msize"];Module["_sqlite3_vfs_find"]=_sqlite3_vfs_find=wasmExports["sqlite3_vfs_find"];Module["_sqlite3_vfs_register"]=_sqlite3_vfs_register=wasmExports["sqlite3_vfs_register"];Module["_sqlite3_vfs_unregister"]=_sqlite3_vfs_unregister=wasmExports["sqlite3_vfs_unregister"];Module["_sqlite3_release_memory"]=_sqlite3_release_memory=wasmExports["sqlite3_release_memory"];Module["_sqlite3_soft_heap_limit64"]=_sqlite3_soft_heap_limit64=wasmExports["sqlite3_soft_heap_limit64"];Module["_sqlite3_memory_used"]=_sqlite3_memory_used=wasmExports["sqlite3_memory_used"];Module["_sqlite3_hard_heap_limit64"]=_sqlite3_hard_heap_limit64=wasmExports["sqlite3_hard_heap_limit64"];Module["_sqlite3_memory_highwater"]=_sqlite3_memory_highwater=wasmExports["sqlite3_memory_highwater"];Module["_sqlite3_malloc"]=_sqlite3_malloc=wasmExports["sqlite3_malloc"];Module["_sqlite3_malloc64"]=_sqlite3_malloc64=wasmExports["sqlite3_malloc64"];Module["_sqlite3_free"]=_sqlite3_free=wasmExports["sqlite3_free"];Module["_sqlite3_realloc"]=_sqlite3_realloc=wasmExports["sqlite3_realloc"];Module["_sqlite3_realloc64"]=_sqlite3_realloc64=wasmExports["sqlite3_realloc64"];Module["_sqlite3_str_vappendf"]=_sqlite3_str_vappendf=wasmExports["sqlite3_str_vappendf"];Module["_sqlite3_str_append"]=_sqlite3_str_append=wasmExports["sqlite3_str_append"];Module["_sqlite3_str_appendchar"]=_sqlite3_str_appendchar=wasmExports["sqlite3_str_appendchar"];Module["_sqlite3_str_appendall"]=_sqlite3_str_appendall=wasmExports["sqlite3_str_appendall"];Module["_sqlite3_str_appendf"]=_sqlite3_str_appendf=wasmExports["sqlite3_str_appendf"];Module["_sqlite3_str_finish"]=_sqlite3_str_finish=wasmExports["sqlite3_str_finish"];Module["_sqlite3_str_errcode"]=_sqlite3_str_errcode=wasmExports["sqlite3_str_errcode"];Module["_sqlite3_str_length"]=_sqlite3_str_length=wasmExports["sqlite3_str_length"];Module["_sqlite3_str_value"]=_sqlite3_str_value=wasmExports["sqlite3_str_value"];Module["_sqlite3_str_reset"]=_sqlite3_str_reset=wasmExports["sqlite3_str_reset"];Module["_sqlite3_str_new"]=_sqlite3_str_new=wasmExports["sqlite3_str_new"];Module["_sqlite3_vmprintf"]=_sqlite3_vmprintf=wasmExports["sqlite3_vmprintf"];Module["_sqlite3_mprintf"]=_sqlite3_mprintf=wasmExports["sqlite3_mprintf"];Module["_sqlite3_vsnprintf"]=_sqlite3_vsnprintf=wasmExports["sqlite3_vsnprintf"];Module["_sqlite3_snprintf"]=_sqlite3_snprintf=wasmExports["sqlite3_snprintf"];Module["_sqlite3_log"]=_sqlite3_log=wasmExports["sqlite3_log"];Module["_sqlite3_randomness"]=_sqlite3_randomness=wasmExports["sqlite3_randomness"];Module["_sqlite3_stricmp"]=_sqlite3_stricmp=wasmExports["sqlite3_stricmp"];Module["_sqlite3_strnicmp"]=_sqlite3_strnicmp=wasmExports["sqlite3_strnicmp"];Module["_sqlite3_os_init"]=_sqlite3_os_init=wasmExports["sqlite3_os_init"];Module["_sqlite3_os_end"]=_sqlite3_os_end=wasmExports["sqlite3_os_end"];Module["_sqlite3_serialize"]=_sqlite3_serialize=wasmExports["sqlite3_serialize"];Module["_sqlite3_prepare_v2"]=_sqlite3_prepare_v2=wasmExports["sqlite3_prepare_v2"];Module["_sqlite3_step"]=_sqlite3_step=wasmExports["sqlite3_step"];Module["_sqlite3_column_int64"]=_sqlite3_column_int64=wasmExports["sqlite3_column_int64"];Module["_sqlite3_reset"]=_sqlite3_reset=wasmExports["sqlite3_reset"];Module["_sqlite3_exec"]=_sqlite3_exec=wasmExports["sqlite3_exec"];Module["_sqlite3_column_int"]=_sqlite3_column_int=wasmExports["sqlite3_column_int"];Module["_sqlite3_finalize"]=_sqlite3_finalize=wasmExports["sqlite3_finalize"];Module["_sqlite3_deserialize"]=_sqlite3_deserialize=wasmExports["sqlite3_deserialize"];Module["_sqlite3_database_file_object"]=_sqlite3_database_file_object=wasmExports["sqlite3_database_file_object"];Module["_sqlite3_backup_init"]=_sqlite3_backup_init=wasmExports["sqlite3_backup_init"];Module["_sqlite3_backup_step"]=_sqlite3_backup_step=wasmExports["sqlite3_backup_step"];Module["_sqlite3_backup_finish"]=_sqlite3_backup_finish=wasmExports["sqlite3_backup_finish"];Module["_sqlite3_backup_remaining"]=_sqlite3_backup_remaining=wasmExports["sqlite3_backup_remaining"];Module["_sqlite3_backup_pagecount"]=_sqlite3_backup_pagecount=wasmExports["sqlite3_backup_pagecount"];Module["_sqlite3_clear_bindings"]=_sqlite3_clear_bindings=wasmExports["sqlite3_clear_bindings"];Module["_sqlite3_value_blob"]=_sqlite3_value_blob=wasmExports["sqlite3_value_blob"];Module["_sqlite3_value_text"]=_sqlite3_value_text=wasmExports["sqlite3_value_text"];Module["_sqlite3_value_bytes"]=_sqlite3_value_bytes=wasmExports["sqlite3_value_bytes"];Module["_sqlite3_value_bytes16"]=_sqlite3_value_bytes16=wasmExports["sqlite3_value_bytes16"];Module["_sqlite3_value_double"]=_sqlite3_value_double=wasmExports["sqlite3_value_double"];Module["_sqlite3_value_int"]=_sqlite3_value_int=wasmExports["sqlite3_value_int"];Module["_sqlite3_value_int64"]=_sqlite3_value_int64=wasmExports["sqlite3_value_int64"];Module["_sqlite3_value_subtype"]=_sqlite3_value_subtype=wasmExports["sqlite3_value_subtype"];Module["_sqlite3_value_pointer"]=_sqlite3_value_pointer=wasmExports["sqlite3_value_pointer"];Module["_sqlite3_value_text16"]=_sqlite3_value_text16=wasmExports["sqlite3_value_text16"];Module["_sqlite3_value_text16be"]=_sqlite3_value_text16be=wasmExports["sqlite3_value_text16be"];Module["_sqlite3_value_text16le"]=_sqlite3_value_text16le=wasmExports["sqlite3_value_text16le"];Module["_sqlite3_value_type"]=_sqlite3_value_type=wasmExports["sqlite3_value_type"];Module["_sqlite3_value_encoding"]=_sqlite3_value_encoding=wasmExports["sqlite3_value_encoding"];Module["_sqlite3_value_nochange"]=_sqlite3_value_nochange=wasmExports["sqlite3_value_nochange"];Module["_sqlite3_value_frombind"]=_sqlite3_value_frombind=wasmExports["sqlite3_value_frombind"];Module["_sqlite3_value_dup"]=_sqlite3_value_dup=wasmExports["sqlite3_value_dup"];Module["_sqlite3_value_free"]=_sqlite3_value_free=wasmExports["sqlite3_value_free"];Module["_sqlite3_result_blob"]=_sqlite3_result_blob=wasmExports["sqlite3_result_blob"];Module["_sqlite3_result_blob64"]=_sqlite3_result_blob64=wasmExports["sqlite3_result_blob64"];Module["_sqlite3_result_double"]=_sqlite3_result_double=wasmExports["sqlite3_result_double"];Module["_sqlite3_result_error"]=_sqlite3_result_error=wasmExports["sqlite3_result_error"];Module["_sqlite3_result_error16"]=_sqlite3_result_error16=wasmExports["sqlite3_result_error16"];Module["_sqlite3_result_int"]=_sqlite3_result_int=wasmExports["sqlite3_result_int"];Module["_sqlite3_result_int64"]=_sqlite3_result_int64=wasmExports["sqlite3_result_int64"];Module["_sqlite3_result_null"]=_sqlite3_result_null=wasmExports["sqlite3_result_null"];Module["_sqlite3_result_pointer"]=_sqlite3_result_pointer=wasmExports["sqlite3_result_pointer"];Module["_sqlite3_result_subtype"]=_sqlite3_result_subtype=wasmExports["sqlite3_result_subtype"];Module["_sqlite3_result_text"]=_sqlite3_result_text=wasmExports["sqlite3_result_text"];Module["_sqlite3_result_text64"]=_sqlite3_result_text64=wasmExports["sqlite3_result_text64"];Module["_sqlite3_result_text16"]=_sqlite3_result_text16=wasmExports["sqlite3_result_text16"];Module["_sqlite3_result_text16be"]=_sqlite3_result_text16be=wasmExports["sqlite3_result_text16be"];Module["_sqlite3_result_text16le"]=_sqlite3_result_text16le=wasmExports["sqlite3_result_text16le"];Module["_sqlite3_result_value"]=_sqlite3_result_value=wasmExports["sqlite3_result_value"];Module["_sqlite3_result_error_toobig"]=_sqlite3_result_error_toobig=wasmExports["sqlite3_result_error_toobig"];Module["_sqlite3_result_zeroblob"]=_sqlite3_result_zeroblob=wasmExports["sqlite3_result_zeroblob"];Module["_sqlite3_result_zeroblob64"]=_sqlite3_result_zeroblob64=wasmExports["sqlite3_result_zeroblob64"];Module["_sqlite3_result_error_code"]=_sqlite3_result_error_code=wasmExports["sqlite3_result_error_code"];Module["_sqlite3_result_error_nomem"]=_sqlite3_result_error_nomem=wasmExports["sqlite3_result_error_nomem"];Module["_sqlite3_user_data"]=_sqlite3_user_data=wasmExports["sqlite3_user_data"];Module["_sqlite3_context_db_handle"]=_sqlite3_context_db_handle=wasmExports["sqlite3_context_db_handle"];Module["_sqlite3_vtab_nochange"]=_sqlite3_vtab_nochange=wasmExports["sqlite3_vtab_nochange"];Module["_sqlite3_vtab_in_first"]=_sqlite3_vtab_in_first=wasmExports["sqlite3_vtab_in_first"];Module["_sqlite3_vtab_in_next"]=_sqlite3_vtab_in_next=wasmExports["sqlite3_vtab_in_next"];Module["_sqlite3_aggregate_context"]=_sqlite3_aggregate_context=wasmExports["sqlite3_aggregate_context"];Module["_sqlite3_get_auxdata"]=_sqlite3_get_auxdata=wasmExports["sqlite3_get_auxdata"];Module["_sqlite3_set_auxdata"]=_sqlite3_set_auxdata=wasmExports["sqlite3_set_auxdata"];Module["_sqlite3_column_count"]=_sqlite3_column_count=wasmExports["sqlite3_column_count"];Module["_sqlite3_data_count"]=_sqlite3_data_count=wasmExports["sqlite3_data_count"];Module["_sqlite3_column_blob"]=_sqlite3_column_blob=wasmExports["sqlite3_column_blob"];Module["_sqlite3_column_bytes"]=_sqlite3_column_bytes=wasmExports["sqlite3_column_bytes"];Module["_sqlite3_column_bytes16"]=_sqlite3_column_bytes16=wasmExports["sqlite3_column_bytes16"];Module["_sqlite3_column_double"]=_sqlite3_column_double=wasmExports["sqlite3_column_double"];Module["_sqlite3_column_text"]=_sqlite3_column_text=wasmExports["sqlite3_column_text"];Module["_sqlite3_column_value"]=_sqlite3_column_value=wasmExports["sqlite3_column_value"];Module["_sqlite3_column_text16"]=_sqlite3_column_text16=wasmExports["sqlite3_column_text16"];Module["_sqlite3_column_type"]=_sqlite3_column_type=wasmExports["sqlite3_column_type"];Module["_sqlite3_column_name"]=_sqlite3_column_name=wasmExports["sqlite3_column_name"];Module["_sqlite3_column_name16"]=_sqlite3_column_name16=wasmExports["sqlite3_column_name16"];Module["_sqlite3_bind_blob"]=_sqlite3_bind_blob=wasmExports["sqlite3_bind_blob"];Module["_sqlite3_bind_blob64"]=_sqlite3_bind_blob64=wasmExports["sqlite3_bind_blob64"];Module["_sqlite3_bind_double"]=_sqlite3_bind_double=wasmExports["sqlite3_bind_double"];Module["_sqlite3_bind_int"]=_sqlite3_bind_int=wasmExports["sqlite3_bind_int"];Module["_sqlite3_bind_int64"]=_sqlite3_bind_int64=wasmExports["sqlite3_bind_int64"];Module["_sqlite3_bind_null"]=_sqlite3_bind_null=wasmExports["sqlite3_bind_null"];Module["_sqlite3_bind_pointer"]=_sqlite3_bind_pointer=wasmExports["sqlite3_bind_pointer"];Module["_sqlite3_bind_text"]=_sqlite3_bind_text=wasmExports["sqlite3_bind_text"];Module["_sqlite3_bind_text64"]=_sqlite3_bind_text64=wasmExports["sqlite3_bind_text64"];Module["_sqlite3_bind_text16"]=_sqlite3_bind_text16=wasmExports["sqlite3_bind_text16"];Module["_sqlite3_bind_value"]=_sqlite3_bind_value=wasmExports["sqlite3_bind_value"];Module["_sqlite3_bind_zeroblob"]=_sqlite3_bind_zeroblob=wasmExports["sqlite3_bind_zeroblob"];Module["_sqlite3_bind_zeroblob64"]=_sqlite3_bind_zeroblob64=wasmExports["sqlite3_bind_zeroblob64"];Module["_sqlite3_bind_parameter_count"]=_sqlite3_bind_parameter_count=wasmExports["sqlite3_bind_parameter_count"];Module["_sqlite3_bind_parameter_name"]=_sqlite3_bind_parameter_name=wasmExports["sqlite3_bind_parameter_name"];Module["_sqlite3_bind_parameter_index"]=_sqlite3_bind_parameter_index=wasmExports["sqlite3_bind_parameter_index"];Module["_sqlite3_db_handle"]=_sqlite3_db_handle=wasmExports["sqlite3_db_handle"];Module["_sqlite3_stmt_readonly"]=_sqlite3_stmt_readonly=wasmExports["sqlite3_stmt_readonly"];Module["_sqlite3_stmt_isexplain"]=_sqlite3_stmt_isexplain=wasmExports["sqlite3_stmt_isexplain"];Module["_sqlite3_stmt_explain"]=_sqlite3_stmt_explain=wasmExports["sqlite3_stmt_explain"];Module["_sqlite3_stmt_busy"]=_sqlite3_stmt_busy=wasmExports["sqlite3_stmt_busy"];Module["_sqlite3_next_stmt"]=_sqlite3_next_stmt=wasmExports["sqlite3_next_stmt"];Module["_sqlite3_stmt_status"]=_sqlite3_stmt_status=wasmExports["sqlite3_stmt_status"];Module["_sqlite3_sql"]=_sqlite3_sql=wasmExports["sqlite3_sql"];Module["_sqlite3_expanded_sql"]=_sqlite3_expanded_sql=wasmExports["sqlite3_expanded_sql"];Module["_sqlite3_value_numeric_type"]=_sqlite3_value_numeric_type=wasmExports["sqlite3_value_numeric_type"];Module["_sqlite3_blob_open"]=_sqlite3_blob_open=wasmExports["sqlite3_blob_open"];Module["_sqlite3_blob_close"]=_sqlite3_blob_close=wasmExports["sqlite3_blob_close"];Module["_sqlite3_blob_read"]=_sqlite3_blob_read=wasmExports["sqlite3_blob_read"];Module["_sqlite3_blob_write"]=_sqlite3_blob_write=wasmExports["sqlite3_blob_write"];Module["_sqlite3_blob_bytes"]=_sqlite3_blob_bytes=wasmExports["sqlite3_blob_bytes"];Module["_sqlite3_blob_reopen"]=_sqlite3_blob_reopen=wasmExports["sqlite3_blob_reopen"];Module["_sqlite3_set_authorizer"]=_sqlite3_set_authorizer=wasmExports["sqlite3_set_authorizer"];Module["_sqlite3_strglob"]=_sqlite3_strglob=wasmExports["sqlite3_strglob"];Module["_sqlite3_strlike"]=_sqlite3_strlike=wasmExports["sqlite3_strlike"];Module["_sqlite3_errmsg"]=_sqlite3_errmsg=wasmExports["sqlite3_errmsg"];Module["_sqlite3_load_extension"]=_sqlite3_load_extension=wasmExports["sqlite3_load_extension"];Module["_sqlite3_enable_load_extension"]=_sqlite3_enable_load_extension=wasmExports["sqlite3_enable_load_extension"];Module["_sqlite3_auto_extension"]=_sqlite3_auto_extension=wasmExports["sqlite3_auto_extension"];Module["_sqlite3_cancel_auto_extension"]=_sqlite3_cancel_auto_extension=wasmExports["sqlite3_cancel_auto_extension"];Module["_sqlite3_reset_auto_extension"]=_sqlite3_reset_auto_extension=wasmExports["sqlite3_reset_auto_extension"];Module["_sqlite3_prepare"]=_sqlite3_prepare=wasmExports["sqlite3_prepare"];Module["_sqlite3_prepare_v3"]=_sqlite3_prepare_v3=wasmExports["sqlite3_prepare_v3"];Module["_sqlite3_prepare16"]=_sqlite3_prepare16=wasmExports["sqlite3_prepare16"];Module["_sqlite3_prepare16_v2"]=_sqlite3_prepare16_v2=wasmExports["sqlite3_prepare16_v2"];Module["_sqlite3_prepare16_v3"]=_sqlite3_prepare16_v3=wasmExports["sqlite3_prepare16_v3"];Module["_sqlite3_get_table"]=_sqlite3_get_table=wasmExports["sqlite3_get_table"];Module["_sqlite3_free_table"]=_sqlite3_free_table=wasmExports["sqlite3_free_table"];Module["_sqlite3_create_module"]=_sqlite3_create_module=wasmExports["sqlite3_create_module"];Module["_sqlite3_create_module_v2"]=_sqlite3_create_module_v2=wasmExports["sqlite3_create_module_v2"];Module["_sqlite3_drop_modules"]=_sqlite3_drop_modules=wasmExports["sqlite3_drop_modules"];Module["_sqlite3_declare_vtab"]=_sqlite3_declare_vtab=wasmExports["sqlite3_declare_vtab"];Module["_sqlite3_vtab_on_conflict"]=_sqlite3_vtab_on_conflict=wasmExports["sqlite3_vtab_on_conflict"];Module["_sqlite3_vtab_config"]=_sqlite3_vtab_config=wasmExports["sqlite3_vtab_config"];Module["_sqlite3_vtab_collation"]=_sqlite3_vtab_collation=wasmExports["sqlite3_vtab_collation"];Module["_sqlite3_vtab_in"]=_sqlite3_vtab_in=wasmExports["sqlite3_vtab_in"];Module["_sqlite3_vtab_rhs_value"]=_sqlite3_vtab_rhs_value=wasmExports["sqlite3_vtab_rhs_value"];Module["_sqlite3_vtab_distinct"]=_sqlite3_vtab_distinct=wasmExports["sqlite3_vtab_distinct"];Module["_sqlite3_keyword_name"]=_sqlite3_keyword_name=wasmExports["sqlite3_keyword_name"];Module["_sqlite3_keyword_count"]=_sqlite3_keyword_count=wasmExports["sqlite3_keyword_count"];Module["_sqlite3_keyword_check"]=_sqlite3_keyword_check=wasmExports["sqlite3_keyword_check"];Module["_sqlite3_complete"]=_sqlite3_complete=wasmExports["sqlite3_complete"];Module["_sqlite3_complete16"]=_sqlite3_complete16=wasmExports["sqlite3_complete16"];Module["_sqlite3_libversion"]=_sqlite3_libversion=wasmExports["sqlite3_libversion"];Module["_sqlite3_libversion_number"]=_sqlite3_libversion_number=wasmExports["sqlite3_libversion_number"];Module["_sqlite3_threadsafe"]=_sqlite3_threadsafe=wasmExports["sqlite3_threadsafe"];Module["_sqlite3_initialize"]=_sqlite3_initialize=wasmExports["sqlite3_initialize"];Module["_sqlite3_shutdown"]=_sqlite3_shutdown=wasmExports["sqlite3_shutdown"];Module["_sqlite3_config"]=_sqlite3_config=wasmExports["sqlite3_config"];Module["_sqlite3_db_mutex"]=_sqlite3_db_mutex=wasmExports["sqlite3_db_mutex"];Module["_sqlite3_db_release_memory"]=_sqlite3_db_release_memory=wasmExports["sqlite3_db_release_memory"];Module["_sqlite3_db_cacheflush"]=_sqlite3_db_cacheflush=wasmExports["sqlite3_db_cacheflush"];Module["_sqlite3_db_config"]=_sqlite3_db_config=wasmExports["sqlite3_db_config"];Module["_sqlite3_last_insert_rowid"]=_sqlite3_last_insert_rowid=wasmExports["sqlite3_last_insert_rowid"];Module["_sqlite3_set_last_insert_rowid"]=_sqlite3_set_last_insert_rowid=wasmExports["sqlite3_set_last_insert_rowid"];Module["_sqlite3_changes64"]=_sqlite3_changes64=wasmExports["sqlite3_changes64"];Module["_sqlite3_changes"]=_sqlite3_changes=wasmExports["sqlite3_changes"];Module["_sqlite3_total_changes64"]=_sqlite3_total_changes64=wasmExports["sqlite3_total_changes64"];Module["_sqlite3_total_changes"]=_sqlite3_total_changes=wasmExports["sqlite3_total_changes"];Module["_sqlite3_txn_state"]=_sqlite3_txn_state=wasmExports["sqlite3_txn_state"];Module["_sqlite3_close"]=_sqlite3_close=wasmExports["sqlite3_close"];Module["_sqlite3_close_v2"]=_sqlite3_close_v2=wasmExports["sqlite3_close_v2"];Module["_sqlite3_busy_handler"]=_sqlite3_busy_handler=wasmExports["sqlite3_busy_handler"];Module["_sqlite3_progress_handler"]=_sqlite3_progress_handler=wasmExports["sqlite3_progress_handler"];Module["_sqlite3_busy_timeout"]=_sqlite3_busy_timeout=wasmExports["sqlite3_busy_timeout"];Module["_sqlite3_interrupt"]=_sqlite3_interrupt=wasmExports["sqlite3_interrupt"];Module["_sqlite3_is_interrupted"]=_sqlite3_is_interrupted=wasmExports["sqlite3_is_interrupted"];Module["_sqlite3_create_function"]=_sqlite3_create_function=wasmExports["sqlite3_create_function"];Module["_sqlite3_create_function_v2"]=_sqlite3_create_function_v2=wasmExports["sqlite3_create_function_v2"];Module["_sqlite3_create_window_function"]=_sqlite3_create_window_function=wasmExports["sqlite3_create_window_function"];Module["_sqlite3_create_function16"]=_sqlite3_create_function16=wasmExports["sqlite3_create_function16"];Module["_sqlite3_overload_function"]=_sqlite3_overload_function=wasmExports["sqlite3_overload_function"];Module["_sqlite3_trace_v2"]=_sqlite3_trace_v2=wasmExports["sqlite3_trace_v2"];Module["_sqlite3_commit_hook"]=_sqlite3_commit_hook=wasmExports["sqlite3_commit_hook"];Module["_sqlite3_update_hook"]=_sqlite3_update_hook=wasmExports["sqlite3_update_hook"];Module["_sqlite3_rollback_hook"]=_sqlite3_rollback_hook=wasmExports["sqlite3_rollback_hook"];Module["_sqlite3_autovacuum_pages"]=_sqlite3_autovacuum_pages=wasmExports["sqlite3_autovacuum_pages"];Module["_sqlite3_wal_autocheckpoint"]=_sqlite3_wal_autocheckpoint=wasmExports["sqlite3_wal_autocheckpoint"];Module["_sqlite3_wal_hook"]=_sqlite3_wal_hook=wasmExports["sqlite3_wal_hook"];Module["_sqlite3_wal_checkpoint_v2"]=_sqlite3_wal_checkpoint_v2=wasmExports["sqlite3_wal_checkpoint_v2"];Module["_sqlite3_wal_checkpoint"]=_sqlite3_wal_checkpoint=wasmExports["sqlite3_wal_checkpoint"];Module["_sqlite3_error_offset"]=_sqlite3_error_offset=wasmExports["sqlite3_error_offset"];Module["_sqlite3_errmsg16"]=_sqlite3_errmsg16=wasmExports["sqlite3_errmsg16"];Module["_sqlite3_errcode"]=_sqlite3_errcode=wasmExports["sqlite3_errcode"];Module["_sqlite3_extended_errcode"]=_sqlite3_extended_errcode=wasmExports["sqlite3_extended_errcode"];Module["_sqlite3_system_errno"]=_sqlite3_system_errno=wasmExports["sqlite3_system_errno"];Module["_sqlite3_errstr"]=_sqlite3_errstr=wasmExports["sqlite3_errstr"];Module["_sqlite3_limit"]=_sqlite3_limit=wasmExports["sqlite3_limit"];Module["_sqlite3_open"]=_sqlite3_open=wasmExports["sqlite3_open"];Module["_sqlite3_open_v2"]=_sqlite3_open_v2=wasmExports["sqlite3_open_v2"];Module["_sqlite3_open16"]=_sqlite3_open16=wasmExports["sqlite3_open16"];Module["_sqlite3_create_collation"]=_sqlite3_create_collation=wasmExports["sqlite3_create_collation"];Module["_sqlite3_create_collation_v2"]=_sqlite3_create_collation_v2=wasmExports["sqlite3_create_collation_v2"];Module["_sqlite3_create_collation16"]=_sqlite3_create_collation16=wasmExports["sqlite3_create_collation16"];Module["_sqlite3_collation_needed"]=_sqlite3_collation_needed=wasmExports["sqlite3_collation_needed"];Module["_sqlite3_collation_needed16"]=_sqlite3_collation_needed16=wasmExports["sqlite3_collation_needed16"];Module["_sqlite3_get_clientdata"]=_sqlite3_get_clientdata=wasmExports["sqlite3_get_clientdata"];Module["_sqlite3_set_clientdata"]=_sqlite3_set_clientdata=wasmExports["sqlite3_set_clientdata"];Module["_sqlite3_get_autocommit"]=_sqlite3_get_autocommit=wasmExports["sqlite3_get_autocommit"];Module["_sqlite3_table_column_metadata"]=_sqlite3_table_column_metadata=wasmExports["sqlite3_table_column_metadata"];Module["_sqlite3_sleep"]=_sqlite3_sleep=wasmExports["sqlite3_sleep"];Module["_sqlite3_extended_result_codes"]=_sqlite3_extended_result_codes=wasmExports["sqlite3_extended_result_codes"];Module["_sqlite3_file_control"]=_sqlite3_file_control=wasmExports["sqlite3_file_control"];Module["_sqlite3_test_control"]=_sqlite3_test_control=wasmExports["sqlite3_test_control"];Module["_sqlite3_create_filename"]=_sqlite3_create_filename=wasmExports["sqlite3_create_filename"];Module["_sqlite3_free_filename"]=_sqlite3_free_filename=wasmExports["sqlite3_free_filename"];Module["_sqlite3_uri_parameter"]=_sqlite3_uri_parameter=wasmExports["sqlite3_uri_parameter"];Module["_sqlite3_uri_key"]=_sqlite3_uri_key=wasmExports["sqlite3_uri_key"];Module["_sqlite3_uri_boolean"]=_sqlite3_uri_boolean=wasmExports["sqlite3_uri_boolean"];Module["_sqlite3_uri_int64"]=_sqlite3_uri_int64=wasmExports["sqlite3_uri_int64"];Module["_sqlite3_filename_database"]=_sqlite3_filename_database=wasmExports["sqlite3_filename_database"];Module["_sqlite3_filename_journal"]=_sqlite3_filename_journal=wasmExports["sqlite3_filename_journal"];Module["_sqlite3_filename_wal"]=_sqlite3_filename_wal=wasmExports["sqlite3_filename_wal"];Module["_sqlite3_db_name"]=_sqlite3_db_name=wasmExports["sqlite3_db_name"];Module["_sqlite3_db_filename"]=_sqlite3_db_filename=wasmExports["sqlite3_db_filename"];Module["_sqlite3_db_readonly"]=_sqlite3_db_readonly=wasmExports["sqlite3_db_readonly"];Module["_sqlite3_compileoption_used"]=_sqlite3_compileoption_used=wasmExports["sqlite3_compileoption_used"];Module["_sqlite3_compileoption_get"]=_sqlite3_compileoption_get=wasmExports["sqlite3_compileoption_get"];Module["_sqlite3_sourceid"]=_sqlite3_sourceid=wasmExports["sqlite3_sourceid"];Module["_memcmp"]=_memcmp=wasmExports["memcmp"];Module["_malloc"]=_malloc=wasmExports["malloc"];Module["_free"]=_free=wasmExports["free"];Module["_RegisterExtensionFunctions"]=_RegisterExtensionFunctions=wasmExports["RegisterExtensionFunctions"];Module["_getSqliteFree"]=_getSqliteFree=wasmExports["getSqliteFree"];Module["_main"]=_main=wasmExports["main"];Module["_libauthorizer_set_authorizer"]=_libauthorizer_set_authorizer=wasmExports["libauthorizer_set_authorizer"];Module["_libfunction_create_function"]=_libfunction_create_function=wasmExports["libfunction_create_function"];Module["_libhook_commit_hook"]=_libhook_commit_hook=wasmExports["libhook_commit_hook"];Module["_libhook_update_hook"]=_libhook_update_hook=wasmExports["libhook_update_hook"];Module["_libprogress_progress_handler"]=_libprogress_progress_handler=wasmExports["libprogress_progress_handler"];Module["_libvfs_vfs_register"]=_libvfs_vfs_register=wasmExports["libvfs_vfs_register"];Module["_memcpy"]=_memcpy=wasmExports["memcpy"];Module["_memset"]=_memset=wasmExports["memset"];_emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"];__emscripten_timeout=wasmExports["_emscripten_timeout"];__emscripten_tempret_get=wasmExports["_emscripten_tempret_get"];__emscripten_stack_restore=wasmExports["_emscripten_stack_restore"];__emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"];_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"];dynCall_vijii=wasmExports["dynCall_vijii"];dynCall_iiiij=wasmExports["dynCall_iiiij"];dynCall_viji=wasmExports["dynCall_viji"];dynCall_viiiij=wasmExports["dynCall_viiiij"];dynCall_iij=wasmExports["dynCall_iij"];dynCall_iijii=wasmExports["dynCall_iijii"];dynCall_iiji=wasmExports["dynCall_iiji"];dynCall_iiiiiij=wasmExports["dynCall_iiiiiij"];dynCall_iiij=wasmExports["dynCall_iiij"];dynCall_jii=wasmExports["dynCall_jii"];dynCall_ji=wasmExports["dynCall_ji"];dynCall_vij=wasmExports["dynCall_vij"];dynCall_iiiiijii=wasmExports["dynCall_iiiiijii"];dynCall_j=wasmExports["dynCall_j"];dynCall_jj=wasmExports["dynCall_jj"];dynCall_jiij=wasmExports["dynCall_jiij"];dynCall_iiiiji=wasmExports["dynCall_iiiiji"];dynCall_iiiijii=wasmExports["dynCall_iiiijii"];dynCall_ij=wasmExports["dynCall_ij"];dynCall_viiji=wasmExports["dynCall_viiji"];dynCall_viijii=wasmExports["dynCall_viijii"];dynCall_iiiijji=wasmExports["dynCall_iiiijji"]}var _sqlite3_version=Module["_sqlite3_version"]=85408;var wasmImports={__assert_fail:___assert_fail,__syscall_chmod:___syscall_chmod,__syscall_faccessat:___syscall_faccessat,__syscall_fchmod:___syscall_fchmod,__syscall_fchown32:___syscall_fchown32,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_readlinkat:___syscall_readlinkat,__syscall_rmdir:___syscall_rmdir,__syscall_stat64:___syscall_stat64,__syscall_unlinkat:___syscall_unlinkat,__syscall_utimensat:___syscall_utimensat,_abort_js:__abort_js,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_localtime_js:__localtime_js,_mmap_js:__mmap_js,_munmap_js:__munmap_js,_setitimer_js:__setitimer_js,_tzset_js:__tzset_js,emscripten_date_now:_emscripten_date_now,emscripten_get_now:_emscripten_get_now,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,ipp:_ipp,ipp_async:_ipp_async,ippipppp:_ippipppp,ippipppp_async:_ippipppp_async,ippp:_ippp,ippp_async:_ippp_async,ipppi:_ipppi,ipppi_async:_ipppi_async,ipppiii:_ipppiii,ipppiii_async:_ipppiii_async,ipppiiip:_ipppiiip,ipppiiip_async:_ipppiiip_async,ipppip:_ipppip,ipppip_async:_ipppip_async,ipppj:_ipppj,ipppj_async:_ipppj_async,ipppp:_ipppp,ipppp_async:_ipppp_async,ippppi:_ippppi,ippppi_async:_ippppi_async,ippppij:_ippppij,ippppij_async:_ippppij_async,ippppip:_ippppip,ippppip_async:_ippppip_async,ipppppip:_ipppppip,ipppppip_async:_ipppppip_async,proc_exit:_proc_exit,vppippii:_vppippii,vppippii_async:_vppippii_async,vppp:_vppp,vppp_async:_vppp_async,vpppip:_vpppip,vpppip_async:_vpppip_async};var wasmExports=await createWasm();async function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);ret=await ret;exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}async function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve?.(Module);Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)await callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}preInit();run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc,xStep,xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{readyPromiseResolve=resolve;readyPromiseReject=reject})} return moduleRtn; diff --git a/dist/wa-sqlite-jspi.wasm b/dist/wa-sqlite-jspi.wasm index 8dfe9aae1b0098e85eb2825485bf27cc0ef70ea2..d800cd8ecb4d4b0754c2e4436783c839f36c1bad 100755 GIT binary patch delta 479 zcmaKnzb^z)6oucNxprpF>>?2?3HPlxe#}}lLxLUqUdBHlv4v788fsw^%O;{EQz#S) zt!@&XMkFd7p%w|XO5yEDR4BgY*0QeY{IC?wM8c zXmlB?MwNsD@(zmQdx|aR81;}BuZ4KiBWS$Ag+rc#ZSJ|?IFu)mgo|hxAQCBY68x44 zC2TIWe5+eIO9IDVrOAoHIhgvky5^6UIV=^=nzoy9$d<6qZ8uF@^B}^BZqZP?x|>6z z7u<5K^gfmm&JO>xM7J19*PKS^|FNd|6rrX~lS!T;i(cR%`Sfkm7|a9)qk#h|Y!~~f zU)7J_p3Qo(pz80(=k88ZlxCF&n7i#RS>lb^<7P>Mk^x3g4);|@gETE;OJOfbS`b7)hakDK@c1q zy1E72TtslHbHPmno!yFFBe>~?XH^rvenCDCt6K-4?YYo<%ap0OL6_>@Dw?=hy@v5rmsc z5lx)kh9WDXB`BK5nT3WR+X;eWXa;*OJd9bm(Bzhmrl1vW8dTRYiB{-t0%Oz)Jr9;> zwr>KD9&Gh}yN3zYqa6BDG*8+x{}G0l0@mot&n77~lwU2;N#xBdni11c^JtlCMwIs3 zF&`F3t){5S({!9|bJb9z_kr*sKl4u!dBk*7=E?{Ak20;U50U{%EbRI!zS5VlXKM { async function(moduleArg = {}) { var moduleRtn; -var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&process.versions?.node&&process.type!="renderer";var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{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=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["qa"]();FS.ignorePermissions=false}function preMain(){}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("wa-sqlite.wasm")}return new URL("wa-sqlite.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{a:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["pa"];updateMemoryViews();wasmTable=wasmExports["pf"];removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})})}wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}catch(e){readyPromiseReject(e);return Promise.reject(e)}}var tempDouble;var tempI64;class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=new TextDecoder;var UTF8ToString=(ptr,maxBytesToRead)=>{if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))};var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);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.slice(-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.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>view=>crypto.getRandomValues(view);var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heapOrArray.buffer?heapOrArray.subarray(idx,endPtr):new Uint8Array(heapOrArray.slice(idx,endPtr)))};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,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.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};var FS_createDataFile=(...args)=>FS.createDataFile(...args);var preloadPlugins=[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}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|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,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){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}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)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){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);old_node.parent=new_dir}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;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return 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 link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){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)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},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}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,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,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){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},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)}if(!length){throw new FS.ErrnoError(28)}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)},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)}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,llseek:()=>0});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){randomFill(randomBuffer);randomLeft=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",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},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){if(e.errno!=20)throw 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;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},writeStatFs(buf,stats){HEAP32[buf+4>>2]=stats.bsize;HEAP32[buf+40>>2]=stats.bsize;HEAP32[buf+8>>2]=stats.blocks;HEAP32[buf+12>>2]=stats.bfree;HEAP32[buf+16>>2]=stats.bavail;HEAP32[buf+20>>2]=stats.files;HEAP32[buf+24>>2]=stats.ffree;HEAP32[buf+28>>2]=stats.fsid;HEAP32[buf+44>>2]=stats.flags;HEAP32[buf+36>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);var now=Date.now(),atime,mtime;if(!times){atime=now;mtime=now}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){atime=now}else if(nanoseconds==1073741822){atime=null}else{atime=seconds*1e3+nanoseconds/(1e3*1e3)}times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){mtime=now}else if(nanoseconds==1073741822){mtime=null}else{mtime=seconds*1e3+nanoseconds/(1e3*1e3)}}if((mtime??atime)!==null){FS.utime(path,atime,mtime)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("");var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var timers={};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var _emscripten_get_now=()=>performance.now();var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetDate.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}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,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops?.fsync){return stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}function _ipp_async(...args){return adapters_support(true,...args)}function _ippipppp(...args){return adapters_support(false,...args)}function _ippipppp_async(...args){return adapters_support(true,...args)}function _ippp(...args){return adapters_support(false,...args)}function _ippp_async(...args){return adapters_support(true,...args)}function _ipppi(...args){return adapters_support(false,...args)}function _ipppi_async(...args){return adapters_support(true,...args)}function _ipppiii(...args){return adapters_support(false,...args)}function _ipppiii_async(...args){return adapters_support(true,...args)}function _ipppiiip(...args){return adapters_support(false,...args)}function _ipppiiip_async(...args){return adapters_support(true,...args)}function _ipppip(...args){return adapters_support(false,...args)}function _ipppip_async(...args){return adapters_support(true,...args)}function _ipppj(...args){return adapters_support(false,...args)}function _ipppj_async(...args){return adapters_support(true,...args)}function _ipppp(...args){return adapters_support(false,...args)}function _ipppp_async(...args){return adapters_support(true,...args)}function _ippppi(...args){return adapters_support(false,...args)}function _ippppi_async(...args){return adapters_support(true,...args)}function _ippppij(...args){return adapters_support(false,...args)}function _ippppij_async(...args){return adapters_support(true,...args)}function _ippppip(...args){return adapters_support(false,...args)}function _ippppip_async(...args){return adapters_support(true,...args)}function _ipppppip(...args){return adapters_support(false,...args)}function _ipppppip_async(...args){return adapters_support(true,...args)}function _vppippii(...args){return adapters_support(false,...args)}function _vppippii_async(...args){return adapters_support(true,...args)}function _vppp(...args){return adapters_support(false,...args)}function _vppp_async(...args){return adapters_support(true,...args)}function _vpppip(...args){return adapters_support(false,...args)}function _vpppip_async(...args){return adapters_support(true,...args)}var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var paramType of sigParam){target.push(typeCodes[paramType])}if(sigRet=="v"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTable;var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>wasmTable.set(idx,func);var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=new TextDecoder("utf-16le");var UTF16ToString=(ptr,maxBytesToRead)=>{var idx=ptr>>1;var maxIdx=idx+maxBytesToRead/2;var endIdx=idx;while(!(endIdx>=maxIdx)&&HEAPU16[endIdx])++endIdx;return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx))};var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var intArrayToString=array=>{var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")};var _getTempRet0=getTempRet0;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";adapters_support();{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"]}Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;Module["_getTempRet0"]=_getTempRet0;var wasmImports={a:___assert_fail,aa:___syscall_chmod,da:___syscall_faccessat,ba:___syscall_fchmod,$:___syscall_fchown32,b:___syscall_fcntl64,_:___syscall_fstat64,y:___syscall_ftruncate64,U:___syscall_getcwd,Y:___syscall_lstat64,R:___syscall_mkdirat,X:___syscall_newfstatat,P:___syscall_openat,N:___syscall_readlinkat,M:___syscall_rmdir,Z:___syscall_stat64,K:___syscall_unlinkat,J:___syscall_utimensat,F:__abort_js,E:__emscripten_runtime_keepalive_clear,w:__localtime_js,u:__mmap_js,v:__munmap_js,G:__setitimer_js,Q:__tzset_js,n:_emscripten_date_now,g:_emscripten_get_now,H:_emscripten_resize_heap,S:_environ_get,T:_environ_sizes_get,o:_fd_close,I:_fd_fdstat_get,O:_fd_read,x:_fd_seek,V:_fd_sync,L:_fd_write,s:_ipp,t:_ipp_async,ka:_ippipppp,oa:_ippipppp_async,j:_ippp,k:_ippp_async,c:_ipppi,d:_ipppi_async,ga:_ipppiii,ha:_ipppiii_async,ia:_ipppiiip,ja:_ipppiiip_async,h:_ipppip,i:_ipppip_async,z:_ipppj,A:_ipppj_async,e:_ipppp,f:_ipppp_async,ea:_ippppi,fa:_ippppi_async,B:_ippppij,C:_ippppij_async,p:_ippppip,q:_ippppip_async,la:_ipppppip,ma:_ipppppip_async,D:_proc_exit,na:_vppippii,r:_vppippii_async,l:_vppp,m:_vppp_async,W:_vpppip,ca:_vpppip_async};var wasmExports=await createWasm();var ___wasm_call_ctors=wasmExports["qa"];var _powersync_init_static=Module["_powersync_init_static"]=wasmExports["ra"];var _sqlite3_status64=Module["_sqlite3_status64"]=wasmExports["sa"];var _sqlite3_status=Module["_sqlite3_status"]=wasmExports["ta"];var _sqlite3_db_status=Module["_sqlite3_db_status"]=wasmExports["ua"];var _sqlite3_msize=Module["_sqlite3_msize"]=wasmExports["va"];var _sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=wasmExports["wa"];var _sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=wasmExports["xa"];var _sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=wasmExports["ya"];var _sqlite3_release_memory=Module["_sqlite3_release_memory"]=wasmExports["za"];var _sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=wasmExports["Aa"];var _sqlite3_memory_used=Module["_sqlite3_memory_used"]=wasmExports["Ba"];var _sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=wasmExports["Ca"];var _sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=wasmExports["Da"];var _sqlite3_malloc=Module["_sqlite3_malloc"]=wasmExports["Ea"];var _sqlite3_malloc64=Module["_sqlite3_malloc64"]=wasmExports["Fa"];var _sqlite3_free=Module["_sqlite3_free"]=wasmExports["Ga"];var _sqlite3_realloc=Module["_sqlite3_realloc"]=wasmExports["Ha"];var _sqlite3_realloc64=Module["_sqlite3_realloc64"]=wasmExports["Ia"];var _sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=wasmExports["Ja"];var _sqlite3_str_append=Module["_sqlite3_str_append"]=wasmExports["Ka"];var _sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=wasmExports["La"];var _sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=wasmExports["Ma"];var _sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=wasmExports["Na"];var _sqlite3_str_finish=Module["_sqlite3_str_finish"]=wasmExports["Oa"];var _sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=wasmExports["Pa"];var _sqlite3_str_length=Module["_sqlite3_str_length"]=wasmExports["Qa"];var _sqlite3_str_value=Module["_sqlite3_str_value"]=wasmExports["Ra"];var _sqlite3_str_reset=Module["_sqlite3_str_reset"]=wasmExports["Sa"];var _sqlite3_str_new=Module["_sqlite3_str_new"]=wasmExports["Ta"];var _sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=wasmExports["Ua"];var _sqlite3_mprintf=Module["_sqlite3_mprintf"]=wasmExports["Va"];var _sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=wasmExports["Wa"];var _sqlite3_snprintf=Module["_sqlite3_snprintf"]=wasmExports["Xa"];var _sqlite3_log=Module["_sqlite3_log"]=wasmExports["Ya"];var _sqlite3_randomness=Module["_sqlite3_randomness"]=wasmExports["Za"];var _sqlite3_stricmp=Module["_sqlite3_stricmp"]=wasmExports["_a"];var _sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=wasmExports["$a"];var _sqlite3_os_init=Module["_sqlite3_os_init"]=wasmExports["ab"];var _sqlite3_os_end=Module["_sqlite3_os_end"]=wasmExports["bb"];var _sqlite3_serialize=Module["_sqlite3_serialize"]=wasmExports["cb"];var _sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=wasmExports["db"];var _sqlite3_step=Module["_sqlite3_step"]=wasmExports["eb"];var _sqlite3_column_int64=Module["_sqlite3_column_int64"]=wasmExports["fb"];var _sqlite3_reset=Module["_sqlite3_reset"]=wasmExports["gb"];var _sqlite3_exec=Module["_sqlite3_exec"]=wasmExports["hb"];var _sqlite3_column_int=Module["_sqlite3_column_int"]=wasmExports["ib"];var _sqlite3_finalize=Module["_sqlite3_finalize"]=wasmExports["jb"];var _sqlite3_deserialize=Module["_sqlite3_deserialize"]=wasmExports["kb"];var _sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=wasmExports["lb"];var _sqlite3_backup_init=Module["_sqlite3_backup_init"]=wasmExports["mb"];var _sqlite3_backup_step=Module["_sqlite3_backup_step"]=wasmExports["nb"];var _sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=wasmExports["ob"];var _sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=wasmExports["pb"];var _sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=wasmExports["qb"];var _sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=wasmExports["rb"];var _sqlite3_value_blob=Module["_sqlite3_value_blob"]=wasmExports["sb"];var _sqlite3_value_text=Module["_sqlite3_value_text"]=wasmExports["tb"];var _sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=wasmExports["ub"];var _sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=wasmExports["vb"];var _sqlite3_value_double=Module["_sqlite3_value_double"]=wasmExports["wb"];var _sqlite3_value_int=Module["_sqlite3_value_int"]=wasmExports["xb"];var _sqlite3_value_int64=Module["_sqlite3_value_int64"]=wasmExports["yb"];var _sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=wasmExports["zb"];var _sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=wasmExports["Ab"];var _sqlite3_value_text16=Module["_sqlite3_value_text16"]=wasmExports["Bb"];var _sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=wasmExports["Cb"];var _sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=wasmExports["Db"];var _sqlite3_value_type=Module["_sqlite3_value_type"]=wasmExports["Eb"];var _sqlite3_value_encoding=Module["_sqlite3_value_encoding"]=wasmExports["Fb"];var _sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=wasmExports["Gb"];var _sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=wasmExports["Hb"];var _sqlite3_value_dup=Module["_sqlite3_value_dup"]=wasmExports["Ib"];var _sqlite3_value_free=Module["_sqlite3_value_free"]=wasmExports["Jb"];var _sqlite3_result_blob=Module["_sqlite3_result_blob"]=wasmExports["Kb"];var _sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=wasmExports["Lb"];var _sqlite3_result_double=Module["_sqlite3_result_double"]=wasmExports["Mb"];var _sqlite3_result_error=Module["_sqlite3_result_error"]=wasmExports["Nb"];var _sqlite3_result_error16=Module["_sqlite3_result_error16"]=wasmExports["Ob"];var _sqlite3_result_int=Module["_sqlite3_result_int"]=wasmExports["Pb"];var _sqlite3_result_int64=Module["_sqlite3_result_int64"]=wasmExports["Qb"];var _sqlite3_result_null=Module["_sqlite3_result_null"]=wasmExports["Rb"];var _sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=wasmExports["Sb"];var _sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=wasmExports["Tb"];var _sqlite3_result_text=Module["_sqlite3_result_text"]=wasmExports["Ub"];var _sqlite3_result_text64=Module["_sqlite3_result_text64"]=wasmExports["Vb"];var _sqlite3_result_text16=Module["_sqlite3_result_text16"]=wasmExports["Wb"];var _sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=wasmExports["Xb"];var _sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=wasmExports["Yb"];var _sqlite3_result_value=Module["_sqlite3_result_value"]=wasmExports["Zb"];var _sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=wasmExports["_b"];var _sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=wasmExports["$b"];var _sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=wasmExports["ac"];var _sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=wasmExports["bc"];var _sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=wasmExports["cc"];var _sqlite3_user_data=Module["_sqlite3_user_data"]=wasmExports["dc"];var _sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=wasmExports["ec"];var _sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=wasmExports["fc"];var _sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=wasmExports["gc"];var _sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=wasmExports["hc"];var _sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=wasmExports["ic"];var _sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=wasmExports["jc"];var _sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=wasmExports["kc"];var _sqlite3_column_count=Module["_sqlite3_column_count"]=wasmExports["lc"];var _sqlite3_data_count=Module["_sqlite3_data_count"]=wasmExports["mc"];var _sqlite3_column_blob=Module["_sqlite3_column_blob"]=wasmExports["nc"];var _sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=wasmExports["oc"];var _sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=wasmExports["pc"];var _sqlite3_column_double=Module["_sqlite3_column_double"]=wasmExports["qc"];var _sqlite3_column_text=Module["_sqlite3_column_text"]=wasmExports["rc"];var _sqlite3_column_value=Module["_sqlite3_column_value"]=wasmExports["sc"];var _sqlite3_column_text16=Module["_sqlite3_column_text16"]=wasmExports["tc"];var _sqlite3_column_type=Module["_sqlite3_column_type"]=wasmExports["uc"];var _sqlite3_column_name=Module["_sqlite3_column_name"]=wasmExports["vc"];var _sqlite3_column_name16=Module["_sqlite3_column_name16"]=wasmExports["wc"];var _sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=wasmExports["xc"];var _sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=wasmExports["yc"];var _sqlite3_bind_double=Module["_sqlite3_bind_double"]=wasmExports["zc"];var _sqlite3_bind_int=Module["_sqlite3_bind_int"]=wasmExports["Ac"];var _sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=wasmExports["Bc"];var _sqlite3_bind_null=Module["_sqlite3_bind_null"]=wasmExports["Cc"];var _sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=wasmExports["Dc"];var _sqlite3_bind_text=Module["_sqlite3_bind_text"]=wasmExports["Ec"];var _sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=wasmExports["Fc"];var _sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=wasmExports["Gc"];var _sqlite3_bind_value=Module["_sqlite3_bind_value"]=wasmExports["Hc"];var _sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=wasmExports["Ic"];var _sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=wasmExports["Jc"];var _sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=wasmExports["Kc"];var _sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=wasmExports["Lc"];var _sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=wasmExports["Mc"];var _sqlite3_db_handle=Module["_sqlite3_db_handle"]=wasmExports["Nc"];var _sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=wasmExports["Oc"];var _sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=wasmExports["Pc"];var _sqlite3_stmt_explain=Module["_sqlite3_stmt_explain"]=wasmExports["Qc"];var _sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=wasmExports["Rc"];var _sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=wasmExports["Sc"];var _sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=wasmExports["Tc"];var _sqlite3_sql=Module["_sqlite3_sql"]=wasmExports["Uc"];var _sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=wasmExports["Vc"];var _sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=wasmExports["Wc"];var _sqlite3_blob_open=Module["_sqlite3_blob_open"]=wasmExports["Xc"];var _sqlite3_blob_close=Module["_sqlite3_blob_close"]=wasmExports["Yc"];var _sqlite3_blob_read=Module["_sqlite3_blob_read"]=wasmExports["Zc"];var _sqlite3_blob_write=Module["_sqlite3_blob_write"]=wasmExports["_c"];var _sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=wasmExports["$c"];var _sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=wasmExports["ad"];var _sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=wasmExports["bd"];var _sqlite3_strglob=Module["_sqlite3_strglob"]=wasmExports["cd"];var _sqlite3_strlike=Module["_sqlite3_strlike"]=wasmExports["dd"];var _sqlite3_errmsg=Module["_sqlite3_errmsg"]=wasmExports["ed"];var _sqlite3_load_extension=Module["_sqlite3_load_extension"]=wasmExports["fd"];var _sqlite3_enable_load_extension=Module["_sqlite3_enable_load_extension"]=wasmExports["gd"];var _sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=wasmExports["hd"];var _sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=wasmExports["id"];var _sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=wasmExports["jd"];var _sqlite3_prepare=Module["_sqlite3_prepare"]=wasmExports["kd"];var _sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=wasmExports["ld"];var _sqlite3_prepare16=Module["_sqlite3_prepare16"]=wasmExports["md"];var _sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=wasmExports["nd"];var _sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=wasmExports["od"];var _sqlite3_get_table=Module["_sqlite3_get_table"]=wasmExports["pd"];var _sqlite3_free_table=Module["_sqlite3_free_table"]=wasmExports["qd"];var _sqlite3_create_module=Module["_sqlite3_create_module"]=wasmExports["rd"];var _sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=wasmExports["sd"];var _sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=wasmExports["td"];var _sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=wasmExports["ud"];var _sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=wasmExports["vd"];var _sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=wasmExports["wd"];var _sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=wasmExports["xd"];var _sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=wasmExports["yd"];var _sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=wasmExports["zd"];var _sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=wasmExports["Ad"];var _sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=wasmExports["Bd"];var _sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=wasmExports["Cd"];var _sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=wasmExports["Dd"];var _sqlite3_complete=Module["_sqlite3_complete"]=wasmExports["Ed"];var _sqlite3_complete16=Module["_sqlite3_complete16"]=wasmExports["Fd"];var _sqlite3_libversion=Module["_sqlite3_libversion"]=wasmExports["Gd"];var _sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=wasmExports["Hd"];var _sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=wasmExports["Id"];var _sqlite3_initialize=Module["_sqlite3_initialize"]=wasmExports["Jd"];var _sqlite3_shutdown=Module["_sqlite3_shutdown"]=wasmExports["Kd"];var _sqlite3_config=Module["_sqlite3_config"]=wasmExports["Ld"];var _sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=wasmExports["Md"];var _sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=wasmExports["Nd"];var _sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=wasmExports["Od"];var _sqlite3_db_config=Module["_sqlite3_db_config"]=wasmExports["Pd"];var _sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=wasmExports["Qd"];var _sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=wasmExports["Rd"];var _sqlite3_changes64=Module["_sqlite3_changes64"]=wasmExports["Sd"];var _sqlite3_changes=Module["_sqlite3_changes"]=wasmExports["Td"];var _sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=wasmExports["Ud"];var _sqlite3_total_changes=Module["_sqlite3_total_changes"]=wasmExports["Vd"];var _sqlite3_txn_state=Module["_sqlite3_txn_state"]=wasmExports["Wd"];var _sqlite3_close=Module["_sqlite3_close"]=wasmExports["Xd"];var _sqlite3_close_v2=Module["_sqlite3_close_v2"]=wasmExports["Yd"];var _sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=wasmExports["Zd"];var _sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=wasmExports["_d"];var _sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=wasmExports["$d"];var _sqlite3_interrupt=Module["_sqlite3_interrupt"]=wasmExports["ae"];var _sqlite3_is_interrupted=Module["_sqlite3_is_interrupted"]=wasmExports["be"];var _sqlite3_create_function=Module["_sqlite3_create_function"]=wasmExports["ce"];var _sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=wasmExports["de"];var _sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=wasmExports["ee"];var _sqlite3_create_function16=Module["_sqlite3_create_function16"]=wasmExports["fe"];var _sqlite3_overload_function=Module["_sqlite3_overload_function"]=wasmExports["ge"];var _sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=wasmExports["he"];var _sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=wasmExports["ie"];var _sqlite3_update_hook=Module["_sqlite3_update_hook"]=wasmExports["je"];var _sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=wasmExports["ke"];var _sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=wasmExports["le"];var _sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=wasmExports["me"];var _sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=wasmExports["ne"];var _sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=wasmExports["oe"];var _sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=wasmExports["pe"];var _sqlite3_error_offset=Module["_sqlite3_error_offset"]=wasmExports["qe"];var _sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=wasmExports["re"];var _sqlite3_errcode=Module["_sqlite3_errcode"]=wasmExports["se"];var _sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=wasmExports["te"];var _sqlite3_system_errno=Module["_sqlite3_system_errno"]=wasmExports["ue"];var _sqlite3_errstr=Module["_sqlite3_errstr"]=wasmExports["ve"];var _sqlite3_limit=Module["_sqlite3_limit"]=wasmExports["we"];var _sqlite3_open=Module["_sqlite3_open"]=wasmExports["xe"];var _sqlite3_open_v2=Module["_sqlite3_open_v2"]=wasmExports["ye"];var _sqlite3_open16=Module["_sqlite3_open16"]=wasmExports["ze"];var _sqlite3_create_collation=Module["_sqlite3_create_collation"]=wasmExports["Ae"];var _sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=wasmExports["Be"];var _sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=wasmExports["Ce"];var _sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=wasmExports["De"];var _sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=wasmExports["Ee"];var _sqlite3_get_clientdata=Module["_sqlite3_get_clientdata"]=wasmExports["Fe"];var _sqlite3_set_clientdata=Module["_sqlite3_set_clientdata"]=wasmExports["Ge"];var _sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=wasmExports["He"];var _sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=wasmExports["Ie"];var _sqlite3_sleep=Module["_sqlite3_sleep"]=wasmExports["Je"];var _sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=wasmExports["Ke"];var _sqlite3_file_control=Module["_sqlite3_file_control"]=wasmExports["Le"];var _sqlite3_test_control=Module["_sqlite3_test_control"]=wasmExports["Me"];var _sqlite3_create_filename=Module["_sqlite3_create_filename"]=wasmExports["Ne"];var _sqlite3_free_filename=Module["_sqlite3_free_filename"]=wasmExports["Oe"];var _sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=wasmExports["Pe"];var _sqlite3_uri_key=Module["_sqlite3_uri_key"]=wasmExports["Qe"];var _sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=wasmExports["Re"];var _sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=wasmExports["Se"];var _sqlite3_filename_database=Module["_sqlite3_filename_database"]=wasmExports["Te"];var _sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=wasmExports["Ue"];var _sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=wasmExports["Ve"];var _sqlite3_db_name=Module["_sqlite3_db_name"]=wasmExports["We"];var _sqlite3_db_filename=Module["_sqlite3_db_filename"]=wasmExports["Xe"];var _sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=wasmExports["Ye"];var _sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=wasmExports["Ze"];var _sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=wasmExports["_e"];var _sqlite3_sourceid=Module["_sqlite3_sourceid"]=wasmExports["$e"];var _memcmp=Module["_memcmp"]=wasmExports["af"];var _malloc=Module["_malloc"]=wasmExports["bf"];var _free=Module["_free"]=wasmExports["cf"];var _RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=wasmExports["df"];var _getSqliteFree=Module["_getSqliteFree"]=wasmExports["ef"];var _main=Module["_main"]=wasmExports["ff"];var _libauthorizer_set_authorizer=Module["_libauthorizer_set_authorizer"]=wasmExports["gf"];var _libfunction_create_function=Module["_libfunction_create_function"]=wasmExports["hf"];var _libhook_commit_hook=Module["_libhook_commit_hook"]=wasmExports["jf"];var _libhook_update_hook=Module["_libhook_update_hook"]=wasmExports["kf"];var _libprogress_progress_handler=Module["_libprogress_progress_handler"]=wasmExports["lf"];var _libvfs_vfs_register=Module["_libvfs_vfs_register"]=wasmExports["mf"];var _memcpy=Module["_memcpy"]=wasmExports["nf"];var _memset=Module["_memset"]=wasmExports["of"];var _emscripten_builtin_memalign=wasmExports["qf"];var __emscripten_timeout=wasmExports["rf"];var __emscripten_tempret_get=wasmExports["sf"];var __emscripten_stack_restore=wasmExports["tf"];var __emscripten_stack_alloc=wasmExports["uf"];var _emscripten_stack_get_current=wasmExports["vf"];var dynCall_vijii=Module["dynCall_vijii"]=wasmExports["dynCall_vijii"];var dynCall_iiiij=Module["dynCall_iiiij"]=wasmExports["dynCall_iiiij"];var dynCall_viji=Module["dynCall_viji"]=wasmExports["dynCall_viji"];var dynCall_viiiij=Module["dynCall_viiiij"]=wasmExports["dynCall_viiiij"];var dynCall_iij=Module["dynCall_iij"]=wasmExports["dynCall_iij"];var dynCall_iijii=Module["dynCall_iijii"]=wasmExports["dynCall_iijii"];var dynCall_iiji=Module["dynCall_iiji"]=wasmExports["dynCall_iiji"];var dynCall_iiiiiij=Module["dynCall_iiiiiij"]=wasmExports["dynCall_iiiiiij"];var dynCall_iiij=Module["dynCall_iiij"]=wasmExports["dynCall_iiij"];var dynCall_jii=Module["dynCall_jii"]=wasmExports["dynCall_jii"];var dynCall_ji=Module["dynCall_ji"]=wasmExports["dynCall_ji"];var dynCall_vij=Module["dynCall_vij"]=wasmExports["dynCall_vij"];var dynCall_iiiiijii=Module["dynCall_iiiiijii"]=wasmExports["dynCall_iiiiijii"];var dynCall_j=Module["dynCall_j"]=wasmExports["dynCall_j"];var dynCall_jj=Module["dynCall_jj"]=wasmExports["dynCall_jj"];var dynCall_jiij=Module["dynCall_jiij"]=wasmExports["dynCall_jiij"];var dynCall_iiiiji=Module["dynCall_iiiiji"]=wasmExports["dynCall_iiiiji"];var dynCall_iiiijii=Module["dynCall_iiiijii"]=wasmExports["dynCall_iiiijii"];var dynCall_ij=Module["dynCall_ij"]=wasmExports["dynCall_ij"];var dynCall_viiji=Module["dynCall_viiji"]=wasmExports["dynCall_viiji"];var dynCall_viijii=Module["dynCall_viijii"]=wasmExports["dynCall_viijii"];var dynCall_iiiijji=Module["dynCall_iiiijji"]=wasmExports["dynCall_iiiijji"];var _sqlite3_version=Module["_sqlite3_version"]=85408;function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}preInit();run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc,xStep,xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{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=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var EXITSTATUS;var readyPromiseResolve,readyPromiseReject;var wasmMemory;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["qa"]();FS.ignorePermissions=false}function preMain(){}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("wa-sqlite.wasm")}return new URL("wa-sqlite.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{a:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["pa"];updateMemoryViews();wasmTable=wasmExports["pf"];assignWasmExports(wasmExports);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}var tempDouble;var tempI64;class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=new TextDecoder;var UTF8ToString=(ptr,maxBytesToRead)=>{if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))};var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);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.slice(-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.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>view=>crypto.getRandomValues(view);var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heapOrArray.buffer?heapOrArray.subarray(idx,endPtr):new Uint8Array(heapOrArray.slice(idx,endPtr)))};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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;i++}}heap[outIdx]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,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.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};var FS_createDataFile=(...args)=>FS.createDataFile(...args);var getUniqueRunDependency=id=>id;var preloadPlugins=[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}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|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,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){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}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)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){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);old_node.parent=new_dir}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;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return 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 link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){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)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},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}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,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,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){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},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)}if(!length){throw new FS.ErrnoError(28)}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)},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 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"){buf=UTF8ArrayToString(buf)}FS.close(stream);return buf},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){data=new Uint8Array(intArrayFromString(data,true))}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,llseek:()=>0});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){randomFill(randomBuffer);randomLeft=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",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},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){if(e.errno!=20)throw 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;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},writeStatFs(buf,stats){HEAP32[buf+4>>2]=stats.bsize;HEAP32[buf+40>>2]=stats.bsize;HEAP32[buf+8>>2]=stats.blocks;HEAP32[buf+12>>2]=stats.bfree;HEAP32[buf+16>>2]=stats.bavail;HEAP32[buf+20>>2]=stats.files;HEAP32[buf+24>>2]=stats.ffree;HEAP32[buf+28>>2]=stats.fsid;HEAP32[buf+44>>2]=stats.flags;HEAP32[buf+36>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeHEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);var now=Date.now(),atime,mtime;if(!times){atime=now;mtime=now}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){atime=now}else if(nanoseconds==1073741822){atime=null}else{atime=seconds*1e3+nanoseconds/(1e3*1e3)}times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];if(nanoseconds==1073741823){mtime=now}else if(nanoseconds==1073741822){mtime=null}else{mtime=seconds*1e3+nanoseconds/(1e3*1e3)}}if((mtime??atime)!==null){FS.utime(path,atime,mtime)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("");var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var timers={};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var _emscripten_get_now=()=>performance.now();var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetDate.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}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,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.language||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops?.fsync){return stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var adapters_support=function(){const handleAsync=typeof Asyncify==="object"?Asyncify.handleAsync.bind(Asyncify):null;Module["handleAsync"]=handleAsync;const targets=new Map;Module["setCallback"]=(key,target)=>targets.set(key,target);Module["getCallback"]=key=>targets.get(key);Module["deleteCallback"]=key=>targets.delete(key);adapters_support=function(isAsync,key,...args){const receiver=targets.get(key);let methodName=null;const f=typeof receiver==="function"?receiver:receiver[methodName=UTF8ToString(args.shift())];if(isAsync){if(handleAsync){return handleAsync(()=>f.apply(receiver,args))}throw new Error("Synchronous WebAssembly cannot call async function")}const result=f.apply(receiver,args);if(typeof result?.then=="function"){console.error("unexpected Promise",f);throw new Error(`${methodName} unexpectedly returned a Promise`)}return result}};function _ipp(...args){return adapters_support(false,...args)}function _ipp_async(...args){return adapters_support(true,...args)}function _ippipppp(...args){return adapters_support(false,...args)}function _ippipppp_async(...args){return adapters_support(true,...args)}function _ippp(...args){return adapters_support(false,...args)}function _ippp_async(...args){return adapters_support(true,...args)}function _ipppi(...args){return adapters_support(false,...args)}function _ipppi_async(...args){return adapters_support(true,...args)}function _ipppiii(...args){return adapters_support(false,...args)}function _ipppiii_async(...args){return adapters_support(true,...args)}function _ipppiiip(...args){return adapters_support(false,...args)}function _ipppiiip_async(...args){return adapters_support(true,...args)}function _ipppip(...args){return adapters_support(false,...args)}function _ipppip_async(...args){return adapters_support(true,...args)}function _ipppj(...args){return adapters_support(false,...args)}function _ipppj_async(...args){return adapters_support(true,...args)}function _ipppp(...args){return adapters_support(false,...args)}function _ipppp_async(...args){return adapters_support(true,...args)}function _ippppi(...args){return adapters_support(false,...args)}function _ippppi_async(...args){return adapters_support(true,...args)}function _ippppij(...args){return adapters_support(false,...args)}function _ippppij_async(...args){return adapters_support(true,...args)}function _ippppip(...args){return adapters_support(false,...args)}function _ippppip_async(...args){return adapters_support(true,...args)}function _ipppppip(...args){return adapters_support(false,...args)}function _ipppppip_async(...args){return adapters_support(true,...args)}function _vppippii(...args){return adapters_support(false,...args)}function _vppippii_async(...args){return adapters_support(true,...args)}function _vppp(...args){return adapters_support(false,...args)}function _vppp_async(...args){return adapters_support(true,...args)}function _vpppip(...args){return adapters_support(false,...args)}function _vpppip_async(...args){return adapters_support(true,...args)}var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var paramType of sigParam){target.push(typeCodes[paramType])}if(sigRet=="v"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTable;var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>wasmTable.set(idx,func);var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var getTempRet0=val=>__emscripten_tempret_get();var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i65535){i++}HEAP32[outPtr>>2]=codePoint;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=new TextDecoder("utf-16le");var UTF16ToString=(ptr,maxBytesToRead)=>{var idx=ptr>>1;var maxIdx=idx+maxBytesToRead/2;var endIdx=idx;while(!(endIdx>=maxIdx)&&HEAPU16[endIdx])++endIdx;return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx))};var UTF32ToString=(ptr,maxBytesToRead)=>{var str="";for(var i=0;!(i>=maxBytesToRead/4);i++){var utf32=HEAP32[ptr+i*4>>2];if(!utf32)break;str+=String.fromCodePoint(utf32)}return str};var intArrayToString=array=>{var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")};var _getTempRet0=getTempRet0;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";adapters_support();{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"]}Module["getTempRet0"]=getTempRet0;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["intArrayFromString"]=intArrayFromString;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["writeArrayToMemory"]=writeArrayToMemory;Module["_getTempRet0"]=_getTempRet0;var _powersync_init_static,_sqlite3_status64,_sqlite3_status,_sqlite3_db_status,_sqlite3_msize,_sqlite3_vfs_find,_sqlite3_vfs_register,_sqlite3_vfs_unregister,_sqlite3_release_memory,_sqlite3_soft_heap_limit64,_sqlite3_memory_used,_sqlite3_hard_heap_limit64,_sqlite3_memory_highwater,_sqlite3_malloc,_sqlite3_malloc64,_sqlite3_free,_sqlite3_realloc,_sqlite3_realloc64,_sqlite3_str_vappendf,_sqlite3_str_append,_sqlite3_str_appendchar,_sqlite3_str_appendall,_sqlite3_str_appendf,_sqlite3_str_finish,_sqlite3_str_errcode,_sqlite3_str_length,_sqlite3_str_value,_sqlite3_str_reset,_sqlite3_str_new,_sqlite3_vmprintf,_sqlite3_mprintf,_sqlite3_vsnprintf,_sqlite3_snprintf,_sqlite3_log,_sqlite3_randomness,_sqlite3_stricmp,_sqlite3_strnicmp,_sqlite3_os_init,_sqlite3_os_end,_sqlite3_serialize,_sqlite3_prepare_v2,_sqlite3_step,_sqlite3_column_int64,_sqlite3_reset,_sqlite3_exec,_sqlite3_column_int,_sqlite3_finalize,_sqlite3_deserialize,_sqlite3_database_file_object,_sqlite3_backup_init,_sqlite3_backup_step,_sqlite3_backup_finish,_sqlite3_backup_remaining,_sqlite3_backup_pagecount,_sqlite3_clear_bindings,_sqlite3_value_blob,_sqlite3_value_text,_sqlite3_value_bytes,_sqlite3_value_bytes16,_sqlite3_value_double,_sqlite3_value_int,_sqlite3_value_int64,_sqlite3_value_subtype,_sqlite3_value_pointer,_sqlite3_value_text16,_sqlite3_value_text16be,_sqlite3_value_text16le,_sqlite3_value_type,_sqlite3_value_encoding,_sqlite3_value_nochange,_sqlite3_value_frombind,_sqlite3_value_dup,_sqlite3_value_free,_sqlite3_result_blob,_sqlite3_result_blob64,_sqlite3_result_double,_sqlite3_result_error,_sqlite3_result_error16,_sqlite3_result_int,_sqlite3_result_int64,_sqlite3_result_null,_sqlite3_result_pointer,_sqlite3_result_subtype,_sqlite3_result_text,_sqlite3_result_text64,_sqlite3_result_text16,_sqlite3_result_text16be,_sqlite3_result_text16le,_sqlite3_result_value,_sqlite3_result_error_toobig,_sqlite3_result_zeroblob,_sqlite3_result_zeroblob64,_sqlite3_result_error_code,_sqlite3_result_error_nomem,_sqlite3_user_data,_sqlite3_context_db_handle,_sqlite3_vtab_nochange,_sqlite3_vtab_in_first,_sqlite3_vtab_in_next,_sqlite3_aggregate_context,_sqlite3_get_auxdata,_sqlite3_set_auxdata,_sqlite3_column_count,_sqlite3_data_count,_sqlite3_column_blob,_sqlite3_column_bytes,_sqlite3_column_bytes16,_sqlite3_column_double,_sqlite3_column_text,_sqlite3_column_value,_sqlite3_column_text16,_sqlite3_column_type,_sqlite3_column_name,_sqlite3_column_name16,_sqlite3_bind_blob,_sqlite3_bind_blob64,_sqlite3_bind_double,_sqlite3_bind_int,_sqlite3_bind_int64,_sqlite3_bind_null,_sqlite3_bind_pointer,_sqlite3_bind_text,_sqlite3_bind_text64,_sqlite3_bind_text16,_sqlite3_bind_value,_sqlite3_bind_zeroblob,_sqlite3_bind_zeroblob64,_sqlite3_bind_parameter_count,_sqlite3_bind_parameter_name,_sqlite3_bind_parameter_index,_sqlite3_db_handle,_sqlite3_stmt_readonly,_sqlite3_stmt_isexplain,_sqlite3_stmt_explain,_sqlite3_stmt_busy,_sqlite3_next_stmt,_sqlite3_stmt_status,_sqlite3_sql,_sqlite3_expanded_sql,_sqlite3_value_numeric_type,_sqlite3_blob_open,_sqlite3_blob_close,_sqlite3_blob_read,_sqlite3_blob_write,_sqlite3_blob_bytes,_sqlite3_blob_reopen,_sqlite3_set_authorizer,_sqlite3_strglob,_sqlite3_strlike,_sqlite3_errmsg,_sqlite3_load_extension,_sqlite3_enable_load_extension,_sqlite3_auto_extension,_sqlite3_cancel_auto_extension,_sqlite3_reset_auto_extension,_sqlite3_prepare,_sqlite3_prepare_v3,_sqlite3_prepare16,_sqlite3_prepare16_v2,_sqlite3_prepare16_v3,_sqlite3_get_table,_sqlite3_free_table,_sqlite3_create_module,_sqlite3_create_module_v2,_sqlite3_drop_modules,_sqlite3_declare_vtab,_sqlite3_vtab_on_conflict,_sqlite3_vtab_config,_sqlite3_vtab_collation,_sqlite3_vtab_in,_sqlite3_vtab_rhs_value,_sqlite3_vtab_distinct,_sqlite3_keyword_name,_sqlite3_keyword_count,_sqlite3_keyword_check,_sqlite3_complete,_sqlite3_complete16,_sqlite3_libversion,_sqlite3_libversion_number,_sqlite3_threadsafe,_sqlite3_initialize,_sqlite3_shutdown,_sqlite3_config,_sqlite3_db_mutex,_sqlite3_db_release_memory,_sqlite3_db_cacheflush,_sqlite3_db_config,_sqlite3_last_insert_rowid,_sqlite3_set_last_insert_rowid,_sqlite3_changes64,_sqlite3_changes,_sqlite3_total_changes64,_sqlite3_total_changes,_sqlite3_txn_state,_sqlite3_close,_sqlite3_close_v2,_sqlite3_busy_handler,_sqlite3_progress_handler,_sqlite3_busy_timeout,_sqlite3_interrupt,_sqlite3_is_interrupted,_sqlite3_create_function,_sqlite3_create_function_v2,_sqlite3_create_window_function,_sqlite3_create_function16,_sqlite3_overload_function,_sqlite3_trace_v2,_sqlite3_commit_hook,_sqlite3_update_hook,_sqlite3_rollback_hook,_sqlite3_autovacuum_pages,_sqlite3_wal_autocheckpoint,_sqlite3_wal_hook,_sqlite3_wal_checkpoint_v2,_sqlite3_wal_checkpoint,_sqlite3_error_offset,_sqlite3_errmsg16,_sqlite3_errcode,_sqlite3_extended_errcode,_sqlite3_system_errno,_sqlite3_errstr,_sqlite3_limit,_sqlite3_open,_sqlite3_open_v2,_sqlite3_open16,_sqlite3_create_collation,_sqlite3_create_collation_v2,_sqlite3_create_collation16,_sqlite3_collation_needed,_sqlite3_collation_needed16,_sqlite3_get_clientdata,_sqlite3_set_clientdata,_sqlite3_get_autocommit,_sqlite3_table_column_metadata,_sqlite3_sleep,_sqlite3_extended_result_codes,_sqlite3_file_control,_sqlite3_test_control,_sqlite3_create_filename,_sqlite3_free_filename,_sqlite3_uri_parameter,_sqlite3_uri_key,_sqlite3_uri_boolean,_sqlite3_uri_int64,_sqlite3_filename_database,_sqlite3_filename_journal,_sqlite3_filename_wal,_sqlite3_db_name,_sqlite3_db_filename,_sqlite3_db_readonly,_sqlite3_compileoption_used,_sqlite3_compileoption_get,_sqlite3_sourceid,_memcmp,_malloc,_free,_RegisterExtensionFunctions,_getSqliteFree,_main,_libauthorizer_set_authorizer,_libfunction_create_function,_libhook_commit_hook,_libhook_update_hook,_libprogress_progress_handler,_libvfs_vfs_register,_memcpy,_memset,_emscripten_builtin_memalign,__emscripten_timeout,__emscripten_tempret_get,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,dynCall_vijii,dynCall_iiiij,dynCall_viji,dynCall_viiiij,dynCall_iij,dynCall_iijii,dynCall_iiji,dynCall_iiiiiij,dynCall_iiij,dynCall_jii,dynCall_ji,dynCall_vij,dynCall_iiiiijii,dynCall_j,dynCall_jj,dynCall_jiij,dynCall_iiiiji,dynCall_iiiijii,dynCall_ij,dynCall_viiji,dynCall_viijii,dynCall_iiiijji;function assignWasmExports(wasmExports){Module["_powersync_init_static"]=_powersync_init_static=wasmExports["ra"];Module["_sqlite3_status64"]=_sqlite3_status64=wasmExports["sa"];Module["_sqlite3_status"]=_sqlite3_status=wasmExports["ta"];Module["_sqlite3_db_status"]=_sqlite3_db_status=wasmExports["ua"];Module["_sqlite3_msize"]=_sqlite3_msize=wasmExports["va"];Module["_sqlite3_vfs_find"]=_sqlite3_vfs_find=wasmExports["wa"];Module["_sqlite3_vfs_register"]=_sqlite3_vfs_register=wasmExports["xa"];Module["_sqlite3_vfs_unregister"]=_sqlite3_vfs_unregister=wasmExports["ya"];Module["_sqlite3_release_memory"]=_sqlite3_release_memory=wasmExports["za"];Module["_sqlite3_soft_heap_limit64"]=_sqlite3_soft_heap_limit64=wasmExports["Aa"];Module["_sqlite3_memory_used"]=_sqlite3_memory_used=wasmExports["Ba"];Module["_sqlite3_hard_heap_limit64"]=_sqlite3_hard_heap_limit64=wasmExports["Ca"];Module["_sqlite3_memory_highwater"]=_sqlite3_memory_highwater=wasmExports["Da"];Module["_sqlite3_malloc"]=_sqlite3_malloc=wasmExports["Ea"];Module["_sqlite3_malloc64"]=_sqlite3_malloc64=wasmExports["Fa"];Module["_sqlite3_free"]=_sqlite3_free=wasmExports["Ga"];Module["_sqlite3_realloc"]=_sqlite3_realloc=wasmExports["Ha"];Module["_sqlite3_realloc64"]=_sqlite3_realloc64=wasmExports["Ia"];Module["_sqlite3_str_vappendf"]=_sqlite3_str_vappendf=wasmExports["Ja"];Module["_sqlite3_str_append"]=_sqlite3_str_append=wasmExports["Ka"];Module["_sqlite3_str_appendchar"]=_sqlite3_str_appendchar=wasmExports["La"];Module["_sqlite3_str_appendall"]=_sqlite3_str_appendall=wasmExports["Ma"];Module["_sqlite3_str_appendf"]=_sqlite3_str_appendf=wasmExports["Na"];Module["_sqlite3_str_finish"]=_sqlite3_str_finish=wasmExports["Oa"];Module["_sqlite3_str_errcode"]=_sqlite3_str_errcode=wasmExports["Pa"];Module["_sqlite3_str_length"]=_sqlite3_str_length=wasmExports["Qa"];Module["_sqlite3_str_value"]=_sqlite3_str_value=wasmExports["Ra"];Module["_sqlite3_str_reset"]=_sqlite3_str_reset=wasmExports["Sa"];Module["_sqlite3_str_new"]=_sqlite3_str_new=wasmExports["Ta"];Module["_sqlite3_vmprintf"]=_sqlite3_vmprintf=wasmExports["Ua"];Module["_sqlite3_mprintf"]=_sqlite3_mprintf=wasmExports["Va"];Module["_sqlite3_vsnprintf"]=_sqlite3_vsnprintf=wasmExports["Wa"];Module["_sqlite3_snprintf"]=_sqlite3_snprintf=wasmExports["Xa"];Module["_sqlite3_log"]=_sqlite3_log=wasmExports["Ya"];Module["_sqlite3_randomness"]=_sqlite3_randomness=wasmExports["Za"];Module["_sqlite3_stricmp"]=_sqlite3_stricmp=wasmExports["_a"];Module["_sqlite3_strnicmp"]=_sqlite3_strnicmp=wasmExports["$a"];Module["_sqlite3_os_init"]=_sqlite3_os_init=wasmExports["ab"];Module["_sqlite3_os_end"]=_sqlite3_os_end=wasmExports["bb"];Module["_sqlite3_serialize"]=_sqlite3_serialize=wasmExports["cb"];Module["_sqlite3_prepare_v2"]=_sqlite3_prepare_v2=wasmExports["db"];Module["_sqlite3_step"]=_sqlite3_step=wasmExports["eb"];Module["_sqlite3_column_int64"]=_sqlite3_column_int64=wasmExports["fb"];Module["_sqlite3_reset"]=_sqlite3_reset=wasmExports["gb"];Module["_sqlite3_exec"]=_sqlite3_exec=wasmExports["hb"];Module["_sqlite3_column_int"]=_sqlite3_column_int=wasmExports["ib"];Module["_sqlite3_finalize"]=_sqlite3_finalize=wasmExports["jb"];Module["_sqlite3_deserialize"]=_sqlite3_deserialize=wasmExports["kb"];Module["_sqlite3_database_file_object"]=_sqlite3_database_file_object=wasmExports["lb"];Module["_sqlite3_backup_init"]=_sqlite3_backup_init=wasmExports["mb"];Module["_sqlite3_backup_step"]=_sqlite3_backup_step=wasmExports["nb"];Module["_sqlite3_backup_finish"]=_sqlite3_backup_finish=wasmExports["ob"];Module["_sqlite3_backup_remaining"]=_sqlite3_backup_remaining=wasmExports["pb"];Module["_sqlite3_backup_pagecount"]=_sqlite3_backup_pagecount=wasmExports["qb"];Module["_sqlite3_clear_bindings"]=_sqlite3_clear_bindings=wasmExports["rb"];Module["_sqlite3_value_blob"]=_sqlite3_value_blob=wasmExports["sb"];Module["_sqlite3_value_text"]=_sqlite3_value_text=wasmExports["tb"];Module["_sqlite3_value_bytes"]=_sqlite3_value_bytes=wasmExports["ub"];Module["_sqlite3_value_bytes16"]=_sqlite3_value_bytes16=wasmExports["vb"];Module["_sqlite3_value_double"]=_sqlite3_value_double=wasmExports["wb"];Module["_sqlite3_value_int"]=_sqlite3_value_int=wasmExports["xb"];Module["_sqlite3_value_int64"]=_sqlite3_value_int64=wasmExports["yb"];Module["_sqlite3_value_subtype"]=_sqlite3_value_subtype=wasmExports["zb"];Module["_sqlite3_value_pointer"]=_sqlite3_value_pointer=wasmExports["Ab"];Module["_sqlite3_value_text16"]=_sqlite3_value_text16=wasmExports["Bb"];Module["_sqlite3_value_text16be"]=_sqlite3_value_text16be=wasmExports["Cb"];Module["_sqlite3_value_text16le"]=_sqlite3_value_text16le=wasmExports["Db"];Module["_sqlite3_value_type"]=_sqlite3_value_type=wasmExports["Eb"];Module["_sqlite3_value_encoding"]=_sqlite3_value_encoding=wasmExports["Fb"];Module["_sqlite3_value_nochange"]=_sqlite3_value_nochange=wasmExports["Gb"];Module["_sqlite3_value_frombind"]=_sqlite3_value_frombind=wasmExports["Hb"];Module["_sqlite3_value_dup"]=_sqlite3_value_dup=wasmExports["Ib"];Module["_sqlite3_value_free"]=_sqlite3_value_free=wasmExports["Jb"];Module["_sqlite3_result_blob"]=_sqlite3_result_blob=wasmExports["Kb"];Module["_sqlite3_result_blob64"]=_sqlite3_result_blob64=wasmExports["Lb"];Module["_sqlite3_result_double"]=_sqlite3_result_double=wasmExports["Mb"];Module["_sqlite3_result_error"]=_sqlite3_result_error=wasmExports["Nb"];Module["_sqlite3_result_error16"]=_sqlite3_result_error16=wasmExports["Ob"];Module["_sqlite3_result_int"]=_sqlite3_result_int=wasmExports["Pb"];Module["_sqlite3_result_int64"]=_sqlite3_result_int64=wasmExports["Qb"];Module["_sqlite3_result_null"]=_sqlite3_result_null=wasmExports["Rb"];Module["_sqlite3_result_pointer"]=_sqlite3_result_pointer=wasmExports["Sb"];Module["_sqlite3_result_subtype"]=_sqlite3_result_subtype=wasmExports["Tb"];Module["_sqlite3_result_text"]=_sqlite3_result_text=wasmExports["Ub"];Module["_sqlite3_result_text64"]=_sqlite3_result_text64=wasmExports["Vb"];Module["_sqlite3_result_text16"]=_sqlite3_result_text16=wasmExports["Wb"];Module["_sqlite3_result_text16be"]=_sqlite3_result_text16be=wasmExports["Xb"];Module["_sqlite3_result_text16le"]=_sqlite3_result_text16le=wasmExports["Yb"];Module["_sqlite3_result_value"]=_sqlite3_result_value=wasmExports["Zb"];Module["_sqlite3_result_error_toobig"]=_sqlite3_result_error_toobig=wasmExports["_b"];Module["_sqlite3_result_zeroblob"]=_sqlite3_result_zeroblob=wasmExports["$b"];Module["_sqlite3_result_zeroblob64"]=_sqlite3_result_zeroblob64=wasmExports["ac"];Module["_sqlite3_result_error_code"]=_sqlite3_result_error_code=wasmExports["bc"];Module["_sqlite3_result_error_nomem"]=_sqlite3_result_error_nomem=wasmExports["cc"];Module["_sqlite3_user_data"]=_sqlite3_user_data=wasmExports["dc"];Module["_sqlite3_context_db_handle"]=_sqlite3_context_db_handle=wasmExports["ec"];Module["_sqlite3_vtab_nochange"]=_sqlite3_vtab_nochange=wasmExports["fc"];Module["_sqlite3_vtab_in_first"]=_sqlite3_vtab_in_first=wasmExports["gc"];Module["_sqlite3_vtab_in_next"]=_sqlite3_vtab_in_next=wasmExports["hc"];Module["_sqlite3_aggregate_context"]=_sqlite3_aggregate_context=wasmExports["ic"];Module["_sqlite3_get_auxdata"]=_sqlite3_get_auxdata=wasmExports["jc"];Module["_sqlite3_set_auxdata"]=_sqlite3_set_auxdata=wasmExports["kc"];Module["_sqlite3_column_count"]=_sqlite3_column_count=wasmExports["lc"];Module["_sqlite3_data_count"]=_sqlite3_data_count=wasmExports["mc"];Module["_sqlite3_column_blob"]=_sqlite3_column_blob=wasmExports["nc"];Module["_sqlite3_column_bytes"]=_sqlite3_column_bytes=wasmExports["oc"];Module["_sqlite3_column_bytes16"]=_sqlite3_column_bytes16=wasmExports["pc"];Module["_sqlite3_column_double"]=_sqlite3_column_double=wasmExports["qc"];Module["_sqlite3_column_text"]=_sqlite3_column_text=wasmExports["rc"];Module["_sqlite3_column_value"]=_sqlite3_column_value=wasmExports["sc"];Module["_sqlite3_column_text16"]=_sqlite3_column_text16=wasmExports["tc"];Module["_sqlite3_column_type"]=_sqlite3_column_type=wasmExports["uc"];Module["_sqlite3_column_name"]=_sqlite3_column_name=wasmExports["vc"];Module["_sqlite3_column_name16"]=_sqlite3_column_name16=wasmExports["wc"];Module["_sqlite3_bind_blob"]=_sqlite3_bind_blob=wasmExports["xc"];Module["_sqlite3_bind_blob64"]=_sqlite3_bind_blob64=wasmExports["yc"];Module["_sqlite3_bind_double"]=_sqlite3_bind_double=wasmExports["zc"];Module["_sqlite3_bind_int"]=_sqlite3_bind_int=wasmExports["Ac"];Module["_sqlite3_bind_int64"]=_sqlite3_bind_int64=wasmExports["Bc"];Module["_sqlite3_bind_null"]=_sqlite3_bind_null=wasmExports["Cc"];Module["_sqlite3_bind_pointer"]=_sqlite3_bind_pointer=wasmExports["Dc"];Module["_sqlite3_bind_text"]=_sqlite3_bind_text=wasmExports["Ec"];Module["_sqlite3_bind_text64"]=_sqlite3_bind_text64=wasmExports["Fc"];Module["_sqlite3_bind_text16"]=_sqlite3_bind_text16=wasmExports["Gc"];Module["_sqlite3_bind_value"]=_sqlite3_bind_value=wasmExports["Hc"];Module["_sqlite3_bind_zeroblob"]=_sqlite3_bind_zeroblob=wasmExports["Ic"];Module["_sqlite3_bind_zeroblob64"]=_sqlite3_bind_zeroblob64=wasmExports["Jc"];Module["_sqlite3_bind_parameter_count"]=_sqlite3_bind_parameter_count=wasmExports["Kc"];Module["_sqlite3_bind_parameter_name"]=_sqlite3_bind_parameter_name=wasmExports["Lc"];Module["_sqlite3_bind_parameter_index"]=_sqlite3_bind_parameter_index=wasmExports["Mc"];Module["_sqlite3_db_handle"]=_sqlite3_db_handle=wasmExports["Nc"];Module["_sqlite3_stmt_readonly"]=_sqlite3_stmt_readonly=wasmExports["Oc"];Module["_sqlite3_stmt_isexplain"]=_sqlite3_stmt_isexplain=wasmExports["Pc"];Module["_sqlite3_stmt_explain"]=_sqlite3_stmt_explain=wasmExports["Qc"];Module["_sqlite3_stmt_busy"]=_sqlite3_stmt_busy=wasmExports["Rc"];Module["_sqlite3_next_stmt"]=_sqlite3_next_stmt=wasmExports["Sc"];Module["_sqlite3_stmt_status"]=_sqlite3_stmt_status=wasmExports["Tc"];Module["_sqlite3_sql"]=_sqlite3_sql=wasmExports["Uc"];Module["_sqlite3_expanded_sql"]=_sqlite3_expanded_sql=wasmExports["Vc"];Module["_sqlite3_value_numeric_type"]=_sqlite3_value_numeric_type=wasmExports["Wc"];Module["_sqlite3_blob_open"]=_sqlite3_blob_open=wasmExports["Xc"];Module["_sqlite3_blob_close"]=_sqlite3_blob_close=wasmExports["Yc"];Module["_sqlite3_blob_read"]=_sqlite3_blob_read=wasmExports["Zc"];Module["_sqlite3_blob_write"]=_sqlite3_blob_write=wasmExports["_c"];Module["_sqlite3_blob_bytes"]=_sqlite3_blob_bytes=wasmExports["$c"];Module["_sqlite3_blob_reopen"]=_sqlite3_blob_reopen=wasmExports["ad"];Module["_sqlite3_set_authorizer"]=_sqlite3_set_authorizer=wasmExports["bd"];Module["_sqlite3_strglob"]=_sqlite3_strglob=wasmExports["cd"];Module["_sqlite3_strlike"]=_sqlite3_strlike=wasmExports["dd"];Module["_sqlite3_errmsg"]=_sqlite3_errmsg=wasmExports["ed"];Module["_sqlite3_load_extension"]=_sqlite3_load_extension=wasmExports["fd"];Module["_sqlite3_enable_load_extension"]=_sqlite3_enable_load_extension=wasmExports["gd"];Module["_sqlite3_auto_extension"]=_sqlite3_auto_extension=wasmExports["hd"];Module["_sqlite3_cancel_auto_extension"]=_sqlite3_cancel_auto_extension=wasmExports["id"];Module["_sqlite3_reset_auto_extension"]=_sqlite3_reset_auto_extension=wasmExports["jd"];Module["_sqlite3_prepare"]=_sqlite3_prepare=wasmExports["kd"];Module["_sqlite3_prepare_v3"]=_sqlite3_prepare_v3=wasmExports["ld"];Module["_sqlite3_prepare16"]=_sqlite3_prepare16=wasmExports["md"];Module["_sqlite3_prepare16_v2"]=_sqlite3_prepare16_v2=wasmExports["nd"];Module["_sqlite3_prepare16_v3"]=_sqlite3_prepare16_v3=wasmExports["od"];Module["_sqlite3_get_table"]=_sqlite3_get_table=wasmExports["pd"];Module["_sqlite3_free_table"]=_sqlite3_free_table=wasmExports["qd"];Module["_sqlite3_create_module"]=_sqlite3_create_module=wasmExports["rd"];Module["_sqlite3_create_module_v2"]=_sqlite3_create_module_v2=wasmExports["sd"];Module["_sqlite3_drop_modules"]=_sqlite3_drop_modules=wasmExports["td"];Module["_sqlite3_declare_vtab"]=_sqlite3_declare_vtab=wasmExports["ud"];Module["_sqlite3_vtab_on_conflict"]=_sqlite3_vtab_on_conflict=wasmExports["vd"];Module["_sqlite3_vtab_config"]=_sqlite3_vtab_config=wasmExports["wd"];Module["_sqlite3_vtab_collation"]=_sqlite3_vtab_collation=wasmExports["xd"];Module["_sqlite3_vtab_in"]=_sqlite3_vtab_in=wasmExports["yd"];Module["_sqlite3_vtab_rhs_value"]=_sqlite3_vtab_rhs_value=wasmExports["zd"];Module["_sqlite3_vtab_distinct"]=_sqlite3_vtab_distinct=wasmExports["Ad"];Module["_sqlite3_keyword_name"]=_sqlite3_keyword_name=wasmExports["Bd"];Module["_sqlite3_keyword_count"]=_sqlite3_keyword_count=wasmExports["Cd"];Module["_sqlite3_keyword_check"]=_sqlite3_keyword_check=wasmExports["Dd"];Module["_sqlite3_complete"]=_sqlite3_complete=wasmExports["Ed"];Module["_sqlite3_complete16"]=_sqlite3_complete16=wasmExports["Fd"];Module["_sqlite3_libversion"]=_sqlite3_libversion=wasmExports["Gd"];Module["_sqlite3_libversion_number"]=_sqlite3_libversion_number=wasmExports["Hd"];Module["_sqlite3_threadsafe"]=_sqlite3_threadsafe=wasmExports["Id"];Module["_sqlite3_initialize"]=_sqlite3_initialize=wasmExports["Jd"];Module["_sqlite3_shutdown"]=_sqlite3_shutdown=wasmExports["Kd"];Module["_sqlite3_config"]=_sqlite3_config=wasmExports["Ld"];Module["_sqlite3_db_mutex"]=_sqlite3_db_mutex=wasmExports["Md"];Module["_sqlite3_db_release_memory"]=_sqlite3_db_release_memory=wasmExports["Nd"];Module["_sqlite3_db_cacheflush"]=_sqlite3_db_cacheflush=wasmExports["Od"];Module["_sqlite3_db_config"]=_sqlite3_db_config=wasmExports["Pd"];Module["_sqlite3_last_insert_rowid"]=_sqlite3_last_insert_rowid=wasmExports["Qd"];Module["_sqlite3_set_last_insert_rowid"]=_sqlite3_set_last_insert_rowid=wasmExports["Rd"];Module["_sqlite3_changes64"]=_sqlite3_changes64=wasmExports["Sd"];Module["_sqlite3_changes"]=_sqlite3_changes=wasmExports["Td"];Module["_sqlite3_total_changes64"]=_sqlite3_total_changes64=wasmExports["Ud"];Module["_sqlite3_total_changes"]=_sqlite3_total_changes=wasmExports["Vd"];Module["_sqlite3_txn_state"]=_sqlite3_txn_state=wasmExports["Wd"];Module["_sqlite3_close"]=_sqlite3_close=wasmExports["Xd"];Module["_sqlite3_close_v2"]=_sqlite3_close_v2=wasmExports["Yd"];Module["_sqlite3_busy_handler"]=_sqlite3_busy_handler=wasmExports["Zd"];Module["_sqlite3_progress_handler"]=_sqlite3_progress_handler=wasmExports["_d"];Module["_sqlite3_busy_timeout"]=_sqlite3_busy_timeout=wasmExports["$d"];Module["_sqlite3_interrupt"]=_sqlite3_interrupt=wasmExports["ae"];Module["_sqlite3_is_interrupted"]=_sqlite3_is_interrupted=wasmExports["be"];Module["_sqlite3_create_function"]=_sqlite3_create_function=wasmExports["ce"];Module["_sqlite3_create_function_v2"]=_sqlite3_create_function_v2=wasmExports["de"];Module["_sqlite3_create_window_function"]=_sqlite3_create_window_function=wasmExports["ee"];Module["_sqlite3_create_function16"]=_sqlite3_create_function16=wasmExports["fe"];Module["_sqlite3_overload_function"]=_sqlite3_overload_function=wasmExports["ge"];Module["_sqlite3_trace_v2"]=_sqlite3_trace_v2=wasmExports["he"];Module["_sqlite3_commit_hook"]=_sqlite3_commit_hook=wasmExports["ie"];Module["_sqlite3_update_hook"]=_sqlite3_update_hook=wasmExports["je"];Module["_sqlite3_rollback_hook"]=_sqlite3_rollback_hook=wasmExports["ke"];Module["_sqlite3_autovacuum_pages"]=_sqlite3_autovacuum_pages=wasmExports["le"];Module["_sqlite3_wal_autocheckpoint"]=_sqlite3_wal_autocheckpoint=wasmExports["me"];Module["_sqlite3_wal_hook"]=_sqlite3_wal_hook=wasmExports["ne"];Module["_sqlite3_wal_checkpoint_v2"]=_sqlite3_wal_checkpoint_v2=wasmExports["oe"];Module["_sqlite3_wal_checkpoint"]=_sqlite3_wal_checkpoint=wasmExports["pe"];Module["_sqlite3_error_offset"]=_sqlite3_error_offset=wasmExports["qe"];Module["_sqlite3_errmsg16"]=_sqlite3_errmsg16=wasmExports["re"];Module["_sqlite3_errcode"]=_sqlite3_errcode=wasmExports["se"];Module["_sqlite3_extended_errcode"]=_sqlite3_extended_errcode=wasmExports["te"];Module["_sqlite3_system_errno"]=_sqlite3_system_errno=wasmExports["ue"];Module["_sqlite3_errstr"]=_sqlite3_errstr=wasmExports["ve"];Module["_sqlite3_limit"]=_sqlite3_limit=wasmExports["we"];Module["_sqlite3_open"]=_sqlite3_open=wasmExports["xe"];Module["_sqlite3_open_v2"]=_sqlite3_open_v2=wasmExports["ye"];Module["_sqlite3_open16"]=_sqlite3_open16=wasmExports["ze"];Module["_sqlite3_create_collation"]=_sqlite3_create_collation=wasmExports["Ae"];Module["_sqlite3_create_collation_v2"]=_sqlite3_create_collation_v2=wasmExports["Be"];Module["_sqlite3_create_collation16"]=_sqlite3_create_collation16=wasmExports["Ce"];Module["_sqlite3_collation_needed"]=_sqlite3_collation_needed=wasmExports["De"];Module["_sqlite3_collation_needed16"]=_sqlite3_collation_needed16=wasmExports["Ee"];Module["_sqlite3_get_clientdata"]=_sqlite3_get_clientdata=wasmExports["Fe"];Module["_sqlite3_set_clientdata"]=_sqlite3_set_clientdata=wasmExports["Ge"];Module["_sqlite3_get_autocommit"]=_sqlite3_get_autocommit=wasmExports["He"];Module["_sqlite3_table_column_metadata"]=_sqlite3_table_column_metadata=wasmExports["Ie"];Module["_sqlite3_sleep"]=_sqlite3_sleep=wasmExports["Je"];Module["_sqlite3_extended_result_codes"]=_sqlite3_extended_result_codes=wasmExports["Ke"];Module["_sqlite3_file_control"]=_sqlite3_file_control=wasmExports["Le"];Module["_sqlite3_test_control"]=_sqlite3_test_control=wasmExports["Me"];Module["_sqlite3_create_filename"]=_sqlite3_create_filename=wasmExports["Ne"];Module["_sqlite3_free_filename"]=_sqlite3_free_filename=wasmExports["Oe"];Module["_sqlite3_uri_parameter"]=_sqlite3_uri_parameter=wasmExports["Pe"];Module["_sqlite3_uri_key"]=_sqlite3_uri_key=wasmExports["Qe"];Module["_sqlite3_uri_boolean"]=_sqlite3_uri_boolean=wasmExports["Re"];Module["_sqlite3_uri_int64"]=_sqlite3_uri_int64=wasmExports["Se"];Module["_sqlite3_filename_database"]=_sqlite3_filename_database=wasmExports["Te"];Module["_sqlite3_filename_journal"]=_sqlite3_filename_journal=wasmExports["Ue"];Module["_sqlite3_filename_wal"]=_sqlite3_filename_wal=wasmExports["Ve"];Module["_sqlite3_db_name"]=_sqlite3_db_name=wasmExports["We"];Module["_sqlite3_db_filename"]=_sqlite3_db_filename=wasmExports["Xe"];Module["_sqlite3_db_readonly"]=_sqlite3_db_readonly=wasmExports["Ye"];Module["_sqlite3_compileoption_used"]=_sqlite3_compileoption_used=wasmExports["Ze"];Module["_sqlite3_compileoption_get"]=_sqlite3_compileoption_get=wasmExports["_e"];Module["_sqlite3_sourceid"]=_sqlite3_sourceid=wasmExports["$e"];Module["_memcmp"]=_memcmp=wasmExports["af"];Module["_malloc"]=_malloc=wasmExports["bf"];Module["_free"]=_free=wasmExports["cf"];Module["_RegisterExtensionFunctions"]=_RegisterExtensionFunctions=wasmExports["df"];Module["_getSqliteFree"]=_getSqliteFree=wasmExports["ef"];Module["_main"]=_main=wasmExports["ff"];Module["_libauthorizer_set_authorizer"]=_libauthorizer_set_authorizer=wasmExports["gf"];Module["_libfunction_create_function"]=_libfunction_create_function=wasmExports["hf"];Module["_libhook_commit_hook"]=_libhook_commit_hook=wasmExports["jf"];Module["_libhook_update_hook"]=_libhook_update_hook=wasmExports["kf"];Module["_libprogress_progress_handler"]=_libprogress_progress_handler=wasmExports["lf"];Module["_libvfs_vfs_register"]=_libvfs_vfs_register=wasmExports["mf"];Module["_memcpy"]=_memcpy=wasmExports["nf"];Module["_memset"]=_memset=wasmExports["of"];_emscripten_builtin_memalign=wasmExports["qf"];__emscripten_timeout=wasmExports["rf"];__emscripten_tempret_get=wasmExports["sf"];__emscripten_stack_restore=wasmExports["tf"];__emscripten_stack_alloc=wasmExports["uf"];_emscripten_stack_get_current=wasmExports["vf"];dynCall_vijii=wasmExports["dynCall_vijii"];dynCall_iiiij=wasmExports["dynCall_iiiij"];dynCall_viji=wasmExports["dynCall_viji"];dynCall_viiiij=wasmExports["dynCall_viiiij"];dynCall_iij=wasmExports["dynCall_iij"];dynCall_iijii=wasmExports["dynCall_iijii"];dynCall_iiji=wasmExports["dynCall_iiji"];dynCall_iiiiiij=wasmExports["dynCall_iiiiiij"];dynCall_iiij=wasmExports["dynCall_iiij"];dynCall_jii=wasmExports["dynCall_jii"];dynCall_ji=wasmExports["dynCall_ji"];dynCall_vij=wasmExports["dynCall_vij"];dynCall_iiiiijii=wasmExports["dynCall_iiiiijii"];dynCall_j=wasmExports["dynCall_j"];dynCall_jj=wasmExports["dynCall_jj"];dynCall_jiij=wasmExports["dynCall_jiij"];dynCall_iiiiji=wasmExports["dynCall_iiiiji"];dynCall_iiiijii=wasmExports["dynCall_iiiijii"];dynCall_ij=wasmExports["dynCall_ij"];dynCall_viiji=wasmExports["dynCall_viiji"];dynCall_viijii=wasmExports["dynCall_viijii"];dynCall_iiiijji=wasmExports["dynCall_iiiijji"]}var _sqlite3_version=Module["_sqlite3_version"]=85408;var wasmImports={a:___assert_fail,aa:___syscall_chmod,da:___syscall_faccessat,ba:___syscall_fchmod,$:___syscall_fchown32,b:___syscall_fcntl64,_:___syscall_fstat64,y:___syscall_ftruncate64,U:___syscall_getcwd,Y:___syscall_lstat64,R:___syscall_mkdirat,X:___syscall_newfstatat,P:___syscall_openat,N:___syscall_readlinkat,M:___syscall_rmdir,Z:___syscall_stat64,K:___syscall_unlinkat,J:___syscall_utimensat,F:__abort_js,E:__emscripten_runtime_keepalive_clear,w:__localtime_js,u:__mmap_js,v:__munmap_js,G:__setitimer_js,Q:__tzset_js,n:_emscripten_date_now,g:_emscripten_get_now,H:_emscripten_resize_heap,S:_environ_get,T:_environ_sizes_get,o:_fd_close,I:_fd_fdstat_get,O:_fd_read,x:_fd_seek,V:_fd_sync,L:_fd_write,s:_ipp,t:_ipp_async,ka:_ippipppp,oa:_ippipppp_async,j:_ippp,k:_ippp_async,c:_ipppi,d:_ipppi_async,ga:_ipppiii,ha:_ipppiii_async,ia:_ipppiiip,ja:_ipppiiip_async,h:_ipppip,i:_ipppip_async,z:_ipppj,A:_ipppj_async,e:_ipppp,f:_ipppp_async,ea:_ippppi,fa:_ippppi_async,B:_ippppij,C:_ippppij_async,p:_ippppip,q:_ippppip_async,la:_ipppppip,ma:_ipppppip_async,D:_proc_exit,na:_vppippii,r:_vppippii_async,l:_vppp,m:_vppp_async,W:_vpppip,ca:_vpppip_async};var wasmExports=await createWasm();function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve?.(Module);Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}preInit();run();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["set_authorizer"]=function(db,xAuthorizer,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xAuthorizer instanceof AsyncFunction?1:0,"i32");const result=ccall("libauthorizer_set_authorizer","number",["number","number","number"],[db,xAuthorizer?1:0,pAsyncFlags]);if(!result&&xAuthorizer){Module["setCallback"](pAsyncFlags,(_,iAction,p3,p4,p5,p6)=>xAuthorizer(pApp,iAction,p3,p4,p5,p6))}return result}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;const FUNC_METHODS=["xFunc","xStep","xFinal"];const mapFunctionNameToKey=new Map;Module["create_function"]=function(db,zFunctionName,nArg,eTextRep,pApp,xFunc,xStep,xFinal){const pAsyncFlags=Module["_sqlite3_malloc"](4);const target={xFunc,xStep,xFinal};setValue(pAsyncFlags,FUNC_METHODS.reduce((mask,method,i)=>{if(target[method]instanceof AsyncFunction){return mask|1<xUpdateHook(iUpdateType,dbName,tblName,lo32,hi32))}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["commit_hook"]=function(db,xCommitHook){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xCommitHook instanceof AsyncFunction?1:0,"i32");ccall("libhook_commit_hook","void",["number","number","number"],[db,xCommitHook?1:0,pAsyncFlags]);if(xCommitHook){Module["setCallback"](pAsyncFlags,_=>xCommitHook())}}})();(function(){const AsyncFunction=Object.getPrototypeOf(async function(){}).constructor;let pAsyncFlags=0;Module["progress_handler"]=function(db,nOps,xProgress,pApp){if(pAsyncFlags){Module["deleteCallback"](pAsyncFlags);Module["_sqlite3_free"](pAsyncFlags);pAsyncFlags=0}pAsyncFlags=Module["_sqlite3_malloc"](4);setValue(pAsyncFlags,xProgress instanceof AsyncFunction?1:0,"i32");ccall("libprogress_progress_handler","number",["number","number","number","number"],[db,nOps,xProgress?1:0,pAsyncFlags]);if(xProgress){Module["setCallback"](pAsyncFlags,_=>xProgress(pApp))}}})();(function(){const VFS_METHODS=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"];const mapVFSNameToKey=new Map;Module["vfs_register"]=function(vfs,makeDefault){let methodMask=0;let asyncMask=0;VFS_METHODS.forEach((method,i)=>{if(vfs[method]){methodMask|=1<{readyPromiseResolve=resolve;readyPromiseReject=reject})} return moduleRtn; diff --git a/dist/wa-sqlite.wasm b/dist/wa-sqlite.wasm index 85b61948849955afa657b1962d6cac63155bcd54..e57f7cf1f547b664d42aeda719b7a11eefe33b41 100755 GIT binary patch delta 494 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